:root{--bg: #080909;--surface: #171716;--surface-2: #1f1f1d;--surface-3: #282824;--gold: #ffe9a0;--champagne: #c7ac6a;--gold-dim: rgba(255, 233, 160, .18);--line: rgba(199, 172, 106, .32);--line-strong: rgba(255, 233, 160, .6);--ivory: #efe8d6;--muted: #a69f8c;--ok: #9fe0a8;--ok-bg: rgba(110, 200, 130, .12);--bad: #ff9b8a;--bad-bg: rgba(255, 120, 100, .12);--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 40px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 233, 160, .05);--font-head: Georgia, "Times New Roman", "Noto Serif SC", "Songti SC", "STSong", serif;--font-body: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 70% -10%,rgba(255,233,160,.06),transparent 60%),var(--bg);color:var(--ivory);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);color:var(--gold);letter-spacing:.02em;line-height:1.25;margin:0 0 .5em}h1{font-size:clamp(1.5rem,3vw,2rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75em}a{color:var(--gold)}small,.muted{color:var(--muted)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 12px;border-radius:8px;z-index:100}.skip:focus{left:8px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid var(--line);background:linear-gradient(180deg,#0d0e0d,#090a0a);display:flex;flex-direction:column;gap:6px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.brand img{width:44px;height:44px}.brand b{display:block;font-family:var(--font-head);color:var(--gold);font-size:1.15rem}.brand span{font-size:.72rem;color:var(--champagne);letter-spacing:.12em;text-transform:uppercase}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:none;cursor:pointer;text-align:left;color:var(--ivory);min-height:44px}.nav-btn:hover{background:var(--surface)}.nav-btn[aria-current=page]{background:var(--gold-dim);border-color:var(--line);color:var(--gold)}.nav-ico{width:22px;text-align:center;opacity:.9}.main{min-width:0;padding:24px clamp(14px,3vw,40px) 120px;max-width:1180px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-24px calc(-1*clamp(14px,3vw,40px)) 18px;padding:10px clamp(14px,3vw,40px);position:sticky;top:0;z-index:30;background:#080909e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(199,172,106,.12);min-height:56px}.topbar .mobile-brand{display:none;align-items:center;gap:8px}.topbar .mobile-brand img{width:34px;height:34px}.bottom-nav{display:none}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar .mobile-brand{display:flex}.main{padding:14px 16px 110px}.topbar{margin:-14px -16px 14px;padding:8px 16px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:40;background:#0c0d0cf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{background:none;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;min-height:52px;cursor:pointer;border-radius:10px}.bottom-nav button[aria-current=page]{color:var(--gold);background:var(--gold-dim)}.bottom-nav .nav-ico{font-size:1.15rem}}.card{background:linear-gradient(180deg,var(--surface),#131312);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}@media (max-width: 860px){.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.stack>*+*{margin-top:12px}.divider{height:1px;background:var(--line);margin:16px 0;border:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;color:var(--champagne);background:#ffe9a00a}.pill.ok{color:var(--ok);border-color:#9fe0a866}.pill.bad{color:var(--bad);border-color:#ff9b8a66}.stat{padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line)}.stat b{display:block;font-size:1.6rem;color:var(--gold);font-family:var(--font-head);line-height:1.1}.stat span{font-size:.82rem;color:var(--muted)}.list{list-style:none;padding:0;margin:0}.list li{padding:10px 0;border-bottom:1px solid rgba(199,172,106,.14)}.list li:last-child{border-bottom:none}.empty{text-align:center;padding:28px 12px;color:var(--muted)}.hint{font-size:.82rem;color:var(--muted)}.warn{color:#ffd38a;font-size:.88rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--ivory);font-weight:600;transition:transform .12s ease,background .2s,border-color .2s}.btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#ffe9a0,#d9bf7c);color:#1a1505;border-color:#ffe9a0}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#fff1bf,#e5cc8a)}.btn.ghost{background:transparent}.btn.danger{border-color:#ff9b8a80;color:var(--bad)}.btn.big{min-height:54px;font-size:1.05rem;padding:12px 24px}.btn.small{min-height:36px;padding:6px 12px;font-size:.88rem}.btn.block{width:100%}.stop-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,155,138,.55);background:#ff78641a;color:var(--bad);font-weight:700;cursor:pointer}.stop-btn.active{animation:pulse-ring 1.2s ease-in-out infinite}.stop-float{position:fixed;right:16px;bottom:84px;z-index:50;box-shadow:0 6px 24px #00000080}@media (min-width: 861px){.stop-float{bottom:24px}}label.field{display:block}label.field>span{display:block;font-size:.85rem;color:var(--champagne);margin-bottom:6px}input[type=text],input[type=number],select,textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#0f100f;color:var(--ivory)}input[type=range]{width:100%;accent-color:var(--gold)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;min-height:44px;cursor:pointer}.toggle input{width:22px;height:22px;accent-color:var(--gold);flex:none}.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.seg button{background:none;border:none;padding:8px 14px;min-height:40px;cursor:pointer;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--gold-dim);color:var(--gold)}.choice{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;width:100%;min-height:56px}.choice[aria-pressed=true],.choice[aria-checked=true]{border-color:var(--gold);background:var(--gold-dim)}.progress{height:8px;border-radius:999px;background:#0f100f;border:1px solid rgba(199,172,106,.25);overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--champagne),var(--gold));border-radius:inherit;transition:width .5s cubic-bezier(.2,.8,.2,1)}.qwrap{max-width:760px;margin:0 auto}.qcard{position:relative;overflow:hidden;padding:28px clamp(16px,4vw,36px);text-align:center}.qcard{isolation:isolate;border-color:transparent}.qcard>*{position:relative;z-index:1}.qcard>.arc{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none}.qcard>.arc:before{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(199,172,106,.6) 82%,#fff6d0 88%,rgba(255,233,160,.5) 91%,transparent 96%)}.qcard>.arc:after{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;border-radius:calc(var(--radius) - 1px);background:linear-gradient(180deg,var(--surface),#131312)}.fx-full .qcard>.arc:before{animation:spin 3.2s linear infinite}.fx-reduced .qcard>.arc:before{background:var(--line)}.fx-off .qcard>.arc:before{background:var(--line)}.qcard>.bolt,.qcard>.particles,.qcard>.paw-stamp{position:absolute;z-index:2}.word{font-family:var(--font-head);font-size:clamp(2.2rem,7vw,3.6rem);color:var(--gold);margin:6px 0 2px;word-break:break-word}.word.zh{letter-spacing:.08em}.phon{color:var(--champagne);font-size:1.05rem}.syl-row{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px 0 6px;flex-wrap:wrap}.syl{position:relative;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.98rem;transition:all .18s ease;min-width:44px}.syl.stress{font-weight:800}.syl.lit{color:#1a1505;background:var(--gold);border-color:var(--gold);box-shadow:0 0 18px #ffe9a08c}.fx-off .syl.lit{box-shadow:none}.syl .tone{display:block;font-size:.66rem;opacity:.8}.syl-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;transition:opacity .35s}.options.waiting{opacity:.7}@media (max-width: 560px){.options{grid-template-columns:1fr}}.opt{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;font-size:1.02rem;color:var(--ivory);transition:border-color .15s,background .15s,transform .12s}.opt:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3)}.opt:disabled{cursor:default}.opt .key{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:.8rem;border:1px solid var(--line);color:var(--champagne)}.opt.correct{border-color:var(--ok);background:var(--ok-bg)}.opt.wrong{border-color:var(--bad);background:var(--bad-bg)}.opt.dim{opacity:.55}.opt .mark{margin-left:auto;font-weight:800}.opt.recorded{border-color:var(--champagne);background:var(--gold-dim)}.q-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:14px}.explain{margin-top:16px;text-align:left;border-radius:var(--radius);padding:18px;border:1px solid var(--line);background:#121211}.explain.ok{border-color:#9fe0a873}.explain.bad{border-color:#ff9b8a73}.explain h3{display:flex;align-items:center;gap:8px}.ctx-sentence{font-size:1.25rem;color:var(--ivory);margin:12px 0 4px}.shake{animation:shake .36s ease}.fx-reduced .shake,.fx-off .shake{animation:none}.bolt{position:absolute;top:-10px;right:12%;width:70px;height:150px;pointer-events:none;opacity:0}.fx-full .bolt.on{animation:bolt .55s ease-out}.fx-reduced .bolt.on{animation:fade-once .6s ease-out}.particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particles i{position:absolute;left:50%;top:55%;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:0}.fx-full .particles.on i{animation:burst .9s ease-out forwards}.paw-stamp{position:absolute;right:18px;top:16px;font-size:2.6rem;opacity:0;transform:scale(1.8) rotate(-18deg);pointer-events:none;filter:drop-shadow(0 0 10px rgba(255,233,160,.6))}.paw-stamp.on{animation:stamp .5s cubic-bezier(.2,1.6,.4,1) forwards}.fx-off .paw-stamp.on{animation:none;opacity:1;transform:none}.celebrate-mark{display:flex;justify-content:center;margin-bottom:4px;filter:drop-shadow(0 0 18px rgba(255,233,160,.35))}.fx-full .celebrate-mark{animation:hop .6s ease 2}.wave{display:flex;align-items:flex-end;gap:3px;height:54px}.wave-curve{width:100%;height:100%;display:block;color:var(--gold);overflow:visible}.wave-baseline{fill:none;stroke:currentColor;stroke-width:1;opacity:.16}.strength-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.strength-presets .choice{display:grid;text-align:center;justify-content:center;gap:4px;padding:14px 6px}.strength-presets b{font-size:1.2rem;color:var(--gold)}.strength-presets span{font-size:.75rem;color:var(--muted)}.voice-prepare .stack{display:grid;gap:12px}.voice-prepare{width:min(440px,calc(100% - 32px))}.voice-orbit{text-align:center;margin:18px auto}.wave i{flex:1;background:linear-gradient(180deg,var(--gold),var(--champagne));border-radius:3px 3px 1px 1px;min-height:2px;opacity:.85}.sim{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:14px;background:#0e0f0e}.sim-units{display:flex;gap:6px;height:64px;align-items:flex-end}.sim-unit{flex:1;display:flex;align-items:flex-end;gap:2px;height:100%;opacity:.25;transition:opacity .1s}.sim-unit.on{opacity:1}.sim-unit i{flex:1;background:var(--gold);border-radius:2px}.sim-gap{width:6px}.log{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;max-height:320px;overflow:auto}.log table{width:100%;border-collapse:collapse}.log td,.log th{padding:5px 6px;border-bottom:1px solid rgba(199,172,106,.12);text-align:left;vertical-align:top}.log th{color:var(--champagne);position:sticky;top:0;background:var(--surface)}.chart{width:100%;height:auto}.chart text{fill:var(--muted);font-size:10px}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%);background:#1d1c18;border:1px solid var(--line-strong);color:var(--gold);padding:10px 18px;border-radius:999px;z-index:80;box-shadow:var(--shadow);max-width:calc(100% - 32px);text-align:center}.fx-full .toast{animation:rise .3s ease}dialog{background:var(--surface);color:var(--ivory);border:1px solid var(--line-strong);border-radius:var(--radius);padding:22px;max-width:min(520px,calc(100% - 32px))}dialog::backdrop{background:#000000b3}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}@media (max-width: 860px){.hero{grid-template-columns:1fr}}.logo-lockup{display:flex;flex-direction:column;align-items:center;gap:4px}.logo-lockup img{width:min(220px,60vw)}.logo-lockup .zh{font-family:var(--font-head);font-weight:900;font-size:2rem;color:var(--gold);letter-spacing:.18em}.logo-lockup .en{font-size:.78rem;color:var(--champagne);letter-spacing:.3em;text-transform:uppercase}.rhythm-dots{display:flex;gap:8px;align-items:center}.rhythm-dots i{width:7px;height:7px;border-radius:50%;background:var(--gold)}.rhythm-dots b{width:36px;height:1px;background:var(--champagne)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes bolt{0%{opacity:0;transform:translateY(-20px) scaleY(.6)}25%{opacity:1;transform:none}to{opacity:0}}@keyframes fade-once{0%{opacity:0}30%{opacity:.7}to{opacity:0}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4)}}@keyframes stamp{to{opacity:1;transform:scale(1) rotate(-12deg)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)}}@keyframes pulse-ring{0%,to{box-shadow:0 0 #ffe9a059}50%{box-shadow:0 0 0 7px #ffe9a000}}@keyframes rise{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mobile-only{display:none}.topbar-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.device-indicator{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:6px 12px;color:var(--muted);cursor:pointer;font-size:.8rem}.device-indicator.armed,.device-indicator.connected{color:var(--gold);border-color:var(--line-strong)}.connected .connection-dot{animation:connection-glow 2.4s ease-in-out infinite}.stop-btn{transition:background .2s,box-shadow .2s,transform .15s}.stop-btn:active{transform:scale(.94)}.stop-btn.resume-control{color:var(--gold);border-color:var(--line-strong);background:#c7ac6a21}.stop-btn.resume-control:not(:disabled) .control-symbol{animation:connection-glow 2.4s ease-in-out infinite}.stop-btn.pending{box-shadow:0 0 14px #ff786447}.stop-btn:disabled{opacity:.45;cursor:not-allowed}.pair-qr img{display:block;width:100%;height:auto}.start-guard{width:min(420px,calc(100% - 32px))}@keyframes connection-glow{50%{opacity:.55;text-shadow:0 0 10px currentColor}}.fx-reduced .connection-dot,.fx-off .connection-dot,.fx-reduced .control-symbol,.fx-off .control-symbol,.fx-reduced .stop-btn,.fx-off .stop-btn{animation:none!important}@media (prefers-reduced-motion: reduce){.connection-dot,.control-symbol,.stop-btn{animation:none!important;transition:none!important}}.device-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.device-config,.device-status{min-width:0}.device-status{border-left:1px solid var(--line);padding-left:24px}.device-actions{display:grid;gap:10px}.device-orbit{display:grid;place-items:center;margin:16px auto;width:110px;height:110px;border-radius:50%;color:var(--gold);border:1px solid var(--line-strong);box-shadow:inset 0 0 32px var(--gold-dim);font-size:3rem}.device-code,.device-error{display:block;overflow-wrap:anywhere;font-size:.78rem}.pair-qr{background:#fff;padding:4px;border-radius:12px;width:min(100%,240px)}.pair-qr svg{display:block;width:100%;height:auto}.device-panel details summary{color:var(--champagne);cursor:pointer;min-height:44px;padding:10px 0}.device-panel textarea{font-family:ui-monospace,monospace;resize:vertical}.device-panel input[type=file]{max-width:100%;font-size:.8rem}.grid>*{min-width:0}.grid>.card{margin-top:0}.log{width:100%;max-width:100%;min-width:0}@media (min-width: 1100px){.qwrap{max-width:1000px}.qcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:center;text-align:center}.qcard .question-stimulus{grid-column:1;padding:18px 0}.qcard .options{grid-column:2;grid-template-columns:1fr;margin:0}.qcard .q-actions{grid-column:1 / -1;margin-top:0}}@media (max-width: 860px){.mobile-only{display:block}.desktop-only{display:none!important}.device-workspace{display:flex;flex-direction:column;gap:18px}.device-config,.device-status{width:100%}.device-status{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.device-panel{padding:16px}.device-panel .btn{width:100%;min-height:48px}.device-panel .grid-2{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.pair-qr{margin-left:auto;margin-right:auto}.device-indicator{max-width:140px}.device-indicator span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-controls{gap:6px;min-width:0;flex:1;justify-content:flex-end}.topbar-controls .device-indicator{min-width:0}.topbar-controls .stop-btn{flex-shrink:0}.topbar .mobile-brand b{font-size:.9rem;white-space:nowrap}.stop-btn{min-height:44px;padding:6px 12px}.opt{min-height:58px}.q-actions .btn,.q-actions .seg button{min-height:48px}.qwrap .explain .btn.primary{width:100%}.main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.stop-float{bottom:calc(84px + env(safe-area-inset-bottom))}}@media (max-width: 600px){.topbar .mobile-brand b{display:none}}@media (max-width: 380px){.device-panel .grid-2{grid-template-columns:1fr}}.direction-picker .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.direction-picker .choice>div{min-width:0;overflow-wrap:anywhere}.channel-monitor{position:sticky;top:64px;z-index:20;margin-bottom:16px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#111210f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.channel-lane{min-width:0;color:var(--muted)}.channel-lane.selected{color:var(--gold)}.channel-lane svg{display:block;height:42px;width:100%}.channel-caption{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem}.question-next-bar{display:flex;justify-content:flex-end;margin-top:16px}.prosody-picks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.prosody-picks .btn{padding:8px}.prosody-picks [aria-pressed=true]{border-color:var(--gold);background:var(--gold-dim)}.prosody-word{font-size:2rem;margin:0}.prosody-chart{display:block;width:100%;height:auto}.prosody-chart text{fill:var(--muted);font-size:13px}.forecast summary{cursor:pointer;color:var(--champagne)}@media (max-width: 860px){.learning-shell .bottom-nav{display:none}.learning-shell .main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.question-next-bar{position:fixed;z-index:45;left:0;right:0;bottom:0;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#10110ff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.question-next-bar .btn{width:100%;min-height:52px}.channel-monitor{top:62px;padding:7px 10px}.channel-lane svg{height:30px}.channel-monitor small{font-size:.65rem}.prosody-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.forecast .stat{padding:8px}.forecast .stat b{font-size:1.2rem}.forecast .stat span{font-size:.72rem}}@media (max-width: 480px){.strength-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}.channel-switches{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;min-width:0}.channel-switches legend{padding:0 6px;color:var(--gold)}.channel-switches .toggle{padding:8px;border-radius:10px;background:#ffffff05}.channel-switches input[role=switch]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:99px;border:1px solid var(--line);background:#333;position:relative;transition:background .2s}.channel-switches input[role=switch]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#aaa;transition:transform .2s}.channel-switches input[role=switch]:checked{background:var(--gold)}.channel-switches input[role=switch]:checked:after{transform:translate(18px);background:#171510}.channel-switches input[role=switch]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.voice-download{display:grid;gap:6px}.voice-download progress{width:100%;height:10px;accent-color:var(--gold)}.voice-pack-row{padding:14px 0;border-bottom:1px solid var(--line)}.voice-pack-row small{display:block;overflow-wrap:anywhere}.review-stages{flex-wrap:wrap;gap:6px}.review-plan{padding-block:16px;border-top:1px solid var(--line)}.familiarity-actions{justify-content:center;flex-wrap:wrap;margin-top:24px}.familiarity-actions .btn{flex:1;min-width:180px}.word-introduction{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.plan-targets{flex-wrap:wrap}.plan-targets [aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#ffe9a018}.rhythm-atlas{max-width:1080px;margin-inline:auto}.atlas-intro h1{margin:8px 0 12px;font-size:clamp(1.7rem,4vw,2.5rem)}.eyebrow{font-size:.72rem;letter-spacing:.22em;color:var(--gold)}.atlas-modes .choice{align-items:flex-start;padding:20px}.atlas-modes .choice[aria-pressed=true]{border-color:var(--gold);background:linear-gradient(140deg,#ffe39720,#141412)}.atlas-modes .pill{margin-left:10px;font-size:.7rem}.atlas-modes p{margin:10px 0 0;color:var(--muted);font-size:.87rem;line-height:1.65}.atlas-mode-icon{font-size:2rem;color:var(--gold);line-height:1}.atlas-languages{display:flex;flex-wrap:wrap}.atlas-word-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.atlas-word-grid .btn{overflow-wrap:anywhere;min-width:0}.atlas-word-grid .btn[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#ffe39718}.atlas-word{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.atlas-word h2{font-size:clamp(1.8rem,5vw,2.6rem);margin:0;overflow-wrap:anywhere}.atlas-word p{margin:8px 0 0;color:var(--muted)}.atlas-unit-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.atlas-chart{display:block;width:100%;min-height:180px;overflow:visible}.atlas-chart text{fill:var(--muted);font-size:11px}.atlas-chart .wave-baseline{stroke:var(--line)}.atlas-rule{margin:0;font-size:.9rem;line-height:1.7}.atlas-play{flex-wrap:wrap}.atlas-play .primary{flex:1}.atlas-related{flex-wrap:wrap}.atlas-explanation summary{font-weight:650;color:var(--gold);cursor:pointer}.atlas-explanation[open] summary{margin-bottom:14px}.atlas-explanation p{margin:0;line-height:1.8}.atlas-explorer .channel-monitor{position:static}@media (max-width:600px){.atlas-word-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.atlas-modes .choice{padding:15px}.atlas-word{align-items:flex-start;flex-direction:column}.atlas-explorer{padding:16px}.atlas-explorer h2{font-size:1.1rem}.atlas-word h2{font-size:2rem}}.atlas-chart{min-height:0}.atlas-track{margin:8px 0}.atlas-track small{display:block;font-size:.78rem}.atlas-track svg{display:block;width:100%;height:82px}@media (max-width:600px){.atlas-word-grid .btn{font-size:.78rem;padding:8px 4px}}.download-trivia{padding:16px;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(135deg,#2b2618,#161615);min-height:150px}.download-trivia .row{gap:6px}.language-mark{font-size:2rem;color:var(--gold);min-width:42px}.assessment-languages .choice[aria-pressed=true]{border-color:var(--gold);background:#302919}.vocabulary-result{text-align:center;align-items:center;background:radial-gradient(ellipse at top,#3a301b,#181816 75%)}.vocabulary-number{font-family:var(--font-head);font-size:clamp(2rem,8vw,4rem);color:var(--gold);line-height:1.2;overflow-wrap:anywhere}@media (max-width: 600px){.assessment-languages{grid-template-columns:1fr}.download-trivia{padding:12px}}
