:root{--bg:#ffffff;--bg-soft:#f5f6f8;--side-bg:#f3f4f6;--surface:#ffffff;--text:#1b1f27;--text-2:#394150;--muted:#667085;--border:#e2e5ea;--border-strong:#cfd4dc;--brand:#0a7d4f;--accent-deep:#0a7d4f;--accent-glow:#34c987;--accent-glow-ink:#06231a;--brand-hover:#07683f;--brand-soft:#e3f3eb;--brand-ink:#075c3a;--on-brand:#ffffff;--dark:#1d2330;--dark-2:#2a3242;--on-dark:#f3f5f8;--on-dark-2:#aeb6c4;--link:#0a6b44;--focus:#2563eb;--code-bg:#f4f5f7;--code-text:#1f2937;--code-border:var(--brand);--inline-code-bg:#eef0f3;--inline-code-text:#c2255c;--hl-keyword:#a626a4;--hl-string:#3f8f3a;--hl-comment:#8a8f98;--hl-title:#3868d8;--hl-number:#b35c00;--hl-attr:#986801;--hl-tag:#d0383f;--hl-builtin:#b07b00;--tone-mint:#d9f2e5;--tone-sun:#fff3c4;--tone-sky:#dde9fd;--tone-stone:#ebe8e2;--pill-green:#0a7d4f;--pill-green-bg:#e3f3eb;--pill-slate:#475569;--pill-slate-bg:#eef1f5;--pill-blue:#1d5fd1;--pill-blue-bg:#e6eefc;--pill-violet:#6d3fd1;--pill-violet-bg:#efe9fc;--pill-amber:#9a5500;--pill-amber-bg:#fdf1dd;--pill-teal:#0f766e;--pill-teal-bg:#e0f4f1;--pill-rose:#be2856;--pill-rose-bg:#fce8ee;--shadow-sm:0 1px 2px rgba(16,24,40,.06);--shadow-md:0 4px 14px rgba(16,24,40,.08);--shadow-lg:0 18px 44px rgba(16,24,40,.16);--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;--font-mono:"Source Code Pro",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px;--wrap:1240px;--gutter:20px;--topbar-h:60px;--topicbar-h:44px;--header-h:calc(var(--topbar-h) + var(--topicbar-h))}@media (prefers-color-scheme:dark){:root[data-theme="auto"]{--bg:#10141c;--bg-soft:#151a24;--side-bg:#141923;--surface:#171d28;--text:#e8ecf2;--text-2:#c5ccd8;--muted:#95a0b2;--border:#252d3b;--border-strong:#334055;--brand:#34c987;--brand-hover:#52d89b;--brand-soft:#123527;--brand-ink:#7ce8b5;--on-brand:#06231a;--dark:#0b0f16;--dark-2:#1a2130;--link:#5fdca3;--focus:#7aa7ff;--code-bg:#161c28;--code-text:#d7dde8;--code-border:var(--brand);--inline-code-bg:#1f2735;--inline-code-text:#ff8fb3;--hl-keyword:#c792ea;--hl-string:#a5e3a0;--hl-comment:#6f7c91;--hl-title:#82aaff;--hl-number:#f78c6c;--hl-attr:#ffcb6b;--hl-tag:#ff7b8a;--hl-builtin:#ffcb6b;--tone-mint:#12291f;--tone-sun:#2a2512;--tone-sky:#14213a;--tone-stone:#1f1e1b;--pill-green:#5fdca3;--pill-green-bg:#123527;--pill-slate:#b3bfd1;--pill-slate-bg:#1c2433;--pill-blue:#8fb4ff;--pill-blue-bg:#16264a;--pill-violet:#b69cff;--pill-violet-bg:#251b47;--pill-amber:#f5b95f;--pill-amber-bg:#3a2a10;--pill-teal:#5fd6c8;--pill-teal-bg:#0f3330;--pill-rose:#ff8fb3;--pill-rose-bg:#3d1627;--shadow-md:0 4px 14px rgba(0,0,0,.35);--shadow-lg:0 18px 44px rgba(0,0,0,.5)}}:root[data-theme="dark"]{--bg:#10141c;--bg-soft:#151a24;--side-bg:#141923;--surface:#171d28;--text:#e8ecf2;--text-2:#c5ccd8;--muted:#95a0b2;--border:#252d3b;--border-strong:#334055;--brand:#34c987;--brand-hover:#52d89b;--brand-soft:#123527;--brand-ink:#7ce8b5;--on-brand:#06231a;--dark:#0b0f16;--dark-2:#1a2130;--link:#5fdca3;--focus:#7aa7ff;--code-bg:#161c28;--code-text:#d7dde8;--code-border:var(--brand);--inline-code-bg:#1f2735;--inline-code-text:#ff8fb3;--hl-keyword:#c792ea;--hl-string:#a5e3a0;--hl-comment:#6f7c91;--hl-title:#82aaff;--hl-number:#f78c6c;--hl-attr:#ffcb6b;--hl-tag:#ff7b8a;--hl-builtin:#ffcb6b;--tone-mint:#12291f;--tone-sun:#2a2512;--tone-sky:#14213a;--tone-stone:#1f1e1b;--pill-green:#5fdca3;--pill-green-bg:#123527;--pill-slate:#b3bfd1;--pill-slate-bg:#1c2433;--pill-blue:#8fb4ff;--pill-blue-bg:#16264a;--pill-violet:#b69cff;--pill-violet-bg:#251b47;--pill-amber:#f5b95f;--pill-amber-bg:#3a2a10;--pill-teal:#5fd6c8;--pill-teal-bg:#0f3330;--pill-rose:#ff8fb3;--pill-rose-bg:#3d1627;--shadow-md:0 4px 14px rgba(0,0,0,.35);--shadow-lg:0 18px 44px rgba(0,0,0,.5)}:root[data-theme="sepia"]{--bg:#f7f0e3;--bg-soft:#f0e7d6;--side-bg:#f2e9d9;--surface:#fcf7ee;--text:#3a2e22;--text-2:#574735;--muted:#7a6853;--border:#e3d6c0;--border-strong:#d2c0a2;--code-bg:#f0e6d3;--code-text:#3a2e22;--inline-code-bg:#ebdfc9;--inline-code-text:#a3214d;--tone-mint:#e6eedb;--tone-sun:#f8ebc4;--tone-sky:#e2e6ea;--tone-stone:#ece2d1;--pill-slate:#5b4d3d;--pill-slate-bg:#ece2d1;--dark:#2f261d;--dark-2:#3d3226}:root[data-accent="blue"]{--brand:#1d5fd1;--brand-hover:#174db0;--brand-soft:#e6eefc;--brand-ink:#16449a;--link:#1a56c4;--accent-deep:#1d5fd1;--accent-glow:#5b9bff;--accent-glow-ink:#071a3a}:root[data-accent="purple"]{--brand:#6d3fd1;--brand-hover:#5a31b3;--brand-soft:#efe9fc;--brand-ink:#4f2aa0;--link:#6334c4;--accent-deep:#6d3fd1;--accent-glow:#a98bff;--accent-glow-ink:#1a0f3a}:root[data-accent="orange"]{--brand:#c2410c;--brand-hover:#a5370a;--brand-soft:#fdeee4;--brand-ink:#8f3009;--link:#b23c0b;--accent-deep:#c2410c;--accent-glow:#ff9a52;--accent-glow-ink:#2a1205}:root[data-accent="pink"]{--brand:#be2856;--brand-hover:#a32049;--brand-soft:#fce8ee;--brand-ink:#8f1c40;--link:#b0244f;--accent-deep:#be2856;--accent-glow:#ff7fa6;--accent-glow-ink:#330a1b}:root[data-theme="dark"][data-accent="blue"]{--brand:#6ea2ff;--brand-hover:#8db6ff;--brand-soft:#16264a;--brand-ink:#a9c8ff;--on-brand:#071a3a;--link:#8fb4ff}:root[data-theme="dark"][data-accent="purple"]{--brand:#b69cff;--brand-hover:#c8b4ff;--brand-soft:#251b47;--brand-ink:#d3c4ff;--on-brand:#1a0f3a;--link:#c2acff}:root[data-theme="dark"][data-accent="orange"]{--brand:#fb8c4b;--brand-hover:#ffa26b;--brand-soft:#3a1f10;--brand-ink:#ffc29a;--on-brand:#2a1205;--link:#ffa26b}:root[data-theme="dark"][data-accent="pink"]{--brand:#ff8fb3;--brand-hover:#ffa8c4;--brand-soft:#3d1627;--brand-ink:#ffc0d4;--on-brand:#330a1b;--link:#ffa8c4}@media (prefers-color-scheme:dark){:root[data-theme="auto"][data-accent="blue"]{--brand:#6ea2ff;--brand-hover:#8db6ff;--brand-soft:#16264a;--brand-ink:#a9c8ff;--on-brand:#071a3a;--link:#8fb4ff}:root[data-theme="auto"][data-accent="purple"]{--brand:#b69cff;--brand-hover:#c8b4ff;--brand-soft:#251b47;--brand-ink:#d3c4ff;--on-brand:#1a0f3a;--link:#c2acff}:root[data-theme="auto"][data-accent="orange"]{--brand:#fb8c4b;--brand-hover:#ffa26b;--brand-soft:#3a1f10;--brand-ink:#ffc29a;--on-brand:#2a1205;--link:#ffa26b}:root[data-theme="auto"][data-accent="pink"]{--brand:#ff8fb3;--brand-hover:#ffa8c4;--brand-soft:#3d1627;--brand-ink:#ffc0d4;--on-brand:#330a1b;--link:#ffa8c4}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg,video,iframe{max-width:100%}img,video{height:auto;display:block}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4{color:var(--text);line-height:1.25;letter-spacing:-.01em;margin:0 0 .5em;font-weight:700}p{margin:0 0 1em}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:var(--brand-soft);color:var(--text)}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--brand);color:var(--on-brand);padding:10px 16px;border-radius:var(--radius-sm)}.skip-link:focus{top:12px}.wrap,.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.wrap.narrow,.container.narrow{max-width:820px}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center;margin-top:32px}.icon{flex-shrink:0;vertical-align:middle}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;text-decoration:none!important}.btn-sm{padding:7px 12px;font-size:14px}.btn-lg{padding:13px 24px;font-size:16px;border-radius:8px}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover)}.btn-dark{background:var(--dark);color:var(--on-dark)}:root[data-theme="dark"] .btn-dark{background:var(--dark-2)}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .btn-dark{background:var(--dark-2)}}.btn-dark:hover{background:#000}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-ink)}.btn-soft{background:var(--brand-soft);color:var(--brand-ink)}.btn-soft:hover{border-color:var(--brand)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:0;background:transparent;color:var(--text-2);cursor:pointer}.icon-btn:hover{background:var(--bg-soft);color:var(--text)}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5}.pill-green{color:var(--pill-green);background:var(--pill-green-bg)}.pill-slate{color:var(--pill-slate);background:var(--pill-slate-bg)}.pill-blue{color:var(--pill-blue);background:var(--pill-blue-bg)}.pill-violet{color:var(--pill-violet);background:var(--pill-violet-bg)}.pill-amber{color:var(--pill-amber);background:var(--pill-amber-bg)}.pill-teal{color:var(--pill-teal);background:var(--pill-teal-bg)}.pill-rose{color:var(--pill-rose);background:var(--pill-rose-bg)}.tone-green{color:var(--pill-green);background:var(--pill-green-bg)}.tone-slate{color:var(--pill-slate);background:var(--pill-slate-bg)}.tone-blue{color:var(--pill-blue);background:var(--pill-blue-bg)}.tone-violet{color:var(--pill-violet);background:var(--pill-violet-bg)}.tone-amber{color:var(--pill-amber);background:var(--pill-amber-bg)}.tone-teal{color:var(--pill-teal);background:var(--pill-teal-bg)}.tone-rose{color:var(--pill-rose);background:var(--pill-rose-bg)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{display:inline-flex;padding:6px 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-size:14px;font-weight:500}.chip:hover{border-color:var(--brand);color:var(--brand-ink);text-decoration:none}.chip.is-active{background:var(--text);border-color:var(--text);color:var(--bg)}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:0 0 8px}.flash-wrap{padding-top:16px;max-width:none}.flash-wrap .notice{margin:0}.notice{padding:12px 16px;border-radius:8px;margin:0 0 18px;font-size:15px;border:1px solid}.notice-success{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand-ink)}.notice-error{background:#fdecec;border-color:#f5b5b5;color:#9b1c1c}.notice-info{background:#eaf2fe;border-color:#b9d2fb;color:#1d4f9c}:root[data-theme="dark"] .notice-error{background:#3a1616;border-color:#6b2a2a;color:#ffb4b4}:root[data-theme="dark"] .notice-info{background:#13233f;border-color:#28446f;color:#a9c8ff}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .notice-error{background:#3a1616;border-color:#6b2a2a;color:#ffb4b4}:root[data-theme="auto"] .notice-info{background:#13233f;border-color:#28446f;color:#a9c8ff}}.monogram{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:700}.monogram-sm{width:30px;height:30px;font-size:12px}.monogram-md{width:40px;height:40px;font-size:14px}.monogram-lg{width:60px;height:60px;font-size:20px}.monogram-xl{width:84px;height:84px;font-size:28px}.reading-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:300;pointer-events:none}.reading-progress span{display:block;height:100%;width:0;background:var(--brand)}.site-header{position:sticky;top:0;z-index:100}.admin-bar .site-header{top:32px}@media (max-width:782px){.admin-bar .site-header{top:0}}.topbar{background:var(--bg);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;align-items:center;gap:20px;height:var(--topbar-h);max-width:none}.logo{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-weight:800;font-size:21px;letter-spacing:-.02em;text-decoration:none!important;flex-shrink:0}.logo-img{max-height:38px;width:auto}.logo-mark{display:inline-flex;width:34px;height:34px;flex-shrink:0}.logo-mark .vs-mark{width:100%;height:100%;display:block}.vs-mark-bg{fill:var(--accent-deep)}.vs-mark-page{fill:#fff}.vs-mark-ink{stroke:var(--accent-deep);fill:none}.logo-text span{color:var(--brand)}.logo-invert,.logo-invert .logo-text{color:var(--on-dark)}.logo-invert .logo-text span{color:var(--accent-glow)}.topbar-search{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;height:40px;padding:0 12px 0 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-soft);color:var(--muted);cursor:text;text-align:left}.topbar-search:hover{border-color:var(--brand)}.topbar-search span{flex:1;font-size:15px}kbd{font-family:var(--font-mono);font-size:12px;padding:1px 7px;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.search-mobile,.menu-toggle{display:none}.theme-icon-dark{display:none}:root[data-theme="dark"] .theme-icon-dark{display:inline-flex}:root[data-theme="dark"] .theme-icon-light{display:none}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .theme-icon-dark{display:inline-flex}:root[data-theme="auto"] .theme-icon-light{display:none}}.account-menu{position:relative}.account-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.account-btn:hover{border-color:var(--brand)}.account-name{font-weight:600;font-size:14px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:120}.dropdown a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:var(--text-2);font-size:15px}.dropdown a:hover{background:var(--bg-soft);color:var(--text);text-decoration:none}.topicbar{background:var(--dark)}.topicbar-inner{display:flex;align-items:stretch;height:var(--topicbar-h);max-width:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topicbar-inner::-webkit-scrollbar{display:none}.topicbar a{display:inline-flex;align-items:center;padding:0 15px;color:var(--on-dark);font-size:15px;font-weight:500;white-space:nowrap;transition:background .12s}.topicbar a:hover{background:#000;text-decoration:none}.topicbar a.is-active{background:var(--brand);color:var(--on-brand)}.topic-home{padding:0 14px!important}.topic-sep{width:1px;margin:10px 8px;background:rgba(255,255,255,.18);flex-shrink:0}@media (max-width:900px){.topbar-search{display:none}.search-mobile,.menu-toggle{display:inline-flex}.auth-link{display:none}.account-name{display:none}.account-btn{padding:3px}}.drawer,.search-modal,.tryit{position:fixed;inset:0;z-index:400}.drawer[hidden],.search-modal[hidden],.tryit[hidden]{display:none}.drawer-backdrop,.search-modal-backdrop{position:absolute;inset:0;background:rgba(8,12,20,.55)}.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--bg);padding:16px 20px 32px;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slide-in .2s ease}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.drawer .search-form{margin-bottom:16px}.drawer-auth{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.drawer-menu{list-style:none;margin:0;padding:0}.drawer-menu a{display:block;padding:12px 2px;color:var(--text);font-weight:600;border-bottom:1px solid var(--border)}.drawer-menu .sub-menu{list-style:none;margin:0;padding:0 0 8px 12px}.drawer-menu .sub-menu a{font-weight:500;color:var(--text-2);font-size:15px;padding:8px 2px;border-bottom:0}.search-modal-panel{position:relative;margin:12vh auto 0;width:min(640px,calc(100% - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lg);animation:pop .16s ease}.search-modal-panel .search-form{padding-right:44px}.search-modal-close{position:absolute;top:22px;right:16px}.search-modal-hint{margin:12px 4px 0;font-size:14px;color:var(--muted)}@keyframes slide-in{from{transform:translateX(100%)}}@keyframes pop{from{opacity:0;transform:translateY(-8px)}}.search-form{display:flex;align-items:center;gap:8px;width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:5px 5px 5px 14px;color:var(--muted)}.search-form:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.search-field{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font-size:16px;padding:8px 4px;outline:none}.search-field::-webkit-search-cancel-button{display:none}.search-submit{border:0;border-radius:6px;background:var(--brand);color:var(--on-brand);font-weight:600;padding:9px 16px;cursor:pointer}.search-submit:hover{background:var(--brand-hover)}.home-hero{background:var(--dark);color:var(--on-dark);padding:64px 0 72px;position:relative;overflow:hidden}.home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 320px at 20% 0%,rgba(52,201,135,.18),transparent 70%),radial-gradient(500px 300px at 90% 100%,rgba(79,140,255,.14),transparent 70%)}.home-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,420px);gap:56px;align-items:center}.home-hero h1{color:#fff;font-size:clamp(42px,7vw,76px);font-weight:800;letter-spacing:-.035em;margin-bottom:14px}.home-hero-sub{font-size:clamp(17px,2vw,21px);color:var(--on-dark-2);margin:0 0 6px;max-width:620px}.home-hero-free{font-size:clamp(17px,2vw,21px);font-weight:700;color:#ffe27a;margin:0 0 26px}.home-search{max-width:600px}.home-search .search-form{padding:7px 7px 7px 18px;border:0;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);background:#fff}.home-search .search-field{color:#1b1f27;font-size:17px}.home-search .search-submit{border-radius:999px;padding:11px 22px;background:var(--accent-deep);color:#fff}.home-hero-unlock{margin:26px 0 8px;color:var(--on-dark-2);font-weight:600}.home-hero-features{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:10px 24px}.home-hero-unlock + .home-hero-features{margin-top:0}.home-hero-features li{position:relative;padding-left:28px;color:#fff;font-weight:600}.home-hero-features li::before{content:"✓";position:absolute;left:2px;top:0;color:var(--accent-glow);font-weight:800}.home-hero-cta{margin:24px 0 0}.home-hero-cta + .home-hero-start{margin-top:16px}.home-search{margin-top:26px}.home-hero-start{margin:24px 0 0;color:var(--on-dark-2)}.home-hero-start a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-left:6px}.hero-card{position:relative;background:#252b38;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:34px 26px 18px;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:center;color:#fff}.hero-card-mascot{position:absolute;top:-58px;left:22px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}.hero-card-lock{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff}.hero-slides{display:grid;min-height:228px}.hero-slide{grid-area:1 / 1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s,transform .35s,visibility .35s;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-slide.is-active{opacity:1;visibility:visible;transform:none}.hero-xp{font-size:46px;font-weight:800;color:var(--accent-glow);margin:0 0 6px;letter-spacing:-.02em}.hero-card-title{font-size:19px;font-weight:800;margin:0 0 12px}.hero-slide-emoji{font-size:44px;margin:0 0 6px;animation:vs-float 3s ease-in-out infinite}.hero-slide-text{color:#c5ccd8;font-size:15px;margin:0 0 16px}.hero-level{display:flex;align-items:center;gap:10px;width:100%;font-size:14px;color:#c5ccd8;margin-bottom:14px}.hero-level-bar{flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.hero-level-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-glow),#f5b301);border-radius:inherit;transition:width .8s ease}.hero-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}.hero-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px}.hero-stats>div + div{border-left:1px solid rgba(255,255,255,.12)}.hero-stats b{font-size:22px}.hero-stat-label{font-size:13px;color:#c5ccd8}.hero-flame{font-size:20px;animation:vs-flicker 1.4s ease-in-out infinite}.hero-card .btn-block{display:flex;width:100%;justify-content:center;margin-top:16px}.hero-card .btn-soft{background:rgba(52,201,135,.16);background:color-mix(in srgb,var(--accent-glow) 16%,transparent);color:#7ce8b5;color:color-mix(in srgb,var(--accent-glow) 55%,#fff)}.hero-dots{display:flex;gap:6px;justify-content:center;margin-top:14px}.hero-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;transition:width .25s,background .25s}.hero-dots button.is-active{width:22px;background:var(--accent-glow)}@media (max-width:900px){.home-hero-inner{grid-template-columns:1fr;gap:80px}.hero-card{max-width:440px;width:100%;margin:0 auto}}@media (max-width:520px){.home-hero-features{grid-template-columns:1fr}}.xp-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);font-size:14px;text-decoration:none!important;white-space:nowrap}.xp-chip:hover{border-color:var(--brand)}.xp-chip[hidden]{display:none}@media (max-width:600px){.xp-chip-xp{display:none}}.mascot{overflow:visible}.mascot .m-head{fill:var(--accent-deep)}.mascot .m-screen{fill:#10251c}.mascot .m-eye{fill:#7cf0bd;transform-box:fill-box;transform-origin:center;animation:vs-blink 4.5s infinite}.mascot .m-shine{fill:#fff}.mascot .m-eye-closed,.mascot .m-mouth{fill:none;stroke:#7cf0bd;stroke-width:3.5;stroke-linecap:round}.mascot .m-mouth.m-open{fill:#7cf0bd;stroke-width:2}.mascot .m-cheek{fill:#ff8fab;opacity:.55}.mascot .m-antenna line{stroke:var(--accent-deep);stroke-width:3.5;stroke-linecap:round}.mascot .m-bulb{fill:#f5b301;animation:vs-glow 2s ease-in-out infinite}.mascot .m-antenna{transform-box:fill-box;transform-origin:bottom center;animation:vs-bob 2.6s ease-in-out infinite}.mascot .m-arm{fill:none;stroke:var(--accent-deep);stroke-width:6;stroke-linecap:round}.mascot .m-hand{fill:var(--accent-glow)}.mascot .m-layer-1{fill:var(--accent-glow)}.mascot .m-layer-2{fill:#2aa874;fill:color-mix(in srgb,var(--accent-glow) 60%,var(--accent-deep))}.mascot .m-layer-3{fill:#1f8a5e;fill:color-mix(in srgb,var(--accent-glow) 25%,var(--accent-deep))}.mascot .m-wave{transform-box:fill-box;transform-origin:0% 100%;animation:vs-wave 1.8s ease-in-out infinite}.mascot .m-think circle{fill:#c5ccd8;animation:vs-float 2.4s ease-in-out infinite}.mascot .m-sparks path{stroke:#f5b301;stroke-width:2.5;stroke-linecap:round;animation:vs-glow 1.2s ease-in-out infinite}.mascot .m-body-wrap{animation:vs-float 3.2s ease-in-out infinite}.mascot-cheer .m-body-wrap{animation:vs-hop .9s ease-in-out infinite}@keyframes vs-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes vs-bob{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes vs-glow{0%,100%{opacity:1}50%{opacity:.45}}@keyframes vs-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-18deg)}}@keyframes vs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes vs-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px)}}@keyframes vs-flicker{0%,100%{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.12) rotate(3deg)}}.celebrate{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;align-items:center;gap:12px;max-width:380px;padding:14px 40px 14px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translateY(30px) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.2,1.4,.4,1),opacity .25s;overflow:visible}.celebrate.is-visible{transform:none;opacity:1}.celebrate-mascot{flex-shrink:0;width:76px}.celebrate-mascot .mascot{width:76px;height:auto}.celebrate-text{display:flex;flex-direction:column;gap:2px}.celebrate-text strong{font-size:17px}.celebrate-text span{color:var(--text-2);font-size:14px}.celebrate-xp{font-style:normal;font-weight:800;color:var(--brand);font-size:18px;animation:vs-hop .8s ease-in-out 2}.celebrate-link{font-size:14px;font-weight:600;margin-top:4px}.celebrate-close,.mascot-nudge-close{position:absolute;top:6px;right:8px;border:0;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}.confetti{position:absolute;bottom:60%;width:8px;height:12px;border-radius:2px;pointer-events:none;animation:vs-confetti 1.3s ease-out forwards}@keyframes vs-confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),-150px) rotate(var(--r));opacity:0}}.mascot-nudge{position:fixed;left:20px;bottom:20px;z-index:290;display:flex;align-items:center;gap:10px;max-width:340px;padding:10px 36px 10px 10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translateX(-120%);transition:transform .4s cubic-bezier(.2,1.3,.4,1)}.mascot-nudge.is-visible{transform:none}.mascot-nudge-bot .mascot{width:60px;height:auto}.mascot-nudge p{margin:0;font-size:15px}@media (prefers-reduced-motion:reduce){.mascot *,.hero-slide-emoji,.hero-flame,.celebrate-xp{animation:none!important}}.subject{padding:64px 0}.subject-mint{background:var(--tone-mint)}.subject-sun{background:var(--tone-sun)}.subject-sky{background:var(--tone-sky)}.subject-stone{background:var(--tone-stone)}.subject-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.subject-inner.is-flipped .subject-text{order:2}.subject-title{font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.subject-desc{font-size:19px;color:var(--text-2);margin-bottom:20px}.subject-lessons{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.subject-lessons a{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:15px}.subject-lessons a:hover{border-color:var(--brand);text-decoration:none}.subject-actions{display:flex;flex-wrap:wrap;gap:12px}.subject-progress{max-width:320px;margin-top:18px;display:none}.subject.has-progress .subject-progress{display:block}.subject-example .example{box-shadow:var(--shadow-md);background:var(--surface)}@media (max-width:900px){.subject{padding:48px 0}.subject-inner{grid-template-columns:minmax(0,1fr);gap:28px}.subject-inner.is-flipped .subject-text{order:0}}.home-section{padding:64px 0}.home-section-head{text-align:center;margin-bottom:32px}.home-section-head h2{font-size:clamp(30px,4vw,42px);font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.home-section-head p{color:var(--muted);font-size:18px;margin:0}.home-editor{background:var(--dark);color:var(--on-dark);padding:64px 0}.home-editor-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}.home-editor h2{color:#fff;font-size:clamp(32px,4vw,46px);font-weight:800}.home-editor p{color:var(--on-dark-2);font-size:18px;margin-bottom:24px}.editor-mock{border-radius:var(--radius-lg);overflow:hidden;background:#0d1117;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.4)}.editor-mock-bar{display:flex;gap:6px;padding:12px 14px;background:#161b22}.editor-mock-bar span{width:10px;height:10px;border-radius:50%;background:#ff5f57}.editor-mock-bar span:nth-child(2){background:#febc2e}.editor-mock-bar span:nth-child(3){background:#28c840}.editor-mock-body{display:grid;grid-template-columns:1.2fr 1fr}.editor-mock pre{margin:0;padding:18px;font-family:var(--font-mono);font-size:13px;line-height:1.7;color:#e6edf3;white-space:pre-wrap;border-right:1px solid rgba(255,255,255,.08)}.t-tag{color:#ff7b8a}.t-attr{color:#ffcb6b}.t-str{color:#a5e3a0}.editor-mock-result{background:#fff;color:#111;padding:18px;display:flex;flex-direction:column;gap:8px;font-size:14px}.editor-mock-result strong{font-size:20px;color:var(--accent-deep)}.editor-mock-result em{font-style:normal;align-self:flex-start;padding:4px 10px;border:1px solid #999;border-radius:4px;background:#eee}@media (max-width:900px){.home-editor-inner{grid-template-columns:minmax(0,1fr)}}.home-account{background:var(--brand-soft);padding:48px 0}.home-account-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.home-account h2{font-size:28px;font-weight:800;margin-bottom:4px}.home-account p{margin:0;color:var(--text-2)}.home-account-actions{display:flex;gap:12px}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.news-list li{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--border);align-items:baseline}.news-list time{font-size:13px;color:var(--muted);font-weight:600;min-width:50px}.news-list a{color:var(--text);font-weight:600}.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-media{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-media-icon{display:inline-flex;padding:16px;border-radius:18px;background:color-mix(in srgb,currentColor 12%,transparent)}.card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.card-type{font-size:12px;color:var(--muted);font-weight:600}.card-title{font-size:18px;line-height:1.35;margin:0 0 6px}.card-title a{color:var(--text)}.card-title a::after{content:"";position:absolute;inset:0}.card:hover .card-title a{color:var(--brand-ink);text-decoration:none}.card-excerpt{color:var(--muted);font-size:15px;margin:0 0 14px}.card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}.card-foot span{display:inline-flex;align-items:center;gap:4px}.doc{display:grid;grid-template-columns:270px minmax(0,1fr) 240px;align-items:start;min-height:calc(100vh - var(--header-h))}.doc-side{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;background:var(--side-bg);border-right:1px solid var(--border);scrollbar-width:thin}.admin-bar .doc-side{top:calc(var(--header-h) + 32px);height:calc(100vh - var(--header-h) - 32px)}.doc-side-inner{padding:20px 0 40px}.doc-side-title{margin:0 20px 10px;font-size:22px;font-weight:800}.side-group{border-bottom:1px solid var(--border)}.side-group summary{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;cursor:pointer;font-weight:700;font-size:15px;list-style:none}.side-group summary::-webkit-details-marker{display:none}.side-group summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}.side-group[open] summary::after{transform:rotate(45deg)}.side-group .path-progress{margin:0 20px 8px;height:4px}.side-lessons{list-style:none;margin:0 0 10px;padding:0}.side-lessons a{display:flex;align-items:flex-start;gap:10px;padding:7px 20px;color:var(--text-2);font-size:15px;line-height:1.4}.side-lessons a:hover{background:color-mix(in srgb,var(--text) 7%,transparent);text-decoration:none;color:var(--text)}.side-lessons .is-current a{background:var(--brand);color:var(--on-brand);font-weight:600}.side-lessons .is-current .lesson-num{background:rgba(255,255,255,.25);border-color:transparent;color:inherit}.side-nav-title{margin:0 20px 10px;font-size:18px;font-weight:800}.side-nav-title a{color:var(--text)}.side-nav ul{list-style:none;margin:0;padding:0}.side-nav a{display:block;padding:8px 20px;color:var(--text-2);font-size:14.5px;line-height:1.4}.side-nav a:hover{background:color-mix(in srgb,var(--text) 7%,transparent);text-decoration:none;color:var(--text)}.side-nav a.is-current{background:var(--brand);color:var(--on-brand);font-weight:600}.lesson-num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;background:var(--surface);color:var(--muted);border:1px solid var(--border-strong)}.lesson-num .icon{display:none}.is-done .lesson-num{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.is-done .lesson-num .icon{display:block}.is-done .lesson-num .lesson-n{display:none}.doc-main{min-width:0;padding:28px 48px 48px;max-width:900px;width:100%;margin:0 auto}.doc-toc{position:sticky;top:var(--header-h);padding:28px 20px 28px 0;max-height:calc(100vh - var(--header-h));overflow-y:auto;scrollbar-width:thin}.admin-bar .doc-toc{top:calc(var(--header-h) + 32px)}.side-toggle{display:none;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-weight:600;font-size:14px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 12px;padding:0;font-size:14px}.breadcrumbs li{display:inline-flex;gap:6px;color:var(--muted)}.breadcrumbs li + li::before{content:"›"}.breadcrumbs a{color:var(--muted)}.doc-title{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin-bottom:12px}.doc-title.is-long{font-size:clamp(26px,3.2vw,36px)}.doc-dek{font-size:19px;color:var(--text-2)}.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:14px;margin-bottom:20px}.doc-meta .muted{display:inline-flex;align-items:center;gap:5px}.doc-byline{padding:14px 0;margin-bottom:20px;border-block:1px solid var(--border)}.doc-hero{margin:0 0 24px}.doc-hero img{width:100%;border-radius:var(--radius);border:1px solid var(--border);aspect-ratio:16 / 9;object-fit:cover}.step-buttons{display:flex;justify-content:space-between;gap:12px;margin:8px 0 28px}.step-buttons .btn{min-width:120px}.lesson-end{margin-top:44px;padding-top:28px;border-top:1px solid var(--border)}.lesson-end .step-buttons{margin-top:24px}.lesson-complete{text-align:center;padding:22px;border:1px dashed var(--border-strong);border-radius:var(--radius)}.lesson-complete .when-on{display:none}.lesson-complete [aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}.lesson-complete [aria-pressed="true"] .when-on{display:inline}.lesson-complete [aria-pressed="true"] .when-off{display:none}.lesson-complete-note{margin:10px 0 0;font-size:14px;color:var(--muted)}.doc-foot{margin-top:32px}.doc-foot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.toc-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 10px}.toc-list{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.toc-list a{display:block;padding:5px 0 5px 12px;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);font-size:13.5px;line-height:1.4}.toc-list .toc-l3 a{padding-left:24px;font-size:13px}.toc-list a:hover{color:var(--text);text-decoration:none}.toc-list a.is-active{color:var(--brand-ink);border-left-color:var(--brand);font-weight:600}.toc-mobile{display:none;margin:0 0 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.toc-mobile summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-weight:600;list-style:none}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile .toc{padding:0 16px 14px}.toc-mobile .toc-title{display:none}@media (max-width:1280px){.doc{grid-template-columns:260px minmax(0,1fr)}.doc-toc{display:none}.toc-mobile{display:block}}@media (max-width:1024px){.doc{grid-template-columns:minmax(0,1fr)}.doc-main{padding:20px var(--gutter) 40px}.side-toggle{display:inline-flex}.doc-side{position:fixed;z-index:350;top:0;left:0;bottom:0;height:100vh;width:min(320px,86vw);transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.doc-side.is-open{transform:none}.side-backdrop{position:fixed;inset:0;z-index:340;background:rgba(8,12,20,.5)}}@media (max-width:560px){.step-buttons .btn{min-width:0;flex:1}}.prose{font-size:17.5px;line-height:1.75;color:var(--text-2);overflow-wrap:break-word}.prose>*{margin-top:0;margin-bottom:1.2em}.prose h2{font-size:30px;font-weight:800;margin:1.9em 0 .6em;padding-top:.6em;border-top:1px solid var(--border);color:var(--text)}.prose>h2:first-child{border-top:0;padding-top:0;margin-top:0}.prose h3{font-size:22px;margin:1.6em 0 .5em;color:var(--text)}.prose h4{font-size:19px;margin:1.4em 0 .4em;color:var(--text)}.prose hr{display:none}.prose strong{color:var(--text)}.prose a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);text-underline-offset:3px}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.35em 0}.prose li::marker{color:var(--brand)}.prose img{border-radius:var(--radius);margin:0 auto}.prose figure{margin:1.8em 0}.prose figcaption,.prose .wp-element-caption{text-align:center;font-size:14px;color:var(--muted);margin-top:8px}.prose blockquote,.prose .wp-block-quote{margin:1.8em 0;padding:16px 22px;border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:0 8px 8px 0;color:var(--text)}.prose blockquote p:last-child{margin-bottom:0}.heading-anchor{margin-left:8px;color:var(--border-strong);opacity:0;text-decoration:none!important;font-weight:400}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.prose code:not(pre code){font-family:var(--font-mono);font-size:.88em;padding:.12em .4em;border-radius:5px;background:var(--inline-code-bg);color:var(--inline-code-text)}.example,.prose pre{position:relative;margin:1.6em 0;border-radius:8px;background:var(--code-bg);border-left:4px solid var(--code-border);overflow:hidden}.example{padding:16px 20px 20px;margin:0}.example-label{margin:0 0 10px;font-weight:700;font-size:18px;color:var(--text)}.example pre,.example .example-code{margin:0 0 16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--code-border);border-radius:6px}.prose pre code,.example code{display:block;padding:14px 18px;overflow-x:auto;font-family:var(--font-mono);font-size:15px;line-height:1.65;color:var(--code-text);background:transparent!important;tab-size:2;white-space:pre}.prose pre{padding:0}.prose pre.has-bar code{padding-top:42px}.code-bar{font-family:var(--font-sans);position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 16px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--code-bg) 60%,var(--surface))}.code-bar-actions{display:flex;gap:6px}.code-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer;font-size:12.5px;font-weight:600}.code-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.code-btn.is-copied{color:var(--brand-ink);border-color:var(--brand)}.code-btn-try{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.code-btn-try:hover{background:var(--brand-hover);color:var(--on-brand)}.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-meta .hljs-keyword{color:var(--hl-keyword)}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--hl-string)}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--hl-title)}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:var(--hl-number)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-property,.hljs-selector-class,.hljs-selector-id{color:var(--hl-attr)}.hljs-tag,.hljs-name,.hljs-deletion{color:var(--hl-tag)}.hljs-built_in,.hljs-type,.hljs-params,.hljs-class .hljs-title{color:var(--hl-builtin)}.hljs-meta{color:var(--hl-comment)}.table-scroll{overflow-x:auto;margin:1.6em 0;border:1px solid var(--border);border-radius:8px}.prose table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}.prose .wp-block-table{margin:0}.prose .wp-block-table .table-scroll{margin:0}.prose th,.prose td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.prose th{background:var(--bg-soft);color:var(--text);font-weight:700}.prose tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--bg-soft) 60%,transparent)}.video-wrap{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;background:#000;margin:0 0 24px}.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}.yt-facade{position:absolute;inset:0;width:100%;border:0;cursor:pointer;background-size:cover;background-position:center}.yt-play{position:absolute;left:50%;top:50%;width:68px;height:48px;transform:translate(-50%,-50%);border-radius:12px;background:#f00}.yt-play::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}.tryit{background:rgba(8,12,20,.6);padding:24px}.tryit-panel{display:flex;flex-direction:column;height:100%;max-width:1400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);animation:pop .16s ease}.tryit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;background:var(--dark);color:var(--on-dark)}.tryit-title{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}.tryit-lang{font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.12);text-transform:uppercase}.tryit-actions{display:flex;align-items:center;gap:8px}.tryit-actions .btn-ghost{color:var(--on-dark);border-color:rgba(255,255,255,.25)}.tryit-actions .icon-btn{color:var(--on-dark)}.tryit-actions .icon-btn:hover{background:rgba(255,255,255,.1)}.tryit-body{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}.tryit-pane{display:flex;flex-direction:column;min-height:0}.tryit-pane + .tryit-pane{border-left:1px solid var(--border)}.tryit-pane-label{margin:0;padding:8px 16px;font-size:13px;font-weight:700;background:var(--bg-soft);border-bottom:1px solid var(--border)}.tryit-code{flex:1;width:100%;resize:none;border:0;outline:none;padding:16px;font-family:var(--font-mono);font-size:15px;line-height:1.6;background:var(--surface);color:var(--text);tab-size:2;white-space:pre}.tryit-result{flex:1;width:100%;border:0;background:#fff}@media (max-width:800px){.tryit{padding:0}.tryit-panel{border-radius:0}.tryit-body{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 1fr}.tryit-pane + .tryit-pane{border-left:0;border-top:1px solid var(--border)}}.subscribe{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.subscribe-inline{margin:40px 0 24px;padding:22px 24px;border-radius:var(--radius-lg);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}.subscribe-text{display:flex;gap:14px;align-items:flex-start;flex:1;min-width:260px}.subscribe-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--brand);color:var(--on-brand);flex-shrink:0}.subscribe-title{margin:0 0 2px;font-weight:800;font-size:18px;color:var(--text)}.subscribe-desc{margin:0;color:var(--text-2);font-size:15px}.subscribe-action{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.subscribe-alt{font-size:14px;font-weight:600}.subscribe-done{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:700;color:var(--brand-ink)}.subscribe-pending{margin:0;font-weight:700;color:var(--text)}.subscribe-band{background:var(--bg-soft);border-top:1px solid var(--border);padding:36px 0}.byline{display:flex;align-items:center;gap:12px}.byline-text{display:flex;flex-direction:column;line-height:1.35}.byline-author{color:var(--text);font-weight:600}.byline-meta{font-size:14px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.share{display:flex;align-items:center;gap:4px}.share-label{font-size:13px;color:var(--muted);margin-right:4px;font-weight:600}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}.share-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.share-btn.is-copied{background:var(--brand);color:var(--on-brand)}.author-box{display:flex;gap:18px;margin:24px 0;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.author-box-label{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.author-box-name{margin:2px 0 6px;font-size:18px;font-weight:700}.author-box-name a{color:var(--text)}.author-box-bio{margin:0 0 8px;color:var(--text-2)}.author-box-links{margin:0;font-size:14px;display:flex;flex-wrap:wrap;gap:8px;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}.related{padding:32px 0 8px}.related .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.related .grid-3{grid-template-columns:minmax(0,1fr)}.author-box{flex-direction:column}}.section-title{font-size:26px;font-weight:800;margin:0 0 20px}.comments{padding:32px 0 0}.comment-list{list-style:none;margin:20px 0;padding:0}.comment-list .children{list-style:none;padding-left:22px;border-left:2px solid var(--border)}.comment-body{padding:16px 0;border-bottom:1px solid var(--border)}.comment-author .says{display:none}.comment-metadata{font-size:13px}.comment-metadata a{color:var(--muted)}.comment-respond{margin-top:20px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.comment-reply-title{font-size:20px}.comment-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.comment-form input:not([type="submit"]):not([type="checkbox"]),.comment-form textarea{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:16px}.account-section{padding:56px 0 72px;background:var(--bg-soft);min-height:calc(100vh - var(--header-h))}.auth-layout{display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center;max-width:1040px;margin:0 auto}.auth-pitch h1{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.025em;margin-bottom:24px}.auth-benefits{list-style:none;margin:0;padding:0;display:grid;gap:16px}.auth-benefits li{display:flex;gap:14px;align-items:flex-start;color:var(--text-2);font-size:17px}.auth-benefits .icon{color:var(--brand);margin-top:3px}.auth-benefits strong{color:var(--text)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:22px;background:var(--bg-soft);border-radius:10px}.tab{padding:10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.tab[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.auth-form{display:grid;gap:16px}.auth-form[hidden]{display:none}.auth-form>.btn:not(.btn-block){justify-self:start}.field{display:grid;gap:6px}.field>span{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:14px;color:var(--text)}.field-link{font-weight:500;font-size:13px}.field input,.field select,.field textarea,.form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.form-card textarea,.form-card select{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:16px;font-family:inherit}.field textarea,.form-card textarea{resize:vertical;min-height:140px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.comment-form input:focus,.comment-form textarea:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:560px){.field-row{grid-template-columns:minmax(0,1fr)}}.form-card-title{font-size:20px;font-weight:800;margin:0 0 18px}.form-card .wpcf7-form p{margin:0 0 16px}.form-card .wpcf7-form label{display:block;font-weight:600;font-size:14px;color:var(--text)}.form-card .wpcf7-form-control-wrap{display:block;margin-top:6px}.form-card .wpcf7-not-valid-tip{font-size:13px;margin-top:4px}.form-card .wpcf7-response-output{margin:12px 0 0!important;padding:10px 14px!important;border-radius:8px;font-size:14px}.form-card .wpcf7-spinner{margin:0 0 0 10px;vertical-align:middle}.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text-2);cursor:pointer}.check input{margin-top:3px;accent-color:var(--brand);width:16px;height:16px}.auth-legal{margin:0;font-size:13px;color:var(--muted);text-align:center}@media (max-width:900px){.auth-layout{grid-template-columns:minmax(0,1fr);gap:28px}.auth-pitch h1{font-size:28px}.auth-card{padding:22px}}.dash{max-width:1040px;margin:0 auto}.dash-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}.dash-head h1{font-size:30px;font-weight:800;margin:0}.dash-head p{margin:0}.dash-signout{margin-left:auto}.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}.dash-side{display:grid;gap:20px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px}.panel h2{font-size:19px;font-weight:800;margin-bottom:14px}.dash-path{padding:14px 0;border-top:1px solid var(--border)}.dash-path:first-of-type{border-top:0;padding-top:0}.dash-path-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.dash-path-name{font-weight:700;color:var(--text)}.dash-path-count{font-size:14px}.dash-next{display:inline-block;margin-top:8px;font-size:14.5px;font-weight:600}.dash-next.is-done{color:var(--brand-ink)}.dash-sub p{color:var(--text-2)}@media (max-width:800px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-head{flex-wrap:wrap}}.path-progress{height:6px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.path-progress-bar{display:block;height:100%;width:0;background:var(--brand);border-radius:inherit;transition:width .4s ease}.page-hero{padding:44px 0 30px;background:var(--bg-soft);border-bottom:1px solid var(--border)}.page-hero-sm{padding:36px 0 22px}.page-title{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.025em;margin:0 0 10px}.page-desc{color:var(--text-2);font-size:18px;max-width:720px;margin:0}.page-desc p{margin:0}.page-search{max-width:560px;margin-top:18px}.section{padding:64px 0}.section-tight{padding:36px 0 64px}.author-hero,.path-hero{display:flex;gap:20px;align-items:flex-start}.path-hero{margin-top:12px}.path-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}.path-progress-wide{width:240px}.path-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.path-icon-lg{width:64px;height:64px;border-radius:16px}@media (max-width:640px){.path-hero,.author-hero{flex-direction:column}}.path-anchor{position:relative;top:calc(-1 * var(--header-h))}.path-block{padding:28px 0 36px;border-bottom:1px solid var(--border)}.path-block:last-child{border-bottom:0}.path-block-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}.path-block-title{font-size:26px;font-weight:800;margin:0}.path-block-title a{color:var(--text)}.path-block-meta{margin:0;color:var(--muted);font-size:14px}.path-block-done{color:var(--brand-ink);font-weight:600;margin-left:6px}.path-block .grid{margin-top:18px}.lesson-timeline{list-style:none;margin:0;padding:0;max-width:820px;position:relative}.lesson-timeline::before{content:"";position:absolute;left:17px;top:24px;bottom:24px;width:2px;background:var(--border)}.lesson-timeline li{position:relative;display:flex;gap:18px;padding:12px 0}.lesson-timeline .lesson-num{width:36px;height:36px;font-size:14px;position:relative;z-index:1;box-shadow:0 0 0 6px var(--bg)}.lesson-timeline-body{flex:1;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.lesson-timeline li:hover .lesson-timeline-body{border-color:var(--brand)}.lesson-timeline h2{font-size:18px;margin:0 0 6px}.lesson-timeline h2 a{color:var(--text)}.lesson-timeline p{color:var(--muted);font-size:15px;margin:0 0 8px}.lesson-timeline-meta{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.pagination{margin-top:36px}.pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:600}.pagination .page-numbers:hover{border-color:var(--brand);text-decoration:none}.pagination .page-numbers.current{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.pagination .page-numbers.dots{border:0;background:none}.empty-state{text-align:center;max-width:520px;margin:0 auto;padding:36px 0}.empty-state .search-form{margin:18px 0}.error-code{font-size:88px;font-weight:900;color:var(--brand);line-height:1;margin:0 0 12px}.prose-intro{margin-bottom:28px}.about-owner{margin:36px 0}.cta-box{margin-top:36px;padding:28px;border-radius:var(--radius-lg);background:var(--brand-soft);text-align:center}.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;max-width:1000px}.contact-main:empty{display:none}@media (max-width:800px){.contact-grid{grid-template-columns:minmax(0,1fr)}}.info-card,.form-card{padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:16px}.info-card h2{font-size:18px;margin:10px 0 6px}.form-card input[type="submit"]{background:var(--brand);color:var(--on-brand);border:0;border-radius:8px;padding:12px 22px;font-weight:600;cursor:pointer}.site-footer{background:var(--dark);color:var(--on-dark-2);padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}.footer-brand p{margin:14px 0;max-width:340px}.footer-title{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:12px}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:7px 0}.footer-col a{color:var(--on-dark-2);font-size:15px}.footer-col a:hover{color:#fff}.social{display:flex;gap:8px}.social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:var(--on-dark)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px}.footer-bottom p{margin:0}.back-to-top{border:0;background:none;color:var(--on-dark-2);cursor:pointer;font-size:14px}@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}.cookie-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:250;margin:0 auto;max-width:560px;display:flex;align-items:center;gap:16px;padding:14px 16px 14px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:14px;color:var(--text-2)}.cookie-note[hidden]{display:none}.cookie-note p{margin:0;flex:1}.toast{position:fixed;left:50%;bottom:24px;z-index:500;transform:translate(-50%,20px);opacity:0;background:var(--text);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.alignleft{float:left;margin:.4em 1.5em 1em 0}.alignright{float:right;margin:.4em 0 1em 1.5em}.aligncenter{margin-left:auto;margin-right:auto}.wp-caption-text{font-size:14px;color:var(--muted)}@media print{.site-header,.site-footer,.doc-side,.doc-toc,.share,.related,.comments,.reading-progress,.cookie-note,.step-buttons,.lesson-complete,.subscribe,.subscribe-band{display:none!important}.doc{display:block}}.vs-viz,.viz{--vz-active:#f5b301;--vz-found:#16a34a;--vz-swap:#ef4444;--vz-add:#2563eb;--vz-wait:#8b5cf6;--vz-cell:var(--surface)}.viz{margin:28px 0;border:1px solid var(--border);border-radius:16px;background:var(--bg-soft);overflow:hidden;outline:none}.viz:focus-visible{box-shadow:0 0 0 3px var(--focus,#4f8cff)}.viz-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--dark);color:#fff}.viz-badge{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--accent-glow);animation:vs-glow 1.6s ease-in-out infinite}.viz-title{font-size:15px;color:#fff!important}.viz-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,36%);gap:0}.viz-stage{padding:18px;display:flex;flex-direction:column;gap:14px;min-height:200px;background:var(--surface);overflow-x:auto}.viz-code{margin:0!important;border-radius:0!important;border:0!important;border-left:1px solid var(--border)!important;padding:12px 0!important;max-height:380px;overflow:auto;font-size:12.5px!important;line-height:1.6;background:#151a24!important;color:#d6dde8!important}.viz-line{display:block;padding:0 12px 0 0;white-space:pre;transition:background .2s}.viz-ln{display:inline-block;width:30px;text-align:right;margin-right:12px;color:#5c6779;user-select:none}.viz-line.is-current{background:rgba(245,179,1,.18);box-shadow:inset 3px 0 0 #f5b301;color:#fff}.viz-explain{display:flex;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);background:var(--brand-soft)}.viz-bot .mascot{width:52px;height:auto}.viz-note{margin:0;font-size:16px;font-weight:500;color:var(--text);animation:vz-in .3s ease}@keyframes vz-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.viz-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border-top:1px solid var(--border)}.viz-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 12px;font:inherit;font-weight:600;cursor:pointer;min-width:40px}.viz-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}.viz-btn:disabled{opacity:.45;cursor:default}.viz-play{background:var(--brand);color:var(--on-brand);border-color:var(--brand);min-width:96px}.viz-play:hover:not(:disabled){background:var(--brand-hover);color:var(--on-brand)}.viz-speed{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-left:auto}.viz-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.viz-progress{height:4px;background:var(--border)}.viz-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent-glow),#f5b301);transition:width .3s}.viz-input{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding:12px 16px 16px;border-top:1px dashed var(--border-strong);font-size:14px}.viz-input-title{width:100%;font-weight:700}.viz-input label{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.viz-input input,.viz-input select{min-width:120px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.viz-input input[name="arr"],.viz-input input[name="edges"],.viz-input input[name="tree"],.viz-input input[name="grid"],.viz-input input[name="iv"]{min-width:240px}@media (max-width:860px){.viz-body{grid-template-columns:minmax(0,1fr)}.viz-code{border-left:0!important;border-top:1px solid var(--border)!important;max-height:220px}}.vz-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.vz-cells{display:flex;gap:6px}.vz-cell{position:relative;width:40px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-strong);border-radius:9px;background:var(--vz-cell);font-weight:700;font-family:var(--font-mono,monospace);transition:background .25s,border-color .25s,transform .25s,opacity .25s}.vz-idx{position:absolute;top:-17px;font-size:10px;font-weight:500;color:var(--muted)}.vz-array:has(.vz-idx){padding-top:14px}.vz-cell.is-in{border-color:#4f8cff;box-shadow:0 0 0 2px rgba(79,140,255,.18)}.vz-cell.is-out,.vz-cell.is-dim{opacity:.35}.vz-cell.is-active{background:var(--vz-active);border-color:var(--vz-active);color:#1b1f27;transform:translateY(-4px)}.vz-cell.is-found{background:var(--vz-found);border-color:var(--vz-found);color:#fff}.vz-cell.is-swap,.vz-cell.is-bad{background:var(--vz-swap);border-color:var(--vz-swap);color:#fff;transform:translateY(-4px) rotate(-3deg)}.vz-cell.is-add{background:var(--vz-add);border-color:var(--vz-add);color:#fff}.vz-cell.is-remove{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(239,68,68,.18) 6px 12px);border-color:var(--vz-swap)}.vz-cell.is-pivot{background:var(--vz-wait);border-color:var(--vz-wait);color:#fff}.vz-ptrs{position:relative;height:22px;margin-top:4px}.vz-ptr{position:absolute;top:0;transform:translateX(-50%);font-size:12px;font-weight:800;color:var(--brand-ink);white-space:nowrap;transition:left .35s cubic-bezier(.3,1.3,.5,1)}.vz-vars{display:flex;flex-wrap:wrap;gap:8px}.vz-var{padding:4px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);font-size:13px;font-family:var(--font-mono,monospace)}.vz-side{display:flex;flex-wrap:wrap;gap:12px}.vz-box{flex:1 1 140px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft)}.vz-items{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end}.vz-stack .vz-items{flex-direction:column-reverse;align-items:stretch}.vz-item{padding:5px 10px;border-radius:7px;background:var(--surface);border:1px solid var(--border-strong);font-family:var(--font-mono,monospace);font-size:13px;text-align:center;animation:vz-pop .25s ease}.vz-item.is-hl{background:var(--vz-active);border-color:var(--vz-active);color:#1b1f27}@keyframes vz-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.vz-empty{color:var(--muted);font-size:13px;font-style:italic}.vz-note-small{font-size:11px;color:var(--muted);margin-top:6px}.vz-map-grid{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono,monospace);font-size:13px}.vz-kv{display:flex;gap:8px;padding:3px 8px;border-radius:6px;background:var(--surface);animation:vz-pop .25s ease}.vz-kv.is-hl{background:var(--vz-active);color:#1b1f27}.vz-out{font-size:14px;color:var(--muted)}.vz-out code{font-size:14px;background:var(--vz-found)!important;color:#fff!important;padding:3px 8px;border-radius:6px}.vz-scroll{overflow-x:auto}.vz-svg{display:block;max-width:100%;height:auto}.vz-svg text{font:700 13px var(--font-mono,monospace);text-anchor:middle;fill:var(--text)}.vz-svg .vz-node rect,.vz-svg .vz-node circle{fill:var(--surface);stroke:var(--border-strong);stroke-width:2;transition:fill .25s,stroke .25s}.vz-svg .vz-node.is-active rect,.vz-svg .vz-node.is-active circle{fill:var(--vz-active);stroke:var(--vz-active)}.vz-svg .vz-node.is-found rect,.vz-svg .vz-node.is-found circle{fill:var(--vz-found);stroke:var(--vz-found)}.vz-svg .vz-node.is-found text,.vz-svg .vz-node.is-swap text,.vz-svg .vz-node.is-wait text,.vz-svg .vz-node.is-memo text{fill:#fff}.vz-svg .vz-node.is-swap rect,.vz-svg .vz-node.is-swap circle{fill:var(--vz-swap);stroke:var(--vz-swap)}.vz-svg .vz-node.is-wait rect,.vz-svg .vz-node.is-wait circle{fill:var(--vz-wait);stroke:var(--vz-wait)}.vz-svg .vz-node.is-memo rect{fill:var(--vz-add);stroke:var(--vz-add)}.vz-svg .vz-node.is-dim{opacity:.35}.vz-svg .vz-node.is-done rect{stroke:var(--vz-found)}.vz-svg .vz-edge{stroke:var(--border-strong);stroke-width:2;fill:none;transition:stroke .25s}.vz-svg .vz-edge.is-active{stroke:var(--vz-active);stroke-width:4}.vz-svg .vz-edge-back{stroke:var(--vz-swap)}.vz-svg .vz-arrowhead{fill:var(--muted)}.vz-svg .vz-null{fill:var(--muted);font-size:16px}.vz-svg .vz-ptr-text{fill:var(--brand-ink);font-size:12px}.vz-svg .vz-weight{fill:var(--muted);font-size:12px}.vz-grid{border-collapse:separate;border-spacing:4px;margin:0!important;width:auto!important}.vz-grid th{font-size:12px;color:var(--muted);padding:2px 6px;border:0!important;background:none!important}.vz-grid td{width:38px;height:38px;text-align:center;border-radius:8px;border:1px solid var(--border-strong)!important;background:var(--surface);font-weight:700;font-family:var(--font-mono,monospace);padding:0!important;transition:background .25s}.vz-grid td.is-land{background:#d6c39a;color:#4a3b1b}.vz-grid td.is-water{background:#cfe6ff;color:#3d6a99}.vz-grid td.is-active{background:var(--vz-active);color:#1b1f27}.vz-grid td.is-add{background:var(--vz-add);color:#fff}.vz-grid td.is-found{background:var(--vz-found);color:#fff}.vz-grid td.is-isl1{background:#16a34a;color:#fff}.vz-grid td.is-isl2{background:#8b5cf6;color:#fff}.vz-grid td.is-isl3{background:#ef4444;color:#fff}.vz-grid td.is-isl4{background:#2563eb;color:#fff}.vz-grid td.is-isl5{background:#db2777;color:#fff}.vz-bars{display:flex;flex-direction:column;gap:8px}.vz-bar-row{display:grid;grid-template-columns:90px 1fr 60px;gap:10px;align-items:center;font-size:14px}.vz-bar-label{font-family:var(--font-mono,monospace);font-weight:700}.vz-bar-track{height:16px;border-radius:999px;background:var(--bg-soft);overflow:hidden}.vz-bar-fill{display:block;height:100%;border-radius:inherit;transition:width .5s cubic-bezier(.3,1.2,.5,1)}.vz-bar-fill.is-good{background:var(--vz-found)}.vz-bar-fill.is-ok{background:var(--vz-active)}.vz-bar-fill.is-bad{background:var(--vz-swap)}.vz-bar-value{text-align:right;font-variant-numeric:tabular-nums}.vz-intervals{position:relative;display:flex;flex-direction:column;gap:6px;padding-bottom:22px;min-width:360px}.vz-iv-row{position:relative;height:26px}.vz-iv{position:absolute;top:0;height:26px;border-radius:6px;background:#4f8cff;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:left .4s,width .4s,background .25s}.vz-iv.is-active{background:var(--vz-active);color:#1b1f27}.vz-iv.is-found{background:var(--vz-found)}.vz-iv-axis{position:absolute;left:0;right:0;bottom:0;height:18px;border-top:1px solid var(--border-strong)}.vz-iv-axis span{position:absolute;top:2px;transform:translateX(-50%);font-size:11px;color:var(--muted)}@media (prefers-reduced-motion:reduce){.viz *,.vz-cell,.vz-ptr{transition:none!important;animation:none!important}}.vs-tip{display:flex;gap:12px;align-items:center;margin:22px 0;padding:12px 16px;border-radius:14px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent)}.vs-tip .mascot{width:54px;height:auto;flex-shrink:0}.vs-tip p{margin:0}.vs-tip p::before{content:"Stacky's tip: ";font-weight:800;color:var(--brand-ink)}.vs-hint{margin:10px 0;border:1px dashed var(--border-strong);border-radius:10px;background:var(--bg-soft)}.vs-hint summary{cursor:pointer;padding:10px 14px;font-weight:700;list-style:none}.vs-hint summary::before{content:"💡 "}.vs-hint summary::after{content:" (tap to reveal)";font-weight:400;color:var(--muted);font-size:14px}.vs-hint[open] summary::after{content:""}.vs-hint p{margin:0;padding:0 14px 12px;animation:vz-in .3s ease}.games-hero{background:linear-gradient(135deg,#1d2330,#24324a);color:#fff;padding:48px 0}.games-hero-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.games-hero h1{color:#fff;font-size:clamp(36px,5vw,56px);margin-bottom:10px}.games-hero .eyebrow{color:#7ce8b5}.games-hero-sub{color:#c5ccd8;font-size:18px;max-width:620px}.games-daily{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.08)}.games-daily-badge{font-size:13px;font-weight:800;color:#ffe27a}@media (max-width:700px){.games-hero-inner{grid-template-columns:1fr}.games-hero-bot{display:none}}.games-wrap{padding:36px 20px 64px}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.game-tile{display:flex;flex-direction:column;gap:6px;text-align:left;padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}.game-tile:hover{transform:translateY(-4px) rotate(-.5deg);box-shadow:var(--shadow-md);border-color:var(--brand)}.game-tile-emoji{font-size:38px;transition:transform .3s}.game-tile:hover .game-tile-emoji{transform:scale(1.15) rotate(-8deg)}.game-tile-tag{align-self:flex-start;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink)}.game-tile strong{font-size:19px}.game-tile-desc{color:var(--text-2);font-size:15px;flex:1}.game-tile-foot{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px}.game-tile-best{font-weight:700;color:var(--brand-ink)}.game-stage{border:1px solid var(--border);border-radius:18px;background:var(--bg-soft);overflow:hidden;scroll-margin-top:90px}.game-stage-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.game-stage-title{font-size:18px}.game-stage-stats{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand-ink)}.game-stage-body{padding:24px 16px}.game-card{max-width:720px;margin:0 auto;padding:24px;border-radius:16px;background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow-sm)}.game-card.is-good{animation:g-good .5s}.game-card.is-bad{animation:g-bad .45s}@keyframes g-good{30%{box-shadow:0 0 0 4px #34c987}}@keyframes g-bad{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.game-bot .mascot{width:76px;height:auto}.game-big{font-size:28px;font-weight:800;margin:6px 0 12px}.game-msg{min-height:1.6em;font-size:16px;color:var(--text-2);margin:12px 0}.game-q{font-size:19px;font-weight:700}.game-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:12px}.game-input{width:110px;padding:10px 12px;font-size:18px;border:2px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);text-align:center}.hunt-bar{position:relative;height:40px;border-radius:10px;background:repeating-linear-gradient(90deg,var(--bg-soft) 0 9px,var(--border) 9px 10px);overflow:hidden}.hunt-window{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent-glow-ink);font-weight:800;border-radius:10px;transition:left .5s cubic-bezier(.3,1.3,.5,1),width .5s cubic-bezier(.3,1.3,.5,1);white-space:nowrap;font-size:14px}.hunt-window.is-shrink{animation:g-pulse .5s}@keyframes g-pulse{50%{filter:brightness(1.25)}}.game-brackets{font:800 clamp(30px,6vw,48px) var(--font-mono,monospace);letter-spacing:.12em;margin:10px 0;word-break:break-all}.game-brackets.is-pop{animation:vz-pop .25s ease}.game-yes{background:#16a34a;color:#fff;min-width:140px}.game-no{background:#ef4444;color:#fff;min-width:140px}.game-code{text-align:left;margin:12px auto!important;max-width:480px}.game-options .btn{min-width:120px}.game-options .btn.is-right,.game-row .btn.is-right{background:#16a34a;color:#fff;border-color:#16a34a}.sort-row{display:flex;align-items:flex-end;justify-content:center;gap:4px;min-height:200px}.sort-bar{width:38px;border-radius:8px 8px 4px 4px;background:#4f8cff;color:#fff;font-weight:800;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;transition:height .3s,background .3s}.sort-bar.is-home{background:#16a34a}.sort-swap{align-self:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;width:28px;height:28px;cursor:pointer;padding:0}.sort-swap:hover{border-color:var(--brand);background:var(--brand-soft)}.mem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width:520px){.mem-grid{grid-template-columns:repeat(3,1fr)}}.mem-card{position:relative;height:92px;border:0;padding:0;background:none;cursor:pointer;perspective:600px;font:inherit}.mem-card span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:12px;backface-visibility:hidden;transition:transform .4s;font-weight:700;font-size:14px}.mem-back{background:linear-gradient(135deg,var(--accent-deep),var(--accent-glow));color:#fff;font-size:28px!important}.mem-front{background:var(--surface);border:2px solid var(--border-strong);color:var(--text);transform:rotateY(180deg)}.mem-card.is-term .mem-front{border-color:#4f8cff}.mem-card.is-open .mem-back{transform:rotateY(180deg)}.mem-card.is-open .mem-front{transform:rotateY(360deg)}.mem-card.is-match .mem-front{background:#16a34a;border-color:#16a34a;color:#fff}.hanoi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.hanoi.is-shake{animation:g-bad .45s}.hanoi-rod{position:relative;height:200px;display:flex;flex-direction:column-reverse;align-items:center;gap:4px;padding-bottom:8px;border:2px dashed transparent;border-radius:12px;background:var(--bg-soft);cursor:pointer}.hanoi-rod.is-picked{border-color:var(--brand)}.hanoi-pole{position:absolute;bottom:8px;width:8px;height:170px;border-radius:4px;background:var(--border-strong)}.hanoi-disk{position:relative;z-index:1;height:22px;border-radius:999px;transition:transform .2s}.hanoi-disk.is-up{transform:translateY(-14px)}.hanoi-disk.d1{background:#f5b301}.hanoi-disk.d2{background:#34c987}.hanoi-disk.d3{background:#4f8cff}.hanoi-disk.d4{background:#a970ff}.hanoi-disk.d5{background:#ff6b8b}.game-result .result-stars{font-size:44px;color:#f5b301;margin:4px 0;letter-spacing:.1em;animation:vs-hop .8s ease 2}.result-score{font-size:22px;font-weight:800;margin:0}.result-xp{font-weight:800;color:var(--brand);margin:6px 0}.result-summary{color:var(--text-2);max-width:560px;margin:8px auto}.problems-hero{background:linear-gradient(135deg,#1d2330,#2a2346);color:#fff;padding:44px 0}.problems-hero-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.problems-hero h1{color:#fff;font-size:clamp(34px,5vw,54px);margin-bottom:10px}.problems-hero .eyebrow{color:#c4b5fd}.problems-hero-sub{color:#c5ccd8;font-size:18px;max-width:640px}.problems-stats{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:16px;color:#c5ccd8}.problems-stats b{color:#fff;font-size:20px}.problems-progress{display:inline-flex;align-items:center;gap:8px;min-width:200px}.problems-progress .path-progress{flex:1;background:rgba(255,255,255,.15)}.problems-new{margin:16px 0 0;color:#c5ccd8}.problems-new a{color:#fff;font-weight:700}@media (max-width:700px){.problems-hero-inner{grid-template-columns:1fr}.problems-hero-bot{display:none}}.problems-wrap{padding:28px 20px 64px}.problems-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.problems-search{flex:1 1 220px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}.problems-filters select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}.problems-levels{display:flex;gap:6px}.problems-hide{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-2)}.problems-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px}.problems-table{width:100%;border-collapse:collapse;margin:0}.problems-table th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg-soft);padding:10px 12px;border-bottom:1px solid var(--border)}.problems-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.problems-table tr:last-child td{border-bottom:0}.problems-table tbody tr{transition:background .2s}.problems-table tbody tr:hover{background:var(--bg-soft)}.problems-table tbody tr.is-picked{background:var(--brand-soft)}.problems-table td a{font-weight:600}.problems-table .col-status{width:36px}.problems-table .lesson-num{display:inline-flex;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);align-items:center;justify-content:center;color:transparent}.problems-table tr.is-done .lesson-num{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.problems-table .col-companies{font-size:13px;color:var(--muted);max-width:260px}@media (max-width:700px){.problems-table .col-companies{display:none}}.pattern-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:13px;font-weight:600;white-space:nowrap}.level-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:700}.level-easy{background:#dcfce7;color:#166534}.level-medium{background:#fef3c7;color:#92400e}.level-hard{background:#fee2e2;color:#991b1b}:root[data-theme="dark"] .pattern-chip{background:#2e2550;color:#c4b5fd}:root[data-theme="dark"] .level-easy{background:#12351f;color:#86efac}:root[data-theme="dark"] .level-medium{background:#3a2a0c;color:#fcd34d}:root[data-theme="dark"] .level-hard{background:#3a1616;color:#fca5a5}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .pattern-chip{background:#2e2550;color:#c4b5fd}:root[data-theme="auto"] .level-easy{background:#12351f;color:#86efac}:root[data-theme="auto"] .level-medium{background:#3a2a0c;color:#fcd34d}:root[data-theme="auto"] .level-hard{background:#3a1616;color:#fca5a5}}.problems-note{font-size:13px;margin-top:12px}.problem-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 18px;font-size:14px;color:var(--muted)}.games-grid[hidden],.game-stage[hidden],.games-daily[hidden]{display:none!important}.appearance{position:relative}.appearance-panel{position:absolute;right:0;top:calc(100% + 8px);width:272px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:130}.appearance-panel[hidden]{display:none}.appearance-label{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.appearance-label + .appearance-modes,.appearance-label + .appearance-accents{margin-bottom:14px}.appearance-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.appearance-modes button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;text-align:left}.appearance-modes button:hover{border-color:var(--brand)}.appearance-modes button[aria-pressed="true"]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.mode-swatch{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.15)}.mode-swatch-light{background:#fff}.mode-swatch-dark{background:#10141c}.mode-swatch-sepia{background:#f3e7cf}.mode-swatch-auto{background:linear-gradient(135deg,#fff 50%,#10141c 50%)}.appearance-accents{display:flex;flex-wrap:wrap;gap:10px}.appearance-accents button{width:34px;height:34px;border-radius:50%;border:3px solid var(--surface);background:var(--sw);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;position:relative}.appearance-accents button:hover{transform:scale(1.08)}.appearance-accents button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--sw)}.appearance-accents button[aria-pressed="true"]::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px}.appearance-note{margin:0;font-size:13px;color:var(--muted)}.drawer-appearance{margin:6px 0 18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-soft)}.drawer-appearance .appearance-modes button{background:var(--surface)}.drawer-appearance .appearance-accents button{border-color:var(--bg-soft)}.entry-content,.doc-content,.card,.comment-content{overflow-wrap:break-word}.entry-content table,.doc-content table{max-width:100%}.site-main{min-width:0}@media (max-width:900px){.home-hero-inner{grid-template-columns:minmax(0,1fr)}.home-hero-text{min-width:0}}@media (max-width:600px){:root{--gutter:16px;--topbar-h:56px}.topbar-inner{gap:10px}.topbar-actions{gap:2px}.topbar-actions .appearance{display:none}.icon-btn{width:38px;height:38px}.logo{font-size:19px;gap:8px}.logo-mark{width:31px;height:31px}.logo-img{max-height:32px}.xp-chip{padding:5px 9px;gap:6px;font-size:13px}.home-hero{padding:40px 0 56px}.home-hero h1{font-size:clamp(34px,11vw,44px)}.home-search .search-form{padding:5px 5px 5px 14px}.home-search .search-field{font-size:16px;min-width:0}.home-search .search-submit{padding:10px 16px}.hero-card{padding:30px 18px 16px}.hero-xp{font-size:38px}.step-buttons{gap:10px}.step-buttons .btn{display:block;text-align:center;overflow:hidden;text-overflow:ellipsis}.lesson-complete{padding:18px 14px}.lesson-complete .btn{white-space:normal;text-align:center;max-width:100%}.code-bar{padding-left:12px}.code-btn{padding:4px 8px}.viz-head,.viz-controls{flex-wrap:wrap}.dropdown{max-width:calc(100vw - 24px)}}@media (max-width:400px){.topbar-actions:has(.xp-chip:not([hidden])) .search-mobile{display:none}.logo{font-size:18px}.code-btn-try .code-btn-long{display:none}.btn-lg{padding:12px 18px}}@media (max-width:480px){.editor-mock-body{grid-template-columns:minmax(0,1fr)}.editor-mock pre{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}}.vs-viz:not(.viz){min-height:520px;border-radius:var(--radius-lg);background:var(--bg-soft)}@media (max-width:860px){.vs-viz:not(.viz){min-height:760px}}.quiz{margin:48px 0 32px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.quiz-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}.quiz-bot{flex-shrink:0}.quiz-title{margin:0 0 4px;font-size:24px}.quiz-sub{margin:0;color:var(--muted)}.quiz-q{border:0;margin:0 0 22px;padding:0;min-width:0}.quiz-q legend{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:17px;margin-bottom:10px;padding:0}.quiz-n{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font-size:13px}.quiz-options{display:grid;gap:8px}.quiz-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--text);font-size:15px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.quiz-opt:hover:not(:disabled){border-color:var(--brand);transform:translateX(2px)}.quiz-opt:disabled{cursor:default}.quiz-letter{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--bg-soft);border:1px solid var(--border);font-weight:700;font-size:13px}.quiz-opt.is-correct{border-color:#16a34a;background:#e9f9ef}.quiz-opt.is-correct .quiz-letter{background:#16a34a;border-color:#16a34a;color:#fff}.quiz-opt.is-picked{border-color:#dc2626;background:#fdecec;animation:quiz-shake .35s}.quiz-opt.is-picked .quiz-letter{background:#dc2626;border-color:#dc2626;color:#fff}:root[data-theme="dark"] .quiz-opt.is-correct{background:#12351f}:root[data-theme="dark"] .quiz-opt.is-picked{background:#3a1616}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .quiz-opt.is-correct{background:#12351f}:root[data-theme="auto"] .quiz-opt.is-picked{background:#3a1616}}.quiz-q.is-right legend .quiz-n{background:#16a34a;color:#fff}.quiz-q.is-wrong legend .quiz-n{background:#dc2626;color:#fff}.quiz-explain{margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--brand);background:var(--bg-soft);border-radius:0 8px 8px 0;font-size:15px;color:var(--text-2)}.quiz-result{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.quiz-result[hidden]{display:none}.quiz-score{margin:0}@keyframes quiz-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media (prefers-reduced-motion:reduce){.quiz-opt.is-picked{animation:none}}@media (max-width:600px){.quiz{padding:18px 14px}.quiz-bot{display:none}}.cert-page{padding:40px 0 64px;background:var(--bg-soft)}.cert{max-width:980px;margin:0 auto;aspect-ratio:1.414 / 1;background:#fffdf7;color:#1b1f27;border-radius:6px;padding:18px;box-shadow:var(--shadow-lg);position:relative}.cert-inner{height:100%;border:3px double #c9a227;border-radius:4px;padding:4% 6%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(600px 300px at 50% 0%,rgba(10,125,79,.07),transparent 70%)}.cert-top{display:flex;align-items:center;gap:12px;margin-bottom:2%}.cert-mark .vs-mark-bg{fill:#0a7d4f}.cert-mark .vs-mark-ink{stroke:#0a7d4f}.cert-brand{font-size:clamp(20px,3vw,30px);font-weight:800;letter-spacing:-.02em;color:#1b1f27}.cert-kicker{margin:0 0 3%;font-size:clamp(13px,1.8vw,18px);letter-spacing:.32em;text-transform:uppercase;color:#8a6d12;font-weight:700}.cert-presented{margin:0;color:#5b6575;font-size:clamp(13px,1.6vw,17px)}.cert-name{margin:1% 0 2%;font-size:clamp(30px,6vw,60px);font-weight:800;color:#0a7d4f;letter-spacing:-.02em;border-bottom:2px solid #e5dcc0;padding:0 4% 1%}.cert-text{margin:0 0 4%;font-size:clamp(14px,2vw,20px);color:#333b48;max-width:80%}.cert-foot{display:flex;align-items:center;justify-content:space-between;width:80%;gap:12px}.cert-foot>div{display:flex;flex-direction:column;font-size:clamp(12px,1.5vw,16px)}.cert-label{color:#6b7280;font-size:.8em;text-transform:uppercase;letter-spacing:.08em}.cert-seal{font-size:clamp(32px,6vw,60px)}.cert-verify{margin:3% 0 0;font-size:clamp(11px,1.3vw,13px);color:#6b7280}.cert-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0 10px}.cert-note{text-align:center}.dash-certs .cert-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cert-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.cert-list li.is-earned{border-color:var(--brand);background:var(--brand-soft)}.cert-list-name{flex:1;font-weight:600}@media (max-width:600px){.cert{padding:8px}.cert-inner{padding:5% 4%}}@media print{@page{size:A4 landscape;margin:0}body *{visibility:hidden!important}.cert,.cert *{visibility:visible!important}.cert{position:fixed;inset:0;max-width:none;width:100%;height:100%;aspect-ratio:auto;box-shadow:none;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.daily{padding:22px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.daily-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.daily-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#fff3c4;color:#8a5a00;font-weight:800;font-size:13px;letter-spacing:.02em}:root[data-theme="dark"] .daily-badge{background:#3a2a10;color:#f5b95f}.daily-meta{color:var(--muted);font-size:14px}.daily .quiz-q{margin-bottom:12px}.daily-result{margin:0 0 8px;font-weight:700;color:var(--brand-ink)}.daily-result[hidden]{display:none}.daily-learn{margin:0;font-size:14px;color:var(--muted)}.home-daily{padding:36px 0;background:var(--bg-soft);border-bottom:1px solid var(--border)}.home-daily-inner{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}.home-daily-title{font-size:20px;margin:4px 0 12px}.home-daily-more{display:inline-block;margin-top:10px;font-weight:700}.board{padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.board-head h2{margin:0;font-size:22px}.board-tabs{display:flex;gap:6px}.board-tabs .chip{margin:0;cursor:pointer;font:inherit;font-size:13px;padding:5px 12px}.board-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.board-list[hidden]{display:none}.board-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--bg-soft)}.board-list li.is-me{outline:2px solid var(--brand);background:var(--brand-soft)}.board-rank{width:28px;text-align:center;font-weight:800;color:var(--muted)}.board-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:13px;flex-shrink:0}.board-name{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-name em{font-style:normal;color:var(--muted);font-weight:500}.board-xp{color:var(--brand-ink);white-space:nowrap}.board-empty{color:var(--muted);justify-content:center}.board-join{margin:14px 0 0}.board-list.is-mini li{background:var(--surface);border:1px solid var(--border)}.challenge-hero{padding-bottom:40px}.challenge-stats{display:flex;gap:18px;flex-wrap:wrap;color:#fff;font-size:17px;margin-top:14px}.challenge-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;padding:32px var(--gutter) 56px;align-items:start}.challenge-intro{margin-top:24px}.challenge-more h2{font-size:22px;margin:32px 0 12px}.challenge-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.challenge-link{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none!important;transition:border-color .15s,transform .15s}.challenge-link:hover{border-color:var(--brand);transform:translateY(-2px)}.challenge-link span{font-size:26px}.challenge-link small{color:var(--muted)}@media (max-width:860px){.home-daily-inner,.challenge-grid{grid-template-columns:minmax(0,1fr)}.challenge-links{grid-template-columns:minmax(0,1fr)}}.sp-wrap{padding:32px var(--gutter) 56px}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.sp-card{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-decoration:none!important;transition:transform .15s,border-color .15s,box-shadow .15s}.sp-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-md)}.sp-icon{font-size:30px;line-height:1}.sp-title{font-size:17px}.sp-excerpt{color:var(--muted);font-size:14px;flex:1}.sp-go{color:var(--brand-ink);font-weight:700;font-size:14px}.sp-extra{margin-top:32px}.sp-meta{font-size:13px;font-weight:600;color:var(--muted)}.sp-cross{margin:24px 0 0;font-weight:600}.mock-wrap,.roadmap-wrap{padding:24px var(--gutter) 56px}.mock{margin:0 0 32px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);scroll-margin-top:90px}.mock-start{display:grid;justify-items:center;text-align:center;gap:10px}.mock-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}.mock-facts li{padding:8px 14px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:14px}.mock-facts b{font-size:16px}.mock-best{margin:0;font-weight:700}.mock-go{font-size:17px;padding:12px 26px}.mock-note{margin:0;color:var(--muted);font-size:14px}.mock-bar{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.mock-count{font-weight:700}.mock-progress{flex:1;min-width:120px;height:8px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.mock-progress span{display:block;height:100%;width:0;background:var(--brand);border-radius:inherit;transition:width .3s ease}.mock-timer{font-variant-numeric:tabular-nums;font-weight:700;padding:4px 10px;border-radius:8px;background:var(--bg-soft)}.mock-timer.is-low{background:#fdecec;color:#b91c1c;animation:mock-pulse 1s infinite}@keyframes mock-pulse{50%{opacity:.6}}.mock-q-text{font-size:18px;font-weight:600;margin:0 0 14px}.mock-q .quiz-options{display:grid;gap:10px}.mock-opt.is-chosen{border-color:var(--brand);background:var(--brand-soft)}.mock-opt.is-chosen .quiz-letter{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.mock-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.mock-nav [hidden]{display:none}.mock-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.mock-dot{width:34px;height:34px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.mock-dot.is-answered{background:var(--brand-soft);border-color:var(--brand)}.mock-dot.is-current{outline:2px solid var(--brand);outline-offset:1px}.mock-keys{margin:12px 0 0;font-size:13px;color:var(--muted)}.mock-result{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.mock-ring{--pct:0;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--pct) * 1%),color-mix(in srgb,var(--text) 10%,transparent) 0)}.mock-ring b{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:var(--surface);font-size:28px}.mock-result-text h2{margin:0 0 4px}.mock-timeup{margin:0;font-weight:700;color:#b91c1c}.mock-verdict{margin:0 0 4px;font-size:17px}.mock-stats{margin:0;color:var(--muted)}.mock-xp{color:var(--brand-ink);font-weight:700}.mock-revise{margin:22px 0 0;padding:16px 18px;border-radius:var(--radius);background:var(--bg-soft)}.mock-revise h3{margin:0 0 8px;font-size:17px}.mock-revise ul{margin:0;padding-left:20px}.mock-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.mock-review summary{cursor:pointer;font-weight:700;margin-bottom:10px}.mock-review ol{padding-left:22px}.mock-review li{margin:0 0 14px;padding:12px 14px;border-radius:var(--radius);border-left:4px solid #16a34a;background:var(--bg-soft)}.mock-review li.is-wrong{border-left-color:#dc2626}.mock-review li p{margin:4px 0}.mock-review .mock-q-text{font-size:16px}.mock-explain{color:var(--text-2);font-size:15px}:root[data-theme="dark"] .mock-timer.is-low{background:#3a1616;color:#fca5a5}@media (prefers-color-scheme:dark){:root[data-theme="auto"] .mock-timer.is-low{background:#3a1616;color:#fca5a5}}.mock-about{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:start}.mock-side{position:sticky;top:90px;display:grid;gap:8px}.mock-side-link{display:block;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-weight:600}.mock-topics{columns:2 220px}.mock-sample{margin:0 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius)}.mock-sample-q{margin:0 0 6px}.mock-sample-o{margin:0 0 6px}.mock-sample summary{cursor:pointer;color:var(--brand-ink);font-weight:600}@media (max-width:800px){.mock-about{grid-template-columns:1fr}.mock-side{position:static}.mock{padding:16px}.mock-ring{width:110px;height:110px}.mock-ring b{width:86px;height:86px;font-size:24px}}.roadmap{counter-reset:rm;max-width:820px}.roadmap>h2{counter-increment:rm;position:relative;padding-left:52px;margin-top:2em}.roadmap>h2::before{content:counter(rm);position:absolute;left:0;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--on-brand);font-size:17px}.roadmap>h2 ~ :not(h2){margin-left:52px}.rm-path{margin-top:12px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius);background:var(--surface)}.rm-path-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.rm-path-name{font-size:17px}.rm-path-count{color:var(--muted);font-size:14px}.rm-path-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rm-path-links .btn{text-decoration:none}.prose .rm-path-links .btn-primary,.prose .rm-path-links .btn-primary:hover{color:var(--on-brand)}.prose .rm-path-links .btn-ghost{color:var(--text)}@media (max-width:600px){.roadmap>h2 ~ :not(h2){margin-left:0}}.sheet-wrap,.tool-wrap{padding:24px var(--gutter) 56px}.sheet-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 22px}.sheet-icon{font-size:44px;line-height:1}.sheet-head>div:nth-child(2){flex:1;min-width:220px}.sheet-title{margin:0 0 4px;font-size:clamp(28px,4vw,40px)}.sheet-sub{margin:0;color:var(--muted)}.sheet-actions{display:flex;gap:8px;flex-wrap:wrap}.sheet{max-width:none;columns:2 460px;column-gap:28px}.sheet>h2{column-span:all;margin-top:1.4em;padding-bottom:6px;border-bottom:2px solid var(--brand-soft)}.sheet>h2:first-child{margin-top:0}.sheet>h3,.sheet>pre,.sheet>table,.sheet>.table-scroll,.sheet>ul,.sheet>p{break-inside:avoid}.sheet pre{font-size:13.5px}.sheet-foot{margin-top:24px;font-size:13px}@media print{.site-header,.site-footer,.sheet-actions,.breadcrumbs,.cookie-note,.subscribe-band,.reading-progress{display:none!important}.sheet{columns:2;column-gap:18px;font-size:11px}.sheet pre{font-size:10px;padding:6px 8px}.sheet pre .code-bar{display:none}.sheet-wrap{padding:0}}.tool{margin-bottom:36px}.tool-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tool-status{color:var(--muted);font-size:14px;margin-left:4px}.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.tool-grid.is-sql{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.tool-panel{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);margin-bottom:12px}.tool-panel-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-soft);border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-2)}.tool-code{display:block;width:100%;border:0;resize:vertical;padding:12px 14px;font-family:var(--font-mono);font-size:14px;line-height:1.6;background:var(--code-bg);color:var(--code-text);tab-size:4;outline:none}.tool-code:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.tool-stdin{min-height:70px}.tool-out{margin:0;min-height:300px;max-height:520px;overflow:auto;padding:12px 14px;font-family:var(--font-mono);font-size:14px;line-height:1.6;background:#0d1117;color:#e6edf3;white-space:pre-wrap;word-break:break-word}.tool-out.is-small{min-height:60px;border-radius:var(--radius)}.tool-err{color:#ff7b72}.tool-out .tool-err{color:#ff7b72}.tool-ok{color:var(--brand-ink);font-weight:700;margin:8px 0}.tool-meta{color:var(--muted);font-size:13px;margin:6px 0 14px}p.tool-err{color:#c62828;font-weight:600;margin:8px 0}:root[data-theme="dark"] p.tool-err{color:#ff8a80}.tool-results{padding:12px}.tool-table-out{width:100%;border-collapse:collapse;font-size:14px}.tool-table-out th,.tool-table-out td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left}.tool-table-out th{background:var(--bg-soft);font-weight:700}.tool-table-out i{color:var(--muted)}.tool-schema{padding:8px;display:grid;gap:6px}.tool-table{padding:8px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px}.tool-table:hover{border-color:var(--brand)}.tool-table b{display:block;font-family:var(--font-mono)}.tool-table span{color:var(--muted)}.tool-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.tool-chips .chip,.tool-tabs .chip{margin:0;cursor:pointer;font:inherit;font-size:13px;padding:5px 12px}.tool-tabs{display:flex;gap:6px;margin-bottom:8px}.tool-stack .tool-code{border:1px solid var(--border);border-radius:var(--radius)}.tool-frame{display:block;width:100%;height:420px;border:0;background:#fff}.tool-select{padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface)}.tool-input{width:100%;padding:10px 12px;border:0;font-family:var(--font-mono);font-size:15px;background:var(--code-bg);color:var(--code-text);outline:none}.tool-regex{display:flex;align-items:center;background:var(--code-bg)}.tool-slash{padding:0 8px;font-family:var(--font-mono);font-size:18px;color:var(--muted)}.tool-flags{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 10px;font-size:14px}.tool-highlight{padding:12px 14px;min-height:120px;font-family:var(--font-mono);font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.tool-highlight mark{background:#ffe27a;color:#1b1f27;border-radius:3px;padding:0 1px}.tool-matches{padding:10px 12px;max-height:260px;overflow:auto;font-size:14px}.tool-match{padding:6px 0;border-bottom:1px dashed var(--border)}.tool-match span{color:var(--muted)}.tool-guide{margin-top:12px}@media (max-width:860px){.tool-grid,.tool-grid.is-sql{grid-template-columns:minmax(0,1fr)}.tool-out{min-height:180px}.tool-frame{height:320px}}.install-app{position:fixed;left:16px;bottom:16px;z-index:250;display:flex;align-items:center;gap:4px;padding:6px 6px 6px 8px;border-radius:999px;background:var(--dark);box-shadow:var(--shadow-lg);animation:pop .2s ease}.install-app button{border:0;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer;padding:6px 8px}.install-app-x{font-size:20px;line-height:1;opacity:.7}.ad-slot{margin:28px 0;min-height:120px;text-align:center}.ad-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.ad-side{margin-top:28px;min-height:250px}@media (max-width:1280px){.ad-side{display:none}}@media print{.ad-slot{display:none!important}}.vz-svg .vz-flow-edge.is-dashed,.vz-svg .vz-uml-link.is-dashed{stroke-dasharray:6 5}.vz-svg .vz-flow-edge.is-done{stroke:var(--vz-found)}.vz-svg .vz-flow-edge.is-error{stroke:var(--vz-swap);stroke-width:3}.vz-svg .vz-arrowhead.is-on{fill:var(--vz-active)}.vz-svg .vz-edge-label{font-size:11px;fill:var(--muted);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:4px}.vz-svg .vz-edge-label.is-active{fill:var(--text)}.vz-svg .vz-fnode text{font-size:13px}.vz-svg .vz-sub{font-size:10.5px;font-weight:500;fill:var(--muted)}.vz-svg .vz-node.is-active .vz-sub,.vz-svg .vz-node.is-found .vz-sub,.vz-svg .vz-node.is-swap .vz-sub{fill:currentColor;opacity:.85}.vz-svg .vz-node.is-error rect,.vz-svg .vz-node.is-error .vz-db,.vz-svg .vz-node.is-error .vz-db-top{fill:var(--vz-swap);stroke:var(--vz-swap)}.vz-svg .vz-node.is-error text{fill:#fff}.vz-svg .vz-node.is-done rect,.vz-svg .vz-node.is-done .vz-db{stroke:var(--vz-found);stroke-width:3}.vz-svg .vz-db,.vz-svg .vz-db-top{fill:var(--surface);stroke:var(--border-strong);stroke-width:2}.vz-svg .vz-node.is-active .vz-db,.vz-svg .vz-node.is-active .vz-db-top{fill:var(--vz-active);stroke:var(--vz-active)}.vz-svg .vz-node.is-found .vz-db,.vz-svg .vz-node.is-found .vz-db-top{fill:var(--vz-found);stroke:var(--vz-found)}.vz-svg .vz-packet circle{fill:#f5b301;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.vz-svg .vz-packet-label{font-size:11px;fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:4px}.vz-svg .vz-mem-title{font-size:12px;letter-spacing:.14em;fill:var(--muted)}.vz-svg .vz-mem-area{font-size:11px;fill:var(--muted);font-style:italic}.vz-svg .vz-frame>rect{fill:var(--bg-soft);stroke:var(--border-strong);stroke-width:2}.vz-svg .vz-frame.is-active>rect{stroke:var(--vz-active);stroke-width:3}.vz-svg .vz-frame-name{font-size:12px;fill:var(--brand-ink)}.vz-svg .vz-var-row rect{fill:var(--surface);stroke:var(--border)}.vz-svg .vz-var-row.is-active rect{fill:var(--vz-active);stroke:var(--vz-active)}.vz-svg .vz-var-row.is-active text{fill:#1b1f27}.vz-svg .vz-var-row text,.vz-svg .vz-obj text{font-size:12.5px;font-weight:600}.vz-svg .vz-val-text{fill:var(--brand-ink)}.vz-svg .vz-obj>rect{fill:var(--surface);stroke:var(--border-strong);stroke-width:2}.vz-svg .vz-obj.is-active>rect{stroke:var(--vz-active);stroke-width:3;fill:color-mix(in srgb,var(--vz-active) 18%,var(--surface))}.vz-svg .vz-obj.is-found>rect{stroke:var(--vz-found);stroke-width:3}.vz-svg .vz-obj.is-garbage{opacity:.4}.vz-svg .vz-obj.is-garbage>rect{stroke-dasharray:6 4}.vz-svg .vz-obj-type{font-size:12.5px;fill:var(--brand-ink)}.vz-svg .vz-ref{stroke:var(--vz-active);stroke-width:2.5;fill:none}.vz-svg .vz-class>rect{fill:var(--surface)}.vz-svg .vz-class.is-active>rect{fill:color-mix(in srgb,var(--vz-active) 22%,var(--surface));stroke:var(--vz-active)}.vz-svg .vz-class.is-active text{fill:var(--text)}.vz-svg .vz-class.is-found>rect{fill:color-mix(in srgb,var(--vz-found) 18%,var(--surface));stroke:var(--vz-found)}.vz-svg .vz-class.is-found text{fill:var(--text)}.vz-svg .vz-class-name{font-size:13.5px}.vz-svg .vz-class-name.is-italic{font-style:italic}.vz-svg .vz-member{font-size:12px;font-weight:500}.vz-svg .vz-member.is-on{font-weight:800;fill:#1b1f27}.vz-svg .vz-member-hl{fill:var(--vz-active)}.vz-svg .vz-uml-sep{stroke:var(--border-strong);stroke-width:1.5}.vz-svg .vz-uml-link{stroke:var(--muted);stroke-width:2;fill:none}.vz-svg .vz-uml-link.is-active{stroke:var(--vz-active);stroke-width:3}.vz-svg .vz-uml-head{fill:var(--surface);stroke:var(--muted);stroke-width:1.5}.viz .vz-grid td{padding:0 6px!important;white-space:nowrap}.viz-wide .viz-body{grid-template-columns:minmax(0,1fr)}.viz-wide .viz-code{border-left:0!important;border-top:1px solid var(--border)!important;max-height:240px}.viz-wide .vz-svg.vz-flow,.viz-wide .vz-svg.vz-uml,.viz-wide .vz-svg.vz-mem{margin:0 auto}