@font-face{font-family:Noto Sans SC Subset;src:url(/fonts/zh-400.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:Noto Sans SC Subset;src:url(/fonts/zh-600.woff2)format("woff2");font-weight:600;font-display:block}:root{--ground:#f2f5f6;--surface:#fff;--raised:#fff;--sunk:#e7ecee;--rule:#d6dee1;--rule-soft:#e6ecee;--ink:#0d1215;--ink-muted:#4c5b62;--ink-faint:#7e8e96;--t1:#3a6fcc;--t2:#1c8b58;--t3:#a8640f;--t4:#be3f86;--t5:#7e8e96;--t1-wash:#e8effb;--t2-wash:#e2f3ea;--t3-wash:#f7eee1;--t4-wash:#fae8f2;--good:#1c8b58;--bad:#c23b32;--accent:var(--t1);--shadow-sm:0 1px 2px #0d12150f;--shadow-md:0 2px 4px #0d12150d, 0 12px 28px -18px #0d121559;--ui:"Golos Text", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--zh:"Noto Sans SC Subset", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--r-sm:6px;--r-md:10px;--r-lg:16px;--page:62rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0d1215;--surface:#151c21;--raised:#1b242a;--sunk:#0a0f12;--rule:#26333a;--rule-soft:#1e2930;--ink:#e8eff2;--ink-muted:#93a6af;--ink-faint:#61737c;--t1:#5c93e8;--t2:#2fa86e;--t3:#ca8020;--t4:#d65ba0;--t5:#7e8e96;--t1-wash:#16243a;--t2-wash:#102a1f;--t3-wash:#2c1f0c;--t4-wash:#2e1526;--good:#2fa86e;--bad:#e2645a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -18px #000000e6}}:root[data-theme=dark]{--ground:#0d1215;--surface:#151c21;--raised:#1b242a;--sunk:#0a0f12;--rule:#26333a;--rule-soft:#1e2930;--ink:#e8eff2;--ink-muted:#93a6af;--ink-faint:#61737c;--t1:#5c93e8;--t2:#2fa86e;--t3:#ca8020;--t4:#d65ba0;--t5:#7e8e96;--t1-wash:#16243a;--t2-wash:#102a1f;--t3-wash:#2c1f0c;--t4-wash:#2e1526;--good:#2fa86e;--bad:#e2645a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -18px #000000e6}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.py{font-family:var(--zh);font-feature-settings:"kern" 1}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.tone-1{--tone:var(--t1);--tone-wash:var(--t1-wash)}.tone-2{--tone:var(--t2);--tone-wash:var(--t2-wash)}.tone-3{--tone:var(--t3);--tone-wash:var(--t3-wash)}.tone-4{--tone:var(--t4);--tone-wash:var(--t4-wash)}.tone-5{--tone:var(--t5);--tone-wash:var(--sunk)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule-soft);align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:.55rem;font-weight:600;display:flex}.brand-mark{width:26px;height:26px;display:block}.brand-name{font-size:.95rem}.tabs{gap:.15rem;margin-left:auto;display:flex}.tab{color:var(--ink-muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;padding:.4rem .7rem;font-size:.875rem;transition:background .15s,color .15s}.tab:hover{color:var(--ink);background:var(--sunk)}.tab.on{color:var(--ink);background:var(--sunk);font-weight:500}.topstats{align-items:center;gap:.4rem;display:flex}.badge{font-family:var(--mono);background:var(--sunk);color:var(--ink-muted);white-space:nowrap;border-radius:999px;padding:.25rem .5rem;font-size:.7rem}.content{width:100%;max-width:var(--page);flex:1;margin:0 auto;padding:1.5rem 1.25rem 5rem}@media (width<=560px){.topbar{flex-wrap:wrap;row-gap:.5rem;padding:.6rem .9rem}.tabs{order:3;justify-content:space-between;width:100%;margin-left:0}.tab{text-align:center;flex:1}.topstats{margin-left:auto}.content{padding:1.25rem .9rem 4rem}}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .35rem;font-size:1.6rem;font-weight:600}h2{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.05rem;font-weight:600}h3{color:var(--ink-muted);margin:0 0 .4rem;font-size:.8rem;font-weight:600}p{margin:0 0 .8rem}.lede{color:var(--ink-muted);max-width:40rem;margin:0 0 1.5rem}.eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .5rem;font-size:.68rem}.subtle{color:var(--ink-muted);font-size:.875rem}.tiny{color:var(--ink-faint);font-size:.78rem}.card{background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.1rem 1.2rem}.grid{gap:.9rem;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.stack{flex-direction:column;gap:.9rem;display:flex}.btn{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:var(--r-md);cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--ink-faint)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{color:var(--ink-muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--sunk);color:var(--ink)}.btn.big{border-radius:var(--r-lg);padding:.8rem 1.5rem;font-size:1rem}.btn.sm{padding:.35rem .65rem;font-size:.8rem}.staff{width:100%;height:auto;display:block}.staff-line{stroke:var(--rule);stroke-width:1px}.staff-line.edge{stroke:var(--rule)}.staff-label{fill:var(--ink-faint);font-family:var(--mono);font-size:9px}.staff-target{stroke:var(--tone,var(--ink-faint));stroke-width:2px;fill:none;stroke-linecap:round;opacity:.35}.staff-target.solo{opacity:1}.staff-voice{stroke:var(--tone,var(--accent));stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.staff-live{stroke:var(--accent);stroke-width:2.5px;fill:none;stroke-linecap:round}.staff-caption{fill:var(--ink-muted);font-family:var(--mono);font-size:10px}.tone-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}@media (width<=520px){.tone-grid{grid-template-columns:repeat(2,1fr)}}.tone-btn{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:.3rem;padding:.85rem .5rem .7rem;transition:border-color .15s,background .15s,transform 80ms;display:flex}.tone-btn:hover:not(:disabled){border-color:var(--tone);background:var(--tone-wash)}.tone-btn:active:not(:disabled){transform:translateY(1px)}.tone-btn:disabled{cursor:default}.tone-btn .glyph{width:42px;height:26px;display:block}.tone-btn .n{font-family:var(--mono);color:var(--tone);font-size:.85rem;font-weight:600}.tone-btn .name{color:var(--ink-faint);text-align:center;font-size:.68rem;line-height:1.25}.tone-btn.picked{border-color:var(--tone);background:var(--tone-wash)}.tone-btn.right{border-color:var(--good);background:var(--t2-wash)}.tone-btn.wrong{border-color:var(--bad)}.stage{flex-direction:column;gap:1.1rem;min-height:min(62vh,34rem);display:flex}.stage>.prompt,.stage>.choices,.stage>.tone-grid,.stage>.mic-wrap{flex:none}.stage-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.progress-track{background:var(--sunk);border-radius:999px;flex:1;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .35s}.prompt{background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--r-lg);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1.25rem;display:flex}.prompt-char{font-family:var(--zh);font-size:4.5rem;font-weight:400;line-height:1}.prompt-char.sm{font-size:2.6rem}.prompt-py{font-family:var(--zh);color:var(--tone,var(--ink));font-size:1.5rem;font-weight:600}.prompt-gloss{color:var(--ink-muted);max-width:28rem;font-size:.9rem}.choices{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;display:grid}.choice{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-family:var(--zh);justify-content:center;align-items:center;gap:.4rem;padding:.8rem .6rem;font-size:1.1rem;transition:border-color .15s,background .15s;display:flex}.choice:hover:not(:disabled){border-color:var(--ink-faint)}.choice .tn{font-family:var(--mono);color:var(--ink-faint);font-size:.7rem}.choice.right{border-color:var(--good);background:var(--t2-wash)}.choice.wrong{border-color:var(--bad);opacity:.8}.choice:disabled{cursor:default}.verdict{align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.verdict.no{color:var(--bad)}.mic-wrap{flex-direction:column;align-items:center;gap:.8rem;display:flex}.mic-btn{border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:72px;height:72px;transition:border-color .15s,background .15s;display:grid}.mic-btn:hover:not(:disabled){border-color:var(--accent)}.mic-btn.live{border-color:var(--bad);background:var(--t4-wash);animation:1.4s ease-in-out infinite pulse}.mic-btn:disabled{opacity:.45;cursor:not-allowed}.mic-btn svg{width:26px;height:26px}@keyframes pulse{50%{opacity:.6}}.level-track{background:var(--sunk);border-radius:999px;width:140px;height:3px;overflow:hidden}.level-fill{background:var(--accent);border-radius:999px;height:100%}.readout{font-family:var(--mono);color:var(--ink-faint);gap:1.25rem;font-size:.75rem;display:flex}.readout b{color:var(--ink-muted);font-weight:500}.notice{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface);color:var(--ink-muted);gap:.6rem;padding:.75rem .9rem;font-size:.85rem;line-height:1.5;display:flex}.notice.warn{border-color:color-mix(in srgb, var(--t3) 45%, var(--rule));background:var(--t3-wash);color:var(--ink)}.notice.bad{border-color:color-mix(in srgb, var(--bad) 45%, var(--rule));color:var(--ink)}.notice-icon{flex:none;width:18px;height:18px;margin-top:.1rem}.sk{background:linear-gradient(90deg, var(--sunk) 25%, var(--rule-soft) 37%, var(--sunk) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s ease-in-out infinite sheen}@keyframes sheen{0%{background-position:100%}to{background-position:0}}.sk.round{border-radius:50%}.sk.text{border-radius:3px;height:.8em}.stat{flex-direction:column;gap:.15rem;display:flex}.stat .v{font-family:var(--mono);letter-spacing:-.02em;font-size:1.5rem;font-weight:500}.stat .k{color:var(--ink-faint);font-size:.75rem}.heat{grid-template-rows:repeat(7,10px);grid-auto-flow:column;gap:3px;padding-bottom:.25rem;display:grid;overflow-x:auto}.heat i{background:var(--sunk);border-radius:2px;width:10px;height:10px;display:block}.bar-row{grid-template-columns:5.2rem 1fr 2.5rem;align-items:center;gap:.6rem;font-size:.8rem;display:grid}.bar-row>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--sunk);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--tone,var(--accent));border-radius:999px;height:100%}.bar-val{font-family:var(--mono);color:var(--ink-muted);text-align:right;font-size:.75rem}.field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.field label{color:var(--ink-muted);font-size:.82rem}.field select,.field input[type=range]{width:100%}.field select{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface);padding:.5rem .6rem}.toggle{border-bottom:1px solid var(--rule-soft);align-items:flex-start;gap:.6rem;padding:.6rem 0;display:flex}.toggle:last-child{border-bottom:0}.toggle input{width:16px;height:16px;accent-color:var(--accent);margin-top:.25rem}.toggle .t{font-size:.9rem}.toggle .d{color:var(--ink-faint);font-size:.78rem}.boot{place-items:center;gap:1rem;min-height:100vh;display:grid}.boot-inner{flex-direction:column;align-items:center;gap:.9rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-theme]{--navy:#fff;--ground:#fff;--mist:#f5f5f7;--frost:#fafafc;--void:#fafafc;--surface:#fff;--raised:#fff;--sunk:#f5f5f7;--halo:#f5f5f7;--rule:#d6d6d6;--rule-soft:#e6e6e8;--ink:#1d1d1f;--ink-muted:#707070;--ink-faint:#86868b;--cyan:#06c;--cyan-deep:#0071e3;--twilight:#d6d6d6;--lilac:#f5f5f7;--glass:#fff;--card:#fff;--bar:#ffffffd1;--good-wash:#edf7f1;--bad-wash:#fdf1f1;--blue-wash:#eaf2fd;--warn-wash:#fdf3ea;--glass-line:#e6e6e8;--good:#1d8a4e;--bad:#d12d2d;--mid:#b64400;--t1:#2f6fd1;--t2:#188a50;--t3:#b06a00;--t4:#c03c8a;--t5:#86868b;--t1-wash:#eaf1fc;--t2-wash:#e5f4ec;--t3-wash:#f8efe1;--t4-wash:#f9e8f2;--serif:"SF Pro Display", "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--logo:"SF Pro Display", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--ui:"SF Pro Text", "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--mono:"SF Pro Text", "Inter", -apple-system, sans-serif;--zh:"Noto Sans SC Subset", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--r:28px;--tab-h:64px}html{background:var(--navy)}body{background:var(--navy);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased}.x{isolation:isolate;min-height:100dvh;position:relative}.stars{z-index:-1;pointer-events:none;background:radial-gradient(1200px 700px at 85% -10%, #2c9db033, transparent 60%), radial-gradient(900px 600px at -10% 110%, #5446be29, transparent 60%), radial-gradient(1px 1px at 10% 20%, #ffffff80 50%, transparent 51%), radial-gradient(1px 1px at 30% 70%, #ffffff80 50%, transparent 51%), radial-gradient(1.5px 1.5px at 55% 35%, #fffc 50%, transparent 51%), radial-gradient(1px 1px at 75% 80%, #ffffff8c 50%, transparent 51%), radial-gradient(1px 1px at 90% 15%, #fff9 50%, transparent 51%), radial-gradient(1.2px 1.2px at 45% 90%, #ffffff73 50%, transparent 51%), var(--navy);background-size:auto,auto,240px 240px,310px 310px,380px 380px,270px 270px,420px 420px,350px 350px,auto;position:fixed;inset:0}.x-top{z-index:20;height:64px;padding:0 max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-line);background:#04101fc7;align-items:center;gap:24px;display:flex;position:sticky;top:0}.x-logo{font-family:var(--logo);color:#fff;letter-spacing:-.2px;white-space:nowrap;font-size:19px;font-weight:600;text-decoration:none}.x-logo i{color:#5fd0e1;font-style:normal}.x-nav{scrollbar-width:none;gap:2px;margin-left:8px;display:flex;overflow-x:auto}.x-nav::-webkit-scrollbar{display:none}.x-nav a{height:64px;color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:15px;text-decoration:none;display:flex;position:relative}.x-nav a:hover,.x-nav a[aria-current=page]{color:#fff}.x-nav a[aria-current=page]:after{content:"";background:var(--cyan);border-radius:2px;height:3px;position:absolute;bottom:0;left:12px;right:12px}.x-streak{color:var(--ink-muted);white-space:nowrap;margin-left:auto;font-size:14px}.pill{background:var(--cyan);color:#04101f;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.x-tabs{display:none}.x-sheet{z-index:40;background:#0208128c;align-items:flex-end;display:flex;position:fixed;inset:0}.x-sheet-in{width:100%;padding:12px 12px calc(var(--tab-h) + 12px + env(safe-area-inset-bottom));border-top:1px solid var(--glass-line);background:#0a1a2e;border-radius:22px 22px 0 0;grid-template-columns:1fr 1fr;gap:8px;display:grid}.x-sheet-in a{background:var(--glass);color:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.x-sheet-in a[aria-current=page]{outline:1px solid var(--cyan)}.x-sheet-in .zh{color:var(--cyan);font-size:20px}@media (width<=860px){.x-nav{display:none}.x-top{height:56px}.x-tabs{z-index:50;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-line);background:#061222eb;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.x-tabs a,.x-tabs button{color:var(--ink-muted);font:500 11px var(--ui);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;text-decoration:none;display:flex;position:relative}.x-tabs .zh{font-size:20px;line-height:1.1}.x-tabs a[aria-current=page],.x-tabs button.on{color:var(--cyan)}.x-tabs .pill{min-width:17px;height:17px;font-size:10px;position:absolute;top:6px;left:calc(50% + 8px)}.x-main{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 16px)}}.page{width:100%;max-width:1080px;margin:0 auto;padding:28px 20px 48px}.page.narrow{max-width:720px}.serif{font-family:var(--serif);font-weight:400}.h1{margin:4px 0 10px;font-size:clamp(30px,5vw,44px);line-height:1.15}.h2{margin:0 0 6px;font-size:clamp(22px,3.4vw,28px)}.lead{max-width:680px;margin:0 0 22px;font-size:16px;line-height:1.55}.small{font-size:13px}.note{margin-top:24px}.center-text{text-align:center}.zh{font-family:var(--zh)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.end{justify-content:flex-end;margin-top:16px}.link{color:var(--cyan);font-size:14px;text-decoration:none}.back{color:var(--ink-muted);cursor:pointer;font-size:14px;font-family:var(--ui);background:0 0;border:0;margin-bottom:14px;padding:0;text-decoration:none;display:inline-block}.back:hover{color:#fff}.panel{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r);margin-bottom:18px;padding:22px}.hint{color:var(--ink-muted);margin:0 0 16px;font-size:14px;line-height:1.5}.warn{color:#f3cf91;background:#e8a43a1a;border:1px solid #e8a43a59;border-radius:12px;margin:0 0 14px;padding:12px 14px;font-size:14px;line-height:1.45}.eyebrow{letter-spacing:3px;color:var(--cyan);font-size:12px}.btn{border:1px solid var(--glass-line);background:var(--glass);color:#fff;min-height:44px;font:500 15px var(--ui);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff17;border-color:#fff3}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:#071227;background:linear-gradient(#fff 0%,#d8ecfe 9%,#dceefe 72%,#f4f9ff 100%);border-color:#0000;font-weight:600;box-shadow:0 6px 18px -8px #ffffff80,inset 0 0 0 1.5px #ffffffe6}.btn.primary:hover:not(:disabled){background:linear-gradient(#fff,#e8f4ff)}.btn.danger{color:var(--bad);border-color:#f0727259;margin-top:14px}.chip{border:1px solid var(--glass-line);background:var(--glass);min-height:36px;color:var(--ink);font:500 14px var(--ui);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--cyan)}.chip.on{border-color:var(--cyan);color:var(--cyan)}.chip.zh{justify-content:center;min-width:44px;font-size:20px}.say{border:1px solid var(--glass-line);background:var(--glass);min-width:40px;height:40px;color:var(--cyan);cursor:pointer;font:500 14px var(--ui);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.say svg{width:20px;height:20px}.say.on{border-color:var(--cyan);background:#79dce826}.say-big{justify-content:center;width:72px;height:72px;padding:0}.say-big svg{width:34px;height:34px}.py{font-family:var(--ui);letter-spacing:.2px}.py .t1{color:var(--t1)}.py .t2{color:var(--t2)}.py .t3{color:var(--t3)}.py .t4{color:var(--t4)}.py .t5{color:var(--t5)}.py-l{font-size:22px}.toneseq{gap:6px;display:inline-flex}.tone-chip{border:1.5px solid;border-radius:10px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-weight:600;display:inline-flex}.tone-chip.t1{color:var(--t1)}.tone-chip.t2{color:var(--t2)}.tone-chip.t3{color:var(--t3)}.tone-chip.t4{color:var(--t4)}.tone-chip.t5{color:var(--t5)}.hero-card{border:1px solid var(--glass-line);background:linear-gradient(135deg,#79dce81a,#ffffff08 50%,#5446be1a);border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:18px;padding:32px;display:grid;position:relative;overflow:hidden}.hero-card h1{margin:10px 0;font-size:clamp(26px,4.4vw,40px);line-height:1.18}.hero-card p{max-width:560px;margin:0 0 20px;line-height:1.55}.hero-zh{font-family:var(--zh);color:#79dce8d9;text-shadow:0 0 40px #79dce859;padding-right:8px;font-size:clamp(64px,11vw,132px);line-height:1}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--glass);border:1px solid var(--glass-line);border-radius:16px;flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stat b{font-family:var(--serif);color:#fff;font-size:28px;font-weight:400}.stat span{color:var(--ink-muted);font-size:13px}.worlds{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:30px;display:grid}.world{background:var(--glass);border:1px solid var(--glass-line);border-radius:18px;align-items:center;gap:16px;padding:18px;display:flex}.world h3{margin:0 0 4px;font-size:16px;font-weight:600}.world h3 .zh{color:var(--cyan);margin-right:4px}.world p{margin:0 0 10px;line-height:1.45}.planet-dot{border-radius:50%;flex:none;position:relative;overflow:hidden}.planet-dot img{object-fit:contain;width:104%;height:104%;position:absolute;inset:-2%}.planet-earth{background:radial-gradient(circle at 35% 30%,#7fc3ff,#1d5aa8 55%,#0a2246)}.planet-venus{background:radial-gradient(circle at 35% 30%,#ffe3a8,#d0893a 55%,#5b2d0e)}.planet-mars{background:radial-gradient(circle at 35% 30%,#ffb08a,#b9472a 55%,#4a1409)}.book{margin-bottom:28px}.lessons{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:14px;display:grid}.lesson-card{background:var(--glass);border:1px solid var(--glass-line);color:var(--ink);border-radius:16px;align-items:center;gap:14px;padding:16px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.lesson-card:hover{border-color:#79dce880;transform:translateY(-1px)}.lesson-card h3{margin:2px 0;font-size:17px;font-weight:600}.lesson-card p{margin:0}.lesson-n{letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);font-size:12px;text-decoration:none}.ring{flex:none;display:inline-flex;position:relative}.ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff1a;stroke-width:3px}.ring-fg{fill:none;stroke:var(--cyan);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .4s}.ring-in{margin:auto;font-size:15px;position:relative}.bar{background:#ffffff14;border-radius:3px;flex:1;height:6px;display:block;overflow:hidden}.bar>span{background:var(--cyan);border-radius:3px;height:100%;transition:width .3s;display:block}.lesson-head{margin-bottom:18px}.lesson-title h1{margin:6px 0;font-size:clamp(26px,4.6vw,38px);font-weight:400;line-height:1.2}.lesson-title h1 .zh{color:var(--cyan);margin-right:8px}.lesson-title p{margin:0 0 16px}.steps{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.step{border:1px solid var(--glass-line);background:var(--glass);color:var(--ink-muted);border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:10px 2px 8px;text-decoration:none;display:flex}.step-zh{font-family:var(--zh);font-size:20px;line-height:1}.step-t{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.step.done{color:var(--good);border-color:#3fc68a59}.step.cur{color:#04101f;background:var(--cyan);border-color:var(--cyan)}.step-h{font-family:var(--serif);align-items:center;gap:12px;margin:0 0 16px;font-size:24px;font-weight:400;display:flex}.step-num{border:1.5px solid var(--cyan);width:34px;height:34px;color:var(--cyan);font:600 15px var(--ui);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.zh-xxl{font-family:var(--zh);font-size:clamp(72px,16vw,120px);line-height:1.1}.zh-xl{font-family:var(--zh);font-size:clamp(54px,12vw,84px);line-height:1.15}.zh-l{font-family:var(--zh);font-size:clamp(30px,6vw,42px);line-height:1.3}.hz-card{grid-template-columns:1fr auto;align-items:center;gap:24px;display:grid}.hz-main{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.hz-ru{margin:0;font-size:18px}.hz-stroke{flex-direction:column;align-items:center;gap:10px;display:flex}.stroke{flex-direction:column;align-items:center;gap:8px;display:flex}.stroke-grid{border:1px solid var(--glass-line);background:linear-gradient(#ffffff12,#ffffff12) 50%/100% 1px no-repeat,linear-gradient(#ffffff12,#ffffff12) 50%/1px 100% no-repeat,#0000002e;border-radius:16px}.stroke-grid.load{animation:1.2s ease-in-out infinite pulse}.dots{flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0 14px;display:flex}.dots span{background:#ffffff26;border-radius:50%;width:7px;height:7px}.dots .on{background:var(--cyan);transform:scale(1.3)}.all-words{margin-top:20px}.all-words summary{cursor:pointer;color:var(--ink-muted);font-size:14px}.wordlist{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.wordlist li{background:#ffffff08;border-radius:12px;grid-template-columns:minmax(64px,auto) minmax(90px,auto) 1fr auto;align-items:center;gap:14px;padding:8px 10px 8px 14px;display:grid}.wordlist li .zh{font-size:22px}.deck li{grid-template-columns:minmax(64px,auto) minmax(90px,auto) 1fr auto auto}.quiz-top{align-items:center;gap:12px;margin-bottom:18px;display:flex}.q-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:160px;margin-bottom:18px;animation:.35s cubic-bezier(.22,1,.36,1) rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.q-ask{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:13px}.q-ru{font-family:var(--serif);font-size:clamp(22px,4.6vw,30px);line-height:1.3}.q-bare{letter-spacing:.5px;margin:0;font-size:22px}.opts{gap:10px;display:grid}.opts-grid{grid-template-columns:1fr 1fr}.opt{border:1px solid var(--glass-line);background:var(--glass);min-height:56px;color:var(--ink);font:500 17px var(--ui);text-align:left;cursor:pointer;border-radius:14px;padding:12px 16px;transition:border-color .15s,background .15s}.opts-grid .opt{text-align:center;justify-content:center;align-items:center;display:flex}.opt.dim{opacity:.5}.opt:disabled{cursor:default}.opt-zh{flex-direction:column;align-items:center;gap:2px;display:flex}.opt-zh .zh{font-size:28px}.quiz-foot{justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-top:18px;display:flex}.verdict{font-size:17px;font-weight:600}.verdict.ok{color:var(--good)}.verdict.bad{color:var(--bad)}.answer{margin:12px 0}.build-line{border:1.5px dashed var(--glass-line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;margin-bottom:12px;padding:10px;display:flex}.build-line.ok{border-style:solid;border-color:var(--good)}.build-line.bad{border-style:solid;border-color:var(--bad)}.build-bank{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.tile{border:1px solid var(--glass-line);background:var(--raised);color:#fff;min-height:48px;font:22px var(--zh);cursor:pointer;border-radius:12px;padding:0 16px}.tile:disabled{opacity:.25}.tile.on{border-color:var(--cyan);opacity:1;background:#79dce81f}.result{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 0;display:flex}.result-num{font-family:var(--serif);color:var(--cyan);font-size:64px;line-height:1}.result-num.bad{color:var(--mid)}.dialogue{margin-top:28px}.dialogue h3{font-family:var(--serif);font-size:20px;font-weight:400}.line{background:#ffffff08;border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:grid}.line .who{width:34px;height:34px;color:var(--cyan);background:#79dce824;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.line.b .who{color:var(--t4);background:#e46aae24}.line .zh{font-size:20px}.speak-card{text-align:center;background:#0000002e;border-radius:18px;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px;padding:20px;display:flex}.speak-zh span{transition:color .2s}.m-ok{color:var(--good)}.m-sound{color:var(--mid)}.m-miss{color:var(--bad)}.mic{cursor:pointer;height:56px;font:600 16px var(--ui);color:#04101f;background:var(--cyan);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 24px;display:inline-flex;box-shadow:0 0 #79dce899}.mic svg{width:22px;height:22px}.mic.rec{background:#ff8a8a;animation:1.2s ease-out infinite ping}.mic:disabled:not(.rec){opacity:.4}@keyframes ping{0%{box-shadow:0 0 #ff8a8a99}to{box-shadow:0 0 0 18px #ff8a8a00}}.heard{font-family:var(--zh);color:var(--ink-muted);margin:0;font-size:20px}.speak-res{border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;display:flex}.speak-res b{font-family:var(--serif);font-size:34px;font-weight:400}.speak-res.ok{background:#3fc68a1a}.speak-res.ok b{color:var(--good)}.speak-res.mid{background:#e8b24c1a}.speak-res.mid b{color:var(--mid)}.speak-res.bad{background:#f072721a}.speak-res.bad b{color:var(--bad)}.gram{border:1px solid var(--glass-line);background:#ffffff08;border-radius:16px;margin:8px 0 16px;padding:20px}.gram h3{font-family:var(--serif);margin:0 0 10px;font-size:21px;font-weight:400}.formula{color:var(--cyan);font-family:var(--zh);background:#79dce81a;border:1px solid #79dce84d;border-radius:12px;margin-bottom:10px;padding:10px 14px;font-size:17px;display:inline-block}.gram p{color:#d9e5ef;margin:0 0 12px;line-height:1.6}.examples{gap:8px;margin:0;padding:0;list-style:none;display:grid}.examples li{background:#00000029;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.examples .zh{font-size:20px}.pitfall{border-left:3px solid var(--bad);background:#f072720f;border-radius:0 12px 12px 0;margin-top:12px;padding:10px 14px}.pitfall s{color:var(--bad)}.pitfall b{color:var(--good);font-weight:500}.review{flex-direction:column;gap:16px;display:flex}.flash{border:1px solid var(--glass-line);width:100%;min-height:280px;color:var(--ink);cursor:pointer;font-family:var(--ui);background:linear-gradient(160deg,#79dce814,#ffffff08);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.flash-front,.flash-back{flex-direction:column;align-items:center;gap:8px;display:flex}.flash-back{border-top:1px solid var(--glass-line);width:100%;padding-top:14px;animation:.3s rise}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grade{border:1px solid var(--glass-line);background:var(--glass);color:#fff;min-height:64px;font:600 15px var(--ui);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.grade .small{color:var(--ink-muted);font-weight:400}.grade.g1{border-color:#f0727273}.grade.g3{border-color:#e8b24c73}.grade.g4{border-color:#3fc68a73}.grade.g5{border-color:#79dce880}.cards-top{flex-direction:column;gap:14px;display:flex}.big-num{font-family:var(--serif);color:var(--cyan);font-size:44px;font-weight:400}.toggle{align-items:center;gap:6px;display:inline-flex}select,.search{font:15px var(--ui);color:var(--ink);background:var(--sunk);border:1px solid var(--glass-line);border-radius:12px;min-height:40px;padding:0 12px}.search{width:100%;max-width:420px;min-height:48px;margin-bottom:14px}.search.sel{width:auto}.tone-intro{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.tone-card{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.tone-card svg{width:60px;height:40px}.tone-card path{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.tone-card.t1{color:var(--t1)}.tone-card.t2{color:var(--t2)}.tone-card.t3{color:var(--t3)}.tone-card.t4{color:var(--t4)}.tone-card b{color:var(--ink);font-weight:600}.syl-pick{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.syl-base{font-family:var(--serif);min-width:80px;font-size:34px}.tone-btn{cursor:pointer;min-width:72px;font:600 20px var(--ui);background:0 0;border:1.5px solid;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;display:flex}.tone-btn.t1{color:var(--t1)}.tone-btn.t2{color:var(--t2)}.tone-btn.t3{color:var(--t3)}.tone-btn.t4{color:var(--t4)}.tone-btn .zh{color:var(--ink-muted);font-weight:400}.tone-btn.empty{color:var(--ink-faint);border-color:var(--rule-soft);justify-content:center}.chart-wrap{border:1px solid var(--glass-line);-webkit-overflow-scrolling:touch;background:#00000026;border-radius:16px;max-height:62vh;overflow:auto}.chart{border-collapse:separate;border-spacing:0;font-size:13px}.chart th{color:var(--cyan);z-index:1;background:#0a1a2e;padding:8px 6px;font-weight:600;position:sticky;top:0}.chart tbody th{z-index:2;text-align:right;padding-right:10px;position:sticky;top:auto;left:0}.chart thead th:first-child{z-index:3;left:0}.chart td{border-bottom:1px solid #ffffff0a;padding:2px}.chart td button{min-width:50px;height:34px;color:var(--ink);font:14px var(--ui);cursor:pointer;background:#ffffff0d;border:0;border-radius:8px}.hz-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;display:grid}.hz-cell{background:var(--glass);border:1px solid var(--glass-line);color:var(--ink);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;text-decoration:none;display:flex}.hz-cell .zh{font-size:30px;line-height:1.2}.hz-cell .py{font-size:12px}.hz-cell:hover{border-color:var(--cyan)}.hz-detail{grid-template-columns:1fr auto;align-items:start;gap:24px;display:grid}.facts{text-align:left;grid-template-columns:auto 1fr;gap:6px 14px;margin:10px 0 0;display:grid}.facts dt{color:var(--ink-muted);font-size:13px}.facts dd{margin:0}.facts a{color:var(--cyan);margin-right:6px;text-decoration:none}.form{flex-direction:column;gap:14px;display:flex}.form h3{font-family:var(--serif);margin:0;font-size:20px;font-weight:400}.form label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.form label.check{color:var(--ink);flex-direction:row;align-items:center;gap:10px}.form input[type=range]{accent-color:var(--cyan)}.seg{background:var(--glass);border:1px solid var(--glass-line);border-radius:999px;flex-wrap:wrap;gap:4px;margin-bottom:18px;padding:4px;display:inline-flex}.seg button{min-height:38px;color:var(--ink-muted);font:500 14px var(--ui);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px}.legacy .card{background:var(--glass);border-color:var(--glass-line)}.sk-block{background:var(--glass);border-radius:24px;height:240px;animation:1.2s infinite pulse}@media (width<=900px){.worlds{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.hz-card,.hz-detail{grid-template-columns:1fr;justify-items:center}}@media (width<=600px){.page{padding:18px 16px 40px}.hero-card{grid-template-columns:1fr;padding:22px}.hero-zh{opacity:.14;z-index:0;pointer-events:none;font-size:96px;position:absolute;bottom:-14px;right:-6px}.hero-copy{z-index:1;position:relative}.steps{grid-template-columns:repeat(4,1fr)}.panel{padding:16px}.opts-grid{grid-template-columns:1fr 1fr}.grades{grid-template-columns:repeat(2,1fr)}.tone-intro{grid-template-columns:1fr 1fr}.wordlist li,.deck li{grid-template-columns:auto 1fr auto;row-gap:2px}.wordlist li>span:nth-child(3){color:var(--ink-muted);grid-column:1/3;font-size:14px}.deck li>span:nth-child(4){display:none}.wordlist li .say{grid-area:1/3/3}.x-streak{font-size:13px}.btn.lg{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.audio-link{margin-top:8px}html,body{background:var(--ground);color:var(--ink)}body{font-family:var(--ui);letter-spacing:-.022em;font-size:17px}.stars{background:var(--ground)}.x-top{background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--rule-soft);height:52px}.x-logo{color:var(--ink);letter-spacing:.012em;font-size:19px;font-weight:600}.x-logo i{color:var(--ink-faint)}.x-nav a{color:#000c;letter-spacing:-.01em;height:52px;padding:0 10px;font-size:12px}.x-nav a:hover{color:var(--ink)}.x-nav a[aria-current=page]{color:var(--ink);font-weight:600}.x-nav a[aria-current=page]:after{display:none}.x-streak{color:var(--ink-muted);font-size:12px}.serif,.h1,.h2,.step-h,.gram h3,.dialogue h3,.form h3,.lesson-title h1,.hero-card h1{font-family:var(--serif);color:var(--ink);font-weight:600}.h1{letter-spacing:-.015em;margin:8px 0 12px;font-size:clamp(36px,6vw,56px);line-height:1.07}.h2{letter-spacing:-.01em;font-size:clamp(26px,3.6vw,40px);line-height:1.1}.hero-card h1{letter-spacing:-.015em;font-size:clamp(36px,6.4vw,64px);line-height:1.05}.lesson-title h1{letter-spacing:-.015em;font-size:clamp(30px,5vw,48px);line-height:1.08}.step-h{letter-spacing:-.01em;font-size:28px}.gram h3,.dialogue h3,.form h3{letter-spacing:-.005em;font-size:24px}.lead,.hero-card p{color:var(--ink);letter-spacing:-.022em;font-size:17px;line-height:1.47}.muted{color:var(--ink-muted)}.small{letter-spacing:-.016em;font-size:14px}.eyebrow,.lesson-n,.q-ask,.x-eyebrow{font-family:var(--serif);letter-spacing:.01em;text-transform:none;color:var(--mid);font-size:14px;font-weight:600}.q-ask{color:var(--ink-muted)}.link,a.link,.back{color:var(--cyan)}.btn{color:var(--ink);border:1px solid var(--ink-faint);font:400 14px var(--ui);letter-spacing:-.016em;min-height:40px;box-shadow:none;background:0 0;border-radius:9999px;padding:0 20px}.btn:hover:not(:disabled){background:var(--mist);color:var(--ink);border-color:var(--ink-faint)}.btn.primary{background:var(--cyan-deep);color:#fff;box-shadow:none;border:0;font-weight:400}.btn.primary:hover:not(:disabled){color:#fff;background:#0077ed}.btn.lg{min-height:48px;padding:0 26px;font-size:17px}.btn.danger{color:var(--bad);border-color:#d12d2d80}.chip{border:1px solid var(--ink-faint);color:var(--ink);background:0 0;border-radius:9999px;font-size:14px}.say{background:var(--mist);color:var(--cyan);border:0}.say.on{background:var(--blue-wash)}select,.search{background:var(--card);border:1px solid var(--ink-faint);color:var(--ink);border-radius:980px;padding:0 20px}:focus-visible{outline:2px solid var(--cyan-deep);outline-offset:3px}.x-main{background:var(--mist);min-height:calc(100vh - 52px)}.panel,.hero-card,.stat,.world,.lesson-card,.gram,.flash,.speak-card,.x-sheet-in a,.seg{background:var(--card);box-shadow:none;border:0;border-radius:28px}.panel{padding:28px}.hero-card{background:var(--card);border-radius:28px;padding:48px}.hero-zh{color:var(--ink);text-shadow:none}.stat{border-radius:20px}.stat b{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:34px;font-weight:600}.stat span{color:var(--ink-muted)}.stat b span{font:inherit;color:inherit;letter-spacing:inherit}.world{border-radius:28px;padding:24px}.world h3 .zh,.lesson-title h1 .zh{color:var(--ink)}.lesson-card{border-radius:20px}.lesson-card:hover{box-shadow:0 0 0 1px var(--rule);border-color:#0000;transform:none}.lesson-card h3,.world h3{font-weight:600}.lesson-card.complete .ring-fg{stroke:var(--good)}.ring-bg{stroke:var(--rule-soft)}.bar{background:var(--rule-soft)}.formula{background:var(--mist);color:var(--ink);border:0;border-radius:12px}.gram{background:var(--mist)}.gram p{color:var(--ink)}.examples li,.line,.wordlist li{background:var(--mist);border-radius:14px}.panel .gram{background:var(--mist)}.pitfall{background:var(--bad-wash)}.step{background:var(--card);color:var(--ink-muted);border:0;border-radius:16px}.step.cur{background:var(--ink);color:var(--card)}.step.done{color:var(--good);background:var(--card)}.step-num{background:var(--mist);color:var(--ink);font-family:var(--serif);border:0;font-weight:600}.opt{background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:16px}.tile{background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:14px}.tile.on{border-color:var(--cyan-deep);background:var(--blue-wash)}.build-line{border-color:var(--rule)}.flash{background:var(--mist);color:var(--ink);border-radius:28px}.flash-back{border-top-color:var(--rule)}.grade{background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:16px}.grade .small{color:var(--ink-muted)}.speak-card{background:var(--mist)}.mic.rec{background:#d12d2d}.result-num,.big-num{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;font-weight:600}.seg{background:var(--card);border-radius:9999px}.seg button{color:var(--ink)}.chart-wrap{background:var(--card);border:0;border-radius:20px}.chart th{background:var(--card);color:var(--ink-muted);font-weight:600}.chart td button{background:var(--mist);color:var(--ink)}.chart td button:hover{background:var(--blue-wash)}.chart td button.on{background:var(--cyan-deep);color:#fff}.tone-btn{background:var(--card)}.syl-base{font-family:var(--serif);font-weight:600}.hz-cell{background:var(--card);border:0;border-radius:16px}.hz-cell:hover{box-shadow:0 0 0 1px var(--rule)}.stroke-grid{background:linear-gradient(var(--rule-soft), var(--rule-soft)) center / 100% 1px no-repeat, linear-gradient(var(--rule-soft), var(--rule-soft)) center / 1px 100% no-repeat, var(--card);border:1px solid var(--rule);border-radius:20px}.warn{background:var(--warn-wash);color:var(--mid);border:0;border-radius:14px}.dots span{background:var(--rule)}.dots .past{background:#9cc0ef}.dots .on{background:var(--cyan-deep)}.planet-dot{box-shadow:none}.x-tabs{background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--rule-soft)}.x-tabs a,.x-tabs button{color:var(--ink-faint)}.x-tabs a[aria-current=page],.x-tabs button.on,.x-tabs a[aria-current=page] .zh,.x-tabs button.on .zh{color:var(--cyan-deep)}.x-sheet{background:#00000059}.x-sheet-in{background:var(--frost);border-top:1px solid var(--rule-soft)}.x-sheet-in a{background:var(--card);color:var(--ink);border-radius:16px}.x-sheet-in .zh{color:var(--cyan-deep)}.legacy .card{background:var(--card);border-color:#0000;border-radius:20px}.sync .avatar{border:1px solid var(--rule)}.sync-state{font-family:var(--ui);text-transform:none;letter-spacing:-.01em;color:var(--good);font-size:14px}.x-account{border-color:var(--rule);color:var(--ink)}code{background:var(--mist);border-radius:6px;padding:1px 6px;font-size:.9em}.x-top{padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top))}.x-tabs a,.x-tabs button{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}@media (width<=860px){.x-top{height:calc(52px + env(safe-area-inset-top));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}}@media (display-mode:standalone){body{overscroll-behavior-y:none}}.install-steps{color:var(--ink-muted);margin:8px 0 0;padding-left:20px;line-height:1.6}.x-account{border:1px solid var(--rule);min-width:34px;height:34px;color:var(--ink);border-radius:100px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;text-decoration:none;display:inline-flex}.x-account img{border-radius:50%;width:34px;height:34px;margin:0 -14px}.x-streak+.x-account{margin-left:4px}.lesson-n{color:var(--ink-muted)}.world h3,.lesson-card h3{color:var(--ink)}:root[data-theme=dark]{--navy:#000;--ground:#000;--mist:#101012;--frost:#161617;--void:#161617;--surface:#1d1d1f;--raised:#1d1d1f;--sunk:#101012;--halo:#101012;--card:#1d1d1f;--glass:#1d1d1f;--bar:#161617d1;--rule:#424245;--rule-soft:#2c2c2e;--glass-line:#2c2c2e;--twilight:#424245;--lilac:#2c2c2e;--ink:#f5f5f7;--ink-muted:#a1a1a6;--ink-faint:#86868b;--cyan:#2997ff;--cyan-deep:#0a84ff;--good:#30d158;--bad:#ff6961;--mid:#ff9f0a;--good-wash:#10301d;--bad-wash:#3a1614;--blue-wash:#0d2744;--warn-wash:#3a2608;--t1:#5c9cf5;--t2:#30d158;--t3:#ffb340;--t4:#ff6fb5;--t5:#98989d;--t1-wash:#16243a;--t2-wash:#102a1f;--t3-wash:#2c1f0c;--t4-wash:#2e1526}:root[data-theme=dark] .x-nav a{color:#fffc}:root[data-theme=dark] .x-nav a[aria-current=page]{color:#fff}.theme-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.theme-btn:hover{background:var(--mist)}.theme-btn svg{width:18px;height:18px}.lang-btn{border:1px solid var(--rule,#0000001f);min-width:34px;height:28px;color:var(--ink);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.lang-btn:hover{background:var(--mist)}.share-key{flex-basis:100%;gap:10px;margin-top:4px;display:grid}.share-key .btn{justify-self:start}.share-key .row .search{min-width:0;font-family:var(--mono,monospace);flex:1;font-size:14px}.mt-lessons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mt-lessons .chip{justify-content:center;min-width:40px}.mt-lessons .chip.on{background:var(--cyan);color:#fff;border-color:#0000}.mt-parts{gap:16px;margin:16px 0 24px;display:grid}@media (width>=900px){.mt-parts{grid-template-columns:repeat(3,1fr)}}.mt-part{color:inherit;align-items:flex-start;gap:16px;text-decoration:none;display:flex}a.mt-part:hover{border-color:var(--cyan)}.mt-part h3{margin:0 0 6px}.mt-part .row{margin-top:10px}.mt-zh{color:var(--cyan);text-align:center;flex:none;width:48px;font-size:40px;line-height:1}.mt .seg{margin-bottom:12px}.mt-sentence{margin:8px 0;font-size:30px;line-height:1.6}.mt-gap{border-bottom:2px solid var(--ink-muted,#86868b);text-align:center;min-width:2.2em;color:var(--cyan);margin:0 4px;display:inline-block}.mt-gap.ok{color:var(--good);border-color:var(--good)}.mt-gap.bad{color:var(--bad);border-color:var(--bad)}.mt-opts .opt .zh{font-size:26px}.mt-py{margin:8px 0}.mt-py .search{flex:1;min-width:0}.mt-hz{justify-items:center;gap:12px;margin:16px 0;display:grid}.mt-slot{border:1px solid var(--rule,#0000001f);width:40px;height:40px;font:24px var(--zh);color:var(--ink-muted,#86868b);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.mt-slot.cur{border-color:var(--cyan)}.mt-slot.done{color:var(--ink)}.mt-reveal{justify-items:center;gap:8px;display:grid}.mt-misses{margin:8px 0 16px;line-height:1.8}.mt-score{max-width:320px;margin:8px auto 16px;padding:0;list-style:none}.mt-score li{border-bottom:1px solid var(--rule,#00000014);justify-content:space-between;padding:6px 0;display:flex}@media (width<=360px){.x-tabs a,.x-tabs button{letter-spacing:-.02em;font-size:10px}}.mt-tones{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 6px;display:flex}.tone-key{border:1px solid var(--rule,#0000001f);background:var(--card,#fff);min-width:48px;height:44px;color:var(--ink);font:500 20px var(--ui);cursor:pointer;border-radius:12px}.tone-key.t1{color:var(--t1,#e5484d)}.tone-key.t2{color:var(--t2,#30a46c)}.tone-key.t3{color:var(--t3,#0090ff)}.tone-key.t4{color:var(--t4,#8e4ec6)}.mt-note{margin:4px 0 8px}.mt-lessons .seg{margin:0}.link-btn{color:var(--cyan);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.mt-pdf{color:inherit;align-items:flex-start;gap:16px;margin-bottom:16px;text-decoration:none;display:flex}.mt-pdf h3{margin:0 0 6px}a.mt-pdf:hover{border-color:var(--cyan)}.fc-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.fc-wrap{justify-items:center;gap:6px;display:grid}.fc{border:1.5px solid var(--rule,#d2d2d7);background:var(--card,#fff);background-image:linear-gradient(var(--rule-soft,#ececf0), var(--rule-soft,#ececf0)), linear-gradient(var(--rule-soft,#ececf0), var(--rule-soft,#ececf0));background-position:50%;background-repeat:no-repeat;background-size:100% 1px,1px 100%;border-radius:6px;position:relative}.fc canvas{touch-action:none;color:var(--ink);cursor:crosshair;position:absolute;inset:0}.fc-ghost{text-align:center;color:var(--cyan);opacity:.32;pointer-events:none;position:absolute;inset:0}.fc-tools{gap:6px;display:flex}.fc-tools .chip{justify-content:center;min-width:40px}.mt-modes{align-items:center;gap:12px;margin-bottom:4px}.mt-modes .seg{margin-bottom:0}.mt-orderrow{align-items:center;gap:10px;margin:12px 0}.mt-orderrow .seg{margin:0}.btn.disabled{opacity:.45;pointer-events:none}.nt{text-align:left;gap:6px;width:100%;max-width:520px;margin:10px 0;display:grid}.nt-h{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted,#86868b);font-size:12px;font-weight:600}.nt-row{background:var(--mist,#f5f5f7);color:var(--ink);border-radius:12px;align-items:baseline;gap:10px;padding:8px 10px;font-size:14px;line-height:1.45;text-decoration:none;display:flex}.nt-c{flex:none;font-size:24px;line-height:1}.nt-formula{white-space:nowrap;font-weight:600}.nt-formula .zh{font-size:1.1em}.nt-lessons{margin:8px 0}.nt-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0 28px;display:grid}.nt-card,.nt-part{color:inherit;align-items:flex-start;gap:14px;padding:16px;text-decoration:none;display:flex}.nt-card p{margin:4px 0 0}.nt-big{text-align:center;flex:none;width:56px;font-size:46px;line-height:1}.nt-f{margin-top:2px}.nt-parts{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0;display:grid}.nt-ex{flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:22px;display:flex}.nt-ex a{color:var(--cyan);text-decoration:none}.nt-detail{text-align:center;justify-items:center;gap:10px;display:grid}.nt-pieces{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nt-piece{background:var(--mist,#f5f5f7);border-radius:12px;justify-items:center;min-width:72px;padding:8px 12px;display:grid}.nt-piece .zh{font-size:30px;line-height:1.1}.nt-story{max-width:460px;margin:4px 0;font-size:17px}.nt-link{color:inherit;align-items:center;gap:14px;margin:12px 0;text-decoration:none;display:flex}.nt-link>.zh{color:var(--cyan);font-size:36px}.paper-list{gap:12px;margin:16px 0 20px;display:grid}.paper-sec{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.paper-sec h3{margin:0 0 4px}.paper-n{color:var(--cyan);text-align:center;flex:none;width:44px;font-size:30px}.mt-paper{border:1.5px solid var(--cyan)}.paper .zh-title{font-family:var(--zh), var(--ui)}.paper-rows{gap:10px;margin:12px 0;padding-left:22px;list-style:decimal;display:grid}.paper-rows>li{background:var(--card,#fff);border:1px solid var(--rule-soft,#ececf0);border-radius:14px;padding:10px 12px}.paper-rows>li.ok,.paper-py.ok,.paper-mw.ok,.pd-blank.ok{border-color:var(--good);background:var(--good-wash)}.paper-rows>li.bad,.paper-py.bad,.paper-mw.bad,.pd-blank.bad{border-color:var(--bad);background:var(--bad-wash)}.paper-rows>li:has(.pd-line){background:var(--card,#fff)}.paper-ab{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.paper-ab .opt{flex:140px;min-height:44px}.opt.picked{border-color:var(--cyan);background:var(--blue-wash)}.paper-ans{margin-top:6px;font-size:18px;display:block}.paper-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0;display:grid}.paper-py{border:1px solid var(--rule-soft,#ececf0);background:var(--card,#fff);border-radius:14px;justify-items:center;gap:4px;padding:10px;display:grid}.paper-py .search{text-align:center;width:100%;margin:0}.paper-zh{font-size:26px}.paper-tones{bottom:calc(var(--tab-h,64px) + 8px);background:var(--bg,#f5f5f7);z-index:5;padding:6px 0;position:sticky}.paper-bank{border:1.5px solid var(--ink-faint,#aaa);border-radius:8px;flex-wrap:wrap;gap:8px 16px;margin:10px 0;padding:12px 14px;font-size:18px;display:flex}.paper-sent{font-size:20px;line-height:2}.paper-sel{font:inherit;border:1px solid var(--cyan);background:var(--card,#fff);color:var(--ink);border-radius:8px;margin:0 4px;padding:4px 6px;font-size:17px}.paper-dialogs>li{gap:6px;display:grid}.pd-line{font-size:17px;line-height:1.6}.pd-line .zh{font-size:19px}.pd-blank{border:1px dashed var(--rule,#d2d2d7);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.pd-blank .search{flex:180px;margin:0;font-size:18px}.pd-sample{flex-basis:100%;gap:2px;display:grid}.pd-sample .zh{font-size:17px}.paper-measure{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:12px 0;display:grid}.paper-mw{border:1px solid var(--rule-soft,#ececf0);background:var(--card,#fff);border-radius:14px;padding:10px 12px;font-size:20px}.paper-gloss{columns:2;margin:8px 0;padding-left:18px}.ex-types{gap:10px;margin:16px 0;display:grid}.ex-type{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.ex-type p{margin:2px 0 0}.ex-words{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:12px 0;display:grid}.ex-word summary{cursor:pointer;align-items:center;gap:14px;list-style:none;display:flex}.ex-word summary::-webkit-details-marker{display:none}.ex-zh{flex:none;font-size:30px;line-height:1.1}.ex-mid{flex:1;display:grid}.ex-word .examples{margin-top:10px}.mt>.back+.eyebrow{margin-top:12px;display:block}.ls-play{margin:8px auto;display:inline-flex}.ls-opts .opt{text-align:left}.ls-opts .opt .zh{font-size:19px}.ls-script{background:var(--mist,#f5f5f7);border-radius:14px;margin:12px 0;padding:12px 14px}.ls-script p{margin:2px 0}.ls-script .zh{font-size:18px}.q-audio{justify-content:center;margin:8px 0;display:flex}.ls-fill{margin:12px 0}.ls-line{margin:6px 0;font-size:19px;line-height:2.2}.ls-gap{vertical-align:middle;flex-direction:column;margin:0 4px;display:inline-flex}.ls-gap .search{text-align:center;width:104px;margin:0;padding:4px 8px;font-size:17px}.ls-gap .search.ok{border-color:var(--good);background:var(--good-wash)}.ls-gap .search.bad{border-color:var(--bad);background:var(--bad-wash)}.ls-tones{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:12px 0;display:grid}.ls-tone{border:1px solid var(--rule-soft,#ececf0);background:var(--card,#fff);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:6px 8px;padding:8px 10px;display:grid}.ls-tone .search{text-align:center;grid-column:1/-1;margin:0}.ls-tone.ok{border-color:var(--good);background:var(--good-wash)}.ls-tone.bad{border-color:var(--bad);background:var(--bad-wash)}.ls-bare{color:var(--ink-muted,#86868b);font-size:18px}.ls-py{margin:4px 0;font-size:18px;line-height:2.3}.ls-mini{margin-bottom:4px}@media (width>=900px){.micro .mt-parts{grid-template-columns:repeat(2,1fr)}}.micro .mt-zh{font-family:var(--ui);font-weight:600}.micro-off{opacity:.6}.micro-bar{max-width:220px;margin-top:10px}.micro-empty h3{margin:0 0 6px}.micro-q{text-align:left}.micro-text{white-space:pre-line;margin:6px 0;font-size:18px;line-height:1.5}.micro-opts .opt{font-size:16px;line-height:1.4}.micro-opts .opt b{color:var(--cyan);margin-right:6px}.micro-explain{border-left:3px solid var(--cyan);color:var(--ink-muted,inherit);margin:12px 0;padding:6px 12px}.micro-answer p,.micro-answer-text{white-space:pre-line;margin:6px 0;font-size:17px;font-weight:600}.micro-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;min-height:200px;display:block}.dash-micro{margin-top:18px}.micro .quiz-foot{scroll-margin-bottom:calc(var(--tab-h,64px) + 24px)}.micro .quiz{scroll-margin-top:72px}.micro-ch{color:var(--cyan);margin:2px 0 4px;font-weight:500}.micro-filter{flex-wrap:wrap;gap:8px;margin:12px 0 14px}.micro-keys{margin-top:18px}@media (hover:none),(width<=899px){.micro-keys{display:none}}:root[data-theme]{--navy:#eaf3fb;--ground:#eaf3fb;--mist:transparent;--halo:transparent;--sunk:#ffffff59;--frost:#f0f7fdf0;--void:#f0f7fdf0;--surface:#ffffff9e;--raised:#ffffffb3;--card:#fff9;--glass:#fff9;--bar:#ecf5fcb8;--rule:#6096cd57;--rule-soft:#6096cd33;--glass-line:#6096cd38;--twilight:#6096cd57;--lilac:#a78bfa24;--ink:#0b1a2c;--ink-muted:#4c6276;--ink-faint:#7a91a6;--cyan:#1673c4;--cyan-deep:#1a6fd6;--mid:#7c4dde;--good:#11865a;--bad:#d23a52;--good-wash:#11865a1f;--bad-wash:#d23a521f;--blue-wash:#1a6fd61f;--warn-wash:#d1821424;--iri:linear-gradient(120deg, #7fe3ff 0%, #a78bfa 55%, #f0abfc 100%);--edge:#ffffffd9;--lift:0 10px 30px #1c4a801a;--serif:Antonio, Oswald, "Arial Narrow", sans-serif;--logo:Manrope, "Inter", system-ui, sans-serif;--ui:Manrope, "Inter", -apple-system, system-ui, sans-serif;--r:26px}:root[data-theme=dark]{--navy:#030914;--ground:#030914;--mist:transparent;--halo:transparent;--sunk:#78aae60f;--frost:#061020f0;--void:#061020f0;--surface:#78aae614;--raised:#78aae61a;--card:#6ea5e613;--glass:#6ea5e613;--bar:#030914ad;--rule:#aad7ff33;--rule-soft:#aad7ff1f;--glass-line:#aad7ff24;--twilight:#aad7ff33;--lilac:#a78bfa29;--ink:#e8f4ff;--ink-muted:#d6e8faad;--ink-faint:#bed6f080;--cyan:#7fe3ff;--cyan-deep:#5fb8ff;--mid:#c4b5fd;--good:#5ee6a8;--bad:#ff8fa3;--good-wash:#5ee6a81f;--bad-wash:#ff8fa321;--blue-wash:#5fb8ff24;--warn-wash:#facc151f;--edge:#c8ebff38;--lift:0 14px 40px #00000073}html,body{background:var(--navy)}:root[data-theme] body{background:radial-gradient(120% 80% at 80% -10%, #d6ebff 0%, transparent 55%), radial-gradient(90% 70% at -10% 110%, #e9e1ff 0%, transparent 55%), var(--navy);background-attachment:fixed}:root[data-theme=dark] body{background:radial-gradient(120% 80% at 80% -10%, #0c2a52 0%, transparent 55%), radial-gradient(90% 70% at -10% 110%, #241650 0%, transparent 55%), var(--navy);background-attachment:fixed}.stars{display:none}.ice-field{z-index:-1;pointer-events:none;position:fixed;inset:0}.ice-field canvas{display:block;width:100%!important;height:100%!important}.x-main{background:0 0}.panel,.hero-card,.stat,.world,.lesson-card,.gram,.flash,.speak-card,.seg,.chart-wrap,.x-sheet-in a,.result,.exam{background:var(--card);border:1px solid var(--rule-soft);box-shadow:inset 0 1px 0 var(--edge), var(--lift);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%)}.opt,.tile,.grade,.hz-cell,.step,.examples li,.line,.wordlist li,.formula{background:var(--card);border:1px solid var(--rule-soft);box-shadow:inset 0 1px 0 var(--edge)}.lesson-card,.world,.mt-part,.exam,a.panel{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.lesson-card:hover,a.mt-part:hover,a.panel:hover,.world:hover{box-shadow:inset 0 1px 0 var(--edge), 0 0 0 1px #a78bfa40, var(--lift);border-color:#7fe3ff8c;transform:translateY(-3px)}.opt:hover:not(:disabled){border-color:var(--cyan)}.opt.ok{border-color:var(--good);background:var(--good-wash)}.opt.bad{border-color:var(--bad);background:var(--bad-wash)}.h1,.hero-card h1,.lesson-title h1,h1.serif{font-family:var(--serif);letter-spacing:-.005em;font-weight:500;line-height:.98}.h1{font-size:clamp(40px,7vw,64px)}.hero-card h1{font-size:clamp(36px,6vw,60px)}.h2,.serif.h2{font-family:var(--serif);letter-spacing:0;font-size:clamp(28px,4.6vw,40px);font-weight:500;line-height:1}.stat b,.result-num,.big-num,.num b{font-family:var(--serif);letter-spacing:0;font-size:44px;font-weight:500;line-height:1}.eyebrow,.x-eyebrow{font-family:var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);font-size:11px;font-weight:600}.hero-card .eyebrow{color:var(--cyan)}.lesson-n{font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600}.hero-zh,.world-hz,.mt-zh{background:var(--iri);color:#0000;filter:drop-shadow(0 6px 22px #7fe3ff59);-webkit-background-clip:text;background-clip:text}.world-hz{text-align:center;flex:none;width:92px;font-size:76px;line-height:1;display:block}.btn{border:1px solid var(--rule);background:var(--card);color:var(--ink);font-family:var(--ui);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:600}.btn:hover:not(:disabled){background:var(--card);border-color:var(--cyan);color:var(--ink)}.btn.primary{background:var(--iri);color:#06101f;background-size:160% 100%;border:0;font-weight:700;transition:background-position .5s,transform .2s;box-shadow:0 8px 26px #7fa0ff59}.btn.primary:hover:not(:disabled){background:var(--iri);color:#06101f;background-position:100% 0;background-size:160% 100%}.chip{border:1px solid var(--rule);background:var(--card);color:var(--ink)}.chip:hover,.chip.on{border-color:var(--cyan);color:var(--cyan)}.mt-lessons .chip.on{background:var(--iri);color:#06101f}.seg button.on{background:var(--ink);color:var(--navy)}.bar,.ring-bg{background:var(--rule-soft);stroke:var(--rule-soft)}.bar>span{background:var(--iri)}.ring-fg{stroke:var(--cyan-deep)}.mic{background:var(--iri);color:#06101f}.x-top{background:var(--bar);border-bottom:1px solid var(--rule-soft);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%)}.x-logo{color:var(--ink);letter-spacing:-.02em;font-weight:700}.x-logo i{background:var(--iri);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .x-logo i{color:#0000}.x-nav a{color:var(--ink-muted)}:root[data-theme] .x-nav a[aria-current=page],:root[data-theme=dark] .x-nav a[aria-current=page]{color:var(--ink)}.x-nav a[aria-current=page]:after{background:var(--iri)}.x-tabs{background:var(--bar);border-top:1px solid var(--rule-soft)}.x-tabs a[aria-current=page],.x-tabs button.on,.x-tabs a[aria-current=page] .zh,.x-tabs button.on .zh{color:var(--cyan-deep)}.x-sheet-in{background:var(--frost)}.pill{background:var(--iri);color:#06101f}:root[data-theme]{--mono:"JetBrains Mono", ui-monospace, Menlo, monospace}.eyebrow,.x-eyebrow,.lesson-n,.stat span,.q-ask,.small.muted:first-child{font-family:var(--mono)}.eyebrow,.x-eyebrow{letter-spacing:.14em;font-weight:500}.stat span{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.x-nav a,.x-tabs a span:last-child,.x-tabs button span:last-child{font-family:var(--mono);letter-spacing:.02em}@media (width<=860px){.hero-card{padding:28px 22px}}.warn{background:var(--warn-wash);color:var(--ink);border:1px solid #d182144d}.say{background:var(--blue-wash);color:var(--cyan-deep)}code{background:var(--blue-wash)}@media (prefers-reduced-transparency:reduce){.panel,.hero-card,.stat,.world,.lesson-card,.x-top,.x-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--frost)}}.x-tabs,.x-top{background:#eef5fc}:root[data-theme=dark] .x-tabs,:root[data-theme=dark] .x-top{background:#050d1c}.step.cur{background:var(--iri);color:#06101f;border-color:#0000}.step.cur .zh,.step.cur span{color:#06101f}:root[data-theme=light]{--navy:#c9cfd6;--ground:#c9cfd6;--frost:#ecf0f4f5;--void:#ecf0f4f5;--card:#f6f8fab3;--glass:#f6f8fab3;--surface:#f6f8fab3;--raised:#fafbfcc7;--rule:#28323e38;--rule-soft:#28323e1f;--glass-line:#28323e1f;--ink:#1d2228;--ink-muted:#4f5964;--ink-faint:#7b858f;--cyan:#2f4a66;--cyan-deep:#1d2228;--mid:#3a4a5c;--iri:linear-gradient(120deg, #fff 0%, #e3e9ef 100%);--edge:#ffffffe6;--lift:0 12px 34px #28344224}:root[data-theme=light] body{background:radial-gradient(120% 80% at 50% 0%, #e2e6ea 0%, transparent 60%), radial-gradient(100% 70% at 50% 110%, #aeb6bf 0%, transparent 60%), var(--navy);background-attachment:fixed}:root[data-theme=light] .x-tabs,:root[data-theme=light] .x-top{background:#dfe4e9}:root[data-theme=light] .btn.primary{color:#f6f8fa;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#1d2228;border-radius:4px;font-size:13px;box-shadow:0 8px 24px #1d222840}:root[data-theme=light] .btn.primary:hover:not(:disabled){color:#1d2228;background:#f6f8fa}:root[data-theme=light] .btn,:root[data-theme=light] .chip{border-radius:4px}:root[data-theme=light] .pill,:root[data-theme=light] .mt-lessons .chip.on,:root[data-theme=light] .step.cur,:root[data-theme=light] .mic{color:#f6f8fa;background:#1d2228}:root[data-theme=light] .step.cur .zh,:root[data-theme=light] .step.cur span{color:#f6f8fa}:root[data-theme=light] .bar>span{background:#1d2228}:root[data-theme=light] .hero-zh,:root[data-theme=light] .world-hz,:root[data-theme=light] .mt-zh{color:#fff;-webkit-text-stroke:1px #1d222859;filter:drop-shadow(0 6px 18px #28344240);background:0 0}:root[data-theme=light] .x-logo i{color:var(--ink-faint);background:0 0}:root[data-theme=light] .eyebrow,:root[data-theme=light] .x-eyebrow{color:var(--ink-muted)}.review{perspective:1100px}.flash.ice-card{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));background:radial-gradient(60% 50% at var(--gx,30%) var(--gy,12%), #ffffff8c, transparent 70%), linear-gradient(160deg, #ffffff80, #bed7f047 45%, #ffffff57);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--edge), inset 0 -18px 30px -18px #78aadc59, 0 26px 50px -18px #1c345059;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:.5s cubic-bezier(.2,.8,.2,1) ice-in;position:relative;overflow:visible}.flash.ice-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(200deg,#96bee680,#5a82b459);border:1px solid #ffffff59;position:absolute;inset:0;transform:translateZ(-22px)}.flash.ice-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:.7;background:radial-gradient(circle at 18% 78%,#ffffffb3 0 2px,#0000 3px),radial-gradient(circle at 82% 24%,#fff9 0 3px,#0000 4px),radial-gradient(circle at 66% 86%,#ffffff80 0 1.5px,#0000 2.5px),repeating-linear-gradient(115deg,#0000 0 22px,#ffffff21 22px 23px,#0000 23px 51px);position:absolute;inset:0;transform:translateZ(-10px)}.flash.ice-card>*{transform:translateZ(26px)}.flash.ice-card .zh-xxl{text-shadow:0 10px 24px #1c345047}.flash.ice-card.flipped{animation:.7s cubic-bezier(.2,.8,.2,1) ice-turn}@keyframes ice-in{0%{opacity:0;transform:translateY(18px)rotateX(-18deg)scale(.96)}}@keyframes ice-turn{0%{transform:rotateY(-180deg)scale(.94)}55%{transform:rotateY(12deg)scale(1.01)}}@keyframes ice-sway-back{0%,to{transform:translate3d(-7px,4px,-22px)}50%{transform:translate3d(7px,-4px,-22px)}}@keyframes ice-sway-frost{0%,to{transform:translate3d(-3px,2px,-10px)}50%{transform:translate3d(3px,-2px,-10px)}}:root[data-theme=dark] .flash.ice-card{background:radial-gradient(60% 50% at var(--gx,30%) var(--gy,12%), #a0e1ff38, transparent 70%), linear-gradient(160deg, #78b4f029, #3c64aa1a 45%, #9682fa24);box-shadow:inset 0 1px 0 var(--edge), inset 0 -18px 30px -18px #7fe3ff40, 0 26px 60px -18px #000000b3, 0 0 40px -10px #7fe3ff40}:root[data-theme=dark] .flash.ice-card:before{background:linear-gradient(200deg,#3c6eb44d,#14285a59);border-color:#aad7ff2e}:root[data-theme=dark] .flash.ice-card:after{opacity:.35}@media (hover:none){.flash.ice-card:before{animation:7s ease-in-out infinite ice-sway-back}.flash.ice-card:after{animation:7s ease-in-out infinite ice-sway-frost}}@media (prefers-reduced-motion:reduce){.flash.ice-card,.flash.ice-card.flipped,.flash.ice-card:before,.flash.ice-card:after{transition:none;animation:none}.flash.ice-card,.flash.ice-card.flipped{transform:none}}.snow-burst{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.snow-burst span{color:#9fdcff;filter:drop-shadow(0 0 6px #7fe3ffb3);will-change:transform, opacity;position:absolute}.snow-burst svg{width:100%;height:100%;display:block}:root[data-theme=light] .snow-burst span{color:#fff;filter:drop-shadow(0 1px 3px #1d22288c)}.flash.ice-card{-webkit-backdrop-filter:none;backdrop-filter:none}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--radius-xl:.75rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.left-0{left:0}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.ml-1{margin-left:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.w-full{width:100%}.w-max{width:max-content}.max-w-3xl{max-width:var(--container-3xl)}.min-w-0{min-width:0}.min-w-\[160px\]{min-width:160px}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[calc\(var\(--radius-xl\)-1px\)\]{border-radius:calc(var(--radius-xl) - 1px)}.rounded-full{border-radius:2147483647px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-zinc-900{background-color:var(--color-zinc-900)}.p-8{padding:calc(var(--spacing) * 8)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.text-\[oklch\(from_var\(--activity-color\)_0\.6_c_h\)\]{color:oklch(from var(--activity-color) .6 c h)}.text-white{color:var(--color-white)}.text-zinc-200\/60{color:#e4e4e799}@supports (color:color-mix(in lab, red, red)){.text-zinc-200\/60{color:color-mix(in oklab, var(--color-zinc-200) 60%, transparent)}}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-900{color:var(--color-zinc-900)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.shadow-lg\/5{--tw-shadow-alpha:5%;--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,oklab(0% 0 0/.05)), 0 4px 6px -4px var(--tw-shadow-color,oklab(0% 0 0/.05));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--color\:var\(--muted-foreground\)\]{--color:var(--muted-foreground)}.\[--ring-from\:oklch\(from_var\(--ring\)_min\(l\,0\.8\)_c_h\)\]{--ring-from:oklch(from var(--ring) min(l, .8) c h)}.\[--ring-to\:oklch\(from_var\(--ring\)_min\(l\,0\.7\)_c_h\)\]{--ring-to:oklch(from var(--ring) min(l, .7) c h)}.\[--shimmering-color\:var\(--foreground\)\]{--shimmering-color:var(--foreground)}.not-dark\:bg-clip-padding:not(:where([data-theme=dark],[data-theme=dark] *)){background-clip:padding-box}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:rounded-\[calc\(var\(--radius-xl\)-1px\)\]:before{content:var(--tw-content);border-radius:calc(var(--radius-xl) - 1px)}.before\:shadow-\[0_1px_rgb\(0_0_0\/0\.04\)\]:before{content:var(--tw-content);--tw-shadow:0 1px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-zinc-400:focus-visible{--tw-ring-color:var(--color-zinc-400)}@container (width>=28rem){.\@md\:flex-row{flex-direction:row}}.dark\:bg-zinc-100:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-zinc-100)}.dark\:text-\(--activity-color\):where([data-theme=dark],[data-theme=dark] *){color:var(--activity-color)}.dark\:text-white:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}.dark\:text-zinc-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-zinc-400)}.dark\:text-zinc-800\/60:where([data-theme=dark],[data-theme=dark] *){color:#27272a99}@supports (color:color-mix(in lab, red, red)){.dark\:text-zinc-800\/60:where([data-theme=dark],[data-theme=dark] *){color:color-mix(in oklab, var(--color-zinc-800) 60%, transparent)}}.dark\:text-zinc-900:where([data-theme=dark],[data-theme=dark] *){color:var(--color-zinc-900)}.dark\:\[--ring-from\:var\(--ring\)\]:where([data-theme=dark],[data-theme=dark] *){--ring-from:var(--ring)}.dark\:\[--ring-to\:var\(--ring-end\)\]:where([data-theme=dark],[data-theme=dark] *){--ring-to:var(--ring-end)}.dark\:before\:shadow-\[0_-1px_rgb\(255_255_255\/0\.06\)\]:where([data-theme=dark],[data-theme=dark] *):before{content:var(--tw-content);--tw-shadow:0 -1px var(--tw-shadow-color,#ffffff0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.bk{--background:oklch(100% 0 0);--foreground:oklch(26.9% 0 0);--muted-foreground:oklch(55.6% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--radius:.625rem;--radius-xl:calc(var(--radius) + 4px);--chart-1:oklch(58.5% .233 277.117);--chart-2:oklch(85.2% .199 91.936);--chart-3:oklch(66.7% .295 322.15);--chart-4:oklch(56% .021 213.5);--chart-5:oklch(0% 0 0);--chart-background:oklch(91.5% 0 0);--chart-foreground:oklch(47.4% 0 285);--chart-foreground-muted:oklch(86.2% 0 260);--chart-line-primary:var(--chart-1);--chart-line-secondary:var(--chart-2);--chart-crosshair:oklch(67.7% 0 72.411);--chart-grid:oklch(91.7% 0 0);--chart-brush-border:var(--chart-grid);--chart-tooltip-background:var(--popover);--chart-tooltip-foreground:var(--popover-foreground);--chart-tooltip-muted:var(--muted-foreground);--chart-indicator-color:oklch(21% .006 285);--chart-indicator-secondary-color:oklch(91.3% 0 0);--chart-marker-background:oklch(83.3% 0 260);--chart-marker-border:oklch(85% .01 260);--chart-marker-foreground:oklch(30% .01 260);--chart-marker-badge-background:oklch(0% 0 0);--chart-marker-badge-foreground:oklch(84% 0 0);--chart-segment-background:oklch(75.6% 0 0/.06);--chart-segment-line:oklch(50% 0 0/.25);--chart-label:oklch(45% .01 260)}:root[data-theme=dark] .bk{--background:oklch(14.5% 0 0);--foreground:oklch(97% 0 0);--muted-foreground:oklch(70.8% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--chart-5:oklch(100% 0 0);--chart-background:oklch(14.5% 0 0);--chart-foreground:oklch(45% 0 0);--chart-foreground-muted:oklch(65% .01 260);--chart-crosshair:oklch(72% .0158 281.84);--chart-grid:oklch(60% .0124 243.77/.25);--chart-indicator-color:oklch(100% 0 0);--chart-indicator-secondary-color:oklch(14.5% 0 0);--chart-marker-background:oklch(25% .01 260);--chart-marker-border:oklch(40% .01 260);--chart-marker-foreground:oklch(90% 0 0);--chart-marker-badge-background:oklch(100% 0 0);--chart-marker-badge-foreground:oklch(15% 0 0);--chart-segment-background:oklch(41% .0127 248.14/.25);--chart-segment-line:oklch(100% 0 0/.25);--chart-label:oklch(75% .01 260)}.bk.activity{gap:16px;display:grid}@media (width>=960px){.bk.activity{grid-template-columns:1fr 1.25fr;align-items:start}}.bk .panel{margin:0}.bk-chart .row{margin-bottom:8px}.bk-chart .h3{margin:0;font-size:20px}.bk-key{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.bk-key i{border-radius:3px;width:10px;height:10px;margin-left:6px;display:inline-block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
