:root{--bg:#faf8f5;--bg2:#f2efe9;--card:#fff;--card-top:#f2efe9;--line:#e2dcd0;--ink:#18181b;--soft:#4b5563;--soft2:#52525b;--orange-50:#eef2ff;--orange-100:#e0e7ff;--orange-200:#c7d2fe;--orange:#4338ca;--orange-d:#3730a3;--orange-900:#1e1b4b;--ink-on-orange:#fff;--green:#0f766e;--green-bg:#f0fdfa;--red:#be123c;--red-bg:#fff1f2;--blue:#1d4ed8;--purple:#4338ca;--purple-bg:#eef2ff;--accent:#b45309;--accent-bg:#fffbeb;--algo-idle-bg:#f2efe9;--algo-idle-fg:#18181b;--algo-idle-border:#d6d0c4;--algo-active-focus-bg:#e0e7ff;--algo-active-focus-fg:#1e1b4b;--algo-active-focus-border:#4338ca;--algo-active-focus-ring:#4338ca3d;--algo-active-focus-solid:#4338ca;--algo-comparison-highlight-bg:#fef3c7;--algo-comparison-highlight-fg:#78350f;--algo-comparison-highlight-border:#d97706;--algo-comparison-highlight-ring:#d977063d;--algo-comparison-highlight-solid:#d97706;--algo-swap-motion-bg:#ffe4e6;--algo-swap-motion-fg:#881337;--algo-swap-motion-border:#e11d48;--algo-swap-motion-ring:#e11d483d;--algo-swap-motion-solid:#e11d48;--algo-final-sorted-bg:#ccfbf1;--algo-final-sorted-fg:#115e59;--algo-final-sorted-border:#0d9488;--algo-final-sorted-ring:#0d94883d;--algo-final-sorted-solid:#0d9488;--callstack-depth-0:#4338ca;--callstack-depth-1:#0284c7;--callstack-depth-2:#0d9488;--callstack-depth-3:#d97706;--callstack-depth-4:#e11d48;--callstack-active-bg:#eef2ff;--callstack-active-border:#4338ca;--callstack-return-fg:#115e59;--voice-step-active-bg:#eef2ff;--voice-step-active-border:#4338ca;--voice-transcript-bg:#f5f3ff;--voice-transcript-border:#4f46e5;--voice-scrubber-track:#ded8cc;--voice-scrubber-fill:linear-gradient(90deg,#4338ca 0%,#0d9488 100%);--voice-scrubber-thumb:#3730a3;--voice-scrubber-glow:#4338ca47;--voice-speaking-color:#0d9488;--voice-speaking-bg:#f0fdfa;--voice-speaking-border:#14b8a6;--voice-speaking-glow:#0d948842;--btn-tactile-lip:#312e81;--btn-secondary-lip:#cfc7b8;--btn-press-y:2px;--shadow:0 4px 12px -2px #18181b12,0 2px 6px -1px #18181b0a;--shadow-sm:0 1px 3px #18181b0d,0 1px 2px #18181b0a;--mono:"JetBrains Mono","SF Mono",Menlo,Consolas,ui-monospace,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--r:14px}html[data-theme=dark],html.dark{--bg:#0d111a;--bg2:#1d2536;--card:#151b28;--card-top:#1d2536;--line:#263147;--ink:#f8fafc;--soft:#94a3b8;--soft2:#94a3b8;--orange-50:#1c2438;--orange-100:#25304d;--orange-200:#314069;--orange:#a5b4fc;--orange-d:#c7d2fe;--orange-900:#eef2ff;--ink-on-orange:#0d111a;--green:#2dd4bf;--green-bg:#14b8a629;--red:#fb7185;--red-bg:#f43f5e29;--blue:#60a5fa;--purple:#a5b4fc;--purple-bg:#6366f12e;--accent:#fbbf24;--accent-bg:#f59e0b29;--algo-idle-bg:#1d2536;--algo-idle-fg:#f8fafc;--algo-idle-border:#384661;--algo-active-focus-bg:#6366f13d;--algo-active-focus-fg:#e0e7ff;--algo-active-focus-border:#818cf8;--algo-active-focus-ring:#818cf852;--algo-active-focus-solid:#818cf8;--algo-comparison-highlight-bg:#f59e0b38;--algo-comparison-highlight-fg:#fef3c7;--algo-comparison-highlight-border:#fbbf24;--algo-comparison-highlight-ring:#fbbf244d;--algo-comparison-highlight-solid:#fbbf24;--algo-swap-motion-bg:#f43f5e38;--algo-swap-motion-fg:#ffe4e6;--algo-swap-motion-border:#fb7185;--algo-swap-motion-ring:#fb71854d;--algo-swap-motion-solid:#fb7185;--algo-final-sorted-bg:#14b8a638;--algo-final-sorted-fg:#ccfbf1;--algo-final-sorted-border:#2dd4bf;--algo-final-sorted-ring:#2dd4bf4d;--algo-final-sorted-solid:#2dd4bf;--callstack-depth-0:#818cf8;--callstack-depth-1:#38bdf8;--callstack-depth-2:#2dd4bf;--callstack-depth-3:#fbbf24;--callstack-depth-4:#fb7185;--callstack-active-bg:#6366f138;--callstack-active-border:#818cf8;--callstack-return-fg:#99f6e4;--voice-step-active-bg:#6366f12e;--voice-step-active-border:#818cf8;--voice-transcript-bg:#6366f121;--voice-transcript-border:#818cf8;--voice-scrubber-track:#263147;--voice-scrubber-fill:linear-gradient(90deg,#818cf8 0%,#2dd4bf 100%);--voice-scrubber-thumb:#c7d2fe;--voice-scrubber-glow:#818cf859;--voice-speaking-color:#2dd4bf;--voice-speaking-bg:#14b8a629;--voice-speaking-border:#2dd4bf;--voice-speaking-glow:#2dd4bf52;--btn-tactile-lip:#6366f1;--btn-secondary-lip:#090d14;--shadow:0 6px 16px #0000008c;--shadow-sm:0 2px 4px #00000073}html[data-theme=dark] .nav,html.dark .nav{background:#0d111aeb}html[data-theme=dark] body.bg-grid,html.dark body.bg-grid{background-image:none}html{transition:background-color .2s,color .2s}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.75}body.bg-grid{background:var(--bg)}a:hover{color:var(--orange)}.wrap{max-width:1160px;margin:0 auto;padding:0 22px}.em{color:var(--orange);font-weight:700}.ok{color:var(--green);font-weight:700}.bad{color:var(--red);font-weight:700}.ptr{color:var(--blue);font-weight:700}.mono{font-family:var(--mono)}.nav{z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#ffffffdb;position:sticky;top:0}html[data-theme=dark] .nav{background:#0b1120db}.am-site-wrap,.channel-wrap{max-width:1440px;margin:0 auto;padding:0 32px}.am-site-wrap{justify-content:space-between;align-items:center;gap:18px;height:64px;display:flex}.am-logo{color:var(--ink);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-weight:800;display:flex}.am-logo:hover{color:var(--ink)}.am-logo-icon{flex:none;width:32px;height:32px;display:block}.am-main-links{scrollbar-width:none;flex:auto;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.am-main-links::-webkit-scrollbar{display:none}.am-main-links a{color:var(--soft);white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:600;transition:all .15s}.am-main-links a:hover{color:var(--ink)}.am-main-links a.on{background:var(--orange-50);color:var(--orange-d)}.am-actions{flex:none;align-items:center;gap:12px;display:flex}.am-login{color:var(--soft);white-space:nowrap;font-size:14px;font-weight:600}.am-login:hover{color:var(--ink)}.am-cta{background:var(--orange);color:var(--ink-on-orange);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:800;display:inline-flex}.am-cta:hover{color:var(--ink-on-orange);background:var(--orange-d)}.am-channel{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--card) 78%,transparent)}.channel-wrap{align-items:center;gap:18px;height:48px;display:flex}.channel-title{min-width:max-content;color:var(--ink);align-items:baseline;gap:8px;font-weight:800;display:flex}.channel-title:hover{color:var(--ink)}.channel-title span{font-size:14px}.channel-title small{color:var(--soft2);font-size:12px;font-weight:650}.nav .links{scrollbar-width:none;flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav .links::-webkit-scrollbar{display:none}.nav .links a{color:var(--soft);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:13.5px;font-weight:650;transition:all .15s}.nav .links a:hover{color:var(--ink);background:var(--card)}.nav .links a.on{color:var(--orange-d);background:var(--orange-50)}.nav .right{flex:none;align-items:center;gap:8px;display:flex}@media (width<=1220px){.am-site-wrap,.channel-wrap{padding:0 22px}.am-main-links a{padding:7px 9px;font-size:13.5px}.channel-title small{display:none}}@media (width<=1060px){.am-main-links a:nth-last-child(-n+3),.nav .right .nv-gh{display:none}}@media (width<=820px){.am-site-wrap{flex-wrap:wrap;align-items:flex-start;height:auto;min-height:60px;padding-top:10px;padding-bottom:10px}.am-logo{margin-right:auto}.am-main-links{flex-basis:100%;order:3;justify-content:flex-start}.am-actions{margin-left:auto}.channel-wrap{flex-wrap:wrap;align-items:flex-start;height:auto;min-height:48px;padding-top:8px;padding-bottom:8px}.channel-title{flex-basis:100%}.nav .links{flex-basis:calc(100% - 150px)}}@media (width<=560px){.am-site-wrap,.channel-wrap{padding-left:16px;padding-right:16px}.am-site-wrap{flex-wrap:nowrap;align-items:center;min-height:58px}.am-main-links{display:none}.am-cta{padding:7px 13px}.am-actions{gap:10px}.am-login{font-size:13.5px}.channel-wrap{gap:6px;min-height:76px;padding-top:7px;padding-bottom:8px}.channel-title{flex-basis:100%}.channel-title span{font-size:13.5px}.nav .links{flex-basis:100%}.nav .links a{padding:5px 9px;font-size:13px}.nav .right{display:none}}.btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:0 2px 0 var(--btn-secondary-lip);border-radius:10px;align-items:center;gap:7px;padding:9px 18px;font-size:14.5px;font-weight:700;transition:transform .14s,box-shadow .14s,border-color .14s;display:inline-flex}.btn:hover{border-color:var(--orange);color:var(--ink);transform:translateY(-1px)}.btn:active{transform:translateY(var(--btn-press-y));box-shadow:none}.btn.pri{background:var(--orange);color:var(--ink-on-orange);border:1px solid var(--orange-d);box-shadow:0 3px 0 var(--btn-tactile-lip)}.btn.pri:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn.pri:active{transform:translateY(var(--btn-press-y));box-shadow:0 1px 0 var(--btn-tactile-lip)}.btn.vip{background:var(--purple);color:#fff;border:0}.btn.vip:hover{filter:brightness(.93)}.btn.ghost{box-shadow:none;background:0 0}.btn.sm{padding:6px 12px;font-size:13px}.tag{border:1px solid var(--line);color:var(--soft);background:var(--card-top);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.tag.easy{color:var(--green);border-color:var(--green)}.tag.mid{color:var(--orange);border-color:var(--orange)}.tag.hard{color:var(--red);border-color:var(--red)}.tag.free{color:var(--green);background:var(--green-bg);border-color:var(--green)}.tag.vip{color:#fff;background:var(--purple);border:0}.av{--av-stage-h:440px;--av-stage-min-h:360px;--av-stage-pad:44px 24px 24px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);overflow:hidden}.av-head{background:var(--card-top);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex;position:relative}.av-head .ptag{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:38%;font-family:var(--mono);color:var(--orange);border:1px solid var(--orange-200);background:var(--orange-50);border-radius:7px;flex:0 auto;padding:2px 9px;font-size:12px;font-weight:700;overflow:hidden}.av-head .ttl{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.av-head .wm{color:var(--soft2);white-space:nowrap;flex:none;margin-left:auto;font-size:12px;font-weight:600}.av-head .wm b{color:var(--orange)}.av-aipill{border:1px solid var(--orange-200);cursor:pointer;background:var(--orange-50);height:30px;font-family:var(--sans);white-space:nowrap;z-index:5;border-radius:999px;flex:none;align-items:center;gap:8px;padding:3px 12px 3px 4px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;position:static;transform:none}.av-aipill[hidden]{display:none}.av-aipill:hover{background:var(--orange-100);border-color:var(--orange);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.av-aipill:active{transform:translateY(0)}.av-aipill:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.av-aipill-ava{background:linear-gradient(135deg,var(--orange),var(--orange-d));width:24px;height:24px;color:var(--ink-on-orange,#fff);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.av-aipill-tx{color:var(--orange-d);letter-spacing:.2px;font-size:13px;font-weight:700;line-height:1}.av-aipill-ch{color:var(--orange);opacity:.7;font-size:13px;font-weight:800;line-height:1;transition:opacity .15s}.av-aipill:hover .av-aipill-ch{opacity:1}@media (width<=760px){.av-aipill{display:none}}.av-stage{min-height:var(--av-stage-min-h,360px);height:var(--av-stage-h,440px);padding:var(--av-stage-pad,44px 24px 24px);background:var(--card);flex-direction:column;display:flex;position:relative;overflow:hidden}.av-stage:before{content:"AlgoMooc";font-family:var(--sans);letter-spacing:.1em;color:#0f172a03;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;justify-content:center;align-items:center;font-size:99px;font-weight:900;display:flex;position:absolute;inset:0}html[data-theme=dark] .av-stage,html.dark .av-stage{background:var(--card)}html[data-theme=dark] .av-stage:before,html.dark .av-stage:before{color:#ffffff04}.av-stage.jt-on{box-shadow:inset 0 0 0 2px var(--voice-speaking-border),inset 0 0 72px var(--voice-speaking-glow)}.av-stage.jt-on:before{color:var(--voice-speaking-glow)}html[data-theme=dark] .av-stage.jt-on{box-shadow:inset 0 0 0 2px var(--voice-speaking-border),inset 0 0 88px var(--voice-speaking-glow)}html[data-theme=dark] .av-stage.jt-on:before{color:var(--voice-speaking-glow)}@keyframes avSpeakingBadgePulse{0%,to{box-shadow:0 0 0 0 var(--voice-speaking-glow),var(--shadow-sm)}50%{box-shadow:0 0 0 5px transparent,var(--shadow-sm)}}.av-stage.jt-on:after{content:"🔊 Đang có giọng nói giải thích";z-index:3;font-family:var(--sans);letter-spacing:.02em;color:var(--algo-final-sorted-fg);border:1.5px solid var(--voice-speaking-border);background:var(--voice-speaking-bg);pointer-events:none;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800;animation:2s ease-in-out infinite avSpeakingBadgePulse;position:absolute;bottom:12px;right:14px}.av-stage.jt-on~.av-ctl .play{background:linear-gradient(135deg,var(--orange),var(--orange-d));border:0}.av-stage.jt-on~.av-ctl .voice{border-color:var(--voice-speaking-border);color:var(--algo-final-sorted-fg);background:var(--voice-speaking-bg)}.av-stage.jt-on~.av-ctl .voice.on{background:var(--voice-speaking-bg);border-color:var(--voice-speaking-border);color:var(--algo-final-sorted-fg);box-shadow:0 0 0 3px var(--voice-speaking-glow)}.av-stage.jt-on~.av-ctl .prog i{background:var(--voice-scrubber-fill)}.av-stage.jt-on~.av-dots .av-dot.done,.av-stage.jt-on~.av-dots i.done{background:var(--voice-speaking-color)}.av-stage.jt-on~.av-dots .av-dot.on,.av-stage.jt-on~.av-dots i.on{background:var(--orange)}.stage-body{z-index:1;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.av-stage .step-title{color:var(--ink);font-size:16px;font-weight:800;position:absolute;top:14px;left:24px}.av-stage .step-state{font-family:var(--mono);color:var(--orange);font-size:13px;font-weight:700;position:absolute;top:14px;right:24px}.av-stage-play{background:var(--orange);height:44px;color:var(--ink-on-orange);font-family:var(--sans);box-shadow:0 3px 0 var(--btn-tactile-lip),0 10px 24px #4338ca3d;cursor:pointer;z-index:3;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:800;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.av-stage-play:hover{filter:brightness(1.06);transform:translate(-50%)translateY(-1px)}.av-stage-play:active{box-shadow:0 1px 0 var(--btn-tactile-lip);transform:translate(-50%)translateY(1px)}.av-stage-play span{background:#ffffff38;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:grid}.av-playback-toast{z-index:5;background:var(--orange-50);border:1px solid var(--orange-200);color:var(--orange-d);font:800 12.5px/1.3 var(--sans);box-shadow:var(--shadow-sm);pointer-events:none;border-radius:999px;padding:6px 12px;animation:.18s avfade;position:absolute;bottom:14px;left:16px}.av-playback-toast[hidden]{display:none}.av-voice-status{z-index:4;border:1px solid var(--orange-200);background:var(--card);max-width:min(360px,100% - 28px);color:var(--ink);font:700 12px/1.35 var(--sans);box-shadow:var(--shadow-sm);border-radius:999px;padding:6px 10px;position:absolute;bottom:14px;right:14px}.av-voice-status.loading:before{content:"◌";color:var(--orange);margin-right:6px;animation:.9s linear infinite av-spin;display:inline-block}.av-voice-status.error{border-color:var(--red);color:var(--red);background:var(--red-bg)}@keyframes av-spin{to{transform:rotate(360deg)}}.av-preview-hint{z-index:4;background:var(--orange-50);border:1px solid var(--orange-200);color:var(--orange-d);font-size:12px;font-weight:600;font-family:var(--sans);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:5px 13px;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.av-preview-hint[hidden]{display:none}@keyframes avfade{0%{opacity:0}to{opacity:1}}.av-caption{background:var(--card-top);border-top:1px solid var(--line);color:var(--ink);height:96px;padding:16px 22px;font-size:15.5px;line-height:1.7;overflow:auto}.av-caption .lead{color:var(--orange);letter-spacing:.04em;margin-right:8px;font-size:12px;font-weight:800;display:inline-block}.av-ctl{border-top:1px solid var(--line);background:var(--card);align-items:center;gap:12px;min-width:0;padding:12px 18px;display:flex}.av-ctl button{border:1px solid var(--line);background:var(--card-top);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--btn-secondary-lip);border-radius:10px;justify-content:center;align-items:center;font-size:16px;transition:transform .12s,box-shadow .12s,border-color .12s,color .12s;display:inline-flex}.av-ctl button:hover:not(:disabled){border-color:var(--orange);color:var(--orange);transform:translateY(-1px)}.av-ctl button:active:not(:disabled){transform:translateY(var(--btn-press-y));box-shadow:none}.av-ctl button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.av-ctl button.play{background:var(--orange);color:var(--ink-on-orange);border:1px solid var(--orange-d);box-shadow:0 3px 0 var(--btn-tactile-lip)}.av-ctl button.play:hover:not(:disabled){color:var(--ink-on-orange);filter:brightness(1.06)}.av-ctl button.play:active:not(:disabled){box-shadow:0 1px 0 var(--btn-tactile-lip)}.av-ctl .prog{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border-radius:999px;flex:1;align-items:center;height:32px;min-height:32px;padding:0 4px;display:flex;overflow:visible}.av-ctl .prog .prog-track{background:var(--voice-scrubber-track);border-radius:999px;width:100%;height:9px;transition:height .15s;display:block;position:relative;overflow:visible}.av-ctl .prog:hover .prog-track,.av-ctl .prog:focus-visible .prog-track{height:11px}.av-ctl .prog i{background:var(--voice-scrubber-fill);border-radius:999px;height:100%;transition:width .18s;display:block;position:relative}.av-ctl .prog .prog-thumb{background:var(--card,#fff);border:3px solid var(--voice-scrubber-thumb);border-radius:50%;width:16px;height:16px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;position:absolute;top:50%;right:-8px;transform:translateY(-50%);box-shadow:0 2px 6px #0f172a38}.av-ctl .prog:hover .prog-thumb,.av-ctl .prog:focus-visible .prog-thumb{box-shadow:0 0 0 5px var(--voice-scrubber-glow);transform:translateY(-50%)scale(1.2)}.av-ctl .count{font-family:var(--mono);color:var(--soft);text-align:right;min-width:64px;font-size:13px;font-weight:700}.av-ctl .focus{width:auto;min-width:76px;font-family:var(--sans);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:800}.av-ctl .mode.wide{width:auto;font-family:var(--sans);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:800}.av-ctl .focus.on{border-color:var(--orange-200);background:var(--orange-50);color:var(--orange-d);box-shadow:0 2px 0 var(--btn-secondary-lip)}.av-dots{align-items:center;gap:5px;padding:0 18px 12px;display:flex;position:relative}.av-dots .av-dot,.av-dots i{background:var(--line);cursor:pointer;appearance:none;border:0;border-radius:999px;flex:1;height:6px;min-height:6px;padding:0;transition:all .15s}.av-dots .av-dot.done,.av-dots i.done{background:var(--algo-final-sorted-solid)}.av-dots .av-dot.on,.av-dots i.on{background:var(--orange)}.av-dots .av-dot.gated,.av-dots i.gated{opacity:.38}.gate-mark{z-index:3;appearance:none;background:0 0;border:0;flex:0 0 0;align-self:center;width:0;padding:0;position:relative}.gate-mark .gm-ico{background:var(--card);border:1px solid var(--orange-200);cursor:pointer;width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;font-size:11px;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gate-mark:hover .gm-ico,.gate-mark.show .gm-ico{border-color:var(--orange);box-shadow:var(--shadow)}.gate-mark .gm-tip{white-space:nowrap;background:var(--ink);color:var(--card);font-size:11px;font-weight:600;font-family:var(--sans);opacity:0;pointer-events:none;box-shadow:var(--shadow);border-radius:7px;padding:5px 9px;transition:opacity .15s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}.gate-mark .gm-tip:after{content:"";border:5px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.gate-mark:hover .gm-tip,.gate-mark:focus .gm-tip,.gate-mark.show .gm-tip{opacity:1}@media (width>=761px) and (height<=760px){.av{--av-stage-h:380px;--av-stage-min-h:320px;--av-stage-pad:40px 22px 20px}.av-caption{height:80px;padding:12px 18px;font-size:14.5px;line-height:1.55}.av-dots{padding-bottom:8px}.av-ctl{padding:10px 16px}.av-ctl button{min-width:40px;min-height:40px}}@media (width<=600px){.av-head{gap:8px;padding:10px 12px}.av-head .ptag{max-width:68%;font-size:11px}.av-head .ttl{display:none}.av-head .wm{font-size:11px}.av-ctl{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px}.av-ctl .prog{flex:calc(100% - 88px);order:-2;min-height:36px}.av-ctl .count{order:-1;align-self:center;min-width:auto;font-size:12.5px}.av-ctl button{flex:none;width:44px;min-width:44px;height:44px;min-height:44px;font-size:15.5px}.av-ctl .speed{width:auto;min-width:56px;padding:0 11px}.av-ctl .focus{width:auto;min-width:64px;padding:0 11px;font-size:12px}}.tpl-quote{text-align:left;width:100%;max-width:680px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.tpl-quote .qz-tag{border:1px solid var(--orange-200);background:var(--orange-50);height:28px;color:var(--orange);font-family:var(--mono);letter-spacing:.06em;border-radius:999px;align-items:center;gap:9px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex}.tpl-quote .qz-tag .qz-sub{color:var(--soft2);letter-spacing:.1em;font-size:11px;font-weight:700}.tpl-quote .qz-lead{color:var(--ink);letter-spacing:.005em;margin:15px 0 4px;font-size:20px;font-weight:500;line-height:1.65}.tpl-quote .qz-pts{counter-reset:qp;flex-direction:column;gap:11px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tpl-quote .qz-pts li{counter-increment:qp;color:var(--ink);padding-left:36px;font-size:15.5px;font-weight:400;line-height:1.75;position:relative}.tpl-quote .qz-pts li:before{content:counter(qp);background:var(--orange-50);width:25px;height:25px;color:var(--orange);font-family:var(--mono);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:2px;left:0}.tpl-quote .qz-tail{border-top:1px solid var(--line);color:var(--soft);margin-top:16px;padding-top:13px;font-size:15px;font-weight:500;line-height:1.7}.tpl-quote .qk{font-family:var(--mono);font-weight:700}.tpl-quote .qk.ok{color:var(--green)}.tpl-quote .qk.dim{color:var(--soft2)}.tpl-title{text-align:center}.tpl-title .t-tag{font-family:var(--mono);color:var(--orange);letter-spacing:.15em;font-size:13px;font-weight:700}.tpl-title .t-main{margin:10px 0 4px;font-size:40px;font-weight:900}.tpl-title .t-sub{font-family:var(--mono);color:var(--soft);letter-spacing:.18em;font-size:14px}.tpl-prob{width:100%;max-width:680px}.tpl-prob .label{color:var(--orange);letter-spacing:.05em;font-size:12px;font-weight:800}.tpl-prob .text{margin:8px 0 16px;font-size:18px;line-height:1.7}.tpl-prob .ex{background:var(--card-top);border:1px solid var(--line);font-family:var(--mono);border-radius:10px;padding:14px 18px;font-size:14px}.tpl-prob .ex .k{color:var(--soft)}.tpl-prob .ex .v{color:var(--ink);white-space:pre-wrap;vertical-align:top;line-height:1.5;display:inline-block}.tpl-array{flex-direction:column;align-items:flex-start;gap:18px;width:100%;height:100%;padding:40px 12px 24px;display:flex;position:relative}.tpl-array>.av-result{white-space:nowrap;z-index:5;min-height:0;margin:0;position:absolute;top:6px;left:50%;transform:translate(-50%)}.tpl-array>.formula{justify-content:center;align-self:center;align-items:center;min-height:42px;margin:0;display:flex}.av-result{font-family:var(--mono);color:var(--algo-final-sorted-fg);border:1.5px solid var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);border-radius:8px;padding:5px 14px;font-size:15px;font-weight:800}.arr-zone{flex-wrap:nowrap;flex:auto;justify-content:flex-start;align-items:center;gap:46px;width:100%;display:flex}.arr-box{flex:none;padding-top:46px;position:relative}.cells{gap:10px;display:flex}.cell,.cell.idle{width:60px;height:60px;font-family:var(--mono);background:var(--algo-idle-bg);border:2px solid var(--algo-idle-border);color:var(--algo-idle-fg);box-shadow:0 2px 0 var(--algo-idle-border);border-radius:12px;place-items:center;font-size:22px;font-weight:700;transition:all .35s;display:grid;position:relative}.cell .idx{text-align:center;color:var(--soft2);font-size:12px;font-family:var(--mono);font-weight:600;position:absolute;bottom:-22px;left:0;right:0}.cell.visited,.cell.comparison-highlight{border-color:var(--algo-comparison-highlight-border);color:var(--algo-comparison-highlight-fg);background:var(--algo-comparison-highlight-bg);box-shadow:0 2px 0 var(--algo-comparison-highlight-border),0 0 0 3px var(--algo-comparison-highlight-ring)}.cell.cur,.cell.active-focus{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);box-shadow:0 2px 0 var(--algo-active-focus-border),0 0 0 3px var(--algo-active-focus-ring);color:var(--algo-active-focus-fg)}.cell.match,.cell.final-sorted{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg);box-shadow:0 2px 0 var(--algo-final-sorted-border),0 0 0 3px var(--algo-final-sorted-ring)}.cell.danger,.cell.swap,.cell.swap-motion{border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg);color:var(--algo-swap-motion-fg);box-shadow:0 2px 0 var(--algo-swap-motion-border),0 0 0 3px var(--algo-swap-motion-ring)}.cell.dim{opacity:.45}.cell.l{border-color:var(--algo-active-focus-border);color:var(--algo-active-focus-fg);background:var(--algo-active-focus-bg)}.cell.r{border-color:var(--algo-comparison-highlight-border);color:var(--algo-comparison-highlight-fg);background:var(--algo-comparison-highlight-bg)}.ptr-tag{pointer-events:none;flex-direction:column;align-items:center;height:30px;transition:transform .4s cubic-bezier(.5,1.4,.5,1);display:flex;position:absolute;top:6px}.ptr-tag b{font-family:var(--mono);font-size:13px;font-weight:800;line-height:1}.ptr-tag.i b{color:var(--algo-active-focus-solid)}.ptr-tag.i:after{border-top-color:var(--algo-active-focus-solid)}.ptr-tag.l b{color:var(--algo-active-focus-solid)}.ptr-tag.l:after{border-top-color:var(--algo-active-focus-solid)}.ptr-tag.r b{color:var(--algo-comparison-highlight-solid)}.ptr-tag.r:after{border-top-color:var(--algo-comparison-highlight-solid)}.ptr-tag:after{content:"";border:6px solid #0000;border-top:8px solid var(--algo-active-focus-solid);margin-top:3px}.formula{font-family:var(--mono);background:var(--card-top);border:1px solid var(--line);border-radius:10px;padding:10px 18px;font-size:17px}.hash{border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;min-width:160px;overflow:hidden}.hash .h-h{color:var(--orange);border-bottom:1px solid var(--line);letter-spacing:.05em;padding:7px 13px;font-size:13px;font-weight:800}.hash .h-row{font-family:var(--mono);border-bottom:1px dashed var(--line);justify-content:space-between;gap:18px;padding:7px 14px;font-size:15px;display:flex}.hash .h-row:last-child{border-bottom:0}.hash .h-row .hk{color:var(--ink)}.hash .h-row .hv{color:var(--soft)}.hash .h-row.added{background:var(--algo-active-focus-bg);animation:.8s pulseO}.hash .h-row.added .hk{color:var(--algo-active-focus-fg)}.hash .h-row.hit{background:var(--algo-final-sorted-bg);animation:.8s pulseG}.hash .h-row.hit .hk{color:var(--algo-final-sorted-fg)}.hash .h-empty{color:var(--soft2);text-align:center;padding:14px;font-size:13px}@keyframes pulseO{0%{box-shadow:inset 0 0 0 2px var(--algo-active-focus-border)}to{box-shadow:none}}@keyframes pulseG{0%{box-shadow:inset 0 0 0 2px var(--algo-final-sorted-border)}to{box-shadow:none}}.tpl-bars{flex:none;justify-content:center;align-items:flex-end;gap:30px;width:max-content;min-width:100%;display:flex}.bars-zone{box-sizing:content-box;border-bottom:2px solid var(--line);flex:none;align-items:flex-end;gap:8px;padding-top:62px;display:flex;position:relative}.bar{background:var(--algo-idle-border);border-radius:6px 6px 0 0;justify-content:center;align-items:flex-start;width:42px;transition:all .35s;display:flex;position:relative}.bar .bv{font-family:var(--mono);color:var(--soft);font-size:13px;font-weight:700;position:absolute;top:-22px}.bar .bi{font-family:var(--mono);color:var(--soft2);font-size:12px;position:absolute;bottom:-24px}.bar.cur{background:var(--algo-active-focus-solid)}.bar.instk{background:var(--algo-comparison-highlight-solid)}.bar.swap{background:var(--algo-swap-motion-solid)}.col .water{border-top:2px solid var(--blue);background:repeating-linear-gradient(45deg,#2563eb6b,#2563eb6b 6px,#2563eb3d 6px 12px);border-radius:3px 3px 0 0;transition:all .35s;position:absolute;bottom:0;left:0;right:0}.bars-ptr{z-index:6;transform-origin:50%;font-family:var(--mono);color:var(--ink-on-orange);background:var(--orange);box-shadow:0 3px 0 var(--btn-tactile-lip);white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 13px 5px;font-size:14.5px;font-weight:800;line-height:1;transition:transform .4s cubic-bezier(.5,1.4,.5,1);position:absolute;top:2px;left:0}.bars-ptr:after{content:"";border:5px solid #0000;border-top-color:var(--orange-d);position:absolute;top:100%;left:50%;transform:translate(-50%)}.stack-panel{box-sizing:border-box;border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;align-self:stretch;min-width:140px;max-width:100%}.stack-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);padding:7px 12px;font-size:12px;font-weight:800}.stack-panel .s-item{box-sizing:border-box;max-width:100%;font-family:var(--mono);border-bottom:1px dashed var(--line);color:var(--ink);padding:8px 13px;font-size:14px;animation:.3s avfade}.stack-panel .s-empty{color:var(--soft2);text-align:center;padding:14px;font-size:13px}.tpl-code{background:var(--bg2);border:1px solid var(--line);width:100%;max-width:720px;font-family:var(--mono);border-radius:12px;overflow:hidden}.tpl-code .c-h{background:var(--card-top);border-bottom:1px solid var(--line);color:var(--soft);align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;display:flex}.tpl-code .c-h .dot{border-radius:50%;width:11px;height:11px}.tpl-code .lines{max-height:300px;padding:12px 0;font-size:13.5px;line-height:1.85;overflow:auto}.tpl-code .ln{white-space:pre;padding:0 16px;transition:all .2s;display:flex}.tpl-code .ln .no{color:var(--soft2);text-align:right;-webkit-user-select:none;user-select:none;flex:0 0 30px;width:30px;margin-right:16px}.tpl-code .ln.hl{background:var(--algo-active-focus-bg);box-shadow:inset 3px 0 0 var(--algo-active-focus-border)}.tpl-code .ln.hl .no{color:var(--algo-active-focus-fg)}.tpl-code{color:var(--ink)}.tpl-code .cmt{color:var(--soft)}.tpl-code .kw{color:var(--red)}.tpl-code .fn{color:var(--purple)}.tpl-code .str{color:var(--green)}.tpl-code .num{color:var(--blue)}.tpl-cx{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.cx-block{background:var(--card-top);border:1px solid var(--line);border-radius:12px;min-width:220px;padding:18px 24px}.cx-block .l{color:var(--soft);letter-spacing:.05em;font-size:12px;font-weight:700}.cx-block .v{font-family:var(--mono);color:var(--orange);margin:4px 0;font-size:34px;font-weight:800}.cx-block .d{color:var(--soft);font-size:13px}.av-ctl .speed{width:auto;font-family:var(--mono);padding:0 12px;font-size:13px;font-weight:700}.tpl-list{flex-direction:column;align-items:flex-start;gap:12px;width:100%;display:flex}.list-line{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.list-label{font-family:var(--mono);color:var(--soft);align-self:flex-start;margin-left:6px;font-size:12px;font-weight:800}.ltail-cyc{font-family:var(--mono);color:var(--algo-active-focus-fg);border:1.5px dashed var(--algo-active-focus-border);background:var(--algo-active-focus-bg);border-radius:8px;align-self:center;padding:6px 10px;font-size:12.5px;font-weight:800}.list-row{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:4px;display:flex}.lnode-wrap{padding-top:30px;position:relative}.lptrs{justify-content:center;gap:4px;height:26px;display:flex;position:absolute;top:0;left:0;right:0}.lptr{font-family:var(--mono);font-size:12px;font-weight:800}.lptr.prev{color:var(--algo-comparison-highlight-solid)}.lptr.cur{color:var(--algo-active-focus-solid)}.lptr.nxt,.lptr.next{color:var(--blue)}.lptr.a{color:var(--algo-active-focus-solid)}.lptr.b{color:var(--algo-comparison-highlight-solid)}.lptr.ans{color:var(--algo-final-sorted-solid)}.lnode{width:56px;height:56px;font-family:var(--mono);background:var(--algo-idle-bg);border:2px solid var(--algo-idle-border);color:var(--algo-idle-fg);box-shadow:0 2px 0 var(--algo-idle-border);border-radius:12px;place-items:center;font-size:22px;font-weight:700;transition:all .35s;display:grid}.lnode.done{border-color:var(--algo-final-sorted-border);color:var(--algo-final-sorted-fg);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border)}.lnode.removed{opacity:.32;border-style:dashed;border-color:var(--soft2);color:var(--soft2);box-shadow:none;background:0 0;text-decoration:line-through}.larrow{color:var(--soft);text-align:center;flex:0 0 26px;font-size:24px;font-weight:700;transition:all .3s;display:inline-block}.larrow.rev{color:var(--algo-swap-motion-solid)}.larrow.none{color:var(--soft2)}.lnull{font-family:var(--mono);color:var(--soft2);border:1px dashed var(--line);border-radius:8px;align-self:center;padding:6px 10px;font-size:13px}.tpl-tree{flex:none;justify-content:center;align-items:center;gap:24px;width:max-content;min-width:100%;display:flex}.tree-board{flex:none;width:440px}.tpl-numline{justify-content:center;align-items:center;width:100%;display:flex}.nl-board{width:100%}.nl-svg{width:100%;font-family:var(--sans),ui-sans-serif,system-ui,"PingFang SC","Microsoft YaHei",sans-serif;display:block}.nl-svg .nl-t{fill:var(--ink)}.tnode circle{fill:var(--algo-idle-bg);stroke:var(--algo-idle-border);stroke-width:2px;transition:all .3s}.tnode text{fill:var(--algo-idle-fg);font-family:var(--mono);font-size:16px;font-weight:700}.tnode.visiting circle{fill:var(--algo-active-focus-bg);stroke:var(--algo-active-focus-border);stroke-width:3px}.tnode.visiting text{fill:var(--algo-active-focus-fg)}.tnode.visited circle{fill:var(--algo-comparison-highlight-bg);stroke:var(--algo-comparison-highlight-border)}.tnode.visited text{fill:var(--algo-comparison-highlight-fg)}.tnode.done circle{fill:var(--algo-final-sorted-bg);stroke:var(--algo-final-sorted-border)}.tnode.done text{fill:var(--algo-final-sorted-fg)}.tree-panel{border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;align-self:center;width:268px}.tree-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);letter-spacing:.04em;padding:8px 14px;font-size:13px;font-weight:800}.tree-panel .s-item{font-family:var(--mono);border-bottom:1px dashed var(--line);padding:8px 14px;font-size:14px;line-height:1.55;animation:.3s avfade}.tree-panel .s-empty{color:var(--soft2);text-align:center;padding:14px;font-size:13px}.tpl-dp{flex-direction:column;align-items:center;display:flex}.tpl-composite{flex-direction:column;align-items:center;gap:16px;display:flex}.comp-views{flex-direction:column;align-items:center;gap:18px;display:flex}.comp-views.comp-row{flex-direction:row;justify-content:center;align-items:flex-start;gap:36px}.comp-view{flex-direction:column;align-items:center;display:flex}.comp-label{color:var(--soft2);letter-spacing:.04em;align-self:flex-start;margin-bottom:10px;font-size:13px;font-weight:800}.comp-formula{font-family:var(--mono);background:var(--card-top);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:9px 16px;font-size:15px}.tpl-composite .dp-cell{width:56px;height:36px;font-size:16px}.tpl-composite .dp-cell.hdr{height:30px;font-size:13px}.tpl-composite .comp-label{margin-bottom:6px}.comp-row .tpl-grid,.comp-row .tpl-array{align-items:flex-start}.comp-view .tpl-array{height:auto;padding-top:6px}.comp-view .tpl-array .arr-zone{flex:none}.comp-views.comp-row{gap:52px}.comp-row .comp-view{align-items:flex-start}.arr-box.no-ptr{padding-top:0}.comp-view .arr-box{padding-top:34px}.comp-view .arr-box .ptr-tag{top:2px}.comp-view .arr-box.no-ptr{padding-top:0}.comp-views.comp-row.comp-arr-row{align-items:flex-end}.comp-view .grid-board:empty{display:none}.comp-view .tpl-grid:has(>.grid-board:empty){justify-content:flex-start}.comp-view .tpl-array{padding-left:0;padding-right:0}.comp-view .tpl-array .arr-zone{justify-content:flex-start!important}.tpl-grid.g-wide .grid-cell{width:var(--gcw)}.tpl-composite .dp-cell.cur{color:var(--algo-active-focus-fg);font-weight:800}.tpl-composite .dp-cell.dep{font-weight:800}.tpl-composite .dp-cell.ok{background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg);box-shadow:inset 0 0 0 2px var(--algo-final-sorted-border);font-weight:800}.tpl-composite .dp-cell.bad{background:var(--algo-swap-motion-bg);color:var(--algo-swap-motion-fg);box-shadow:inset 0 0 0 2px var(--algo-swap-motion-border);font-weight:800}.tpl-dp.dp-fw .dp-row>.dp-cell:first-child{width:var(--dpfw)}.dp-tbl{border:1px solid var(--line);border-radius:8px;display:inline-block;overflow:hidden}.dp-row{display:flex}.dp-cell{width:54px;height:48px;font-family:var(--mono);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--algo-idle-bg);color:var(--algo-idle-fg);place-items:center;font-size:17px;transition:all .3s;display:grid}.dp-cell.hdr{background:var(--card-top);color:var(--soft);font-size:14px;font-weight:700}.dp-cell.corner{background:var(--card)}.dp-cell.cur{background:var(--algo-active-focus-bg);color:var(--algo-active-focus-fg);box-shadow:inset 0 0 0 2px var(--algo-active-focus-border)}.dp-cell.dep{background:var(--algo-comparison-highlight-bg);color:var(--algo-comparison-highlight-fg);box-shadow:inset 0 0 0 1.5px var(--algo-comparison-highlight-border)}.dp-cell.done{color:var(--ink)}.cell.midc{border-color:var(--algo-final-sorted-border);color:var(--algo-final-sorted-fg);background:var(--algo-final-sorted-bg);box-shadow:0 0 0 3px var(--algo-final-sorted-ring)}.cell.inwin{background:var(--algo-active-focus-bg)}.ptr-tag.m b{color:var(--algo-final-sorted-solid)}.ptr-tag.m:after{border-top-color:var(--algo-final-sorted-solid)}.tpl-stack{flex-direction:column;align-items:center;gap:26px;width:100%;display:flex}.stk-stream{flex-wrap:nowrap;gap:8px;display:flex}.stk-ch{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);width:46px;height:46px;color:var(--algo-idle-fg);font-family:var(--mono);border-radius:10px;place-items:center;font-size:22px;font-weight:700;transition:all .25s;display:grid}.stk-ch.done{opacity:.4}.stk-ch.cur{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);color:var(--algo-active-focus-fg);box-shadow:0 0 0 3px var(--algo-active-focus-ring)}.stk-main{align-items:flex-end;gap:30px;min-height:160px;display:flex;position:relative}.stk-status{white-space:normal;text-align:left;width:max-content;max-width:340px;margin-left:24px;position:absolute;bottom:8px;left:100%}.stk-col{border:2px solid var(--line);background:var(--card-top);border-radius:10px;flex-direction:column;gap:0;min-width:96px;padding:8px;display:flex}.stk-cap{color:var(--soft);text-align:center;margin-bottom:8px;font-size:12px;font-weight:700}.stk-items{flex-direction:column-reverse;gap:6px;min-height:48px;display:flex}.stk-item{background:var(--algo-comparison-highlight-bg);border:2px solid var(--algo-comparison-highlight-border);width:64px;height:40px;color:var(--algo-comparison-highlight-fg);font-family:var(--mono);border-radius:8px;place-items:center;font-size:20px;font-weight:700;animation:.25s avfade;display:grid}.stk-item.top{background:var(--algo-active-focus-bg);border-color:var(--algo-active-focus-border);color:var(--algo-active-focus-fg)}.stk-empty{color:var(--soft2);text-align:center;padding:14px;font-size:13px}.stk-badge{border:2px solid var(--line);background:var(--card-top);border-radius:10px;padding:8px 16px;font-size:15px;font-weight:800}.stk-badge.ok{color:var(--algo-final-sorted-fg);border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg)}.stk-badge.bad{color:var(--algo-swap-motion-fg);border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg)}@keyframes stkRead{0%,to{transform:scale(1)}38%{transform:scale(1.08);box-shadow:0 0 0 5px #7c6fe833,0 10px 18px #7c6fe81a}}@keyframes stkPush{0%{opacity:.35;transform:translateY(8px)}45%{opacity:1;transform:translateY(-3px);box-shadow:0 0 0 5px #2563eb2e}to{opacity:1;transform:translateY(0)}}@keyframes stkPop{0%,to{box-shadow:none}40%{box-shadow:inset 0 0 0 3px #ef444433}}@keyframes stkChange{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #2563eb29}}@keyframes stkStatus{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #16a34a2e,0 10px 20px #16a34a1a}}@keyframes stkBad{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #ef44442e,0 10px 20px #ef44441a}}@keyframes breatheStackTop{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px #7c6fe829}}.tpl-stack.motion-rich .stk-ch.motion-stk-read{animation:.82s cubic-bezier(.22,.61,.36,1) stkRead}.tpl-stack.motion-rich .stk-item.motion-stk-push{animation:.86s cubic-bezier(.22,.61,.36,1) stkPush}.tpl-stack.motion-rich .stk-col.motion-stk-pop{animation:.76s cubic-bezier(.22,.61,.36,1) stkPop}.tpl-stack.motion-rich .stk-item.motion-stk-change{animation:.76s cubic-bezier(.22,.61,.36,1) stkChange}.tpl-stack.motion-rich .stk-badge.motion-stk-status{animation:.92s cubic-bezier(.22,.61,.36,1) stkStatus}.tpl-stack.motion-rich .stk-badge.motion-stk-bad{animation:.92s cubic-bezier(.22,.61,.36,1) stkBad}.tpl-stack.motion-rich .stk-item.top:not(.motion-stk-push):not(.motion-stk-change){animation:2.2s ease-in-out infinite breatheStackTop}@media (prefers-reduced-motion:reduce){.tpl-stack.motion-rich .stk-ch,.tpl-stack.motion-rich .stk-item,.tpl-stack.motion-rich .stk-col,.tpl-stack.motion-rich .stk-badge{opacity:1!important;animation:none!important;transform:none!important}}.tpl-grid{flex:none;justify-content:center;align-items:center;gap:28px;width:max-content;min-width:100%;display:flex}.grid-board{flex-direction:column;flex:none;gap:5px;display:inline-flex}.grid-row{gap:5px;display:flex}.grid-cell{width:46px;height:46px;font-family:var(--mono);border:2px solid #0000;border-radius:8px;place-items:center;font-size:16px;font-weight:700;transition:all .3s;display:grid}.grid-cell.gidle{background:var(--algo-idle-bg);color:var(--soft2);border-color:var(--algo-idle-border)}.grid-cell.water{color:#9bb4d8;background:#eaf1fb}.grid-cell.land{background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg);border-color:var(--algo-final-sorted-border)}.grid-cell.cur{background:var(--algo-active-focus-solid);color:var(--ink-on-orange);border-color:var(--algo-active-focus-border);box-shadow:0 0 0 3px var(--algo-active-focus-ring)}.grid-cell.visiting{background:var(--algo-comparison-highlight-bg);color:var(--algo-comparison-highlight-fg);border-color:var(--algo-comparison-highlight-border)}.grid-cell.visited{background:var(--algo-active-focus-bg);color:var(--algo-active-focus-fg);border-color:var(--algo-active-focus-border)}.grid-cell.sunk{color:#aab4c6;background:#dbe2ee}.grid-cell.danger{background:var(--algo-swap-motion-bg);color:var(--algo-swap-motion-fg);border-color:var(--algo-swap-motion-border);box-shadow:0 0 0 3px var(--algo-swap-motion-ring)}.grid-panel{border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;width:196px;overflow:hidden}.grid-count{color:var(--ink);border-bottom:1px solid var(--line);padding:11px 14px;font-size:14px;font-weight:700}.grid-count b{color:var(--orange);font-size:19px;font-family:var(--mono);margin-left:4px}.grid-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);letter-spacing:.04em;padding:8px 14px;font-size:13px;font-weight:800}.grid-panel .s-item{font-family:var(--mono);border-bottom:1px dashed var(--line);padding:8px 14px;font-size:14px;line-height:1.5;animation:.3s avfade}.grid-panel .s-empty{color:var(--soft2);text-align:center;padding:12px;font-size:13px}.tpl-bt{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:560px;display:flex}.bt-lab{color:var(--soft);align-self:flex-start;margin-top:6px;font-size:12px;font-weight:800}.bt-choices{gap:10px;display:flex}.bt-choice{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);width:48px;height:48px;color:var(--algo-idle-fg);font-family:var(--mono);border-radius:10px;place-items:center;font-size:20px;font-weight:700;transition:all .25s;display:grid;position:relative}.bt-choice.used{opacity:.35;background:var(--bg2)}.bt-choice.pick{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);color:var(--algo-active-focus-fg);box-shadow:0 0 0 3px var(--algo-active-focus-ring)}.bt-choice.skip{border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg);color:var(--algo-swap-motion-fg);box-shadow:0 0 0 3px var(--algo-swap-motion-ring);animation:.5s btshake}.bt-choice.skip .bt-val{text-decoration:line-through;text-decoration-thickness:2.5px;-webkit-text-decoration-color:var(--algo-swap-motion-border);text-decoration-color:var(--algo-swap-motion-border);opacity:.85}.bt-choice .bt-mark{background:var(--algo-swap-motion-solid);color:#fff;width:20px;height:20px;box-shadow:0 2px 6px var(--algo-swap-motion-ring);border-radius:50%;place-items:center;font-size:13px;font-weight:900;animation:.25s avfade;display:grid;position:absolute;top:-9px;right:-9px}@keyframes btshake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.bt-path{flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;display:flex}.bt-node{background:var(--algo-active-focus-bg);border:2px solid var(--algo-active-focus-border);width:40px;height:40px;color:var(--algo-active-focus-fg);font-family:var(--mono);border-radius:9px;place-items:center;font-weight:700;animation:.25s avfade;display:grid}.bt-arrow{color:var(--soft2)}.bt-empty{color:var(--soft2);font-size:13px}.bt-res{flex-wrap:wrap;align-self:flex-start;gap:8px;min-height:34px;display:flex}.bt-perm{font-family:var(--mono);color:var(--algo-final-sorted-fg);background:var(--algo-final-sorted-bg);border:1px solid var(--algo-final-sorted-border);border-radius:7px;padding:4px 10px;font-size:13px;font-weight:700;animation:.3s avfade}@keyframes btPickPulse{0%,to{transform:scale(1)}38%{transform:scale(1.04);box-shadow:0 0 0 5px #7c6fe838,0 10px 18px #7c6fe81a}}@keyframes btAddPath{0%{opacity:.35;transform:translateY(7px)}45%{opacity:1;transform:translateY(-3px);box-shadow:0 0 0 5px #7c6fe82e}to{opacity:1;transform:translateY(0)}}@keyframes btBacktrackPulse{0%,to{box-shadow:none}42%{box-shadow:inset 0 0 0 2px #ef44442e}}@keyframes btResultPulse{0%{opacity:.45;transform:scale(.96)}42%{opacity:1;transform:scale(1.06);box-shadow:0 0 0 5px #16a34a33}to{opacity:1;transform:scale(1)}}@keyframes breatheBtPick{0%,to{box-shadow:0 0 0 3px #7c6fe824}50%{box-shadow:0 0 0 6px #7c6fe833}}.tpl-bt.motion-rich .bt-choice.motion-bt-pick{animation:.86s cubic-bezier(.22,.61,.36,1) btPickPulse}.tpl-bt.motion-rich .bt-choice.motion-bt-skip{animation:.5s btshake,.76s cubic-bezier(.22,.61,.36,1) btPickPulse}.tpl-bt.motion-rich .bt-node.motion-bt-add{animation:.86s cubic-bezier(.22,.61,.36,1) btAddPath}.tpl-bt.motion-rich .bt-path.motion-bt-backtrack,.tpl-bt.motion-rich .bt-path.motion-bt-change{animation:.76s cubic-bezier(.22,.61,.36,1) btBacktrackPulse}.tpl-bt.motion-rich .bt-perm.motion-bt-result{animation:.92s cubic-bezier(.22,.61,.36,1) btResultPulse}.tpl-bt.motion-rich .bt-choice.pick:not(.motion-bt-pick):not(.motion-bt-skip){animation:2.2s ease-in-out infinite breatheBtPick}@media (prefers-reduced-motion:reduce){.tpl-bt.motion-rich .bt-choice,.tpl-bt.motion-rich .bt-node,.tpl-bt.motion-rich .bt-path,.tpl-bt.motion-rich .bt-perm{opacity:1!important;animation:none!important;transform:none!important}}.tpl-code .c-hint{color:var(--orange);white-space:nowrap;margin-left:auto;font-size:11.5px;font-weight:700;animation:1.8s ease-in-out infinite hintpulse}@keyframes hintpulse{0%,to{opacity:.55}50%{opacity:1}}.tpl-code .c-tabs{flex-wrap:wrap;gap:5px;margin-left:10px;display:flex}.tpl-code .c-tab{font-family:var(--mono);color:var(--soft);background:var(--bg2);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:3px 11px;font-size:12px;font-weight:700;transition:all .15s}.tpl-code .c-tab:hover{color:var(--orange);border-color:var(--orange)}.tpl-code .c-tab.on{color:var(--ink-on-orange);background:var(--orange);border-color:var(--orange-d)}.bar.cmp{background:var(--algo-comparison-highlight-solid)}.bar.done{background:var(--algo-final-sorted-solid)}.bar.dim{opacity:.32}.tnode.cur circle{fill:var(--algo-active-focus-bg);stroke:var(--algo-active-focus-border);stroke-width:3px}.tnode.cur text{fill:var(--algo-active-focus-fg)}.tnode.swap circle{fill:var(--algo-swap-motion-bg);stroke:var(--algo-swap-motion-border);stroke-width:3px}.tnode.swap text{fill:var(--algo-swap-motion-fg)}.tnode.cmp circle{fill:var(--algo-comparison-highlight-bg);stroke:var(--algo-comparison-highlight-border)}.tnode.cmp text{fill:var(--algo-comparison-highlight-fg)}.tnode.path circle{fill:var(--algo-final-sorted-bg);stroke:var(--algo-final-sorted-border)}.tnode.path text{fill:var(--algo-final-sorted-fg)}.tpl-queue{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.q-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.q-row{flex-wrap:nowrap;gap:8px;display:flex}.q-cell{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:54px;height:54px;transition:all .3s;display:flex;position:relative}.q-cell.empty{background:var(--bg2);border-style:dashed}.q-cell .q-v{font-family:var(--mono);color:var(--algo-idle-fg);font-size:21px;font-weight:700}.q-cell .q-i{font-family:var(--mono);color:var(--soft2);font-size:12px;position:absolute;bottom:-20px}.q-cell.is-front{border-color:var(--algo-comparison-highlight-border);background:var(--algo-comparison-highlight-bg);box-shadow:0 0 0 3px var(--algo-comparison-highlight-ring)}.q-cell.is-rear,.q-cell.is-front.is-rear{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);box-shadow:0 0 0 3px var(--algo-active-focus-ring)}.q-tag{font-family:var(--mono);font-size:11px;font-weight:800;position:absolute;top:-22px}.q-tag.front{color:var(--algo-comparison-highlight-solid)}.q-tag.rear{color:var(--algo-active-focus-solid);top:-22px}.q-cell.is-front.is-rear .q-tag.front{left:2px}.q-cell.is-front.is-rear .q-tag.rear{right:2px}.q-note{color:var(--soft);margin-top:14px;font-size:13px}.q-note.wrap{color:var(--blue);font-weight:600}@keyframes qEnq{0%{opacity:.35;transform:translateY(7px)}45%{opacity:1;transform:translateY(-2px);box-shadow:0 0 0 5px #16a34a2e}to{opacity:1;transform:none}}@keyframes qDeq{0%,to{box-shadow:none}42%{box-shadow:inset 0 0 0 3px #ef44442e}}@keyframes qFront{0%,to{box-shadow:0 0 0 3px #2563eb24}42%{box-shadow:0 0 0 6px #2563eb38}}@keyframes qRear{0%,to{box-shadow:0 0 0 3px #7c6fe829}42%{box-shadow:0 0 0 6px #7c6fe83d}}@keyframes qNote{0%,to{filter:none}42%{filter:drop-shadow(0 0 8px #2563eb38)}}.tpl-queue.motion-rich .q-cell.motion-q-enq{animation:.86s cubic-bezier(.22,.61,.36,1) qEnq}.tpl-queue.motion-rich .q-cell.motion-q-deq{animation:.76s cubic-bezier(.22,.61,.36,1) qDeq}.tpl-queue.motion-rich .q-cell.motion-q-front{animation:.82s cubic-bezier(.22,.61,.36,1) qFront}.tpl-queue.motion-rich .q-cell.motion-q-rear{animation:.82s cubic-bezier(.22,.61,.36,1) qRear}.tpl-queue.motion-rich .q-note.motion-q-note{animation:.76s cubic-bezier(.22,.61,.36,1) qNote}@media (prefers-reduced-motion:reduce){.tpl-queue.motion-rich .q-cell,.tpl-queue.motion-rich .q-note{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}.g-board{flex:none;width:480px}.gedge{stroke:var(--algo-idle-border);stroke-width:2.5px}.gedge.on{stroke:var(--algo-active-focus-border);stroke-width:4px}.gw{fill:var(--soft);font-family:var(--mono);font-size:13px;font-weight:700}.gnode.start circle{fill:var(--algo-active-focus-bg);stroke:var(--algo-active-focus-border);stroke-width:3px}.gnode.start text{fill:var(--algo-active-focus-fg)}.gnode.visiting circle{fill:var(--algo-active-focus-bg);stroke:var(--algo-active-focus-border);stroke-width:3px}.gnode.visiting text{fill:var(--algo-active-focus-fg)}.gnode.frontier circle{fill:var(--algo-comparison-highlight-bg);stroke:var(--algo-comparison-highlight-border)}.gnode.frontier text{fill:var(--algo-comparison-highlight-fg)}.g-panel{border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;align-self:center;width:220px;min-width:150px}.g-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);padding:7px 12px;font-size:12px;font-weight:800}.g-panel .s-item{font-family:var(--mono);border-bottom:1px dashed var(--line);padding:7px 13px;font-size:13px;animation:.3s avfade}.g-panel .s-empty{color:var(--soft2);text-align:center;padding:12px;font-size:13px}@keyframes gmapNodePulse{0%,to{filter:none}38%{filter:drop-shadow(0 0 10px #7c6fe857)}}@keyframes gmapEdgePulse{0%{stroke-opacity:.28;stroke-dashoffset:18px}45%{stroke-opacity:1}to{stroke-opacity:1;stroke-dashoffset:0}}@keyframes gmapPanelPulse{0%,to{box-shadow:none}42%{box-shadow:0 0 0 4px #2563eb1f,0 10px 20px #2563eb14}}@keyframes gmapPanelItem{0%{opacity:.45;transform:translate(-8px)}54%{opacity:1;transform:translate(2px)}to{transform:none}}@keyframes breatheGmapNode{0%,to{filter:none}50%{filter:drop-shadow(0 0 8px #7c6fe838)}}.tpl-graph.motion-rich .gnode.motion-gmap-node circle{animation:.92s cubic-bezier(.22,.61,.36,1) gmapNodePulse}.tpl-graph.motion-rich .gnode.visiting:not(.motion-gmap-node) circle,.tpl-graph.motion-rich .gnode.start:not(.motion-gmap-node) circle{animation:2.2s ease-in-out infinite breatheGmapNode}.tpl-graph.motion-rich .gedge.motion-gmap-edge{stroke-dasharray:10 7;animation:.86s cubic-bezier(.22,.61,.36,1) gmapEdgePulse}.tpl-graph.motion-rich .g-panel.motion-gmap-panel{animation:.82s cubic-bezier(.22,.61,.36,1) gmapPanelPulse}.tpl-graph.motion-rich .g-panel .motion-gmap-panel-item{animation:.76s cubic-bezier(.22,.61,.36,1) gmapPanelItem}@media (prefers-reduced-motion:reduce){.tpl-graph.motion-rich .gnode circle,.tpl-graph.motion-rich .gedge,.tpl-graph.motion-rich .g-panel,.tpl-graph.motion-rich .g-panel .s-item{opacity:1!important;filter:none!important;animation:none!important}}.tpl-hash{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.hs-fn{font-family:var(--mono);color:var(--ink);background:var(--card-top);border:1px solid var(--line);border-radius:9px;padding:8px 16px;font-size:14px}.hs-grid{flex-direction:column;gap:6px;width:100%;max-width:460px;display:flex}.hs-bucket{border-radius:9px;align-items:center;gap:10px;padding:3px;transition:all .3s;display:flex}.hs-bucket.hot{background:var(--algo-active-focus-bg)}.hs-idx{background:var(--bg2);border:1px solid var(--line);height:38px;font-family:var(--mono);color:var(--soft);border-radius:8px;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.hs-bucket.hot .hs-idx{border-color:var(--algo-active-focus-border);color:var(--algo-active-focus-fg)}.hs-chain{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hs-node{font-family:var(--mono);color:var(--algo-comparison-highlight-fg);background:var(--algo-comparison-highlight-bg);border:1.5px solid var(--algo-comparison-highlight-border);border-radius:7px;padding:5px 11px;font-size:14px;font-weight:700}.hs-node.flash{color:var(--algo-active-focus-fg);background:var(--algo-active-focus-bg);border-color:var(--algo-active-focus-border);animation:.8s pulseO}.hs-arr{color:var(--soft2)}.hs-empty{color:var(--soft2);font-size:13px}.tpl-pit{flex-direction:column;gap:30px;width:100%;max-width:760px;display:flex}.pit-row{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--card-top);border-radius:12px;padding:14px 18px}.pit-x{color:var(--red);font-size:15.5px;font-weight:700;font-family:var(--mono);line-height:1.45}.pit-o{color:var(--green);font-size:15.5px;font-weight:700;font-family:var(--mono);margin-top:3px;line-height:1.45}.pit-why{color:var(--soft);margin-top:4px;font-size:14px;line-height:1.45}.tpl-iqa{flex-direction:column;gap:26px;width:100%;max-width:780px;display:flex}.iqa-head{align-items:center;gap:10px;display:flex}.iqa-head span,.bound-head span{background:var(--orange-50);border:1px solid var(--orange-200);width:34px;height:26px;color:var(--orange);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.iqa-head b,.bound-head b{color:var(--ink);font-size:20px}.iqa-head em{font-family:var(--mono);color:var(--soft2);letter-spacing:.08em;margin-left:auto;font-size:12px;font-style:normal}.iqa-list{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}.iqa-row{border:1px solid var(--line);background:var(--card-top);border-radius:12px;padding:14px 16px}.iqa-q{color:var(--ink);font-size:15px;font-weight:800;line-height:1.45}.iqa-q span{background:var(--bg2);width:26px;height:22px;color:var(--orange);font-family:var(--mono);border-radius:7px;justify-content:center;align-items:center;margin-right:8px;font-size:11px;display:inline-flex}.iqa-a{color:var(--soft);margin-top:7px;font-size:14px;line-height:1.55}.tpl-bound{flex-direction:column;gap:28px;width:100%;max-width:760px;display:flex}.bound-head{justify-content:center;align-items:center;gap:10px;display:flex}.bound-list{flex-direction:column;gap:34px;display:flex}.bound-row{border:1px solid var(--line);background:var(--card-top);border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 18px;display:grid}.bound-row code{font-family:var(--mono);color:var(--ink);font-size:16.5px}.bound-row span{color:var(--orange);font-weight:900}.bound-row b{font-family:var(--mono);color:var(--green);font-size:16.5px}.bound-row small{color:var(--soft);grid-column:1/-1;font-size:13.5px;line-height:1.4}@media (width<=720px){.iqa-list{grid-template-columns:1fr}}.tpl-prac{text-align:center;border:2px dashed var(--orange);background:var(--orange-50);border-radius:16px;width:100%;max-width:720px;padding:26px 28px}.prac-badge{background:var(--orange);color:var(--ink-on-orange);letter-spacing:.05em;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:800;display:inline-block}.prac-prob{margin:18px 0 10px;font-size:24px;font-weight:900}.prac-tag{color:var(--blue);font-size:13px;font-weight:700}.prac-hint{color:var(--ink);background:var(--card-top);border:1px solid var(--line);text-align:left;border-radius:12px;margin:18px 0;padding:13px 16px;font-size:15.5px}.prac-hint b{color:var(--orange)}.prac-cta{color:var(--soft);font-size:13.5px;font-weight:600}.prac-link{background:var(--ink);color:var(--card);box-shadow:var(--shadow);border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:9px 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.prac-link:hover{background:var(--orange-d);color:var(--ink-on-orange);transform:translateY(-1px)}.tpl-quiz{flex-direction:column;gap:28px;width:100%;max-width:760px;display:flex}.qz-q{color:var(--ink);font-size:19px;font-weight:800;line-height:1.6}.qz-badge{background:var(--orange);color:var(--ink-on-orange);vertical-align:middle;letter-spacing:.03em;border-radius:999px;margin-right:10px;padding:3px 12px;font-size:12px;font-weight:800;display:inline-block}.qz-opts{flex-direction:column;gap:30px;display:flex}.qz-opt{text-align:left;background:var(--card-top);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--sans);border-radius:11px;align-items:center;gap:12px;padding:11px 14px;transition:all .15s;display:flex}.qz-opt:hover:not(.done){border-color:var(--orange);background:#7c6fe80d}.qz-opt .qz-key{background:var(--bg2);border:1px solid var(--line);height:26px;font-family:var(--mono);color:var(--soft);border-radius:7px;flex:0 0 26px;place-items:center;font-size:13px;font-weight:800;display:grid}.qz-opt.done{cursor:default}.qz-opt.right{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg)}.qz-opt.right .qz-key{background:var(--algo-final-sorted-solid);border-color:var(--algo-final-sorted-border);color:#fff}.qz-opt.wrong{border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg);color:var(--algo-swap-motion-fg)}.qz-opt.wrong .qz-key{background:var(--algo-swap-motion-solid);border-color:var(--algo-swap-motion-border);color:#fff}.qz-exp{border-radius:11px;padding:12px 15px;font-size:15px;line-height:1.7;animation:.3s avfade}.qz-exp.ok{background:var(--algo-final-sorted-bg);border:1px solid var(--algo-final-sorted-border);color:var(--ink)}.qz-exp.bad{background:var(--algo-swap-motion-bg);border:1px solid var(--algo-swap-motion-border);color:var(--ink)}.qz-exp b{margin-right:6px}.qz-exp.ok b{color:var(--algo-final-sorted-fg)}.qz-exp.bad b{color:var(--algo-swap-motion-fg)}.tpl-compare{flex-direction:column;gap:8px;width:100%;max-width:660px;display:flex}.cmp-row{grid-template-columns:96px 1fr 1fr;align-items:stretch;gap:8px;display:grid}.cmp-head .cmp-c{text-align:center;padding:10px;font-size:16px;font-weight:800}.cmp-head .cmp-c.a{color:var(--blue)}.cmp-head .cmp-c.b{color:var(--orange)}.cmp-dim{color:var(--soft);background:var(--card-top);border:1px solid var(--line);text-align:center;border-radius:9px;justify-content:center;align-items:center;padding:8px 6px;font-size:13px;font-weight:700;display:flex}.cmp-c{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:9px;align-items:center;padding:10px 14px;font-size:14px;line-height:1.55;display:flex}.cmp-head .cmp-c.a{background:#2563eb0f;border-color:#2563eb4d}.cmp-head .cmp-c.b{background:#7c6fe80f;border-color:#7c6fe84d}.tpl-graph{flex:none;justify-content:center;align-items:center;gap:24px;width:max-content;min-width:100%;display:flex}.graph-board{flex:none;width:480px;max-width:520px}.gnode circle{fill:var(--algo-idle-bg);stroke:var(--algo-idle-border);stroke-width:2px;transition:all .3s}.gnode text{fill:var(--algo-idle-fg);font-family:var(--mono);font-size:15px;font-weight:700}.gnode.queued circle{fill:var(--algo-active-focus-bg);stroke:var(--algo-active-focus-border);stroke-width:3px}.gnode.queued text{fill:var(--algo-active-focus-fg)}.gnode.done circle{fill:var(--algo-final-sorted-bg);stroke:var(--algo-final-sorted-border)}.gnode.done text{fill:var(--algo-final-sorted-fg)}.gdeg{fill:var(--soft);font-size:11px;font-family:var(--mono)}.graph-panel{border:1px solid var(--line);background:var(--card-top);border-radius:11px;flex:none;align-self:center;width:220px;min-width:140px;overflow:hidden}.graph-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);padding:7px 12px;font-size:12px;font-weight:800}.graph-panel .s-item{font-family:var(--mono);border-bottom:1px dashed var(--line);padding:6px 13px;font-size:13px;animation:.3s avfade}.graph-panel .s-empty{color:var(--soft2);text-align:center;padding:10px;font-size:13px}.graph-panel .g-order{font-family:var(--mono);color:var(--algo-final-sorted-fg);padding:8px 13px;font-size:13px;font-weight:700}@keyframes graphNodePulse{0%,to{filter:none}38%{filter:drop-shadow(0 0 10px #7c6fe86b)}}@keyframes graphEdgePulse{0%{stroke-opacity:.28;stroke-dashoffset:18px}45%{stroke-opacity:1}to{stroke-opacity:1;stroke-dashoffset:0}}@keyframes graphCountPulse{0%,to{filter:none}42%{filter:drop-shadow(0 0 8px #2563eb52)}}@keyframes graphPanelPulse{0%,to{box-shadow:none}42%{box-shadow:0 0 0 4px #2563eb1f,0 10px 20px #2563eb14}}@keyframes graphQueuePulse{0%,to{box-shadow:none}38%{box-shadow:inset 0 0 0 2px #16a34a52}}@keyframes breatheGraphNode{0%,to{filter:none}50%{filter:drop-shadow(0 0 8px #7c6fe83d)}}.tpl-graph.motion-rich .gnode.motion-graph-node circle{animation:.92s cubic-bezier(.22,.61,.36,1) graphNodePulse}.tpl-graph.motion-rich .gnode.queued:not(.motion-graph-node) circle,.tpl-graph.motion-rich .gnode.visiting:not(.motion-graph-node) circle{animation:2.2s ease-in-out infinite breatheGraphNode}.tpl-graph.motion-rich .graph-edge.motion-graph-edge{stroke-dasharray:10 7;animation:.86s cubic-bezier(.22,.61,.36,1) graphEdgePulse}.tpl-graph.motion-rich .gdeg.motion-graph-count{animation:.78s cubic-bezier(.22,.61,.36,1) graphCountPulse}.tpl-graph.motion-rich .graph-panel.motion-graph-panel{animation:.82s cubic-bezier(.22,.61,.36,1) graphPanelPulse}.tpl-graph.motion-rich .graph-panel .s-item.motion-queue-item,.tpl-graph.motion-rich .graph-panel .g-order.motion-order{animation:.76s cubic-bezier(.22,.61,.36,1) graphQueuePulse}@media (prefers-reduced-motion:reduce){.tpl-graph.motion-rich .gnode circle,.tpl-graph.motion-rich .graph-edge,.tpl-graph.motion-rich .gdeg,.tpl-graph.motion-rich .graph-panel,.tpl-graph.motion-rich .graph-panel .s-item,.tpl-graph.motion-rich .graph-panel .g-order{opacity:1!important;filter:none!important;animation:none!important}}.tpl-uf{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.uf-board{width:100%;max-width:540px}.uf-panel .uf-count{color:var(--ink);font-size:15px;font-weight:700}.uf-panel .uf-count b{color:var(--orange);font-family:var(--mono);margin-left:8px;font-size:22px}@keyframes ufFocus{0%,to{filter:none}38%{filter:drop-shadow(0 0 10px #7c6fe852)}}@keyframes ufUnion{0%,to{filter:none}42%{filter:drop-shadow(0 0 12px #16a34a57)}}@keyframes ufDanger{0%,to{filter:none}42%{filter:drop-shadow(0 0 12px #ef444457)}}@keyframes ufCountPulse{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #16a34a2e,0 10px 20px #16a34a1a}}@keyframes breatheUf{0%,to{filter:none}50%{filter:drop-shadow(0 0 8px #7c6fe838)}}.tpl-uf.motion-rich .uf-node.motion-uf-focus circle{animation:.92s cubic-bezier(.22,.61,.36,1) ufFocus}.tpl-uf.motion-rich .uf-node.motion-uf-union circle{animation:.92s cubic-bezier(.22,.61,.36,1) ufUnion}.tpl-uf.motion-rich .uf-node.motion-uf-danger circle{animation:.92s cubic-bezier(.22,.61,.36,1) ufDanger}.tpl-uf.motion-rich .uf-node.cur:not(.motion-uf-focus):not(.motion-uf-union),.tpl-uf.motion-rich .uf-node.done:not(.motion-uf-focus):not(.motion-uf-union){animation:2.2s ease-in-out infinite breatheUf}.tpl-uf.motion-rich .uf-count.motion-uf-count{animation:.92s cubic-bezier(.22,.61,.36,1) ufCountPulse}@media (prefers-reduced-motion:reduce){.tpl-uf.motion-rich .uf-node,.tpl-uf.motion-rich .uf-count{opacity:1!important;filter:none!important;animation:none!important}}.tpl-dstk{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.dstk-wrap{align-items:stretch;gap:min(40px,5vw);max-width:100%;display:flex}.dstk-col{box-sizing:border-box;border:2px solid var(--line);background:var(--card-top);border-radius:10px;flex-direction:column;width:min(300px,42vw);min-width:0;height:190px;padding:8px;display:flex}.dstk-cap{color:var(--blue);text-align:center;margin-bottom:8px;font-size:12px;font-weight:800}.dstk-items{flex-direction:column-reverse;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.dstk-item{background:var(--algo-comparison-highlight-bg);border:2px solid var(--algo-comparison-highlight-border);width:100%;min-width:0;height:38px;color:var(--algo-comparison-highlight-fg);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;place-items:center;padding:0 10px;font-size:16px;font-weight:700;animation:.25s avfade;display:grid;overflow:hidden}.dstk-item.top{background:var(--algo-active-focus-bg);border-color:var(--algo-active-focus-border);color:var(--algo-active-focus-fg)}.dstk-note{color:var(--soft);text-align:center;max-width:560px;font-size:14px;font-weight:600}@keyframes dstkPush{0%{opacity:.35;transform:translateY(8px)}45%{opacity:1;transform:translateY(-3px);box-shadow:0 0 0 5px #2563eb2e}to{opacity:1;transform:translateY(0)}}@keyframes dstkPop{0%,to{box-shadow:none}40%{box-shadow:inset 0 0 0 3px #ef44442e}}@keyframes dstkChange{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #7c6fe82e}}@keyframes dstkNote{0%,to{filter:none}42%{filter:drop-shadow(0 0 8px #2563eb38)}}@keyframes breatheDstkTop{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px #7c6fe829}}.tpl-dstk.motion-rich .dstk-item.motion-dstk-push{animation:.86s cubic-bezier(.22,.61,.36,1) dstkPush}.tpl-dstk.motion-rich .dstk-col.motion-dstk-pop{animation:.76s cubic-bezier(.22,.61,.36,1) dstkPop}.tpl-dstk.motion-rich .dstk-item.motion-dstk-change{animation:.76s cubic-bezier(.22,.61,.36,1) dstkChange}.tpl-dstk.motion-rich .dstk-note.motion-dstk-note{animation:.76s cubic-bezier(.22,.61,.36,1) dstkNote}.tpl-dstk.motion-rich .dstk-item.top:not(.motion-dstk-push):not(.motion-dstk-change){animation:2.2s ease-in-out infinite breatheDstkTop}@media (prefers-reduced-motion:reduce){.tpl-dstk.motion-rich .dstk-item,.tpl-dstk.motion-rich .dstk-col,.tpl-dstk.motion-rich .dstk-note{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}.grid-cell.fresh{background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg)}.grid-cell.rotten{background:var(--algo-comparison-highlight-bg);color:var(--algo-comparison-highlight-fg)}.grid-cell.empty{background:var(--algo-idle-bg);color:var(--soft2)}.grid-cell.justrot{background:var(--algo-swap-motion-solid);color:#fff;border-color:var(--algo-swap-motion-border);box-shadow:0 0 0 3px var(--algo-swap-motion-ring)}.gw{fill:var(--orange-d);font-size:12px;font-family:var(--mono);font-weight:700}.grid-cell.alive{background:var(--algo-final-sorted-bg);color:var(--algo-final-sorted-fg)}.grid-cell.dead{background:var(--algo-idle-bg);color:var(--soft2)}.grid-cell.born{background:var(--algo-final-sorted-solid);color:#fff;border-color:var(--algo-final-sorted-border);box-shadow:0 0 0 3px var(--algo-final-sorted-ring)}.grid-cell.dying{background:var(--algo-comparison-highlight-bg);color:var(--algo-comparison-highlight-fg);border-color:var(--algo-comparison-highlight-border)}.tpl-hg{flex-direction:column;gap:8px;width:100%;max-width:600px;display:flex}.hg-lab{color:var(--soft);margin-top:4px;font-size:12px;font-weight:800}.hg-inputs{flex-wrap:wrap;gap:8px;display:flex}.hg-in{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);color:var(--algo-idle-fg);font-family:var(--mono);border-radius:8px;padding:6px 12px;font-size:15px;font-weight:700;transition:all .25s}.hg-in.cur{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);color:var(--algo-active-focus-fg);box-shadow:0 0 0 3px var(--algo-active-focus-ring)}.hg-in.done{opacity:.45}.hg-buckets{flex-wrap:wrap;gap:10px;display:flex}.hg-bucket{border:1px solid var(--line);background:var(--card-top);border-radius:10px;min-width:120px;padding:8px 12px}.hg-bucket.hl{border-color:var(--algo-active-focus-border);box-shadow:0 0 0 2px var(--algo-active-focus-ring)}.hg-key{font-size:11px;font-family:var(--mono);color:var(--blue);margin-bottom:6px}.hg-items{flex-wrap:wrap;gap:6px;display:flex}.hg-item{font-family:var(--mono);background:var(--algo-final-sorted-bg);border:1px solid var(--algo-final-sorted-border);color:var(--algo-final-sorted-fg);border-radius:6px;padding:2px 8px;font-size:14px;font-weight:700;animation:.25s avfade}@keyframes hgInputPulse{0%,to{transform:scale(1)}38%{transform:scale(1.06);box-shadow:0 0 0 5px #7c6fe82e}}@keyframes hgDonePulse{0%,to{box-shadow:none}42%{box-shadow:inset 0 0 0 2px #16a34a47}}@keyframes hgBucketPulse{0%,to{box-shadow:none}42%{box-shadow:0 0 0 5px #2563eb24,0 10px 20px #2563eb14}}@keyframes hgItemPulse{0%{opacity:.35;transform:translateY(6px)}45%{opacity:1;transform:translateY(-2px);box-shadow:0 0 0 4px #16a34a2e}to{opacity:1;transform:none}}@keyframes breatheHgBucket{0%,to{box-shadow:0 0 0 2px #7c6fe81f}50%{box-shadow:0 0 0 5px #7c6fe82e}}.tpl-hg.motion-rich .hg-in.motion-hg-input{animation:.82s cubic-bezier(.22,.61,.36,1) hgInputPulse}.tpl-hg.motion-rich .hg-in.motion-hg-done{animation:.76s cubic-bezier(.22,.61,.36,1) hgDonePulse}.tpl-hg.motion-rich .hg-bucket.motion-hg-bucket{animation:.82s cubic-bezier(.22,.61,.36,1) hgBucketPulse}.tpl-hg.motion-rich .hg-item.motion-hg-item{animation:.76s cubic-bezier(.22,.61,.36,1) hgItemPulse}.tpl-hg.motion-rich .hg-bucket.hl:not(.motion-hg-bucket){animation:2.2s ease-in-out infinite breatheHgBucket}@media (prefers-reduced-motion:reduce){.tpl-hg.motion-rich .hg-in,.tpl-hg.motion-rich .hg-bucket,.tpl-hg.motion-rich .hg-item{opacity:1!important;animation:none!important;transform:none!important}}.tpl-vars{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;position:relative}.tpl-vars .vars-title{color:var(--soft);letter-spacing:.02em;font-size:14px;font-weight:700}.tpl-vars .vars-expr{font-family:var(--mono);color:var(--ink);background:var(--card-top);border:1px solid var(--line);border-radius:10px;padding:8px 16px;font-size:18px;font-weight:700}.tpl-vars .vars-expr .em{color:var(--algo-active-focus-fg);font-weight:800}.tpl-vars .vars-expr .ok{color:var(--algo-final-sorted-fg);font-weight:800}.vars-row{flex-wrap:wrap;justify-content:center;gap:24px;padding-top:6px;display:flex}.var-box{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);min-width:96px;box-shadow:0 2px 0 var(--algo-idle-border);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 16px 10px;transition:border-color .35s,box-shadow .35s,background .35s,transform .35s;display:flex;position:relative}.var-box .vb-name{font-family:var(--mono);color:var(--soft);background:var(--card);border:1px solid var(--algo-idle-border);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:13px;font-weight:700;transition:color .35s,border-color .35s;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.var-box .vb-val{font-family:var(--mono);color:var(--algo-idle-fg);margin-top:4px;font-size:26px;font-weight:800;transition:color .35s}.var-box .vb-kind{color:var(--soft2);font-size:11px;font-weight:700;font-family:var(--mono)}.var-box.active{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);box-shadow:0 2px 0 var(--algo-active-focus-border),0 0 0 4px var(--algo-active-focus-ring)}.var-box.active .vb-name{border-color:var(--algo-active-focus-border);color:var(--algo-active-focus-fg)}.var-box.active .vb-val{color:var(--algo-active-focus-fg)}.var-box.changed{border-color:var(--algo-comparison-highlight-border);background:var(--algo-comparison-highlight-bg);box-shadow:0 2px 0 var(--algo-comparison-highlight-border),0 0 0 4px var(--algo-comparison-highlight-ring);transform:translateY(-3px)}.var-box.changed .vb-name{border-color:var(--algo-comparison-highlight-border);color:var(--algo-comparison-highlight-fg)}.var-box.changed .vb-val{color:var(--algo-comparison-highlight-fg)}.var-box.ok{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border),0 0 0 4px var(--algo-final-sorted-ring)}.var-box.ok .vb-val{color:var(--algo-final-sorted-fg)}.var-box.danger{border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg)}.var-box.danger .vb-val{color:var(--algo-swap-motion-fg)}.var-box.dim{opacity:.42}.tpl-flow{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.tpl-flow .flow-title{color:var(--soft);font-size:14px;font-weight:700}.flow-track{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex;position:relative}.tpl-flow.col .flow-track{flex-flow:column;align-items:stretch;gap:8px}.flow-arrow{color:var(--soft2);flex:none;font-size:20px;font-weight:700}.flow-node{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);min-width:108px;box-shadow:0 2px 0 var(--algo-idle-border);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 18px;transition:border-color .35s,box-shadow .35s,background .35s,transform .35s;display:flex;position:relative}.tpl-flow.col .flow-node{text-align:left;flex-direction:row;justify-content:flex-start;gap:14px;min-width:280px}.flow-node .fn-ic{font-size:26px;line-height:1}.flow-node .fn-lab{color:var(--algo-idle-fg);font-size:15px;font-weight:800}.flow-node .fn-sub{font-family:var(--mono);color:var(--soft);white-space:nowrap;font-size:12px}.flow-node.active{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);box-shadow:0 2px 0 var(--algo-active-focus-border),0 0 0 4px var(--algo-active-focus-ring);transform:translateY(-2px)}.tpl-flow.col .flow-node.active{transform:translate(5px)}.flow-node.active .fn-lab{color:var(--algo-active-focus-fg)}.flow-node.done{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border)}.flow-node.done .fn-lab{color:var(--algo-final-sorted-fg)}.flow-token{background:var(--algo-active-focus-solid);width:12px;height:12px;box-shadow:0 0 0 4px var(--algo-active-focus-ring);pointer-events:none;border-radius:999px;transition:transform .5s cubic-bezier(.4,0,.2,1);position:absolute;top:-11px;left:0}.tpl-flow.col .flow-token{top:0;left:-11px}.tpl-cs{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.cs-stack{flex-direction:column-reverse;gap:8px;min-width:300px;display:flex}.cs-frame{border:2px solid var(--algo-idle-border);border-left:5px solid var(--callstack-depth-0);background:var(--card);box-shadow:0 2px 0 var(--algo-idle-border);border-radius:12px;padding:10px 14px;transition:border-color .35s,box-shadow .35s,transform .35s,background .35s}.cs-frame:nth-child(5n+1){border-left-color:var(--callstack-depth-0)}.cs-frame:nth-child(5n+2){border-left-color:var(--callstack-depth-1)}.cs-frame:nth-child(5n+3){border-left-color:var(--callstack-depth-2)}.cs-frame:nth-child(5n+4){border-left-color:var(--callstack-depth-3)}.cs-frame:nth-child(5n+5){border-left-color:var(--callstack-depth-4)}.cs-frame .csf-name{font-family:var(--mono);color:var(--ink);font-size:15px;font-weight:800}.cs-frame .csf-vars{flex-wrap:wrap;gap:8px;margin-top:7px;display:flex}.cs-frame .csf-v{font-family:var(--mono);color:var(--soft);background:var(--card-top);border:1px solid var(--line);border-radius:7px;padding:2px 8px;font-size:13px}.cs-frame .csf-v b{color:var(--ink);font-weight:700}.cs-frame .csf-ret{font-family:var(--mono);color:var(--callstack-return-fg);margin-top:7px;font-size:13px;font-weight:700}.cs-frame.active{border-color:var(--callstack-active-border);background:var(--callstack-active-bg);box-shadow:0 2px 0 var(--callstack-active-border),0 0 0 4px var(--algo-active-focus-ring);transform:translate(4px)}.cs-frame.active .csf-name{color:var(--algo-active-focus-fg)}.cs-frame.returning{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border),0 0 0 4px var(--algo-final-sorted-ring)}.cs-frame.idle{opacity:.65}.cs-out{border:1px dashed var(--line);background:var(--card-top);border-radius:10px;min-width:300px;padding:8px 14px}.cs-out .cs-out-h{color:var(--soft2);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700}.cs-out .cs-out-b{font-family:var(--mono);color:var(--algo-final-sorted-fg);white-space:pre-wrap;font-size:14px}.tpl-branch{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.tpl-branch .br-title{color:var(--soft);font-size:14px;font-weight:700}.br-cond{font-family:var(--mono);color:var(--algo-idle-fg);background:var(--algo-idle-bg);border:2px solid var(--algo-idle-border);box-shadow:0 2px 0 var(--algo-idle-border);border-radius:12px;padding:10px 20px;font-size:19px;font-weight:800;transition:border-color .35s,box-shadow .35s,color .35s}.br-cond .brc-q{color:var(--algo-comparison-highlight-solid);font-weight:900}.br-cond .brc-mark{color:var(--soft2)}.br-cond.is-true{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border),0 0 0 4px var(--algo-final-sorted-ring)}.br-cond.is-false{border-color:var(--algo-swap-motion-border);background:var(--algo-swap-motion-bg);box-shadow:0 2px 0 var(--algo-swap-motion-border),0 0 0 4px var(--algo-swap-motion-ring)}.br-split{width:min(440px,84%);font-family:var(--mono);color:var(--soft2);justify-content:space-between;font-size:12px;font-weight:700;display:flex}.br-split .br-true{color:var(--algo-final-sorted-fg)}.br-split .br-false{color:var(--algo-swap-motion-fg)}.br-paths{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.br-path{border:2px solid var(--algo-idle-border);background:var(--algo-idle-bg);text-align:center;min-width:180px;box-shadow:0 2px 0 var(--algo-idle-border);border-radius:12px;padding:12px 16px;transition:border-color .35s,box-shadow .35s,opacity .35s,transform .35s}.br-path .brp-tag{color:var(--soft2);margin-bottom:6px;font-size:11px;font-weight:700}.br-path .brp-body{font-family:var(--mono);color:var(--algo-idle-fg);font-size:15px;font-weight:700}.br-path.yes.taken{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border),0 0 0 4px var(--algo-final-sorted-ring);transform:translateY(-2px)}.br-path.no.taken{border-color:var(--algo-active-focus-border);background:var(--algo-active-focus-bg);box-shadow:0 2px 0 var(--algo-active-focus-border),0 0 0 4px var(--algo-active-focus-ring);transform:translateY(-2px)}.br-path.skipped{opacity:.4}.br-path.taken .brp-tag{color:var(--algo-final-sorted-fg)}.br-path.no.taken .brp-tag{color:var(--algo-active-focus-fg)}@media (width<=760px){.nav .wrap{flex-wrap:wrap;align-items:center;gap:8px 12px;height:auto;min-height:60px;padding-top:8px;padding-bottom:8px}.nav .right{margin-left:auto}.nav .links{flex:1 0 100%;order:3;gap:4px;max-width:100%;padding:2px 0 0;display:flex;overflow-x:auto}.nav .links a{padding:5px 8px;font-size:13px}.cell{width:46px;height:46px;font-size:18px}.av{--av-stage-pad:38px 12px 20px}.av-stage-play{height:44px;padding:0 18px;font-size:13.5px;bottom:12px}.av-stage-play span{width:20px;height:20px}.arr-zone{gap:20px}.dp-cell{width:42px;height:40px;font-size:14px}.vars-row{gap:14px}.var-box{min-width:0;padding:13px 12px 8px}.var-box .vb-val{font-size:21px}.var-box .vb-name{font-size:12px}.tpl-vars .vars-expr{padding:6px 11px;font-size:14px}.flow-track{gap:7px}.flow-node{min-width:0;padding:11px 12px}.tpl-flow.col .flow-node{min-width:0}.flow-node .fn-ic{font-size:21px}.flow-node .fn-lab{font-size:13px}.flow-node .fn-sub{font-size:11px}.flow-arrow{font-size:16px}.cs-stack,.cs-out{width:100%;min-width:0}.cs-frame .csf-name{font-size:14px}.br-cond{padding:9px 14px;font-size:16px}.br-path{min-width:0;padding:10px 12px}.br-paths{gap:12px}}.av:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:var(--r)}.av:focus:not(:focus-visible){outline:none}.av-dots .av-dot:focus-visible,.av-dots i:focus-visible,.av-ctl .prog:focus-visible,.gate-mark:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.av-ctl button:focus-visible,.av-stage-play:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.av-ctl .av-resume{border:1px solid var(--orange-200);background:var(--orange-50);width:auto;color:var(--orange-d);font-family:var(--sans);white-space:nowrap;padding:0 12px;font-size:12.5px;font-weight:700}.av-ctl .av-resume:hover{border-color:var(--orange);background:var(--orange-100);color:var(--orange-d)}.av-complete{z-index:6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;justify-content:center;align-items:center;padding:20px;animation:.2s av-cmp-in;display:flex;position:absolute;inset:0}.av-complete[hidden]{display:none}@keyframes av-cmp-in{0%{opacity:0}to{opacity:1}}.av-complete .ac-card{background:var(--card);border:1px solid var(--line);max-width:90%;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:22px 26px;display:flex}.av-complete .ac-title{font-family:var(--sans);color:var(--ink);font-size:16px;font-weight:800}.av-complete .ac-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.av-complete .ac-btn{border:1px solid var(--line);background:var(--card-top);height:40px;color:var(--ink);font-family:var(--sans);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;transition:all .12s;display:inline-flex}.av-complete .ac-btn:hover{border-color:var(--orange);color:var(--orange)}.av-complete .ac-primary{background:linear-gradient(135deg,var(--orange),var(--orange-d));color:var(--ink-on-orange);border:0}.av-complete .ac-primary:hover{filter:brightness(1.06);color:var(--ink-on-orange)}@media (width<=480px){.av-complete .ac-card{gap:12px;padding:18px}.av-complete .ac-btn{height:44px;padding:0 16px;font-size:13.5px}}.av-caption{height:64px;padding:10px 22px;font-size:15px;line-height:1.5}.av-cap-pretty .av-caption{padding-top:9px;padding-bottom:9px}.av-cap-pretty .av-caption sup,.av-cap-pretty .av-caption sub{line-height:0}.av-cap-pretty .av-caption{text-wrap:pretty}.av-cap-pretty{word-break:keep-all;overflow-wrap:break-word}.tree-panel,.grid-panel,.graph-panel,.g-panel,.stack-panel,.uf-panel{max-height:398px;overflow-y:auto}.av-fade{animation:.35s avfade}.cell,.grid-cell,.dp-cell,.lnode,.s-item,.uf-node,.stk-item,.bar{transition-property:background-color,border-color,color,box-shadow,opacity,transform,left,top,width,height!important}.tpl-quote:has(.qz-card){text-align:left;max-width:720px}.qz-card{text-align:left;color:var(--ink);background:var(--card-top);border:1px solid var(--line);border-left:4px solid var(--orange);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px 22px;font-size:17px;font-weight:500;line-height:1.55}.qz-card .qz-h{color:var(--ink);letter-spacing:.01em;align-items:center;gap:8px;margin:0 0 12px;font-size:18px;font-weight:800;display:flex}.qz-card .qz-line{align-items:flex-start;gap:10px;padding:6px 0;font-size:16px;display:flex}.qz-card .qz-line+.qz-line{border-top:1px dashed var(--line)}.qz-card .qz-line:before{content:"▸";color:var(--orange);flex:none;font-weight:900;line-height:1.5}.qz-card .k{color:var(--orange);font-family:var(--mono);font-weight:700}.qz-card .qz-tip{color:var(--soft2);margin-top:10px;font-size:13px}.tree-panel{white-space:normal;word-break:break-word}.graph-panel,.g-panel{white-space:normal;word-break:break-word;max-width:260px}.tpl-tree>.tree-board{align-self:center}.arr-motion-layer,.bars-motion-layer{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:visible}.tpl-array.motion-rich .cell.motion-scan{animation:.82s cubic-bezier(.22,.61,.36,1) arrScan}.tpl-array.motion-rich .cell.motion-match{animation:.98s cubic-bezier(.22,.61,.36,1) arrMatch}.tpl-array.motion-rich .hash .h-row.motion-target{box-shadow:inset 0 0 0 2px #16a34a73}.tpl-array.motion-rich .av-result.motion-pop{animation:.98s cubic-bezier(.22,.61,.36,1) arrResultPop}.tpl-array.motion-rich .formula.motion-probe{animation:.76s cubic-bezier(.22,.61,.36,1) arrFormulaPulse}.tpl-array.motion-rich .hash.motion-search{animation:.76s arrHashSearch}.tpl-array.motion-rich .hash.motion-miss{animation:.58s arrHashMiss}.arr-fly{min-width:28px;height:28px;font-family:var(--mono);border-radius:999px;place-items:center;padding:0 9px;font-size:13px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #0f172a2e}.arr-fly.store{background:linear-gradient(135deg,var(--orange),var(--orange-d));color:var(--ink-on-orange)}.arr-fly.hit{background:linear-gradient(135deg,#22c55e,var(--green));color:#fff}.arr-fly.probe{color:var(--blue);background:linear-gradient(135deg,#f8fafc,#dbeafe);border:1px solid #2563eb40}.arr-motion-line{transform-origin:0;background:linear-gradient(90deg,#22c55e26,var(--green),#22c55e26);border-radius:999px;height:3px;position:absolute;box-shadow:0 0 14px #22c55e6b}@keyframes arrScan{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-5px)scale(1.05);box-shadow:0 0 0 5px #7c6fe838,0 10px 22px #7c6fe82e}to{transform:translateY(0)scale(1)}}@keyframes arrMatch{0%,to{transform:scale(1)}35%{transform:scale(1.08);box-shadow:0 0 0 6px #16a34a3d,0 12px 24px #16a34a2e}}@keyframes arrResultPop{0%{box-shadow:0 0 #16a34a00}34%{box-shadow:0 0 0 5px #16a34a3d}to{box-shadow:0 0 #16a34a00}}@keyframes arrFormulaPulse{0%,to{box-shadow:0 0 #2563eb00}30%{border-color:#2563eb59;box-shadow:0 0 0 4px #2563eb29}}@keyframes arrHashSearch{0%{box-shadow:inset 0 0 #2563eb00}40%{box-shadow:inset 0 0 0 2px #2563eb52,0 10px 24px #2563eb1a}to{box-shadow:none}}@keyframes arrHashMiss{0%,to{transform:translate(0)}24%{transform:translate(-4px)}48%{transform:translate(-1px)}72%{transform:translate(-3px)}}.tpl-bars.motion-rich .bar.motion-wall{animation:.86s cubic-bezier(.22,.61,.36,1) barsWall}.tpl-bars.motion-rich .bar.motion-pop{animation:.82s cubic-bezier(.22,.61,.36,1) barsPop}.tpl-bars.motion-rich .bar.motion-basin{animation:.98s cubic-bezier(.22,.61,.36,1) barsBasin}.tpl-bars.motion-rich .water.motion-fill{transform-origin:bottom;animation:.98s cubic-bezier(.22,.61,.36,1) barsWaterFill}.tpl-bars.motion-rich .stack-panel .motion-push{animation:.82s cubic-bezier(.22,.61,.36,1) barsStackPush}.tpl-bars.motion-rich .stack-panel .motion-result{animation:.98s cubic-bezier(.22,.61,.36,1) barsResultPop}.bars-fly{min-width:34px;height:26px;font-family:var(--mono);white-space:nowrap;border-radius:999px;place-items:center;padding:0 9px;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #0f172a2e}.bars-fly.push{background:linear-gradient(135deg,var(--blue),#5d86dd);color:#fff}.bars-fly.pop{background:linear-gradient(135deg,var(--orange),var(--orange-d));color:var(--ink-on-orange)}.bars-fly.water{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb)}@keyframes barsWall{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-7px)scale(1.04);box-shadow:0 0 0 5px #7c6fe833,0 12px 24px #7c6fe82e}}@keyframes barsPop{0%,to{transform:translateY(0)scale(1)}30%{filter:saturate(1.18);transform:translateY(-10px)scale(1.05)}58%{transform:translateY(4px)scale(.98)}}@keyframes barsBasin{0%,to{box-shadow:none}35%{box-shadow:0 0 0 5px #2563eb2e,0 12px 24px #2563eb26}}@keyframes barsWaterFill{0%{opacity:.15;transform:scaleY(.08)}42%{opacity:1;transform:scaleY(1.08)}to{opacity:1;transform:scaleY(1)}}@keyframes barsStackPush{0%{opacity:.55;transform:translate(-8px)}60%{opacity:1;transform:translate(0)}to{transform:none}}@keyframes barsResultPop{0%{opacity:.65}36%{opacity:1;box-shadow:inset 0 0 0 2px #16a34a59}to{opacity:1}}@media (prefers-reduced-motion:reduce){.arr-motion-layer,.arr-fly,.arr-motion-line,.bars-motion-layer,.bars-fly{display:none!important}.tpl-array.motion-rich .cell.motion-scan,.tpl-array.motion-rich .cell.motion-match,.tpl-array.motion-rich .av-result.motion-pop,.tpl-bars.motion-rich .bar.motion-wall,.tpl-bars.motion-rich .bar.motion-pop,.tpl-bars.motion-rich .bar.motion-basin,.tpl-bars.motion-rich .water.motion-fill,.tpl-bars.motion-rich .stack-panel .motion-push,.tpl-bars.motion-rich .stack-panel .motion-result{animation:none!important}}@keyframes breatheArr{0%,to{box-shadow:0 0 #7c6fe800}50%{box-shadow:0 0 0 4px #7c6fe829}}@keyframes breatheBar{0%,to{box-shadow:0 0 #7c6fe800}50%{box-shadow:0 0 0 4px #7c6fe833}}@keyframes breathePtr{0%,to{box-shadow:0 6px 16px #7c6fe857}50%{box-shadow:0 7px 22px #7c6fe88c}}.tpl-array.motion-rich .cell.cur:not(.motion-scan):not(.motion-match){animation:2.2s ease-in-out infinite breatheArr}.tpl-bars.motion-rich .bar.cur:not(.motion-wall):not(.motion-basin){animation:2.2s ease-in-out infinite breatheBar}.tpl-bars.motion-rich .bars-ptr{animation:2s ease-in-out infinite breathePtr}@keyframes vizFadeIn{0%{opacity:0}to{opacity:1}}.tpl-array.motion-rich .cells .cell,.tpl-bars.motion-rich .bars-zone .col{animation:.5s both vizFadeIn}.tpl-array.motion-rich .cells .cell:first-child,.tpl-bars.motion-rich .bars-zone .col:nth-child(2){animation-delay:30ms}.tpl-array.motion-rich .cells .cell:nth-child(2),.tpl-bars.motion-rich .bars-zone .col:nth-child(3){animation-delay:80ms}.tpl-array.motion-rich .cells .cell:nth-child(3),.tpl-bars.motion-rich .bars-zone .col:nth-child(4){animation-delay:.13s}.tpl-array.motion-rich .cells .cell:nth-child(4),.tpl-bars.motion-rich .bars-zone .col:nth-child(5){animation-delay:.18s}.tpl-array.motion-rich .cells .cell:nth-child(5),.tpl-bars.motion-rich .bars-zone .col:nth-child(6){animation-delay:.23s}.tpl-array.motion-rich .cells .cell:nth-child(6),.tpl-bars.motion-rich .bars-zone .col:nth-child(7){animation-delay:.28s}.tpl-array.motion-rich .cells .cell:nth-child(7),.tpl-bars.motion-rich .bars-zone .col:nth-child(8){animation-delay:.33s}.tpl-array.motion-rich .cells .cell:nth-child(8),.tpl-bars.motion-rich .bars-zone .col:nth-child(9){animation-delay:.38s}.tpl-array.motion-rich .cells .cell:nth-child(9),.tpl-bars.motion-rich .bars-zone .col:nth-child(10){animation-delay:.43s}.tpl-array.motion-rich .cells .cell:nth-child(n+10),.tpl-bars.motion-rich .bars-zone .col:nth-child(n+11){animation-delay:.48s}@media (prefers-reduced-motion:reduce){.tpl-array.motion-rich .cell.cur,.tpl-bars.motion-rich .bar.cur,.tpl-bars.motion-rich .bars-ptr,.tpl-array.motion-rich .cells .cell,.tpl-bars.motion-rich .bars-zone .col{opacity:1!important;animation:none!important}}.tpl-list.motion-rich.list-anchor,.tpl-list.motion-rich.list-anchor .list-line{align-items:center}.tpl-list.motion-rich .lnode.motion-ptr{animation:.86s cubic-bezier(.22,.61,.36,1) listPtr}.tpl-list.motion-rich .lnode.motion-done{animation:.98s cubic-bezier(.22,.61,.36,1) listDone}.tpl-list.motion-rich .lnode.motion-drop{animation:.98s cubic-bezier(.22,.61,.36,1) listDrop}.tpl-list.motion-rich .lptr.motion-ptr-tag{animation:.86s cubic-bezier(.22,.61,.36,1) listPtrTag}.tpl-list.motion-rich .larrow.motion-rev,.tpl-list.motion-rich .larrow.motion-flip{animation:.98s cubic-bezier(.22,.61,.36,1) listArrowFlip}@keyframes listPtr{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-6px)scale(1.06);box-shadow:0 0 0 5px #7c6fe838,0 12px 24px #7c6fe829}}@keyframes listPtrTag{0%{opacity:.55;transform:translateY(-6px)}45%{opacity:1;text-shadow:0 8px 20px #7c6fe859;transform:translateY(0)}to{transform:none}}@keyframes listArrowFlip{0%{transform:rotateY(0)scale(1)}42%{color:var(--orange);transform:rotateY(180deg)scale(1.18)}to{transform:rotateY(0)scale(1)}}@keyframes listDone{0%{transform:scale(.96)}38%{transform:scale(1.08);box-shadow:0 0 0 6px #16a34a38}to{transform:scale(1)}}@keyframes listDrop{0%{opacity:1;transform:translateY(0)scale(1)}52%{opacity:.5;transform:translateY(10px)scale(.82)}to{opacity:.32;transform:scale(.82)}}@keyframes breatheLptr{0%,to{text-shadow:0 0 #7c6fe800}50%{text-shadow:0 3px 13px #7c6fe88c}}.tpl-list.motion-rich .lptr[data-pname=cur]:not(.motion-ptr-tag){animation:2s ease-in-out infinite breatheLptr}.tpl-list.motion-rich .lnode-wrap{animation:.5s both vizFadeIn}.tpl-list.motion-rich .lnode-wrap:first-child{animation-delay:30ms}.tpl-list.motion-rich .lnode-wrap:nth-child(3){animation-delay:90ms}.tpl-list.motion-rich .lnode-wrap:nth-child(5){animation-delay:.15s}.tpl-list.motion-rich .lnode-wrap:nth-child(7){animation-delay:.21s}.tpl-list.motion-rich .lnode-wrap:nth-child(9){animation-delay:.27s}.tpl-list.motion-rich .lnode-wrap:nth-child(n+11){animation-delay:.33s}@media (prefers-reduced-motion:reduce){.tpl-list.motion-rich .lnode.motion-ptr,.tpl-list.motion-rich .lnode.motion-done,.tpl-list.motion-rich .lnode.motion-drop,.tpl-list.motion-rich .lptr.motion-ptr-tag,.tpl-list.motion-rich .larrow.motion-rev,.tpl-list.motion-rich .larrow.motion-flip,.tpl-list.motion-rich .lptr[data-pname=cur],.tpl-list.motion-rich .lnode-wrap{opacity:1!important;animation:none!important}}.tpl-tree.motion-rich .tnode.motion-node circle{animation:.92s cubic-bezier(.22,.61,.36,1) treeNodePulse}.tpl-tree.motion-rich .tnode.motion-queue circle{animation:.98s cubic-bezier(.22,.61,.36,1) treeQueuePulse}.tpl-tree.motion-rich .tnode.motion-done circle{animation:.98s cubic-bezier(.22,.61,.36,1) treeDonePulse}.tpl-tree.motion-rich .tree-panel.motion-stack{animation:.86s cubic-bezier(.22,.61,.36,1) treePanelPulse}.tpl-tree.motion-rich .tree-panel .motion-queue-item{animation:.76s cubic-bezier(.22,.61,.36,1) treeQueueItem}@keyframes treeNodePulse{0%,to{stroke-width:2px}36%{stroke-width:5px;filter:drop-shadow(0 10px 16px #7c6fe838)}}@keyframes treeQueuePulse{0%{stroke-width:2px}40%{stroke-width:5px;filter:drop-shadow(0 10px 16px #2563eb38)}to{stroke-width:2px}}@keyframes treeDonePulse{0%{stroke-width:2px}40%{stroke-width:5px;filter:drop-shadow(0 10px 16px #16a34a33)}to{stroke-width:2px}}@keyframes treePanelPulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 4px #2563eb24,0 14px 30px #2563eb1a}}@keyframes treeQueueItem{0%{opacity:.45;transform:translate(-8px)}54%{opacity:1;transform:translate(2px)}to{transform:none}}@keyframes breatheTnode{0%,to{stroke-width:2.5px}50%{stroke-width:3.6px}}.tpl-tree.motion-rich .tnode.visiting:not(.motion-queue):not(.motion-node) circle{animation:2.2s ease-in-out infinite breatheTnode}.tpl-heap .tree-panel{align-self:center}@keyframes heapNodePulse{0%,to{filter:none}38%{filter:drop-shadow(0 10px 16px #7c6fe838)}}@keyframes heapCurPulse{0%,to{filter:none}38%{filter:drop-shadow(0 10px 16px #2563eb3d)}}@keyframes heapDonePulse{0%,to{filter:none}38%{filter:drop-shadow(0 10px 16px #16a34a38)}}@keyframes heapPanelPulse{0%,to{box-shadow:none}42%{box-shadow:0 0 0 4px #2563eb24,0 14px 30px #2563eb1a}}.tpl-heap.motion-rich .tnode.motion-heap-node circle{animation:.92s cubic-bezier(.22,.61,.36,1) heapNodePulse}.tpl-heap.motion-rich .tnode.motion-heap-cur circle{animation:.92s cubic-bezier(.22,.61,.36,1) heapCurPulse}.tpl-heap.motion-rich .tnode.motion-heap-done circle{animation:.92s cubic-bezier(.22,.61,.36,1) heapDonePulse}.tpl-heap.motion-rich .tnode.cur:not(.motion-heap-cur):not(.motion-heap-node) circle,.tpl-heap.motion-rich .tnode.cmp:not(.motion-heap-cur):not(.motion-heap-node) circle{animation:2.2s ease-in-out infinite breatheTnode}.tpl-heap.motion-rich .tree-panel.motion-heap-panel{animation:.82s cubic-bezier(.22,.61,.36,1) heapPanelPulse}.tpl-heap.motion-rich .tree-panel .motion-heap-panel-item{animation:.76s cubic-bezier(.22,.61,.36,1) treeQueueItem}@media (prefers-reduced-motion:reduce){.tpl-heap.motion-rich .tnode circle,.tpl-heap.motion-rich .tree-panel,.tpl-heap.motion-rich .tree-panel .s-item{opacity:1!important;filter:none!important;animation:none!important}}.tpl-grid.motion-rich .grid-cell.motion-enter{animation:.86s cubic-bezier(.22,.61,.36,1) gridEnter}.tpl-grid.motion-rich .grid-cell.motion-visit{animation:.92s cubic-bezier(.22,.61,.36,1) gridVisit}.tpl-grid.motion-rich .grid-cell.motion-change{animation:.76s cubic-bezier(.22,.61,.36,1) gridChange}.tpl-grid.motion-rich .grid-count.motion-count{animation:.98s cubic-bezier(.22,.61,.36,1) gridCountPop}.tpl-grid.motion-rich .grid-panel.motion-stack{animation:.82s cubic-bezier(.22,.61,.36,1) gridPanelPulse}.tpl-grid.motion-rich .grid-panel .motion-stack-item{animation:.76s cubic-bezier(.22,.61,.36,1) gridStackItem}@keyframes gridEnter{0%,to{transform:scale(1)}34%{transform:scale(1.08);box-shadow:0 0 0 5px #7c6fe838,0 10px 22px #7c6fe824}}@keyframes gridVisit{0%{transform:scale(.94)}36%{transform:scale(1.09);box-shadow:0 0 0 6px #16a34a38}to{transform:scale(1)}}@keyframes gridChange{0%,to{transform:scale(1)}45%{transform:scale(1.05)}}@keyframes gridCountPop{0%{transform:scale(.96)}36%{transform:scale(1.06);box-shadow:inset 0 0 0 2px #16a34a57}to{transform:scale(1)}}@keyframes gridPanelPulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 4px #2563eb24,0 12px 26px #2563eb1a}}@keyframes gridStackItem{0%{opacity:.45;transform:translate(-8px)}55%{opacity:1;transform:translate(2px)}to{transform:none}}@keyframes breatheGrid{0%,to{box-shadow:0 0 #7c6fe800}50%{box-shadow:0 0 0 4px #7c6fe833}}.tpl-grid.motion-rich .grid-cell.cur:not(.motion-enter):not(.motion-visit):not(.motion-change){animation:2.2s ease-in-out infinite breatheGrid}.tpl-grid.motion-rich .grid-cell{animation:.45s both vizFadeIn}.tpl-grid.motion-rich .grid-row:first-child .grid-cell{animation-delay:40ms}.tpl-grid.motion-rich .grid-row:nth-child(2) .grid-cell{animation-delay:.1s}.tpl-grid.motion-rich .grid-row:nth-child(3) .grid-cell{animation-delay:.16s}.tpl-grid.motion-rich .grid-row:nth-child(4) .grid-cell{animation-delay:.22s}.tpl-grid.motion-rich .grid-row:nth-child(5) .grid-cell{animation-delay:.28s}.tpl-grid.motion-rich .grid-row:nth-child(n+6) .grid-cell{animation-delay:.34s}@keyframes dpCur{0%,to{transform:scale(1)}34%{transform:scale(1.08);box-shadow:0 0 0 5px #7c6fe838,0 10px 22px #7c6fe824}}@keyframes dpDep{0%,to{box-shadow:none}42%{box-shadow:0 0 0 4px #2563eb2e,0 10px 20px #2563eb1a}}@keyframes dpWrite{0%{transform:scale(.96)}38%{transform:scale(1.09);box-shadow:0 0 0 6px #16a34a38}to{transform:scale(1)}}@keyframes dpMark{0%,to{box-shadow:none}40%{box-shadow:inset 0 0 0 2px #16a34a4d}}@keyframes dpFormulaPulse{0%,to{box-shadow:none}35%{box-shadow:0 0 0 4px #2563eb24,0 12px 26px #2563eb1a}}@keyframes breatheDp{0%,to{box-shadow:0 0 #7c6fe800}50%{box-shadow:0 0 0 4px #7c6fe82e}}.tpl-dp.motion-rich .dp-cell.cur:not(.motion-dp-cur):not(.motion-dp-write):not(.motion-dp-mark){animation:2.2s ease-in-out infinite breatheDp}.tpl-dp.motion-rich .dp-row .dp-cell:not(.hdr){animation:.45s both vizFadeIn}.tpl-dp.motion-rich .dp-row:first-child .dp-cell:not(.hdr){animation-delay:40ms}.tpl-dp.motion-rich .dp-row:nth-child(2) .dp-cell:not(.hdr){animation-delay:.1s}.tpl-dp.motion-rich .dp-row:nth-child(3) .dp-cell:not(.hdr){animation-delay:.16s}.tpl-dp.motion-rich .dp-row:nth-child(4) .dp-cell:not(.hdr){animation-delay:.22s}.tpl-dp.motion-rich .dp-row:nth-child(5) .dp-cell:not(.hdr){animation-delay:.28s}.tpl-dp.motion-rich .dp-row:nth-child(n+6) .dp-cell:not(.hdr){animation-delay:.34s}.tpl-dp.motion-rich .dp-cell.motion-dp-cur{animation:.86s cubic-bezier(.22,.61,.36,1) dpCur}.tpl-dp.motion-rich .dp-cell.motion-dp-dep{animation:.76s cubic-bezier(.22,.61,.36,1) dpDep}.tpl-dp.motion-rich .dp-cell.motion-dp-write{animation:.92s cubic-bezier(.22,.61,.36,1) dpWrite}.tpl-dp.motion-rich .dp-cell.motion-dp-done,.tpl-dp.motion-rich .dp-cell.motion-dp-mark{animation:.76s cubic-bezier(.22,.61,.36,1) dpMark}.tpl-dp.motion-rich .formula.motion-dp-formula{animation:.82s cubic-bezier(.22,.61,.36,1) dpFormulaPulse}@media (prefers-reduced-motion:reduce){.tpl-tree.motion-rich .tnode circle,.tpl-tree.motion-rich .tree-panel,.tpl-tree.motion-rich .tree-panel .s-item,.tpl-grid.motion-rich .grid-cell,.tpl-grid.motion-rich .grid-count,.tpl-grid.motion-rich .grid-panel,.tpl-grid.motion-rich .grid-panel .s-item,.tpl-dp.motion-rich .dp-cell,.tpl-dp.motion-rich .formula{opacity:1!important;animation:none!important}}.tpl-code.motion-rich .lines .ln{animation:.4s both vizFadeIn}.tpl-code.motion-rich .lines .ln:first-child{animation-delay:20ms}.tpl-code.motion-rich .lines .ln:nth-child(2){animation-delay:60ms}.tpl-code.motion-rich .lines .ln:nth-child(3){animation-delay:.1s}.tpl-code.motion-rich .lines .ln:nth-child(4){animation-delay:.14s}.tpl-code.motion-rich .lines .ln:nth-child(5){animation-delay:.18s}.tpl-code.motion-rich .lines .ln:nth-child(6){animation-delay:.22s}.tpl-code.motion-rich .lines .ln:nth-child(7){animation-delay:.26s}.tpl-code.motion-rich .lines .ln:nth-child(8){animation-delay:.3s}.tpl-code.motion-rich .lines .ln:nth-child(9){animation-delay:.34s}.tpl-code.motion-rich .lines .ln:nth-child(10){animation-delay:.38s}.tpl-code.motion-rich .lines .ln:nth-child(11){animation-delay:.42s}.tpl-code.motion-rich .lines .ln:nth-child(12){animation-delay:.46s}.tpl-code.motion-rich .lines .ln:nth-child(n+13){animation-delay:.5s}.tpl-code.motion-rich .lines .ln.hl{animation:.9s both codeHlIn}@keyframes codeHlIn{0%{opacity:0;box-shadow:inset 0 0 #7c6fe800}45%{opacity:1;box-shadow:inset 3px 0 0 0 var(--orange),0 0 0 3px #7c6fe829}to{opacity:1;box-shadow:inset 3px 0 0 0 var(--orange)}}@media (prefers-reduced-motion:reduce){.tpl-code.motion-rich .lines .ln,.tpl-code.motion-rich .lines .ln.hl{opacity:1!important;animation:none!important}}.av.av-bare{box-shadow:none;background:0 0;border:0;border-radius:0}.av.av-bare .av-head,.av.av-bare .av-chapters,.av.av-bare .av-insight,.av.av-bare .av-legend,.av.av-bare .av-code-trace,.av.av-bare .av-dots,.av.av-bare .av-ctl,.av.av-bare .av-stage-play{display:none!important}.av.av-bare .av-stage{border:0;border-radius:0;height:var(--sv-stage-h,440px)!important}.av.av-bare .av-stage:before{opacity:.5}.av.av-bare .av-caption{border-top:1px solid var(--line);background:0 0;height:auto;min-height:calc(3.4em + 24px);max-height:calc(3.4em + 24px);padding:12px 20px;line-height:1.7;overflow:hidden}.av.av-bare.av-cap-open .av-caption{max-height:none}.tpl-sysdesign{flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;gap:14px;width:100%;min-width:0;display:flex}.sd-board{cursor:zoom-in;flex:none;width:100%;max-width:100%;position:relative}.av.av-sd-panel-hidden .tpl-sysdesign{width:100%;min-width:0}.av.av-sd-panel-hidden .sd-board{width:100%;max-width:100%}.av.av-sd-panel-hidden .sd-panel{display:none!important}.sd-svg{width:100%;height:auto;max-height:none;font-family:var(--sans),ui-sans-serif,system-ui,sans-serif;display:block}.av.av-fullscreen .sd-svg{width:100%!important;max-width:min(100%,220.6vh - 573.56px)!important;height:auto!important;max-height:calc(100vh - 260px)!important;margin:0 auto!important}.av.av-fullscreen.av-sd-panel-hidden .sd-svg{width:100%!important;max-width:min(100%,220.6vh - 386.05px)!important;height:auto!important;max-height:calc(100vh - 175px)!important;margin:0 auto!important}.sd-lane{fill:var(--bg2,#eef2ff);stroke:var(--line,#e2e8f0);stroke-width:1.6px;stroke-dasharray:6 5;opacity:.75}html[data-theme=dark] .sd-lane{fill:#1e293b8c;stroke:#334155}.sd-lane-title{font-family:var(--mono);fill:var(--soft,#64748b);letter-spacing:.08em;font-size:13.5px;font-weight:800}.sd-node{transition:opacity .24s,transform .24s}.sd-node.dim,.sd-node.is-unfocused-node{opacity:.26}.sd-node.is-focused-node .sd-node-box{filter:drop-shadow(0 0 14px #7c6fe87a);stroke-width:3.6px}.sd-edge.is-unfocused-edge,.sd-edge-pill.is-unfocused-edge{opacity:.18}.sd-edge.is-focused-edge{stroke-width:3.8px}.sd-node-box{transition:stroke .28s,fill .28s,stroke-width .28s}.sd-node-fo{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;padding:2px 6px;display:flex;overflow:hidden}.sd-node-title-html{font-size:16px;font-weight:800;font-family:var(--sans);word-break:break-word;line-height:1.22}.sd-node-sub-html{font-family:var(--mono);color:var(--soft,#64748b);word-break:break-word;font-size:12.5px;font-weight:600;line-height:1.3}.sd-node-badge{font-family:var(--mono);letter-spacing:.03em;font-size:11.5px;font-weight:800}.sd-edge{transition:stroke .28s,stroke-width .28s,opacity .24s}.sd-edge-pill{transition:opacity .24s}.sd-edge-txt{font-family:var(--mono);font-size:12px;font-weight:800}.sd-panel{border:1px solid var(--line);background:var(--card-top);width:100%;min-width:0;max-height:none;box-shadow:var(--shadow-sm);border-radius:12px;flex:none;overflow:visible}.sd-panel .s-h{color:var(--blue);border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;font-size:12px;font-weight:800}.sd-delta{border-bottom:1px solid var(--line);background:#7c6fe817;flex-flow:wrap;align-items:center;gap:10px;padding:8px 14px;display:flex}.sd-delta span{font-family:var(--mono);color:var(--orange);text-transform:uppercase;letter-spacing:.04em;background:var(--card,#fff);border:1px solid var(--orange-200);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.sd-delta b{color:var(--ink);font-size:13px;font-weight:700;line-height:1.4}.sd-items{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0;display:grid}.sd-item{border-right:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-direction:column;gap:3px;padding:9px 14px;transition:background-color .25s;display:flex}.sd-item:last-child{border-right:0}.sd-item .sd-k{color:var(--soft);font-size:11px;font-weight:700;font-family:var(--mono)}.sd-item .sd-v{font-family:var(--mono);color:var(--ink);word-break:break-word;white-space:normal;font-size:12px;font-weight:700;line-height:1.4}.sd-item.active{background:#7c6fe81c}.sd-item.active .sd-v{color:var(--orange-d)}.sd-item.updated{background:#2563eb17}.sd-item.updated .sd-v{color:var(--blue)}.sd-item.ok{background:#16a34a1a}.sd-item.ok .sd-v{color:var(--green)}.sd-item.warn{background:#f59e0b1f}.sd-item.warn .sd-v{color:#b45309}.sd-item.danger{background:#ef44441c}.sd-item.danger .sd-v{color:var(--red)}@keyframes sdNodePulse{0%,to{filter:none}40%{filter:drop-shadow(0 0 11px #7c6fe861)}}@keyframes sdEdgePulse{0%{stroke-dashoffset:22px;stroke-opacity:.35}50%{stroke-opacity:1}to{stroke-dashoffset:0;stroke-opacity:1}}@keyframes sdPanelPulse{0%,to{box-shadow:none}40%{box-shadow:0 0 0 4px #7c6fe826}}.tpl-sysdesign.motion-rich .sd-node.motion-sd-node .sd-node-box{animation:.88s cubic-bezier(.22,.61,.36,1) sdNodePulse}.tpl-sysdesign.motion-rich .sd-edge.motion-sd-edge{animation:.84s cubic-bezier(.22,.61,.36,1) sdEdgePulse}.tpl-sysdesign.motion-rich .sd-panel.motion-sd-panel{animation:.82s cubic-bezier(.22,.61,.36,1) sdPanelPulse}@media (prefers-reduced-motion:reduce){.tpl-sysdesign.motion-rich .sd-node .sd-node-box,.tpl-sysdesign.motion-rich .sd-edge,.tpl-sysdesign.motion-rich .sd-panel{filter:none!important;animation:none!important}}body.bg-grid,body[data-am-embedded=true]{background:0 0!important}body[data-am-embedded=true] .nav,body[data-am-embedded=true] footer.foot,body[data-am-embedded=true] .nv-tools,body[data-am-embedded=true] #ws-auth-slot.floating{display:none!important}.hero,.hero2{padding-top:30px!important}.hero .kick,.hero2 .kick{border-color:var(--border-strong)!important;background:var(--orange-50)!important;color:var(--orange-d)!important;font-weight:700!important}.hero h1,.hero2 h1{color:var(--ink);letter-spacing:-.02em!important}.hero h1 .g{color:var(--ink);border-bottom:2px solid var(--ink)}.hero p.sub,.hero2 p{color:var(--soft)!important}.av,.feat,.road,.pcard,.step,.path,.card2,.vip-value,.vip-aside,.plan-card,aside .box,.principle,.loop,.method,.play{border-color:var(--line)!important;box-shadow:var(--bento-shadow,var(--shadow-sm))!important}.av{box-shadow:var(--bento-shadow,var(--shadow-md))!important}.feat,.road,.pcard,.step,.path,.card2,aside .box{background:var(--card)!important}.road:hover,.pcard:hover,.feat:hover,.path:hover{transform:var(--bento-hover-transform,translateY(-2px))!important;border-color:var(--bento-hover-border,var(--border-strong))!important;box-shadow:var(--bento-hover-shadow,var(--shadow-md))!important}.btn{border-radius:var(--radius-sm,10px)!important}.btn.pri,.plan-card .cta,.av-stage-play,.av-ctl button.play{background:var(--orange)!important;color:var(--ink-on-orange)!important;box-shadow:0 3px 0 var(--btn-tactile-lip), var(--shadow-sm)!important}.btn.ghost{background:var(--card)!important;box-shadow:0 2px 0 var(--btn-secondary-lip)!important}.tag.mid{color:var(--orange-d)!important;border-color:var(--orange-200)!important;background:var(--orange-50)!important}.tag.free{background:var(--green-bg)!important}.av-ctl .voice.locked{align-items:center;gap:4px;font-weight:700;color:var(--soft)!important;border-color:var(--border-strong)!important;background:var(--bg2)!important;display:inline-flex!important}.av-ctl .voice.locked:hover{color:var(--ink)!important;border-color:var(--ink)!important;background:var(--surface-hover)!important}@media (width<=760px){.hero,.hero2{padding-top:22px!important}}.av{container:algo-player/inline-size}.av-head .ttl,.tpl-code,.tpl-code .c-h,.tpl-code .lines{min-width:0;max-width:100%}.av-head .ttl{overflow-wrap:anywhere}.av{--av-stage-pad:64px 24px 38px}.av-stage .step-title,.av-stage .step-state{overflow-wrap:anywhere;min-width:0;line-height:1.35;position:absolute;top:12px}.av-stage .step-title{left:24px;right:calc(45% + 16px)}.av-stage .step-state{text-align:right;white-space:normal;left:55%;right:24px}.av-caption{min-height:64px;max-height:none;overflow:visible;height:auto!important}.av-explanation-top>.av-caption{background:0 0;border-top:0;min-height:0}.tpl-code .c-h{flex-wrap:wrap}.tpl-code .lines{scrollbar-gutter:stable both-edges}.av-stage:has(.tpl-code){--av-stage-h:auto;--av-stage-min-h:440px}.tpl-code .lines{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(48vh,440px);overflow:hidden auto}.tpl-code .ln{white-space:normal;min-width:0;padding-inline:10px}.tpl-code .ln .no{flex-basis:24px;width:24px;margin-right:10px}.tpl-code .ln>span:last-child{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;flex:auto;min-width:0}.tpl-code:after{content:"↕ Khi mã nguồn dài, bạn có thể cuộn lên xuống trong khung";border-top:1px solid var(--line);background:var(--card-top);color:var(--soft);font-family:var(--sans);text-align:right;padding:5px 12px 7px;font-size:11.5px;line-height:1.35;display:block}@container algo-player (width<=600px){.av-head{flex-wrap:wrap;align-items:flex-start}.av-head .ttl{flex:220px}.av-head .wm{text-align:right;flex:1 0 100%;margin-left:0}.av{--av-stage-pad:108px 16px 18px}.av-stage .step-title{top:10px;left:16px;right:16px}.av-stage .step-state{text-align:left;font-size:12px;top:58px;left:16px;right:16px}.tpl-code .c-hint{flex:1 0 100%;margin-left:0}.tpl-code .c-tabs{margin-left:0}}.av-chapters{border-top:1px solid var(--line);background:var(--card);scrollbar-width:thin;align-items:center;gap:8px;padding:12px 18px 10px;display:flex;overflow-x:auto}.av-chapter{border:1px solid var(--line);background:var(--card-top);min-height:36px;color:var(--soft);font:700 12px/1.15 var(--sans);cursor:pointer;border-radius:999px;flex:none;padding:7px 11px;transition:background .16s,border-color .16s,color .16s,transform .16s}.av-chapter:hover{border-color:var(--orange);color:var(--orange-d)}.av-chapter.active{border-color:var(--orange);background:var(--orange-50);color:var(--orange-d);box-shadow:inset 0 0 0 1px var(--orange-200)}.av-chapter.complete:before{content:"✓ ";color:var(--green)}.av-insight{background:var(--card);grid-template-columns:minmax(0,.88fr) minmax(0,1fr) minmax(0,1.45fr);gap:8px;padding:0 18px 10px;display:grid}.av-insight-item{border:1px solid var(--line);background:var(--card-top);border-radius:10px;min-width:0;padding:9px 10px 10px}.av-insight-item span{color:var(--orange-d);font:800 10px/1.2 var(--sans);letter-spacing:.055em;text-transform:uppercase;margin-bottom:4px;display:block}.av-insight-item strong{color:var(--ink);font:650 12px/1.45 var(--sans);display:block}.av-legend{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;gap:7px 14px;padding:0 18px 12px;display:flex}.av-legend-item{color:var(--soft);font:650 11.5px/1.35 var(--sans);align-items:center;gap:6px;display:inline-flex}.av-legend-item i{background:var(--algo-idle-fg,var(--soft2));width:8px;height:8px;box-shadow:0 0 0 3px var(--algo-idle-bg,var(--bg2));border-radius:50%}.av-legend-item.active i{background:var(--algo-active-focus-border,var(--orange));box-shadow:0 0 0 3px var(--algo-active-focus-bg,var(--orange-100))}.av-legend-item.stored i{background:var(--algo-comparison-highlight-border,var(--blue));box-shadow:0 0 0 3px var(--algo-comparison-highlight-bg,var(--blue-bg))}.av-legend-item.result i{background:var(--algo-final-sorted-border,var(--green));box-shadow:0 0 0 3px var(--algo-final-sorted-bg,var(--green-bg))}.av-code-trace{border:1px solid var(--line);background:var(--card-top);border-radius:12px;margin:12px 18px;overflow:hidden}.av-code-trace[hidden]{display:none}.av-code-trace [hidden]{display:none!important}.av-learning-mode{background:var(--card-top);gap:5px;padding:8px 10px 0;display:flex}.av-learning-mode button{min-height:31px;color:var(--soft);font:800 11.5px/1 var(--sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 9px}.av-learning-mode button:hover:not(:disabled),.av-learning-mode button.active{border-color:var(--orange-200);background:var(--orange-50);color:var(--orange-d)}.av-learning-mode button:disabled{opacity:.46;cursor:not-allowed}.av-trace-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;display:flex}.av-trace-head>strong{color:var(--ink);font:800 13px/1.2 var(--sans)}.av-trace-label{min-width:0;color:var(--soft);font:600 11.5px/1.35 var(--sans);flex:180px}.av-trace-tabs{gap:4px;margin-left:auto;display:inline-flex}.av-trace-tabs button{min-height:27px;color:var(--soft);font:800 11px/1 var(--sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 8px}.av-trace-tabs button:hover,.av-trace-tabs button.active{border-color:var(--orange-200);background:var(--orange-50);color:var(--orange-d)}.av-trace-lines{overscroll-behavior:contain;background:color-mix(in srgb, var(--card) 88%, transparent);scrollbar-width:thin;max-height:152px;overflow:auto}.av-trace-line{min-width:0;color:var(--soft);font:12px/1.45 var(--mono);border-left:3px solid #0000;grid-template-columns:30px minmax(0,1fr);padding:5px 10px 5px 0;transition:background .16s,border-color .16s,color .16s;display:grid}.av-trace-line>span{color:var(--soft2);text-align:right;-webkit-user-select:none;user-select:none;padding-right:9px}.av-trace-line code{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;font:inherit}.av-trace-line.active{border-left-color:var(--algo-active-focus-border,var(--orange));background:var(--algo-active-focus-bg,var(--orange-50));color:var(--ink)}.av-trace-vars{border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap;gap:6px;min-height:36px;padding:8px 10px;display:flex}.av-trace-vars span{background:var(--bg2);color:var(--soft);font:650 11px/1.3 var(--mono);border-radius:6px;padding:4px 7px}.av-trace-vars span b{color:var(--orange-d)}.av-trace-vars .empty{font-family:var(--sans)}.av-beginner-coach{overscroll-behavior:contain;background:color-mix(in srgb, var(--card) 88%, transparent);scrollbar-width:thin;align-content:start;gap:8px;min-height:0;max-height:min(52vh,510px);padding:10px;display:grid;overflow:auto}.av-coach-title{align-items:center;gap:8px;padding:2px 2px 4px;display:flex}.av-coach-title>span{background:var(--orange-50);border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.av-coach-title strong,.av-coach-title small{display:block}.av-coach-title strong{color:var(--ink);font:800 13px/1.2 var(--sans)}.av-coach-title small{color:var(--soft);font:600 10.5px/1.3 var(--sans);margin-top:2px}.av-coach-card,.av-coach-memory,.av-coach-check,.av-coach-lecture{border:1px solid var(--line);background:var(--card-top);border-radius:9px;padding:8px 9px}.av-coach-lecture{border-left:3px solid var(--voice-transcript-accent,var(--orange));background:var(--voice-transcript-bg,color-mix(in srgb, var(--orange-50) 55%, var(--card-top)))}.av-coach-lecture>span,.av-coach-card>span,.av-coach-check>span{color:var(--orange-d);font:800 10px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;display:block}.av-coach-lecture>div{color:var(--ink);font:550 12px/1.62 var(--sans);white-space:pre-line}.av-coach-card>strong,.av-coach-check>strong{color:var(--ink);font:600 11.5px/1.55 var(--sans);white-space:pre-line;display:block}.av-coach-memory{border-color:var(--algo-comparison-highlight-border,var(--orange-200));background:var(--algo-comparison-highlight-bg,var(--orange-50))}.av-coach-memory>strong{color:var(--algo-comparison-highlight-fg,var(--orange-d));font:800 11px/1.35 var(--sans)}.av-coach-memory p{color:var(--ink);font:600 11px/1.45 var(--sans);margin:5px 0 0}.av-coach-check{border-style:dashed}.av-ctl .motion{font-size:17px}.av-ctl .motion.on{border-color:var(--orange-200);background:var(--orange-50);color:var(--orange-d)}.av-ctl .motion:disabled{opacity:.62;cursor:not-allowed}.av-dots{display:none}@media (width>=960px){.av.av-with-trace:not(.av-bare){flex-direction:column;align-items:stretch;display:flex}.av.av-with-trace:not(.av-bare)>*{width:100%;min-width:0;grid-area:auto!important}.av.av-with-trace:not(.av-bare)>.av-code-trace{flex-direction:column;align-self:stretch;min-height:0;margin:0;display:flex}.av.av-with-trace:not(.av-bare)>.av-code-trace .av-trace-lines{flex:auto;min-height:0;max-height:none}.av.av-with-trace:not(.av-bare)>.av-code-trace .av-beginner-coach{flex:auto;max-height:620px}.av.av-with-trace:not(.av-bare) .av-caption{min-height:52px;height:auto!important}.av.av-with-trace:not(.av-bare)>.av-chapters{padding-top:9px;padding-bottom:8px}.av.av-with-trace:not(.av-bare) .av-insight{padding-bottom:8px}.av.av-with-trace:not(.av-bare) .av-insight-item{padding-block:8px}.av.av-with-trace:not(.av-bare) .av-legend{padding-bottom:9px}}@container algo-player (width<=600px){.av-chapters{gap:7px;padding:10px 12px 9px}.av-chapter{min-height:44px;padding-inline:13px;font-size:12px}.av-insight{grid-template-columns:1fr;gap:6px;padding:0 12px 9px}.av-insight-item{grid-template-columns:86px minmax(0,1fr);align-items:start;gap:8px;padding:8px 9px;display:grid}.av-insight-item span{margin:2px 0 0}.av-legend{gap:7px 12px;padding:0 12px 10px}.av-code-trace{margin:10px 12px}.av-trace-head{padding:9px 10px}.av-trace-tabs{margin-left:0}.av-trace-line{font-size:11.5px}.av-ctl{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px}.av-ctl .prog{flex:calc(100% - 88px);order:-2;min-height:36px}.av-ctl .count{order:-1;align-self:center}.av-ctl button,.av-ctl .motion{width:44px;min-width:44px;height:44px;min-height:44px}.av-ctl .speed{width:auto;min-width:56px;padding-inline:11px}.av-ctl .focus{width:auto;min-height:44px;padding-inline:11px}}@media (prefers-reduced-motion:reduce){.av *,.av :before,.av :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg:#faf8f5;--bg-elevated:#fff;--bg-subtle:#f2efe9;--surface-hover:#e7e2d8;--surface-active:#dad3c5;--scrim:#0f172a8f;--bento-bg:#fff;--bento-border:#e2dcd0;--bento-border-hover:#818cf8;--bento-radius:16px;--bento-shadow:0 1px 2px #18181b0a, 0 4px 12px -2px #18181b0f, 0 0 0 1px #18181b08;--bento-shadow-hover:0 10px 24px -4px #4338ca1f, 0 4px 10px -2px #18181b0f, 0 0 0 1px #4338ca47;--btn-tactile-lip:#312e81;--btn-tactile-shadow:0 3px 0 var(--btn-tactile-lip), 0 4px 10px #4338ca33;--btn-tactile-shadow-hover:0 4px 0 var(--btn-tactile-lip), 0 6px 14px #4338ca42;--btn-tactile-shadow-active:0 1px 0 var(--btn-tactile-lip), 0 2px 4px #4338ca29;--btn-secondary-lip:#cfc7b8;--btn-secondary-shadow:0 2px 0 var(--btn-secondary-lip), 0 2px 6px #18181b0a;--btn-press-y:2px;--fg:#18181b;--fg-muted:#4b5563;--fg-soft:#52525b;--border:#e2dcd0;--border-strong:#b8b0a0;--brand-50:#eef2ff;--brand-100:#e0e7ff;--brand-200:#c7d2fe;--brand-300:#a5b4fc;--brand-400:#818cf8;--brand-500:#4f46e5;--brand-600:#4338ca;--brand-700:#3730a3;--brand-900:#1e1b4b;--on-brand:#fff;--brand-tint:#4338ca12;--brand-tint-strong:#4338ca26;--link:#4338ca;--focus-ring:#4338ca;--green:#0f766e;--green-bg:#f0fdfa;--green-fg:#115e59;--green-border:#5eead4;--amber:#b45309;--amber-bg:#fffbeb;--amber-fg:#78350f;--amber-border:#fcd34d;--red:#be123c;--rose-bg:#fff1f2;--rose-fg:#881337;--rose-border:#fda4af;--blue:#1d4ed8;--info-bg:#eff6ff;--info-fg:#1e3a8a;--info-border:#93c5fd;--blue-bg:var(--info-bg);--blue-fg:var(--info-fg);--blue-border:var(--info-border);--bento-hover-border:var(--bento-border-hover);--bento-hover-shadow:var(--bento-shadow-hover);--bento-hover-transform:translateY(-2px);--purple:#4338ca;--purple-bg:#eef2ff;--purple-fg:#312e81;--purple-border:#a5b4fc;--algo-idle-bg:#f2efe9;--algo-idle-fg:#18181b;--algo-idle-border:#d6d0c4;--algo-active-focus-bg:#e0e7ff;--algo-active-focus-fg:#1e1b4b;--algo-active-focus-border:#4338ca;--algo-active-focus-ring:#4338ca3d;--algo-active-focus-solid:#4338ca;--algo-comparison-highlight-bg:#fef3c7;--algo-comparison-highlight-fg:#78350f;--algo-comparison-highlight-border:#d97706;--algo-comparison-highlight-ring:#d977063d;--algo-comparison-highlight-solid:#d97706;--algo-swap-motion-bg:#ffe4e6;--algo-swap-motion-fg:#881337;--algo-swap-motion-border:#e11d48;--algo-swap-motion-ring:#e11d483d;--algo-swap-motion-solid:#e11d48;--algo-final-sorted-bg:#ccfbf1;--algo-final-sorted-fg:#115e59;--algo-final-sorted-border:#0d9488;--algo-final-sorted-ring:#0d94883d;--algo-final-sorted-solid:#0d9488;--callstack-depth-0:#4338ca;--callstack-depth-1:#0284c7;--callstack-depth-2:#0d9488;--callstack-depth-3:#d97706;--callstack-depth-4:#e11d48;--callstack-active-bg:#eef2ff;--callstack-active-border:#4338ca;--callstack-return-fg:#115e59;--voice-step-active-bg:#eef2ff;--voice-step-active-border:#4338ca;--voice-step-active-shadow:0 0 0 3px #4338ca29, 0 8px 20px -4px #4338ca24;--voice-transcript-bg:#f5f3ff;--voice-transcript-border:#4f46e5;--voice-transcript-highlight-bg:#fef3c7;--voice-transcript-highlight-fg:#78350f;--voice-scrubber-track:#ded8cc;--voice-scrubber-fill:linear-gradient(90deg, #4338ca 0%, #0d9488 100%);--voice-scrubber-thumb:#3730a3;--voice-scrubber-glow:#4338ca47;--voice-speaking-color:#0d9488;--voice-speaking-bg:#f0fdfa;--voice-speaking-border:#14b8a6;--voice-speaking-glow:#0d948842;--code-bg:#111622;--code-header-bg:#182032;--code-fg:#f1f5f9;--code-muted:#94a3b8;--code-border:#28354e;--font-display:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, ui-monospace, monospace;--leading-narrative:1.72;--leading-ui:1.4;--leading-code:1.6;--tracking-display:-.025em;--tracking-ui:-.01em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #18181b0a;--shadow-sm:0 1px 3px #18181b0d, 0 1px 2px #18181b0a;--shadow-md:0 4px 12px -2px #18181b12, 0 2px 6px -1px #18181b0a;--shadow-lg:0 12px 28px -4px #18181b1a, 0 4px 12px -2px #18181b0d;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-smooth:cubic-bezier(.4, 0, .2, 1);--ease-tactile:cubic-bezier(.22, 1, .36, 1);--duration-fast:.15s;--duration-normal:.24s;--duration-expressive:.38s;--transition-fast:var(--duration-fast) var(--ease-tactile);--transition-base:var(--duration-normal) var(--ease-out-expo);--transition-spring:var(--duration-expressive) var(--ease-spring);--bg2:var(--bg-subtle);--card:var(--bg-elevated);--card-top:var(--bg-subtle);--line:var(--border);--ink:var(--fg);--soft:var(--fg-muted);--soft2:var(--fg-soft);--orange-50:var(--brand-50);--orange-100:var(--brand-100);--orange-200:var(--brand-200);--orange:var(--brand-600);--orange-d:var(--brand-700);--orange-900:var(--brand-900);--ink-on-orange:var(--on-brand);--red-bg:var(--rose-bg);--accent:var(--amber);--accent-bg:var(--amber-bg);--shadow:var(--shadow-md);--sans:var(--font-sans);--mono:var(--font-mono);--r:var(--radius-md)}html.dark,html[data-theme=dark]{--bg:#0d111a;--bg-elevated:#151b28;--bg-subtle:#1d2536;--surface-hover:#263044;--surface-active:#323f58;--scrim:#020617c2;--bento-bg:#151b28;--bento-border:#263147;--bento-border-hover:#818cf8;--bento-shadow:0 2px 6px #00000059, 0 8px 24px -4px #00000073, inset 0 1px 0 #ffffff0a;--bento-shadow-hover:0 12px 28px -4px #0009, 0 0 0 1px #818cf866, inset 0 1px 0 #ffffff12;--btn-tactile-lip:#6366f1;--btn-tactile-shadow:0 3px 0 var(--btn-tactile-lip), 0 4px 12px #00000073;--btn-tactile-shadow-hover:0 4px 0 var(--btn-tactile-lip), 0 6px 16px #6366f152;--btn-tactile-shadow-active:0 1px 0 var(--btn-tactile-lip), 0 2px 4px #00000059;--btn-secondary-lip:#090d14;--btn-secondary-shadow:0 2px 0 var(--btn-secondary-lip), 0 2px 6px #00000059;--fg:#f8fafc;--fg-muted:#94a3b8;--fg-soft:#94a3b8;--border:#263147;--border-strong:#475569;--brand-50:#1c2438;--brand-100:#25304d;--brand-200:#314069;--brand-300:#6366f1;--brand-400:#818cf8;--brand-500:#a5b4fc;--brand-600:#a5b4fc;--brand-700:#c7d2fe;--brand-900:#eef2ff;--on-brand:#0d111a;--brand-tint:#a5b4fc17;--brand-tint-strong:#a5b4fc2e;--link:#a5b4fc;--focus-ring:#a5b4fc;--green:#2dd4bf;--green-bg:#14b8a629;--green-fg:#99f6e4;--green-border:#2dd4bf61;--amber:#fbbf24;--amber-bg:#f59e0b29;--amber-fg:#fde68a;--amber-border:#fbbf2461;--red:#fb7185;--rose-bg:#f43f5e29;--rose-fg:#fecdd3;--rose-border:#fb718561;--blue:#60a5fa;--info-bg:#3b82f629;--info-fg:#bfdbfe;--info-border:#60a5fa61;--blue-bg:var(--info-bg);--blue-fg:var(--info-fg);--blue-border:var(--info-border);--bento-hover-border:var(--bento-border-hover);--bento-hover-shadow:var(--bento-shadow-hover);--bento-hover-transform:translateY(-2px);--purple:#a5b4fc;--purple-bg:#6366f12e;--purple-fg:#e0e7ff;--purple-border:#a5b4fc61;--algo-idle-bg:#1d2536;--algo-idle-fg:#f8fafc;--algo-idle-border:#384661;--algo-active-focus-bg:#6366f13d;--algo-active-focus-fg:#e0e7ff;--algo-active-focus-border:#818cf8;--algo-active-focus-ring:#818cf852;--algo-active-focus-solid:#818cf8;--algo-comparison-highlight-bg:#f59e0b38;--algo-comparison-highlight-fg:#fef3c7;--algo-comparison-highlight-border:#fbbf24;--algo-comparison-highlight-ring:#fbbf244d;--algo-comparison-highlight-solid:#fbbf24;--algo-swap-motion-bg:#f43f5e38;--algo-swap-motion-fg:#ffe4e6;--algo-swap-motion-border:#fb7185;--algo-swap-motion-ring:#fb71854d;--algo-swap-motion-solid:#fb7185;--algo-final-sorted-bg:#14b8a638;--algo-final-sorted-fg:#ccfbf1;--algo-final-sorted-border:#2dd4bf;--algo-final-sorted-ring:#2dd4bf4d;--algo-final-sorted-solid:#2dd4bf;--callstack-depth-0:#818cf8;--callstack-depth-1:#38bdf8;--callstack-depth-2:#2dd4bf;--callstack-depth-3:#fbbf24;--callstack-depth-4:#fb7185;--callstack-active-bg:#6366f138;--callstack-active-border:#818cf8;--callstack-return-fg:#99f6e4;--voice-step-active-bg:#6366f12e;--voice-step-active-border:#818cf8;--voice-step-active-shadow:0 0 0 3px #818cf83d, 0 8px 22px -4px #00000080;--voice-transcript-bg:#6366f121;--voice-transcript-border:#818cf8;--voice-transcript-highlight-bg:#f59e0b38;--voice-transcript-highlight-fg:#fde68a;--voice-scrubber-track:#263147;--voice-scrubber-fill:linear-gradient(90deg, #818cf8 0%, #2dd4bf 100%);--voice-scrubber-thumb:#c7d2fe;--voice-scrubber-glow:#818cf859;--voice-speaking-color:#2dd4bf;--voice-speaking-bg:#14b8a629;--voice-speaking-border:#2dd4bf;--voice-speaking-glow:#2dd4bf52;--code-bg:#090d14;--code-header-bg:#111724;--code-fg:#f1f5f9;--code-muted:#94a3b8;--code-border:#263147;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 2px 4px #00000073;--shadow-md:0 6px 16px #0000008c;--shadow-lg:0 16px 36px #000000ad}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.container{max-width:1400px;margin:0 auto;padding:0 20px}.top-banner{background:var(--brand-600);color:var(--on-brand);text-align:center;letter-spacing:.01em;border-bottom:1px solid var(--border);padding:8px 16px;font-size:12.5px;font-weight:500}.top-banner a{color:var(--on-brand);text-underline-offset:3px;align-items:center;gap:6px;margin-left:8px;font-weight:700;text-decoration:underline;display:inline-flex}.site-header{z-index:50;background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand-logo{font-family:var(--font-display);letter-spacing:var(--tracking-display);flex-shrink:0;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand-badge{border-radius:var(--radius-sm);background:var(--brand-600);width:34px;height:34px;color:var(--on-brand);font-family:var(--font-display);box-shadow:0 2px 0 var(--btn-tactile-lip);place-items:center;font-size:15px;font-weight:900;display:grid}.brand-sub{border-radius:var(--radius-xs);background:var(--brand-50);color:var(--fg);border:1px solid var(--border-strong);padding:2px 7px;font-size:11px;font-weight:600}.nav-links{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{border-radius:var(--radius-sm);color:var(--fg-muted);white-space:nowrap;transition:all var(--transition-fast);align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:600;display:inline-flex}.nav-link:hover{color:var(--fg);background:var(--bg-subtle)}.nav-link.active{color:var(--link);background:var(--brand-50)}.nav-pill-hot{background:var(--rose-bg);color:var(--rose-fg);border:1px solid var(--rose-border);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.search-trigger{border:1px solid var(--border);background:var(--bg-subtle);height:36px;color:var(--fg-muted);transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.search-trigger:hover{border-color:var(--brand-300);color:var(--fg)}.search-kbd{font-size:11px;font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg-soft);border-radius:5px;padding:1px 6px}.theme-btn{border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--fg-muted);box-shadow:var(--btn-secondary-shadow);transition:all var(--transition-fast);border-radius:999px;place-items:center;font-size:16px;display:grid}.theme-btn:hover{border-color:var(--brand-300);color:var(--link);background:var(--brand-50)}.theme-btn:active{transform:translateY(var(--btn-press-y));box-shadow:none}.hero-section{border-bottom:1px solid var(--border);background:var(--bg);padding:40px 0 48px}.hero-grid{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (width>=1060px){.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}}.hero-eyebrow{border-radius:var(--radius-pill);background:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-700);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.hero-title{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:16px 0 14px;font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.15}.hero-title .grad{color:var(--link);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--brand-300);text-decoration-color:var(--brand-300)}.hero-desc{color:var(--fg-muted);font-size:16px;line-height:var(--leading-narrative);margin:0 0 24px}.hero-ctas{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.btn-primary{border-radius:var(--radius-sm);background:var(--brand-600);color:var(--on-brand);border:1px solid var(--brand-600);box-shadow:var(--btn-tactile-shadow);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);align-items:center;gap:8px;padding:11px 20px;font-size:14.5px;font-weight:700;display:inline-flex}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700);color:var(--on-brand);box-shadow:var(--btn-tactile-shadow-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(var(--btn-press-y));box-shadow:var(--btn-tactile-shadow-active)}.btn-secondary{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border-strong);box-shadow:var(--btn-secondary-shadow);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);align-items:center;gap:8px;padding:11px 18px;font-size:14.5px;font-weight:600;display:inline-flex}.btn-secondary:hover{border-color:var(--brand-400);color:var(--fg);background:var(--bg-subtle);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(var(--btn-press-y));box-shadow:var(--shadow-xs)}.hero-stats{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:12px;padding-top:20px;display:grid}.stat-item b{font-family:var(--font-display);color:var(--fg);font-size:22px;font-weight:800;display:block}.stat-item span{color:var(--fg-muted);font-size:12px}.player-card{background:var(--bento-bg);border:1.5px solid var(--bento-border);border-radius:var(--bento-radius);box-shadow:var(--bento-shadow);overflow:hidden}.player-card-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.demo-tabs{flex-wrap:wrap;gap:6px;display:flex}.demo-tab{border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg-muted);transition:all var(--transition-fast);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.demo-tab:hover{border-color:var(--brand-300);color:var(--fg)}.demo-tab.active{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600);box-shadow:0 2px 0 var(--btn-tactile-lip)}.viz-mount-box{background:var(--bg);min-height:440px;padding:12px}.section-block{border-bottom:1px solid var(--border);padding:48px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.section-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--link);margin-bottom:4px;font-size:12px;font-weight:800}.section-title{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:0;font-size:24px;font-weight:800}.section-sub{color:var(--fg-muted);font-size:14.5px;line-height:var(--leading-narrative);margin:6px 0 0}.grid-4{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.card{background:var(--bento-bg);border:1.5px solid var(--bento-border);border-radius:var(--bento-radius);box-shadow:var(--bento-shadow);transition:transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);flex-direction:column;justify-content:space-between;padding:20px;display:flex}.card:hover{border-color:var(--bento-border-hover);box-shadow:var(--bento-shadow-hover);transform:translateY(-2px)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge-easy{background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border)}.badge-medium{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border)}.badge-hard{background:var(--rose-bg);color:var(--rose-fg);border:1px solid var(--rose-border)}.badge-brand{background:var(--brand-50);color:var(--link);border:1px solid var(--brand-200)}.badge-muted{background:var(--bg-subtle);color:var(--fg-muted);border:1px solid var(--border)}.catalog-toolbar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:14px;margin-bottom:24px;padding:18px;display:flex}.toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.search-input-wrap{flex:1;min-width:260px;position:relative}.search-input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);width:100%;height:42px;color:var(--fg);outline:none;padding:0 14px 0 38px;font-size:14px;transition:border-color .15s}.search-input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.search-icon{color:var(--fg-soft);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-pills{flex-wrap:wrap;gap:8px;display:flex}.filter-pill{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;transition:all .15s}.filter-pill:hover{border-color:var(--brand-300);color:var(--fg)}.filter-pill.active{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600)}.course-layout{grid-template-columns:1fr;gap:24px;padding:28px 0 60px;display:grid}@media (width>=980px){.course-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}}.course-sidebar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);max-height:calc(100vh - 100px);padding:16px;position:sticky;top:80px;overflow-y:auto}.sidebar-lesson-btn{border-radius:var(--radius-sm);width:100%;color:var(--fg-muted);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.sidebar-lesson-btn:hover{background:var(--bg-subtle);color:var(--fg)}.sidebar-lesson-btn.active{background:var(--brand-50);color:var(--link);font-weight:700}.article-box{background:var(--bento-bg);border:1.5px solid var(--bento-border);border-radius:var(--bento-radius);box-shadow:var(--bento-shadow);margin-top:24px;padding:24px}.article-box h2{font-family:var(--font-display);letter-spacing:var(--tracking-display);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin:0 0 14px;padding-bottom:10px;font-size:19px;font-weight:800;display:flex}.step-trace-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.step-trace-card{border:1.5px solid var(--border);background:var(--bg);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);padding:13px 15px}.step-trace-card:hover{border-color:var(--bento-border-hover);background:var(--voice-step-active-bg);transform:translateY(-1px)}.step-trace-card.is-active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg);box-shadow:var(--voice-step-active-shadow)}.step-trace-head{color:var(--link);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px;font-weight:700;display:flex}.step-trace-body{color:var(--fg);font-size:13.5px;line-height:var(--leading-narrative)}.step-trace-body .em,.article-box .em{color:var(--link);font-weight:700}.step-trace-body .ok,.article-box .ok{color:var(--green-fg);font-weight:700}.step-trace-body .bad,.article-box .bad{color:var(--rose-fg);font-weight:700}.step-narrative{padding:22px}.step-narrative-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.step-narrative h2{border:0;margin:0 0 6px;padding:0}.step-narrative-heading p{color:var(--fg-muted);margin:0;font-size:13.5px;line-height:1.55}.step-narrative-heading>span{background:var(--brand-50);color:var(--link);border-radius:999px;flex:none;padding:5px 9px;font-size:11.5px;font-weight:800}.step-narrative-groups{gap:20px;display:grid}.step-narrative-group>h3{color:var(--fg);align-items:center;gap:8px;margin:0 0 9px;font-size:13px;font-weight:800;display:flex}.step-narrative-group>h3:before{background:var(--brand-500);width:8px;height:8px;box-shadow:0 0 0 4px var(--brand-50);content:"";border-radius:50%}.step-narrative-group>h3 small{color:var(--fg-muted);font-size:11px;font-weight:700}.step-narrative .step-trace-grid{margin:0;padding:0;list-style:none}.step-narrative .step-trace-card{flex-direction:column;min-width:0;min-height:176px;padding:18px;display:flex;position:relative;overflow:hidden}.step-narrative .step-trace-head{letter-spacing:.035em;text-transform:uppercase;margin:0 0 7px;font-size:10.5px}.step-narrative .step-trace-card>strong{color:var(--fg);font-size:14px;line-height:1.4}.step-narrative .step-trace-card p{margin:7px 0 0;font-size:12.5px;line-height:1.55}.step-narrative .step-trace-change{color:var(--fg);font-weight:650}.step-narrative .step-trace-why{color:var(--fg-muted);white-space:pre-line;line-height:1.65}.step-narrative .step-trace-lecture{border-radius:var(--radius-sm);border-left:3px solid var(--voice-transcript-border);background:var(--voice-transcript-bg);color:var(--fg);font-size:13px;line-height:var(--leading-narrative);white-space:pre-line;overflow-wrap:anywhere;margin-top:10px;padding:10px 12px}.step-narrative .step-trace-lecture strong,.step-narrative .step-trace-lecture>span{color:var(--brand-700);letter-spacing:.02em;text-transform:uppercase;margin-bottom:4px;font-size:11.5px;font-weight:800;display:block}.step-narrative .step-trace-lecture p{font-size:13px;line-height:var(--leading-narrative);color:var(--fg);margin:0}.beginner-foundation-box,.radio-guide-box{border:1.5px solid var(--bento-border);border-left:4px solid var(--brand-500);border-radius:var(--bento-radius);background:var(--bento-bg);box-shadow:var(--bento-shadow);margin:18px 0 22px;padding:22px 24px}.radio-guide-box .beginner-card:nth-child(3),.radio-guide-box .beginner-card:nth-child(4){grid-column:auto}.radio-sub-block>h3{color:var(--fg);margin:16px 0 10px;font-size:16.5px;font-weight:800}.beginner-foundation-header,.beginner-foundation-head{margin-bottom:16px}.beginner-foundation-header .section-eyebrow,.beginner-foundation-head span{background:color-mix(in srgb, var(--brand-500) 12%, transparent);color:var(--brand-700);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:800;display:inline-block}.beginner-foundation-header h2,.beginner-foundation-head h2{color:var(--fg);margin:8px 0 6px;font-size:20px}.beginner-foundation-header p,.beginner-foundation-head p{color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.beginner-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.beginner-card{border:1px solid var(--border);background:var(--bg);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:16px 18px}.beginner-card:nth-child(3),.beginner-card:nth-child(4),.beginner-card-wide{grid-column:1/-1}.beginner-card h3{color:var(--fg);margin:0 0 10px;font-size:15.5px;line-height:1.4}.beginner-card p{color:var(--fg);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;line-height:1.7}.beginner-card ul,.beginner-card ol{color:var(--fg);gap:8px;margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.68;display:grid}.beginner-card li{white-space:pre-line;overflow-wrap:anywhere}.beginner-code-walk{background:0 0;border:0;gap:10px;margin-top:10px;padding:0;display:grid}.beginner-code-walk-item{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:7px;min-width:0;padding:12px 14px;display:flex}.beginner-code-walk-item code{background:color-mix(in srgb, var(--brand-500) 9%, var(--bg));border-left:3px solid var(--brand-500);color:var(--brand-700);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:7px;padding:7px 11px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;line-height:1.5;display:block}.beginner-code-walk-item p,.beginner-code-walk-item div{color:var(--fg);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}@media (width<=920px){.beginner-foundation-grid{grid-template-columns:1fr}}.step-narrative .step-trace-card button{color:var(--link);cursor:pointer;font:800 12px/1.3 var(--font-sans,Inter, sans-serif);background:0 0;border:0;align-self:flex-start;margin-top:auto;padding:7px 0 0}.step-narrative .step-trace-card button:hover{color:var(--brand-700);text-decoration:underline}.step-narrative .step-trace-card button:focus-visible{outline:2px solid var(--brand-500);outline-offset:3px;border-radius:3px}.lesson-learning-workspace{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:24px;margin-top:24px;display:grid}.lesson-learning-workspace .lesson-viz-section,.lesson-learning-workspace .step-narrative{min-width:0;margin:0}.lesson-learning-workspace .step-narrative{overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;max-height:min(1000px,100vh - 28px);overflow:auto}.lesson-learning-workspace .step-narrative-heading{z-index:2;background:var(--bg-elevated);padding:1px 0 13px;position:sticky;top:0}@media (width>=1121px){.lesson-learning-workspace .lesson-viz-section{position:sticky;top:16px}.lesson-learning-workspace .av:not(.av-bare){flex-direction:column;align-items:stretch;display:flex}.lesson-learning-workspace .av:not(.av-bare)>*{width:100%;min-width:0;grid-area:auto!important}.lesson-learning-workspace .av-code-trace{grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;margin:0;display:grid}.lesson-learning-workspace .av-code-trace[hidden]{display:none}.lesson-learning-workspace .av-trace-lines{min-height:0;max-height:none}}@media (width<=1120px){.lesson-learning-workspace{grid-template-columns:1fr}.lesson-learning-workspace .step-narrative{max-height:none;overflow:visible}.lesson-learning-workspace .step-narrative-heading{position:static}}@media (width<=640px){.step-narrative{padding:17px}.step-narrative-heading{display:block}.step-narrative-heading>span{margin-top:9px;display:inline-block}.step-narrative .step-trace-grid{grid-template-columns:1fr}.step-narrative .step-trace-card{min-height:0}}.code-tabs-bar{background:var(--code-header-bg);border-bottom:1px solid var(--code-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;gap:6px;padding:10px 14px;display:flex}.code-tab-btn{border-radius:var(--radius-xs);border:1px solid var(--code-border);background:var(--code-bg);color:var(--code-muted);padding:5px 12px;font-size:12.5px;font-weight:600}.code-tab-btn.active{background:var(--code-fg);color:var(--code-bg);border-color:var(--code-fg)}.code-pre{background:var(--code-bg);color:var(--code-fg);font-family:var(--font-mono);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin:0;padding:16px;font-size:13.5px;line-height:1.7;overflow-x:auto}.code-pre .hl-line{border-left:3px solid var(--code-fg);background:#fafafa14;margin:0 -16px;padding:0 16px;display:block}.modal-backdrop{z-index:100;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:flex-start;padding:70px 16px 20px;display:flex;position:fixed;inset:0}.modal-backdrop[hidden]{display:none!important}.search-modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-lg);overflow:hidden}.search-modal-results{max-height:420px;padding:8px;overflow-y:auto}.search-result-item{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.search-result-item:hover{background:var(--brand-50)}.site-footer{background:var(--bg-elevated);border-top:1px solid var(--border);color:var(--fg-muted);padding:36px 0;font-size:13.5px}.problem-intuition-grid{grid-template-columns:1fr;gap:20px;margin-bottom:24px;display:grid}@media (width>=980px){.problem-intuition-grid{grid-template-columns:7fr 5fr;align-items:stretch}}.study-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:22px 24px}.study-panel-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--link);align-items:center;gap:6px;margin-bottom:6px;font-size:11.5px;font-weight:800;display:flex}.study-panel h2{color:var(--fg);margin:0 0 12px;font-size:18.5px;font-weight:800}.example-box{background:var(--bg-subtle);border:1px solid var(--border);border-left:3px solid var(--brand-500);border-radius:var(--radius-sm);margin-top:10px;padding:10px 14px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6}.intuition-panel{background:var(--bg-subtle);border:1px solid var(--border-strong);flex-direction:column;justify-content:space-between;display:flex}.pitfall-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:16px;display:flex}.pitfall-wrong{color:var(--rose-fg);background:var(--rose-bg);border:1px solid var(--rose-border);border-radius:6px;padding:8px 11px;font-size:14px;font-weight:700}.pitfall-right{color:var(--green-fg);background:var(--green-bg);border:1px solid var(--green-border);border-radius:6px;padding:8px 11px;font-size:14px;font-weight:700}.pitfall-why{color:var(--fg-muted);padding-top:4px;font-size:13px;line-height:1.6}.quiz-option-btn{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);width:100%;color:var(--fg);align-items:center;gap:10px;margin-bottom:8px;padding:11px 14px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.quiz-option-btn:hover{border-color:var(--brand-400);background:var(--brand-50)}.quiz-option-btn.correct{background:var(--green-bg);border-color:var(--green-fg);color:var(--green-fg)}.quiz-option-btn.wrong{background:var(--rose-bg);border-color:var(--rose-fg);color:var(--rose-fg)}.portal-article-content{color:var(--fg);overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.75}.portal-article-content [id^=S\:][hidden]{display:block!important}.portal-article-content h1{margin:0 0 12px;font-size:24px;font-weight:900;line-height:1.3}.portal-article-content h2{border-bottom:1px solid var(--border);margin:28px 0 12px;padding-bottom:8px;font-size:19px;font-weight:800}.portal-article-content h3{margin:16px 0 8px;font-size:16.5px;font-weight:700}.portal-article-content p{margin:0 0 14px}.portal-article-content ul,.portal-article-content ol{margin:0 0 16px;padding-left:22px}.portal-article-content li{margin-bottom:6px}.portal-article-content img{border:1px solid var(--border);border-radius:12px;max-width:100%;height:auto;margin:14px 0;display:block}.portal-article-content blockquote{border-left:4px solid var(--brand-500);background:var(--bg-subtle);border-radius:0 10px 10px 0;margin:16px 0;padding:12px 16px}.portal-article-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}.portal-article-content th,.portal-article-content td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.portal-article-content th{background:var(--bg-subtle);font-weight:700}.portal-article-content pre{background:var(--code-bg);color:var(--code-fg);border-radius:var(--radius-sm);font-family:var(--font-mono);margin:14px 0;padding:16px;font-size:13px;line-height:1.65;overflow-x:auto}.portal-article-content code{background:var(--bg-subtle);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.9em}.portal-article-content pre code{background:0 0;padding:0}.portal-article-content a{color:var(--link);font-weight:600}.portal-article-content a:hover{text-decoration:underline}.portal-article-content nav[aria-label=Đường\ dẫn],.portal-article-content nav[aria-label=phía\ bao]{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;font-size:13px;display:flex}.portal-article-content .grid{gap:16px;display:grid}.portal-article-content .md\:grid-cols-2,.portal-article-content .sm\:grid-cols-2,.portal-article-content .sm\:grid-cols-3,.portal-article-content .xl\:grid-cols-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portal-article-content a.rounded-card,.portal-article-content a.group{border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:14px;flex-direction:column;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.portal-article-content a.rounded-card:hover,.portal-article-content a.group:hover{border-color:var(--brand-500);box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-2px)}.portal-article-content a.rounded-card h2,.portal-article-content a.rounded-card h3,.portal-article-content a.group h2,.portal-article-content a.group h3{color:var(--fg);border-bottom:0;margin:10px 0 8px;padding-bottom:0}.portal-article-content a.rounded-card p,.portal-article-content a.group p{color:var(--fg-muted);font-weight:400}.portal-article-content .rounded-pill{background:color-mix(in srgb, var(--brand-500) 12%, transparent);color:var(--brand-700);border-radius:999px;margin-right:6px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.portal-article-content aside.rounded-card{border:1px solid var(--border);border-left:4px solid var(--brand-500);background:var(--bg-subtle);border-radius:12px;margin-top:24px;padding:18px 20px}#ws-tutor{font-family:var(--sans,Inter, -apple-system, BlinkMacSystemFont, sans-serif);color:var(--ink,var(--fg))}.wt-fab{z-index:90;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--card,var(--bg-elevated));color:var(--ink,var(--fg));box-shadow:var(--shadow-md);cursor:pointer;align-items:center;gap:10px;padding:8px 16px 8px 10px;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s;display:inline-flex;position:fixed;bottom:22px;right:22px}.wt-fab:hover{border-color:var(--orange);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.wt-fab.on{opacity:0;pointer-events:none;transform:translateY(12px)scale(.95)}.wt-fab-ic{border-radius:var(--radius-sm);background:var(--orange);width:36px;height:36px;color:var(--ink-on-orange);box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:inline-flex}.wt-fab-tx{color:var(--ink,var(--fg));flex-direction:column;align-items:flex-start;font-size:14px;font-weight:800;line-height:1.2;display:flex}.wt-fab-tx small{color:var(--soft,var(--fg-muted));margin-top:2px;font-size:11px;font-weight:600}.wt-fab-dot{background:var(--green);color:#fff;border:2px solid var(--card);min-width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:-5px;right:-4px}.wt-fab-dot[hidden]{display:none!important}.wt-nudge{z-index:91;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--card);max-width:300px;box-shadow:var(--shadow-lg);opacity:0;flex-direction:column;gap:8px;padding:12px 14px;transition:opacity .22s,transform .22s;display:flex;position:fixed;bottom:84px;right:22px;transform:translateY(10px)}.wt-nudge.in{opacity:1;transform:translateY(0)}.wt-nudge-x{color:var(--soft2);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px;position:absolute;top:6px;right:8px}.wt-nudge-tx{color:var(--ink,var(--fg));padding-right:16px;font-size:13px;font-weight:600;line-height:1.45}.wt-nudge-go{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);cursor:pointer;border:0;align-self:flex-start;padding:5px 12px;font-size:12px;font-weight:800}.wt-drawer{z-index:95;background:var(--card,var(--bg-elevated));border-left:1px solid var(--line,var(--border));width:420px;max-width:100vw;box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .26s cubic-bezier(.22,.61,.36,1),width .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(104%)}.wt-drawer.open{transform:translate(0)}.wt-drawer.wide{width:min(54vw,740px)}@media (width<=760px){.wt-drawer,.wt-drawer.wide{width:100vw}.wt-fab{padding:7px 13px 7px 8px;bottom:14px;right:14px}.wt-fab-tx small{display:none}}.wt-head{background:var(--card-top,var(--bg-subtle));border-bottom:1px solid var(--line,var(--border));flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.wt-ava{border-radius:var(--radius-sm);background:var(--orange);width:34px;height:34px;color:var(--ink-on-orange);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:inline-flex}.wt-ttl{min-width:0;color:var(--ink,var(--fg));flex-direction:column;flex:1;font-size:14px;font-weight:800;line-height:1.25;display:flex}.wt-ttl small{color:var(--soft,var(--fg-muted));white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.wt-quota{background:var(--orange-50,#f5f3ff);border:1px solid var(--orange-200,#c4b5fd);color:var(--orange-d,#6a5be0);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;display:inline-flex}.wt-quota[hidden]{display:none!important}.wt-qmore{color:var(--purple,#7c6fe8);cursor:pointer;margin-left:4px;font-weight:800}.wt-reset,.wt-expand,.wt-x{border:1px solid var(--line,var(--border));background:var(--card,var(--bg));color:var(--soft,var(--fg-muted));cursor:pointer;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0 9px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.wt-expand,.wt-x{width:30px;padding:0}.wt-reset:hover,.wt-expand:hover,.wt-x:hover{border-color:var(--orange,#7c6fe8);color:var(--ink,var(--fg))}.wt-steps{background:var(--card-top,var(--bg-subtle));border-bottom:1px solid var(--line,var(--border));scrollbar-width:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.wt-steps::-webkit-scrollbar{display:none}.wt-steps-row{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.wt-step{cursor:default;flex-direction:column;align-items:center;gap:3px;min-width:34px;display:flex}.wt-dot{border:1.5px solid var(--line,var(--border));background:var(--card,var(--bg));width:22px;height:22px;color:var(--soft,var(--fg-muted));border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex}.wt-slab{color:var(--soft2,#94a3b8);white-space:nowrap;font-size:10px;font-weight:700;line-height:1}.wt-step.cur .wt-dot{border-color:var(--orange);background:var(--orange-50);color:var(--orange-d);box-shadow:0 0 0 2px var(--brand-tint-strong)}.wt-step.cur .wt-slab{color:var(--orange-d);font-weight:800}.wt-step.done .wt-dot{border-color:var(--green);background:var(--green);color:#fff}.wt-step.done .wt-slab{color:var(--green)}@keyframes wtStepPop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.wt-step.just .wt-dot{animation:.55s cubic-bezier(.22,.61,.36,1) wtStepPop}.wt-seg{background:var(--line,var(--border));flex:1;min-width:4px;max-width:12px;height:1.5px;margin-bottom:13px}.wt-steps-go{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);border:1px solid var(--orange-200);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:11.5px;font-weight:800;transition:all .15s}.wt-steps-go:hover{background:var(--orange);color:var(--ink-on-orange)}.wt-steps-done{background:var(--green-bg,#eaf6ee);color:var(--green,#16a34a);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11.5px;font-weight:800}.wt-chat{background:var(--bg,#f8fafc);flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.wt-quick{flex-direction:column;gap:10px;display:flex}.wt-welcome{color:var(--soft,var(--fg-muted));font-size:13.5px;line-height:1.5}.wt-welcome b{color:var(--ink,var(--fg))}.wt-pills{flex-wrap:wrap;gap:7px;display:flex}.wt-pill{border:1px solid var(--orange-200,#c4b5fd);background:var(--orange-50,#f5f3ff);color:var(--orange-d,#6a5be0);cursor:pointer;text-align:left;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;transition:all .15s}.wt-pill:hover{background:var(--orange-100,#ede9fe);border-color:var(--orange,#7c6fe8);transform:translateY(-1px)}.wt-coachcard{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-subtle);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:14px 15px;display:flex}.wt-cc-h{color:var(--orange-d);align-items:center;gap:6px;font-size:14px;display:flex}.wt-cc-ic{color:var(--orange);display:inline-flex}.wt-cc-d{color:var(--soft,var(--fg-muted));font-size:13px;line-height:1.55}.wt-cc-d b{color:var(--ink,var(--fg))}.wt-cc-btn{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);cursor:pointer;box-shadow:var(--shadow-sm);border:0;align-self:flex-start;margin-top:2px;padding:7px 14px;font-size:12.5px;font-weight:800;transition:filter .15s,transform .15s}.wt-cc-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.wt-b{align-items:flex-start;gap:8px;max-width:100%;display:flex}.wt-b.wt-ai{flex-wrap:wrap}.wt-b.wt-user{justify-content:flex-end}.wt-av{border-radius:var(--radius-xs);background:var(--orange);width:26px;height:26px;color:var(--ink-on-orange);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:12px;font-weight:800;display:inline-flex}.wt-b .wt-tx{border-radius:var(--radius-md);overflow-wrap:anywhere;max-width:calc(100% - 36px);padding:10px 13px;font-size:13.5px;line-height:1.65}.wt-b.wt-ai .wt-tx{background:var(--card);border:1px solid var(--line,var(--border));color:var(--ink,var(--fg));border-top-left-radius:2px}.wt-b.wt-user .wt-tx{background:var(--orange);color:var(--ink-on-orange);border-top-right-radius:2px}.wt-b .wt-tx code{font-family:var(--mono);border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);padding:1px 5px;font-size:12.5px}.wt-b.wt-user .wt-tx code{color:var(--ink-on-orange);background:#7f7f7f40}.wt-tx .wt-md-h{color:var(--orange-d,#6a5be0);border-bottom:1px dashed var(--line,var(--border));margin:4px 0 6px;padding-bottom:5px;font-size:14px;font-weight:800;line-height:1.4}.wt-tx .wt-md-h:first-child{margin-top:0}.wt-tx .wt-md-p{margin:0 0 6px;line-height:1.65}.wt-tx .wt-md-p:last-child{margin-bottom:0}.wt-tx .wt-md-gap{height:6px}.wt-tx .wt-md-li{align-items:flex-start;gap:8px;margin:5px 0;line-height:1.6;display:flex}.wt-tx .wt-md-bul{color:var(--orange,#7c6fe8);flex-shrink:0;font-weight:900;line-height:1.5}.wt-tx .wt-md-num{color:var(--orange-d,#6a5be0);flex-shrink:0;min-width:18px;font-size:12.5px;font-weight:800;line-height:1.6}.wt-tx .wt-md-litx{flex:1;min-width:0}.wt-tx .wt-md-quote{border-left:3px solid var(--orange,#7c6fe8);background:var(--orange-50,#f5f3ff);color:var(--ink,var(--fg));border-radius:9px;margin:8px 0;padding:9px 12px;font-size:13px;line-height:1.6}.wt-tx .wt-md-pre{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);margin:8px 0;padding:10px 12px;font-size:12px;line-height:1.55;overflow-x:auto}.wt-tx .wt-md-pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.wt-tx .wt-md-hr{border:0;border-top:1px solid var(--line,var(--border));margin:8px 0}@keyframes wtDotPulse{0%,80%,to{opacity:.45;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}.wt-typing .wt-tx{align-items:center;gap:5px;padding:12px 15px;display:inline-flex}.wt-typing .wt-tx i{background:var(--orange,#7c6fe8);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite wtDotPulse;display:inline-block}.wt-typing .wt-tx i:nth-child(2){animation-delay:.18s}.wt-typing .wt-tx i:nth-child(3){animation-delay:.36s}.wt-stepref{background:var(--orange-50,#f5f3ff);border:1px solid var(--orange-200,#c4b5fd);color:var(--orange-d,#6a5be0);cursor:pointer;border-radius:6px;align-items:center;margin:0 2px;padding:0 6px;font-size:12.5px;font-weight:800;text-decoration:none;display:inline-flex}.wt-stepref:hover{background:var(--orange);color:var(--ink-on-orange)}.wt-refs{flex-wrap:wrap;gap:6px;width:100%;margin-top:6px;padding-left:34px;display:flex}.wt-refchip{border-radius:var(--radius-xs);border:1px solid var(--orange-200);background:var(--orange-50);color:var(--orange-d);cursor:pointer;padding:5px 11px;font-size:12px;font-weight:700;transition:all .15s}.wt-refchip:hover{background:var(--orange);color:var(--ink-on-orange)}.wt-refstale{color:var(--soft2,#94a3b8);font-size:11.5px;font-style:italic}.wt-tickbadge{background:var(--green-bg,#eaf6ee);color:var(--ink,var(--fg));border:1px solid #16a34a4d;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 13px;font-size:13px;display:flex}.wt-tickb-ic{background:var(--green,#16a34a);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:900;display:inline-flex}.wt-tickb-tx{flex-direction:column;gap:2px;line-height:1.45;display:flex}.wt-tickb-tx b{color:var(--green,#16a34a)}.wt-tickb-val{color:var(--soft,var(--fg-muted));font-size:12px}.wt-quiz{border:1px solid var(--line,var(--border));background:var(--card,#fff);border-radius:13px;flex-direction:column;gap:10px;margin-left:34px;padding:13px 14px;display:flex}.wt-q-stem{color:var(--ink,var(--fg));font-size:13.5px;font-weight:700;line-height:1.5}.wt-opts{flex-direction:column;gap:7px;display:flex}.wt-opt{border:1px solid var(--line,var(--border));background:var(--bg,#f8fafc);width:100%;color:var(--ink,var(--fg));text-align:left;cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px 11px;font-size:13px;transition:all .15s;display:flex}.wt-opt:hover:not(.lock){border-color:var(--orange,#7c6fe8);background:var(--orange-50,#f5f3ff)}.wt-opt.lock{cursor:default}.wt-opt.right{border-color:var(--green,#16a34a);background:var(--green-bg,#eaf6ee);color:var(--green,#16a34a);font-weight:700}.wt-opt.wrong{border-color:var(--red,#ef4444);background:var(--red-bg,#fcecec);color:var(--red,#ef4444)}.wt-k{background:var(--card,#fff);border:1px solid var(--line,var(--border));border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11.5px;font-weight:800;display:inline-flex}.wt-ex{border-radius:8px;padding:8px 11px;font-size:12.5px;line-height:1.5}.wt-ex.ok{background:var(--green-bg,#eaf6ee);color:var(--green,#16a34a)}.wt-ex.bad{background:var(--red-bg,#fcecec);color:var(--red,#ef4444)}.wt-grad{border-radius:var(--radius-md);background:var(--green-bg);border:1px solid var(--green-border);color:var(--ink,var(--fg));padding:13px 15px;font-size:13.5px;font-weight:700;line-height:1.55}.wt-grad-copy{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);cursor:pointer;border:0;margin-top:8px;padding:6px 13px;font-size:12px;font-weight:800}.wt-gate{border-radius:var(--radius-md);border:1px solid var(--orange-200);background:var(--orange-50);flex-direction:column;gap:10px;padding:14px;display:flex}.wt-gate-tx{color:var(--ink,var(--fg));font-size:13px}.wt-gate-btn{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);cursor:pointer;border:0;align-self:flex-start;padding:7px 14px;font-size:12.5px;font-weight:800}.wt-input{background:var(--card,var(--bg-elevated));border-top:1px solid var(--line,var(--border));flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}#wt-ta{resize:none;border:1px solid var(--line,var(--border));border-radius:var(--radius-sm);background:var(--bg);min-width:0;color:var(--ink,var(--fg));outline:none;flex:1;max-height:96px;padding:8px 11px;font-family:inherit;font-size:13.5px;line-height:1.45}#wt-ta:focus{border-color:var(--orange);box-shadow:0 0 0 2px var(--brand-tint-strong)}.wt-send{border-radius:var(--radius-sm);background:var(--orange);height:36px;color:var(--ink-on-orange);cursor:pointer;border:0;flex-shrink:0;padding:0 15px;font-size:13px;font-weight:800}.wt-send:hover{filter:brightness(1.06)}.wt-ainote{background:var(--card,var(--bg-elevated));color:var(--soft2);text-align:center;flex-shrink:0;padding:4px 12px 8px;font-size:11px}@keyframes wtSectionHighlight{0%{box-shadow:0 0 #0000}30%{box-shadow:0 0 0 3px var(--brand-tint-strong)}to{box-shadow:0 0 #0000}}.wt-sec-flash{animation:1.6s wtSectionHighlight}@keyframes voiceSpeakingPulse{0%,to{box-shadow:0 0 0 2px var(--voice-speaking-border), 0 0 0 5px var(--voice-speaking-glow)}50%{box-shadow:0 0 0 2px var(--voice-speaking-border), 0 0 0 9px transparent}}.fsd-audio-studio{border:1.5px solid var(--bento-border);border-radius:var(--bento-radius);background:var(--bento-bg);box-shadow:var(--bento-shadow);margin-bottom:24px}.fsd-audio-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.fsd-audio-header h2{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:4px 0 6px}.fsd-audio-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.fsd-audio-mode-tab{text-align:left;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-subtle);color:var(--fg);cursor:pointer;box-shadow:var(--btn-secondary-shadow);transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:flex-start;gap:5px;padding:14px 16px;display:flex}.fsd-audio-mode-tab:hover{border-color:var(--bento-border-hover);transform:translateY(-1px)}.fsd-audio-mode-tab:active{transform:translateY(var(--btn-press-y));box-shadow:var(--shadow-xs)}.fsd-audio-mode-tab strong{font-family:var(--font-display);font-size:14.5px;line-height:1.35}.fsd-audio-mode-tab span{color:var(--fg-muted);font-size:12.5px;line-height:1.45}.fsd-audio-mode-tab.active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg);box-shadow:var(--voice-step-active-shadow)}.fsd-audio-controls{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.fsd-audio-btn-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fsd-audio-options{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fsd-audio-sync-toggle{color:var(--fg-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.fsd-audio-speed{border-radius:var(--radius-xs);border:1px solid var(--border);display:inline-flex;overflow:hidden}.fsd-audio-speed button{background:var(--bg-elevated);color:var(--fg-muted);cursor:pointer;border:0;padding:5px 10px;font-size:12px;font-weight:700}.fsd-lecture-workspace{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;display:grid}.fsd-lecture-tracklist{flex-direction:column;gap:8px;max-height:520px;padding-right:4px;display:flex;overflow-y:auto}.fsd-track-item{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--fg);cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:flex-start;gap:5px;padding:11px 13px;display:flex}.fsd-track-item:hover{border-color:var(--bento-border-hover);transform:translateY(-1px)}.fsd-track-item.active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg);box-shadow:var(--voice-step-active-shadow)}.fsd-track-item.playing{border-color:var(--voice-speaking-border);background:var(--voice-speaking-bg);animation:voiceSpeakingPulse 2s var(--ease-in-out-smooth) infinite}.fsd-track-meta{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.fsd-track-item strong{font-size:13.5px;line-height:1.35}.fsd-track-item p{color:var(--fg-muted);margin:0;font-size:12px;line-height:1.4}.fsd-lecture-script-panel{border:1.5px solid var(--voice-transcript-border);border-radius:var(--radius-md);background:var(--voice-transcript-bg);box-shadow:var(--shadow-sm);padding:16px 18px}.fsd-script-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.fsd-script-head h3{font-family:var(--font-display);margin:6px 0 0;font-size:16.5px}.fsd-script-actions{flex-wrap:wrap;gap:8px;display:flex}.fsd-script-body p{line-height:var(--leading-narrative);margin:0 0 12px;font-size:14.5px}.fsd-mock-workspace{flex-direction:column;gap:12px;display:flex}.fsd-mock-legend{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.fsd-role-pill,.fsd-role-badge{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.fsd-role-pill.interviewer,.fsd-role-badge.interviewer{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber-border)}.fsd-role-pill.candidate,.fsd-role-badge.candidate{background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border)}.fsd-mock-dialogue-list{flex-direction:column;gap:12px;max-height:640px;padding-right:4px;display:flex;overflow-y:auto}.fsd-dialogue-card{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:14px 16px}.fsd-dialogue-card.is-interviewer{border-left:4px solid var(--amber)}.fsd-dialogue-card.is-candidate{border-left:4px solid var(--green);margin-left:18px}.fsd-dialogue-card.is-active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg);box-shadow:var(--voice-step-active-shadow)}.fsd-dialogue-card.is-speaking{border-color:var(--voice-speaking-border);background:var(--voice-speaking-bg);animation:voiceSpeakingPulse 2s var(--ease-in-out-smooth) infinite}.fsd-dialogue-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.fsd-dialogue-speaker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fsd-dialogue-stage{color:var(--fg);font-size:12.5px;font-weight:700}.fsd-dialogue-actions{flex-wrap:wrap;gap:8px;display:flex}.fsd-dialogue-body p{line-height:var(--leading-narrative);margin:0 0 10px;font-size:14.5px}.fsd-dialogue-body p:last-child{margin-bottom:0}@media (width<=900px){.fsd-audio-mode-tabs,.fsd-lecture-workspace{grid-template-columns:1fr}.fsd-dialogue-card.is-candidate{margin-left:0}}.av.av-with-trace.av-fsd:not(.av-bare),.av.av-with-trace.av-trace-collapsed:not(.av-bare),.lesson-learning-workspace .av.av-with-trace.av-fsd:not(.av-bare),.lesson-learning-workspace .av.av-with-trace.av-trace-collapsed:not(.av-bare){flex-direction:column!important;align-items:stretch!important;gap:0!important;display:flex!important}.av.av-with-trace.av-fsd:not(.av-bare)>*,.av.av-with-trace.av-trace-collapsed:not(.av-bare)>*,.lesson-learning-workspace .av.av-with-trace.av-fsd:not(.av-bare)>*,.lesson-learning-workspace .av.av-with-trace.av-trace-collapsed:not(.av-bare)>*{width:100%;min-width:0;grid-area:auto!important}.av.av-with-trace.av-fsd:not(.av-bare)>.av-code-trace,.av.av-with-trace.av-trace-collapsed:not(.av-bare)>.av-code-trace,.lesson-learning-workspace .av.av-with-trace.av-fsd:not(.av-bare)>.av-code-trace,.lesson-learning-workspace .av.av-with-trace.av-trace-collapsed:not(.av-bare)>.av-code-trace{border-top:1px dashed var(--line,var(--border));padding-top:10px;grid-area:auto!important;max-height:none!important}.av.av-fsd>.av-stage,.lesson-learning-workspace .av.av-fsd>.av-stage{height:auto!important;min-height:0!important;max-height:none!important;padding:14px 18px 16px!important;overflow:visible!important}.av-stage:has(.tpl-sysdesign){height:auto!important;min-height:0!important;max-height:none!important;padding:14px 18px 16px!important;overflow:visible!important}.av-stage:has(.tpl-sysdesign) .stage-body{justify-content:flex-start!important;align-items:flex-start!important}.av>.av-stage>.step-title{white-space:normal;overflow-wrap:anywhere;z-index:5;align-self:stretch;width:100%;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;max-width:100%!important;box-shadow:none!important;border:0!important;border-bottom:1px dashed var(--line,var(--border))!important;background:0 0!important;border-radius:0!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;padding:0 0 8px!important;display:inline-flex!important;position:static!important}.av>.av-stage>.step-title .av-step-title-text{color:var(--ink,var(--fg));font-size:14.5px;font-weight:800;line-height:1.35}.av>.av-stage>.step-title:empty{display:none!important}html[data-theme=dark] .av>.av-stage>.step-title{background:0 0!important}.av>.av-stage>.step-state,.av.av-fsd>.av-stage>.av-stage-play,.av.av-fullscreen>.av-stage>.av-stage-play{display:none!important}.av-diagram-toolbar{z-index:7;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;width:100%;max-width:100%;margin-block:0 6px;display:flex;position:relative;inset:auto}.av-diagram-toolbar>*{white-space:nowrap;flex-shrink:0}.av-stage>.av-stage-fs{z-index:7;align-self:flex-end;position:absolute;top:10px;right:12px;width:auto!important}.av-diagram-toolbar .av-stage-fs{position:static;width:auto!important}.av-sd-panel-toggle,.av-stage-fs,.av-fs-btn{white-space:nowrap;border:1px solid var(--brand-300,#c4b5fd);background:var(--card,#fff);height:30px;color:var(--brand-700,#5b21b6);font-family:var(--sans);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 2px 8px #0f172a14}.av-sd-panel-toggle.on{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600)}.av-stage-fs:hover,.av-fs-btn:hover,.av-sd-panel-toggle:hover{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600);transform:translateY(-1px)}.av-zoom-group{background:var(--card,#fff);border:1px solid var(--border-strong,#cbd5e1);border-radius:999px;align-items:center;height:30px;display:inline-flex;overflow:hidden;box-shadow:0 2px 8px #0f172a0f}.av-zoom-group button{height:100%;color:var(--fg,#0f172a);cursor:pointer;background:0 0;border:0;padding:0 9px;font-size:11.5px;font-weight:800;transition:background .15s}.av-zoom-group button:hover{background:var(--brand-50,#f5f3ff);color:var(--brand-700,#5b21b6)}.av-zoom-group .av-zoom-reset{border-left:1px solid var(--line,#e2e8f0);border-right:1px solid var(--line,#e2e8f0);min-width:48px;font-family:var(--mono)}.av-zoom-group .av-zoom-reset.is-zoomed{color:var(--brand-600,#7c6fe8);background:var(--brand-50,#f5f3ff)}.stage-body.is-pannable,.stage-body.is-pannable .sd-board{cursor:grab!important}.stage-body.is-pannable:active,.stage-body.is-pannable:active .sd-board{cursor:grabbing!important}.av-stage-click-hint{z-index:5;color:var(--fg-muted);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px dashed var(--border-strong);white-space:normal;text-align:center;pointer-events:none;border-radius:999px;align-self:center;max-width:100%;margin-top:10px;padding:4px 14px;font-size:11.5px;position:static!important;transform:none!important}.sd-node-focus-bar{border-radius:var(--radius-sm);background:var(--brand-50);border:1.5px solid var(--border-strong);color:var(--fg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:8px 14px;font-size:13px;display:flex}.sd-nf-badge{border-radius:var(--radius-xs);background:var(--brand-600);color:var(--on-brand);margin-right:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.sd-nf-edges{color:var(--brand-700);margin-top:3px;font-size:12px;font-weight:600}.sd-nf-close{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--brand-700);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;padding:4px 10px;font-size:11.5px;font-weight:700}.av-fs-btn{margin-left:auto}html[data-theme=dark] .av-stage-fs,html[data-theme=dark] .av-fs-btn,html[data-theme=dark] .av-sd-panel-toggle,html[data-theme=dark] .av-zoom-group{background:var(--bg-subtle);color:var(--fg);border-color:var(--border-strong)}.av-ctl button.fullscreen{font-size:12.5px;font-weight:700;width:auto!important;padding:0 12px!important}body.av-has-fullscreen{overflow:hidden!important}.av.av-fullscreen,.av.av-with-trace.av-fullscreen,.av.av-with-trace.av-fsd.av-fullscreen,.lesson-learning-workspace .av.av-fullscreen,.lesson-learning-workspace .av.av-with-trace.av-fsd.av-fullscreen{z-index:9999!important;background:var(--card,#fff)!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;box-shadow:none!important;border:0!important;border-radius:0!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;gap:8px!important;margin:0!important;padding:12px 20px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.av.av-fullscreen>.av-head,.av.av-fullscreen>.av-adaptive-topbar,.av.av-fullscreen>.av-progress-banner,.av.av-fullscreen>.av-chapters,.av.av-fullscreen>.av-phase-indicator,.av.av-fullscreen>.av-insight,.av.av-fullscreen>.av-legend,.av.av-fullscreen>.av-code-trace,.av.av-fullscreen>.av-dots{display:none!important}.av.av-fullscreen>.av-stage,.lesson-learning-workspace .av.av-fullscreen>.av-stage{flex:auto!important;align-self:stretch!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:50px 24px 34px!important;overflow:hidden auto!important}.av.av-fullscreen .stage-body,.av.av-fullscreen .tpl-sysdesign,.av.av-fullscreen .sd-board,.av.av-fullscreen .sd-panel{width:100%!important;max-width:100%!important}.av.av-fullscreen>.av-caption{flex:none!important;align-self:stretch!important;width:100%!important;max-width:100%!important;min-height:0!important;max-height:52px!important;padding:8px 16px!important;font-size:14px!important;overflow-y:auto!important}.av.av-fullscreen>.av-ctl{flex:none!important;align-self:stretch!important;width:100%!important;max-width:100%!important}.av-learning-mode{flex-wrap:wrap!important;align-items:center!important;gap:8px!important;display:flex!important}.av-trace-hint{color:var(--fg-muted,#64748b);margin-left:auto;font-size:12px;font-weight:600}.av-trace-toggle{border:1px solid var(--border-strong,#cbd5e1);background:var(--bg-elevated,#fff);height:30px;color:var(--fg,#0f172a);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.av-trace-toggle:hover{border-color:var(--brand-500,#7c6fe8);color:var(--brand-600,#6d28d9);background:var(--brand-50,#f5f3ff)}.av-code-trace.is-collapsed{padding-bottom:4px!important}.av-code-trace.is-collapsed .av-learning-mode{background:var(--bg-subtle,#f8fafc);border:1px dashed var(--border-strong,#cbd5e1);border-radius:10px;padding:8px 12px;margin-bottom:0!important}.av-coach-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.av-coach-fold{border:1px solid var(--line,#e2e8f0);background:var(--card,#fff);border-radius:9px;padding:8px 12px;transition:all .18s}.av-coach-fold summary{cursor:pointer;color:var(--brand-700,#5b21b6);letter-spacing:.03em;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;list-style:none;display:flex}.av-coach-fold summary::-webkit-details-marker{display:none}.av-coach-fold summary:after{content:"▾ Mở rộng";color:var(--soft,#64748b);background:var(--bg2,#f1f5f9);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.av-coach-fold[open] summary:after{content:"▴ Thu gọn"}.av-coach-fold[open] summary{border-bottom:1px dashed var(--line,#e2e8f0);margin-bottom:8px;padding-bottom:6px}@media (width<=720px){.av-coach-grid-4{grid-template-columns:1fr}.av-trace-hint{display:none}.av>.av-stage>.step-title{max-width:calc(100% - 140px)}.av>.av-stage>.step-state{display:none}}@media (width>=980px){.course-layout.is-sidebar-collapsed{gap:16px;grid-template-columns:1fr!important}.course-layout:has(.course-sidebar details:not([open])){gap:16px;grid-template-columns:1fr!important}.course-layout.is-sidebar-collapsed>.course-sidebar{max-height:none;padding:10px 16px;position:static}.course-layout:has(.course-sidebar details:not([open]))>.course-sidebar{max-height:none;padding:10px 16px;position:static}}.course-sidebar.is-collapsed{background:var(--bg-elevated);padding:10px 16px}.course-toc-toggle-btn{width:100%;color:var(--fg);font-family:var(--font-sans,Inter, sans-serif);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px;font-size:14px;font-weight:800;display:flex}.course-toc-toggle-btn small{color:var(--brand-600,#7c6fe8);background:var(--brand-50,#f5f3ff);border:1px solid var(--brand-200,#ddd6fe);white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700}.course-toc-toggle-btn:hover small{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600)}.course-toc-links{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;display:flex}.course-toc-links a{color:var(--fg-muted);border-radius:8px;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .14s;display:flex}.course-toc-links a:hover{background:var(--brand-50,#f5f3ff);color:var(--link)}.fsd-lecture-workspace.is-fullwidth{gap:12px;grid-template-columns:1fr!important}.fsd-lecture-pill-bar{border:1px solid var(--border);background:var(--bg-subtle);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.fsd-lecture-pill{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.fsd-lecture-pill b{color:var(--brand-600,#7c6fe8);font-weight:800}.fsd-lecture-pill small{color:var(--fg-muted);font-size:11px}.fsd-lecture-pill:hover{border-color:var(--brand-400,#a78bfa);background:var(--brand-50,#f5f3ff)}.fsd-lecture-pill.active{border-color:var(--brand-600);background:var(--brand-600);color:var(--on-brand);box-shadow:var(--shadow-sm)}.fsd-lecture-pill.active b,.fsd-lecture-pill.active small{color:var(--on-brand)}.fsd-lecture-pill-expand{border-radius:var(--radius-xs);border:1px dashed var(--border-strong);background:var(--bg-elevated);color:var(--brand-700);cursor:pointer;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s}.fsd-lecture-pill-expand:hover{background:var(--brand-600);color:var(--on-brand);border-style:solid}.fsd-tracklist-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:4px 4px 8px;display:flex}.fsd-tracklist-top strong{color:var(--fg);font-size:13px}.fsd-collapse-pill{border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--brand-50);color:var(--brand-700);cursor:pointer;padding:4px 10px;font-size:11.5px;font-weight:700}.fsd-collapse-pill:hover{background:var(--brand-600);color:var(--on-brand)}.fsd-mock-turn-group{flex-direction:column;gap:10px;display:flex}.fsd-mock-round-banner{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px 16px;display:flex}.fsd-mock-round-banner>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fsd-mock-round-banner strong{color:var(--fg);font-size:14.5px}.fsd-question-type-badge{border-radius:var(--radius-xs);background:var(--brand-50);color:var(--brand-700);border:1px solid var(--border-strong);align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.av-stage .av-just-changed{outline:2px solid var(--algo-comparison-highlight-border);outline-offset:2px}.av-ba-stage-toggle{border:1px solid var(--brand-300);background:var(--card);height:30px;color:var(--brand-700);font-family:var(--sans);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:0 11px;font-size:11.5px;font-weight:700}.av-ba-stage-toggle.on{background:var(--amber);border-color:var(--amber);color:#fff}.av-stage[data-ba-mode=before]{box-shadow:inset 0 0 0 2px var(--algo-comparison-highlight-border)}.av-explanation-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 18px 4px;display:flex}.av-explanation-top>.av-caption{flex:360px;background:0 0!important;border-top:0!important;height:auto!important;min-height:0!important;max-height:none!important;padding:4px 0!important;overflow:visible!important}.av-exp-depth-switch{border:1px solid var(--line);background:var(--bg2);border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px;display:inline-flex}.av-exp-depth-btn{min-height:28px;color:var(--soft);font:700 11.5px/1.2 var(--sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:0;border-radius:999px;padding:4px 10px}.av-exp-depth-btn.active{background:var(--card);color:var(--orange-d);box-shadow:var(--shadow-xs)}.av-progressive-body{padding:0 18px 8px}.av-prog-exp-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card-top);padding:9px 12px}.av-prog-exp-card.depth-detailed{border-left:3px solid var(--blue)}.av-prog-exp-card.depth-deep{border-left:3px solid var(--orange)}.av-prog-exp-badge{font:800 10.5px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--orange-d);margin-bottom:4px;display:inline-block}.av-prog-exp-text{font:550 12.5px/1.58 var(--sans);color:var(--ink);white-space:pre-line}.av-what-changed-strip{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 18px 8px;display:flex}.av-wc-title{font:800 11px/1.2 var(--sans);color:var(--amber-fg);text-transform:uppercase;letter-spacing:.04em}.av-change-chip{font:650 11.5px/1.3 var(--mono);background:var(--amber-bg);border:1px solid var(--amber-border);color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.av-change-chip s{opacity:.65;text-decoration:line-through}.av-change-chip em{color:var(--amber-fg);font-style:normal;font-weight:800}.av-change-chip.kind-res{background:var(--green-bg);border-color:var(--green-border)}.av-change-chip.kind-res em{color:var(--green-fg)}.av-var-inspector{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 18px 8px;display:flex}.av-vi-title{font:800 11px/1.2 var(--sans);color:var(--soft);text-transform:uppercase;letter-spacing:.04em}.av-vi-list{flex-wrap:wrap;gap:6px;display:flex}.av-var-pill{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--bg2);font:650 11.5px/1.3 var(--mono);color:var(--ink);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.av-var-pill b{color:var(--orange-d)}.av-var-pill.is-changed{background:var(--algo-active-focus-bg);border-color:var(--algo-active-focus-border)}.av-var-delta{color:var(--algo-active-focus-fg);font-size:10.5px;font-weight:700}.av-live-code-link{border-radius:var(--radius-sm);border:1px solid var(--orange-200);background:color-mix(in srgb, var(--orange-50) 60%, var(--card));flex-wrap:wrap;align-items:center;gap:8px;margin:0 18px 8px;padding:7px 11px;display:flex}.av-lcl-badge{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);font:800 11px/1.3 var(--mono);white-space:nowrap;padding:2px 8px}.av-lcl-code{min-width:0;font:650 12px/1.4 var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:220px;overflow:hidden}.av-lcl-desc{font:600 11.5px/1.3 var(--sans);color:var(--soft)}.av-lcl-open-btn{border:1px solid var(--orange-200);background:var(--card);color:var(--orange-d);font:700 11px/1.2 var(--sans);cursor:pointer;border-radius:999px;margin-left:auto;padding:4px 10px}.av-pedagogy-toolbar{scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 18px 10px;display:flex;overflow-x:auto}.av-pedagogy-btn{white-space:nowrap;border:1px solid var(--line);background:var(--card-top);min-height:32px;color:var(--ink);font:700 11.5px/1.2 var(--sans);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;flex:none;padding:5px 11px}.av-pedagogy-btn:hover,.av-pedagogy-btn.active{border-color:var(--orange);background:var(--orange-50);color:var(--orange-d)}.av-pedagogy-drawer{border-radius:var(--radius-md);border:1.5px solid var(--orange-200);background:var(--card);box-shadow:var(--shadow-sm);margin:0 18px 12px;padding:12px 14px}.av-ped-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.av-ped-head strong{font:800 13.5px/1.3 var(--sans);color:var(--ink);display:block}.av-ped-sub{font:600 12px/1.4 var(--sans);color:var(--soft);display:block}.av-why-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.av-why-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card-top);padding:9px 11px}.av-why-card.warn{border-left:3px solid var(--amber)}.av-why-card.ok{border-left:3px solid var(--green)}.av-why-card>span{font:800 10.5px/1.2 var(--sans);text-transform:uppercase;color:var(--orange-d);margin-bottom:4px;display:block}.av-why-card>p{font:550 12px/1.55 var(--sans);color:var(--ink);margin:0}.av-ba-mode-switch{flex-wrap:wrap;gap:5px;display:inline-flex}.av-ba-switch-btn{border:1px solid var(--line);background:var(--card-top);font:700 11.5px/1.2 var(--sans);cursor:pointer;border-radius:999px;padding:5px 10px}.av-ba-switch-btn.active{border-color:var(--orange);background:var(--orange);color:var(--ink-on-orange)}.av-ba-table{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.av-ba-row{border-bottom:1px solid var(--line);font:600 12px/1.45 var(--sans);grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:10px;padding:7px 11px;display:grid}.av-ba-row:last-child{border-bottom:0}.av-ba-row.av-ba-header{background:var(--bg2);text-transform:uppercase;color:var(--soft);font-size:11px;font-weight:800}.av-ba-row.is-changed{background:var(--amber-bg)}.av-ba-delta-tag{background:var(--amber);color:#fff;font:800 10px/1.2 var(--sans);border-radius:999px;margin-left:4px;padding:1px 6px;display:inline-block}.av-predict-options,.av-chk-opts{flex-direction:column;gap:6px;margin-top:6px;display:flex}.av-predict-opt,.av-chk-opt{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card-top);width:100%;color:var(--ink);font:600 12px/1.4 var(--sans);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:8px 11px;display:flex}.av-predict-opt.is-correct,.av-chk-opt.is-correct{border-color:var(--green);background:var(--green-bg)}.av-predict-opt.is-wrong,.av-chk-opt.is-wrong{border-color:var(--red);background:var(--rose-bg)}.av-predict-opt-key{background:var(--orange-50,#f5f3ff);width:22px;height:22px;color:var(--orange-d,#5b21b6);font:800 11px/1 var(--mono);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.av-predict-feedback,.av-self-explain-feedback,.av-chk-feedback{font:600 12px/1.5 var(--sans);border-radius:9px;margin-top:9px;padding:9px 11px}.av-predict-feedback.ok,.av-self-explain-feedback.ok,.av-chk-feedback.ok{background:#16a34a1a;border:1px solid #16a34a59}.av-predict-feedback.warn,.av-self-explain-feedback.warn,.av-chk-feedback.warn{background:#f59e0b1f;border:1px solid #f59e0b61}.av-predict-go-btn,.av-self-explain-submit{border-radius:var(--radius-xs);background:var(--orange);color:var(--ink-on-orange);font:700 12px/1.2 var(--sans);cursor:pointer;border:0;margin-top:7px;padding:6px 12px}.av-self-explain-hints{font:600 11.5px/1.3 var(--sans);color:var(--soft,#64748b);flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:7px;display:flex}.av-explain-chip{border:1px dashed var(--orange-200,#c4b5fd);background:var(--orange-50,#f5f3ff);color:var(--orange-d,#5b21b6);font:650 11px/1.2 var(--sans);cursor:pointer;border-radius:999px;padding:3px 8px}.av-self-explain-input{box-sizing:border-box;border:1px solid var(--line,#cbd5e1);background:var(--card-top,#f8fafc);width:100%;color:var(--ink,#0f172a);font:550 12.5px/1.5 var(--sans);resize:vertical;border-radius:8px;padding:8px 10px}.av-explain-model{border-top:1px dashed var(--line,#cbd5e1);margin-top:8px;padding-top:7px}.av-explain-model>span{font:800 11px/1.2 var(--sans);color:var(--orange-d,#5b21b6);display:block}.av-explain-model>p{margin:4px 0 0}@media (width<=640px){.av-ba-row{grid-template-columns:1fr;gap:4px}}.av-elem-focus-toggle,.av-smart-zoom-toggle{border:1px solid var(--line,#cbd5e1);background:var(--card-top,#f8fafc);color:var(--ink,#0f172a);font:700 11.5px/1.2 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;transition:all .16s;display:inline-flex}.av-elem-focus-toggle:hover,.av-smart-zoom-toggle:hover{border-color:var(--orange,#7c6fe8);color:var(--orange-d,#5b21b6)}.av-elem-focus-toggle.on,.av-smart-zoom-toggle.on{border-color:var(--orange,#7c6fe8);background:var(--orange-50,#f5f3ff);color:var(--orange-d,#5b21b6)}.av-stage.av-elem-focus-active .av-focus-dimmed{opacity:.34;filter:saturate(.45);transition:opacity .22s,filter .22s}.av-stage.av-elem-focus-active .av-focus-dimmed.av-persistent-hl{opacity:.72;filter:saturate(.88)}.av-stage.av-elem-focus-active .av-focus-target{opacity:1;filter:none;z-index:3;transition:opacity .2s,box-shadow .2s;box-shadow:0 0 0 3px #7c6fe847,0 8px 18px -8px #7c6fe861}.cell.av-persistent-hl,.dp-cell.av-persistent-hl,.grid-cell.av-persistent-hl,.lnode.av-persistent-hl,.h-row.av-persistent-hl{outline-offset:2px;outline:2px dashed #f59e0bd9}.cell.av-persistent-hl:before{content:attr(data-persistent-role);color:#b45309;font:700 9px/1.1 var(--sans);white-space:nowrap;pointer-events:none;background:#f59e0b29;border:1px solid #f59e0b73;border-radius:4px;padding:1px 5px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.av-persistent-strip{background:#3b82f60f;border:1px solid #3b82f647;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:7px 11px;display:flex}.av-ps-title{font:800 11.5px/1.2 var(--sans);color:#1d4ed8}.av-persistent-pill{background:var(--card,#fff);font:600 11.5px/1.2 var(--sans);color:var(--ink,#0f172a);border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.av-persistent-pill code{font:700 11.5px/1.1 var(--mono);color:#1d4ed8}.av-phase-indicator{border-bottom:1px solid var(--line,#e2e8f0);background:var(--card-top,#f8fafc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:7px 16px;display:flex}.av-phase-steps{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:4px;max-width:100%;display:inline-flex;overflow-x:auto}.av-phase-steps::-webkit-scrollbar{display:none}.av-phase-sep{font:700 11px/1 var(--sans);color:var(--muted,#94a3b8);flex:none;padding:0 2px}.av-phase-pill{white-space:nowrap;border:1px solid var(--line,#cbd5e1);background:var(--card,#fff);color:var(--soft,#64748b);font:700 11.5px/1.2 var(--sans);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 10px;transition:all .16s;display:inline-flex}.av-phase-pill:disabled{cursor:default;opacity:.65}.av-phase-pill.is-visited{border-color:var(--green-border);background:var(--green-bg);color:var(--green-fg)}.av-phase-pill.is-active{border-color:var(--orange);background:var(--orange);color:var(--ink-on-orange);box-shadow:var(--shadow-sm)}.av-phase-desc{font:550 11.5px/1.35 var(--sans);color:var(--soft,#64748b)}.av-phase-desc b{color:var(--orange-d,#5b21b6)}.av-change-history{border:1px solid var(--line,#e2e8f0);background:var(--card-top,#f8fafc);border-radius:10px;margin-bottom:8px;padding:8px 11px}.av-ch-hist-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.av-ch-hist-title{font:800 11.5px/1.2 var(--sans);color:var(--ink,#0f172a)}.av-ch-hist-sub{font:600 11px/1.2 var(--sans);color:var(--soft,#64748b)}.av-ch-hist-track{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.av-ch-hist-item{border:1px solid var(--line,#cbd5e1);background:var(--card,#fff);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 9px;transition:all .15s;display:flex}.av-ch-hist-item:hover{border-color:var(--orange,#7c6fe8)}.av-ch-hist-item.is-current{border-color:var(--orange,#7c6fe8);background:var(--orange-50,#f5f3ff);box-shadow:0 0 0 1px #7c6fe840}.av-ch-hist-top{justify-content:space-between;align-items:center;gap:4px;width:100%;display:flex}.av-ch-hist-step{font:800 10.5px/1.1 var(--mono);color:var(--orange-d,#5b21b6)}.av-ch-hist-phase{font:700 10px/1.1 var(--sans);color:var(--soft,#64748b)}.av-ch-hist-delta{font:650 11.5px/1.3 var(--sans);color:var(--ink,#0f172a);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.stage-body>*{transition:transform .26s cubic-bezier(.22,1,.36,1)}.ptr-tag,.bars-ptr,.lptr{position:relative}.av-ptr-reason{color:#fff;font:700 10px/1.25 var(--sans);white-space:nowrap;pointer-events:none;z-index:8;background:#1e1b4b;border-radius:999px;padding:2px 7px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0f172a38}.av-compare-presets{flex-wrap:wrap;gap:5px;display:inline-flex}.av-compare-preset-btn{border:1px solid var(--line,#cbd5e1);background:var(--card-top,#f8fafc);color:var(--ink,#0f172a);font:700 11px/1.2 var(--sans);cursor:pointer;border-radius:999px;padding:4px 9px}.av-compare-preset-btn:hover{border-color:var(--orange,#7c6fe8);color:var(--orange-d,#5b21b6)}.av-compare-selectors{background:var(--card-top,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.av-compare-picker{font:700 11.5px/1.2 var(--sans);flex-wrap:wrap;flex:260px;align-items:center;gap:6px;display:flex}.av-compare-picker select{border:1px solid var(--line,#cbd5e1);background:var(--card,#fff);max-width:100%;color:var(--ink,#0f172a);font:600 11.5px/1.3 var(--sans);border-radius:7px;flex:160px;padding:5px 8px}.av-compare-jump-a,.av-compare-jump-b{border:1px solid var(--orange-200,#c4b5fd);background:var(--orange-50,#f5f3ff);color:var(--orange-d,#5b21b6);font:700 11px/1.2 var(--sans);cursor:pointer;border-radius:6px;padding:4px 8px}.av-compare-vs{font:800 11px/1 var(--sans);color:var(--orange-d,#5b21b6);padding:0 4px}.av-compare-vars-box{margin-top:10px}.av-compare-vars-title{font:800 11.5px/1.2 var(--sans);color:var(--ink,#0f172a);margin-bottom:6px;display:block}.av-compare-vars-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:6px;display:grid}.av-compare-var-card{border:1px solid var(--line,#cbd5e1);background:var(--card-top,#f8fafc);border-radius:8px;padding:6px 9px}.av-compare-var-card.is-changed{background:#f59e0b1a;border-color:#f59e0b8c}.av-cv-head{justify-content:space-between;align-items:center;gap:4px;margin-bottom:3px;display:flex}.av-cv-head b{font:800 11.5px/1.1 var(--mono);color:var(--orange-d,#5b21b6)}.av-cv-head small{font:600 10px/1.1 var(--sans);color:var(--soft,#64748b)}.av-cv-vals{font:700 11.5px/1.2 var(--mono);align-items:center;gap:5px;display:flex}.av-cv-a{color:var(--soft,#64748b)}.av-cv-b{color:var(--ink,#0f172a)}.av-try-it-toggle,.av-custom-input-stage-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card-top);color:var(--ink);font:700 11.5px/1.2 var(--sans);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;transition:all .16s;display:inline-flex}.av-try-it-toggle:hover,.av-custom-input-stage-btn:hover{border-color:var(--orange);background:var(--orange-50)}.av-try-it-toggle.on{border-color:var(--orange);background:var(--orange);color:var(--ink-on-orange);box-shadow:var(--shadow-sm)}.av-try-it-bar{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--bg-subtle);z-index:4;flex-direction:column;gap:7px;margin:6px 14px;padding:9px 12px;display:flex}.av-try-it-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-try-it-badge{font:800 11.5px/1.2 var(--sans);color:var(--orange-d)}.av-try-it-controls,.av-try-it-cells-strip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.av-try-strip-label{font:700 11px/1.2 var(--sans);color:var(--soft)}.av-try-ptr-chip,.av-try-action-btn,.av-try-cell-btn{border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--card);color:var(--ink);font:700 11px/1.2 var(--sans);cursor:pointer;padding:4px 9px;transition:all .14s}.av-try-ptr-chip.active,.av-try-cell-btn.is-ptr-here{background:var(--orange);border-color:var(--orange-d);color:var(--ink-on-orange)}.av-try-cell-btn.is-selected{outline:2px solid var(--amber);background:var(--amber-bg);color:var(--amber-fg)}.av-try-it-feedback{font:600 11.5px/1.35 var(--sans);color:var(--ink);background:var(--card);border-radius:var(--radius-xs);border-left:3px solid var(--orange);padding:5px 9px}.av-stage[data-try-it-mode=on] .cell.is-interactive-target,.av-stage[data-try-it-mode=on] .col.is-interactive-target{cursor:pointer}.av-stage .cell.is-user-selected{outline-offset:2px;box-shadow:0 0 0 4px var(--amber-bg);outline:3px dashed var(--amber)!important}.av-stage .ptr-tag.is-draggable-ptr,.av-stage .bars-ptr.is-draggable-ptr{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.av-stage .ptr-tag.is-active-ptr{box-shadow:0 0 0 2px var(--orange)}.av-if-decision-bar{border-radius:var(--radius-sm);border:1.5px solid var(--amber-border);background:var(--amber-bg);z-index:4;flex-direction:column;gap:6px;margin:6px 14px;padding:9px 12px;display:flex}.av-if-decision-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-if-badge{font:800 11.5px/1.2 var(--sans);color:var(--amber-fg)}.av-if-code{border-radius:var(--radius-xs);background:var(--code-bg);color:var(--code-fg);font:700 11.5px/1.25 var(--mono);padding:3px 8px}.av-if-decision-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-if-question{font:700 12px/1.35 var(--sans);color:var(--amber-fg);margin:0}.av-if-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.av-if-choice-btn,.av-if-hint-btn{border-radius:var(--radius-xs);border:1px solid var(--amber-border);background:var(--card);color:var(--amber-fg);font:800 11.5px/1.2 var(--sans);cursor:pointer;padding:5px 11px;transition:all .14s}.av-if-choice-btn.is-correct{background:var(--green);border-color:var(--green);color:#fff}.av-if-choice-btn.is-wrong{background:var(--red);border-color:var(--red);color:#fff}.av-if-decision-feedback{border-radius:var(--radius-xs);font:600 11.5px/1.35 var(--sans);flex-wrap:wrap;gap:6px;padding:6px 10px;display:flex}.av-if-decision-feedback.is-correct{background:var(--green-bg);color:var(--green-fg);border-left:3px solid var(--green)}.av-if-decision-feedback.is-wrong{background:var(--rose-bg);color:var(--rose-fg);border-left:3px solid var(--red)}.av-hints-tiers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px;display:grid}.av-hint-tier-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card-top);padding:9px 11px}.av-hint-tier-card.is-unlocked{border-color:var(--border-strong);background:var(--card)}.av-hint-tier-card.is-locked{opacity:.72;border-style:dashed}.av-hint-tier-head{font:700 11.5px/1.2 var(--sans);justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.av-hint-tier-badge{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);font:800 10.5px/1.2 var(--sans);padding:2px 7px}.av-hint-tier-body{font:500 12px/1.4 var(--sans);color:var(--ink);margin:0}.av-hint-next-btn,.av-hint-reset-btn,.av-pg-run-array-btn,.av-pg-run-graph-btn,.av-custom-reset-btn,.av-ce-run-stage-btn,.av-reconstruct-submit-btn{border-radius:var(--radius-xs);border:1px solid var(--orange);background:var(--orange);color:var(--ink-on-orange);font:700 11.5px/1.2 var(--sans);cursor:pointer;padding:6px 12px}.av-hint-reset-btn,.av-custom-reset-btn,.av-pg-run-graph-btn{background:var(--card);color:var(--ink);border-color:var(--border-strong)}.av-hint-final-answer{border-radius:var(--radius-sm);border-left:4px solid var(--green);background:var(--green-bg);font:600 12px/1.4 var(--sans);color:var(--green-fg);margin-top:9px;padding:9px 12px}.av-playground-form{grid-template-columns:1.4fr .7fr 1.2fr;gap:8px;margin-top:8px;display:grid}.av-pg-field{font:700 11.5px/1.2 var(--sans);color:var(--ink);flex-direction:column;gap:4px;display:flex}.av-pg-field input{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 12px/1.3 var(--mono);padding:6px 9px}.av-playground-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;display:flex}.av-pg-presets{font:600 11px/1.2 var(--sans);color:var(--soft);flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.av-pg-preset-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 11px/1.2 var(--mono);cursor:pointer;padding:4px 8px}.av-pg-status{border-radius:var(--radius-xs);background:var(--green-bg);color:var(--green-fg);font:700 11.5px/1.3 var(--sans);margin-top:8px;padding:6px 10px}.av-bug-code-block{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-fg);font:600 11.5px/1.45 var(--mono);margin:8px 0;padding:9px 12px;overflow-x:auto}.av-bug-steps-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.av-bug-step-card{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;padding:8px 10px;transition:all .14s}.av-bug-step-card.is-correct,.av-bug-step-card.is-actual-bug{border-color:var(--green);background:var(--green-bg)}.av-bug-step-card.is-wrong{border-color:var(--red);background:var(--rose-bg)}.av-bug-step-top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.av-bug-step-num{border-radius:var(--radius-xs);background:var(--bg2);color:var(--ink);font:800 10.5px/1.2 var(--sans);padding:2px 6px}.av-bug-feedback{border-radius:var(--radius-sm);font:600 12px/1.45 var(--sans);margin-top:9px;padding:9px 12px}.av-bug-feedback.is-correct{background:var(--green-bg);border-left:4px solid var(--green);color:var(--green-fg)}.av-bug-feedback.is-wrong{background:var(--amber-bg);border-left:4px solid var(--amber);color:var(--amber-fg)}.av-ce-tabs{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.av-ce-tab-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;flex-direction:column;align-items:flex-start;padding:6px 10px;display:flex}.av-ce-tab-btn.active{border-color:var(--orange);background:var(--orange-50);color:var(--orange-d)}.av-ce-input-bar{border-radius:var(--radius-xs);background:var(--bg2);color:var(--ink);font:600 11.5px/1.35 var(--sans);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;padding:7px 10px;display:flex}.av-ce-compare-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;display:grid}.av-ce-card{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink);padding:9px 11px}.av-ce-card.is-naive{background:var(--rose-bg);border-color:var(--rose-border)}.av-ce-card.is-correct{background:var(--green-bg);border-color:var(--green-border)}.av-ce-card-tag{font:800 11px/1.2 var(--sans);margin-bottom:4px;display:block}.av-ce-out{border-radius:var(--radius-xs);background:var(--bg2);color:var(--ink);font:700 11.5px/1.3 var(--mono);margin-bottom:5px;padding:2px 6px;display:inline-block}.av-reconstruct-code-box{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-fg);font:600 12px/1.6 var(--mono);margin:8px 0;padding:9px 12px}.av-rc-line{align-items:center;gap:8px;padding:2px 0;display:flex}.av-rc-ln{width:20px;color:var(--code-muted);-webkit-user-select:none;user-select:none}.av-reconstruct-input{border-radius:var(--radius-xs);border:1.5px solid var(--code-border);background:var(--code-header-bg);color:var(--code-fg);font:700 12px/1.3 var(--mono);min-width:140px;padding:2px 7px}.av-rc-line.is-correct .av-reconstruct-input{border-color:var(--green);background:var(--green-bg)}.av-rc-line.is-wrong .av-reconstruct-input{border-color:var(--red);background:var(--rose-bg)}.av-reconstruct-blanks-guide{flex-direction:column;gap:7px;display:flex}.av-rc-blank-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);padding:7px 10px}.av-rc-blank-head{font:700 11.5px/1.25 var(--sans);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-rc-token-bank{font:600 11px/1.2 var(--sans);flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.av-reconstruct-token{border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--bg2);color:var(--ink);cursor:pointer;padding:3px 8px}.av-reconstruct-summary{border-radius:var(--radius-sm);font:700 12px/1.35 var(--sans);margin-top:8px;padding:8px 11px}.av-reconstruct-summary.is-correct{background:var(--green-bg);color:var(--green-fg)}.av-reconstruct-summary.is-partial{background:var(--amber-bg);color:var(--amber-fg)}@media (width<=720px){.av-playground-form{grid-template-columns:1fr}}.av-adaptive-topbar{background:var(--card-top);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:7px 16px;display:flex}.av-difficulty-selector{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:5px;max-width:100%;display:inline-flex;overflow-x:auto}.av-difficulty-selector::-webkit-scrollbar{display:none}.av-diff-label{font:800 11.5px/1.2 var(--sans);color:var(--ink);white-space:nowrap;margin-right:2px}.av-diff-btn{white-space:nowrap;border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:700 11.5px/1.2 var(--sans);cursor:pointer;flex:none;padding:4px 10px;transition:all .15s}.av-diff-btn:hover{border-color:var(--orange)}.av-diff-btn.active{background:var(--orange);border-color:var(--orange-d);color:var(--ink-on-orange);box-shadow:var(--shadow-sm)}.av-difficulty-desc{min-width:0;font:500 11.5px/1.3 var(--sans);color:var(--soft);white-space:nowrap;text-overflow:ellipsis;flex:160px;overflow:hidden}.av-prereq-top-btn{white-space:nowrap;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--card);color:var(--orange-d);font:700 11.5px/1.2 var(--sans);cursor:pointer;flex:none;padding:5px 11px}.av-prereq-top-btn:hover{background:var(--orange-50)}.av-prereq-list{flex-direction:column;gap:9px;margin-top:8px;display:flex}.av-prereq-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);padding:10px 12px}.av-prereq-card.is-correct{border-color:var(--green-border);background:var(--green-bg)}.av-prereq-card.is-wrong{border-color:var(--amber-border);background:var(--amber-bg)}.av-prereq-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-prereq-check-label{font:800 12px/1.3 var(--sans);color:var(--ink);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.av-prereq-example{border-radius:var(--radius-xs);background:var(--bg2);font:600 11px/1.25 var(--mono);color:var(--soft);padding:2px 7px}.av-prereq-summary{font:500 12px/1.4 var(--sans);color:var(--soft);margin:5px 0 7px}.av-prereq-quiz-box{border-radius:var(--radius-xs);background:var(--bg2);border:1px dashed var(--line);padding:7px 9px}.av-prereq-q{font:700 11.5px/1.35 var(--sans);color:var(--ink);margin-bottom:6px;display:block}.av-prereq-opts{flex-wrap:wrap;gap:6px;display:flex}.av-prereq-opt-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 11.5px/1.25 var(--sans);cursor:pointer;padding:5px 10px}.av-prereq-opt-btn.active{border-color:var(--orange);background:var(--orange-50);color:var(--orange-d);font-weight:700}.av-prereq-item-feedback{border-radius:var(--radius-xs);font:600 11.5px/1.35 var(--sans);margin-top:7px;padding:6px 9px}.av-prereq-item-feedback.is-correct{background:var(--green-bg);color:var(--green-fg)}.av-prereq-item-feedback.is-wrong{background:var(--amber-bg);color:var(--amber-fg)}.av-prereq-submit-btn,.av-review-start-btn{border-radius:var(--radius-xs);border:1px solid var(--orange);background:var(--orange);color:var(--ink-on-orange);font:700 11.5px/1.2 var(--sans);cursor:pointer;padding:6px 12px}.av-prereq-summary-banner{border-radius:var(--radius-sm);font:700 12px/1.4 var(--sans);margin-top:9px;padding:8px 11px}.av-prereq-summary-banner.is-ready{background:var(--green-bg);color:var(--green-fg)}.av-prereq-summary-banner.is-review{background:var(--amber-bg);color:var(--amber-fg)}.av-misconception-alert{border-radius:var(--radius-sm);border-left:4px solid var(--red);background:var(--rose-bg);color:var(--rose-fg);font:600 12px/1.4 var(--sans);margin:7px 0;padding:8px 11px}.av-sec-title{font:800 12px/1.25 var(--sans);color:var(--ink);margin:8px 0 6px;display:block}.av-misconception-grid,.av-remedial-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;display:grid}.av-misconception-card,.av-remedial-group{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);padding:9px 11px}.av-misconception-card{border-left:4px solid var(--amber);background:var(--amber-bg)}.av-mc-head,.av-rg-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.av-mc-badge,.av-rg-count{border-radius:var(--radius-xs);background:var(--amber-bg);color:var(--amber-fg);font:800 10.5px/1.2 var(--sans);padding:2px 7px}.av-rg-lessons{flex-direction:column;gap:6px;margin-top:6px;display:flex}.av-rg-lesson-card{border-radius:var(--radius-xs);background:var(--bg2);border:1px solid var(--line);align-items:flex-start;gap:8px;padding:7px 9px;display:flex}.av-rg-code{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);font:800 11px/1.2 var(--mono);white-space:nowrap;padding:2px 6px}.av-rg-lesson-card b{font:700 12px/1.3 var(--sans);color:var(--ink);display:block}.av-rg-lesson-card small{font:500 11.5px/1.35 var(--sans);color:var(--soft);display:block}.av-confidence-bar{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card-top);flex-direction:column;gap:6px;margin-top:8px;padding:8px 11px;display:flex}.av-conf-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-conf-title{font:600 11.5px/1.3 var(--sans);color:var(--ink)}.av-conf-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.av-conf-btn,.av-bookmark-hard-btn,.av-review-bookmark-cur-btn,.av-review-jump-btn,.av-review-clear-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--soft);font:700 11px/1.2 var(--sans);cursor:pointer;padding:4px 10px;transition:all .14s}.av-conf-btn.is-low.active{background:var(--rose-bg);border-color:var(--rose-border);color:var(--rose-fg)}.av-conf-btn.is-partial.active{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber-fg)}.av-conf-btn.is-high.active{background:var(--green-bg);border-color:var(--green-border);color:var(--green-fg)}.av-bookmark-hard-btn.active{background:var(--orange-50);border-color:var(--orange);color:var(--orange-d)}.av-conf-feedback{border-radius:var(--radius-xs);font:600 11.5px/1.35 var(--sans);background:var(--card);color:var(--ink);border-left:3px solid var(--orange);padding:5px 9px}.av-ped-count-badge{background:var(--red);color:#fff;min-width:18px;height:18px;font:800 10.5px/1 var(--sans);border-radius:999px;justify-content:center;align-items:center;margin-left:3px;padding:0 5px;display:inline-flex}.av-review-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.av-review-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;display:flex}.av-review-card.is-current{border-color:var(--orange);background:var(--orange-50)}.av-review-card-main{flex-direction:column;gap:4px;display:flex}.av-review-step-badge{border-radius:var(--radius-xs);background:var(--orange-50);width:fit-content;color:var(--orange-d);font:800 11px/1.2 var(--sans);padding:2px 7px;display:inline-block}.av-review-reasons{flex-wrap:wrap;gap:5px;display:flex}.av-review-reason-tag{border-radius:var(--radius-xs);background:var(--rose-bg);color:var(--rose-fg);border:1px solid var(--rose-border);font:700 10.5px/1.2 var(--sans);padding:2px 7px}.av-review-card-btns{align-items:center;gap:6px;display:inline-flex}.av-stage[data-recall-blind=on] .stage-body{filter:blur(14px);opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .25s,opacity .25s}.av-recall-status-strip{border-radius:var(--radius-sm);background:var(--orange-50);border:1px solid var(--orange-200);font:600 11.5px/1.35 var(--sans);color:var(--orange-d);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:7px 10px;display:flex}.av-recall-cards-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.av-recall-card{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;padding:9px 11px;transition:all .15s}.av-recall-card.is-picked{border-color:var(--orange);background:var(--orange-50)}.av-recall-card.is-correct{border-color:var(--green);background:var(--green-bg)}.av-recall-card.is-wrong{border-color:var(--red);background:var(--rose-bg)}.av-recall-order-badge{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);font:800 10.5px/1.2 var(--sans);margin-bottom:5px;padding:2px 7px;display:inline-block}.av-recall-feedback{border-radius:var(--radius-sm);font:600 12px/1.45 var(--sans);margin-top:9px;padding:9px 12px}.av-recall-feedback.is-correct{background:var(--green-bg);border-left:4px solid var(--green);color:var(--green-fg)}.av-recall-feedback.is-wrong{background:var(--amber-bg);border-left:4px solid var(--amber);color:var(--amber-fg)}.av-recall-reset-btn,.av-recall-submit-btn,.av-oms-start-btn,.av-oms-submit-btn,.av-note-save-btn,.av-note-delete-btn,.av-note-bookmark-btn{border-radius:var(--radius-xs);border:1px solid var(--orange);background:var(--orange);color:var(--ink-on-orange);font:700 11.5px/1.2 var(--sans);cursor:pointer;padding:5px 11px}.av-recall-reset-btn,.av-note-delete-btn,.av-note-bookmark-btn{background:var(--card);color:var(--ink);border-color:var(--border-strong)}.av-srs-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.av-srs-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.av-srs-card.is-due{border-color:var(--amber-border);background:var(--amber-bg)}.av-srs-top{align-items:center;gap:8px;margin-bottom:3px;display:flex}.av-srs-due-badge{border-radius:var(--radius-xs);background:var(--amber-bg);color:var(--amber-fg);font:800 10.5px/1.2 var(--sans);padding:2px 7px}.av-srs-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.av-srs-rate-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:700 11px/1.2 var(--sans);cursor:pointer;padding:4px 9px}.av-connections-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;margin-top:8px;display:grid}.av-connection-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;padding:10px 12px}.av-connection-card.is-active{border-color:var(--orange);background:var(--orange-50)}.av-conn-code{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);font:800 11.5px/1.2 var(--mono);margin-bottom:6px;padding:3px 8px;display:inline-block}.av-conn-formula{border-radius:var(--radius-xs);background:var(--code-bg);color:var(--code-fg);font:600 11px/1.35 var(--mono);margin-top:6px;padding:5px 8px}.av-oms-timer{border-radius:var(--radius-xs);background:var(--bg2);color:var(--ink);font:800 11.5px/1.2 var(--mono);padding:4px 9px}.av-oms-timer.is-urgent{background:var(--rose-bg);color:var(--rose-fg)}.av-oms-textarea,.av-note-textarea{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font:500 12.5px/1.45 var(--sans);box-sizing:border-box;margin-top:8px;padding:8px 10px}.av-oms-footer,.av-note-editor-btns{align-items:center;gap:8px;margin-top:7px;display:flex}.av-oms-feedback{border-radius:var(--radius-sm);background:var(--bg2);border-left:4px solid var(--orange);margin-top:9px;padding:9px 12px}.av-oms-pillars{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.av-oms-pillar{border-radius:var(--radius-xs);font:700 11px/1.2 var(--sans);padding:3px 8px}.av-oms-pillar.hit{background:var(--green-bg);color:var(--green-fg)}.av-oms-pillar.miss{background:var(--bg2);color:var(--soft)}.av-transfer-scenario{border-radius:var(--radius-sm);background:var(--bg2);border-left:3px solid var(--orange);font:600 12px/1.45 var(--sans);color:var(--ink);margin:8px 0;padding:9px 12px}.av-transfer-options{flex-direction:column;gap:7px;display:flex}.av-transfer-opt-btn{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:600 12px/1.35 var(--sans);cursor:pointer;align-items:center;gap:9px;padding:8px 11px;display:flex}.av-transfer-opt-btn.is-correct{border-color:var(--green);background:var(--green-bg)}.av-transfer-opt-btn.is-wrong{border-color:var(--red);background:var(--rose-bg)}.av-transfer-opt-id{border-radius:var(--radius-xs);background:var(--orange-50);width:22px;height:22px;color:var(--orange-d);font:800 11px/1 var(--mono);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.av-transfer-feedback{border-radius:var(--radius-sm);font:600 12px/1.4 var(--sans);margin-top:9px;padding:9px 12px}.av-transfer-feedback.is-correct{background:var(--green-bg);color:var(--green-fg)}.av-transfer-feedback.is-wrong{background:var(--amber-bg);color:var(--amber-fg)}.av-notes-search-bar{justify-content:space-between;align-items:center;gap:8px;margin:9px 0 7px;display:flex}.av-notes-search-input{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 12px/1.3 var(--sans);flex:1;padding:6px 10px}.av-notes-list{flex-direction:column;gap:7px;display:flex}.av-note-item-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;display:flex}.av-note-item-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.av-note-step-badge,.av-note-bm-tag{border-radius:var(--radius-xs);background:var(--orange-50);color:var(--orange-d);font:800 10.5px/1.2 var(--sans);padding:2px 7px}.av-note-bm-tag{background:var(--amber-bg);color:var(--amber-fg)}.av-note-item-text{font:500 12px/1.4 var(--sans);color:var(--soft);margin:4px 0 0}.av-note-jump-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:700 11px/1.2 var(--sans);cursor:pointer;padding:4px 10px}.av-mastery-compare-pills{flex-wrap:wrap;gap:6px;display:inline-flex}.av-mp-pill{border-radius:var(--radius-xs);font:700 11.5px/1.2 var(--sans);padding:4px 10px}.av-mp-pill.is-passive{background:var(--bg2);color:var(--soft)}.av-mp-pill.is-active{background:var(--orange-50);color:var(--orange-d)}.av-mastery-verdict{border-radius:var(--radius-sm);background:var(--bg2);border-left:4px solid var(--orange);font:700 12px/1.4 var(--sans);color:var(--ink);margin:8px 0;padding:8px 11px}.av-mastery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.av-mastery-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);flex-direction:column;gap:6px;padding:9px 11px;display:flex}.av-mastery-card.status-mastered{border-color:var(--green-border);background:var(--green-bg)}.av-mc-top{font:700 11.5px/1.25 var(--sans);justify-content:space-between;align-items:center;gap:6px;display:flex}.av-mc-score{font:800 12px/1.2 var(--mono);color:var(--orange-d)}.av-mc-bar{background:var(--bg2);border-radius:999px;height:7px;overflow:hidden}.av-mc-bar i{background:var(--orange);height:100%;display:block}.av-mc-action-btn{border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--orange-50);color:var(--orange-d);font:700 11px/1.25 var(--sans);text-align:left;cursor:pointer;padding:4px 8px}html[data-theme=dark] .rt-quote-mark{color:#fcd34d;background:#f59e0b2e;border-bottom-color:#fbbf2473}.code-caption-lead{color:var(--fg);font-size:14px;font-weight:600;line-height:1.55;margin:0!important}.ide-code-viewer{color:#e2e8f0;font-family:var(--mono,"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace);background:#0b1120;border:1px solid #94a3b833;border-radius:10px;overflow:hidden}.scaffolding-reference-drawer .ide-code-viewer{border:0;border-radius:0}.ide-code-viewer-bar{background:#0f172ad9;border-bottom:1px solid #94a3b824;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11.5px;display:flex}.ide-code-lang-pill{color:#38bdf8;letter-spacing:.02em;background:#38bdf829;border-radius:999px;align-items:center;padding:2px 8px;font-weight:800;display:inline-flex}.ide-code-count-pill{color:#94a3b8;font-weight:600}.ide-code-lines{padding:10px 0;overflow-x:auto}.ide-code-row{grid-template-columns:44px minmax(0,1fr);align-items:baseline;padding:1.5px 14px 1.5px 0;font-size:13.2px;line-height:1.62;display:grid}.ide-code-row:hover{background:#94a3b812}.ide-code-row.is-hl-line{background:#f59e0b24;border-left:3px solid #f59e0b}.ide-code-ln{-webkit-user-select:none;user-select:none;text-align:right;color:#64748b;font-variant-numeric:tabular-nums;padding-right:12px;font-size:11.5px}.ide-code-row.is-hl-line .ide-code-ln{color:#fbbf24;font-weight:700}.ide-code-content{tab-size:4;font-family:var(--mono,"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace);color:#e2e8f0;overflow-wrap:normal;white-space:pre!important}.scaffolding-cloze-code-view .scaffolding-lc,.scaffolding-cloze-code-view .scaffolding-lc-inline>code{tab-size:4;white-space:pre!important}html:not([data-theme=dark]) .code-walk-code .sh-kw{color:#7c3aed}html:not([data-theme=dark]) .code-walk-code .sh-type{color:#0284c7}html:not([data-theme=dark]) .code-walk-code .sh-fn{color:#2563eb}html:not([data-theme=dark]) .code-walk-code .sh-str{color:#15803d}html:not([data-theme=dark]) .code-walk-code .sh-num{color:#b45309}html:not([data-theme=dark]) .code-walk-code .sh-cmt{color:#64748b}#root{min-height:100vh}.react-app-shell{flex-direction:column;min-height:100vh;display:flex}.app-root{flex:1 0 auto;min-width:0}.mobile-menu-btn{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;width:42px;height:40px;padding:9px;display:none}.mobile-menu-btn span{background:var(--fg);border-radius:4px;width:20px;height:2px;margin:4px auto;display:block}.nav-links a{border-radius:var(--radius-sm);color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;padding:7px 11px;font-size:13.5px;font-weight:650;transition:all .15s;display:inline-flex}.nav-links a:hover,.nav-links a:focus-visible{color:var(--link);background:var(--brand-50);outline:none}.header-actions .search-trigger{white-space:nowrap}.page-shell{padding-top:36px;padding-bottom:64px}.section-subtle{background:color-mix(in srgb, var(--brand-50) 55%, transparent)}.section-head>div{min-width:0}.section-head .btn-secondary{flex-shrink:0}.section-title,.course-page-heading h1,.lesson-heading h1,.portal-heading h1{overflow-wrap:break-word}.course-grid,.day-grid,.portal-overview-grid,.topic-preview-grid,.catalog-grid,.a200-problem-grid{gap:18px;display:grid}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.day-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.portal-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topic-preview-grid,.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.a200-problem-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}@media (width<=1180px){.course-grid,.topic-preview-grid,.catalog-grid,.portal-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.course-card,.day-card,.topic-preview,.problem-card,.a200-problem,.portal-overview-card{border:1.5px solid var(--bento-border);border-radius:var(--bento-radius);background:var(--bento-bg);min-width:0;box-shadow:var(--bento-shadow);transition:border-color var(--duration-normal) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-spring-gentle);flex-direction:column;padding:22px;display:flex}.course-card:hover,.day-card:hover,.topic-preview:hover,.problem-card:hover,.a200-problem:hover,.portal-overview-card:hover{transform:var(--bento-hover-transform);border-color:var(--bento-hover-border);box-shadow:var(--bento-hover-shadow)}.course-card-top{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.course-card h3,.day-card h3,.topic-preview h3,.problem-card h3,.a200-problem h3,.portal-overview-card h3{color:var(--fg);font-family:var(--font-display);letter-spacing:-.015em;overflow-wrap:break-word;margin:6px 0;font-size:17.5px;font-weight:800;line-height:1.35}.course-card h3 a:hover,.problem-card h3 a:hover,.a200-problem h3 a:hover{color:var(--link)}.course-card p,.day-card p,.topic-preview p,.problem-card p,.a200-problem p,.portal-overview-card p{color:var(--fg-muted);margin:0 0 12px;font-size:14px;line-height:1.6}.course-links{flex-wrap:wrap;gap:6px;margin:6px 0 16px;display:flex}.course-links a{border-radius:var(--radius-xs);background:var(--bg-subtle);border:1px solid var(--border);color:var(--fg-muted);transition:all var(--transition-fast);align-items:center;padding:4px 10px;font-size:12.5px;font-weight:650;line-height:1.35;display:inline-flex}.course-links a:hover{color:var(--link);background:var(--brand-50);border-color:var(--brand-300);transform:translateY(-1px)}.course-card .course-start,.card-link{border-top:1px dashed var(--border);color:var(--link);font-family:var(--font-display);align-items:center;gap:6px;margin-top:auto;padding-top:12px;font-size:13.5px;font-weight:800;display:inline-flex}.day-card{min-height:210px}.day-card-top,.topic-preview-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.day-card-focus{color:var(--fg)!important;margin-bottom:6px!important;font-size:13.5px!important}.problem-card{gap:8px}.problem-card-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.problem-num{color:var(--fg-muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:700}.problem-card h3{margin:2px 0;font-size:16px}.problem-card p{margin:0 0 8px;font-size:13px}.problem-card-foot{border-top:1px solid var(--border);color:var(--fg-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;font-size:12.5px;display:flex}.done-mark{color:var(--green-fg);font-weight:800}.catalog-toolbar{align-items:stretch}.catalog-toolbar>input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:42px;color:var(--fg);background:var(--bg);font:inherit;outline:none;padding:0 14px;font-size:14px}.catalog-toolbar>input:focus,.category-select select:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.category-select{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.category-select select{border:1px solid var(--border-strong);min-width:min(100%,240px);max-width:100%;min-height:38px;color:var(--fg);background:var(--bg);font:inherit;border-radius:8px;outline:none;padding:0 30px 0 12px;font-size:13.5px}.catalog-count{color:var(--fg-muted);margin:-8px 0 16px;font-size:13.5px;font-weight:600}.load-more{border:1px solid var(--brand-300);color:var(--link);background:var(--brand-50);font:inherit;border-radius:10px;margin:28px auto 0;padding:10px 20px;font-weight:750;display:block}.hot100-days,.a200-groups{gap:28px;display:grid}.hot-day,.a200-group{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);padding:clamp(18px,3vw,28px)}.hot-day-header{justify-content:flex-start;align-items:flex-start;gap:16px;display:flex}.hot-day-header .badge{flex-shrink:0;margin-top:4px}.hot-day-header h2,.a200-group-title h2{margin:0 0 6px;font-size:clamp(20px,2.8vw,24px);line-height:1.3}.hot-day-header p{color:var(--fg-muted);margin:4px 0;font-size:14px}.hot-group{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.hot-group h3{margin:0 0 4px;font-size:17px}.hot-group>p{color:var(--fg-muted);margin:0 0 12px;font-size:14px}.study-list{gap:10px;display:grid}.study-item{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.study-item-main{min-width:0}.study-item-main a{color:var(--fg);overflow-wrap:break-word;font-size:15px}.study-item-main a:hover{color:var(--link)}.study-item-main p{color:var(--fg-muted);margin:4px 0 0;font-size:13.5px}.study-item-main .pattern-signal{color:var(--link);font-weight:600}.study-item-actions{flex:none;align-items:center;gap:8px;display:flex}.completed-toggle,.icon-toggle{border:1.5px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--fg-muted);font:inherit;box-shadow:0 2px 0 var(--btn-secondary-lip);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring), border-color var(--transition-fast);padding:5px 11px;font-size:12px;font-weight:750}.completed-toggle:active,.icon-toggle:active{box-shadow:0 1px 0 var(--btn-secondary-lip);transform:translateY(1px)}.completed-toggle.is-done,.icon-toggle.is-done{color:var(--algo-final-sorted-fg);border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg);box-shadow:0 2px 0 var(--algo-final-sorted-border)}.icon-toggle{place-items:center;width:31px;height:31px;padding:0;font-size:15px;display:inline-grid}.a200-group-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.a200-problem{padding:16px}.a200-problem>span{color:var(--link);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:800}.a200-problem h3{margin:6px 0 12px;font-size:15.5px}.a200-problem>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.course-page-heading,.lesson-heading,.portal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.course-page-heading>div,.lesson-heading>div,.portal-heading>div{flex:1;min-width:0}.course-page-heading h1,.lesson-heading h1,.portal-heading h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:clamp(26px,3.6vw,36px);line-height:1.22}.course-page-heading p{max-width:100%;color:var(--fg-muted);margin:0;line-height:1.65}.course-page-heading>.btn-primary,.course-page-heading>.btn-secondary,.lesson-heading>.btn-primary,.lesson-heading>.btn-secondary,.portal-heading>.btn-primary,.portal-heading>.btn-secondary{flex:none}.back-link{color:var(--link);align-items:center;gap:6px;margin-bottom:14px;font-size:13.5px;font-weight:700;display:inline-flex}.back-link:hover{text-decoration:underline}.course-layout,.portal-layout,.course-content,.portal-article-content{min-width:0}.course-sidebar details,.portal-sidebar details{border:0}.course-sidebar summary,.portal-sidebar summary{cursor:pointer;color:var(--fg);font-size:14px;font-weight:800;list-style-position:outside}.course-sidebar details>div,.portal-sidebar details>div{gap:3px;margin-top:12px;display:grid}.course-sidebar a,.portal-sidebar a{color:var(--fg-muted);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;line-height:1.45;display:flex}.course-sidebar a span,.portal-sidebar a span{overflow-wrap:break-word;min-width:0}.course-sidebar a:hover,.portal-sidebar a:hover,.course-sidebar a.active,.portal-sidebar a.active{color:var(--link);background:var(--brand-50);font-weight:700}.course-sidebar b{color:var(--link);font-size:9px}.course-progress{color:var(--link);margin-bottom:15px;font-size:13.5px;font-weight:800}.guide-intro{border:1.5px solid var(--brand-200);border-radius:var(--bento-radius);background:linear-gradient(135deg, var(--brand-50), var(--bg-elevated));box-shadow:var(--bento-shadow);padding:24px}.guide-intro h2{font-family:var(--font-display);margin:0 0 9px;font-size:21px}.guide-intro p,.guide-intro li{color:var(--fg-muted)}.guide-tip{border-radius:var(--radius-sm);background:var(--algo-comparison-highlight-bg);border:1.5px solid var(--algo-comparison-highlight-border);margin-top:12px;padding:12px 16px;font-weight:650;color:var(--algo-comparison-highlight-fg)!important}.course-next{justify-content:space-between;gap:12px;margin-top:26px;display:flex}.course-next [aria-disabled=true]{pointer-events:none;opacity:.45}.lesson-badges{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.lesson-badges>span:not(.badge){border:1px solid var(--border);background:var(--bg-subtle);border-radius:999px;padding:2px 9px}.lesson-study-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.lesson-study-grid .study-panel{border-radius:var(--bento-radius,16px);border:1.5px solid var(--bento-border);background:var(--bento-bg);box-shadow:var(--bento-shadow);flex-direction:column;gap:14px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.lesson-study-grid .study-panel:before{content:"";background:linear-gradient(90deg, var(--brand-600), var(--brand-400));opacity:.9;height:4px;position:absolute;inset:0 0 auto}.lesson-study-grid .study-panel-intuition:before{background:linear-gradient(90deg, var(--green,#0d9488), var(--brand-500))}.lesson-study-grid .study-panel>span{color:var(--link);letter-spacing:.045em;margin-bottom:4px;font-size:11.5px;font-weight:850;display:block}.study-panel-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.study-eyebrow-pill{background:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-700);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:850;display:inline-flex}.study-eyebrow-pill.is-intuition{background:var(--green-bg);border-color:var(--green-border);color:var(--green-fg)}.study-strategy-badge{background:var(--purple-bg);border:1px solid var(--purple-border);color:var(--purple-fg);border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:4px 11px;font-size:12px;font-weight:750;display:inline-flex}.lesson-study-grid .study-panel h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);margin:0;font-size:20px;font-weight:850;line-height:1.3}.lesson-study-grid .study-panel p{color:var(--fg);margin:0;font-size:15px;line-height:1.72}.study-structured-body{flex-direction:column;flex:auto;gap:12px;display:flex}.study-lead-para{font-weight:480;color:var(--fg)!important;font-size:15.25px!important;line-height:1.74!important}.study-step-box{background:color-mix(in srgb, var(--bg-subtle) 78%, var(--brand-50));border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:13px 15px;display:flex}.study-panel-intuition .study-step-box{background:color-mix(in srgb, var(--bg-subtle) 78%, var(--green-bg))}.study-step-box-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:11.5px;font-weight:800}.study-step-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.study-step-item{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-xs);color:var(--fg);border-radius:10px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:14.25px;line-height:1.62;display:flex}.study-step-num{background:var(--brand-600);height:22px;color:var(--on-brand);font-family:var(--font-mono);border-radius:999px;flex:0 0 22px;justify-content:center;align-items:center;margin-top:1px;font-size:11.5px;font-weight:800;display:inline-flex}.study-panel-intuition .study-step-num{background:var(--green,#0f766e)}.study-step-text{flex:auto;min-width:0}.study-tail-callout{background:color-mix(in srgb, var(--brand-50) 55%, var(--bg-elevated));border:1px solid var(--brand-200);border-left:4px solid var(--brand-600);color:var(--fg);border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;line-height:1.55;display:flex}.study-tail-callout p{margin:0!important;font-size:14px!important;line-height:1.55!important}.study-tail-badge{background:var(--brand-600);color:var(--on-brand);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11.5px;font-weight:800}.example-card-group{flex-direction:column;gap:10px;margin-top:auto;display:flex}.example-box-rich{border:1.5px solid var(--border)!important;border-left:4px solid var(--brand-600)!important;background:var(--bg-subtle)!important;border-radius:12px!important;padding:13px 15px!important}.example-box-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.example-box-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:11.5px;font-weight:800}.example-io-rows{flex-direction:column;gap:7px;display:flex}.example-io-row{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.io-badge{text-align:center;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;border-radius:6px;flex:0 0 60px;padding:2px 7px;font-size:11px;font-weight:800}.io-badge.io-in{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.io-badge.io-out{background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border)}.example-io-row code{font-family:var(--font-mono);color:var(--fg);word-break:break-word;font-size:13.5px;font-weight:650;display:inline!important}.example-io-row code.io-out-code{color:var(--green-fg);font-weight:800}.example-walkthrough-note{background:color-mix(in srgb, var(--brand-50) 55%, var(--bg-elevated));border:1px solid var(--brand-200);border-left:4px solid var(--brand-600);color:var(--fg);border-radius:12px;flex-direction:column;gap:7px;padding:12px 14px;font-size:13.5px;line-height:1.58;display:flex}.example-walkthrough-head{justify-content:space-between;align-items:center;display:flex}.example-walkthrough-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--brand-700);align-items:center;gap:5px;font-size:11.5px;font-weight:850;display:inline-flex}.example-walkthrough-content{flex-direction:column;gap:6px;display:flex}.example-walkthrough-intro,.example-walkthrough-body{color:var(--fg);font-weight:600;margin:0!important;font-size:13.8px!important;line-height:1.58!important}.example-walkthrough-steps{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.example-walkthrough-steps li{background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg);border-radius:8px;padding:5px 10px 5px 22px;font-size:13.5px;line-height:1.52;position:relative}.example-walkthrough-steps li:before{content:"▸";color:var(--brand-600);font-weight:800;position:absolute;top:5px;left:8px}.example-walkthrough-outro{border-top:1px dashed var(--brand-200);padding-top:6px;color:var(--fg-muted)!important;margin:2px 0 0!important;font-size:13.3px!important;line-height:1.55!important}.example-box code{display:block}.example-box code+code{margin-top:4px}.guide-tip-structured{flex-direction:column;gap:5px;display:flex;background:var(--amber-bg)!important;border:1.5px solid var(--amber-border)!important;border-left:4px solid var(--amber)!important;border-radius:12px!important;margin-top:auto!important;padding:13px 16px!important}.guide-tip-head{text-transform:uppercase;letter-spacing:.04em;color:var(--amber);font-size:11.5px;font-weight:850}.guide-tip-body{font-size:14.25px;font-weight:650;line-height:1.62;color:var(--amber-fg)!important}.rt-code{font-family:var(--font-mono);background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;margin:0;padding:1.5px 5px;font-size:.875em;font-weight:700;line-height:1.4;display:inline}.rt-complexity{font-family:var(--font-mono);background:var(--green-bg);color:var(--green-fg);border:1px solid var(--green-border);border-radius:999px;margin:0 1px;padding:1px 7px;font-size:.86em;font-weight:800;line-height:1.45;display:inline-block}.rt-complexity.is-slow{background:var(--rose-bg);color:var(--rose-fg);border-color:var(--rose-border)}.rt-concept{background:var(--purple-bg);color:var(--purple-fg);border-bottom:1.5px solid var(--purple-border);border-radius:5px;padding:1px 6px;font-weight:750;display:inline}.rt-strong{color:var(--fg);font-weight:800}.rt-em{background:var(--amber-bg);color:var(--amber-fg);border-radius:5px;padding:1px 5px;font-weight:750}.rt-ok{background:var(--green-bg);color:var(--green-fg);border-radius:5px;padding:1px 6px;font-weight:750}.rt-bad{background:var(--rose-bg);color:var(--rose-fg);border-radius:5px;padding:1px 6px;font-weight:750}.rt-ptr{font-family:var(--font-mono);background:var(--info-bg);color:var(--info-fg);border:1px solid var(--info-border);border-radius:5px;padding:1px 6px;font-size:.89em;font-weight:750}html.dark .rt-code,html[data-theme=dark] .rt-code{color:var(--brand-400);background:#6366f124;border-color:#818cf84d}html.dark .study-eyebrow-pill,html[data-theme=dark] .study-eyebrow-pill,html.dark .example-walkthrough-tag,html[data-theme=dark] .example-walkthrough-tag,html.dark .io-badge.io-in,html[data-theme=dark] .io-badge.io-in{color:var(--brand-400)}.lesson-viz-section{min-width:0;margin-top:24px}.player-card-bar>span{color:var(--fg-muted);font-size:12px}.react-viz-mount{min-width:0;padding:10px;overflow:auto hidden}.react-viz-mount>*{min-width:0}.compact-viz{min-height:360px}.code-header p{color:var(--fg-muted);margin:4px 0 12px;font-size:14px}.code-box pre{border-radius:var(--radius-md);background:var(--code-bg);max-width:100%;color:var(--code-fg);border:1.5px solid var(--code-border);font-family:var(--font-mono);box-shadow:var(--shadow-inset);margin:0;padding:18px;font-size:13px;line-height:1.72;overflow:auto}.code-tabs{flex-wrap:wrap;gap:8px;padding:0 0 12px;display:flex}.code-tabs button{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--fg-muted);background:var(--bg-elevated);font-family:var(--font-display);box-shadow:0 2px 0 var(--btn-secondary-lip);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring), border-color var(--transition-fast);padding:6px 13px;font-size:12.5px;font-weight:750}.code-tabs button:hover{border-color:var(--brand-400);color:var(--fg);box-shadow:0 3px 0 var(--btn-secondary-lip);transform:translateY(-1px)}.code-tabs button.active{color:var(--on-brand);background:var(--brand-600);border-color:var(--brand-700);box-shadow:0 2px 0 var(--btn-tactile-lip)}.complexity-grid,.boundary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.complexity-grid>div,.boundary-grid>div,.pitfall{border:1.5px solid var(--bento-border);border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--shadow-xs);padding:15px 18px}.complexity-grid span{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;display:block}.complexity-grid strong{color:var(--link);font-family:var(--font-mono);margin:4px 0 2px;font-size:22px;display:block}.complexity-grid p,.boundary-grid p,.pitfall p{color:var(--fg-muted);margin:5px 0 0;font-size:13.5px}.detail-section{margin-top:22px}.detail-section h3{margin:0 0 10px;font-size:16px}.pitfall+.pitfall{margin-top:10px}.boundary-grid strong{color:var(--green-fg);margin-top:8px;display:block}.step-narrative details{border-top:1px solid var(--border)}.step-narrative summary{cursor:pointer;padding:13px 0;font-weight:750}.step-narrative p{color:var(--fg-muted)}.portal-layout{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.portal-sidebar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);align-self:start;padding:16px}.portal-article-content{overflow-wrap:break-word;margin-top:0}.portal-article-content img,.portal-article-content video,.portal-article-content iframe,.portal-article-content table{max-width:100%}.portal-article-content pre{max-width:100%;overflow:auto}.portal-article-content table{white-space:nowrap;display:block;overflow-x:auto}.modal-backdrop{z-index:150}.search-modal{flex-direction:column;max-height:min(640px,100vh - 100px);display:flex}.search-modal-input{border-bottom:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:54px;color:var(--fg-muted);align-items:center;gap:10px;padding:0 16px;display:flex}.search-modal-input input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:15px}.search-modal-input button{border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--fg-muted);border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.search-modal-results{min-height:80px}.search-modal-results a{border-radius:9px;padding:11px 12px;display:block}.search-modal-results a:hover{background:var(--brand-50)}.search-modal-results strong,.search-modal-results span{display:block}.search-modal-results span,.empty-search{color:var(--fg-muted);font-size:13px}.empty-search{margin:0;padding:16px 12px}.footer-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:36px;display:grid}.footer-layout p{max-width:610px}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.footer-links h2{color:var(--fg);margin:0 0 8px;font-size:13.5px}.footer-links a{margin:6px 0;display:block}.footer-links a:hover{color:var(--link)}.loading-screen,.not-found{text-align:center;place-content:center;justify-items:center;min-height:62vh;padding:30px;display:grid}.loading-mark{border-radius:var(--radius-md);width:50px;height:50px;color:var(--on-brand);background:var(--brand-600);place-items:center;margin-bottom:14px;font-size:22px;font-weight:900;display:grid}.not-found h1{margin-bottom:0}.empty-state{border:1px dashed var(--border-strong);color:var(--fg-muted);text-align:center;border-radius:10px;padding:20px}@media (width>=980px){.portal-layout{grid-template-columns:270px minmax(0,1fr);align-items:start}.portal-sidebar{max-height:calc(100vh - 100px);position:sticky;top:82px;overflow:auto}}@media (width<=1100px){.header-inner{gap:10px}.nav-links a{padding-inline:7px;font-size:12.5px}.search-trigger{padding-inline:9px}}@media (width<=880px){.top-banner{font-size:12px;line-height:1.45}.header-inner{height:58px;position:relative}.brand-logo{gap:8px;font-size:16px}.brand-badge{border-radius:9px;width:30px;height:30px}.brand-sub{display:none}.mobile-menu-btn{margin-left:auto;display:block}.nav-links{z-index:60;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);border-radius:12px;padding:8px;display:none;position:absolute;top:calc(100% + 7px);left:20px;right:20px}.nav-links.is-open{display:grid}.nav-links a{padding:10px 11px;font-size:14px}.header-actions{gap:6px}.search-trigger{justify-content:center;width:38px;padding:0}.search-trigger span:not(:first-child),.search-kbd{display:none}.course-layout{gap:16px;padding-top:0}.course-sidebar{max-height:none;padding:12px;position:static}.course-sidebar details:not([open])>div,.portal-sidebar details:not([open])>div{display:none}.portal-sidebar{padding:12px}.footer-layout{grid-template-columns:1fr;gap:20px}}@media (width<=640px){.container{padding-inline:16px}.top-banner{padding:7px 12px}.top-banner strong{font-weight:750}.top-banner a{margin-left:4px;display:inline}.page-shell{padding-top:28px;padding-bottom:42px}.hero-section{padding:28px 0 34px}.hero-title{font-size:30px}.hero-desc{font-size:15px}.hero-ctas,.course-next{grid-template-columns:1fr;display:grid}.hero-ctas .btn-primary,.hero-ctas .btn-secondary,.course-next .btn-primary,.course-next .btn-secondary{justify-content:center}.hero-stats{grid-template-columns:repeat(2,1fr);gap:16px 10px}.section-block{padding:34px 0}.section-head{align-items:flex-start;margin-bottom:18px}.section-head .btn-secondary{justify-content:center;width:100%}.section-title{font-size:22px}.course-grid,.day-grid,.portal-overview-grid,.topic-preview-grid,.catalog-grid,.a200-problem-grid{grid-template-columns:1fr}.course-card,.day-card,.topic-preview,.problem-card,.a200-problem,.portal-overview-card,.hot-day,.a200-group{padding:16px}.catalog-toolbar{margin-bottom:18px;padding:13px}.filter-pills{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.filter-pill{flex:none}.category-select{align-items:stretch}.category-select select{width:100%}.hot-day-header,.a200-group-title,.course-page-heading,.lesson-heading,.portal-heading{display:grid}.course-page-heading>.btn-primary,.course-page-heading>.btn-secondary,.lesson-heading>.btn-primary,.lesson-heading>.btn-secondary,.portal-heading>.btn-primary,.portal-heading>.btn-secondary{justify-content:center}.study-item{gap:10px;display:grid}.study-item-actions{justify-content:flex-start}.lesson-study-grid{grid-template-columns:1fr}.study-panel,.article-box,.guide-intro{padding:16px}.player-card-bar{align-items:flex-start;padding:10px 12px}.player-card-bar>span{width:100%}.viz-mount-box,.react-viz-mount{min-height:300px;padding:5px}.compact-viz{min-height:280px}.code-box pre{padding:13px;font-size:13px}.complexity-grid,.boundary-grid{grid-template-columns:1fr}.modal-backdrop{align-items:flex-start;padding:10px}.search-modal{border-radius:13px;max-height:calc(100vh - 20px)}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=380px){.footer-links{grid-template-columns:1fr}.hero-title{font-size:27px}}.fsd-lesson-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);margin-bottom:20px}.fsd-lesson-picker>summary{min-height:44px;color:var(--fg);cursor:pointer;overflow-wrap:anywhere;padding:12px 16px;font-weight:650}.fsd-lesson-picker .fsd-lesson-switcher{background:var(--bg-elevated)!important;border:0!important;margin:0!important}.fsd-lesson-switcher>strong{color:var(--fg-muted)!important}.av [hidden],.av [hidden]{display:none!important}.av{--av-stage-h:340px;--av-stage-min-h:270px;--av-stage-pad:14px 18px 18px}.av>.av-stage[data-stage-tier=compact]{--av-stage-h:235px;--av-stage-min-h:195px}.av>.av-stage[data-stage-tier=medium]{--av-stage-h:320px;--av-stage-min-h:265px}.av>.av-stage[data-stage-tier=tall]{--av-stage-h:415px;--av-stage-min-h:340px}.av.av-fsd,.av>.av-stage[data-stage-tier=auto]{--av-stage-h:auto;--av-stage-min-h:0}.av:has(.tpl-sysdesign){--av-stage-h:auto;--av-stage-min-h:0}.av:has(.tpl-code){--av-stage-h:auto;--av-stage-min-h:0}.av>.av-stage{transition:min-height .22s;height:auto!important;min-height:var(--av-stage-h,300px)!important;padding:var(--av-stage-pad)!important}.av>.av-stage>.step-title-row{flex-wrap:wrap;flex-shrink:0;align-self:flex-start;align-items:center;gap:8px;max-width:100%;margin-bottom:4px;display:flex}.av.av-fsd .stage-body{justify-content:flex-start!important;align-items:flex-start!important}.av-stage:has(.tpl-sysdesign) .stage-body{justify-content:flex-start!important;align-items:flex-start!important}.av>.av-stage .step-title{white-space:normal;overflow-wrap:anywhere;flex-shrink:0;align-self:stretch;width:100%;font-size:14px;line-height:1.4;border:0!important;border-bottom:1px dashed var(--line,var(--border))!important;max-width:100%!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-radius:0!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;padding:0 0 8px!important;display:inline-flex!important;position:static!important}.av>.av-stage .step-title .av-step-title-text{font-family:var(--font-display);color:var(--ink,var(--fg));font-size:14.5px;font-weight:800;line-height:1.35}.av>.av-stage .step-title:empty{display:none!important}.av-head .ptag{max-width:220px!important}.av-head .ttl{font-family:var(--font-display);flex:180px!important;font-weight:800!important}.av-head .av-fs-btn{margin-left:auto}@container algo-player (width<=920px){.av-head .wm{display:none!important}}.av:not(.av-fullscreen) .av-diagram-toolbar .av-stage-fs{display:none!important}.av-diagram-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-self:stretch;gap:5px;max-width:100%;margin-block:2px 6px;position:relative!important;inset:auto!important}.av-diagram-toolbar button{white-space:nowrap;flex-shrink:0;height:auto;min-height:30px}.av-head button,.av-learning-mode button{white-space:nowrap;flex-shrink:0;height:auto;min-height:34px}.av-ctl button,.sd-nf-close{min-width:40px;height:auto;min-height:40px}.av-zoom-group button{min-width:38px;min-height:36px}.av-zoom-group{height:auto;min-height:36px}.sd-board{overscroll-behavior-x:contain;overflow-x:auto}.sd-scroll-hint{display:none}@container algo-player (width<=560px){.av:not(.av-fullscreen) .sd-board>.sd-svg{min-width:680px;max-width:none!important;max-height:none!important}.sd-scroll-hint{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.6;display:block}}html.dark .sd-node.active .sd-node-title-html{color:#c4b5fd!important}html.dark .sd-node.updated .sd-node-title-html{color:#93c5fd!important}html.dark .sd-node.ok .sd-node-title-html{color:#86efac!important}html.dark .sd-node.warn .sd-node-title-html{color:#fcd34d!important}html.dark .sd-node.danger .sd-node-title-html{color:#fca5a5!important}.portal-search-results{margin-bottom:24px}.portal-search-results ul{max-height:440px;padding-left:24px;overflow:auto}.portal-search-results a{color:var(--link);padding-block:8px;display:inline-block}.portal-index-intro{margin-top:0;font-size:17px;line-height:1.75}.portal-index-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;display:grid}.portal-index-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;padding:20px;display:flex}.portal-index-card:hover{border-color:var(--link)}.portal-index-card h2{margin:0;font-size:18px;line-height:1.5}.portal-index-card p{color:var(--fg-muted);font-size:15px;line-height:1.7}.portal-index-card>span{color:var(--link);margin-top:auto;font-weight:650}.portal-practice-links{margin-top:20px}.portal-practice-links summary{cursor:pointer;padding-block:12px}.av-stage-click-hint{white-space:normal;text-align:center;margin-top:10px;font-size:13px;line-height:1.5;position:static;transform:none}.sd-node:focus-visible{outline:none}.sd-node:focus-visible>rect{stroke:var(--link);stroke-width:4px;stroke-dasharray:6 3}.sd-node-focus-bar[hidden]{display:none}.sd-node-focus-bar{flex-wrap:wrap}.av-coach-fold-body{font-size:15px;line-height:1.75}.wt-drawer:not(.open){visibility:hidden}.wt-head{flex-wrap:wrap}.wt-ttl{min-width:0}.wt-head button,.wt-send{min-height:44px}.wt-x,.wt-expand{min-width:44px}.wt-send:disabled{opacity:.65;cursor:wait}@media (width<=600px){.av{--av-stage-h:360px;--av-stage-min-h:300px;--av-stage-pad:12px 12px 14px}.av-head{flex-wrap:wrap}.av-head .ttl{white-space:normal;flex-basis:65%}.av-diagram-toolbar{justify-content:flex-start;align-self:stretch}.av-diagram-toolbar button,.av-head button,.av-learning-mode button,.av-ctl button,.av-zoom-group button{min-width:44px;min-height:44px}.complexity-grid,.boundary-grid{grid-template-columns:minmax(0,1fr)}.wt-ttl small{white-space:normal}}html{scroll-padding-top:calc(var(--site-header-height,74px) + 16px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.skip-link{z-index:200;border:2px solid var(--link);background:var(--bg-elevated);color:var(--fg);border-radius:8px;padding:10px 16px;font-weight:700;position:fixed;top:8px;left:16px;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:translateY(0)}.react-app-shell :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.wt-drawer :is(button,input,textarea,a):focus-visible{outline:3px solid var(--link);outline-offset:3px}.react-app-shell button:disabled{cursor:not-allowed;opacity:.55}.hero-grid>*,.fsd-audio-studio>*,.fsd-lecture-workspace>*,.fsd-audio-controls>*,.study-panel,.article-box{min-width:0}.hero-stats>div>b{font-size:22px;line-height:1.35;display:block}.hero-stats>div>span{color:var(--fg-muted);margin-top:4px;font-size:13px;display:block}.nav-links a[aria-current=page]{color:var(--link);background:var(--brand-50)}.course-card p,.day-card p,.problem-card p,.topic-preview p,.portal-overview-card p,.study-item-main p,.complexity-grid p,.boundary-grid p,.pitfall p{font-size:15px;line-height:1.65}.fsd-script-body p,.fsd-dialogue-body p{overflow-wrap:anywhere;font-size:16px;line-height:1.8}.fsd-script-body,.fsd-dialogue-body{max-width:100%}.step-narrative .step-trace-card p,.av-coach-lecture>div,.av-coach-card>strong,.av-coach-check>strong,.av-coach-memory p,.av-insight-item strong{font-size:14px;line-height:1.7}.av-coach-title small,.av-coach-memory>strong,.av-legend-item,.av-trace-label,.fsd-track-item p{font-size:12.5px;line-height:1.5}.av-coach-lecture>span,.av-coach-card>span,.av-coach-check>span,.av-insight-item span{letter-spacing:.02em;font-size:11.5px;line-height:1.4}.article-box :is(p,li,td),.guide-intro :is(p,li),.example-box code{overflow-wrap:anywhere}.article-box pre{max-width:100%;overflow-x:auto}.portal-article-content :is(input,select,textarea){min-width:0;max-width:100%;font:inherit}.portal-article-content :is(article,section,div){min-width:0}.portal-article-content table{max-width:100%;display:block;overflow-x:auto}.portal-article-content img{max-width:100%;height:auto}.article-box :not(pre)>code{white-space:normal;overflow-wrap:anywhere}.course-sidebar a,.portal-sidebar a{min-height:44px;font-size:14px}.course-sidebar summary,.portal-sidebar summary{padding-block:8px;line-height:1.5}.mobile-menu-btn,.theme-btn,.search-trigger,.icon-toggle{flex-shrink:0;min-width:44px;min-height:44px}.completed-toggle,.filter-pill,.code-tabs button,.course-links a,.fsd-audio-speed button,.fsd-lecture-pill,.fsd-collapse-pill,.fsd-lecture-pill-expand,.fsd-audio-sync-toggle,.search-modal-input button{min-height:38px;line-height:1.4}.demo-tab{min-height:32px;padding:5px 11px;line-height:1.35}.course-links a{align-items:center}.search-modal-input{padding-block:8px}.search-modal-results{overscroll-behavior:contain;flex:auto;min-height:0;scroll-padding-block:10px}.search-modal-results a:focus-visible{outline-offset:-3px;background:var(--brand-50)}.search-modal{max-height:min(640px,100dvh - 40px)}.empty-state .btn-secondary{margin:12px auto 0;display:flex}.fsd-audio-speed button.active{background:var(--brand-600);color:var(--on-brand)}html.dark .fsd-role-pill.interviewer,html.dark .fsd-role-badge.interviewer{color:var(--amber-fg)}html.dark .fsd-role-pill.candidate,html.dark .fsd-role-badge.candidate{color:var(--green-fg)}html.dark .btn-primary,html.dark .code-tabs button.active,html.dark .filter-pill.active,html.dark .demo-tab.active,html.dark .fsd-lecture-pill.active,html.dark .fsd-audio-speed button.active{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand)}html.dark .btn-primary:hover{background:var(--brand-700);color:var(--on-brand)}.sd-nf-close{background:var(--bg-elevated)}.fsd-audio-studio{container:audio-studio/inline-size}@container audio-studio (width<=760px){.fsd-lecture-workspace{grid-template-columns:minmax(0,1fr)}.fsd-lecture-tracklist{max-height:320px}.fsd-audio-mode-tabs{grid-template-columns:minmax(0,1fr)}}@media (width>=881px){.header-inner{flex-wrap:wrap;gap:8px 16px;height:auto;min-height:64px;padding-block:10px}.header-inner .nav-links{flex-wrap:wrap;flex-basis:100%;order:3;justify-content:center;overflow:visible}.header-inner .nav-links a{min-height:40px}html{scroll-padding-top:calc(var(--site-header-height,132px) + 16px)}.course-sidebar,.portal-sidebar{top:calc(var(--site-header-height,122px) + 16px);max-height:calc(100dvh - var(--site-header-height,122px) - 32px)}}@media (width>=1121px){.lesson-learning-workspace .lesson-viz-section{top:calc(var(--site-header-height,122px) + 16px)}}@media (width<=979px){.course-sidebar{max-height:none;position:static}}@media (width<=640px){.header-inner,.brand-logo{gap:6px}.mobile-menu-btn{padding:8px}.filter-pills{flex-wrap:wrap;overflow:visible}.catalog-toolbar>input,.category-select select,.search-modal-input input,#wt-ta{font-size:16px}.fsd-audio-controls,.fsd-lecture-script-panel,.fsd-dialogue-card{padding:12px}.fsd-audio-btn-group{width:100%}.fsd-audio-btn-group>button{flex:auto;justify-content:center}.fsd-audio-options,.fsd-lecture-pill-bar{gap:8px}.fsd-lecture-pill{text-align:left;flex-wrap:wrap}.fsd-mock-dialogue-list{max-height:none;padding-right:0;overflow:visible}}@media (prefers-reduced-motion:reduce){html,.react-app-shell *,.wt-drawer,.wt-fab{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fsd-hero-header{flex-direction:column;gap:16px;margin-bottom:18px;display:flex}.fsd-hero-toprow{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.fsd-hero-title-group{flex:0 auto;min-width:0}.fsd-hero-title-group h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:clamp(24px,3.2vw,34px);line-height:1.22}.fsd-hero-actions{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.fsd-hero-roadmap{border-radius:var(--bento-radius);border:1.5px solid var(--bento-border);background:var(--bento-bg);box-shadow:var(--bento-shadow);padding:18px 20px}.fsd-hero-roadmap-lead{border-bottom:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.fsd-hero-roadmap-lead p{color:var(--fg);margin:0;font-size:14.5px;line-height:1.55}.fsd-hero-roadmap-lead strong{color:var(--link)}.fsd-hero-roadmap-lead>span{color:var(--fg-muted);white-space:nowrap;font-size:12.5px;font-weight:650}.fsd-hero-steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.fsd-hero-step-card{text-align:left;border-radius:var(--radius-md);border:1.5px solid var(--bento-border);background:var(--bg);color:var(--fg);cursor:pointer;box-shadow:0 2px 0 var(--btn-secondary-lip);transition:border-color var(--duration-fast) var(--ease-out-quart), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring);flex-direction:column;align-items:flex-start;gap:6px;padding:14px 15px;display:flex}.fsd-hero-step-card:hover{border-color:var(--bento-hover-border);background:var(--bg-elevated);box-shadow:0 4px 0 var(--btn-secondary-lip), var(--shadow-sm);transform:translateY(-2px)}.fsd-hero-step-card:active{box-shadow:0 1px 0 var(--btn-secondary-lip);transform:translateY(1px)}.fsd-hero-step-top{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.fsd-hero-step-top small{color:var(--fg-muted);font-size:11.5px;font-weight:600}.fsd-hero-step-title{color:var(--fg);font-size:13.5px;font-weight:750;line-height:1.4;display:block}.fsd-hero-step-desc{color:var(--fg-muted);margin:0;font-size:12.8px;line-height:1.55}.fsd-hero-step-main{color:var(--fg);font-weight:550}.fsd-hero-step-paren{color:var(--fg-muted);font-weight:400}.fsd-inline-code{background:var(--brand-50);border:1px solid var(--brand-200);color:var(--link);border-radius:5px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;font-weight:650}.fsd-li-label{color:var(--fg);font-weight:750}.fsd-card-list{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.fsd-card-list li{color:var(--fg-muted);font-size:14px;line-height:1.65}.fsd-playbook-page .course-layout{gap:16px;padding-top:4px;grid-template-columns:1fr!important}.fsd-playbook-page .course-sidebar{padding:10px 16px;max-height:none!important;position:static!important}.fsd-toc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px 12px!important;display:grid!important}.fsd-jump-steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.fsd-jump-step-card{flex-direction:column;align-items:flex-start;display:flex;padding:14px 15px!important}.fsd-jump-step-card h3{margin:4px 0 6px!important;font-size:14px!important}.fsd-jump-step-card p{margin:0 0 10px!important;font-size:13px!important;line-height:1.55!important}@media (width<=1140px){.fsd-hero-steps-grid,.fsd-jump-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=640px){.fsd-hero-steps-grid,.fsd-jump-steps-grid{grid-template-columns:1fr!important}.fsd-hero-actions{width:100%}.fsd-hero-actions>button{flex:auto;justify-content:center}}.hero-player-card{min-width:0;max-width:100%}.hero-player-bar{flex-direction:column;align-items:stretch;gap:8px;min-width:0;max-width:100%;padding:12px 14px;display:flex}.hero-player-bar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hero-category-tabs{background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.hero-category-tab{min-height:30px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:750;transition:all .15s}.hero-category-tab:hover{color:var(--fg)}.hero-category-tab.active{background:var(--bg-elevated);color:var(--brand-600);box-shadow:var(--shadow-sm)}html.dark .hero-category-tab.active{background:var(--brand-600);color:var(--on-brand)}.hero-open-full{flex-shrink:0;margin-left:auto}.hero-player-bar .demo-tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;width:100%;min-width:0;max-width:100%;padding:2px 2px 6px;display:flex;overflow-x:auto}.hero-player-bar .demo-tab{white-space:nowrap;flex:none}.av:not(.av-bare),.av.av-with-trace:not(.av-bare),.av.av-with-trace.av-trace-collapsed:not(.av-bare),.lesson-learning-workspace .av:not(.av-bare),.lesson-learning-workspace .av.av-with-trace:not(.av-bare),.lesson-learning-workspace .av.av-with-trace.av-trace-collapsed:not(.av-bare){flex-direction:column!important;align-items:stretch!important;gap:0!important;display:flex!important}.av>*{box-sizing:border-box;width:100%;min-width:0;grid-area:auto!important}.av>.av-ctl{border-top:1px solid var(--line,var(--border))!important;border-bottom:1px solid var(--line,var(--border))!important;background:color-mix(in srgb, var(--bg-elevated) 94%, var(--brand-50))!important}.av>.av-current-explanation{background:var(--card,var(--bg-elevated));flex-direction:column;gap:2px;display:flex}.av.av-with-trace:not(.av-bare)>.av-code-trace,.lesson-learning-workspace .av:not(.av-bare)>.av-code-trace{width:auto;border:1px solid var(--line,var(--border))!important;border-radius:10px!important;grid-area:auto!important;max-height:none!important;margin:6px 16px 12px!important}.av.av-with-trace.av-trace-collapsed:not(.av-bare)>.av-code-trace,.lesson-learning-workspace .av.av-with-trace.av-trace-collapsed:not(.av-bare)>.av-code-trace{border:1px dashed var(--line,var(--border))!important;background:var(--bg-subtle)!important;padding-top:0!important}.av-code-trace.is-collapsed .av-legend{display:none!important}.av-tier-label{text-transform:uppercase;letter-spacing:.04em;color:var(--soft,var(--fg-muted));white-space:nowrap;margin-right:4px;font-size:11px;font-weight:800}.av-learning-mode{flex-wrap:wrap!important;align-items:center!important;gap:6px!important;padding:8px 12px!important;display:flex!important}.av-code-trace:not(.is-collapsed) .av-trace-hint{display:none!important}.av-trace-toggle{flex-shrink:0;margin-left:auto!important}@container algo-player (width<=760px){.av-trace-hint{display:none!important}.av-coach-grid-4{grid-template-columns:1fr!important}}.fsd-topbar{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.fsd-topbar-left{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.fsd-topbar-label{color:var(--fg-muted);white-space:nowrap;font-size:13px;font-weight:750}.fsd-lesson-select{border:1px solid var(--border-strong);background:var(--bg);max-width:min(460px,100%);min-height:36px;color:var(--fg);cursor:pointer;border-radius:9px;padding:6px 12px;font-size:13.5px;font-weight:700}.fsd-topbar-nav-btns{align-items:center;gap:6px;display:inline-flex}.fsd-nav-pill{min-height:34px!important;padding:5px 11px!important;font-size:12.5px!important}.fsd-done-btn{flex-shrink:0;min-height:36px!important;padding:6px 14px!important;font-size:13px!important}.fsd-clean-hero{gap:18px;margin-bottom:20px}.fsd-clean-summary{color:var(--fg-muted);margin:8px 0 0;font-size:15px;line-height:1.65}.fsd-workflow-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.fsd-workflow-tab{text-align:left;border-radius:var(--radius-md);border:1.5px solid var(--bento-border);background:var(--bento-bg);color:var(--fg);cursor:pointer;box-shadow:0 3px 0 var(--btn-secondary-lip), var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring), border-color var(--transition-fast);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.fsd-workflow-tab:hover{border-color:var(--bento-hover-border);box-shadow:0 4px 0 var(--btn-secondary-lip), var(--shadow-sm);transform:translateY(-2px)}.fsd-workflow-tab:active{box-shadow:0 1px 0 var(--btn-secondary-lip);transform:translateY(1px)}.fsd-workflow-tab.active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg);box-shadow:var(--voice-step-active-shadow)}html.dark .fsd-workflow-tab.active{border-color:var(--voice-step-active-border);background:var(--voice-step-active-bg)}.fsd-workflow-tab-top{justify-content:space-between;align-items:center;gap:6px;width:100%;display:flex}.fsd-workflow-num{text-transform:uppercase;letter-spacing:.04em;color:var(--link);font-size:11px;font-weight:800}.fsd-workflow-start-badge{background:var(--brand-600);color:var(--on-brand);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:750}.fsd-workflow-meta{color:var(--fg-muted);font-size:11.5px;font-weight:650}.fsd-workflow-tab strong{color:var(--fg);font-size:14.5px;font-weight:800;line-height:1.35}.fsd-workflow-tab small{color:var(--fg-muted);font-size:12.2px;line-height:1.45}.fsd-stage-one-container,.fsd-stage-audio-container,.fsd-stage-mock-container,.fsd-stage-code-container{flex-direction:column;gap:16px;display:flex}.fsd-step-stepper-box{border-radius:var(--bento-radius);border:1.5px solid var(--bento-border);background:var(--bento-bg);box-shadow:var(--bento-shadow);padding:16px 18px}.fsd-step-stepper-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.fsd-step-stepper-head strong{font-family:var(--font-display);color:var(--fg);font-size:15px;font-weight:800;display:block}.fsd-step-stepper-head span{color:var(--fg-muted);margin-top:2px;font-size:12.5px;display:block}.fsd-step-pills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fsd-step-pill{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;box-shadow:0 2px 0 var(--btn-secondary-lip);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring), border-color var(--transition-fast);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 13px;display:flex}.fsd-step-pill:hover{border-color:var(--brand-400);background:var(--bg-elevated);box-shadow:0 3px 0 var(--btn-secondary-lip);transform:translateY(-1px)}.fsd-step-pill:active{box-shadow:0 1px 0 var(--btn-secondary-lip);transform:translateY(1px)}.fsd-step-pill.done{border-color:var(--algo-final-sorted-border);background:var(--algo-final-sorted-bg)}.fsd-step-pill.active{border-color:var(--brand-700);background:var(--brand-600);color:var(--on-brand);box-shadow:0 2px 0 var(--btn-tactile-lip), var(--shadow-sm)}.fsd-step-pill-num{text-transform:uppercase;letter-spacing:.03em;color:var(--link);font-size:11px;font-weight:800}.fsd-step-pill.active .fsd-step-pill-num{color:var(--on-brand);opacity:.85}.fsd-step-pill-title{color:inherit;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:12.8px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.fsd-clean-player-card .av>.av-chapters,.fsd-clean-player-card .av>.av-legend{display:none!important}.fsd-article-meta-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fsd-step-footer-nav,.fsd-stage-bottom-cta{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:16px;display:flex}.fsd-step-footer-status{color:var(--fg-muted);font-size:13px;font-weight:700}.lesson-learning-workspace{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:22px!important;display:grid!important}.lesson-learning-workspace .lesson-viz-section{width:100%!important;position:static!important;top:auto!important}.lesson-learning-workspace .step-narrative{width:100%!important;max-height:none!important;overflow:visible!important}.beginner-example-chip{background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.beginner-example-chip span{color:var(--fg-muted);font-weight:700}.beginner-example-chip code{font-family:var(--mono);color:var(--fg);word-break:break-word;font-size:12.5px}.beginner-trace-steps{flex-direction:column;gap:10px;display:flex}.beginner-trace-step{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:5px;padding:11px 13px;display:flex}.beginner-trace-step-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.beginner-trace-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--brand-50);color:var(--link);border-radius:999px;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:800;display:inline-flex}.beginner-jump-btn{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--link);cursor:pointer;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;transition:all .15s}.beginner-jump-btn:hover{border-color:var(--link);background:var(--brand-50)}.beginner-trace-step strong{color:var(--fg);font-size:13.8px;line-height:1.45}.beginner-trace-step p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.5}.beginner-rules-list{flex-direction:column;gap:10px;display:flex}.beginner-rule-item{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.beginner-rule-tag{background:var(--amber-bg);color:var(--amber-fg);border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:11.5px;font-weight:800}.beginner-rule-item p{color:var(--fg);margin:0;font-size:13.5px;line-height:1.45}.beginner-rule-item small{color:var(--fg-muted);font-size:12.5px;line-height:1.45}.step-narrative-heading{flex-wrap:wrap!important;justify-content:space-between!important;align-items:flex-start!important;gap:16px!important;margin-bottom:14px!important;display:flex!important}.step-narrative-mode-switch{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;align-items:center;gap:6px;padding:4px;display:inline-flex}.step-narrative-mode-switch button{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 13px;font-size:13px;font-weight:700;transition:all .15s}.step-narrative-mode-switch button.active{background:var(--brand-600);color:var(--on-brand);box-shadow:var(--shadow-xs)}.step-narrative-filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:14px;display:flex}.step-phase-pill{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg-muted);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:12.8px;font-weight:700;transition:all .15s}.step-phase-pill:hover{border-color:var(--link);color:var(--fg)}.step-phase-pill.active{border-color:var(--link);background:var(--brand-50);color:var(--link)}.step-group-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.step-group-header h3{color:var(--fg);margin:0;font-size:16px;font-weight:800}.step-group-header small{color:var(--fg-muted);font-size:12.5px;font-weight:700}.step-narrative .step-trace-grid{margin:0;padding:0;list-style:none;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;display:grid!important}.step-narrative .step-trace-card{background:var(--bento-bg);border:1.5px solid var(--bento-border);box-shadow:var(--bento-shadow);transition:border-color var(--duration-normal) var(--ease-out-quart), box-shadow var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-spring-gentle);flex-direction:column;gap:10px;display:flex;border-radius:var(--bento-radius)!important;padding:18px!important}.step-narrative .step-trace-card:before{content:none!important;display:none!important}.step-narrative .step-trace-card.is-active{background:var(--voice-step-active-bg);border-color:var(--voice-step-active-border)!important;box-shadow:var(--voice-step-active-shadow)!important}.step-narrative .step-trace-card.milestone-match{border-color:var(--algo-final-sorted-border);background:linear-gradient(180deg, var(--algo-final-sorted-bg), transparent 65%)}.step-trace-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.step-trace-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.step-trace-num-badge{background:var(--brand-600);color:var(--on-brand);border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.step-trace-type-badge{background:var(--bg-subtle);color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;align-items:center;padding:3px 9px;font-size:11.8px;font-weight:700;display:inline-flex}.step-trace-status-badge{border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:800;display:inline-flex}.step-trace-status-badge.success{background:var(--green-bg);color:var(--green-fg)}.step-trace-status-badge.init{background:var(--blue-bg);color:var(--blue-fg)}.step-trace-live-pill{color:var(--link);background:var(--brand-50);border-radius:999px;padding:3px 9px;font-size:11.8px;font-weight:800}.step-trace-title{color:var(--fg);margin:0;font-size:15px!important;font-weight:800!important;line-height:1.45!important}.step-state-pills{flex-wrap:wrap;gap:6px;display:flex}.step-state-pill{background:var(--bg-subtle);border:1px solid var(--border-strong);color:var(--fg);border-radius:8px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:inline-flex}.step-state-pill em{color:var(--fg-muted);font-style:normal;font-weight:600}.step-state-pill code{font-family:var(--mono);color:var(--fg);font-size:12px;font-weight:700}.step-state-pill.primary{border-color:var(--brand-200);background:var(--brand-50)}.step-state-pill.accent{border-color:var(--amber-border);background:var(--amber-bg)}.step-state-pill.success{border-color:var(--green-border);background:var(--green-bg)}.step-trace-details{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.step-trace-details p{color:var(--fg);margin:0!important;font-size:13.4px!important;line-height:1.55!important}.step-trace-details p span{color:var(--fg-muted);margin-right:4px;font-weight:800}.step-trace-lecture-fold{border:1px dashed var(--border-strong);background:var(--bg-elevated);border-radius:10px;padding:8px 12px}.step-trace-lecture-fold summary{cursor:pointer;color:var(--link);font-size:12.8px;font-weight:700}.step-trace-lecture-fold p{color:var(--fg-muted);margin:8px 0 0;font-size:13px;line-height:1.6}.step-trace-jump-btn{border:1px solid var(--border-strong);background:var(--bg-elevated);width:100%;color:var(--fg);cursor:pointer;border-radius:10px;margin-top:auto;padding:8px 12px;font-size:13px;font-weight:700;transition:all .15s}.step-trace-jump-btn:hover,.step-narrative .step-trace-card.is-active .step-trace-jump-btn{border-color:var(--link);background:var(--brand-50);color:var(--link)}.step-narrative-expand-footer{border-top:1px solid var(--border);color:var(--fg-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;font-size:13.5px;display:flex}@media (width<=900px){.step-narrative .step-trace-grid{grid-template-columns:1fr!important}}@media (width<=1080px){.fsd-workflow-bar,.fsd-step-pills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.fsd-workflow-bar,.fsd-step-pills-grid{grid-template-columns:1fr}.fsd-step-footer-nav>button,.fsd-stage-bottom-cta>button{justify-content:center;width:100%}.av>.av-stage[data-stage-tier=compact]{--av-stage-h:200px;--av-stage-min-h:175px}.av>.av-stage[data-stage-tier=medium]{--av-stage-h:265px;--av-stage-min-h:225px}.av>.av-stage[data-stage-tier=tall]{--av-stage-h:340px;--av-stage-min-h:280px}}.av-stage-play[hidden]{display:none!important}.av-stage-play{align-items:center;gap:8px;display:inline-flex;height:auto!important;min-height:40px!important;box-shadow:var(--shadow-md)!important;border-radius:999px!important;align-self:center!important;margin-top:8px!important;padding:9px 18px!important;font-size:13.5px!important;font-weight:800!important;position:relative!important;bottom:auto!important;left:auto!important;transform:none!important}.av-step-kind-badge{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:800;line-height:1.2;display:inline-flex}.av-step-kind-badge:empty{display:none!important}.av-step-kind-badge.kind-start,.av-caption .lead.kind-start{background:var(--blue-bg)!important;color:var(--blue-fg)!important;border-color:var(--blue-border)!important}.av-step-kind-badge.kind-condition,.av-caption .lead.kind-condition{background:var(--algo-comparison-highlight-bg)!important;color:var(--algo-comparison-highlight-fg)!important;border-color:var(--algo-comparison-highlight-border)!important}.av-step-kind-badge.kind-process,.av-caption .lead.kind-process{background:var(--algo-active-focus-bg)!important;color:var(--algo-active-focus-fg)!important;border-color:var(--algo-active-focus-border)!important}.av-step-kind-badge.kind-result,.av-caption .lead.kind-result{background:var(--algo-final-sorted-bg)!important;color:var(--algo-final-sorted-fg)!important;border-color:var(--algo-final-sorted-border)!important}.av-step-kind-badge.kind-summary,.av-caption .lead.kind-summary{background:var(--algo-active-focus-bg)!important;color:var(--algo-active-focus-fg)!important;border-color:var(--algo-active-focus-border)!important}.av-caption .lead{border-radius:var(--radius-pill);font-family:var(--font-display);vertical-align:middle;border:1px solid #0000;align-items:center;gap:4px;margin-right:7px;padding:2px 9px;font-size:11.5px;font-weight:800;display:inline-flex}.av-chapters,.av-chapters.av-timeline{scrollbar-width:thin;border-bottom:1px solid var(--line,var(--border))!important;background:var(--bg-subtle)!important;align-items:stretch!important;gap:8px!important;padding:8px 14px!important;display:flex!important;overflow-x:auto!important}.av-chapters .av-chapter,.av-chapters.av-timeline .av-chapter{cursor:pointer;min-width:138px;box-shadow:0 2px 0 var(--btn-secondary-lip);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-spring), border-color var(--transition-fast);flex:1 1 0;position:relative;border-radius:var(--radius-sm)!important;border:1.5px solid var(--line,var(--border))!important;background:var(--card,var(--bg-elevated))!important;text-align:left!important;flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:6px 11px!important;display:flex!important}.av-chapters .av-chapter:before,.av-chapters.av-timeline .av-chapter:before{content:none!important}.av-chapters .av-chapter:hover,.av-chapters.av-timeline .av-chapter:hover{box-shadow:0 3px 0 var(--btn-secondary-lip);transform:translateY(-1px);border-color:var(--orange)!important}.av-chapters .av-chapter.active,.av-chapters.av-timeline .av-chapter.active{border-color:var(--voice-step-active-border)!important;background:var(--voice-step-active-bg)!important;box-shadow:var(--voice-step-active-shadow)!important}.av-chapters .av-chapter.complete,.av-chapters.av-timeline .av-chapter.complete{border-color:var(--algo-final-sorted-border)!important}.av-ch-node{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.av-ch-num{background:var(--bg-subtle);width:24px;height:24px;color:var(--soft,var(--fg-muted));border:1.5px solid var(--line,var(--border-strong));border-radius:50%;justify-content:center;align-items:center;font-size:11.5px;font-weight:800;display:inline-flex}.av-chapter.active .av-ch-num{background:var(--orange);color:var(--ink-on-orange);border-color:var(--orange)}.av-chapter.complete .av-ch-num{background:var(--green);color:#fff;border-color:var(--green)}.av-ch-body{flex-direction:column;gap:2px;min-width:0;display:flex}.av-ch-title{color:var(--ink,var(--fg));white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;line-height:1.25;overflow:hidden}.av-chapter.active .av-ch-title{color:var(--orange-d)}.av-ch-meta{color:var(--soft,var(--fg-muted));white-space:nowrap;font-size:10.5px;font-weight:650;line-height:1.2}.av-ctl .focus{flex-direction:column!important;flex:none!important;justify-content:center!important;align-items:flex-start!important;gap:1px!important;width:auto!important;min-width:max-content!important;height:auto!important;min-height:40px!important;padding:5px 12px!important;line-height:1.15!important;display:inline-flex!important}.av-ctl .focus .focus-mode-main{font-size:12px;font-weight:800}.av-ctl .focus .focus-mode-sub{opacity:.82;font-size:10px;font-weight:650}.step-narrative-mode-switch button{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2;display:inline-flex}.step-narrative-mode-switch button small{opacity:.8;font-size:10.5px;font-weight:600}.av-playback-toast{max-width:min(420px,90vw);white-space:normal!important;line-height:1.35!important}.av-speed-wrap{flex:none;align-items:center;display:inline-flex;position:relative}.av-ctl .speed{flex:none!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:auto!important;min-width:60px!important;height:40px!important;min-height:40px!important;padding:0 11px!important;display:inline-flex!important}.av-ctl .speed .speed-caret{opacity:.75;font-size:10px}.av-speed-menu{z-index:40;border:1px solid var(--line,var(--border));background:var(--card,var(--bg-elevated));min-width:215px;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:3px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.av-speed-menu[hidden]{display:none!important}.av-ctl .av-speed-menu button,.av-speed-menu button{color:var(--ink,var(--fg));font-family:var(--sans);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font-size:12.5px;transition:background .14s,border-color .14s;justify-content:space-between!important;align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;height:auto!important;min-height:34px!important;padding:7px 10px!important;display:flex!important}.av-speed-menu button b{font-weight:800;font-family:var(--mono);font-size:12.5px}.av-speed-menu button small{color:var(--soft,var(--fg-muted));font-size:11px;font-weight:600}.av-speed-menu button:hover{background:var(--bg-subtle)}.av-speed-menu button.active{background:var(--orange-50);border-color:var(--orange-200);color:var(--orange-d)}.av-speed-menu button.active b:before{content:"✓ "}.av-ctl .pause-key{cursor:pointer;transition:all .15s;border:1px solid var(--line,var(--border))!important;background:var(--card,var(--bg-elevated))!important;width:auto!important;min-width:max-content!important;height:40px!important;min-height:40px!important;color:var(--soft,var(--fg-muted))!important;font:750 12px/1.2 var(--sans)!important;white-space:nowrap!important;border-radius:10px!important;flex:none!important;padding:0 12px!important}.av-ctl .pause-key:hover{border-color:var(--amber-border)!important;color:var(--amber-fg)!important}.av-ctl .pause-key.on{border-color:var(--amber-border)!important;background:var(--amber-bg)!important;color:var(--amber-fg)!important}.av-think-checkpoint{z-index:15;border:1.5px solid var(--amber-border);background:color-mix(in srgb, var(--card,var(--bg-elevated)) 92%, var(--amber-bg));box-shadow:var(--shadow-md);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.av-think-checkpoint[hidden]{display:none!important}.av-think-checkpoint-text{color:var(--ink,var(--fg));flex:240px;font-size:13px;font-weight:750;line-height:1.4}.av-think-continue-btn{background:var(--orange);color:var(--ink-on-orange);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:12.5px;font-weight:800;transition:transform .15s,opacity .15s}.av-think-continue-btn:hover{opacity:.95;transform:translateY(-1px)}.av>.av-stage{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}.av>.av-stage .stage-body.is-pannable{touch-action:none;cursor:grab}.av>.av-stage .stage-body.is-pannable:active{cursor:grabbing}.av-progress-banner{border-bottom:1px solid var(--line,var(--border));background:color-mix(in srgb, var(--orange-50) 65%, var(--card,var(--bg-elevated)));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:8px 16px;display:flex}.av-progress-banner[hidden]{display:none!important}.av-progress-banner-left{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.av-progress-pill{color:var(--ink,var(--fg));align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.av-progress-pill b{color:var(--orange-d);font-weight:800}.av-progress-mini-bar{background:var(--orange-100);border-radius:999px;flex-shrink:0;width:76px;height:6px;overflow:hidden}.av-progress-mini-bar>i{background:var(--orange);border-radius:999px;height:100%;transition:width .22s;display:block}.av-progress-last-title{color:var(--soft,var(--fg-muted));white-space:nowrap;text-overflow:ellipsis;max-width:min(420px,75vw);font-size:12px;overflow:hidden}.av-progress-last-title b{color:var(--ink,var(--fg));font-weight:750}.av-progress-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.av-resume-primary-btn{background:var(--orange);color:var(--ink-on-orange);cursor:pointer;box-shadow:var(--shadow-xs);border:0;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:800;transition:transform .15s,opacity .15s}.av-resume-primary-btn:hover{opacity:.95;transform:translateY(-1px)}.av-resume-dismiss-btn{border:1px solid var(--line,var(--border));background:var(--card,var(--bg-elevated));color:var(--soft,var(--fg-muted));cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:700}.av-resume-dismiss-btn:hover{color:var(--ink,var(--fg));border-color:var(--soft,var(--border-strong))}.hero-grid{align-items:center!important}.hero-player-card .compact-viz{min-height:0!important;padding:6px!important}.compact-viz .av{--av-stage-h:225px!important;--av-stage-min-h:205px!important;--av-stage-pad:10px 14px 12px!important}.compact-viz .av>.av-stage[data-stage-tier=compact],.compact-viz .av>.av-stage[data-stage-tier=medium],.compact-viz .av>.av-stage[data-stage-tier=tall]{--av-stage-h:225px!important;--av-stage-min-h:205px!important}.compact-viz .av.av-fsd>.av-stage{height:auto!important;min-height:0!important;max-height:none!important;padding:12px 14px!important;overflow:visible!important}.compact-viz .sd-board>.sd-svg{width:100%!important;min-width:0!important;height:auto!important}.compact-viz .av-adaptive-topbar,.compact-viz .av-progress-banner,.compact-viz .av-chapters,.compact-viz .av-phase-indicator,.compact-viz .av-diagram-toolbar,.compact-viz .av-exp-depth-switch,.compact-viz .av-progressive-body,.compact-viz .av-what-changed-strip,.compact-viz .av-persistent-strip,.compact-viz .av-var-inspector,.compact-viz .av-change-history,.compact-viz .av-live-code-link,.compact-viz .av-insight,.compact-viz .av-pedagogy-toolbar,.compact-viz .av-confidence-bar,.compact-viz .av-pedagogy-drawer,.compact-viz .av-code-trace,.compact-viz .av-ctl .pause-key,.compact-viz .av-ctl .focus,.compact-viz .av-ctl .motion,.compact-viz .sd-panel,.compact-viz .sd-scroll-hint,.compact-viz .av-stage-click-hint,.compact-viz .av-head .wm,.compact-viz .av-caption .lead{display:none!important}.compact-viz .av-head .ptag{max-width:175px!important}.compact-viz .av-explanation-top{background:var(--card-top,var(--bg-subtle))!important;border-top:1px solid var(--line,var(--border))!important;border-bottom:0!important;padding:10px 16px!important}.compact-viz .av-caption{background:0 0!important;border:0!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;font-size:13.5px!important;line-height:1.55!important;overflow:visible!important}.tpl-array{gap:12px!important;padding:8px 12px 18px!important}.tpl-array>.av-result{white-space:normal!important;align-self:flex-start!important;max-width:100%!important;margin:0!important;font-size:13px!important;line-height:1.4!important;position:static!important;transform:none!important}.arr-box{padding-top:56px!important}.ptr-tag{top:22px!important}.av-adaptive-topbar{gap:6px 10px!important;padding:7px 14px!important}.av-phase-indicator{flex-flow:wrap!important;justify-content:space-between!important;align-items:center!important;gap:6px 12px!important;padding:6px 14px!important;display:flex!important}.av-pedagogy-toolbar{scrollbar-width:thin;flex-wrap:nowrap!important;gap:6px!important;padding:8px 14px!important;display:flex!important;overflow-x:auto!important}.av-pedagogy-toolbar>.av-pedagogy-btn{white-space:nowrap!important;flex-shrink:0!important}.lesson-guided-flow{flex-direction:column;gap:18px;margin-top:8px;display:flex}.lesson-workflow-header{border:1px solid var(--border);background:var(--bg-subtle);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.lesson-workflow-header-title{flex-direction:column;gap:3px;display:flex}.lesson-workflow-header-title strong{color:var(--fg);font-size:14.5px;font-weight:800}.lesson-workflow-header-title span{color:var(--fg-muted);font-size:13px}.lesson-view-mode-btn{white-space:nowrap;padding:7px 13px!important;font-size:12.5px!important}.lesson-workflow-bar{margin-top:0!important}.lesson-stage-panel[hidden]{display:none!important}.lesson-stage-panel{flex-direction:column;gap:18px;display:flex}.lesson-step-guide-banner{border:1px solid var(--brand-200);background:var(--brand-50);color:var(--fg);border-radius:12px;padding:12px 16px;font-size:13.8px;line-height:1.55}.lesson-step-guide-banner strong{color:var(--brand-700)}.lesson-extra-fold{border:1px solid var(--border);background:var(--card,var(--bg-elevated));border-radius:14px;overflow:hidden}.lesson-extra-fold>summary{color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13.5px;font-weight:700;list-style:none;transition:color .15s,background .15s;display:flex}.lesson-extra-fold>summary::-webkit-details-marker{display:none}.lesson-extra-fold>summary:after{content:"🔽 Mở rộng";color:var(--brand-700);background:var(--brand-50);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.lesson-extra-fold[open]>summary:after{content:"🔼 Thu gọn"}.lesson-extra-fold-body{border-top:1px solid var(--border);padding:14px 16px}.lesson-stage-cta-single{justify-content:flex-end!important}.av-progressive-body[data-depth=easy]{display:none!important}.av-stage-more-tools{position:relative}.av-stage-more-summary{border:1px solid var(--line,var(--border));background:var(--card,var(--bg-elevated));color:var(--ink2,var(--fg-muted));cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.av-stage-more-summary::-webkit-details-marker{display:none}.av-stage-more-list{z-index:40;border:1px solid var(--line,var(--border));background:var(--card,var(--bg-elevated));min-width:210px;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.av-stage-more-list>button{text-align:left;width:100%;justify-content:flex-start!important}.av-advanced-tools-fold{border-top:1px solid var(--line,var(--border));background:var(--bg-subtle)}.av-advanced-tools-summary{color:var(--ink2,var(--fg-muted));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:700;list-style:none;transition:background .15s,color .15s;display:flex}.av-advanced-tools-summary::-webkit-details-marker{display:none}.av-advanced-tools-summary:hover{background:var(--brand-50);color:var(--ink,var(--fg))}.av-advanced-tools-summary small{color:var(--brand-700);background:var(--brand-50);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}.av-advanced-tools-fold[open]>.av-advanced-tools-summary small{background:var(--bg-subtle);color:var(--ink2,var(--fg-muted))}.av-advanced-tools-body{border-top:1px solid var(--line,var(--border));background:var(--card,var(--bg-elevated))}.compact-viz .av-advanced-tools-fold{display:none!important}.citd-overview-grid{margin-bottom:var(--space-8,32px)}.problem-card.is-active{border-color:var(--brand-600);box-shadow:var(--shadow-md)}.citd-card-link{color:var(--link);font-weight:700}.btn-compact{padding:5px 11px;font-size:12px}.fsd-dialogue-para{white-space:pre-line}.fsd-code-box-spaced{margin-bottom:var(--space-5,20px)}.fsd-section-card.is-wide{grid-column:1/-1}.code-tab-desc{color:var(--fg-muted);margin:0 0 10px;font-size:13.5px}.dg-course-stats-bar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.dg-catalog-toolbar{margin-bottom:24px}.dg-course-sidebar{flex-direction:column;gap:10px;max-height:calc(100vh - 110px);padding-right:4px;display:flex;overflow-y:auto}.dg-chapter-group{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;overflow:hidden}.dg-chapter-group.is-current-chapter{border-color:var(--brand-500,var(--link));box-shadow:var(--shadow-xs)}.dg-chapter-group>summary{cursor:pointer;background:var(--bg-subtle);color:var(--fg);justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;font-size:13.5px;font-weight:800;display:flex}.dg-chapter-count{color:var(--fg-muted);white-space:nowrap;font-size:11.5px;font-weight:700}.dg-sidebar-kind{border-radius:4px;padding:1px 5px;font-size:11px;font-style:normal;font-weight:800}.dg-sidebar-kind.is-theory{background:var(--blue-bg);color:var(--blue-fg)}.dg-sidebar-kind.is-practice{background:var(--green-bg);color:var(--green-fg)}.dg-active-unit-banner{border-left:4px solid var(--brand-600);margin-bottom:18px}.dg-unit-banner-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dg-unit-nav-inline{align-items:center;gap:8px;display:flex}.dg-unit-en-subtitle{color:var(--fg-muted);margin:4px 0 8px;font-size:13.5px}.dg-textbook-box{margin-top:24px}.dg-textbook-header{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.dg-textbook-sections{flex-direction:column;gap:20px;display:flex}.dg-textbook-section{border:1px solid var(--border);background:var(--bg-subtle);border-radius:12px;padding:16px 18px}.dg-textbook-section>h3{color:var(--fg);margin:0 0 12px;font-size:17px;font-weight:800}.dg-textbook-html p{margin:0 0 12px;line-height:1.7}.dg-textbook-html ul,.dg-textbook-html ol{margin:0 0 14px;padding-left:22px;line-height:1.7}.dg-article-figure{border:1px solid var(--border);text-align:center;background:#fff;border-radius:12px;margin:16px 0;padding:14px;overflow-x:auto}.dg-article-figure img{max-width:min(100%,720px);height:auto;display:inline-block}.dg-code-block{border:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:10px;margin:12px 0;overflow:hidden}.dg-code-lang{letter-spacing:.04em;background:var(--bg-subtle);border-bottom:1px solid var(--border);color:var(--fg-muted);padding:5px 12px;font-size:11px;font-weight:800}.dg-code-block pre{margin:0;padding:12px 14px;font-size:13px;line-height:1.55;overflow-x:auto}.dg-table-wrap{margin:14px 0;overflow-x:auto}.dg-md-table{border-collapse:collapse;width:100%;font-size:13.5px}.dg-md-table th,.dg-md-table td{border:1px solid var(--border);text-align:left;padding:9px 12px}.dg-md-table th{background:var(--bg-elevated);font-weight:800}.scaffolding-editor-shell{flex-direction:column;gap:14px;display:flex}.scaffolding-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.scaffolding-progress-badge{background:var(--brand-50);border:1px solid var(--border-strong);color:var(--fg);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:inline-flex}.scaffolding-progress-badge strong{color:var(--link);font-weight:800}.scaffolding-editor-topbar{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.scaffolding-topbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.scaffolding-topbar-left .code-tabs{margin:0}.scaffolding-mode-selector-wrap{border-left:1px solid var(--border-strong);align-items:center;gap:8px;padding-left:12px;display:inline-flex}.scaffolding-mode-label{color:var(--fg-muted);white-space:nowrap;font-size:12.5px;font-weight:700}.scaffolding-mode-select{appearance:auto;border:1.5px solid var(--link);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:9px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:700;transition:border-color .15s,box-shadow .15s}.scaffolding-mode-select:focus{outline:none;box-shadow:0 0 0 3px #4f46e533}.scaffolding-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scaffolding-run-btn,.scaffolding-submit-btn{cursor:pointer;border:none;border-radius:9px;padding:8px 15px;font-size:13px;font-weight:800;transition:transform .12s,opacity .15s}.scaffolding-run-btn{color:#fff;background:#334155}.scaffolding-run-btn:hover{background:#1e293b}.scaffolding-submit-btn{color:#fff;background:#16a34a}.scaffolding-submit-btn:hover{background:#15803d}.scaffolding-level-pills{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.scaffolding-level-pill{border:1.5px solid var(--border);background:var(--bg-subtle);color:var(--fg);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;transition:all .15s;display:flex}.scaffolding-level-pill:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.scaffolding-level-pill.active{border-color:var(--link);background:var(--brand-50);box-shadow:0 2px 8px #4f46e51f}.scaffolding-level-pill.is-done{border-color:#16a34a}.scaffolding-pill-top{justify-content:space-between;align-items:center;gap:6px;width:100%;display:flex}.scaffolding-pill-num{text-transform:uppercase;letter-spacing:.04em;color:var(--link);font-size:11px;font-weight:800}.scaffolding-pill-badge{background:var(--bg-elevated);color:var(--fg-muted);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.scaffolding-level-pill.is-done .scaffolding-pill-badge{color:#15803d;background:#16a34a26}.scaffolding-level-pill strong{font-size:13px;line-height:1.35}.scaffolding-mode-banner{background:var(--bg-subtle);border-left:4px solid var(--link);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:13.5px;line-height:1.5;display:flex}.scaffolding-mode-banner.mode-fix-bug{border-left-color:#dc2626}.scaffolding-mode-banner.mode-todo-skeleton{border-left-color:#d97706}.scaffolding-mode-banner.mode-blank-leetcode{border-left-color:#16a34a}.scaffolding-fixbug-helper{background:#ef44440f;border:1px solid #ef44444d;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.scaffolding-fixbug-tag{text-transform:uppercase;color:#dc2626;background:#ef444424;border-radius:6px;margin-bottom:4px;padding:2px 8px;font-size:11.5px;font-weight:800;display:inline-block}.scaffolding-fixbug-meta p{margin:0;font-size:13px;line-height:1.5}.scaffolding-fixbug-quickline{flex-direction:column;gap:6px;display:flex}.scaffolding-fixbug-quickline label{color:var(--fg);font-size:12.5px}.scaffolding-fixbug-input-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scaffolding-fixbug-line-input{font-family:var(--mono);background:var(--bg);color:var(--fg);border:1.5px solid #dc2626;border-radius:8px;flex:320px;padding:8px 11px;font-size:13px}.scaffolding-todo-helper{background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.scaffolding-todo-helper-label{color:var(--fg-muted);font-size:12.5px;font-weight:700}.scaffolding-todo-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scaffolding-todo-chip{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--link);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.scaffolding-todo-chip:hover{border-color:var(--link);background:var(--brand-50)}.scaffolding-editor-workspace{border:1.5px solid var(--border-strong);color:#e2e8f0;background:#0f172a;border-radius:12px;overflow:visible}.scaffolding-cloze-code-view{font-family:var(--mono);padding:14px 16px;font-size:13.5px;line-height:1.75;overflow-x:auto}.scaffolding-code-line{border-radius:6px;align-items:baseline;gap:14px;padding:2px 6px;display:flex}.scaffolding-code-line.has-cloze-blank{background:#6366f11f}.scaffolding-ln{text-align:right;color:#64748b;-webkit-user-select:none;user-select:none;min-width:26px;font-size:12px}.scaffolding-lc,.scaffolding-lc-inline{white-space:pre;font-family:var(--mono);color:#f8fafc}.cloze-slot-anchor{display:inline-block;position:relative}.cloze-blank-slot{font-family:var(--mono);color:#c7d2fe;cursor:pointer;background:#4f46e540;border:1.5px dashed #818cf8;border-radius:6px;align-items:center;gap:6px;margin:0 3px;padding:2px 10px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.cloze-blank-slot:hover{background:#4f46e566;border-color:#a5b4fc}.cloze-blank-slot.is-filled{color:#e0f2fe;background:#0ea5e938;border-style:solid;border-color:#38bdf8}.cloze-blank-slot.is-correct{color:#bbf7d0;background:#22c55e3d;border-style:solid;border-color:#22c55e}.cloze-blank-slot.is-wrong{color:#fecaca;background:#ef444440;border-style:solid;border-color:#ef4444}.cloze-suggestion-popover{z-index:40;white-space:normal;color:#f8fafc;background:#1e293b;border:1.5px solid #6366f1;border-radius:12px;min-width:320px;max-width:440px;padding:12px 14px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 32px #00000073}.cloze-popover-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cloze-popover-head strong{font-family:var(--sans);color:#e0e7ff;font-size:13px}.cloze-popover-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:14px}.cloze-popover-hint{font-family:var(--sans);color:#cbd5e1;margin:0 0 10px;font-size:12px;line-height:1.45}.cloze-options-title{font-family:var(--sans);color:#94a3b8;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.cloze-options-grid{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cloze-option-btn{color:#f1f5f9;cursor:pointer;font-family:var(--mono);background:#0f172a;border:1px solid #475569;border-radius:7px;padding:5px 10px;font-size:12.5px}.cloze-option-btn:hover,.cloze-option-btn.selected{background:#6366f147;border-color:#818cf8}.cloze-popover-custom{flex-direction:column;gap:4px;display:flex}.cloze-popover-custom label{font-family:var(--sans);color:#94a3b8;font-size:11.5px}.cloze-custom-input{font-family:var(--mono);color:#f8fafc;background:#0f172a;border:1px solid #475569;border-radius:6px;padding:6px 9px;font-size:12.5px}.scaffolding-textarea-editor{grid-template-columns:auto 1fr;min-height:240px;display:grid}.scaffolding-line-gutter{font-family:var(--mono);color:#64748b;text-align:right;-webkit-user-select:none;user-select:none;background:#090e1a;border-right:1px solid #1e293b;flex-direction:column;padding:14px 10px 14px 12px;font-size:13px;line-height:1.65;display:flex}.scaffolding-gutter-ln.is-bug-ln{color:#f87171;font-weight:800}.scaffolding-code-textarea{resize:vertical;color:#f8fafc;width:100%;font-family:var(--mono);tab-size:4;background:#0f172a;border:none;outline:none;padding:14px 16px;font-size:13.5px;line-height:1.65}.scaffolding-cloze-tray{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.scaffolding-cloze-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.scaffolding-cloze-card.is-correct{border-color:#16a34a}.scaffolding-cloze-card.is-wrong{border-color:#dc2626}.scaffolding-cloze-card-head{justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.scaffolding-cloze-card-head span{font-family:var(--mono);color:var(--fg-muted);font-size:11.5px}.scaffolding-cloze-card-options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cloze-quick-chip{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:7px;padding:4px 9px;font-size:12px}.cloze-quick-chip.active{border-color:var(--link);background:var(--brand-50);color:var(--link);font-weight:700}.cloze-inline-input{min-width:100px;font-family:var(--mono);border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);border-radius:6px;flex:110px;padding:4px 8px;font-size:12px}.scaffolding-testcase-console{border:1px solid var(--border-strong);background:var(--bg-subtle);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.scaffolding-console-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.scaffolding-console-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scaffolding-status-pill{background:var(--bg-elevated);color:var(--fg-muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.scaffolding-status-pill.is-accepted{color:#15803d;background:#16a34a26}.scaffolding-status-pill.is-failed-testcase-2,.scaffolding-status-pill.is-wrong-answer,.scaffolding-status-pill.is-incomplete{color:#dc2626;background:#dc262624}.scaffolding-testcase-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scaffolding-tc-tab{border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.scaffolding-tc-tab.active{border-color:var(--link);background:var(--brand-50)}.scaffolding-tc-tab.is-pass{border-color:#16a34a73}.scaffolding-tc-tab.is-fail{color:#dc2626;background:#ef44441a;border-color:#dc2626}.scaffolding-eval-banner{border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.scaffolding-eval-banner p{flex:280px;margin:0}.scaffolding-eval-banner.is-pass{background:#16a34a1f;border:1px solid #16a34a59}.scaffolding-eval-banner.is-fail{background:#ef44441a;border:1px solid #ef444459}.scaffolding-tc-detail{background:var(--bg-elevated);border:1px solid var(--border);border-radius:9px;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;display:flex}.scaffolding-tc-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.tc-field-label{min-width:125px;color:var(--fg-muted);font-weight:700}.tc-out-pass{color:#16a34a;font-weight:700}.tc-out-fail{color:#dc2626;font-weight:700}.scaffolding-tc-note{color:var(--fg-muted);margin:4px 0 0;font-size:12.5px}.scaffolding-reference-drawer{border:1px solid var(--border-strong);background:var(--bg-subtle);border-radius:10px;padding:12px 14px}.scaffolding-reference-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}@media (width<=860px){.scaffolding-level-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.scaffolding-mode-selector-wrap{border-left:none;padding-left:0}}.tpl-code .c-h{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.av-scaffolding-selector{align-items:center;margin-left:4px;display:inline-flex}.av-scaffolding-select{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.av-scaffolding-actions{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.av-scaffolding-run-btn,.av-scaffolding-submit-btn{cursor:pointer;border:1px solid #0000;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:800}.av-scaffolding-run-btn{color:#f8fafc;background:#334155;border-color:#64748b}.av-scaffolding-submit-btn{color:#fff;background:#16a34a}.av-scaffolding-banner{color:#cbd5e1;background:#1e293bc7;border-bottom:1px solid #94a3b833;padding:7px 14px;font-size:12px;line-height:1.45}.av-cloze-slot{color:#fde68a;font-family:var(--mono);cursor:pointer;background:#f59e0b2e;border:1.5px dashed #fbbf24;border-radius:6px;align-items:center;gap:4px;margin:0 2px;padding:1px 8px;font-size:12.5px;font-weight:800;display:inline-flex}.av-cloze-slot.is-filled{color:#a7f3d0;background:#10b98133;border-style:solid;border-color:#34d399}.av-cloze-popover{background:#0f172a;border:1px solid #475569;border-radius:9px;flex-direction:column;gap:8px;margin-top:6px;padding:10px;display:flex}.av-cloze-pop-opts{flex-wrap:wrap;gap:6px;display:flex}.av-cloze-opt{color:#f8fafc;font-family:var(--mono);cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:4px 9px;font-size:12px}.av-cloze-opt.active{background:#38bdf833;border-color:#38bdf8}.av-cloze-custom-input,.av-fixbug-line-input{color:#f8fafc;font-family:var(--mono);background:#0f172a;border:1px solid #64748b;border-radius:6px;width:100%;padding:5px 8px;font-size:12.5px}.av-scaffolding-textarea{color:#e2e8f0;width:100%;font-family:var(--mono);background:#0b1120;border:1px solid #334155;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:12.5px;line-height:1.55}.av-scaffolding-console{color:#e2e8f0;background:#0b1120;border-top:1px solid #94a3b838;flex-direction:column;gap:6px;padding:10px 14px;font-size:12px;display:flex}.av-tc-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-tc-status.is-pass{color:#4ade80;font-weight:800}.av-tc-status.is-fail{color:#f87171;font-weight:800}.av-tc-tabs{flex-wrap:wrap;gap:6px;display:inline-flex}.av-tc-tab{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:700}.av-tc-tab.active{color:#fff;border-color:#38bdf8}.syntax-cheat-chips-box{background:linear-gradient(#0f172af0,#1e293be0);border-bottom:1px solid #94a3b838;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.syntax-cheat-chips-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.syntax-cheat-chips-title{color:#fde68a;white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;font-weight:800;display:inline-flex}.syntax-cheat-chips-icon{font-size:14px}.syntax-cheat-chips-lang-badge{color:#7dd3fc;background:#38bdf829;border:1px solid #38bdf859;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.syntax-cheat-chips-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.syntax-cheat-chip-btn{color:#e2e8f0;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);cursor:pointer;background:#1e293bd9;border:1px solid #94a3b852;border-radius:7px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.syntax-cheat-chip-btn:hover{color:#fff;background:#38bdf826;border-color:#38bdf8}.syntax-cheat-chip-btn.active{color:#fef08a;background:#f59e0b38;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2433}.syntax-cheat-chip-preview{background:#0f172af2;border:1px solid #fbbf2459;border-radius:9px;flex-direction:column;gap:7px;padding:10px 12px;display:flex}.syntax-cheat-chip-preview-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.syntax-cheat-chip-preview-meta{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.syntax-cheat-chip-preview-label{color:#fde68a;font-size:12.5px;font-weight:800}.syntax-cheat-chip-preview-explain{color:#cbd5e1;font-size:12px}.syntax-cheat-chip-actions{align-items:center;gap:8px;display:inline-flex}.syntax-insert-cursor-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#2563eb);border:1px solid #38bdf8;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:800;transition:transform .14s,filter .14s;display:inline-flex}.syntax-insert-cursor-btn:hover{filter:brightness(1.1)}.syntax-cheat-chip-close-btn{color:#94a3b8;cursor:pointer;background:#1e293bcc;border:1px solid #94a3b847;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700}.syntax-cheat-chip-code{color:#7dd3fc;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);background:#020617;border:1px solid #38bdf847;border-radius:7px;margin:0;padding:8px 11px;font-size:12.5px;line-height:1.5;overflow-x:auto}.syntax-cheat-chip-toast{color:#4ade80;font-size:12px;font-weight:700}.av-syntax-cheat-box{background:#0f172aeb;border-bottom:1px solid #94a3b838;flex-direction:column;gap:7px;padding:8px 14px;display:flex}.av-syntax-cheat-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-syntax-cheat-title{color:#fde68a;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.av-syntax-cheat-lang{color:#7dd3fc;background:#38bdf829;border-radius:999px;padding:1px 6px;font-size:10.5px}.av-syntax-cheat-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.av-syntax-chip-btn{color:#e2e8f0;font-family:var(--mono,monospace);cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:700}.av-syntax-chip-btn.active{color:#fef08a;background:#f59e0b38;border-color:#fbbf24}.av-syntax-chip-preview{background:#0b1120;border:1px solid #fbbf2459;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.av-syntax-chip-preview-top{color:#cbd5e1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.av-syntax-insert-btn{color:#fff;cursor:pointer;background:#0284c7;border:1px solid #38bdf8;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:800}.av-syntax-chip-code{color:#7dd3fc;font-family:var(--mono,monospace);background:#020617;border-radius:6px;margin:0;padding:6px 9px;font-size:12px;overflow-x:auto}.scaffolding-line-builder-toggle{color:#f3e8ff;cursor:pointer;background:#581c8747;border:1px solid #a855f773;border-radius:9px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:800;transition:all .16s;display:inline-flex}.scaffolding-line-builder-toggle:hover{background:#7e22ce5c;border-color:#c084fc}.scaffolding-line-builder-toggle.active{color:#ecfdf5;background:linear-gradient(135deg,#10b98147,#05966961);border-color:#34d399;box-shadow:0 0 0 2px #34d39940}.line-builder-toggle-switch{color:#cbd5e1;background:#0f172aa6;border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:900}.scaffolding-line-builder-toggle.active .line-builder-toggle-switch{color:#022c22;background:#10b981}.line-builder-workspace{background:#0b1120;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:12px;padding:12px;display:grid}@media (width<=960px){.line-builder-workspace{grid-template-columns:1fr}}.line-builder-body-pane,.line-builder-bank-pane{background:#0f172a;border:1px solid #94a3b83d;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.line-builder-pane-head{color:#cbd5e1;background:#1e293bd9;border-bottom:1px solid #94a3b833;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.line-builder-pane-head strong{color:#f8fafc;font-size:12.5px}.line-builder-pane-head kbd{color:#fde68a;font-family:var(--mono,monospace);background:#0f172a;border:1px solid #475569;border-radius:4px;padding:1px 5px;font-size:11px}.line-builder-code-canvas{flex-direction:column;gap:5px;padding:8px;display:flex}.line-builder-fixed-line{font-family:var(--mono,monospace);background:#0f172a99;border-radius:6px;align-items:center;gap:10px;padding:4px 8px;font-size:12.5px;display:flex}.line-builder-slot{cursor:pointer;background:#1e293b73;border:1.5px dashed #94a3b859;border-radius:8px;align-items:center;gap:10px;min-height:36px;padding:5px 8px;transition:all .14s;display:flex}.line-builder-slot.is-target{background:#38bdf81f;border-color:#38bdf8}.line-builder-slot.is-filled{background:#0f172aeb;border-style:solid;border-color:#38bdf873}.line-builder-slot.is-correct{background:#10b98124;border-style:solid;border-color:#34d399}.line-builder-slot.is-wrong-order,.line-builder-slot.is-empty-error{background:#ef444424;border-style:solid;border-color:#f87171}.line-builder-slot.is-wrong-indent{background:#f59e0b29;border-style:solid;border-color:#fbbf24}.line-builder-slot-filled{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:8px;display:flex}.line-builder-slot-code-wrap{font-family:var(--mono,monospace);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.line-builder-indent-guides{color:#38bdf8;opacity:.7;-webkit-user-select:none;user-select:none;font-size:11px}.line-builder-slot-controls{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.line-builder-indent-badge{color:#e2e8f0;background:#334155cc;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.line-builder-indent-badge.is-ok{color:#6ee7b7;background:#10b9812e}.line-builder-indent-badge.is-warn{color:#fde68a;background:#f59e0b38}.line-builder-ctrl-btn{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700}.line-builder-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.line-builder-ctrl-btn.is-remove{color:#fca5a5;border-color:#f8717173}.line-builder-slot-placeholder{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.line-builder-slot-tag{color:#7dd3fc;background:#38bdf826;border-radius:5px;padding:1px 7px;font-size:11px;font-weight:800}.line-builder-bank-list{flex-direction:column;gap:6px;padding:8px;display:flex}.line-builder-bank-item{text-align:left;color:#f8fafc;width:100%;font-family:var(--mono,monospace);cursor:grab;background:#1e293b;border:1px solid #94a3b852;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:all .14s;display:flex}.line-builder-bank-item:hover{background:#38bdf824;border-color:#38bdf8}.line-builder-bank-item.is-placed{opacity:.55;cursor:pointer;background:#0f172a99;border-style:dashed}.line-builder-drag-handle{color:#64748b;font-weight:900}.line-builder-bank-code{flex:1;overflow-x:auto}.line-builder-bank-status{font-family:var(--sans,system-ui, sans-serif);color:#38bdf8;white-space:nowrap;font-size:11px;font-weight:700}.av-line-builder-toggle{color:#f3e8ff;cursor:pointer;background:#581c8752;border:1px solid #a855f780;border-radius:7px;margin-left:6px;padding:4px 10px;font-size:12px;font-weight:800}.av-line-builder-toggle.active{color:#ecfdf5;background:#10b98147;border-color:#34d399}.av-line-builder-workspace{background:#0b1120;grid-template-columns:1.3fr 1fr;gap:10px;padding:10px;display:grid}.av-lb-body-pane,.av-lb-bank-pane{background:#0f172a;border:1px solid #334155;border-radius:8px;flex-direction:column;gap:5px;padding:8px;display:flex}.av-lb-pane-head{color:#cbd5e1;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;gap:6px;padding-bottom:6px;font-size:11.5px;display:flex}.av-lb-slot{cursor:pointer;background:#1e293b73;border:1px dashed #475569;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.av-lb-slot.is-filled{background:#0b1120;border-style:solid;border-color:#38bdf8}.av-lb-slot-actions{align-items:center;gap:4px;display:inline-flex}.av-lb-indent-shifttab-btn,.av-lb-indent-tab-btn,.av-lb-remove-btn{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:4px;padding:2px 6px;font-size:11px}.av-lb-bank-list{flex-direction:column;gap:5px;display:flex}.av-lb-bank-item{color:#f8fafc;font-family:var(--mono,monospace);cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:11.5px;display:flex}.av-lb-bank-item.is-placed{opacity:.55;border-style:dashed}.rt-quote-mark{color:var(--amber-fg,#92400e);background:#f59e0b24;border-bottom:1.5px dashed #f59e0b73;border-radius:5px;padding:1px 6px;font-weight:700;display:inline}html.dark .rt-quote-mark,html[data-theme=dark] .rt-quote-mark{color:#fcd34d;background:#f59e0b2e;border-bottom-color:#fbbf2473}.beginner-intuition-list>li{margin-bottom:10px;line-height:1.65}.beginner-intuition-substeps{flex-direction:column;gap:5px;margin:6px 0 8px;padding-left:18px;list-style:outside;display:flex}.beginner-intuition-substeps li{color:var(--fg);font-size:13.5px;line-height:1.55}.code-caption-structured{background:var(--bg-subtle,#0f172a08);border:1px solid var(--border);border-radius:var(--radius-md,10px);flex-direction:column;gap:8px;margin-top:8px;padding:12px 14px;display:flex}.code-caption-lead{font-size:14px;font-weight:600;line-height:1.55;color:var(--fg)!important;margin:0!important}.code-caption-steps{flex-direction:column;gap:5px;margin:0;padding-left:18px;display:flex}.code-caption-steps li{color:var(--fg);font-size:13.5px;line-height:1.55}.code-caption-lang-note{border-top:1px dashed var(--border);color:var(--fg-muted);flex-wrap:wrap;align-items:baseline;gap:8px;padding-top:6px;font-size:13px;line-height:1.55;display:flex}.code-caption-lang-badge{background:var(--brand-50);color:var(--brand-700);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:800;display:inline-flex}.scaffolding-reference-drawer.is-top-reference{background:#1e222a;border:1.5px solid #3b82f659;border-radius:12px;margin:12px 0 14px;overflow:hidden;box-shadow:0 8px 24px #02061738}.scaffolding-reference-drawer.is-top-reference .scaffolding-reference-head{color:#e2e8f0;background:#181b20;border-bottom:1px solid #94a3b829;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.cm-ide-frame{background:#282c34;border:1.5px solid #333842;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #02061733}.scaffolding-reference-drawer .cm-ide-frame{box-shadow:none;border:0;border-radius:0}.cm-ide-titlebar{background:#21252b;border-bottom:1px solid #181a1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.cm-ide-titlebar-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cm-ide-dots{align-items:center;gap:6px;display:inline-flex}.cm-ide-dots i{border-radius:50%;width:11px;height:11px;display:inline-block}.cm-ide-dots .dot-red{background:#ff5f56}.cm-ide-dots .dot-amber{background:#ffbd2e}.cm-ide-dots .dot-green{background:#27c93f}.cm-ide-filetab{color:#abb2bf;font-family:var(--font-mono);background:#282c34;border:1px solid #3e4451;border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.cm-ide-bug-indicator{color:#fda4af;background:#f43f5e2e;border:1px solid #f43f5e73;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:800;display:inline-flex}.ide-code-lang-pill{color:#38bdf8;letter-spacing:.02em;background:#38bdf829;border-radius:999px;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:800;display:inline-flex}.ide-code-count-pill{color:#9da5b4;font-size:11.8px;font-weight:600}.ide-code-copy-btn{color:#d7dae0;cursor:pointer;background:#2c313a;border:1px solid #3e4451;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700;transition:all .15s}.ide-code-copy-btn:hover{color:#fff;background:#3e4451}.cm-ide-body .cm-editor{background:#282c34!important;font-family:JetBrains Mono,Fira Code,Menlo,Monaco,Consolas,monospace!important;font-size:13.5px!important;line-height:1.65!important}.cm-ide-body .cm-scroller{padding:8px 0!important;font-family:JetBrains Mono,Fira Code,Menlo,Monaco,Consolas,monospace!important;line-height:1.65!important}.cm-ide-body .cm-gutters{padding-right:4px;color:#636d83!important;background:#21252b!important;border-right:1px solid #181a1f!important}.cm-ide-body .cm-content{padding:4px 10px!important}.cm-ide-frame.is-cloze-frame .scaffolding-cloze-code-view{background:#282c34!important;border:0!important;border-radius:0!important;padding:10px 0!important}.cm-ide-frame.is-cloze-frame .scaffolding-code-line{color:#abb2bf!important;background:0 0!important;padding:2px 14px 2px 0!important;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,monospace!important;font-size:13.5px!important;line-height:1.65!important}.cm-ide-frame.is-cloze-frame .scaffolding-code-line:hover{background:#ffffff0a!important}.cm-ide-frame.is-cloze-frame .scaffolding-ln{color:#636d83!important;background:#21252b!important;border-right:1px solid #181a1f!important;min-width:42px!important;padding-right:10px!important}.scaffolding-cloze-code-view .scaffolding-lc,.scaffolding-cloze-code-view .scaffolding-lc-inline>code{tab-size:4;color:#abb2bf;white-space:pre!important}.sh-kw{color:#c678dd;font-weight:700}.sh-type{color:#e5c07b;font-weight:600}.sh-fn{color:#61afef}.sh-str{color:#98c379}.sh-num{color:#d19a66}.sh-cmt{color:#7f848e;font-style:italic}.sh-meta{color:#e06c75}.sh-op{color:#56b6c2}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-kw{color:#7c3aed}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-type{color:#0284c7}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-fn{color:#2563eb}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-str{color:#15803d}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-num{color:#b45309}html:not([data-theme=dark]):not(.dark) .code-walk-code .sh-cmt{color:#64748b}
