@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.1a6kzvi7en7g-.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.33in7pwjke59p.woff)format("woff")}
@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(../media/libre-baskerville-latin-400-normal.1g3g_1uwnar-v.woff2)format("woff2"),url(../media/libre-baskerville-latin-400-normal.169zx-5u15aey.woff)format("woff")}
@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(../media/libre-baskerville-latin-700-normal.3w14em03cj2x_.woff2)format("woff2"),url(../media/libre-baskerville-latin-700-normal.0x4fb2mocag2d.woff)format("woff")}
@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(../media/libre-baskerville-latin-400-italic.1caos9-r9-s_v.woff2)format("woff2"),url(../media/libre-baskerville-latin-400-italic.2_eocefpn97_h.woff)format("woff")}
:root{--paper:#f4f1e9;--paper-soft:#faf8f2;--card:#fffefb;--wash:#eeeadf;--ink:#16271d;--ink-soft:#3d4f45;--muted:#56635b;--faint:#606c65;--green:#1d4634;--green-deep:#12301f;--green-mid:#2f6047;--sage:#7f9d86;--sage-soft:#dfe7dc;--gold:#b58a4d;--rose:#b4707a;--night:#111a24;--night-2:#1a2533;--on-night:#fbf7ee;--amber:#8a5a15;--amber-bright:#e3ad5c;--amber-soft:#f6e7cb;--line:#e2ddd0;--line-soft:#ece8dd;--shadow-sm:0 1px 2px #16271d0d;--shadow-md:0 6px 20px -8px #16271d29;--shadow-lg:0 18px 46px -22px #16271d57;--serif:"Libre Baskerville", "Iowan Old Style", Georgia, serif;--sans:"DM Sans", "Segoe UI", system-ui, sans-serif;--header-h:78px;--gutter:40px;--shell:1440px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-pill:999px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.45}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}img{max-width:100%;display:block}svg{vertical-align:middle;flex-shrink:0}hr{border:none;border-top:1px solid var(--line);margin:28px 0}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);color:var(--green-deep);letter-spacing:-.02em;font-weight:700;line-height:1.1}h1{margin-bottom:18px;font-size:clamp(40px,5.2vw,76px)}h2{margin-bottom:14px;font-size:clamp(26px,2.6vw,36px)}h3{margin-bottom:10px;font-size:21px}h4{font-family:var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700}p{margin-bottom:16px}em{color:var(--green-mid);font-style:italic}strong{font-weight:600}small{font-size:13px}::selection{background:var(--sage-soft);color:var(--green-deep)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--green);color:#fff;border-radius:var(--r-sm);padding:12px 18px;font-weight:600;transition:top .2s;position:fixed;top:-100px;left:16px}.skip-link:focus{top:14px}.muted{color:var(--muted)}
.eyebrow,.tiny-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.eyebrow{margin-bottom:14px}.live-dot{background:var(--sage);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #7f9d8638}.button{border-radius:var(--r-sm);background:var(--green);color:#fbfaf5;border:1px solid var(--green);justify-content:center;align-items:center;gap:10px;min-height:50px;padding:13px 26px;font-size:15px;font-weight:600;line-height:1.3;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex}.button:hover{background:var(--green-deep);border-color:var(--green-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button.secondary{background:var(--card);color:var(--green-deep);border-color:var(--line)}.button.secondary:hover{background:var(--card);border-color:var(--sage);color:var(--green-deep)}.button.small{min-height:42px;padding:10px 18px;font-size:14px}.button:disabled:hover{box-shadow:none;background:var(--green);border-color:var(--green);transform:none}.text-link{color:var(--green-mid);border-bottom:1px solid #0000;align-items:center;gap:7px;padding-bottom:2px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.text-link:hover{color:var(--green-deep);border-color:var(--sage)}.text-button{color:var(--muted);align-items:center;gap:8px;padding:8px 0;font-size:14px;font-weight:600;transition:color .15s;display:inline-flex}.text-button:hover{color:var(--green-deep)}.row-arrow{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--green-mid);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.icon-button{width:42px;height:42px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;transition:background .16s,color .16s;display:inline-flex}.icon-button:hover{background:var(--wash);color:var(--green-deep)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.search-field{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-height:54px;color:var(--faint);align-items:center;gap:12px;padding:0 18px;transition:border-color .16s,box-shadow .16s;display:flex}.search-field:focus-within{border-color:var(--sage);box-shadow:0 0 0 4px #7f9d8624}.search-field input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-field input::placeholder{color:var(--faint)}.segmented{background:var(--wash);border-radius:var(--r-pill);gap:2px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r-pill);color:var(--muted);align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .16s,color .16s;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--card);color:var(--green-deep);box-shadow:var(--shadow-sm)}.tags{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tags span,.tags button{border-radius:var(--r-pill);background:var(--sage-soft);color:var(--green-deep);border:1px solid #0000;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:500;display:inline-flex}.tags button:hover{border-color:var(--sage)}.meter{border-radius:var(--r-pill);background:var(--wash);height:8px;overflow:hidden}.meter>span,.meter>div{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--green-mid), var(--sage));height:100%;transition:width .4s;display:block}.art{border-radius:var(--r-md);background:var(--wash);isolation:isolate;position:relative;overflow:hidden}.art-provenance{background:var(--paper);max-width:calc(100% - 8px);color:var(--green-deep);font:9px/1.3 var(--sans);pointer-events:none;border-radius:3px;padding:2px 5px;position:absolute;bottom:4px;right:4px}.chip-expression.guide-portrait{aspect-ratio:auto;border-radius:inherit;border:0;width:100%;height:100%;display:block}.guide-chip-copy small{color:var(--muted);font-size:9px}.completion-recap{text-align:left;width:100%;max-width:38rem}.completion-recap ul{padding-left:1.25rem}.media-card iframe{aspect-ratio:16/9;border:0;width:100%;height:auto}.art.art-square{border-radius:0}.art img{object-fit:cover;width:100%;height:100%}.art-empty{place-items:center;display:grid}.art-empty.art-sky{background:linear-gradient(160deg,#dfe9ef,#eef1e6 60%,#e4e9da)}.art-empty.art-sage{background:linear-gradient(160deg,#e4ebdf,#f1efe4 62%,#dde6d9)}.art-empty.art-dusk{background:linear-gradient(160deg,#e7e2ea,#f0ebe2 58%,#dfe4e6)}.art-empty.art-ink{background:linear-gradient(160deg,#2a3b31,#16271d)}.art-empty.art-paper{background:linear-gradient(160deg,#f3efe4,#e9e4d7)}.art-mark{background:radial-gradient(circle at 50% 62%,#1d463429 0 32%,#0000 33%),linear-gradient(#0000 0 38%,#1d463429 38% 41%,#0000 42%);border:1px solid #1d463438;border-radius:50%;width:46px;height:46px}.art-empty.art-ink .art-mark{border-color:#ffffff3d}.feedback-entry{margin:24px 0}.feedback-entry form{gap:12px;max-width:40rem;display:grid}.feedback-entry textarea{border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:var(--ink);background:var(--card);font:inherit;margin-top:8px;padding:12px;display:block}.completed-thumb .art-credit-brand,.favourites .art-credit-brand{display:none}.completed-thumb .art-provenance{padding:1px 2px;font-size:8px}
.site-header{z-index:60;height:var(--header-h);padding:0 var(--gutter);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);background:#fcfaf5eb;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid;position:sticky;top:0}.brand{color:var(--green-deep);justify-self:start;align-items:center;gap:12px;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--green);place-items:center;display:grid}.brand-name{font-family:var(--serif);letter-spacing:-.02em;font-size:25px;font-weight:700;line-height:1}.brand-serif{font-family:var(--serif)}.site-header nav{justify-self:center;align-items:center;gap:6px;display:flex}.site-header nav a{color:var(--ink-soft);border-radius:var(--r-sm);padding:10px 16px;font-size:15px;font-weight:500;transition:color .16s;position:relative}.site-header nav a:hover{color:var(--green-deep)}.site-header nav a:after{content:"";background:var(--green);opacity:0;border-radius:2px;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:-1px;left:16px;right:16px;transform:scaleX(.5)}.site-header nav a[aria-current=page]{color:var(--green-deep);font-weight:600}.site-header nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:6px;display:flex}.nav-sheet-foot{display:none}.header-xp{border-radius:var(--r-pill);background:var(--amber-soft);color:var(--green-deep);border:1px solid #0000;align-items:center;gap:6px;margin-right:4px;padding:7px 14px;font-size:13px;font-weight:600;transition:border-color .3s,box-shadow .3s;display:inline-flex;position:relative}.header-xp svg{color:var(--amber)}.header-xp.is-gaining{border-color:var(--amber-bright);box-shadow:0 0 0 4px #e3ad5c40}.header-xp-gain{border-radius:var(--r-pill);background:var(--amber);color:#fff;padding:1px 6px;font-size:11px;font-weight:700;animation:1.6s ease-out forwards xp-gain;position:absolute;top:-14px;right:6px}@keyframes xp-gain{0%{opacity:0;transform:translateY(6px)}15%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.avatar-button{background:var(--wash);border:1px solid var(--line);width:42px;height:42px;color:var(--ink-soft);border-radius:50%;place-items:center;transition:border-color .16s,transform .16s;display:grid;overflow:hidden}.avatar-button:hover{border-color:var(--sage);transform:translateY(-1px)}.avatar-button img{object-fit:cover;width:100%;height:100%}.mobile-menu{display:none}.header-search{max-height:calc(100dvh - var(--header-h));inset:var(--header-h) 0 auto;z-index:55;padding:22px var(--gutter) 26px;background:var(--paper-soft);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);position:fixed;overflow-y:auto}.header-search .search-field{max-width:720px;margin:0 auto}.header-search-results{gap:2px;max-width:720px;margin:14px auto 0;display:grid}.header-search-results a{border-radius:var(--r-sm);align-items:center;gap:12px;min-width:0;padding:11px 14px;transition:background .14s;display:flex}.header-search-results a:hover{background:var(--wash)}.header-search-results strong{font-family:var(--serif);color:var(--green-deep);font-size:16px}.header-search-results span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.header-search-empty{max-width:720px;color:var(--muted);text-align:center;margin:16px auto 0}main{min-height:60vh;display:block}.page{max-width:var(--shell);padding:56px var(--gutter) 96px;margin:0 auto}.page.narrow{max-width:780px}.page-intro{color:var(--muted);max-width:640px;margin-bottom:34px;font-size:18px}.page.loading{color:var(--muted);text-align:center;padding-top:120px}.hero-band{min-height:400px;padding:0 0 0 var(--gutter);max-width:var(--shell);grid-template-columns:minmax(320px,46%) 1fr;align-items:center;gap:40px;margin:0 auto;display:grid;position:relative}.hero-band-copy{z-index:2;padding:48px 0;position:relative}.hero-band-copy h1{margin-bottom:10px}.hero-band-copy .lede{font-family:var(--serif);color:var(--muted);margin-bottom:26px;font-size:clamp(22px,2.3vw,32px);line-height:1.25}.hero-band .art{border-radius:0;align-self:stretch;height:100%;min-height:400px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 100%);mask-image:linear-gradient(90deg,#0000,#000 9% 100%)}.hero-band .art img{object-position:center 60%}.hero-art-top img{object-position:center 45%}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.section-heading h2{margin-bottom:0}.section-rule{align-items:center;gap:22px;margin-bottom:26px;display:flex}.section-rule h2{white-space:nowrap;margin-bottom:0}.section-rule:after{content:"";background:var(--line);flex:1;height:1px}footer{max-width:var(--shell);padding:28px var(--gutter) 40px;border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px 32px;margin:0 auto;font-size:14px;display:flex}.footer-brand{font-family:var(--serif);color:var(--green-deep);align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}footer p{margin:0;font-style:italic}footer>div{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-left:auto;display:flex}footer a:hover{color:var(--green-deep)}.guide-chip{z-index:70;background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);align-items:center;gap:14px;padding:8px 10px 8px 8px;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:22px;left:22px}.guide-chip:hover{transform:translateY(-2px)}.guide-chip.inline{width:100%;box-shadow:var(--shadow-sm);position:static}.guide-chip.folded .guide-chip-copy,.guide-chip.folded .row-arrow{display:none}.guide-chip.folded{gap:0;padding:7px}.guide-chip.folded:hover,.guide-chip.folded:focus-visible{gap:14px;padding:8px 10px 8px 8px}.guide-chip.folded:hover .guide-chip-copy,.guide-chip.folded:focus-visible .guide-chip-copy{display:grid}.guide-chip.folded:hover .row-arrow,.guide-chip.folded:focus-visible .row-arrow{display:inline-flex}.guide-chip-face{background:var(--sage-soft);background-image:url(/assets/dobri-guide-character-sheet.webp);background-position:36.5% 82%;background-size:760%;border-radius:50%;flex-shrink:0;width:46px;height:46px;position:relative;overflow:hidden}.guide-chip-face img{object-fit:cover;width:100%;height:100%;transform:scale(1.16)translateY(4%)}.guide-chip-status{border:2px solid var(--card);background:#3f8f5f;border-radius:50%;width:12px;height:12px;position:absolute;bottom:1px;right:1px}.guide-chip-copy{gap:1px;padding-right:4px;display:grid}.guide-chip-copy strong{color:var(--green-deep);font-size:13.5px;font-weight:700;line-height:1.3}.guide-chip-copy span{color:var(--muted);font-size:12.5px;line-height:1.3}.guide-chip .row-arrow{width:30px;height:30px}.guide-chip:hover .row-arrow{background:var(--green);border-color:var(--green);color:#fff}.guide{width:100%;position:relative}.guide-portrait{aspect-ratio:3/4;border-radius:var(--r-md);border:1px solid var(--line);background-image:url(/assets/dobri-guide-character-sheet.webp);background-position:36% 80%;background-size:420%;width:100%}.guide-portrait.explaining,.guide-portrait.excited{background-position:79% 80%}.guide-portrait.thoughtful,.guide-portrait.concerned{background-position:57% 80%}.guide-portrait.amused,.guide-portrait.friendly,.guide-portrait.neutral,.guide-portrait.deadpan{background-position:36% 80%}.guide-caption{gap:1px;padding:12px 2px 0;display:grid}.guide-caption strong{font-family:var(--serif);color:var(--green-deep);font-size:19px}.guide-caption span:last-child{color:var(--muted);font-size:13px}.guide .provenance{letter-spacing:.06em;color:var(--faint);margin-top:8px;font-size:11px;display:block}.guide-aside{font-family:var(--serif);color:var(--muted);margin:18px 0 0;font-size:15px;font-style:italic}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:4px;padding:72px 24px;display:grid}.empty-state svg{color:var(--sage);margin-bottom:12px}.empty-state h1,.empty-state h2{margin-bottom:8px}.empty-state p{max-width:460px}.empty-state .button{margin-top:14px}.guide-ai{font:8px/1.3 var(--sans);color:var(--green-deep);background:var(--paper);border-radius:2px;padding:0 3px;position:absolute;bottom:0;left:12px}.guide-chip .chip-expression{background-position:36.5% 82%;background-size:760%}.guide-chip .chip-expression.thoughtful,.guide-chip .chip-expression.concerned{background-position:58% 82%}.guide-chip .chip-expression.explaining,.guide-chip .chip-expression.excited{background-position:81% 82%}
.hero-band-copy .hero-actions{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.hero-note{color:var(--muted);margin:0;font-size:14px}.home-start{padding-top:44px;padding-bottom:72px}.start-cards{grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:78px;display:grid}.start-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);align-items:center;gap:20px;padding:14px 18px 14px 14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.start-card:hover{box-shadow:var(--shadow-md);border-color:var(--sage);transform:translateY(-2px)}.start-card .art{border-radius:var(--r-sm);flex-shrink:0;width:118px}.start-card h3{margin:0;font-size:26px}.start-card-detail{display:none}.start-card .row-arrow{margin-left:auto}.start-card:hover .row-arrow{background:var(--green);border-color:var(--green);color:#fff}.lesson-cards{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.lesson-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.lesson-card:hover{box-shadow:var(--shadow-md);border-color:var(--sage);transform:translateY(-3px)}.lesson-card.is-locked .card-visual{opacity:.74;filter:grayscale(.35)}.card-visual{position:relative}.card-visual .art{border-radius:0}.card-number{font-family:var(--serif);color:#fdfcf7;text-shadow:0 1px 10px #12301f8c;font-size:26px;position:absolute;top:12px;left:14px}.card-status{border-radius:var(--r-pill);color:var(--green-deep);letter-spacing:.06em;text-transform:uppercase;background:#fdfcf7eb;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;bottom:12px;left:12px}.lesson-card.is-done .card-status{background:var(--green);color:#fdfcf7}.card-content{flex-direction:column;flex:1;padding:16px 18px 18px;display:flex}.card-content h3{margin:8px 0 6px;font-size:19px}.card-content p{color:var(--muted);margin-bottom:16px;font-size:14px}.card-foot{border-top:1px solid var(--line-soft);color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;font-size:13px;display:flex}.card-foot>span{align-items:center;gap:7px;display:inline-flex}.lesson-card:hover .card-foot{color:var(--green-mid)}.explore-teaser{max-width:var(--shell);padding:20px var(--gutter) 84px;grid-template-columns:minmax(300px,38%) 1fr;align-items:center;gap:56px;margin:0 auto;display:grid}.explore-teaser-copy h2{margin-bottom:18px;font-size:clamp(30px,3.2vw,44px)}.explore-teaser-copy p{color:var(--muted);max-width:420px;font-size:16px}.teaser-note{color:var(--faint);margin-top:18px;font-size:13px;display:block}.explore-teaser-map{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);transition:transform .25s;display:block;overflow:hidden}.explore-teaser-map:hover{transform:translateY(-2px)}.explore-teaser-map .atlas-stage{border-radius:var(--r-lg);box-shadow:none}.returning-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:40px;display:grid}.strip-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:inherit;box-shadow:var(--shadow-sm);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;padding:12px;transition:border-color .15s,transform .15s;display:grid}a.strip-card:hover{border-color:var(--sage);transform:translateY(-2px)}.strip-media{border-radius:var(--r-sm);object-fit:cover;width:88px;height:66px}.strip-media.is-landmark{object-fit:contain;background:var(--paper-soft)}.strip-text{gap:3px;min-width:0;display:grid}.strip-card strong{font-family:var(--serif);color:var(--green-deep);font-size:17px;line-height:1.25}.strip-card small{color:var(--muted);font-size:13px}.strip-words{grid-template-columns:minmax(0,1fr);align-content:center}.strip-words ul{gap:4px;margin:4px 0 6px;padding:0;font-size:16px;list-style:none;display:grid}.home-principle{text-align:center;padding:64px var(--gutter) 76px;background:var(--paper-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-items:center;gap:12px;display:grid}.home-principle p{font-family:var(--serif);color:var(--muted);margin:0;font-size:clamp(20px,2.2vw,29px);line-height:1.45}.home-principle strong{color:var(--green-deep);font-weight:700}
.page-head{grid-template-columns:1fr minmax(240px,300px);align-items:end;gap:48px;margin-bottom:44px;display:grid}.page-head .page-intro{margin-bottom:0}.page-head-stat{gap:10px;padding:22px 24px;display:grid}.page-head-stat strong{font-family:var(--serif);color:var(--green-deep);font-size:40px;line-height:1}.page-head-stat strong small{color:var(--muted);margin-left:6px;font-size:17px}.page-head-stat .muted{font-size:13px}.curriculum-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);gap:0;display:grid;overflow:hidden}.curriculum-row{border-bottom:1px solid var(--line-soft);grid-template-columns:62px 1fr auto;align-items:center;gap:22px;padding:18px 26px;transition:background .15s;display:grid}.curriculum-row:last-child{border-bottom:none}a.curriculum-row:hover{background:var(--paper-soft)}.curriculum-number{background:var(--wash);width:46px;height:46px;color:var(--green-mid);font-family:var(--serif);border-radius:50%;place-items:center;font-size:17px;font-weight:700;display:grid}a.curriculum-row:hover .curriculum-number{background:var(--sage-soft)}.curriculum-row.is-done .curriculum-number{background:var(--green);color:#fdfcf7}.curriculum-copy h2{margin:4px 0 3px;font-size:20px}.curriculum-copy small{color:var(--muted)}.curriculum-state{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.curriculum-row.is-done .curriculum-state{color:var(--green-mid)}.curriculum-row.unpublished{opacity:.6}.lesson-page{max-width:var(--shell);padding:0 var(--gutter) 80px;margin:0 auto}.lesson-topline{justify-content:space-between;align-items:center;gap:20px;padding:22px 0 18px;display:flex}.lesson-topline-right{align-items:center;gap:18px;display:flex}.save-state{color:var(--faint);font-size:12.5px}.lesson-layout{grid-template-columns:264px minmax(0,1fr) minmax(280px,380px);align-items:start;gap:44px;display:grid}.lesson-layout.wide-stage,.reader-layout.lesson-layout{grid-template-columns:264px minmax(0,1fr)}.lesson-rail{top:calc(var(--header-h) + 20px);align-content:start;gap:22px;display:grid;position:sticky}.lesson-back{color:var(--muted);align-items:center;gap:9px;font-size:14px;font-weight:600;transition:color .15s;display:inline-flex}.lesson-back:hover{color:var(--green-deep)}.lesson-rail-head h2{margin-bottom:12px;font-size:22px}.lesson-rail-progress{color:var(--muted);align-items:center;gap:12px;font-size:12.5px;display:flex}.lesson-rail-progress .meter{flex:1}.scene-rail{gap:2px;margin:0;padding:0;list-style:none;display:grid;position:relative}.scene-rail li>a,.scene-rail li>button{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--muted);align-items:center;gap:14px;padding:9px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.scene-rail li>a:hover,.scene-rail li>button:hover{background:var(--wash);color:var(--green-deep)}.scene-rail-num{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:var(--card);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:grid}.scene-rail li.current>a,.scene-rail li.current>button{background:var(--sage-soft);color:var(--green-deep);font-weight:600}.scene-rail li.current .scene-rail-num{background:var(--green);border-color:var(--green);color:#fdfcf7}.scene-rail li.done .scene-rail-num{background:var(--sage-soft);border-color:var(--sage);color:var(--green-mid)}.dialogue-paper,.reader-paper{background:0 0}.dialogue-paper h2,.reader-paper h1{letter-spacing:-.025em;margin:10px 0 14px;font-size:clamp(34px,4vw,58px)}.dialogue-paper h2:focus-visible{outline-offset:6px}.lesson-subtitle{font-family:var(--serif);color:var(--muted);margin-bottom:22px;font-size:clamp(19px,1.9vw,25px);line-height:1.35}.dialogue-paper hr{margin:26px 0 28px}.dialogue-paper .scene-content>p,.reader-paper .scene-content>p{color:var(--ink-soft);max-width:62ch;font-size:17px;line-height:1.72}.lesson-art{top:calc(var(--header-h) + 20px);border-radius:var(--r-md);box-shadow:var(--shadow-md);position:sticky}.scene-controls{border-top:1px solid var(--line);align-items:center;gap:18px;margin-top:42px;padding-top:26px;display:flex}.scene-controls .button.ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.scene-controls .button.ghost:hover:not(:disabled){color:var(--green-deep);background:var(--wash);box-shadow:none;transform:none}.scene-count{color:var(--faint);font-size:13px}.scene-controls .button:last-child{margin-left:auto}.reader-paper{max-width:760px}.reader-paper>section{border-top:1px solid var(--line);padding:34px 0}.reader-paper>section:first-of-type{border-top:none}.reader-paper .eyebrow{margin-bottom:8px}.completion-box{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-md);justify-items:start;gap:6px;margin-top:34px;padding:30px 32px;display:grid}.completion-box svg{color:var(--sage);margin-bottom:6px}.completion-box h3{margin-bottom:6px;font-size:25px}.completion-box p{color:var(--muted);margin-bottom:10px}.completion-box p a{color:var(--green-mid);margin-right:10px;font-weight:600}.completion-box .button{margin-top:10px}.reward-total{border-radius:var(--r-pill);background:var(--sage-soft);color:var(--green-deep);align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.lesson-sources{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);margin-top:56px;padding:20px 24px;font-size:14px}.lesson-sources summary{cursor:pointer;color:var(--ink-soft);font-weight:600}.lesson-sources p{margin:16px 0}.lesson-sources a{border-top:1px solid var(--line-soft);color:var(--green-mid);padding:10px 0;font-weight:600;display:block}.lesson-sources a small{color:var(--muted);font-weight:400;display:block}.rail-scenes-toggle{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);min-height:36px;color:var(--green-deep);align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:600;display:none}.rail-scenes-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.scene-content>p:last-child{margin-bottom:0}.compare-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin:26px 0;display:grid}.compare-grid.four{grid-template-columns:repeat(2,1fr)}.compare-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:22px 24px}.compare-panel h3{margin:10px 0 4px;font-size:19px}.compare-panel strong{color:var(--green-mid);margin-bottom:10px;font-size:13px;display:block}.compare-panel p{color:var(--muted);margin:0;font-size:14.5px}.choice-grid{gap:12px;margin:26px 0 18px;display:grid}.choice-grid button{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:var(--ink);align-items:center;gap:16px;padding:16px 20px;font-size:15.5px;transition:border-color .16s,background .16s,transform .16s;display:flex}.choice-grid button:hover:not(:disabled){border-color:var(--sage);transform:translate(2px)}.choice-grid button.chosen{border-color:var(--green);background:var(--sage-soft);color:var(--green-deep);opacity:1}.choice-grid button:disabled{opacity:.55}.choice-grid button.chosen:disabled{opacity:1}.choice-letter{background:var(--wash);width:30px;height:30px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.choice-grid button.chosen .choice-letter{background:var(--green);color:#fdfcf7}.choice-grid button small{color:var(--muted);margin-top:3px;font-size:13.5px;display:block}.choice-grid button svg:last-child{color:var(--green-mid);margin-left:auto}.feedback{background:var(--sage-soft);border-radius:var(--r-md);color:var(--green-deep);gap:14px;margin:22px 0;padding:18px 22px;font-size:15px;line-height:1.6;display:flex}.feedback:before{content:"";background:var(--green);border-radius:0 60%;flex-shrink:0;width:20px;height:20px;margin-top:2px;-webkit-mask:radial-gradient(circle at 50% 100%,#000 60%,#0000 61%) 50%/100% 100% no-repeat;mask:radial-gradient(circle at 50% 100%,#000 60%,#0000 61%) 50%/100% 100% no-repeat}.feedback strong{color:var(--green-mid)}.vocabulary-grid{gap:10px;margin:26px 0;display:grid}.vocabulary-grid details{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.vocabulary-grid summary{cursor:pointer;color:var(--green-deep);align-items:center;gap:12px;padding:15px 20px;font-weight:600;display:flex}.vocabulary-grid summary svg{color:var(--sage)}.native-text{font-family:var(--serif);color:var(--muted);margin-left:auto;font-weight:400}.vocabulary-grid p{color:var(--ink-soft);margin-bottom:12px;padding:0 20px}.vocabulary-grid small{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;padding:0 20px;font-size:11px;font-weight:700;display:block}.sort-exercise{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin:26px 0;overflow:hidden}.exercise-progress{background:var(--paper-soft);border-bottom:1px solid var(--line-soft);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 20px;font-size:12px;font-weight:700}.sort-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;padding:13px 20px;display:flex}.sort-row:last-of-type{border-bottom:none}.sort-row strong{font-size:15.5px;font-weight:500}.sort-row>div{gap:8px;display:flex}.sort-row button{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-soft);color:var(--ink-soft);padding:8px 16px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.sort-row button:hover{border-color:var(--sage);background:var(--sage-soft)}.sort-success{color:var(--green-mid);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.sort-exercise .feedback{border-radius:0;margin:0}.adaptation-diagram,.cycle-diagram{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-md);margin:26px 0;padding:24px}.adaptation-choices{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.adaptation-choices button{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink-soft);justify-items:center;gap:10px;padding:18px 10px;font-size:13.5px;font-weight:600;transition:border-color .16s,transform .16s;display:grid}.adaptation-choices button svg{color:var(--sage)}.adaptation-choices button:hover{border-color:var(--sage);transform:translateY(-2px)}.adaptation-choices button.chosen{border-color:var(--green);background:var(--sage-soft);color:var(--green-deep)}.adaptation-choices button.chosen svg{color:var(--green)}.adaptation-path{background:var(--card);border:1px dashed var(--line);border-radius:var(--r-md);color:var(--ink-soft);align-items:center;gap:12px;margin-top:18px;padding:14px 18px;font-size:14.5px;display:flex}.adaptation-path svg{color:var(--sage)}.provenance{color:var(--faint);margin-top:12px;font-size:11.5px;display:block}.cycle-diagram{flex-wrap:wrap;align-items:center;gap:10px 6px;display:flex}.cycle-diagram>div{align-items:center;gap:8px;display:inline-flex}.cycle-diagram span{background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 15px;font-size:13.5px;font-weight:500;display:inline-block}.cycle-diagram svg{color:var(--faint)}.tone-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin:26px 0;display:grid}.tone-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin:0;overflow:hidden}.tone-art{background:linear-gradient(170deg,#e3ecdf,#f2efe4);place-items:center;height:150px;display:grid;position:relative}.tone-panel.brutal .tone-art{background:linear-gradient(170deg,#2c3a34,#1a2620)}.tone-sky{color:var(--gold);position:absolute;top:18px;right:22px}.tone-panel.brutal .tone-sky{color:#9fb0c4}.tone-art .tree{color:var(--sage);width:46px;height:46px;position:absolute;bottom:14px}.tone-panel.brutal .tone-art .tree{color:#46564c}.tree-one{left:16%}.tree-two{right:16%}.tone-door{color:var(--green-mid);width:48px;height:48px}.tone-panel.brutal .tone-door{color:#c9d3cb}.tone-panel figcaption{gap:4px;padding:16px 20px 18px;display:grid}.tone-panel figcaption strong{font-family:var(--serif);color:var(--green-deep);font-size:17px}.tone-panel figcaption span{color:var(--muted);font-size:13.5px}.tone-panel figcaption small{color:var(--faint);font-size:11.5px}.media-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:26px 0;display:grid}.media-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin:0;overflow:hidden}.media-card-visual{aspect-ratio:16/9;background:var(--night);position:relative;overflow:hidden}.media-card-visual>.media-card-backdrop{object-fit:cover;filter:blur(22px)brightness(.62)saturate(1.15);position:absolute;inset:0;transform:scale(1.2)}.media-card-visual>img:not(.media-card-backdrop){position:relative}.media-card-visual>img,.media-card-visual>iframe{object-fit:cover;border:none;width:100%;height:100%;display:block}.media-source-badge{color:#fff;background:#12261de0;border:1px solid #ffffff4d;border-radius:5px;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:5px 8px;font-size:10px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex;position:absolute;bottom:8px;right:8px}.media-source-badge:hover{background:var(--green-deep);text-decoration:underline}.media-source-badge:focus-visible{outline:3px solid var(--green-mid);outline-offset:3px}.media-title-card{aspect-ratio:16/9;color:var(--green-deep);align-content:end;gap:6px;padding:22px 24px;display:grid;position:relative;overflow:hidden}.media-title-card:before{content:"";pointer-events:none;border:1px solid #12301f47;border-radius:6px;position:absolute;inset:10px}.media-title-card-name{font-family:var(--serif);text-wrap:balance;font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.1}.media-title-card-kicker{font-size:14px;font-weight:600}.media-title-card-host{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700;position:absolute;top:20px;left:24px}.media-card .button{margin:16px 18px 0}.media-card figcaption{gap:6px;padding:16px 18px 18px;display:grid}.media-card figcaption h4{font-family:var(--serif);text-transform:none;letter-spacing:0;color:var(--green-deep);margin:0;font-size:16px;font-weight:700}.media-card figcaption p,.media-card figcaption small{color:var(--muted);margin:0;font-size:13px}.media-card figcaption a{color:var(--green-mid);align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:inline-flex}.region-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:26px 0;display:grid}.region-cards>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px}.region-cards>div>span{font-family:var(--serif);font-size:15px;font-weight:700}.region-cards h3{margin:8px 0 6px;font-size:18px}.region-cards p{color:var(--muted);margin:0;font-size:14px}
.map-page{padding-top:40px}.genre-map{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:40px;display:grid}.genre-map.compact{display:block}.map-rail{top:calc(var(--header-h) + 24px);align-content:start;gap:24px;display:grid;position:sticky}.map-rail-head h1{margin-bottom:6px;font-size:clamp(38px,4.4vw,62px)}.map-rail-head .lede{font-family:var(--serif);color:var(--muted);margin:0;font-size:24px}.region-rail{gap:8px;display:grid}.region-rail button{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--ink-soft);box-shadow:var(--shadow-sm);align-items:center;gap:13px;padding:13px 16px;font-size:15px;font-weight:500;transition:border-color .16s,background .16s,transform .16s;display:flex}.region-rail button span{text-align:left;flex:1}.region-rail button svg:last-child{color:var(--faint)}.region-rail button:hover{border-color:var(--sage);transform:translate(2px)}.region-rail button.selected{background:var(--green);border-color:var(--green);color:#fbfaf5}.region-rail button.selected svg{color:#fbfaf5!important}.region-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.region-tabs button{background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink-soft);align-items:center;gap:8px;padding:8px 15px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.region-tabs button i{border-radius:50%;width:9px;height:9px}.region-tabs button:hover{border-color:var(--sage)}.region-tabs button.selected{background:var(--green);border-color:var(--green);color:#fbfaf5}.map-toolbar{gap:14px;margin-bottom:16px;display:flex}.map-toolbar .search-field{flex:1}.map-view-switch{align-self:center}.map-hint{background:var(--sage-soft);border-radius:var(--r-md);color:var(--green-deep);margin-bottom:16px;padding:14px 18px;font-size:14.5px}.map-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:20px;display:grid}.map-surface{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.spatial-scroll{height:min(72vh,720px);overflow:auto}.map-surface.list-view .spatial-scroll{display:none}.spatial-canvas{position:relative}.map-art{z-index:0;width:100%;height:100%;position:absolute;inset:0}.map-art.art-empty{background:linear-gradient(165deg,#e8eff2,#f3f1e7 55%,#e3eade)}.spatial-canvas:before{content:"";z-index:1;pointer-events:none;background:#faf8f238;position:absolute;inset:0}.spatial-canvas>svg{z-index:1;position:absolute;inset:0}.spatial-canvas line{stroke:#2d4e3c47;stroke-width:1px;stroke-dasharray:4 5}.spatial-canvas line.active-edge{stroke:var(--green);stroke-width:1.6px;stroke-dasharray:none}.graph-node{z-index:2;border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-md);color:var(--green-deep);white-space:nowrap;background:#fffefbf2;align-items:center;gap:8px;padding:7px 13px;font-size:13.5px;font-weight:600;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.graph-node:hover{border-color:var(--sage);transform:translate(-50%,-50%)scale(1.05)}.graph-node i{border:1.5px solid var(--node-color);background:0 0;border-radius:50%;width:9px;height:9px}.graph-node i.discovered{background:var(--node-color)}.graph-node.selected{background:var(--green);border-color:var(--green);color:#fbfaf5;z-index:3}.graph-node svg{color:var(--rose)}.map-list{max-height:min(72vh,720px);display:none;overflow:auto}.map-surface.list-view .map-list{display:block}.map-list button{border-bottom:1px solid var(--line-soft);text-align:left;align-items:center;gap:14px;width:100%;padding:14px 20px;transition:background .14s;display:flex}.map-list button:hover{background:var(--paper-soft)}.map-list button i{border-radius:50%;flex-shrink:0;width:10px;height:10px}.map-list button>span{font-size:15px;font-weight:500;display:grid}.map-list button small{color:var(--faint);text-transform:capitalize;font-size:12px}.map-list button svg{color:var(--faint);margin-left:auto}.map-list p{color:var(--muted);margin:0;padding:24px}.zoom-controls,.map-legend{z-index:4;border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:var(--muted);background:#fffefbf0;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:inline-flex;position:absolute;bottom:16px}.zoom-controls{right:16px}.zoom-controls button{width:28px;height:28px;color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.zoom-controls button:hover{background:var(--wash)}.map-legend{gap:14px;padding:8px 16px;left:16px}.map-surface.list-view .zoom-controls,.map-surface.list-view .map-legend{display:none}.node-drawer{top:calc(var(--header-h) + 24px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);max-height:min(72vh,720px);box-shadow:var(--shadow-sm);padding:24px;position:sticky;overflow:auto}.node-drawer h3{margin-bottom:8px;font-size:26px}.node-drawer h4{margin-top:22px}.node-drawer p{color:var(--ink-soft);font-size:14.5px}.state-label{border-radius:var(--r-pill);background:var(--wash);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-block}.nearby-links{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.nearby-links button{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--green-mid);align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.nearby-links button:hover{border-color:var(--sage);background:var(--sage-soft)}.drawer-note{background:var(--paper-soft);border-radius:var(--r-md);margin:22px 0;padding:16px 18px}.drawer-note p{font-family:var(--serif);color:var(--green-deep);margin:8px 0 10px;font-size:15px}.drawer-note a{color:var(--green-mid);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.example-link{border-top:1px solid var(--line-soft);color:var(--green-deep);padding:12px 0;font-weight:600;display:block}.example-link small{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.drawer-empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:40px 10px;display:grid}.drawer-empty svg{color:var(--sage);margin-bottom:8px}.drawer-empty h3{font-size:22px}.drawer-empty p{font-size:14px}.locked-map{grid-template-columns:minmax(300px,40%) 1fr;align-items:center;gap:48px;display:grid}.locked-map-copy p{color:var(--muted);max-width:440px;margin:22px 0 24px;font-size:16px}.locked-map-note{color:var(--faint);align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.map-preview{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:linear-gradient(165deg,#e9eff1,#f3f1e7 55%,#e4ebdf);position:relative;overflow:hidden}.map-preview svg{fill:none;stroke:#2d4e3c4d;stroke-width:1px;stroke-dasharray:4 6;width:100%;height:100%;position:absolute;inset:0}.preview-node{border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:var(--green-deep);white-space:nowrap;background:#fffefbf2;align-items:center;gap:8px;padding:6px 13px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.preview-node i{background:var(--sage);border-radius:50%;width:8px;height:8px}.preview-node.action i{background:#d99763}.preview-node.fantasy i{background:#93b89d}.preview-node.everyday i{background:#c7b184}.preview-node.quiet{box-shadow:none;color:var(--muted);background:0 0;border-style:dashed;font-style:italic;font-weight:400}.preview-node.quiet i{background:var(--faint)}.map-coordinate{letter-spacing:.16em;color:var(--faint);font-size:10.5px;position:absolute;bottom:16px;left:18px}.map-compass{color:#2d4e3c4d;position:absolute;bottom:18px;right:20px}.region-atlas{max-width:1320px;margin:0 auto}.atlas-top{justify-content:space-between;align-items:center;gap:32px;display:flex}.atlas-top h1{margin:6px 0 10px;font-size:clamp(38px,4vw,58px)}.atlas-top p{color:var(--muted);margin:0}.atlas-top .search-field{flex-shrink:0;width:320px}.atlas-top .search-field input{min-width:0}.atlas-top .search-field button{place-items:center;display:grid}.atlas-breadcrumb{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 0;padding:24px 0;font-size:13px;display:flex}.atlas-breadcrumb button{color:var(--green)}.atlas-breadcrumb [aria-current=page]{color:var(--green-deep);font-weight:700}.atlas-intro{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.atlas-intro h2{margin:0;font-size:24px}.atlas-intro>span{color:var(--muted);font-size:13px}.atlas-regions{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.atlas-region{border-radius:var(--r-md);isolation:isolate;text-align:left;color:#fff;background:var(--green-deep);height:235px;position:relative;overflow:hidden}.atlas-region-fantasy{grid-column:span 2}.atlas-region .art{z-index:-2;width:100%;height:100%;transition:transform .25s;position:absolute;inset:0}.atlas-region:after{content:"";z-index:-1;background:linear-gradient(#091e181f 20%,#091e18e0 100%);position:absolute;inset:0}.atlas-region:hover .art{transform:scale(1.035)}.atlas-region:focus-visible{outline:3px solid var(--green);outline-offset:4px}.atlas-region-number{background:#132c2380;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid;position:absolute;top:15px;left:18px}.atlas-region-copy{gap:5px;display:grid;position:absolute;bottom:20px;left:20px;right:35px}.atlas-region-copy strong{font-family:var(--serif);font-size:23px;line-height:1.2}.atlas-region-copy>span{color:#f1f3ec;font-size:13px;line-height:1.4}.atlas-region-copy small{color:#e2ebdf;margin-top:5px;font-size:11px}.atlas-region-arrow{position:absolute;bottom:22px;right:16px}.atlas-footnote{text-align:center;max-width:760px;color:var(--muted);margin:24px auto 0;font-size:14px}.atlas-region-banner{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);grid-template-columns:1fr 42%;min-height:180px;margin-bottom:28px;display:grid;overflow:hidden}.atlas-region-banner>div:first-child{padding:24px 28px}.atlas-region-banner h2{margin:16px 0 6px;font-size:34px}.atlas-region-banner p{color:var(--muted);margin:0}.atlas-region-banner .art{height:100%;max-height:230px}.atlas-region-banner .art img{object-position:center 45%}.atlas-exploration{align-items:start;gap:28px;display:grid}.atlas-exploration.has-selection{grid-template-columns:minmax(0,1fr) minmax(320px,40%)}.atlas-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.has-selection .atlas-results{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-results>button{border:1px solid var(--line);border-radius:var(--r-sm);text-align:left;background:var(--card);flex-direction:column;align-items:stretch;gap:10px;padding:20px;display:flex}.atlas-results>button:hover{border-color:var(--sage)}.atlas-results>button[aria-pressed=true]{border-color:var(--green);background:var(--sage-soft)}.atlas-path-title{color:var(--green-deep);align-items:center;gap:8px;display:flex}.atlas-path-title strong{font-family:var(--serif);font-size:18px}.atlas-results>button>span:nth-child(2){color:var(--ink-soft);font-size:13px}.atlas-results small{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:11px;display:flex}.region-atlas .atlas-detail{top:calc(var(--header-h) + 18px);max-height:none;padding:28px;position:sticky;overflow:visible}.atlas-detail h3{scroll-margin-top:calc(var(--header-h) + 24px);font-size:32px}.atlas-interest{width:100%;margin-top:24px}.atlas-connections{margin:8px 0 24px;display:grid}.atlas-connections button{border-bottom:1px solid var(--line);text-align:left;color:var(--green);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.atlas-connections button>span{gap:2px;display:grid}.atlas-connections small{color:var(--muted);font-size:11px;font-weight:400}.atlas-no-results{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:32px}@media (max-width:1000px){.atlas-regions{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-region-fantasy{grid-column:auto}.atlas-region-passion{grid-column:span 2}.atlas-top{align-items:flex-start}.atlas-top .search-field{width:260px}}@media (max-width:900px){.atlas-exploration.has-selection{grid-template-columns:1fr}.region-atlas .atlas-detail{position:static}.atlas-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.atlas-top{gap:20px;display:grid}.atlas-top .search-field{width:100%}.atlas-intro{flex-direction:column;align-items:flex-start;gap:6px}.atlas-intro h2{font-size:22px}.atlas-regions{grid-template-columns:1fr;gap:12px}.atlas-region,.atlas-region-passion{grid-column:auto;height:185px}.atlas-region-copy strong{font-size:25px}.atlas-region-banner{grid-template-columns:1fr}.atlas-region-banner .art{grid-row:1;height:130px}.atlas-region-banner h2{font-size:28px}.atlas-results,.has-selection .atlas-results{grid-template-columns:1fr}.region-atlas .atlas-detail{padding:22px}}.atlas-return{margin-bottom:20px}.continent-map{border-radius:var(--r-md);background:#e3eeea;border:1px solid #b7c8c0;overflow:hidden}.continent-scroll{overscroll-behavior-x:contain;overflow-x:auto}.continent-chart{background:radial-gradient(at 50% 45%,#f0f3e7,#dae9e5);width:100%;min-width:0;height:auto;display:block}.continent-region{cursor:pointer;outline:none}.continent-region image{transition:filter .18s}.continent-border{fill:#0000;stroke:#f7f2df;stroke-width:4px;stroke-linejoin:round;transition:stroke .18s,fill .18s}.continent-region:hover image,.continent-region:focus-visible image{filter:saturate(1.15)brightness(1.08)}.continent-region:hover .continent-border,.continent-region:focus-visible .continent-border{stroke:#b58a4d;stroke-width:5px;fill:#fff6d410}.continent-region-label{pointer-events:none}.continent-region-label rect{fill:#fffbeeeb;stroke:#80795780;stroke-width:1px}.continent-region:hover .continent-region-label rect,.continent-region:focus-visible .continent-region-label rect{fill:#fff8df;stroke:var(--green);stroke-width:2px}.continent-region-label text{font:700 20px var(--serif);fill:#1b3d30;text-anchor:middle}.continent-region-label text.continent-path-count{font:11px var(--sans);fill:#516c5d;letter-spacing:.6px}.continent-ocean-labels text{font:italic 12px var(--serif);fill:#688a84;letter-spacing:2px}.continent-compass{fill:none;stroke:#55756b;stroke-width:1px}.continent-compass path:last-of-type{fill:#55756b}.continent-compass text{fill:#55756b;stroke:none;text-anchor:middle;font:14px var(--serif)}.continent-scale path{stroke:#688a84;fill:none}.continent-scale text{fill:#688a84;font:9px var(--sans);letter-spacing:1px}.continent-key{border-top:1px solid #b7c8c060;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:20px 20px 10px;display:flex}.continent-key button{color:var(--green);align-items:center;gap:7px;padding:5px 0;font-size:13px;display:inline-flex}.continent-key button:hover{text-decoration:underline}.continent-key i{border-radius:50%;width:9px;height:9px}.continent-caption{color:#536d60;text-align:center;margin:0;padding:6px 24px 22px;font-size:12px}@media (max-width:600px){.continent-key{grid-template-columns:1fr 1fr;gap:3px 14px;padding:15px;display:grid}.continent-key button{text-align:left;min-height:40px;font-size:12px}.continent-caption{text-align:left;padding:10px 16px 20px}}.continent-map.is-zoomed .continent-chart{width:150%;min-width:720px}.continent-tools{color:#536d60;border-bottom:1px solid #b7c8c060;justify-content:space-between;align-items:center;gap:14px;padding:10px 18px;font-size:12px;display:flex}.continent-tools button{color:var(--green);background:#f5f6ec;border:1px solid #a2b6ac;border-radius:5px;padding:8px 12px;font-weight:600}
.glossary-search{max-width:640px;min-height:58px;margin-top:10px}.glossary-page{padding-top:30px}.glossary-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:13.5px;display:flex}.glossary-filter{color:var(--muted);cursor:pointer;align-items:center;gap:9px;display:inline-flex}.glossary-table{border-top:1px solid var(--line)}.glossary-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,24%) 1fr 34px;gap:28px;padding:14px 4px;display:grid}.glossary-entry{border-bottom:1px solid var(--line-soft);transition:background .15s}.glossary-entry:hover,.glossary-entry.is-open{background:var(--paper-soft)}.glossary-row{text-align:left;grid-template-columns:minmax(180px,24%) 1fr 34px;align-items:center;gap:28px;width:100%;padding:16px 4px;display:grid}.glossary-row h2{align-items:baseline;gap:10px;margin:0;font-size:21px;display:flex}.glossary-row h2 .native-text{color:var(--faint);margin:0;font-size:14px}.glossary-row p{color:var(--ink-soft);margin:0;font-size:15px}.glossary-entry:hover .row-arrow{background:var(--green);border-color:var(--green);color:#fff}.glossary-entry.is-open .row-arrow{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(90deg)}.glossary-detail{grid-template-columns:minmax(180px,24%) 1fr;gap:28px;padding:0 4px 22px;display:grid}.glossary-detail>div:first-child{grid-column:2}.glossary-detail h4{margin-bottom:6px}.glossary-detail p{color:var(--muted);max-width:62ch;margin:0;font-size:14.5px}.glossary-meta{flex-wrap:wrap;grid-column:2;align-items:center;gap:20px;display:flex}.glossary-foot{font-family:var(--serif);color:var(--faint);margin:34px 0 0;font-style:italic}
.profile-hero .hero-band-copy h1{font-size:clamp(38px,4.6vw,68px)}.profile-identity{align-items:center;gap:16px;margin-top:22px;display:flex}.profile-avatar{border:3px solid var(--card);width:76px;height:76px;box-shadow:var(--shadow-md);background:var(--sage-soft);border-radius:50%;flex-shrink:0;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%;transform:scale(1.15)translateY(3%)}.profile-identity strong{font-family:var(--serif);color:var(--green-deep);font-size:22px;display:block}.profile-identity span{color:var(--muted);font-size:14.5px}.profile-page{padding-top:30px}.profile-stats{grid-template-columns:1.4fr 1fr 1fr 1.6fr;gap:20px;margin-bottom:28px;display:grid}.stat-icon{background:var(--sage-soft);width:44px;height:44px;color:var(--green-mid);border-radius:50%;place-items:center;display:grid}.stat-card{grid-template-columns:44px 1fr;align-items:center;gap:6px 16px;padding:22px 24px;display:grid}.stat-card .stat-icon{grid-row:span 2}.stat-card strong{font-family:var(--serif);color:var(--green-deep);align-self:end;font-size:34px;line-height:1}.stat-card>span:last-child{color:var(--muted);align-self:start;font-size:14px}.xp-panel{grid-template-columns:44px 1fr auto;align-items:center;gap:10px 16px;padding:22px 24px;display:grid}.xp-panel-copy h2{margin:0;font-size:20px}.xp-panel>strong{font-family:var(--serif);color:var(--green-deep);justify-self:end;font-size:26px}.xp-panel>strong small{color:var(--muted);margin-left:4px;font-size:13px}.xp-panel .meter,.xp-panel>small{grid-column:1/-1}.xp-panel>small{font-size:12.5px}.favourites{padding:18px 22px}.favourites-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.favourites-head .stat-icon{width:34px;height:34px}.favourites-head h2{margin:0;font-size:18px}.favourites-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.favourites-grid figure{margin:0}.favourites-grid figcaption{color:var(--muted);text-align:center;margin-top:7px;font-size:12.5px}.favourites p{margin:0;font-size:14px}.profile-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:24px;display:grid}.profile-main{gap:24px;display:grid}.panel-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.panel{padding:22px 24px 24px}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel-head h2{align-items:center;gap:10px;margin:0;font-size:21px;display:inline-flex}.panel-head h2 svg{color:var(--sage)}.panel p{font-size:14.5px}.completed-row{border-top:1px solid var(--line-soft);align-items:center;gap:14px;padding:10px 0;display:flex}.completed-row:first-of-type{border-top:none}.completed-thumb{border-radius:var(--r-sm);flex-shrink:0;width:74px}.completed-row>span{gap:2px;min-width:0;display:grid}.completed-row strong{color:var(--green-deep);font-size:15px}.completed-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.completed-check{background:var(--green);color:#fdfcf7;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.vocab-list{margin:0;padding:0;list-style:none}.vocab-list li{border-top:1px solid var(--line-soft);grid-template-columns:auto 1fr;align-items:baseline;gap:4px 14px;padding:10px 0;display:grid}.vocab-list li:first-child{border-top:none}.vocab-native{font-family:var(--serif);color:var(--green-deep);font-size:19px}.vocab-term{font-size:14px;font-weight:600}.vocab-gloss{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:13px;overflow:hidden}.continue-card{gap:6px;display:grid}.continue-card .art{margin-bottom:10px}.continue-card h3{margin:0;font-size:22px}.continue-card .row-arrow{justify-self:end;margin-top:-34px}.continue-card:hover .row-arrow{background:var(--green);border-color:var(--green);color:#fff}.compass-rose{justify-items:center;gap:8px;margin:4px 0 8px;display:grid}.compass-rose svg{width:min(100%,340px);height:auto;overflow:visible}.compass-rose .compass-ring{fill:none;stroke:var(--line);stroke-dasharray:3 5}.compass-rose .compass-ring.inner{fill:var(--paper-soft);stroke-dasharray:none}.compass-rose .compass-arm{stroke:var(--green-deep);stroke-width:1.2px;stroke-linejoin:round;transform-origin:170px 170px;transition:transform .2s}.compass-rose .compass-arm.is-empty{opacity:.45}.compass-rose a:hover .compass-arm,.compass-rose a:focus-visible .compass-arm{transform:scale(1.06)}.compass-rose a:focus-visible{outline:none}.compass-rose a:focus-visible .compass-label{text-decoration:underline}.compass-rose .compass-hub{fill:var(--amber-bright);stroke:var(--green-deep);stroke-width:1.5px}.compass-rose .compass-label{font:700 12.5px var(--sans);fill:var(--green-deep);text-anchor:middle}.compass-rose .compass-count{font:600 11px var(--sans);fill:var(--muted);text-anchor:middle}.compass-rose figcaption{text-align:center;max-width:44ch;color:var(--ink-soft);font-size:14px}.compass-panel .tags{margin-bottom:0}.account-panel{top:calc(var(--header-h) + 24px);padding:24px;position:sticky}.account-panel h2{font-size:22px}.account-panel h3{font-size:15px;font-family:var(--sans);margin:4px 0 12px;font-weight:700}.account-panel .button,.account-panel .email-login{width:100%;margin-bottom:12px}.account-panel .save-state{margin-bottom:8px;display:block}.setting{color:var(--ink-soft);cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.account-note{border-radius:var(--r-sm);color:#74522a;background:#f6ecdd;padding:12px 14px;font-size:13.5px}.account-delete{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:16px}.account-delete p{color:var(--muted);font-size:13.5px}.account-panel details{color:var(--muted);margin-top:16px;font-size:13px}.account-panel details button{color:var(--green-mid);margin-top:8px;font-weight:600}.email-login,.email-login form{gap:10px;display:grid}.email-login label{color:var(--ink-soft);font-size:14px;font-weight:600}.email-login input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);width:100%;min-height:44px;color:var(--ink);padding:10px 12px}.email-login input:focus-visible{outline:2px solid var(--green-mid);outline-offset:1px}.email-login .email-login-code{letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:22px}.email-login-sent{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:14px}.email-login small{color:var(--muted)}.email-login-actions{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.account-panel .email-login .button{margin-bottom:0}.name-setting{gap:8px;margin-bottom:18px;display:grid}.name-setting label{color:var(--ink);font-size:15px;font-weight:700}.name-setting-row{gap:8px;display:flex}.name-setting input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);min-width:0;min-height:42px;color:var(--ink);flex:1;padding:8px 12px}.name-setting input:focus-visible{outline:2px solid var(--green-mid);outline-offset:1px}.name-setting input[aria-invalid=true]{border-color:#8a2f24}.account-panel .name-setting .button{flex-shrink:0;width:auto;margin-bottom:0}.name-setting small{color:var(--muted)}.name-setting-error{color:#8a2f24;margin:0;font-size:13.5px;font-weight:600}.name-setting .text-button{justify-self:start;padding:2px 0}.name-setting-note{color:var(--green-mid);margin:0;font-size:13.5px}
.page.narrow h2{margin-top:40px;font-size:26px}.page.narrow p,.page.narrow li{color:var(--ink-soft);max-width:62ch;font-size:16px;line-height:1.75}.page.narrow ul{padding-left:20px}.page.narrow li{margin-bottom:8px}.source-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);gap:0;margin-top:20px;display:grid;overflow:hidden}.source-list a{border-bottom:1px solid var(--line-soft);gap:3px;padding:16px 22px;transition:background .15s;display:grid}.source-list a:last-child{border-bottom:none}.source-list a:hover{background:var(--paper-soft)}.source-list strong{font-family:var(--serif);color:var(--green-deep);font-size:16px}.source-list span{color:var(--green-mid);font-size:13px;font-weight:600}.source-list small{color:var(--muted)}.about-guide{float:right;width:220px;margin:0 0 24px 32px}@media (max-width:640px){.about-guide{float:none;width:min(220px,70%);margin:8px auto 24px}}
@media (max-width:1240px){:root{--gutter:28px}.start-cards{grid-template-columns:repeat(3,1fr);gap:16px}.start-card{flex-direction:column;align-items:flex-start;gap:14px}.start-card .art{width:100%}.start-card .row-arrow{position:absolute;bottom:16px;right:16px}.start-card{position:relative}.lesson-cards{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:232px minmax(0,1fr)}.lesson-art{display:none}.panel-grid,.profile-stats{grid-template-columns:repeat(2,1fr)}.genre-map{grid-template-columns:250px minmax(0,1fr);gap:26px}.map-workspace{grid-template-columns:minmax(0,1fr)}.node-drawer{max-height:none;position:static}}@media (max-width:1000px){:root{--header-h:68px}.site-header{grid-template-columns:1fr auto}.site-header nav{top:var(--header-h);padding:10px var(--gutter) 20px;background:var(--paper-soft);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;display:none;position:fixed;left:0;right:0}.site-header nav.open{display:flex}.site-header nav .nav-sheet-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:16px;display:flex}.site-header nav .nav-sheet-foot .button{border-radius:var(--r-pill);color:var(--on-night);border-bottom:0;padding:10px 18px}.nav-sheet-xp{color:var(--green-deep);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.nav-sheet-xp svg{color:var(--amber)}.site-header nav a{border-bottom:1px solid var(--line-soft);border-radius:0;padding:14px 4px}.site-header nav a:after{display:none}.site-header nav a[aria-current=page]{color:var(--green)}.mobile-menu{display:inline-flex}.brand-name{font-size:22px}.hero-band{padding:30px var(--gutter) 26px;grid-template-columns:1fr;gap:26px;min-height:0}.hero-band .art{border-radius:var(--r-md);min-height:240px;-webkit-mask-image:none;mask-image:none}.explore-teaser,.locked-map,.page-head{grid-template-columns:1fr;gap:28px}.page-head-stat{max-width:320px}.lesson-layout,.lesson-layout.wide-stage,.reader-layout.lesson-layout{grid-template-columns:1fr;gap:26px}.lesson-rail{border-bottom:1px solid var(--line);padding-bottom:22px;position:static}.scene-rail{grid-auto-columns:210px;grid-auto-flow:column;gap:6px;padding-bottom:8px;overflow-x:auto}.scene-rail li>a,.scene-rail li>button{align-items:center}.scene-rail li>a>span:last-child,.scene-rail li>button>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-topline{flex-wrap:wrap;gap:12px}.guide-chip.inline{justify-self:start;width:auto}.genre-map{grid-template-columns:1fr}.map-rail{position:static}.region-rail{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.profile-layout,.panel-grid{grid-template-columns:1fr}.account-panel{position:static}}@media (max-width:720px){:root{--gutter:18px}.reader-layout .lesson-rail{top:var(--header-h);z-index:5;margin-inline:calc(-1 * var(--gutter));padding:8px var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px;display:grid;position:sticky}.reader-layout .lesson-rail .lesson-back-label,.reader-layout .lesson-rail-head h2,.reader-layout .lesson-rail .guide-chip,.reader-layout .lesson-rail .provenance{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reader-layout .lesson-rail-head{grid-area:1/2;margin:0}.reader-layout .rail-scenes-toggle{grid-area:1/3;display:inline-flex}.reader-layout .lesson-rail .scene-rail{display:none}.reader-layout .lesson-rail.scenes-open .scene-rail{grid-column:1/-1;grid-auto-columns:auto;grid-auto-flow:row;max-height:55vh;display:grid;overflow:hidden auto}body{font-size:14.5px}.page{padding:32px var(--gutter) 72px}.header-xp,.lesson-topline .save-state{display:none}.brand-name{white-space:nowrap;font-size:19px}.brand-mark svg{width:24px;height:24px}.section-heading{flex-direction:column;align-items:flex-start;gap:14px}.start-cards,.lesson-cards,.compare-grid,.compare-grid.four,.tone-grid,.profile-stats,.favourites-grid{grid-template-columns:1fr}.adaptation-choices{grid-template-columns:repeat(2,1fr)}.hero-band-copy .hero-actions{flex-direction:column;align-items:stretch}.hero-band .art{min-height:200px}.glossary-head{display:none}.glossary-row,.glossary-detail{grid-template-columns:1fr 34px;align-items:start;gap:6px 14px}.glossary-row h2{grid-row:1}.glossary-row p,.glossary-detail>div:first-child,.glossary-meta{grid-column:1/-1}.scene-controls{flex-wrap:wrap;gap:12px}.scene-count{text-align:center;order:3;width:100%}.guide-chip{gap:0;padding:7px;bottom:14px;left:14px}.guide-chip:not(.inline) .guide-chip-copy,.guide-chip:not(.inline) .row-arrow{display:none}.guide-chip.inline{gap:14px;padding:8px 10px 8px 8px}.guide-chip.inline .guide-chip-copy,.guide-chip.inline .row-arrow{display:grid}.guide-chip.inline .row-arrow{place-items:center}footer{flex-direction:column;align-items:flex-start}footer>div{margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}@media print{.site-header,.guide-chip,.lesson-rail,footer,.scene-controls{display:none!important}body{background:#fff}}@media (max-width:720px){.header-search-results a{grid-template-columns:60px minmax(0,1fr);gap:4px 10px;display:grid}.header-search-results a>span:last-child{grid-column:2}}
.curriculum-tools{gap:20px;margin:26px 0;display:grid}.track-filters{flex-wrap:wrap;gap:8px;display:flex}.track-filters button{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);min-height:44px;padding:8px 17px}.track-filters button[aria-pressed=true]{background:var(--green);color:var(--paper-soft);border-color:var(--green)}.curriculum-search{max-width:420px;color:var(--ink-soft);gap:6px;font-size:13px;display:grid}.curriculum-search input{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-width:0;padding:12px 15px}.curriculum-copy p{color:var(--ink-soft);margin:5px 0 8px;font-size:14px}.learning-lab{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin:24px 0;padding:22px}.sequence-cards{gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.sequence-cards li{border:1px solid var(--line);background:var(--paper-soft);border-radius:var(--r-sm);align-items:center;gap:12px;padding:12px;display:flex}.sequence-cards strong{flex:1;min-width:0;font-size:14px}.sequence-actions{gap:4px;display:flex}.sequence-actions button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);width:44px;height:44px}.motion-lab>svg{width:100%;height:auto;color:var(--green);margin:20px 0;display:block}.motion-lab .segmented{flex-wrap:wrap;width:fit-content}.motion-lab .segmented button{white-space:normal;min-height:44px}.compass-results{border-top:1px solid var(--line);padding:20px 0 0}.compass-results h3{margin-top:0}.compass-results small{color:var(--muted);display:block}.compass-axis{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0}.compass-axis legend{padding-top:16px;font-weight:600}.compass-axis .segmented{flex-wrap:wrap;margin-top:8px}.compass-axis button{min-height:44px}.clue-cards{gap:12px;margin:20px 0;display:grid}.clue-cards button{background:var(--paper-soft);border:1px dashed var(--sage);border-radius:var(--r-sm);text-align:left;gap:10px;min-height:90px;padding:20px;display:grid}.clue-cards button[aria-expanded=true]{background:var(--sage-soft);border-style:solid}.clue-cards button span:last-child{color:var(--ink-soft);font-size:14px}@keyframes desk-enter{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:no-preference){html:not([data-reduced-motion=true]) .compass-results{animation:.22s ease-out desk-enter}}.activity-hint,.lesson-objectives{border-bottom:1px solid var(--line);margin:16px 0;padding-bottom:12px}.activity-hint summary,.lesson-objectives summary{cursor:pointer;min-height:32px;color:var(--green);font-weight:600}.scene-evidence{border-top:1px solid var(--line);color:var(--ink-soft);gap:8px;margin:18px 0;padding:14px 0;font-size:12px;display:grid}.scene-evidence a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.activity-objective{background:var(--sage-soft);border:1px solid var(--sage);border-radius:var(--r-sm);margin:18px 0;padding:16px 20px}.activity-objective ol{margin-bottom:0;padding-left:20px}.sound-toggle{min-height:44px;color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;display:inline-flex}.lesson-topline-right{flex-wrap:wrap}.review-head p{max-width:650px;color:var(--ink-soft)}.review-stage{isolation:isolate;min-height:clamp(560px, calc(100vh - var(--header-h) - 120px), 820px);border-radius:var(--r-lg);background:var(--night);align-items:end;margin-top:24px;padding:28px;display:grid;position:relative;overflow:hidden}.review-bg{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.review-stage:before{content:"";z-index:-1;background:linear-gradient(#0a0f180d 40%,#0a0f18b3);position:absolute;inset:0}.review-cast img{z-index:-1;aspect-ratio:683/1024;object-fit:contain;object-position:bottom;height:min(92%,760px);animation:.32s both vn-sprite-in;position:absolute;bottom:0}.review-friend{left:3%}.review-dobri{right:3%}.review-box{border-radius:var(--r-md);width:min(100%,780px);box-shadow:var(--shadow-lg);background:#fcf9f1f7;border:1px solid #1d46342e;gap:12px;margin:0 auto;padding:30px 30px 24px;display:grid;position:relative}.review-box h2{font-size:21px;line-height:1.45}.review-count{color:var(--muted);justify-self:end;font-size:12px;font-weight:700}.review-line{font-family:var(--serif);color:var(--ink);font-size:18px}.review-reply{border-left:3px solid var(--green);background:var(--paper-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;gap:6px;padding:12px 14px;display:grid}.review-reply p{color:var(--ink-soft);margin:0}.review-plate{font-family:var(--serif);color:var(--green);justify-self:start;font-weight:700}.review-box .recall-next{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:600px){.learn-page .curriculum-row{grid-template-columns:46px minmax(0,1fr);gap:8px 14px;padding:18px 16px}.learn-page .curriculum-number{grid-row:span 2}.learn-page .curriculum-state{grid-column:2}.learning-lab{padding:14px}.sequence-cards li{gap:8px;padding:8px}.sequence-actions{flex-direction:column}.sound-toggle span{display:none}.review-stage{min-height:0;padding:120px 12px 12px}.review-cast img{height:240px}.review-box{padding:26px 16px 16px}}.lab-stage .dialogue-paper{max-width:800px}
.vn-stage{--box:#fcf9f1f7;--box-line:#1d46342e;isolation:isolate;min-height:clamp(560px, calc(100vh - var(--header-h) - 40px), 880px);border-radius:var(--r-lg);background:var(--night);color:var(--on-night);cursor:default;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);margin-top:20px;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 80px -50px #0a0f18e6}.vn-bg{z-index:-2;background-position:50% 30%;background-size:cover;animation:.7s both vn-fade;position:absolute;inset:0}.vn-shade{z-index:-1;background:linear-gradient(#0a0f189e,#0a0f1800 18% 52%,#0a0f188c),radial-gradient(at 70% 40%,#0000 40%,#0a0f1859);position:absolute;inset:0}.vn-stage.is-wide .vn-shade{background:#0a0f188c}.vn-cast{z-index:0;pointer-events:none;position:absolute;inset:0}.vn-sprite{aspect-ratio:683/1024;height:min(94%,820px);transition:filter .3s,transform .3s,opacity .3s;position:absolute;bottom:0}.vn-sprite img{object-fit:contain;object-position:bottom;width:100%;height:100%;animation:.32s both vn-sprite-in}.vn-dobri{right:2%}.vn-friend{left:2%}.vn-sprite.is-listening{filter:brightness(.7)saturate(.85);transform:translateY(10px)scale(.985)}.vn-stage.has-panel .vn-friend{opacity:.55;transform:translate(-22%)}.vn-stage.is-wide .vn-sprite{opacity:0}.vn-topbar{z-index:4;align-items:center;gap:14px;padding:14px 18px;display:flex;position:relative}.vn-chip{width:36px;height:36px;color:var(--on-night);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1119249e;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.vn-chip:hover{background:#111924d9}.vn-where{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1119249e;align-items:center;gap:10px;min-width:0;padding:5px 14px 5px 5px;display:flex}.vn-episode{border-radius:var(--r-pill);background:var(--amber-bright);color:#2a1c06;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.vn-where h2{letter-spacing:0;color:var(--on-night);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;overflow:hidden}.vn-where h2:focus-visible{outline-offset:2px}.vn-pips{align-items:center;gap:2px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.vn-pips button{place-items:center;width:18px;height:24px;display:grid}.vn-pips button:before{content:"";background:#fbf7ee52;border-radius:2px;width:14px;height:4px;transition:background .2s,width .2s}.vn-pips button.done:before{background:#fbf7eeb3}.vn-pips button.current:before{background:var(--amber-bright);width:18px}.vn-pips button:hover:before{background:var(--on-night)}.vn-count{color:#fbf7eebf;font-variant-numeric:tabular-nums;font-size:12px}.vn-menu{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1119249e;align-items:center;gap:2px;padding:3px;display:flex}.vn-menu button{border-radius:var(--r-pill);color:var(--on-night);align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.vn-menu button:hover:not(:disabled){background:#fbf7ee24}.vn-menu button[aria-pressed=true]{background:var(--on-night);color:var(--ink)}.vn-menu button:disabled{opacity:.4}.vn-mode{border-left:1px solid #fbf7ee33;margin-left:4px;padding-left:4px;display:inline-flex}.vn-body{z-index:2;grid-template-columns:minmax(0,1fr);grid-template-areas:"impact""panel""box""controls";align-content:end;padding:0 24px 34px;display:grid;position:relative}.vn-impact{text-align:center;color:var(--on-night);pointer-events:none;grid-area:impact;place-self:center;justify-items:center;gap:14px;margin:0 0 7vh;display:grid}.vn-impact strong{font-family:var(--serif);letter-spacing:-.02em;text-shadow:0 6px 40px #0a0f18cc;font-size:clamp(46px,7.4vw,112px);font-weight:700;line-height:1;animation:.5s cubic-bezier(.2,1.35,.4,1) both vn-slam}.vn-impact strong:after{content:"";background:var(--amber-bright);border-radius:3px;width:46%;height:6px;margin:18px auto 0;animation:.5s .2s both vn-wipe;display:block}.vn-impact span{border-radius:var(--r-pill);letter-spacing:.14em;text-transform:uppercase;background:#0a0f18a8;padding:6px 14px;font-size:13px;font-weight:700}.vn-impact.is-flash{z-index:6;background:linear-gradient(#0000,#0a0f18b8 20% 80%,#0000);margin:0;padding:34px 20px;animation:2.2s both vn-flash;position:absolute;inset:12% 0 auto}.vn-panel{border-radius:var(--r-md);background:var(--box);width:min(660px,60%);max-width:100%;color:var(--ink);border:1px solid var(--box-line);grid-area:panel;justify-self:start;margin-bottom:18px;padding:22px 26px;animation:.35s both vn-rise;box-shadow:0 24px 50px -30px #0a0f18e6}.vn-panel .scene-content>:first-child{margin-top:0}.vn-panel .scene-content>:last-child{margin-bottom:0}.vn-panel .choice-grid{margin:0}.vn-panel .feedback{margin-bottom:0}.vn-box{border-radius:var(--r-md) var(--r-md) 0 0;background:var(--box);min-height:118px;color:var(--ink);border:1px solid var(--box-line);border-bottom:0;grid-area:box;padding:26px 30px 10px;position:relative;box-shadow:0 -10px 40px -30px #0a0f18cc}.vn-plate{background:var(--green);color:var(--on-night);font-family:var(--serif);border-radius:6px;padding:4px 16px 5px;font-size:15px;font-weight:700;position:absolute;top:-16px;left:26px;box-shadow:0 6px 14px -8px #0a0f18cc}.vn-plate.is-friend{background:#8a6b16}.vn-line{max-width:68ch;color:var(--ink);margin:0;font-size:clamp(17px,1.42vw,21px);line-height:1.62}.vn-ghost{visibility:hidden}.vn-box.is-narration .vn-line{font-family:var(--serif);color:var(--ink-soft);font-style:italic}.vn-box.is-impact .vn-line{color:var(--muted);font-size:15px}.vn-more{border-left:7px solid #0000;border-right:7px solid #0000;border-top:9px solid var(--amber);width:0;height:0;animation:1.1s ease-in-out infinite vn-bob;position:absolute;bottom:4px;right:26px}.vn-controls{border-radius:0 0 var(--r-md) var(--r-md);background:var(--box);color:var(--ink);border:1px solid var(--box-line);border-top:0;grid-area:controls;align-items:center;gap:14px;padding:10px 18px 16px 22px;display:flex}.vn-back{border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:600;display:inline-flex}.vn-back:hover:not(:disabled){background:var(--wash);color:var(--green-deep)}.vn-hint{text-align:right;color:var(--faint);flex:1;font-size:12.5px}.vn-next{min-height:44px;padding:10px 22px}.vn-stage.is-wide .vn-body{grid-template-areas:"impact""box""panel""controls";align-content:start}.vn-stage.is-wide .vn-box{border-radius:var(--r-md);border-bottom:1px solid var(--box-line);min-height:0;margin:12px 0 16px;padding-bottom:20px}.vn-stage.is-wide .vn-panel{justify-self:stretch;width:100%}.vn-stage.is-wide .vn-controls{border-radius:var(--r-md);border-top:1px solid var(--box-line);position:sticky;bottom:14px;box-shadow:0 16px 40px -18px #0a0f18e6}.vn-stage.is-titled .vn-body,.vn-stage.is-titled .vn-foot,.vn-stage.is-titled .vn-topbar>:not(.vn-chip){visibility:hidden}.vn-stage.ui-hidden .vn-topbar,.vn-stage.ui-hidden .vn-body,.vn-stage.ui-hidden .vn-foot{opacity:0;pointer-events:none}.vn-stage.ui-hidden .vn-sprite.is-listening{filter:none;transform:none}.vn-unhide{z-index:9;border-radius:var(--r-pill);color:var(--on-night);background:#111924bf;padding:8px 16px;font-size:13px;font-weight:600;position:absolute;bottom:18px;right:18px}.vn-foot{z-index:3;pointer-events:none;justify-content:space-between;gap:16px;display:flex;position:absolute;bottom:8px;left:26px;right:26px}.vn-foot small{color:#fbf7ee99;font-size:11px}.vn-log{z-index:7;background:var(--paper-soft);width:min(400px,100%);color:var(--ink);grid-template-rows:auto 1fr auto;gap:12px;padding:20px 22px;animation:.25s both vn-slide;display:grid;position:absolute;top:0;bottom:0;right:0;box-shadow:-30px 0 60px -30px #0a0f18e6}.vn-log-head{justify-content:space-between;align-items:center;display:flex}.vn-log-head strong{font-family:var(--serif);color:var(--green-deep);font-size:19px}.vn-log-head button{border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.vn-log-head button:hover{background:var(--wash)}.vn-log ol{align-content:start;gap:14px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.vn-log li p{color:var(--ink-soft);margin:2px 0 0;font-size:14.5px}.vn-log li.is-impact strong{font-family:var(--serif);color:var(--green-deep);font-size:18px}.vn-title-card{z-index:8;color:var(--on-night);background:linear-gradient(100deg,#0a0f18f0 0%,#0a0f18db 48%,#0a0f1859 100%);align-content:center;justify-items:start;gap:6px;padding:5% 7%;animation:.45s both vn-fade;display:grid;position:absolute;inset:0;overflow-y:auto}.vn-title-card h2{max-width:15ch;color:var(--on-night);margin:14px 0 6px;font-size:clamp(38px,5vw,74px)}.vn-title-sub{font-family:var(--serif);color:#fbf7eecc;margin:0;font-size:clamp(18px,1.7vw,23px);font-style:italic}.vn-title-meta{letter-spacing:.06em;color:var(--amber-bright);margin:10px 0 18px;font-size:13px;font-weight:600}.vn-goals{max-width:46ch;margin-bottom:26px}.vn-goals .tiny-label{color:#fbf7eea6}.vn-goals ul{color:#fbf7eeeb;gap:4px;margin:8px 0 0;padding-left:18px;display:grid}.vn-title-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.vn-title-actions .text-link{color:#fbf7eed9}.vn-title-tip{color:#fbf7ee8c;margin-top:26px;font-size:12px}.vn-eyecatch{z-index:8;color:var(--green-deep);background:#f3ead6;align-content:center;place-items:center;gap:18px;animation:1.8s both vn-eyecatch;display:grid;position:absolute;inset:0}.vn-eyecatch img{aspect-ratio:1;object-fit:cover;width:min(420px,70%);box-shadow:0 0 0 10px var(--green);border-radius:50%}.vn-eyecatch span{font-family:var(--serif);font-size:26px;font-style:italic}.vn-results{gap:20px;display:grid}.vn-results h3{margin:0;font-size:clamp(26px,2.4vw,34px)}.vn-results-head{justify-items:start;gap:6px;display:grid}.vn-results-head .eyebrow{color:var(--amber);margin:0}.vn-xp{font-family:var(--serif);color:var(--amber);font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin:6px 0 2px;font-size:44px;font-weight:700;line-height:1;display:inline-flex}.vn-level{border-radius:var(--r-sm);background:var(--paper);gap:8px;padding:14px 16px;display:grid}.vn-level>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vn-level strong{font-family:var(--serif);color:var(--green-deep)}.vn-level .meter>div{background:var(--amber);transition:width 1s .3s}.vn-level small{color:var(--muted)}.vn-words>div{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.vn-word{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);min-width:110px;box-shadow:var(--shadow-sm);gap:2px;padding:10px 14px;animation:.4s both vn-deal;display:grid}.vn-word:hover{border-color:var(--sage)}.vn-word strong{font-family:var(--serif);color:var(--green-deep)}.vn-word span{color:var(--muted);font-size:13px}.vn-takeaways ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.vn-takeaways li{color:var(--ink-soft);align-items:baseline;gap:8px;display:flex}.vn-takeaways li svg{color:var(--green-mid);transform:translateY(2px)}.vn-next-episode{isolation:isolate;border-radius:var(--r-md);color:var(--on-night);background-position:50%;background-size:cover;justify-items:start;gap:6px;padding:22px 24px;display:grid;position:relative;overflow:hidden}.vn-next-episode:before{content:"";z-index:-1;background:linear-gradient(90deg,#0a0f18eb,#0a0f1899);position:absolute;inset:0}.vn-next-episode .tiny-label{color:var(--amber-bright)}.vn-next-episode strong{font-family:var(--serif);font-size:22px;line-height:1.2}.vn-next-episode>span:not(.tiny-label):not(.button){color:#fbf7eecc}.vn-next-episode .button{background:var(--amber-bright);border-color:var(--amber-bright);color:#2a1c06;margin-top:8px}.vn-next-episode:hover .button{transform:translateY(-1px)}.vn-results-links{flex-wrap:wrap;gap:8px 22px;display:flex}.vn-missing{flex-wrap:wrap;gap:8px;display:flex}.vn-results.is-waiting p{color:var(--muted);margin:0}.sort-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-soft);text-align:center;justify-items:center;gap:12px;margin:18px;padding:26px 20px 22px;animation:.3s both vn-deal;display:grid;box-shadow:0 14px 30px -24px #16271d99}.sort-row.sort-card strong{font-family:var(--serif);color:var(--green-deep);font-size:clamp(24px,2.4vw,32px);font-weight:700}.sort-card>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sort-row.sort-card button{min-width:140px;padding:11px 22px;font-size:14.5px}.sort-piles{gap:10px;margin:0 18px 18px;display:grid}.sort-pile{border:1px dashed var(--line);border-radius:var(--r-sm);flex-wrap:wrap;align-content:start;gap:6px;min-height:74px;padding:10px 12px;display:flex}.sort-pile .tiny-label{width:100%}.sort-pile .sort-success{border-radius:var(--r-pill);background:var(--sage-soft);padding:3px 10px}@keyframes vn-fade{0%{opacity:0}}@keyframes vn-sprite-in{0%{opacity:0;transform:translateY(8px)}}@keyframes vn-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes vn-slam{0%{opacity:0;transform:scale(1.45)}}@keyframes vn-wipe{0%{width:0}}@keyframes vn-flash{0%{opacity:0}12%,80%{opacity:1}to{opacity:0}}@keyframes vn-bob{50%{transform:translateY(3px)}}@keyframes vn-slide{0%{opacity:0;transform:translate(30px)}}@keyframes vn-deal{0%{opacity:0;transform:translateY(10px)rotate(-2deg)}}@keyframes vn-eyecatch{0%{opacity:0;transform:scale(1.04)}15%,85%{opacity:1;transform:none}to{opacity:0}}@media (max-width:1100px){.vn-sprite{height:min(80%,680px)}.vn-panel{width:min(600px,64%)}.vn-menu>button span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vn-mode button{font-size:12px}}@media (max-width:860px){.vn-pips{display:none}.vn-count{margin-left:auto}}@media (max-width:720px){.vn-stage{--visual:clamp(240px, 40svh, 380px);min-height:calc(100svh - var(--header-h));margin:0 calc(-1 * var(--gutter));border-radius:0;grid-template-rows:auto auto 1fr}.vn-bg,.vn-shade{height:calc(var(--visual) + 62px);bottom:auto}.vn-shade{background:linear-gradient(to bottom, #0a0f188c, transparent 25%, transparent 70%, var(--night))}.vn-cast{height:calc(var(--visual) + 62px);bottom:auto;overflow:hidden}.vn-sprite{height:calc(var(--visual) * 1.5);top:58px;bottom:auto}.vn-dobri{right:-4%}.vn-friend{left:-6%}.vn-stage.has-panel .vn-friend{transform:none}.vn-stage.is-wide .vn-sprite{opacity:1}.vn-topbar{flex-wrap:wrap;gap:8px;padding:10px 12px}.vn-where{flex:1}.vn-count{display:none}.vn-menu{order:3;justify-content:space-between;width:100%}.vn-body,.vn-stage.is-wide .vn-body{padding:calc(var(--visual) - 60px) 12px 30px;grid-template-areas:"impact""box""panel""controls";align-content:start}.vn-impact{margin:0 0 18px}.vn-impact.is-flash{top:60px}.vn-box,.vn-stage.is-wide .vn-box{border-radius:var(--r-md);border-bottom:1px solid var(--box-line);min-height:0;margin:0 0 12px;padding:24px 18px 16px}.vn-line{font-size:16.5px}.vn-panel{width:100%;margin-bottom:12px;padding:18px 16px}.vn-controls,.vn-stage.is-wide .vn-controls{border-radius:var(--r-md);border-top:1px solid var(--box-line);padding:8px 10px 8px 8px;position:sticky;bottom:10px;box-shadow:0 16px 40px -18px #0a0f18e6}.vn-hint{display:none}.vn-next{margin-left:auto}.vn-title-card{background:#0a0f18eb;align-content:start;padding:28px 22px}.vn-foot{left:14px;right:14px}.sort-card{margin:12px}.sort-piles{margin:0 12px 12px}}@media (prefers-reduced-motion:reduce){.vn-impact.is-flash{animation:none!important}}[data-reduced-motion=true] .vn-impact.is-flash{animation:none!important}.vn-title-sound{border-radius:var(--r-pill);color:#fbf7eed9;border:1px solid #fbf7ee40;align-items:center;gap:8px;margin-top:14px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.vn-title-sound[aria-pressed=true]{background:#fbf7ee24}.vn-box.is-impact{min-height:0;padding:10px 30px 0}@media (hover:none){.vn-title-tip,.vn-hint{display:none}}.vn-box.is-asking{border-radius:var(--r-md);border-bottom:1px solid var(--box-line);padding-bottom:22px}.vn-ask{gap:8px;max-width:560px;margin-top:14px;animation:.35s both vn-rise;display:grid}.vn-ask .tiny-label{color:var(--muted)}.vn-ask-row{flex-wrap:wrap;gap:10px;display:flex}.vn-ask input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);min-width:0;min-height:48px;color:var(--ink);flex:220px;padding:10px 14px;font-size:17px}.vn-ask input:focus-visible{outline:2px solid var(--green-mid);outline-offset:1px}.vn-ask input[aria-invalid=true]{border-color:#8a2f24}.vn-ask .button{min-height:48px;padding:10px 20px}.vn-ask-note,.vn-ask-error{color:var(--muted);margin:0;font-size:13.5px}.vn-ask-error{color:#8a2f24;font-weight:600}.vn-ask-skip{justify-self:start;margin-top:2px;font-size:14px}@media (max-width:720px){.vn-box.is-asking{padding-bottom:18px}.vn-ask .button{flex:100%}}
.recall-next{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.home-hero{isolation:isolate;min-height:clamp(540px, calc(100vh - var(--header-h) - 40px), 760px);max-width:var(--shell);padding:40px var(--gutter);align-items:center;margin:0 auto;display:grid;position:relative;overflow:hidden}.home-hero-art{z-index:-1;background-position:70% 40%;background-size:cover;position:absolute;inset:0}.home-hero-art:after{content:"";background:linear-gradient(90deg,#f4f1e9e6 0%,#f4f1e98c 34%,#f4f1e900 52%);position:absolute;inset:0}.home-hero-art .art-provenance{z-index:1;position:absolute;bottom:10px;right:12px}.home-hero-copy{justify-items:start;gap:18px;max-width:560px;display:grid}.home-hero-copy h1{margin:0}.home-hero-dialogue{border-radius:var(--r-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fcf9f1f0;border:1px solid #1d463429;gap:18px;padding:28px 26px 22px;display:grid;position:relative;box-shadow:0 24px 50px -30px #16271d80}.home-hero-dialogue .vn-plate{top:-15px;left:22px}.home-hero-dialogue p{color:var(--ink);margin:0;font-size:17.5px;line-height:1.6}.home-hero-dialogue em{font-family:var(--serif)}.home-hero-dialogue .hero-actions{flex-wrap:wrap;gap:12px;display:flex}.home-hero .hero-note{border-radius:var(--r-pill);background:#fcf9f1cc;padding:4px 12px}.dobri-note{align-items:flex-end;gap:14px;display:flex}.dobri-note-face{background:var(--sage-soft);border:2px solid var(--card);width:76px;height:76px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;overflow:hidden}.dobri-note-face img{transform-origin:56% 0;width:100%;height:auto;transform:translateY(4%)scale(1.9)}.dobri-note-bubble{border-radius:var(--r-md) var(--r-md) var(--r-md) 4px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink-soft);gap:6px;padding:14px 18px;font-size:15px;display:grid;position:relative}.dobri-note-bubble p{margin:0}.dobri-note-name{font-family:var(--serif);color:var(--green);font-size:14px;font-weight:700}.dobri-note.is-night .dobri-note-bubble{background:#fcf9f1f2;border-color:#0000}.nav-lock{color:var(--faint);vertical-align:-1px;margin-left:5px}@media (max-width:720px){.home-hero{align-items:start;min-height:0;padding:0 0 28px}.home-hero-art{z-index:0;aspect-ratio:4/3;background-position:76% 30%;position:relative;inset:auto}.home-hero-art:after{background:linear-gradient(to bottom, transparent 60%, var(--paper) 100%)}.home-hero-copy{z-index:1;padding:0 var(--gutter);margin-top:4px;position:relative}.home-hero-dialogue .hero-actions{flex-direction:column;align-items:stretch}.dobri-note-face{width:60px;height:60px}}.learn-page .page-head .dobri-note{max-width:560px;margin-top:22px}.route{gap:34px;margin-top:8px;display:grid}.route-line{border-top:1px solid var(--line);grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:28px;padding-top:26px;display:grid}.route-head{top:calc(var(--header-h) + 20px);align-self:start;gap:6px;display:grid;position:sticky}.route-head h2{margin:0;font-size:26px}.route-head p{color:var(--muted);margin:0;font-size:14.5px}.route-stops{gap:8px;margin:0;padding:0;list-style:none;display:grid;position:relative}.route-stops:before{content:"";background:var(--line);border-radius:2px;width:3px;position:absolute;top:24px;bottom:24px;left:22px}.route-line.is-main .route-stops:before{background:var(--green);opacity:.35}.route-stops .curriculum-row{border-radius:var(--r-md);border:1px solid #0000;grid-template-columns:46px 92px minmax(0,1fr) auto;gap:18px;padding:12px 18px 12px 0;position:relative}.route-stops a.curriculum-row:hover{background:var(--card);border-color:var(--line)}.route-dot{z-index:1;background:var(--card);border:2px solid var(--line);width:46px;height:46px;font-family:var(--serif);color:var(--green-mid);border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:grid;position:relative}.route-thumb{aspect-ratio:16/10;border-radius:var(--r-sm);background-position:50%;background-size:cover;width:92px}.route-stops .curriculum-copy h3{margin:2px 0;font-size:19px}.curriculum-row.is-done .route-dot{background:var(--green);border-color:var(--green);color:var(--on-night)}.curriculum-row.is-recommended{background:var(--card);box-shadow:0 10px 30px -22px var(--amber);border-color:var(--amber-bright)!important}.curriculum-row.is-recommended .route-dot{background:var(--amber-bright);border-color:var(--amber-bright);color:#2a1c06;box-shadow:0 0 0 5px var(--amber-soft)}.route-pill{border-radius:var(--r-pill);background:var(--amber-soft);color:var(--amber);align-items:center;gap:6px;padding:6px 12px;font-weight:700;display:inline-flex}.curriculum-row.is-open .curriculum-state{color:var(--green-mid)}.curriculum-row.is-locked .route-thumb{filter:grayscale(.8)brightness(1.1);opacity:.55}.curriculum-row.is-locked .curriculum-copy,.curriculum-row.is-locked .curriculum-copy small{color:var(--muted)}.curriculum-row.is-locked .route-dot{color:var(--faint);border-style:dashed}@media (max-width:1000px){.route-line{grid-template-columns:1fr;gap:14px}.route-head{position:static}}@media (max-width:720px){.route-stops .curriculum-row{grid-template-columns:40px minmax(0,1fr);gap:4px 14px;padding:10px 10px 12px 0}.route-stops:before{left:19px}.route-dot{grid-row:span 2;align-self:start;width:40px;height:40px}.route-thumb{display:none}.route-stops .curriculum-state{white-space:normal;grid-column:2;font-size:12.5px}}.continent-fog{pointer-events:none;opacity:.92;transition:opacity .6s}.continent-region.is-foggy:hover .continent-fog,.continent-region.is-foggy:focus-visible .continent-fog{opacity:.7}.continent-map.is-locked .continent-region{cursor:default}.continent-map.is-locked .continent-key button:disabled{opacity:.6;cursor:default}.locked-map{grid-template-columns:minmax(280px,400px) minmax(0,1fr)}.locked-map-copy{justify-items:start;gap:18px;display:grid}.locked-map-copy .dobri-note{max-width:420px}.locked-map-preview{min-width:0}.locked-map-preview .continent-map{filter:saturate(.85)}@media (max-width:1000px){.locked-map{grid-template-columns:1fr}}.profile-avatar.is-initials{background:var(--green);color:var(--on-night);font-family:var(--serif);place-items:center;font-size:26px;font-weight:700;display:grid}.profile-avatar.is-initials img{transform:none}.profile-identity .profile-level{border-radius:var(--r-pill);background:var(--amber-soft);color:var(--amber);margin-top:4px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-block}.profile-stats{grid-template-columns:minmax(260px,1fr) minmax(0,2.6fr)}.stamp-card{padding:22px 24px}.stamp-card .panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stamp-card h2{margin:0;font-size:22px}.stamp-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.stamp-grid li{text-align:center;justify-items:center;gap:4px;display:grid}.stamp-grid img{aspect-ratio:1;filter:grayscale();opacity:.16;width:100%;max-width:96px;transition:opacity .3s,filter .3s,transform .3s}.stamp-grid li.is-inked img{filter:none;opacity:.92;transform:rotate(-6deg)}.stamp-grid li:nth-child(2n).is-inked img{transform:rotate(5deg)}.stamp-grid span{color:var(--ink-soft);font-size:12.5px;font-weight:600;line-height:1.25}.stamp-grid small{color:var(--muted);font-size:11.5px}.profile-main>.dobri-note,.episode-log{margin-bottom:20px}.episode-log ol{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin:14px 0 12px;padding:0;list-style:none;display:grid}.episode-log a,.episode-key span:before{aspect-ratio:1;border-radius:var(--r-sm);font-family:var(--serif);border:1px solid var(--line);background:var(--paper-soft);color:var(--faint);place-items:center;font-size:14px;font-weight:700;display:grid}.episode-log a:hover{border-color:var(--sage)}.episode-log a.is-done,.episode-key .is-done:before{background:var(--green);border-color:var(--green);color:var(--on-night)}.episode-log a.is-started,.episode-key .is-started:before{background:var(--amber-soft);border-color:var(--amber-bright);color:var(--amber)}.episode-log a.is-open,.episode-key .is-open:before{background:var(--card);color:var(--green-mid)}.episode-log a.is-locked,.episode-key .is-locked:before{border-style:dashed}.episode-key{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;font-size:12px;display:flex}.episode-key span{align-items:center;gap:6px;display:inline-flex}.episode-key span:before{content:"";border-radius:3px;width:12px;height:12px}@media (max-width:1240px){.profile-stats{grid-template-columns:1fr}}@media (max-width:720px){.stamp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.episode-log ol{grid-template-columns:repeat(6,minmax(0,1fr))}}.glossary-term{gap:4px;display:grid}@media (max-width:720px){.glossary-term{grid-row:1}}.term-state{font-family:var(--sans);letter-spacing:.04em;color:var(--faint);font-size:11.5px;font-weight:700}.term-state.is-learned{color:var(--green-mid)}.term-state.is-seen{color:var(--amber)}.glossary-group{border-bottom:2px solid var(--green);align-items:baseline;gap:12px;margin:26px 0 6px;padding-bottom:8px;font-size:18px;display:flex}.glossary-item:first-of-type .glossary-group{margin-top:8px}.glossary-order{margin-left:auto;margin-right:18px}.glossary-empty{justify-items:start;gap:18px;display:grid}.glossary-toolbar{flex-wrap:wrap}.profile-main .panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.profile-main .panel-grid{grid-template-columns:1fr}}.guide-sprite{aspect-ratio:3/4;border-radius:var(--r-md);background:linear-gradient(160deg, var(--sage-soft), var(--wash));overflow:hidden}.guide-sprite img{width:100%;height:auto;transform:translateY(4%)}.chip-sprite{transform-origin:56% 0;width:100%;height:auto;transform:translateY(2%)scale(1.9)}.empty-state .dobri-note{text-align:left;justify-content:center;margin:8px 0 24px}@media (max-width:720px){.glossary-row .row-arrow{grid-area:1/2}}
