:root{
  --ink:#061619;--ink-2:#0a292c;--ink-3:#124448;--paper:#f2ead8;--paper-2:#e5d8be;
  --gold:#c99542;--gold-2:#f0d083;--sage:#81a892;--blue:#7fabb6;--red:#b96c60;
  --line:rgba(201,149,66,.34);--muted:rgba(242,234,216,.7);--shadow:0 24px 70px rgba(0,0,0,.34);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;color:var(--ink);background:#f3eee3;font-family:var(--sans);line-height:1.64}body.large-text{font-size:1.12rem}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:300;padding:.75rem 1rem;color:var(--ink);background:var(--gold-2);border-radius:.5rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{width:min(calc(100% - 2rem),1120px);margin:auto}.narrow{max-width:860px}.eyebrow{margin:0 0 .8rem;color:var(--gold-2);font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.eyebrow.dark{color:#8c6227}.section{padding:clamp(4.5rem,9vw,8rem) 0}.section h2,.closing blockquote,.drawer h2,.content-dialog h2,.search-dialog h2{margin:.25rem 0;font:500 clamp(2.35rem,6vw,4.8rem)/1.03 var(--serif);letter-spacing:-.035em}.section-lead{max-width:800px;color:#5f6766;font-size:1.05rem}.section-lead.light{color:var(--muted)}.section-heading{max-width:850px;margin-bottom:2rem}.section-heading>p:last-child{color:#5f6766}.section-heading.split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:2rem}.section-heading.split>div:first-child{max-width:760px}

.topbar{position:sticky;top:0;z-index:70;height:calc(70px + var(--safe-top));padding:var(--safe-top) max(.75rem,env(safe-area-inset-right)) 0 max(.75rem,env(safe-area-inset-left));display:flex;align-items:center;gap:.85rem;color:var(--paper);background:rgba(3,15,17,.91);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.round-button,.icon-button,.index-button{border:1px solid var(--line);color:var(--gold-2);background:rgba(255,255,255,.035)}.round-button,.icon-button{width:42px;min-width:42px;aspect-ratio:1;border-radius:50%;font-size:1.05rem}.brand{display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none}.brand-mark{width:43px;min-width:43px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold-2);font:700 .78rem var(--serif);letter-spacing:.08em}.brand>span:last-child{display:grid;line-height:1.08}.brand strong{font:500 1.02rem var(--serif);letter-spacing:.04em}.brand small{margin-top:.22rem;color:var(--muted);font-size:.68rem}.top-actions{display:flex;gap:.45rem;margin-left:auto}.index-button{min-height:42px;padding:0 .9rem;border-radius:99px}.round-button:hover,.icon-button:hover,.index-button:hover,.round-button:focus-visible,.icon-button:focus-visible,.index-button:focus-visible{border-color:var(--gold-2);background:#ffffff12}

.hero{position:relative;min-height:calc(100svh - 70px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;color:var(--paper);background:#041315}.hero-image{position:absolute;inset:0;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(2,15,18,.98) 0%,rgba(3,22,25,.78) 35%,rgba(3,18,20,.17) 68%,rgba(2,10,11,.58)),linear-gradient(0deg,rgba(2,12,14,.96),transparent 58%)}.hero-grid{position:absolute;inset:0;z-index:-2;opacity:.14;background-image:linear-gradient(#d4a24a22 1px,transparent 1px),linear-gradient(90deg,#d4a24a22 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 60%)}.hero-copy{width:min(calc(100% - 2rem),1120px);margin:0 auto;padding:clamp(8rem,18vh,13rem) 0 clamp(5rem,11vh,8rem)}.hero-copy h1{max-width:850px;margin:0;font:500 clamp(3.7rem,9vw,8.4rem)/.88 var(--serif);letter-spacing:-.058em}.hero-copy h1 em{color:var(--gold-2);font-weight:400}.hero-lead{max-width:650px;margin:1.5rem 0 0;color:rgba(242,234,216,.82);font-size:clamp(1rem,2.1vw,1.25rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border:1px solid var(--gold);border-radius:99px;text-decoration:none}.primary-button{color:var(--ink);background:var(--gold-2)}.secondary-button{color:var(--paper);background:#0004}.primary-button:hover,.primary-button:focus-visible{background:#ffe6a4}.secondary-button:hover,.secondary-button:focus-visible{border-color:var(--gold-2);background:#ffffff10}.hero-hint{position:absolute;right:1.2rem;bottom:1rem;margin:0;color:rgba(242,234,216,.55);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.hero-hotspot{position:absolute;z-index:3;width:44px;aspect-ratio:1;border:1px solid var(--gold-2);border-radius:50%;color:transparent;background:rgba(6,22,25,.35);box-shadow:0 0 0 7px rgba(240,208,131,.08);animation:pulse 3.2s infinite}.hero-hotspot:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--gold-2)}.hero-hotspot span{position:absolute;top:50%;right:calc(100% + .7rem);transform:translateY(-50%);padding:.35rem .55rem;border-radius:.4rem;color:var(--paper);background:rgba(3,15,17,.82);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:.2s}.hero-hotspot:hover span,.hero-hotspot:focus-visible span{opacity:1}.hotspot-book{left:47%;top:35%}.hotspot-bee{left:68%;top:69%;animation-delay:.8s}.hotspot-light{left:58%;top:18%;animation-delay:1.6s}@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(240,208,131,0)}}

.section-dark,.studio,.lab-section,.comics,.maps-section{color:var(--paper);background:radial-gradient(circle at 85% 0,#1b4e5066,transparent 28rem),linear-gradient(160deg,var(--ink-2),#031114 72%)}.portal{padding:5rem 0}.portal h2{max-width:780px;margin:.2rem 0 2rem;font:500 clamp(2.2rem,5vw,4rem)/1.05 var(--serif)}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.portal-card{position:relative;min-height:230px;padding:1.25rem;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:1rem;color:var(--paper);background:linear-gradient(150deg,#ffffff0d,#0004);text-decoration:none;overflow:hidden;transition:.2s}.portal-card:after{content:attr(data-num);position:absolute;right:.4rem;bottom:-1.5rem;color:#e7bd6914;font:700 7rem var(--serif)}.portal-card>span{color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-card h3{position:relative;z-index:1;margin:.7rem 0;font:500 1.8rem var(--serif)}.portal-card p{position:relative;z-index:1;margin:auto 0 0;color:var(--muted);font-size:.88rem}.portal-card:hover,.portal-card:focus-visible{transform:translateY(-4px);border-color:var(--gold-2);background:#ffffff12}

.paper{background:radial-gradient(circle at 15% 0,#d9bb8450,transparent 28rem),linear-gradient(#f4efe4,#e8decc)}.discovery{margin-top:2rem;padding:clamp(1.2rem,4vw,2.3rem);border:1px solid #bca57470;border-radius:1.2rem;background:#fffdf8;box-shadow:0 20px 55px rgba(56,42,20,.09)}.discovery-step{color:#8c6227;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.discovery h3{margin:.45rem 0;font:600 clamp(1.6rem,4vw,2.6rem)/1.1 var(--serif)}.discovery p{color:#536060}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.2rem}.choice-grid button{padding:1rem;text-align:left;border:1px solid #c8b894;border-radius:.8rem;color:var(--ink);background:#f2eadb}.choice-grid button:hover,.choice-grid button:focus-visible{border-color:#8d672d;background:#fff8e8}.discovery-result{padding:1rem 1.1rem;border-left:4px solid var(--gold);background:#f1e6d2}.discovery-result strong{display:block;font:600 1.25rem var(--serif)}

.mode-switch{display:flex;padding:.24rem;background:#17373a;border-radius:99px;white-space:nowrap}.mode-switch button{padding:.65rem 1rem;border:0;border-radius:99px;color:var(--muted);background:transparent;font-size:.75rem}.mode-switch button.active{color:var(--ink);background:var(--gold-2);box-shadow:0 7px 16px #0004}.mode-description{max-width:680px;color:var(--muted)}.progress-card{padding:1.05rem 1.2rem;margin:1.3rem 0;border:1px solid var(--line);border-radius:1rem;background:#0002}.progress-card>div:first-child{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem}.progress-card strong{color:var(--gold-2)}.progress-track{height:6px;margin:.7rem 0;border-radius:99px;background:#ffffff14;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .35s}.progress-card p{margin:0;color:var(--muted);font-size:.78rem}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.module-card{position:relative;min-height:280px;padding:1.35rem;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(145deg,#ffffff0c,#0003);overflow:hidden;transition:.2s}.module-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent,var(--gold))}.module-card.complete{border-color:#7fa888}.module-card.complete:after{content:"✓";position:absolute;right:1rem;top:1rem;width:1.7rem;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:#9cc9a7;font-size:.75rem}.module-card:hover{transform:translateY(-4px);background:#ffffff12}.module-index{color:var(--accent,var(--gold));font-size:.66rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.module-card h3{margin:.65rem 0 .45rem;font:600 1.55rem/1.08 var(--serif)}.module-card p{margin:0 0 1rem;color:var(--muted);font-size:.87rem}.module-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.module-card footer span{color:var(--gold-2);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}.module-card button{width:42px;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;color:var(--gold-2);background:#0003}

.lab-tabs{display:flex;gap:.5rem;margin:2rem 0 1rem}.lab-tabs button{padding:.7rem 1rem;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:#0003}.lab-tabs button.active{color:var(--ink);background:var(--gold-2)}.lab-panel{padding:clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:1.2rem;background:#020e10a8}.lab-instructions{display:flex;justify-content:space-between;gap:1.5rem;align-items:start}.lab-instructions h3{margin:.2rem 0;font:500 2rem var(--serif)}.lab-score{white-space:nowrap;color:var(--gold-2);font-weight:800}.case-bank,.table-columns,.idol-options{display:grid;gap:.75rem}.case-bank{grid-template-columns:repeat(3,1fr);margin:1.3rem 0}.case-token,.idol-case{padding:.9rem;border:1px solid #d8b96c55;border-radius:.75rem;color:var(--paper);background:#ffffff09;text-align:left}.case-token.selected{border-color:var(--gold-2);background:#c9954222}.table-columns{grid-template-columns:repeat(3,1fr)}.table-column{min-height:190px;padding:1rem;border:1px dashed #d8b96c66;border-radius:.9rem}.table-column h4{margin:0;color:var(--gold-2);font:500 1.18rem var(--serif)}.table-column p{color:var(--muted);font-size:.78rem}.placed{display:block;margin:.4rem 0;padding:.45rem .6rem;border-radius:.45rem;color:var(--ink);background:#e7d9b8;font-size:.78rem}.lab-feedback{min-height:1.7rem;margin:1rem 0;color:var(--gold-2)}.lab-actions{display:flex;flex-wrap:wrap;gap:.6rem}.lab-actions button,.dialog-actions button,.notes-actions button{padding:.7rem 1rem;border:1px solid var(--gold);border-radius:99px;color:var(--paper);background:#0003}.lab-actions button.primary{color:var(--ink);background:var(--gold-2)}.hypothesis{margin-top:1rem;padding:1rem;border-left:3px solid var(--gold);background:#ffffff09}.idol-round{display:grid;grid-template-columns:1fr .8fr;gap:1rem;align-items:start}.idol-options{grid-template-columns:repeat(2,1fr)}.idol-options button{padding:.85rem;border:1px solid var(--line);border-radius:.7rem;color:var(--paper);background:#ffffff08;text-align:left}.idol-options button:hover,.idol-options button:focus-visible{border-color:var(--gold-2)}

.sources{background:linear-gradient(#f4efe4,#e6dcc9)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.source-card{min-height:280px;padding:1.3rem;display:flex;flex-direction:column;border:1px solid #bba87866;border-radius:1rem;background:#fffdf8}.source-type{color:#8d6428;font-size:.65rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.source-card h3{margin:.65rem 0;font:600 1.45rem/1.1 var(--serif)}.source-card blockquote{margin:.3rem 0 1rem;padding-left:1rem;border-left:3px solid var(--gold);color:#3f4b4b;font:italic 1.02rem/1.5 var(--serif)}.source-card p{color:#5e6867;font-size:.86rem}.source-card button{margin-top:auto;padding:.65rem .8rem;border:1px solid #af915b;border-radius:.65rem;color:var(--ink);background:#f0e4cd}

.comic-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-top:2rem}.comic-panel{position:relative;min-height:330px;padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--panel-bg);isolation:isolate}.comic-panel:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 68% 22%,var(--panel-glow),transparent 35%),linear-gradient(155deg,transparent 20%,#020b0daa 70%)}.comic-panel:after{content:attr(data-symbol);position:absolute;right:-.05em;top:-.18em;z-index:-1;color:#f0d08318;font:700 11rem var(--serif)}.comic-panel .scene{color:var(--gold-2);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.comic-panel h3{margin:.45rem 0;font:600 1.4rem/1.08 var(--serif)}.comic-panel p{margin:0;color:var(--muted);font-size:.82rem}.comic-panel button{position:absolute;inset:0;border:0;color:transparent;background:transparent}

.map-layout{display:grid;grid-template-columns:270px 1fr;gap:1rem;align-items:start}.map-tabs{display:grid;gap:.5rem}.map-tabs button{padding:.8rem 1rem;text-align:left;border:1px solid var(--line);border-radius:.7rem;color:var(--muted);background:#ffffff05}.map-tabs button span{display:block;color:var(--gold);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.map-tabs button.active,.map-tabs button:hover{color:var(--paper);border-color:var(--gold-2);background:#c9954218}.concept-map{min-height:520px;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line);border-radius:1rem;background:#020d0f88}.concept-map h3{margin:.2rem 0;font:500 clamp(2rem,4vw,3.3rem)/1 var(--serif)}.map-intro{color:var(--muted)}.map-flow{display:flex;align-items:stretch;gap:1.8rem;margin:2rem 0;overflow-x:auto;padding:.5rem}.map-node{position:relative;flex:1 0 145px;max-width:190px;min-height:128px;padding:.9rem;border:1px solid var(--line);border-radius:.8rem;color:var(--paper);background:#ffffff07;text-align:left}.map-node:not(:last-child):after{content:"→";position:absolute;left:calc(100% + .52rem);top:50%;color:var(--gold)}.map-node span{display:block;color:var(--gold);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.map-node strong{display:block;margin:.35rem 0;font:500 1.1rem/1.1 var(--serif)}.map-node small{color:var(--muted)}.map-node.active,.map-node:hover{border-color:var(--gold-2);background:#c995421a;transform:translateY(-3px)}.map-detail{min-height:125px;padding:1rem 1.1rem;border-left:3px solid var(--gold);border-radius:0 .7rem .7rem 0;background:#0003}.map-detail h4{margin:0;color:var(--gold-2);font:500 1.35rem var(--serif)}.map-detail p{color:var(--muted)}

.tools-section{background:radial-gradient(circle at 80% 20%,#d4b36c44,transparent 27rem),#eee5d4}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.tool-grid button{min-height:210px;padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #bba77370;border-radius:1rem;color:var(--ink);background:#fffdf8;transition:.2s}.tool-grid button:hover,.tool-grid button:focus-visible{transform:translateY(-4px);border-color:#8d672d}.tool-grid button>span{width:48px;aspect-ratio:1;display:grid;place-items:center;margin-bottom:1rem;border:1px solid var(--gold);border-radius:50%;color:#8a6428;font:600 1rem var(--serif)}.tool-grid strong{font:600 1.35rem var(--serif)}.tool-grid small{margin-top:.35rem;color:#66706f;line-height:1.45}.closing{padding:clamp(5rem,11vw,9rem) 0;color:var(--paper);background:radial-gradient(circle at 20% 30%,#1a555955,transparent 30rem),#031114;text-align:center}.closing blockquote{margin:1rem auto;max-width:900px;color:var(--gold-2)}.closing p:last-child{max-width:720px;margin:1.5rem auto;color:var(--muted)}.footer{padding:2rem max(1rem,env(safe-area-inset-right)) calc(2rem + var(--safe-bottom)) max(1rem,env(safe-area-inset-left));color:rgba(242,234,216,.62);background:#020a0b;text-align:center;font-size:.78rem}.footer p{max-width:900px;margin:.5rem auto}.footer a{color:var(--gold-2)}.text-button{padding:0;border:0;color:var(--gold-2);background:none;text-decoration:underline}

.drawer{position:fixed;inset:0;z-index:100;visibility:hidden;background:#000c;opacity:0;transition:.22s}.drawer.open{visibility:visible;opacity:1}.drawer-panel{width:min(91vw,430px);height:100%;overflow:auto;padding:calc(2rem + var(--safe-top)) 1.25rem 2rem;color:var(--paper);background:linear-gradient(155deg,#0d3336,#041315 70%);transform:translateX(-102%);transition:.25s}.drawer.open .drawer-panel{transform:none}.close-button,.dialog-close,.notes-panel header button{float:right;width:42px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;color:var(--gold-2);background:#0003;font-size:1.3rem}.drawer nav{display:grid;gap:.5rem;margin:1.3rem 0}.drawer nav a{padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;color:var(--paper);background:#ffffff07;text-decoration:none}.drawer nav a small{display:block;color:var(--muted)}.drawer-progress{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line)}.drawer-progress strong{color:var(--gold-2)}.notes-panel{position:fixed;right:0;top:0;z-index:110;width:min(94vw,520px);height:100%;padding:calc(1.5rem + var(--safe-top)) 1.2rem calc(1.2rem + var(--safe-bottom));display:flex;flex-direction:column;color:var(--paper);background:linear-gradient(155deg,#0d3336,#041315 70%);box-shadow:-25px 0 70px #0008;transform:translateX(105%);transition:.25s}.notes-panel.open{transform:none}.notes-panel header{display:flex;justify-content:space-between;align-items:start}.notes-panel h2{margin:.2rem 0 1rem;font:500 2.2rem var(--serif)}.notes-panel textarea{width:100%;flex:1;resize:none;padding:1rem;border:1px solid var(--line);border-radius:.8rem;color:var(--paper);background:#0003;line-height:1.65}.notes-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}.notes-actions span{color:var(--sage);font-size:.8rem}

.content-dialog,.search-dialog{width:min(94vw,900px);max-height:88vh;padding:clamp(1.2rem,4vw,2.3rem);border:1px solid #aa8b56;border-radius:1.1rem;color:var(--ink);background:#f5efe3;box-shadow:var(--shadow)}.content-dialog::backdrop,.search-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.dialog-close{position:sticky;float:right;top:0;color:#7d5722;background:#f4e4c7}.content-dialog h2,.search-dialog h2{font-size:clamp(2rem,6vw,4rem)}.content-dialog h3{margin:1.6rem 0 .4rem;font:600 1.45rem var(--serif)}.content-dialog p,.content-dialog li{color:#4f5a59}.dialog-question{padding:1rem 1.1rem;border-left:4px solid var(--gold);background:#e9ddc6;font:italic 1.1rem var(--serif)}.dialog-example,.dialog-warning,.source-note{padding:1rem;border-radius:.7rem;background:#e7ddca}.dialog-warning{border-left:4px solid var(--red)}.lesson-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.lesson-actions button{padding:.7rem 1rem;border:1px solid #9b7842;border-radius:99px;color:var(--ink);background:#efe2c8}.lesson-actions button.complete{background:#cfe0d1}.dialog-tag{display:inline-block;padding:.3rem .5rem;border-radius:99px;color:#6b4a1d;background:#e6d4b3;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.glossary-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.glossary-filter button{width:38px;aspect-ratio:1;border:1px solid #b39a6f;border-radius:50%;color:var(--ink);background:#eadfc9}.glossary-filter button.active{color:#fff;background:var(--ink-3)}.tool-content-list{display:grid;gap:.75rem}.tool-item{padding:1rem 1.1rem;border:1px solid #b9a77e75;border-radius:.8rem;background:#fffdf8}.tool-item h3{margin:0 0 .45rem}.tool-item p{margin:.35rem 0}.tool-item a{color:#6f4d1c}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quiz-options{display:grid;gap:.45rem}.quiz-options button{padding:.75rem;text-align:left;border:1px solid #b8a37a;border-radius:.6rem;color:var(--ink);background:#f0e6d2}.quiz-options button.correct{border-color:#5e8a69;background:#dcebdc}.quiz-options button.wrong{border-color:#a75850;background:#f0d5d1}.feedback{min-height:1.2rem;color:#53605c}.quiz-score{position:sticky;bottom:0;padding:1rem;border:1px solid #9e7d46;border-radius:.8rem;background:#efe0c2;box-shadow:0 -10px 24px #f5efe3}.recovery-list a{display:block;margin:.35rem 0;color:#704e1d}.search-box input{width:100%;padding:1rem;border:1px solid #b39a6f;border-radius:.75rem;color:var(--ink);background:#fffdf8}.search-results{display:grid;gap:.55rem;margin-top:1rem}.search-results button{padding:.85rem;text-align:left;border:1px solid #baa77f;border-radius:.7rem;color:var(--ink);background:#fffdf8}.search-results strong,.search-results small{display:block}.search-results small{color:#697270}.toast{position:fixed;left:50%;bottom:calc(1rem + var(--safe-bottom));z-index:200;max-width:calc(100% - 2rem);padding:.8rem 1rem;border:1px solid var(--line);border-radius:.7rem;color:var(--paper);background:#061719;box-shadow:var(--shadow);transform:translate(-50%,160%);transition:.22s}.toast.show{transform:translate(-50%,0)}

@media(max-width:980px){.portal-grid,.comic-strip{grid-template-columns:repeat(2,1fr)}.module-grid,.source-grid,.tool-grid{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}.map-tabs{grid-template-columns:repeat(3,1fr)}.hotspot-book{left:55%}.hotspot-bee{left:73%}.hotspot-light{left:66%}}
@media(max-width:720px){.brand small,.index-button span{display:none}.section-heading.split{display:block}.mode-switch{width:max-content;margin-top:1rem}.hero-copy{padding-bottom:6rem}.hero-copy h1{font-size:clamp(3rem,14vw,5.6rem)}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(2,15,18,.96),rgba(3,19,21,.67) 67%,rgba(3,16,18,.3)),linear-gradient(0deg,rgba(2,12,14,.98),transparent 63%)}.hero-hotspot{display:none}.case-bank,.table-columns{grid-template-columns:1fr}.idol-round{grid-template-columns:1fr}.map-tabs{grid-template-columns:1fr 1fr}.comparison-grid{grid-template-columns:1fr}}
@media(max-width:540px){.top-actions .icon-button:first-child{display:none}.brand-mark{display:none}.portal-grid,.module-grid,.source-grid,.comic-strip,.tool-grid{grid-template-columns:1fr}.portal-card{min-height:190px}.module-card{min-height:235px}.choice-grid,.idol-options{grid-template-columns:1fr}.map-tabs{grid-template-columns:1fr}.hero-hint{display:none}.content-dialog,.search-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.lab-instructions{display:block}.lab-score{display:block;margin-top:.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.topbar,.hero-hotspot,.hero-actions,.lab-section,.footer,.drawer,.notes-panel,.toast{display:none!important}.hero{min-height:auto;padding:2rem;color:#000;background:#fff}.hero-image,.hero-shade,.hero-grid{display:none}.hero-copy{padding:0}.section,.portal{padding:2rem 0;color:#000!important;background:#fff!important}.module-grid,.source-grid,.comic-strip,.tool-grid{grid-template-columns:1fr 1fr}.module-card,.source-card,.comic-panel{break-inside:avoid;color:#000;background:#fff}}
