:root{--bg: #04060c;--bg-2: #080d18;--panel: rgba(14, 21, 36, .78);--panel-solid: #0e1524;--raise: #151f33;--line: rgba(148, 178, 214, .16);--line-strong: rgba(148, 178, 214, .32);--text: #e9eef6;--muted: #98a6bb;--dim: #6e7c92;--copper: #e2783c;--copper-2: #f4a868;--copper-ink: #1c0d04;--teal: #62d6cf;--teal-dim: rgba(98, 214, 207, .14);--good: #6fdc9a;--bad: #ff8a7a;--radius: 14px;--radius-s: 9px;--font: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;--display: "Segoe UI Variable Display", "Avenir Next", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, "Roboto Mono", monospace;--shadow: 0 18px 50px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font:16px/1.6 var(--font);color:var(--text);min-height:100vh;background:radial-gradient(1200px 700px at 85% -10%,rgba(226,120,60,.1),transparent 60%),radial-gradient(900px 600px at -10% 20%,rgba(98,214,207,.06),transparent 60%),var(--bg);background-attachment:fixed}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1;outline:none}h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0 0 .5em;font-weight:650;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(1.8rem,4vw,2.7rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 1em}a{color:var(--copper-2);text-underline-offset:3px}a:hover{color:#ffd0a3}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;background:var(--copper);color:var(--copper-ink);padding:8px 14px;border-radius:8px;z-index:100;font-weight:600}.skip:focus{top:12px}.muted{color:var(--muted)}.fine{color:var(--dim);font-size:.85rem}.empty{color:var(--muted);padding:1.5rem 0}.kaor{font-family:var(--mono);color:var(--copper-2);letter-spacing:.01em}.kaor.big,.big{font-size:1.45rem;line-height:1.3}.kaor b{color:var(--teal);font-weight:600}.kicker{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 .6rem;font-weight:600}.lead{color:var(--muted);font-size:1.06rem;max-width:62ch}.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.2rem;padding:.7rem clamp(1rem,4vw,2.5rem);background:#04060cd1;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.top.over{background:linear-gradient(#04060cd9,#04060c59);border-bottom-color:transparent}.brand{display:flex;align-items:center;gap:.6rem;font:700 1.05rem var(--display);letter-spacing:.32em;color:var(--text);text-decoration:none}.brand-mark{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffc08a,var(--copper) 55%,#6b2a10);box-shadow:0 0 0 3px #e2783c2e,0 0 18px #e2783c80}.top nav{display:flex;align-items:center;gap:.2rem;margin-left:auto;flex-wrap:wrap}.top nav a{color:var(--muted);text-decoration:none;padding:.4rem .7rem;border-radius:8px;font-size:.92rem}.top nav a:hover{color:var(--text);background:#ffffff0d}.top nav a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--copper);border-radius:8px 8px 0 0}.pass-link{border:1px solid var(--line);margin-left:.4rem}.pass-link b{color:var(--copper-2);font-weight:600;margin-left:.3rem}.lang{display:flex;margin-left:.5rem;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lang button{background:none;border:0;padding:.3rem .55rem;font-size:.78rem;color:var(--muted);cursor:pointer;letter-spacing:.06em}.lang button.on{background:var(--teal-dim);color:var(--teal)}.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;width:42px;height:38px;cursor:pointer;font-size:1.1rem}@media(max-width:1000px){.menu-btn{display:block}.top nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:.6rem 1rem 1rem;background:#060911fa;border-bottom:1px solid var(--line)}.top nav.open{display:flex}.top nav a{padding:.8rem .6rem;font-size:1rem}.top nav a.on{box-shadow:inset 3px 0 0 var(--copper);border-radius:0 8px 8px 0}.lang{align-self:flex-start;margin:.6rem 0 0}.pass-link{margin:.4rem 0 0}}.page{max-width:1120px;margin:0 auto;padding:clamp(1.4rem,4vw,3rem) clamp(1rem,4vw,2rem) 4rem}.page-head{margin-bottom:1.6rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2.5vw,1.6rem);margin-bottom:1.2rem;backdrop-filter:blur(6px)}.panel.error{border-color:#ff8a7a66}.section{max-width:1120px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem) 0}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.two>.panel{margin:0}.stack{display:grid;gap:.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.62rem 1.15rem;border-radius:10px;border:1px solid var(--line-strong);background:#ffffff0a;color:var(--text);text-decoration:none;cursor:pointer;font-weight:600;font-size:.95rem;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:#ffffff17;border-color:var(--teal);color:var(--text)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,var(--copper-2),var(--copper));color:var(--copper-ink);border-color:transparent;box-shadow:0 6px 24px #e2783c47}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffbd84,#ea8347);color:var(--copper-ink);border-color:transparent}.btn.small{padding:.32rem .7rem;font-size:.84rem;border-radius:8px}.btn.on{border-color:var(--copper);color:var(--copper-2)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.4;cursor:not-allowed}.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.tag{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;font-weight:700;vertical-align:middle;font-family:var(--font)}.tag.fiction{background:#e2783c29;color:var(--copper-2);border:1px solid rgba(226,120,60,.35)}.tag.science{background:var(--teal-dim);color:var(--teal);border:1px solid rgba(98,214,207,.35)}.tag.final{background:#f4a86824;color:var(--copper-2)}.tag.m-phrase{background:#6fdc9a24;color:var(--good)}.tag.m-rules{background:var(--teal-dim);color:var(--teal)}.tag.m-draft{background:#ffc85a24;color:#ffd27a}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .75rem;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--text);text-decoration:none;font-size:.88rem;cursor:pointer}.chip:hover{border-color:var(--teal);color:var(--text)}.chip.on{background:var(--teal-dim);border-color:var(--teal);color:var(--teal)}.bullets{padding-left:1.2rem;margin:0 0 1rem}.bullets li{margin-bottom:.45rem}.bullets li::marker{color:var(--copper)}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:#04060c99}.segmented button{background:none;border:0;border-right:1px solid var(--line);padding:.42rem .8rem;cursor:pointer;font-size:.85rem;color:var(--muted);min-height:36px}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--teal-dim);color:var(--teal)}.segmented button:hover{color:var(--text)}.loading{display:flex;align-items:center;gap:.7rem;color:var(--muted);padding:2rem 0}.pulse{width:10px;height:10px;border-radius:50%;background:var(--teal);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.progress-line{height:6px;border-radius:99px;background:#ffffff12;overflow:hidden;margin:.6rem 0 1.2rem}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--copper),var(--copper-2));border-radius:99px;transition:width .4s}.progress-line.hot span{background:linear-gradient(90deg,var(--teal),var(--copper-2));transition:width 1s linear}.speak{display:inline-flex;align-items:center;gap:2px;background:var(--teal-dim);color:var(--teal);border:1px solid rgba(98,214,207,.3);border-radius:8px;padding:.3rem .45rem;cursor:pointer;vertical-align:middle;min-width:34px;min-height:32px;justify-content:center}.speak.small{padding:.18rem .35rem;min-width:30px;min-height:28px}.speak span{font-size:.7rem;font-weight:700}.speak:hover,.speak.on{background:#62d6cf47}label{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}input,select,textarea{background:#04060cb3;border:1px solid var(--line-strong);border-radius:10px;padding:.6rem .8rem;color:var(--text);width:100%;min-height:42px}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-dim)}textarea{resize:vertical;line-height:1.5}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--copper)}label.check{display:flex;align-items:center;gap:.5rem;color:var(--text)}.foot{border-top:1px solid var(--line);padding:1.6rem clamp(1rem,4vw,2.5rem) 2.2rem;color:var(--dim);font-size:.86rem;margin-top:3rem}.foot p{margin:0 0 .4rem;max-width:80ch}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:60}.toast{display:grid;background:var(--panel-solid);border:1px solid var(--copper);border-radius:12px;padding:.8rem 1rem;box-shadow:var(--shadow);max-width:300px;animation:rise .3s}.toast .kicker{margin:0;color:var(--copper-2)}.toast span:last-child{color:var(--muted);font-size:.85rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.hero{position:relative;min-height:min(92vh,860px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;margin-top:-62px;padding:90px clamp(1rem,4vw,3rem) 1rem;overflow:hidden}.hero-stage{position:absolute;inset:0 0 0 30%}.hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(4,6,12,.55) 22%,transparent 48%),linear-gradient(0deg,var(--bg),transparent 22%);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:520px;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.wordmark{font-size:clamp(3.6rem,11vw,7.2rem);letter-spacing:.2em;margin:0 0 .1em -.04em;font-weight:700;line-height:1;background:linear-gradient(180deg,#fff 10%,#ffd2a8 55%,var(--copper) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{font:500 clamp(1.1rem,2.4vw,1.5rem) var(--display);letter-spacing:.04em;margin-bottom:.3rem}.quote{color:var(--muted);font-style:italic;margin-bottom:1.3rem}.comm{font-family:var(--mono);font-size:.95rem;border-left:2px solid var(--line-strong);padding:.2rem 0 .2rem 1rem;display:grid;gap:.25rem;min-height:11.2rem;align-content:start}.comm-line{display:flex;align-items:center;gap:.8rem;opacity:0;transform:translateY(4px);transition:opacity .5s,transform .5s;min-height:1.75rem}.comm-line.in{opacity:1;transform:none}.comm-line .who{width:4.2rem;font-size:.7rem;letter-spacing:.16em;color:var(--dim)}.comm-line.mars .who{color:var(--copper)}.comm-line.earth .who{color:var(--teal)}.comm-line .kaor{font-size:1.15rem}.hero-rank{margin-top:1rem;color:var(--muted);font-size:.9rem}.hero-controls{position:absolute;left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);bottom:.8rem;z-index:3;display:grid;gap:.4rem;justify-items:end}.stage-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.stage-note{margin:0;font-size:.78rem;color:var(--dim);max-width:70ch;text-align:right}.stage{position:relative;width:100%;height:100%;min-height:280px;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.stage canvas:active{cursor:grabbing}.planet-label{position:absolute;transform:translate(-50%);background:#04060c99;border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.15rem .7rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);white-space:nowrap}.planet-label:hover{border-color:var(--teal);color:var(--teal)}.stage-2d{display:flex;align-items:center;justify-content:center;gap:6%;background:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 20%,#cde 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 75%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 85% 60%,#fec 50%,transparent 51%),radial-gradient(1px 1px at 55% 45%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 10% 85%,#fff 50%,transparent 51%)}.planet2d{position:relative;border:0;padding:0;border-radius:50%;aspect-ratio:1;cursor:pointer;background-size:200% 100%;background-position:0 0;transition:width .5s,opacity .5s;flex:none}.planet2d.earth{width:min(38%,300px);background-color:#1b4f9c;background-image:radial-gradient(circle at 30% 40%,#3d8f5a 0 14%,transparent 15%),radial-gradient(circle at 62% 60%,#4a9a5f 0 18%,transparent 19%),radial-gradient(circle at 50% 12%,#eef 0 12%,transparent 13%),linear-gradient(#17468f,#0d2e66);box-shadow:0 0 40px #508cff73}.planet2d.mars{width:min(22%,170px);background-color:#b4552e;background-image:radial-gradient(circle at 40% 55%,#7a341b 0 16%,transparent 17%),radial-gradient(circle at 68% 35%,#d98052 0 14%,transparent 15%),radial-gradient(circle at 50% 6%,#f3e9e2 0 8%,transparent 9%),linear-gradient(#c4623a,#8f3f20);box-shadow:0 0 26px #e2783c59}.planet2d[style]{background-size:200% 100%}.planet2d.spin[style]{animation:drift 60s linear infinite}@keyframes drift{to{background-position:-200% 0}}.planet2d .shade{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,transparent 35%,rgba(0,0,0,.78) 78%)}.planet2d .planet-label.static{top:calc(100% + 10px);left:50%}.stage-2d.focus-earth .mars,.stage-2d.focus-mars .earth{width:0;opacity:0}.stage-2d.focus-mars .mars{width:min(40%,300px)}@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:0;padding-top:62px;align-items:start}.hero-stage{position:relative;inset:auto;height:62vw;max-height:430px;min-height:260px;margin:0 calc(-1*clamp(1rem,4vw,3rem))}.hero-stage:after{background:linear-gradient(0deg,var(--bg),transparent 30%)}.hero-copy{margin-top:.4rem}.hero-controls{position:static;justify-items:start;margin-top:1.4rem}.stage-note{text-align:left}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{position:relative;display:block;padding:1.3rem 1.3rem 2.6rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,#151f33e6,#0a0f1be6);color:var(--text);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--copper),transparent 70%);opacity:.7}.card:hover{transform:translateY(-3px);border-color:#e2783c80;box-shadow:var(--shadow);color:var(--text)}.card p{color:var(--muted);margin:0;font-size:.95rem}.card-go{position:absolute;right:1.2rem;bottom:1rem;color:var(--copper-2);font-size:1.2rem}.card.weekly{border-color:#e2783c73;margin-bottom:1.2rem}.notice h2{margin-bottom:1rem}.notice .panel p{margin:.6rem 0 0;color:var(--muted)}.explorer-stage{height:min(62vh,560px);min-height:320px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-bottom:.8rem;background:#000}.explorer .stage-note{text-align:left;margin:.6rem 0 1.2rem}.explorer-switch{margin-bottom:1rem}.table-wrap{overflow-x:auto}table.compare{width:100%;border-collapse:collapse;font-size:.95rem;min-width:480px}.compare th,.compare td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}.compare thead th{font:600 .78rem var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}.compare tbody th{color:var(--muted);font-weight:500;width:28%}.bar{display:block;height:4px;border-radius:4px;margin-top:.35rem;min-width:3px}.bar.earth{background:#4f8fe6}.bar.mars{background:var(--copper)}.planet-row{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 .8rem}.planet-chip{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.4rem;min-width:84px;height:92px;padding:.5rem;border-radius:12px;border:1px solid var(--line);background:none;cursor:pointer;font-size:.82rem;color:var(--muted);flex:none}.planet-chip.on{border-color:var(--copper);color:var(--text);background:#e2783c14}.planet-chip .dot{border-radius:50%;box-shadow:inset -4px -4px 8px #00000080}dl.facts{display:grid;gap:0;margin:.6rem 0 1rem}dl.facts>div{display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line)}dl.facts dt{color:var(--muted);font-size:.88rem}dl.facts dd{margin:0}.lore-block{margin-top:1rem}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1.4rem;overflow-x:auto}.tabs a{padding:.6rem 1rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;font-weight:600;font-size:.95rem}.tabs a.on{color:var(--text);border-bottom-color:var(--copper)}.tabs a:hover{color:var(--text)}.dict{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.2rem;align-items:start}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin-bottom:.6rem;align-items:center}.filters .search{grid-column:1 / -1}.count{color:var(--dim);font-size:.85rem;margin:0 0 .5rem}.entries{list-style:none;margin:0 0 1rem;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.entry{display:grid;grid-template-columns:minmax(84px,9rem) auto 1fr auto;gap:.2rem .8rem;align-items:baseline;padding:.6rem .9rem;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.entries li:last-child .entry{border-bottom:0}.entry:hover,.entry.on{background:#62d6cf12;color:var(--text)}.entry.on{box-shadow:inset 3px 0 0 var(--teal)}.entry .gloss2{grid-column:3;color:var(--dim);font-size:.85rem}.pos{color:var(--dim);font-size:.75rem;letter-spacing:.04em}.star{color:var(--copper-2);grid-row:1;grid-column:4}.dict-detail{position:sticky;top:76px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;max-height:calc(100vh - 96px);overflow:auto}.detail .back{display:none;margin-bottom:.8rem}.detail-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.detail-head h2{margin:0 .4rem 0 0;font-size:2rem}.detail-gloss{font-size:1.15rem;margin:.4rem 0 .6rem}.detail h3{margin-top:1.2rem;color:var(--teal);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}@media(max-width:860px){.dict{grid-template-columns:1fr}.dict-detail{position:fixed;inset:0;z-index:50;border-radius:0;max-height:none;display:none;background:var(--bg-2);padding-top:1rem}.dict-detail.open{display:block}.detail .back{display:inline-flex}.entry{grid-template-columns:1fr auto}.entry .gloss,.entry .gloss2{grid-column:1 / -1}}.phrase{background:#04060c8c;border:1px solid var(--line);border-radius:var(--radius-s);padding:.8rem 1rem}.phrase-top{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.phrase-top .kaor{font-size:1.12rem}.phrase-actions{display:flex;gap:.25rem;flex:none}.phrase-meaning{margin-top:.15rem}.phrase-pron{color:var(--dim);font-size:.84rem;margin-top:.2rem}.phrase-note{color:var(--muted);font-size:.84rem;margin-top:.3rem;border-top:1px dashed var(--line);padding-top:.3rem}.phrase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.7rem}.grammar{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.4rem;align-items:start}.lesson-nav{position:sticky;top:76px;display:grid;gap:1rem;max-height:calc(100vh - 96px);overflow:auto;padding-right:.3rem}.lesson-nav h3{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 .3rem}.lesson-nav a{display:block;padding:.38rem .7rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.92rem;border-left:2px solid transparent}.lesson-nav a:hover{color:var(--text)}.lesson-nav a.on{color:var(--text);background:#e2783c1a;border-left-color:var(--copper)}@media(max-width:860px){.grammar{grid-template-columns:1fr}.lesson-nav{position:static;max-height:none;grid-template-columns:repeat(2,1fr)}}.example{background:#04060c8c;border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem .9rem}.example-line{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.word{background:none;border:0;border-bottom:1px dashed rgba(244,168,104,.45);padding:.15rem .2rem;cursor:pointer;font-size:1.12rem;border-radius:4px 4px 0 0}.word:hover,.word.on{background:#e2783c29}.example-line .end{color:var(--copper-2);font-family:var(--mono);margin-right:.4rem}.example-meaning{color:var(--text);margin-top:.2rem}.example-gloss{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed var(--line);font-size:.92rem;color:var(--muted)}.lab{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}.panel.lab{border-top:1px solid var(--line);margin-top:0;padding-top:clamp(1rem,2.5vw,1.6rem)}.lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;align-items:end;margin:.8rem 0}.lab-out{background:#04060c99;border:1px solid var(--line);border-radius:var(--radius-s);padding:.9rem 1rem;margin:.8rem 0;display:grid;gap:.3rem}.family{display:grid;gap:.4rem}.family-item{display:grid;grid-template-columns:9rem 1fr auto;gap:.8rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none;align-items:baseline}.family-item:hover{border-color:var(--teal);color:var(--text)}@media(max-width:600px){.family-item{grid-template-columns:1fr;gap:0}}.dialogues{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.dialogues .panel{margin:0}.dialogue-line{display:grid;grid-template-columns:5.2rem 1fr;gap:.7rem;padding:.5rem 0;border-top:1px solid var(--line)}.dialogue-line .who{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:.3rem}.dialogue-line.teacher .who{color:var(--copper)}.synth-banner{border:1px dashed rgba(98,214,207,.4);background:var(--teal-dim);border-radius:var(--radius-s);padding:.7rem 1rem;color:var(--text);font-size:.92rem}.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.6rem;margin-bottom:.8rem}.letter{display:grid;justify-items:center;gap:.2rem;padding:.7rem .4rem;border:1px solid var(--line);border-radius:var(--radius-s);background:#04060c80;text-align:center;font-size:.85rem;color:var(--muted)}.segments{display:flex;gap:2px;align-items:flex-end;height:44px;overflow-x:auto}.segments span{background:#62d6cf38;height:24px;border-radius:4px 4px 0 0;text-align:center;font:.8rem var(--mono);color:var(--teal);flex:none}.segments span.stressed{height:42px;background:#e2783c66;color:#ffe0c4}.dir{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.2rem}.tr-grid .panel{margin:0}.tr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);gap:.5rem}.tr-head label{color:var(--teal);font-size:inherit}.tr-head>span{display:flex;gap:.4rem;align-items:center}.tr-out{font-size:1.3rem;line-height:1.4;margin:0 0 .8rem;overflow-wrap:anywhere}.tr-sentence{margin-top:.6rem;font-size:.86rem}.breakdown{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.bd{display:grid;padding:.3rem .55rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--muted);font-size:.78rem;background:#04060c80}.bd .kaor{font-size:.95rem}a.bd:hover{border-color:var(--teal);color:var(--text)}.bd.bad{border-color:var(--bad)}.tr-unknown{border:1px solid rgba(255,138,122,.4);background:#ff8a7a12;border-radius:var(--radius-s);padding:.6rem .8rem;margin-top:.8rem;font-size:.92rem}.tr-notes{margin:.8rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.86rem}.missions{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.7rem}.mission-card{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;padding:1rem 1.2rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);text-decoration:none}a.mission-card:hover{border-color:#e2783c8c;color:var(--text);transform:translate(3px)}.mission-card{transition:transform .15s,border-color .15s}.mission-card.locked{opacity:.5}.m-n{font:700 1.7rem var(--display);color:var(--copper);letter-spacing:.04em;min-width:2.4rem}.m-body{display:grid;gap:.1rem}.m-body>span{color:var(--muted);font-size:.93rem}.m-state{color:var(--dim);font-size:.9rem}.m-state.done{color:var(--good);font-size:1.3rem}.mission-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}.mission-top .kicker{margin:0}.mission,.game{max-width:780px}.step{animation:rise .3s}.story-text{font-size:1.1rem;line-height:1.7;max-width:64ch}.tip{border-left:3px solid var(--teal);background:var(--teal-dim);padding:.7rem 1rem;border-radius:0 var(--radius-s) var(--radius-s) 0;margin-top:1rem}.step-nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.4rem;flex-wrap:wrap}.step-nav .btn.primary{margin-left:auto}.ex-task{color:var(--muted);margin-bottom:.4rem}.ex-prompt{margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem}.option,.tile{padding:.75rem 1rem;border-radius:10px;border:1px solid var(--line-strong);background:#ffffff08;cursor:pointer;text-align:left;min-height:46px;transition:border-color .15s,background .15s;color:var(--text)}.option.kaor,.tile.kaor{color:var(--copper-2)}.option:hover:not(:disabled),.tile:hover:not(:disabled){border-color:var(--teal);background:#62d6cf14}.option.right,.tile.right{border-color:var(--good);background:#6fdc9a1f;color:var(--good);opacity:1}.option.wrong,.tile.wrong{border-color:var(--bad);background:#ff8a7a1a;color:var(--bad);animation:shake .3s}.option:disabled:not(.right):not(.wrong){opacity:.45;cursor:default}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.tile{text-align:center;padding:.55rem .9rem}.tile.on{border-color:var(--copper);background:#e2783c29}.tile:disabled{opacity:.3;cursor:default}.tile.right:disabled{opacity:.75}.slots{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;min-height:64px;padding:.6rem;border:1px dashed var(--line-strong);border-radius:var(--radius-s);margin-bottom:.8rem;background:#04060c80}.slots.right{border:1px solid var(--good)}.slots.wrong{border-color:var(--bad)}.slots .end{font-family:var(--mono);color:var(--copper-2);font-size:1.3rem}.bank{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.type{font-family:var(--mono);font-size:1.15rem;margin-bottom:.8rem}.type.right{border-color:var(--good)}.type.wrong{border-color:var(--bad)}.match{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.match>div{display:grid;gap:.5rem;align-content:start}.feedback{margin:.9rem 0 0;padding:.6rem .9rem;border-radius:var(--radius-s)}.feedback.good{background:#6fdc9a1a;color:var(--good);border:1px solid rgba(111,220,154,.3)}.feedback.bad{background:#ff8a7a14;color:#ffb3a8;border:1px solid rgba(255,138,122,.3)}.finish{text-align:center}.finish .phrase-grid{text-align:left;margin-top:.8rem}.finish .cta{justify-content:center}.big-number{font:700 clamp(3rem,10vw,5rem) var(--display);margin:.2rem 0 0;background:linear-gradient(180deg,#fff,var(--copper-2));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.hud{display:flex;gap:1.6rem;margin-bottom:1rem;flex-wrap:wrap}.hud div{display:grid}.hud span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.hud strong{font:700 1.5rem var(--display);color:var(--copper-2);font-variant-numeric:tabular-nums}.signal{display:flex;gap:4px;align-items:flex-end;height:26px;margin-bottom:.9rem}.signal span{width:5px;background:var(--teal);border-radius:2px;opacity:.75;animation:wave 1.3s ease-in-out infinite}.signal span:nth-child(2){animation-delay:.12s}.signal span:nth-child(3){animation-delay:.24s}.signal span:nth-child(4){animation-delay:.36s}.signal span:nth-child(5){animation-delay:.48s}.signal span:nth-child(6){animation-delay:.6s}.signal span:nth-child(7){animation-delay:.72s}@keyframes wave{0%,to{height:5px}50%{height:24px}}.pass-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.6rem;background:linear-gradient(140deg,#28160ee6,#0c1220eb);border-color:#e2783c59}.rank{font:650 1.7rem var(--display);margin:1rem 0 0;color:var(--copper-2)}.pass-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;align-content:center}.pass-stats div{display:grid;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-s);background:#04060c73}.pass-stats strong{font:700 1.4rem var(--display)}.pass-stats span{font-size:.74rem;color:var(--muted)}@media(max-width:760px){.pass-card{grid-template-columns:1fr}}.ranks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.ranks li{display:grid;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--dim)}.ranks li.on{border-color:var(--copper);color:var(--text);background:#e2783c14}.achievements{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.ach{display:grid;gap:.1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-s);opacity:.55}.ach span{font-size:.85rem;color:var(--muted)}.ach.on{opacity:1;border-color:var(--good);background:#6fdc9a0f}.ach.on strong:before{content:"\2713  ";color:var(--good)}.tx-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.tx{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);color:var(--text);text-decoration:none}.tx:hover{border-color:var(--teal);color:var(--text)}.tx-code{font-family:var(--mono);color:var(--teal);font-size:.85rem}.tx-body{display:grid}.tx-body span{color:var(--muted);font-size:.86rem}.tx-state{font-size:.8rem;color:var(--dim)}.tx.done .tx-state{color:var(--good)}.terminal{font-family:var(--mono);background:linear-gradient(180deg,#061216e6,#05080eeb);border-color:#62d6cf40}.tx-line{padding:.5rem 0;border-top:1px dashed var(--line);display:grid;gap:.1rem;opacity:.45}.tx-line.active,.tx-line.decoded{opacity:1}.tx-line .kaor{font-size:1.15rem}.tx-line.active .kaor{text-shadow:0 0 14px rgba(244,168,104,.55)}.tx-meaning{color:var(--good);font-family:var(--font);font-size:.95rem}.lore{border-color:#e2783c66}.files{margin:2rem 0}.file{padding:0;margin-bottom:.6rem;overflow:hidden}.file h3{margin:0}.file h3 button{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;width:100%;text-align:left;background:none;border:0;padding:1rem 1.2rem;cursor:pointer;font:inherit;align-items:center}.file h3 button:hover{background:#ffffff08}.file-n{font-family:var(--mono);color:var(--copper)}.file-body{padding:0 1.2rem 1.2rem}.puzzle.solved{border-color:#6fdc9a66}.puzzle .fact{font-size:.9rem;color:var(--muted)}.puzzle-form{display:grid;grid-template-columns:1fr auto;gap:.6rem}.puzzle-form .feedback{grid-column:1 / -1;margin:0}.puzzles .two{margin-top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.comm-line{opacity:1;transform:none}}@media print{.top,.foot,.stage-controls,.hero-stage,.speak{display:none!important}body{background:#fff;color:#000}.kaor{color:#8a3b10}}
