:root{--bg:#EEF2F9;--surface:#FFFFFF;--surface-2:#F6F8FC;--ink:#0D1A36;--muted:#56627F;--line:#D8DFEC;--blue:#1C3A8C;--blue-soft:#E3E9F8;--orange:#EE8434;--orange-soft:#FDEBDC;--orange-ink:#A64E0E;--good:#23895B;--good-soft:#DDF2E7;--warn:#B98309;--warn-soft:#FBF0D3;--bad:#C23B2A;--bad-soft:#FBE4E0;--hero:#10204F;--hero-2:#1B3477;--on-hero:#EAF0FF;--on-hero-muted:#A9B7DD;--ice:#2C86D1;--ice-soft:#E0F0FC;--f-display:"Bricolage Grotesque","Avenir Next","Segoe UI",sans-serif;--f-body:"Figtree","Segoe UI",system-ui,sans-serif;--r-md:14px;--r-lg:22px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#080F22;--surface:#101A33;--surface-2:#16213F;--ink:#E7ECF8;--muted:#97A3C2;--line:#24304F;--blue:#8EA7FF;--blue-soft:#1A2A58;--orange:#F59A52;--orange-soft:#3A2414;--orange-ink:#FFB57A;--good:#4CC98E;--good-soft:#12342A;--warn:#E5B53C;--warn-soft:#3A2F12;--bad:#F07A68;--bad-soft:#3A1915;--hero:#0B1638;--hero-2:#14286A;--ice:#7CC4F5;--ice-soft:#12304A;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15.5px;line-height:1.55}h1,h2,h3{font-family:var(--f-display);line-height:1.15;margin:0;text-wrap:balance}h1{font-size:clamp(24px,4vw,32px)}h2{font-size:22px}h3{font-size:17px}p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.fine,.muted{color:var(--muted)}.fine{font-size:12.5px}.accent{color:var(--orange)}.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-ink)}.center-screen{min-height:100vh;display:grid;place-items:center}.stack{gap:12px}.shell,.stack{display:flex;flex-direction:column}.shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;gap:16px;flex-wrap:wrap;padding:12px max(16px,env(safe-area-inset-left));background:var(--hero);color:var(--on-hero)}.brand,.topbar{display:flex;align-items:center}.brand{gap:8px;font-family:var(--f-display);font-weight:700;font-size:20px}.brand-mark{width:26px;height:26px;border-radius:8px;background:radial-gradient(circle at 35% 50%,#66E3FF 0 3px,transparent 4px),radial-gradient(circle at 65% 50%,#66E3FF 0 3px,transparent 4px),#0B1430;border:2px solid var(--orange)}.nav{display:flex;gap:4px;flex:1 1}.nav a{padding:6px 12px;border-radius:999px;font-weight:600;font-size:14px;color:var(--on-hero-muted)}.nav a:hover,.nav a[aria-current=page]{background:rgba(255,255,255,.12);color:var(--on-hero)}.stats{display:flex;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:700;font-size:13px;white-space:nowrap}.chip.dark{background:var(--hero);color:var(--on-hero)}.demo-banner{background:var(--orange-soft);color:var(--orange-ink);font-size:13px;text-align:center;padding:6px 16px;font-weight:600}.main{flex:1 1;width:100%;max-width:980px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-left)) 48px}@media (max-width:640px){.nav{order:3;flex-basis:100%;justify-content:space-between;overflow-x:auto;scrollbar-width:none;min-width:0}.nav::-webkit-scrollbar{display:none}.nav a{padding:6px 8px;font-size:13px;white-space:nowrap}.topbar{gap:10px}.brand{flex:1 1}}.page{display:flex;flex-direction:column;gap:18px}.page.narrow{max-width:640px;margin:0 auto;width:100%}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:10px}.link-card:hover{border-color:var(--orange)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.empty{align-items:flex-start}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:9px 18px;font-weight:700}.btn.primary{background:var(--orange);color:#2A1405}.btn.ghost{background:var(--surface);border-color:var(--line)}.btn.big{width:100%;padding:13px 18px;font-size:16px}.btn small{display:block;font-weight:500;font-size:11.5px;color:var(--muted)}.form{gap:12px}.field,.form{display:flex;flex-direction:column}.field{gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.field input,.field select{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:11px 13px;font-size:15px;font-weight:500}.form-msg{color:var(--bad);font-size:13.5px;font-weight:600}.notice{background:var(--blue-soft);border-radius:var(--r-md);padding:12px 14px;font-size:14px}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px;align-self:flex-start}.tabs button{border:0;background:none;border-radius:999px;padding:7px 16px;font-weight:700;font-size:14px;color:var(--muted)}.tabs button[aria-selected=true]{background:var(--hero);color:var(--on-hero)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px}.choice-grid.four{grid-template-columns:repeat(4,1fr)}.choice-list{gap:8px}.choice,.choice-list{display:flex;flex-direction:column}.choice{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 8px;font-weight:600;color:var(--ink);align-items:center;gap:2px}.choice.row{flex-direction:row;justify-content:space-between;padding:11px 14px}.choice small{color:var(--muted);font-weight:500;font-size:12px}.choice[aria-pressed=true]{border-color:var(--orange);background:var(--orange-soft);color:var(--orange-ink)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(170deg,var(--hero-2),var(--hero) 60%)}.auth-card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}.auth-hello,.hello-card{display:flex;align-items:center;gap:14px}.auth-hello h1{font-size:28px}.auth-hello p,.hello-card p{color:var(--muted);font-size:14px}.hello-card{background:linear-gradient(170deg,var(--hero-2),var(--hero));color:var(--on-hero);border-radius:var(--r-lg);padding:12px 18px 12px 8px}.hello-card h1{font-size:22px}.hello-card p{color:var(--on-hero-muted)}.hello-card .eyebrow{color:var(--orange)}.hero{display:grid;grid-template-columns:1fr auto;grid-gap:16px;background:linear-gradient(170deg,var(--hero-2),var(--hero) 70%);color:var(--on-hero);border-radius:var(--r-lg);padding:18px 22px}.hero,.hero-lina{gap:16px;align-items:center}.hero-lina{display:flex;flex-wrap:wrap}.greet{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:var(--on-hero);border-radius:18px 18px 18px 4px;padding:10px 14px;text-align:left;max-width:320px;font-size:16px}.greet small{display:block;color:var(--on-hero-muted);font-size:12px;margin-top:2px}.streak-box{display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.08);border-radius:var(--r-md);padding:14px 18px;max-width:170px}.streak-box b{font-family:var(--f-display);font-size:42px;line-height:1;color:var(--orange)}.streak-box span{font-weight:700}.streak-box small{color:var(--on-hero-muted);font-size:12px;margin-top:4px}@media (max-width:640px){.hero{grid-template-columns:1fr}.streak-box{max-width:none;flex-direction:row;gap:10px}}.mission{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.mission:hover{border-color:var(--orange)}.mission p{color:var(--muted)}.cta{font-weight:800;color:var(--orange-ink);margin-top:4px}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.list a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.list li:first-child a{border-top:0}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.scene b{font-family:var(--f-display);font-size:18px}.scene .goal{font-size:13px}.tag{align-self:flex-start;font-size:11.5px;padding:3px 9px;background:var(--orange-soft);color:var(--orange-ink)}.talk{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:520px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.talk-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(170deg,var(--hero-2),var(--hero));color:var(--on-hero)}.talk-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.talk-info b{font-family:var(--f-display);font-size:18px}.talk-info span{font-size:12.5px;color:var(--on-hero-muted)}.talk-info .goal{color:var(--on-hero)}.state-pill{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12)}.log{flex:1 1;overflow-y:auto;padding:16px;gap:12px}.log,.msg{display:flex;flex-direction:column}.msg{max-width:min(560px,88%);gap:4px}.msg.lina{align-self:flex-start}.msg.user{align-self:flex-end;align-items:flex-end}.bubble{padding:10px 14px;border-radius:16px;font-size:16px}.msg.lina .bubble{background:var(--surface);border:1px solid var(--line);border-top-left-radius:4px}.msg.user .bubble{background:var(--hero);color:var(--on-hero);border-top-right-radius:4px}.bubble .tr{display:block;color:var(--muted);font-size:13.5px;margin-top:4px}.bubble.typing{color:var(--muted);font-style:italic}.tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12.5px}.mini{border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;padding:3px 10px}.fb,.mini{border-radius:999px}.fb{font-weight:700;padding:3px 9px}.fb.ok{background:var(--good-soft);color:var(--good)}.fb.wave{background:var(--warn-soft);color:var(--warn)}.fix{background:var(--orange-soft);color:var(--orange-ink);border-radius:10px;padding:4px 9px;max-width:420px;text-align:right}.dock{border-top:1px solid var(--line);background:var(--surface);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.goal-done{background:var(--good-soft);color:var(--good);border-radius:10px;padding:8px 12px;font-weight:700;font-size:14px}.hints{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hints-label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px}.hint{border:1px dashed var(--line);background:var(--surface-2);border-radius:12px;padding:6px 12px;font-size:14px}.hint:hover{border-color:var(--orange)}.say-row{display:flex;gap:8px;align-items:center}.say-row input{flex:1 1;min-width:0;border:1.5px solid var(--line);background:var(--surface-2);border-radius:999px;padding:11px 16px;font-size:15px}.mic{width:58px;height:58px;flex:none;border-radius:50%;border:0;background:var(--orange);display:grid;place-items:center;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-shadow:0 8px 20px -10px var(--orange)}.mic svg{width:26px;height:26px}.mic.held{background:var(--hero);color:var(--on-hero);box-shadow:0 0 0 8px var(--orange-soft);transform:scale(1.06)}.mic-note{font-size:12px;color:var(--muted)}.dock-actions{display:flex;justify-content:space-between;gap:8px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;text-align:center;display:flex;flex-direction:column}.stat b{font-family:var(--f-display);font-size:26px}.stat span{font-size:12.5px;color:var(--muted)}.fixes,.ticks,.words{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ticks li:before{content:"✓ ";color:var(--good);font-weight:800}.fixes li{display:flex;flex-direction:column;gap:2px;padding-left:10px;border-left:3px solid var(--orange)}.fixes .said{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}.fixes .better{font-weight:700;color:var(--good)}.fixes .why{font-size:13.5px;color:var(--muted)}.words small{display:block;color:var(--muted);font-size:13px}.tabs.small button{padding:5px 14px;font-size:13px}.word-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.word{text-align:left;gap:4px}.word-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.word-h b{font-family:var(--f-display);font-size:17px}.word-h span{font-size:12px}.ctx{font-size:13.5px;border-left:3px solid var(--orange);padding-left:8px}.ctx small{display:block;color:var(--muted);font-size:12px}.flash{align-items:center;justify-content:center;text-align:center;min-height:260px;gap:10px}.flash .big{font-family:var(--f-display);font-size:32px}.grades{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.grades .btn{flex-direction:column;border-radius:14px}.lina{display:block;overflow:visible;flex:none}.lina-head{transform-origin:100px 150px;transition:transform .5s cubic-bezier(.3,.7,.3,1)}.lina-eye{fill:#66E3FF;transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite;transition:fill .4s}.lina-ring{opacity:0;transform-origin:100px 100px}.lina-mouth rect{fill:#66E3FF;transform-box:fill-box;transform-origin:center}.lina-dots{opacity:0}.lina-hand{opacity:0;transition:opacity .3s,transform .5s;transform-origin:150px 200px}.lina.listening .lina-eye{animation:blink 4.6s infinite,eyeshift 2.4s ease-in-out infinite}.lina.listening .lina-ring{animation:ring 1.6s ease-out infinite}.lina.thinking .lina-head{transform:rotate(-8deg)}.lina.thinking .lina-dots{opacity:1}.lina.thinking .lina-dots circle{animation:dot 1.1s infinite}.lina.thinking .lina-dots circle:nth-child(2){animation-delay:.18s}.lina.thinking .lina-dots circle:nth-child(3){animation-delay:.36s}.lina.thinking .lina-hand{opacity:1;transform:rotate(-12deg)}.lina.speaking .lina-mouth rect{animation:talk .34s ease-in-out infinite alternate}.lina.speaking .lina-mouth rect:nth-child(2){animation-delay:.12s}.lina.speaking .lina-mouth rect:nth-child(3){animation-delay:.22s}.lina.happy .lina-eye{transform:scaleY(.5) translateY(-2px);animation:none}@keyframes blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.08)}}@keyframes eyeshift{0%,to{fill:#66E3FF}50%{fill:#FFB27A}}@keyframes ring{0%{opacity:.6;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@keyframes dot{0%,to{opacity:.25}50%{opacity:1}}@keyframes talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.6)}}@media (prefers-reduced-motion:reduce){.lina *{animation:none!important;transition:none!important}}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.quest{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.quest:first-of-type{border-top:0}.quest-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.bar{position:relative;display:block;height:8px;background:var(--line);overflow:hidden}.bar,.bar i{border-radius:4px}.bar i{position:absolute;inset:0 auto 0 0;background:var(--orange)}.bar.big{height:18px;border-radius:9px}.bar.big span{position:relative;display:block;text-align:center;font-size:11.5px;font-weight:800;line-height:18px}.qm-row.done .bar i,.quest.done .bar i{background:var(--good)}.chest{flex:none;min-width:112px;text-align:center;border-radius:12px;padding:9px 12px;font-weight:800;font-size:13px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--muted)}.chest.ready{background:var(--orange);border-color:var(--orange);color:#2A1405;animation:wiggle 1.6s ease-in-out infinite}.chest.opened{background:var(--good-soft);border-color:var(--good);color:var(--good)}@keyframes wiggle{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-4deg)}86%{transform:rotate(4deg)}94%{transform:rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.chest.ready{animation:none}}.quest-mini{gap:8px}.quest-mini-h{display:flex;justify-content:space-between;gap:8px;font-size:13px}.qm-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;grid-gap:10px;gap:10px;align-items:center;font-size:13.5px}.qm-row>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plain{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}.league-hero{background:linear-gradient(170deg,var(--hero-2),var(--hero) 70%);color:var(--on-hero);border-radius:var(--r-lg);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.eyebrow.light{color:var(--orange)}.tiers{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.hex{display:inline-block;width:24px;height:28px;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);opacity:.3;flex:none}.hex.past{opacity:.75}.hex.current{width:36px;height:42px;opacity:1}.league-mini-h{display:flex;align-items:center;gap:10px}.league-mini .hex.current{width:26px;height:30px}.result{flex-direction:row;align-items:center;justify-content:space-between;border-color:var(--orange)}.result div{display:flex;flex-direction:column}.result b{font-family:var(--f-display);font-size:18px}.lina-tip{display:flex;align-items:center;gap:12px;background:var(--blue-soft);border-radius:var(--r-md);padding:8px 16px 8px 8px}.lina-tip p{font-size:14.5px}.small{font-size:13.5px}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board .row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 14px}.board .row.me{border-color:var(--orange);background:var(--orange-soft)}.rank{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--muted)}.rank.r1{background:#E6B325;color:#3A2A00}.rank.r2{background:#B8C2D1;color:#1D2533}.rank.r3{background:#C98A55;color:#2E1606}.who{display:flex;flex-direction:column;min-width:0}.who b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who small{color:var(--muted);font-size:12px}.xp{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.zone{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--good)}.zone:after,.zone:before{content:"";flex:1 1;height:1.5px;background:currentColor;opacity:.4}.zone.down{color:var(--bad)}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--orange);margin-top:2px}.cover{position:relative;display:grid;place-items:center;border-radius:14px;aspect-ratio:4/3;max-width:100%;flex:none}.cover-label{position:absolute;top:8px;left:8px;font-size:11px;font-weight:800;background:rgba(255,255,255,.92);color:#0D1A36;border-radius:999px;padding:2px 8px}.story-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}.story-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.story-card .cover{border-radius:0;width:100%}.story-card:not(.locked):hover{border-color:var(--orange)}.story-card.locked .cover{filter:grayscale(1);opacity:.45}.story-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:2px}.story-body b{font-family:var(--f-display);font-size:16px}.episode-body small,.story-body small{color:var(--muted);font-size:12.5px}.status{font-size:12.5px;font-weight:700;color:var(--orange-ink)}.status.read{color:var(--good)}.status.locked{color:var(--muted)}.media-tile .eyebrow{display:inline-flex;align-items:center;gap:6px}.player{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:540px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;max-width:760px;margin:0 auto;width:100%}.player-top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.player-top .bar{flex:1 1}.player-top .bar i{background:var(--good)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:15px;color:var(--muted);flex:none}.player-log{flex:1 1;overflow-y:auto;padding:16px;gap:14px}.player-log,.story-head{display:flex;flex-direction:column}.story-head{align-items:center;gap:6px;text-align:center;padding-bottom:6px}.story-head .cover{width:120px;height:auto}.sl{grid-template-columns:36px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.sl,.sl .av{display:grid}.sl .av{width:36px;height:36px;border-radius:50%;place-items:center;color:#FFFFFF;font-weight:800}.sl .who{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.sl .txt{font-size:17px;line-height:1.55;margin:2px 0 4px}.sl.narr .txt{font-style:italic}.pod-seg .tr,.sl .tr{display:block;font-size:13.5px;color:var(--muted);font-style:normal}.gw{position:relative;border:0;background:none;padding:0;font:inherit;color:inherit;border-bottom:2px dotted var(--blue);cursor:pointer}.gw.open:after{content:attr(data-g);position:absolute;bottom:125%;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);font-size:12.5px;font-style:normal;font-weight:600;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:3}.sq{border:1.5px solid var(--line);border-radius:var(--r-md);padding:10px 14px;background:var(--surface);display:flex;flex-direction:column;gap:2px}.sq small{color:var(--muted)}.sq.done{border-color:var(--good)}.sq .ans{color:var(--good);font-weight:700}.fb-good{color:var(--good);font-weight:800}.self-start{align-self:flex-start}.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px;gap:8px}.opt{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;text-align:left;font-weight:600}.opt:hover:not(:disabled){border-color:var(--orange)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.built{min-height:48px;border-bottom:2px solid var(--line);padding:6px 0}.bank,.built{display:flex;flex-wrap:wrap;gap:6px}.bank{justify-content:center}.tile{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;font-weight:600;box-shadow:0 2px 0 var(--line)}.tile.used{visibility:hidden}.tile.sel{border-color:var(--blue);background:var(--blue-soft)}.tile.ok{opacity:.4;border-color:var(--good);box-shadow:none}.match{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.match .col{display:flex;flex-direction:column;gap:6px}.match .tile{width:100%}.episodes{display:flex;flex-direction:column;gap:12px}.episode{flex-direction:row;align-items:center;gap:14px}.episode .cover{aspect-ratio:1}.episode-body{display:flex;flex-direction:column;gap:2px;min-width:0}.episode-body b{font-family:var(--f-display);font-size:17px}.pod-head{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.page .pod-head{border:1px solid var(--line);border-radius:var(--r-lg)}.pod-head>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.pod-head .cover{aspect-ratio:1}.pod-seg{text-align:left;border:0;border-left:3px solid transparent;background:none;border-radius:0 12px 12px 0;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font:inherit;color:inherit;width:100%}.pod-seg.cur{border-left-color:var(--orange);background:var(--orange-soft)}.pod-seg.past{opacity:.6}.pod-seg .who{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.pod-seg.guest .txt{font-size:16.5px;font-weight:500}.pod-seg.host .txt{font-size:15px;color:var(--muted)}.pod-seg .mini{align-self:flex-start}.link-btn{align-self:center;color:var(--blue);padding:6px}.pod-ctrl{background:var(--surface);border-top:1px solid var(--line);padding:12px 16px 14px;flex-direction:column}.pod-ctrl,.pod-prog{display:flex;gap:10px}.pod-prog{align-items:center;font-size:12.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pod-prog .bar{flex:1 1}.pod-btns{display:flex;align-items:center;justify-content:center;gap:20px}.pod-btns button{border:0;background:none;font-size:22px;color:var(--ink);padding:4px 8px}.pod-btns .pp{width:60px;height:60px;border-radius:50%;background:var(--orange);color:#2A1405;font-size:20px}.pod-btns .spd{font-size:13px;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:6px 12px}.spd-spacer{width:56px}.link-chip:hover{background:rgba(255,255,255,.2)}.chip-freeze{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding-left:6px;border-left:1px solid rgba(255,255,255,.2);color:#CDE9FC}a.streak-box:hover{background:rgba(255,255,255,.14)}.freeze-count{display:inline-flex;align-items:center;gap:4px}.streak-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--orange-soft);color:var(--orange-ink);font-weight:600;font-size:14px}.streak-banner.ice{background:var(--ice-soft);color:var(--ink)}.streak-banner span{flex:1 1}.streak-hero{grid-template-columns:1fr}.streak-big{display:flex;align-items:center;gap:14px}.streak-big b{display:block;font-family:var(--f-display);font-size:48px;line-height:1}.streak-big span{color:var(--on-hero-muted);font-weight:600}.on-hero-muted{color:var(--on-hero-muted);font-size:14px}.freeze-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.freeze-row p{flex:1 1;min-width:220px;font-size:14px}.freeze-slots{display:flex;gap:10px}.freeze-slot{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--ice-soft);border:2px solid var(--ice)}.freeze-slot.empty{background:var(--surface-2);border:2px dashed var(--line)}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-h{text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.cal-d{aspect-ratio:1;max-height:52px;display:grid;place-items:center;border-radius:50%;font-size:13.5px;font-weight:600;background:var(--surface-2)}.cal-d.on{background:var(--orange);color:#2A1405}.cal-d.ice{background:var(--ice-soft);color:var(--ice);box-shadow:inset 0 0 0 2px var(--ice)}.cal-d.future{opacity:.4}.cal-d.today{outline:2px solid var(--ink);outline-offset:1px}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{width:12px;height:12px;border-radius:50%}.cal-legend i.on{background:var(--orange)}.cal-legend i.ice{background:var(--ice-soft);box-shadow:inset 0 0 0 2px var(--ice)}.badge-art{flex:none;display:block}.badge-strip{display:flex;gap:14px;flex-wrap:wrap}.badge-strip>span{display:flex;flex-direction:column;align-items:center;gap:4px;width:64px;text-align:center}.badge-strip small{font-size:11.5px;color:var(--muted);line-height:1.2}.ach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ach-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.ach-row:first-child{border-top:0}.ach-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:14px}.ach-h{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.ach-h span{font-size:12.5px;font-weight:700}.ach-bar{display:flex;align-items:center;gap:10px}.ach-bar .bar{flex:1 1}.ach-bar small{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.special-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.special{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px;border-radius:var(--r-md);background:var(--surface-2);font-size:14px}.special small{font-size:12.5px;line-height:1.35}.ach-pop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(8,15,34,.55);animation:fade .2s ease-out}.ach-card{width:min(380px,100%);background:var(--surface);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:pop .35s cubic-bezier(.2,1.4,.4,1)}.ach-art{display:flex;align-items:flex-end;gap:4px;margin-bottom:4px}.ach-card .row-actions{margin-top:8px;justify-content:center}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;background:var(--hero);color:var(--on-hero);padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:calc(100% - 32px);text-align:center}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.85);opacity:0}}@media (prefers-reduced-motion:reduce){.ach-card,.ach-pop{animation:none}}.streak-banner.warn{border:1.5px solid var(--orange)}.streak-banner.warn span b{display:block}.streak-banner em{font-style:normal;font-weight:800;background:var(--orange);color:#2A1405;padding:6px 12px;border-radius:999px}.repair-card{border:1.5px solid var(--orange)}.repair-card p{font-size:14px}.repair-note{font-size:13.5px;border-top:1px solid var(--line);padding-top:10px}.cal-d.fix{background:var(--surface);color:var(--orange-ink)}.cal-d.fix,.cal-legend i.fix{box-shadow:inset 0 0 0 2px var(--orange)}.fq b{font-size:15.5px}.fq-bar{display:flex;height:18px;border-radius:9px;background:var(--line);overflow:hidden}.fq-bar i{display:block;height:100%}.fq-bar i.me,.fq-legend i.me{background:var(--orange)}.fq-bar i.them,.fq-legend i.them{background:#3D8FD6}.fq-legend{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fq-legend span{display:inline-flex;align-items:center;gap:5px}.fq-legend i{width:10px;height:10px;border-radius:50%}.field.inline{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.field.inline select{padding:8px 12px;min-width:0;max-width:100%}.chest.big{align-self:stretch;padding:12px;font-size:15px}.code-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;letter-spacing:.12em;background:var(--surface-2);border:1px dashed var(--line);padding:4px 12px;border-radius:10px}.add-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.add-row .field{flex:1 1;min-width:180px}.add-row input{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em}.friend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.friend-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.friend-list li:first-child{border-top:0}.friend-list li.pending{opacity:.8}.friend-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.friend-main small{font-size:12.5px}.friend-streak{display:inline-flex;align-items:center;gap:3px;font-weight:800}.av{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;color:#FFFFFF;font-weight:800;font-size:13px}.tag{margin-left:6px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);vertical-align:2px}.small-print{font-size:13.5px}.btn.small{padding:6px 12px;font-size:13px}.fs-count{display:inline-flex;align-items:center;gap:3px;font-family:var(--f-display);font-weight:800;font-size:18px;color:#6E45D8}.fs-count.zero{color:var(--muted)}.your-turn{color:var(--orange-ink);font-weight:700}.friend-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.done-today{font-size:12px;font-weight:700;color:var(--good)}.streak-banner.nudge{background:#EEE8FD;color:var(--ink)}.streak-banner.fsb{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.streak-banner.fsb:hover{border-color:#7B4FE0}.streak-banner.fsb span b,.streak-banner.nudge span b{display:block}.streak-banner em.fs-em{background:#EEE8FD;color:#4B2FA8}@media (prefers-color-scheme:dark){.streak-banner.nudge{background:#261D45}.streak-banner em.fs-em{background:#261D45;color:#C9B8FF}}@media (max-width:640px){.friend-list li{flex-wrap:wrap}.friend-actions{flex-basis:100%;justify-content:flex-start;padding-left:50px}}.board-options{display:flex;gap:8px;flex-wrap:wrap}.board-options .tabs button[aria-pressed=true]{background:var(--hero);color:var(--on-hero)}.board .who small{display:block;font-size:12px;color:var(--muted);font-weight:500}.board.compact{margin:0}a.link:hover{color:var(--orange-ink)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:640px){.grid-3{grid-template-columns:1fr}}.course-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 16px}.course-card:hover{border-color:var(--orange)}.course-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.course-card b{font-family:var(--f-display);font-size:17px}.course-card small{color:var(--muted);font-size:13px}.course-card em{font-style:normal;font-weight:800;color:var(--orange-ink);font-size:14px}.course-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center}.course-hero{color:#FFFFFF;border-radius:var(--r-lg);padding:18px 22px;display:flex;flex-direction:column;gap:6px}.course-hero p{color:rgba(255,255,255,.85);font-weight:600}.course-hero .bar{background:rgba(255,255,255,.25)}.course-hero .eyebrow.light{color:rgba(255,255,255,.85)}.unit,.unit-band{display:flex;flex-direction:column}.unit-band{border-radius:var(--r-lg);padding:12px 16px;color:#FFFFFF;gap:2px}.unit-band .eyebrow{color:rgba(255,255,255,.82)}.unit-band b{font-family:var(--f-display);font-size:17px}.unit-band small{color:rgba(255,255,255,.85);font-size:13px}.path{gap:22px;padding:26px 0 12px}.path,.pnode-wrap{display:flex;flex-direction:column;align-items:center}.pnode-wrap{gap:6px;position:relative}.pnode{width:70px;height:64px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 0 rgba(0,0,0,.2);transition:transform .1s}a.pnode-wrap:hover .pnode{transform:translateY(-2px)}a.pnode-wrap:active .pnode{transform:translateY(3px);box-shadow:0 3px 0 rgba(0,0,0,.2)}.pnode.done{background:#E6B325}.pnode.open{background:var(--orange)}.pnode.lock{background:var(--line);box-shadow:0 6px 0 rgba(0,0,0,.08)}.pnode-wrap small{font-size:12px;font-weight:700;color:var(--muted);max-width:170px;text-align:center}.start-bubble{position:absolute;top:-30px;background:var(--surface);border:2px solid var(--line);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:800;color:var(--orange-ink);animation:bob 1.6s ease-in-out infinite;white-space:nowrap}@keyframes bob{50%{transform:translateY(-4px)}}.player.lesson .ls-body{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.ls-body h2{font-size:21px}.ls-big{font-family:var(--f-display);font-size:34px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ls-vis{display:flex;justify-content:center}.ls-vis svg{max-width:100%;height:auto}.numbox{font-family:var(--f-display);font-size:32px;text-align:center;border-bottom:3px solid var(--line);min-height:50px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;max-width:260px}.keypad,.numbox{width:100%;margin:0 auto}.keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;max-width:320px}.keypad button{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 0;font-size:19px;font-weight:700;box-shadow:0 2px 0 var(--line)}.ls-opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-width:460px;width:100%;margin:0 auto}.ls-opts.three{grid-template-columns:repeat(3,1fr)}.ls-opts .tile{font-size:17px;padding:12px 8px}.center-self{align-self:center}.nowrap{white-space:nowrap;font-size:13px}.center{text-align:center}.center-row{justify-content:center}.kbd{position:relative;display:flex;height:160px;-moz-user-select:none;user-select:none;-webkit-user-select:none;max-width:420px;width:100%;margin:0 auto}.kbd .wk{flex:1 1;border:1.5px solid #2a3550;border-radius:0 0 8px 8px;background:#FFFFFF;display:flex;align-items:flex-end;justify-content:center;padding:0 0 8px;font-weight:800;color:#56627F;font-size:13px;margin-right:-1.5px}.kbd .wk:active{background:#EEF2F9}.kbd .bk{position:absolute;top:0;width:9%;height:60%;background:#141A2B;border:0;border-radius:0 0 6px 6px;z-index:2}.kbd .wk.sel{background:#DCE6FF}.kbd .wk.next{box-shadow:inset 0 -7px 0 #EE8434}.kbd .wk.miss{background:#FBE4E0}.song-notes{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.song-notes span{min-width:28px;padding:4px 6px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-size:13px;text-align:center}.song-notes span.done{background:var(--good-soft);color:var(--good);border-color:var(--good)}.song-notes span.cur{background:var(--orange);color:#2A1405;border-color:var(--orange)}.lfb{border-radius:var(--r-md);padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:14px}.lfb.good{background:var(--good-soft);color:var(--good)}.lfb.bad{background:var(--bad-soft);color:var(--bad)}.lfb b{font-size:15.5px}.cb{grid-template-columns:repeat(8,1fr);width:100%;max-width:360px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 8px 20px -12px rgba(13,26,54,.5);flex:none}.cb,.cs{display:grid;aspect-ratio:1}.cs{position:relative;border:0;padding:0;place-items:center;font-family:Noto Sans Symbols\ 2,Segoe UI Symbol,Apple Symbols,sans-serif;font-size:clamp(24px,9vw,38px);line-height:1;min-width:0}.cs.l{background:#E9EEF8}.cs.d{background:#7F96C8}.cs.sel{background:#F6C26B}.cs.last{box-shadow:inset 0 0 0 3px rgba(238,132,52,.9)}.cs .pw{color:#FFFFFF;-webkit-text-stroke:1.3px #0D1A36;paint-order:stroke fill}.cs .pb{color:#141A2B}.cs .dot{width:30%;height:30%;background:rgba(13,26,54,.3)}.cs .cap,.cs .dot{position:absolute;border-radius:50%}.cs .cap{inset:7%;border:4px solid rgba(13,26,54,.3)}.cs .co{position:absolute;font:800 9px Figtree,sans-serif;color:rgba(13,26,54,.6)}.cs .rk{top:2px;left:3px}.cs .fl{bottom:1px;right:3px}.plan-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px}.plan-card:hover{border-color:var(--orange)}.plan-card>span{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--muted);min-width:0}.plan-card b{font-size:15px;color:var(--ink)}.plan-card em{font-style:normal;font-weight:800;color:var(--orange-ink);font-size:14px}.plan-hero{background:linear-gradient(150deg,var(--hero-2),var(--hero))}.goal-grid,.opt-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.opt-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:640px){.goal-grid,.opt-row.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.goal-grid .choice{flex-direction:row;justify-content:center;gap:8px;padding:12px 8px}.opt-row .choice small{display:block;font-size:12px;color:var(--muted);font-weight:500}.task-list,.week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.task{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.task:first-child{border-top:0}.task-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.task.done .task-main b{color:var(--muted)}.week-list li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.week-list li:first-child{border-top:0}.week-list li.current{background:var(--orange-soft);margin:0 -10px;padding:9px 10px;border-radius:10px;border-top-color:transparent}.week-list .wn{font-size:12.5px;font-weight:800;color:var(--muted)}.week-list .wt{display:flex;flex-direction:column;min-width:0;font-size:14px}.week-list .st{font-size:12.5px;font-weight:800;white-space:nowrap}.week-list .st.ok{color:var(--good)}.week-list .st.now{color:var(--orange-ink)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:10px;gap:10px}.cat{align-items:flex-start;text-align:left;font:inherit;color:inherit;cursor:pointer}.link-btn{border:0;background:none;padding:0;color:var(--muted);font-weight:700;font-size:13.5px;margin-bottom:4px}.link-btn:hover{color:var(--orange-ink)}.phrase-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.phrase .t{font-family:var(--f-display);font-size:18px;font-weight:700}.drill-card{align-items:center;text-align:center;gap:12px;padding:22px}.drill-top{display:flex;align-items:center;gap:10px;width:100%}.drill-top .bar{flex:1 1}.drill-top .bar i{background:var(--good)}.drill-big{font-family:var(--f-display);font-size:24px;font-weight:700;line-height:1.25}.accent-ink{color:var(--orange-ink)}.link-btn.danger{color:var(--bad);align-self:flex-start}.danger-zone{border:1.5px solid var(--bad);background:var(--bad-soft);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px;font-size:14px}.btn.danger{background:var(--bad);color:#FFFFFF}.adm{display:flex;flex-direction:column;gap:16px;max-width:1100px}.adm-spacer{flex:1 1}.adm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.adm-tile{gap:2px}.adm-tile b{font-family:var(--f-display);font-size:30px;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-tile small{font-size:12.5px}.adm-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:12px;gap:12px}.adm-plot{position:relative}.adm-plot svg{width:100%;height:170px;display:block;overflow:visible}.adm-plot g{outline:none;cursor:default}.adm-bar{fill:var(--blue)}.adm-bar.on{fill:var(--orange)}.adm-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.adm-axis{stroke:var(--line);stroke-width:1.5}.adm-tick{font:600 11px var(--f-body);fill:var(--muted)}.adm-tip{position:absolute;top:-6px;transform:translate(-50%,-100%);background:var(--hero);color:var(--on-hero);border-radius:8px;padding:5px 9px;font-size:13px;white-space:nowrap;pointer-events:none;display:flex;flex-direction:column;align-items:center}.adm-tip small{color:var(--on-hero-muted);font-size:11.5px}.adm-table summary{cursor:pointer;font-size:13px;color:var(--muted)}.adm-mini,.adm-table table,.adm-users{width:100%;border-collapse:collapse;font-size:13.5px}.adm-mini td,.adm-mini th,.adm-table td,.adm-table th,.adm-users td,.adm-users th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-mini th,.adm-table th,.adm-users th{color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.adm-users tbody tr{cursor:pointer}.adm-users tbody tr:focus,.adm-users tbody tr:hover{background:var(--surface-2);outline:none}.adm-scroll{overflow-x:auto}.adm-search{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 13px;font-size:15px}.adm-langs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.adm-langs li{display:grid;grid-template-columns:110px 1fr 40px;grid-gap:10px;gap:10px;align-items:center;font-size:14px}.adm-langs li b{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-langs .bar i{background:var(--blue)}.adm-panel{position:fixed;inset:0;z-index:50;background:rgba(8,15,34,.5);display:flex;justify-content:flex-end}.adm-panel-card{width:min(520px,100%);height:100%;overflow-y:auto;background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:12px}.adm-dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 14px;gap:6px 14px;margin:0;font-size:14px}.adm-dl dt{color:var(--muted);font-weight:600}.adm-dl dd{margin:0}.danger-zone input{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 11px}.logo{display:inline-flex;align-items:center;gap:8px;line-height:1}.logo-text{display:flex;flex-direction:column;gap:3px}.logo-word{font-family:var(--f-display);font-weight:700;font-size:1.35em;letter-spacing:-.01em;color:var(--ink)}.logo-2{color:var(--orange);margin-right:1px}.logo-tag{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--muted)}.logo-tag i{font-style:normal;color:var(--orange)}.logo.light .logo-word{color:#FFFFFF}.logo.light .logo-tag{color:var(--on-hero-muted)}.brand .logo-word{font-size:21px}.site{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.site-main{flex:1 1}.site-wrap{width:100%;max-width:1080px;margin:0 auto;padding-left:16px;padding-right:16px}.skip-link{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--surface);padding:8px 12px;border-radius:8px}.skip-link:focus{left:8px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header-in{display:flex;align-items:center;gap:18px;min-height:64px}.site-brand{display:inline-flex}.site-brand .logo-word{font-size:22px}.site-nav{display:flex;gap:4px;flex:1 1;overflow-x:auto;scrollbar-width:none}.site-nav a{padding:8px 10px;border-radius:10px;font-weight:600;color:var(--muted);white-space:nowrap}.site-nav a:hover{color:var(--ink);background:var(--surface-2)}.site-cta{white-space:nowrap}@media (max-width:760px){.site-header-in{flex-wrap:wrap;gap:6px 12px;padding-top:8px;padding-bottom:6px}.site-brand{flex:1 1}.site-nav{order:3;flex-basis:100%;margin:0 -6px}.site-cta{padding:7px 14px;font-size:14px}}.site-footer{margin-top:56px;background:var(--hero);color:var(--on-hero);padding:40px 0 20px}.site-footer-in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:28px;gap:28px}.site-footer-brand p{color:var(--on-hero-muted);font-size:14px;margin-top:12px;max-width:34ch}.site-footer nav{display:flex;flex-direction:column;gap:8px;font-size:14px}.site-footer nav b{font-family:var(--f-display);font-size:15px;margin-bottom:2px}.footer-link,.site-footer nav a{color:var(--on-hero-muted);background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer}.footer-link:hover,.site-footer nav a:hover{color:#FFFFFF;text-decoration:underline}.site-copy{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:var(--on-hero-muted)}@media (max-width:760px){.site-footer-in{grid-template-columns:1fr 1fr}.site-footer-brand{grid-column:1/-1}}.home-hero{background:radial-gradient(1200px 400px at 85% 0,var(--hero-2),transparent),var(--hero);color:var(--on-hero);padding:56px 0 64px}.home-hero-in{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:32px;gap:32px;align-items:center}.home-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.05;margin:10px 0 16px;color:#FFFFFF}.home-lede{font-size:18px;color:var(--on-hero-muted);max-width:56ch}.home-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn.big-inline{padding:13px 22px;font-size:16px}.btn.ghost-light{background:transparent;border-color:rgba(255,255,255,.45);color:#FFFFFF}.btn.ghost-light:hover{background:rgba(255,255,255,.08)}.home-hero-art{display:flex;justify-content:center}.home-hero-art .logo{flex-direction:column;gap:14px;text-align:center}.home-hero-art .logo-word{font-size:44px}.home-hero-art .logo-tag{font-size:14px}@media (max-width:760px){.home-hero{padding:36px 0 44px}.home-hero-in{grid-template-columns:1fr}.home-hero-art{display:none}}.site-section{margin-top:52px}.section-head h2,.site-section>h2{font-size:clamp(24px,3vw,32px);margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.section-head a{font-weight:700;color:var(--blue)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}.feature h3{font-size:18px;margin-bottom:6px}.feature p{color:var(--muted);font-size:15px;line-height:1.55}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px;counter-reset:step;list-style:none;padding:0}.steps li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;line-height:1.55;color:var(--muted)}.steps li:before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--orange);color:#2A1405;font-weight:800;margin-bottom:10px}.steps li b{color:var(--ink)}.lang-list{font-size:17px;line-height:1.9;color:var(--muted)}.faq{display:flex;flex-direction:column;gap:8px;max-width:760px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin-top:8px;color:var(--muted);line-height:1.6}.home-final{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 20px;max-width:1048px}.home-final p{color:var(--muted);margin:-8px 0 18px}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px}.article-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;transition:border-color .15s,transform .15s}.article-card:hover{border-color:var(--orange);transform:translateY(-2px)}.article-card b{font-family:var(--f-display);font-size:18px;line-height:1.25}.article-card .muted{font-size:14px;line-height:1.5}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 22px}.chip-row .chip{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:7px 14px}.chip-row .chip.on{background:var(--hero);border-color:var(--hero);color:#FFFFFF}.prose-page{max-width:760px}.prose-page,.prose-wide{padding-top:36px}.prose-page h1,.prose-wide h1{font-size:clamp(30px,4.4vw,44px);line-height:1.1;margin-bottom:14px}.lede{font-size:19px;line-height:1.6;color:var(--muted);margin-bottom:18px;max-width:70ch}.prose-page h2{font-size:26px;margin:34px 0 10px}.prose-page h3{font-size:19px;margin:22px 0 8px}.prose-page li,.prose-page p{font-size:17px;line-height:1.7}.prose-page p{margin:0 0 14px}.prose-page ol,.prose-page ul{margin:0 0 16px;padding-left:22px;display:flex;flex-direction:column;gap:6px}.prose-page a:not(.btn):not(.article-card){color:var(--blue);text-decoration:underline;text-underline-offset:2px}.prose-page table{width:100%;border-collapse:collapse;font-size:15.5px}.prose-page td,.prose-page th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}.prose-page th{background:var(--surface-2);font-weight:700}.table-wrap{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.table-wrap table{margin:0}.table-wrap tr:last-child td{border-bottom:0}.prose-page>table{margin-bottom:18px;background:var(--surface)}.crumbs{font-size:14px;color:var(--muted);margin-bottom:10px}.crumbs a{color:var(--muted)!important;text-decoration:none!important;font-weight:600}.article-meta{font-size:14px;margin-bottom:22px}.pairs{display:flex;flex-direction:column;margin:6px 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}.pair:last-child{border-bottom:0}.pair>span:first-child{font-weight:600}@media (max-width:600px){.pair{grid-template-columns:1fr;gap:2px}}.tip-box{background:var(--orange-soft);border-left:4px solid var(--orange);border-radius:0 var(--r-md) var(--r-md) 0;padding:12px 16px;margin:6px 0 18px}.tip-box b{color:var(--orange-ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.tip-box p{margin:4px 0 0;font-size:16px}.cta-box{background:var(--hero);color:var(--on-hero);border-radius:var(--r-lg);padding:22px;margin:32px 0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.cta-box b{font-family:var(--f-display);font-size:21px;color:#FFFFFF}.cta-box p{color:var(--on-hero-muted);margin:0 0 6px}.related{margin-top:36px}.related .article-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.contact-form{gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;margin-bottom:24px}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{gap:6px;font-weight:700;font-size:14px;color:var(--muted)}.contact-form input,.contact-form textarea{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:11px 13px;font:inherit;font-size:16px;font-weight:500}.contact-form .btn{align-self:flex-start}.contact-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{color:var(--bad);font-weight:600;margin:0}.notice.ok{background:var(--good-soft)}.ad-unit{margin:26px 0;padding:8px 0;min-height:120px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ad-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:6px}.app-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;padding:20px 16px 28px;font-size:13px}.app-footer a{color:var(--muted)}.app-footer a:hover{color:var(--ink);text-decoration:underline}.google-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px}.google-btn{width:100%;display:flex;justify-content:center}.or-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.or-divider:after,.or-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.adm-settings input,.adm-settings textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.adm-settings textarea{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 12px;resize:vertical}.adm-settings hr{border:0;border-top:1px solid var(--line);margin:6px 0}.adm-settings code{font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:5px}.adm-settings .chip{background:var(--surface-2);color:var(--muted)}.adm-settings .chip.on{background:var(--good-soft);color:var(--good)}.adm-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:760px){.adm-two{grid-template-columns:1fr}}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:380px){.field-row{grid-template-columns:1fr}}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1 1;padding-right:64px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--blue);font-weight:700;font-size:13px;padding:6px 8px;cursor:pointer}.fine.center{text-align:center}.auth-card .fine a{color:var(--blue);text-decoration:underline}.field-row>.field{min-width:0}.field-row input,.pw-wrap input{width:100%;min-width:0;box-sizing:border-box}.auth-card{max-width:100%;box-sizing:border-box}.badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:999px;margin-bottom:8px}.badge.free{background:var(--good-soft);color:var(--good)}.badge.paid{background:var(--orange-soft);color:var(--orange-ink)}.hero-small{color:var(--on-hero-muted);font-size:14px;margin-top:12px}.home-ctas.center{justify-content:center}.site-login{padding:7px 14px}@media (max-width:760px){.site-login{display:none}}.pricing{display:flex;flex-direction:column;gap:12px}.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:14px;gap:14px}.price-card{position:relative;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:8px}.price-card.best{border-color:var(--orange);box-shadow:0 8px 28px rgba(238,132,52,.18)}.price-card h3{font-size:18px}.price-card .price{font-size:16px;color:var(--muted)}.price-card .price b{font-family:var(--f-display);font-size:40px;color:var(--ink)}.price-card ul{list-style:none;padding:0;margin:6px 0 10px;display:flex;flex-direction:column;gap:6px;font-size:15px}.price-card li:before{content:"✓ ";color:var(--good);font-weight:800}.price-card .btn{margin-top:auto}.badge-pop{position:absolute;top:-12px;right:16px;background:var(--orange);color:#2A1405;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}.pricing.compact .price-card{padding:16px}.pricing.compact .price-card .price b{font-size:30px}.pricing-note{text-align:center;color:var(--muted);font-size:14px;margin:0}.pricing-subscribed{align-items:flex-start}.form-error.center{text-align:center}.plan-compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.plan-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.plan-col.paid{border:1.5px solid var(--orange)}.plan-col ul{margin:0 0 10px;padding-left:18px;display:flex;flex-direction:column;gap:6px}@media (max-width:640px){.plan-compare{grid-template-columns:1fr}}.modal-back{position:fixed;inset:0;z-index:60;background:rgba(8,14,34,.55);display:grid;place-items:center;padding:16px;overflow-y:auto}.modal-card{position:relative;background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:24px;width:min(640px,100%);display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 32px);overflow-y:auto;outline:none}.modal-card h2{font-size:22px;padding-right:30px}.modal-x{position:absolute;top:12px;right:12px}.usage-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--blue-soft);border-radius:var(--r-md);padding:8px 12px;font-size:14px;margin:8px 0}.usage-banner.warn{background:var(--bad-soft)}.usage-banner a{font-weight:700;color:var(--blue)}.usage-bar{flex:1 1;min-width:100px;height:8px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden}.usage-bar i{display:block;height:100%;background:var(--orange);border-radius:999px;transition:width .5s}.mic.locked{opacity:.55}.notice.warn{background:var(--bad-soft)}.report-locked .blurred{filter:blur(5px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cat.locked{opacity:.7}.acct-dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px;margin:4px 0 8px}.acct-dl dt{color:var(--muted);font-weight:600}.toggle-row{display:flex;gap:10px;align-items:center;font-size:15px}.adm-plan{gap:4px;padding:10px 0;border-top:1px solid var(--line)}.adm-plan,.chat-mock{display:flex;flex-direction:column}.chat-mock{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;gap:10px;max-width:640px;margin-bottom:14px}.hero-mock{color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.25)}.chat-role{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-ink)}.mock-msg{display:flex;flex-direction:column;gap:2px;max-width:88%}.mock-msg.you{align-self:flex-end;align-items:flex-end;text-align:right}.mock-who{font-size:12px;font-weight:700;color:var(--muted)}.mock-bubble{display:inline-block;padding:9px 13px;border-radius:16px;font-size:16px;line-height:1.45;background:var(--surface-2);border:1px solid var(--line)}.mock-msg.you .mock-bubble{background:var(--hero);color:#fff;border-color:var(--hero)}.mock-roman{font-style:italic}.mock-en,.mock-roman{color:var(--muted);font-size:13px}.mock-card{background:var(--orange-soft);border-radius:var(--r-md);padding:10px 14px;font-size:14.5px}.mock-card p{margin:2px 0}.lang-hero{padding-top:6px}.lang-hero h1 .flag{font-size:.9em}.flag{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.lang-picker{gap:12px}.lang-picker,.lang-tools{display:flex;flex-direction:column}.lang-tools{gap:10px}.lang-search,.lang-tools input{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:11px 16px;font-size:16px;max-width:420px;width:100%}.lang-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.lang-tile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;height:100%;transition:border-color .15s,transform .15s}.lang-tile:hover{border-color:var(--orange);transform:translateY(-1px)}.lang-tile .flag{font-size:24px}.lang-tile b{font-size:15px}.tag-new{font-size:10.5px;font-weight:700;color:var(--good);background:var(--good-soft);padding:2px 7px;border-radius:999px}.tile-cta{flex-basis:100%;font-size:13px;font-weight:700;color:var(--orange-ink)}.overlooked{background:linear-gradient(135deg,var(--orange-soft),var(--surface));border-radius:var(--r-lg);padding:22px;margin-top:40px}.overlooked h2{margin-bottom:6px}.overlooked .muted{margin-bottom:14px}.weeks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.weeks li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:4px}.weeks b{color:var(--orange-ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.phrase-preview{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:8px}.phrase-preview li{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.pp-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--orange-soft);color:var(--orange-ink);font-weight:800;flex:none}.pp-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.pp-main b{font-size:18px}.pp-main small{color:var(--muted);font-style:italic}.voice-note{margin:4px 0 12px}.article-banner{background:var(--orange-soft);border-radius:var(--r-md);padding:10px 14px;font-size:15px;margin:0 0 12px}.article-banner a{font-weight:700;color:var(--orange-ink)!important}.cta-box .btn.ghost-light{border-color:rgba(255,255,255,.35);color:#fff}