.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,126,0,.22) 0%,transparent 45%),radial-gradient(circle at 50% 40%,#2a3b5c,#111a2c 70%);animation:intro-in .35s ease-out both;transition:opacity var(--intro-fade, .45s) ease,transform var(--intro-fade, .45s) ease}.intro.is-leaving{opacity:0;transform:scale(1.03);pointer-events:none}.intro-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.intro-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent;opacity:0;transition:opacity .4s ease}.intro-video.is-ready{opacity:1}.intro-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:22px}.intro-loading img{width:96px;height:96px;object-fit:contain;border-radius:24px;box-shadow:0 16px 40px #ff7e0059;animation:intro-bob 1.6s ease-in-out infinite}.intro-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#ff7e00;animation:intro-spin .9s linear infinite}.intro .intro-skip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:700 1rem/1 Rubik,Avenir Next,system-ui,sans-serif;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .15s ease,background .15s ease}.intro .intro-skip:active{transform:scale(.95)}.intro .intro-skip:focus-visible{outline:3px solid #ff9a2e;outline-offset:3px}.intro-skip{top:calc(18px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));height:42px;padding:0 14px 0 18px;border-radius:999px;background:#0f182c8c;color:#fff;box-shadow:0 0 0 1.5px #ffffff59}.intro-skip:hover{background:#0f182cbf}.intro-sound-hint{position:absolute;z-index:2;left:50%;bottom:calc(36px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;margin:0;padding:11px 18px 11px 14px;border-radius:999px;background:#ff7e00eb;color:#fff;font:700 .98rem/1 Rubik,Avenir Next,system-ui,sans-serif;white-space:nowrap;translate:-50% 0;pointer-events:none;box-shadow:0 10px 28px #ff7e0066;animation:intro-pulse 1.8s ease-in-out infinite}.intro-progress{position:absolute;left:0;right:0;bottom:0;z-index:2;height:4px;background:#ffffff26}.intro-progress span{display:block;height:100%;background:linear-gradient(90deg,#ff9a3d,#ff7e00);transition:width .25s linear}@keyframes intro-in{0%{opacity:0}}@keyframes intro-spin{to{transform:rotate(360deg)}}@keyframes intro-bob{50%{transform:translateY(-8px)}}@keyframes intro-pulse{50%{box-shadow:0 10px 28px #ff7e0073,0 0 0 10px #ff7e0026}}@media (prefers-reduced-motion: reduce){.intro,.intro-loading img,.intro-sound-hint{animation:none}}:root{--color-paper: #050505;--color-paper-raised: #141414;--color-paper-band: #0d0d0d;--color-ink: #ffffff;--color-ink-soft: rgba(255, 255, 255, .72);--color-line: rgba(255, 126, 0, .28);--color-seal: #ff7e00;--color-seal-deep: #ea580c;--color-seal-ink: #111111;--color-gold: #ff7e00;--color-pine: #22c55e;--color-orange: #ff7e00;--color-panel: #1a1a1a;--paper: var(--color-paper);--paper-2: var(--color-paper-band);--ink: var(--color-ink);--ink-soft: var(--color-ink-soft);--line: var(--color-line);--seal: var(--color-seal);--seal-deep: var(--color-seal-deep);--gold: var(--color-gold);--pine: var(--color-pine);--ok: var(--color-pine);--bad: #ef4444;--font-display: "Cinzel", Georgia, serif;--font-text: "Rubik", "Avenir Next", sans-serif;--type-kicker: .75rem;--type-meta: .875rem;--type-body: 1rem;--type-lede: 1.125rem;--type-title: 1.75rem;--type-display: clamp(2.5rem, 7vw, 4.5rem);--leading-display: .95;--leading-body: 1.5;--tracking-kicker: .16em;--weight-text: 400;--weight-display: 800;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--page: min(1080px, calc(100% - var(--space-6)));--measure: 680px;--radius-rule: 0px;--radius-image: 14px;--radius-control: 12px;--radius-option: 16px;--radius-seal: 999px;--elevation-0: none;--elevation-1: 0 12px 32px rgba(0, 0, 0, .45);--elevation-2: 0 22px 48px rgba(0, 0, 0, .55);--icon-size: 20px;--touch: 44px;--motion-fast: .16s;--motion-base: .24s;--motion-reward: .52s;--ease-desk: cubic-bezier(.22, .8, .28, 1);color:var(--color-ink);background:var(--color-paper);font-family:var(--font-text);font-weight:var(--weight-text);line-height:var(--leading-body);color-scheme:dark}@media (prefers-reduced-motion: no-preference){.motion-fade{animation:eraplay-fade var(--motion-base) var(--ease-desk) both}.motion-xp{animation:eraplay-stamp var(--motion-reward) var(--ease-desk) both}.motion-unlock{animation:eraplay-unlock var(--motion-reward) var(--ease-desk) both}.motion-quiz-wrong{animation:eraplay-miss var(--motion-fast) var(--ease-desk)}.motion-quiz-right{animation:eraplay-settle var(--motion-base) var(--ease-desk)}.motion-toast{animation:eraplay-toast var(--motion-base) var(--ease-desk) both}}html[data-motion=reduce] .motion-fade,html[data-motion=reduce] .motion-xp,html[data-motion=reduce] .motion-unlock,html[data-motion=reduce] .motion-quiz-wrong,html[data-motion=reduce] .motion-quiz-right,html[data-motion=reduce] .motion-toast,html[data-motion=reduce] *{animation:none!important;transition:none!important}@keyframes eraplay-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes eraplay-stamp{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes eraplay-unlock{0%{opacity:.4;clip-path:inset(0 0 40% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes eraplay-miss{0%,to{transform:none}35%{transform:translate(-4px)}70%{transform:translate(4px)}}@keyframes eraplay-settle{0%{background:var(--color-paper-band)}to{background:transparent}}@keyframes eraplay-toast{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.icon{width:var(--icon-size);height:var(--icon-size);display:inline-block;vertical-align:middle}.btn{min-height:var(--touch);border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;font:inherit;font-weight:700}.btn-seal{background:var(--color-seal);color:var(--color-seal-ink);border-radius:var(--radius-seal);padding:0 var(--space-4);box-shadow:0 0 16px #ff7e0047}.btn-seal:hover{background:var(--color-seal-deep);color:#fff}.btn-seal:disabled,.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--color-orange);border:1.5px solid var(--color-orange);border-radius:var(--radius-seal);padding:0 var(--space-4)}.btn-text{background:transparent;padding:0;color:var(--color-orange);text-decoration:underline;text-underline-offset:3px;min-height:var(--touch)}.seal-btn{background:var(--color-seal);color:var(--color-seal-ink);border-radius:var(--radius-seal);padding:11px 18px;min-height:var(--touch);font-weight:700}.ghost-btn{border:1.5px solid var(--color-orange);color:var(--color-orange);border-radius:var(--radius-seal);padding:10px 16px;min-height:var(--touch);font-weight:700}.card{border:1px solid rgba(255,126,0,.28);border-radius:18px;padding:var(--space-4);background:var(--color-paper-raised);box-shadow:var(--elevation-0)}.card-raised{border:1px solid rgba(255,126,0,.35);border-radius:var(--radius-option);background:#121212;box-shadow:var(--elevation-1);padding:var(--space-4)}.story-card{display:grid;gap:var(--space-2);padding:var(--space-5);margin:var(--space-3) 0;border:1px solid rgba(255,126,0,.35);border-radius:20px;background:radial-gradient(circle at 10% 100%,rgba(255,126,0,.12),transparent 45%),#101010;text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease}.story-card:hover{transform:translateY(-2px);border-color:var(--color-orange)}.story-card h3{margin:0;font-family:var(--font-text);font-size:var(--type-title);font-weight:700}.story-card p{margin:0}.character-card{display:block;color:inherit;text-decoration:none;border:1px solid rgba(255,126,0,.3);border-radius:18px;padding:var(--space-4);min-height:160px;background:#121212}.character-card.locked{opacity:.72}.character-card span{letter-spacing:var(--tracking-kicker);text-transform:uppercase;font-size:var(--type-kicker);color:var(--color-orange)}.character-card h2{margin:var(--space-2) 0;font-family:var(--font-text);font-weight:700}.progress{background:#ffffff1f;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--color-seal)}.xp-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,126,0,.45);border-radius:999px;padding:6px 12px;color:var(--color-orange);font-weight:700;background:#ff7e0014}.choice-grid button,.quiz label,.option{background:#121212!important;border:1px solid rgba(255,126,0,.28)!important;color:#fff}.state-block{color:var(--ink-soft)}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.shell{min-height:100vh;display:flex;flex-direction:column}main{width:min(1080px,calc(100% - 32px));margin:0 auto;flex:1;padding-bottom:64px}.nav{display:flex;align-items:center;gap:24px;width:min(1080px,calc(100% - 32px));margin:0 auto;padding:14px 0;border-bottom:1px solid rgba(255,126,0,.35);border-top:2px solid var(--color-orange)}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-text);font-size:1.25rem;font-weight:700;color:var(--color-orange);letter-spacing:-.02em;line-height:1}.brand img{width:32px;height:32px;display:block;border-radius:8px}.brand span{display:none}.nav nav{display:flex;gap:18px}.nav a{text-decoration:none;color:#ffffffd1;font-weight:500}.nav a:hover{color:#fff}.nav nav a[aria-current=page]{color:var(--color-orange);border-bottom:2px solid var(--color-orange)}.nav-end{margin-left:auto;display:flex;align-items:center;gap:12px}.who{color:var(--ink-soft);font-size:14px}.seal-btn,.ghost-btn,.text-btn{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.seal-btn{background:var(--color-seal);color:var(--color-seal-ink);border-radius:var(--radius-seal);padding:11px var(--space-4);box-shadow:0 0 16px #ff7e004d}.seal-btn:hover{background:var(--seal-deep);color:#fff}.seal-btn:disabled{opacity:.55;cursor:default}.ghost-btn,.text-btn{background:transparent}.ghost-btn{border:1.5px solid var(--color-orange);color:var(--color-orange);border-radius:var(--radius-seal);padding:10px var(--space-4)}.text-btn{padding:0;color:var(--color-orange);text-decoration:underline;text-underline-offset:3px}.hero{padding:64px 0 28px;max-width:760px}.kicker{letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--color-orange);margin:0 0 12px;font-weight:600}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:.02em}h1{font-size:clamp(2.4rem,6vw,3.8rem);line-height:1.02;margin:0 0 18px}.lede{font-size:19px;max-width:62ch;color:var(--ink-soft)}.hero-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.hero-note{color:var(--ink-soft);margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 56px}.steps article{border-top:1px solid var(--ink);padding-top:14px}.steps span{font-family:var(--font-display);color:var(--seal)}.steps h2{margin:6px 0;font-size:28px}.steps p{margin:0;color:var(--ink-soft)}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:12px}.section-head p{max-width:36ch;color:var(--ink-soft)}.era-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.era-card{display:grid;grid-template-columns:160px 1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}.era-card:hover h3{color:var(--seal)}.index{font-family:var(--font-display);font-size:28px}.years,.count,.muted{color:var(--ink-soft)}.era-card h3{margin:0 0 6px;font-size:32px}.era-card p{margin:0}.era-page,.lesson,.quiz,.library,.admin,.narrow{padding-top:42px}.topic-block{margin-top:36px}.topic-block header p{color:var(--ink-soft)}.lesson-rows{list-style:none;padding:0;margin:0}.lesson-rows li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.lesson-rows a{text-decoration:none;display:flex;flex-direction:column;gap:4px}.lesson-rows span,.lesson-rows em{color:var(--ink-soft)}.lesson-rows em{font-style:normal;font-size:14px}.lesson{max-width:720px;position:relative}.read-bar{position:fixed;top:0;left:0;height:3px;background:var(--seal);z-index:5}.meta,.excerpt{color:var(--ink-soft)}.excerpt{font-size:20px}.hero-image{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius-image)}.prose{font-size:18.5px}.prose p{margin:0 0 16px}.prose h2{font-size:30px;margin:28px 0 10px}.prose blockquote{margin:24px 0;padding:16px 18px;background:var(--color-paper-band);border-left:3px solid var(--gold);font-family:var(--font-display);font-size:22px;line-height:1.35}.prose blockquote p{margin:0}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.quiz fieldset{border:1px solid rgba(255,126,0,.35);border-radius:18px;margin:0 0 var(--space-4);padding:var(--space-4);background:#101010}.quiz legend{font-family:var(--font-text);font-weight:700;padding:0 6px;color:var(--color-orange)}.quiz label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid transparent}.quiz label:hover{border-color:#ff7e0059;background:#ff7e000f}.quiz .right{border-color:var(--ok)}.quiz .wrong{border-color:var(--bad)}.quiz .answer span{text-decoration:underline;text-underline-offset:3px}.explain{color:var(--ink-soft)}.result{background:transparent;padding:var(--space-5) 0;border-radius:var(--radius-rule);margin-top:var(--space-2)}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:560px}.stat-row article{border-top:1px solid var(--ink);padding-top:10px}.stat-row strong{display:block;font-family:var(--font-display);font-size:48px;line-height:1}.continue{display:flex;flex-direction:column;text-decoration:none;margin:22px 0;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.continue span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:12px}.plain-list{list-style:none;padding:0}.plain-list li{display:flex;gap:16px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.plain-list a,.plain-list button{background:none;border:0;padding:0;text-align:left;text-decoration:none;font-family:var(--font-display);font-size:20px}.plain-list span{color:var(--ink-soft);font-size:14px}.auth{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding-top:48px}.auth form,.desk form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:14px}input,textarea,select{background:#121212;border:1px solid rgba(255,126,0,.35);border-radius:var(--radius-control);padding:12px var(--space-3);color:#fff}input:focus,textarea:focus,select:focus{outline:2px solid rgba(255,126,0,.55);outline-offset:1px}textarea{min-height:90px;resize:vertical}textarea.tall{min-height:220px}.check{flex-direction:row;align-items:center}.auth aside{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:72px}.auth aside button{background:transparent;border:1px solid rgba(255,126,0,.4);color:var(--color-orange);border-radius:var(--radius-seal);padding:var(--space-2) var(--space-3)}.tabs{display:flex;gap:8px;margin:12px 0 20px}.tabs button{background:transparent;border:1px solid rgba(255,126,0,.35);color:#fff;border-radius:var(--radius-seal);padding:7px var(--space-3);text-transform:capitalize}.tabs button.on{background:var(--color-orange);color:#111;border-color:var(--color-orange)}.desk{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:32px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.notice{background:#ff7e001a;border:1px solid rgba(255,126,0,.35);padding:12px var(--space-3);border-radius:var(--radius-control);color:#fff}.error{color:#ff8a8a}.splash{min-height:100vh;width:100%;border:0;background:radial-gradient(circle at 50% 30%,rgba(255,126,0,.28),transparent 50%),#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;text-align:center;cursor:pointer}.splash span{color:var(--color-orange);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:600}.splash strong{font-family:var(--font-display);font-size:clamp(3rem,10vw,5rem);font-weight:800;color:var(--color-orange);text-shadow:0 0 28px rgba(255,126,0,.55)}.splash img{width:88px;height:88px;border-radius:22px;box-shadow:0 0 28px #ff7e0073;object-fit:cover}.splash p{margin:0;color:#ffffffd1}.measure{max-width:680px}.tabbar{display:none}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.admin-rail{display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}.admin-rail a,.admin-tabs a{min-height:44px;display:inline-flex;align-items:center}.admin-rail a.on,.admin-tabs a.on{font-weight:560}.admin-tabs{display:none;overflow-x:auto}.account{position:relative}.account summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;color:#fff;font-weight:600}.account[open]{background:#121212;border:1px solid rgba(255,126,0,.35);border-radius:14px;padding:8px 12px}.account a,.account button{display:block;margin-top:8px;color:#ffffffd9}.placeholder-row{height:72px;margin:12px 0;border-bottom:1px solid var(--line)}.search-form{display:flex;gap:12px;align-items:end;margin:16px 0 24px}.search-form label{flex:1}.shell.bare main{width:min(760px,calc(100% - 32px))}.xp-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,126,0,.45);border-radius:999px;padding:6px 12px;color:var(--color-orange);font-weight:700;background:#ff7e0014;margin:0}.xp-badge em{font-style:normal;color:#fff}.audio-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,126,0,.3);border-radius:16px;background:#101010}.cast article,.cast>a{border-top:1px solid var(--ink);padding-top:12px;min-height:140px;display:block}.cast span{letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--gold)}.cast h2{margin:8px 0}.choice-grid{display:grid;gap:12px}.choice-grid button{text-align:left;background:#121212;border:1px solid rgba(255,126,0,.3);border-radius:var(--radius-option);padding:var(--space-4);display:flex;flex-direction:column;gap:6px;min-height:var(--touch);color:#fff}.choice-grid button:hover{border-color:var(--color-orange)}.choice-grid span{color:var(--ink-soft)}.cast{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.cast a{color:inherit;text-decoration:none}.cast article,.cast>a{border:1px solid rgba(255,126,0,.3);border-radius:16px;padding:16px;min-height:140px;display:block;background:#121212}.cast article.locked,.cast>a.locked{opacity:.72}.cast span{letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--color-orange)}.cast h2{margin:8px 0;font-family:var(--font-text)}.era-list{display:flex;flex-direction:column;gap:12px;border-top:0}.era-card{display:grid;grid-template-columns:160px 1fr auto;gap:24px;padding:20px;border:1px solid rgba(255,126,0,.3);border-radius:18px;background:#101010;text-decoration:none}.era-card:hover h3{color:var(--color-orange)}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr}.admin-rail{display:none}.admin-tabs{display:flex}.desk{grid-template-columns:1fr}}@media (max-width: 720px){.steps,.auth,.era-card,.section-head,.stat-row,.split,.cast{grid-template-columns:1fr;display:grid}.era-card{display:grid}.nav nav{display:none}.nav-end{margin-left:auto}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:sticky;bottom:0;background:#000000f0;border-top:1px solid rgba(255,126,0,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabbar a{min-height:52px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#ffffffb3;font-weight:600;font-size:.85rem}.tabbar a.active,.tabbar a[aria-current=page]{color:var(--color-orange)}.shell:not(.bare) main{padding-bottom:88px}h1{font-size:42px}.search-form{flex-direction:column;align-items:stretch}}
