:root {
  --ink:#241d16; --muted:#6b625a; --paper:#fffdf8; --panel:#fff8df;
  --accent:#f2a21a; --accent-deep:#bd6900; --line:#e3d7c5; --sidebar:292px;
  --reading-size:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:#f4f1ea;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.62}
.page{font-size:var(--reading-size);margin-left:var(--sidebar);padding:32px;min-height:100vh}
.page>*{max-width:1120px;margin-left:auto;margin-right:auto}
.hero{background:linear-gradient(135deg,#fff6cf,#fffdf8 70%);border:1px solid var(--line);border-top:7px solid var(--accent);border-radius:18px;padding:36px 40px;box-shadow:0 12px 35px rgba(70,50,20,.08)}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72em;color:var(--accent-deep);margin:0 0 8px}
h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.05;margin:.1em 0 .25em}
h2{line-height:1.2;margin:.2em 0 .6em}
.topic-name{max-width:850px;color:var(--muted);font-size:1.05em}
.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.spec-badge,.scope-badge{border-radius:999px;padding:8px 13px;font-size:.82em;font-weight:700}
.spec-badge{background:#201b16;color:white}
.scope-badge{background:#fff;border:1px solid var(--line)}
.board-panel,.learning-objectives{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 32px}
.board-objectives ul{margin:.6em 0 0;padding-left:1.25em}
.board-objectives li+li{margin-top:.55em}
.board-objectives .no-mapping{color:var(--muted);font-style:italic}
.objective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.objective-grid article{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}
.objective-level{display:inline-block;background:#ffe08a;border:1px solid #e7b947;border-radius:999px;padding:4px 10px;font-size:.72em;font-weight:900;letter-spacing:.08em}
.objective-grid p{margin:.8em 0 0;white-space:pre-line}
.summary-list{margin-top:36px}
.summary-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px}
.summary-heading p{max-width:460px;color:var(--muted);font-size:.9em}
.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin:0 0 16px;overflow:hidden;box-shadow:0 5px 16px rgba(70,50,20,.04)}
.card-screen{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 28px}
.section-number{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#ffe08a;border:1px solid #e7b947;font-weight:900}
.summary-card h2{font-size:1.35em;margin:.1em 0 .5em}
.summary-card ul{margin:.3em 0;padding-left:1.15em}
.summary-card li+li{margin-top:.5em}
.cornell-print{display:none}
.page-footer{padding:28px;color:var(--muted);text-align:center;font-size:.78em}
body.theme-peach{background:#EDD1B0}
.theme-peach .hero,.theme-peach .board-panel,.theme-peach .learning-objectives,.theme-peach .summary-card{background:#f8e0c5}
body.theme-orange{background:#EDDD6E}
.theme-orange .hero,.theme-orange .board-panel,.theme-orange .learning-objectives,.theme-orange .summary-card{background:#f6e99a}
body.theme-yellow{background:#F8FD89}
.theme-yellow .hero,.theme-yellow .board-panel,.theme-yellow .learning-objectives,.theme-yellow .summary-card{background:#fbffb8}
#episode-body.indented-text p,#episode-body.indented-text li{text-indent:1.6em}
#episode-body.non-indented-text p,#episode-body.non-indented-text li{text-indent:0}

/* Beezy branding */
.beezy-branding{padding:12px 0 18px;text-align:center;border-bottom:1px solid #eadfce;margin-bottom:0}
.beezy-logo{display:block;width:100%;max-width:210px;height:auto;margin:0 auto 16px;border-radius:14px}
.beezy-links{display:flex;gap:8px;justify-content:center}
.beezy-link{flex:1;display:block;padding:8px 6px;text-align:center;text-decoration:none;font-weight:700;font-size:.78rem;border:2px solid #d99a00;border-radius:999px;white-space:nowrap}
.beezyteachers-link{background:#fff;color:#333}
.beezystudents-link{background:#f4c430;color:#222}
.beezy-link:hover,.beezy-link:focus-visible{outline:2px solid #222;outline-offset:2px}
.catalog-panel{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 32px}
.catalog-group{margin:0 0 28px}
.catalog-group h2{border-bottom:1px solid var(--line);padding-bottom:8px}
.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:0;list-style:none}
.catalog-list a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink)}
.catalog-list a:hover{background:#fff4cd}
.catalog-code{font-weight:800;margin-right:.45em}

@media(max-width:900px){
  .page{margin-left:0;padding:76px 15px 24px}
  .hero{padding:28px 22px}
  .objective-grid{grid-template-columns:1fr}
  .summary-heading{display:block}
  .card-screen{grid-template-columns:44px 1fr;padding:20px 18px}
  .catalog-list{grid-template-columns:1fr}
}

.home-link { background:#fff8df; color:#241d16; }


/* ===== BeezyStudents revision shell v4 ===== */
.beezy-link{display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:4px}
.beezy-link .bi{font-size:1rem;line-height:1}

.revision-site-header{margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px rgba(70,50,20,.05);padding:22px 28px}
.revision-site-header__layout{display:flex;align-items:center;justify-content:space-between;gap:24px}
.revision-header-name{margin:0;font-size:.82rem;font-weight:900;letter-spacing:.14em;color:var(--accent-deep)}
.revision-header-title{margin:.12rem 0 0;font-size:1.45rem;font-weight:800;line-height:1.15}
.revision-header-caption{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}
.topic-nav{display:flex;gap:9px;align-items:center;flex-shrink:0}
.topic-nav-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cdbfae;border-radius:50%;background:#fff;color:var(--ink);text-decoration:none;font-size:1.25rem;transition:transform .12s ease,background .12s ease}
.topic-nav-button:hover,.topic-nav-button:focus-visible{background:#fff4cd;transform:translateY(-1px);outline:2px solid #222;outline-offset:2px}
.topic-nav-button.is-disabled{opacity:.28;cursor:default}

/* BeezyTeachers-inspired footer treatment */
.revision-footer{margin-top:34px;padding:18px 22px;background:#7e5cd2;border-radius:14px;color:#fff}
.revision-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.revision-footer p{margin:0;font-size:.78rem;color:#fff}
.revision-footer a{color:#fff;font-weight:700;text-underline-offset:2px}

@media(max-width:900px){
  .revision-site-header{padding:18px 20px;margin-bottom:18px}
  .revision-site-header__layout{align-items:flex-start;flex-direction:column}
  .topic-nav{align-self:flex-start}
}

/* Sidebar Home icon — shared CSS so generated topic HTML stays untouched */
.home-link::after{content:"\F425";font-family:"bootstrap-icons";font-size:1rem;line-height:1}
