:root{--bg:#f4f1ea;--bg-soft:#fbf9f4;--surface:#fffefb;--card-from:#fffefb;--card-to:#f7f2e8;--ink:#2a2620;--ink-soft:#6b6256;--ink-faint:#a89e8e;--line:#e7e1d4;--line-soft:#f0ebe0;--accent:#ca6a2e;--accent-deep:#a14e16;--accent-soft:#f6e7d8;--code-bg:#2b2620;--code-ink:#ece4d6;--shadow-sm:0 1px 2px #28221812;--shadow-md:0 8px 24px #2822181a;--shadow-lg:0 18px 48px #28221829;--tier-newbie:#6b7686;--tier-pupil:#2f9e5f;--tier-specialist:#1f9bb5;--tier-expert:#c2410c;--tier-info:#7c5cdb;--radius:14px;--radius-sm:10px;--font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"SF Mono","JetBrains Mono","Fira Code",ui-monospace,Menlo,Consolas,monospace;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}:root[data-theme=syntax-ivory]{--bg:#f4f1ea;--bg-soft:#fbf9f4;--surface:#fffefb;--card-from:#fffefb;--card-to:#f7f2e8;--ink:#2a2620;--ink-soft:#6b6256;--ink-faint:#a89e8e;--line:#e7e1d4;--line-soft:#f0ebe0;--accent:#ca6a2e;--accent-deep:#a14e16;--accent-soft:#f6e7d8;--code-bg:#2b2620;--code-ink:#ece4d6;--tier-expert:#c2410c}:root[data-theme=compiler-dawn]{--bg:#fef6f3;--bg-soft:#fffaf8;--surface:#fff;--card-from:#fff;--card-to:#fff1ee;--ink:#3a2a2e;--ink-soft:#7c6168;--ink-faint:#b89aa1;--line:#f6e0db;--line-soft:#fcefec;--accent:#f43f5e;--accent-deep:#d72447;--accent-soft:#ffe2e8;--code-bg:#2d2530;--code-ink:#f3e8ee;--tier-pupil:#16a34a;--tier-specialist:#0891b2;--tier-expert:#f43f5e}:root[data-theme=token-light]{--bg:#f3f4f6;--bg-soft:#fafbfc;--surface:#fff;--card-from:#fff;--card-to:#f5f6f9;--ink:#111827;--ink-soft:#4b5563;--ink-faint:#9ca3af;--line:#e5e7eb;--line-soft:#f1f3f5;--accent:#4f46e5;--accent-deep:#3f37c9;--accent-soft:#e6e6fb;--code-bg:#1f2430;--code-ink:#e6e9f0;--tier-expert:#4f46e5}:root[data-theme=parse-linen]{--bg:#f1efe9;--bg-soft:#f8f6f1;--surface:#fdfcf9;--card-from:#fdfcf9;--card-to:#f3f0e8;--ink:#33312b;--ink-soft:#6a665c;--ink-faint:#a39f93;--line:#e4e0d6;--line-soft:#efece4;--accent:#15827a;--accent-deep:#0f655f;--accent-soft:#d9efec;--code-bg:#262b29;--code-ink:#e3ece9;--tier-specialist:#15827a;--tier-expert:#b45309}:root[data-theme=debug-daylight]{--bg:#eef2f8;--bg-soft:#f7faff;--surface:#fff;--card-from:#fff;--card-to:#f1f6fc;--ink:#0f1b2d;--ink-soft:#4a5a70;--ink-faint:#93a1b5;--line:#dde6f1;--line-soft:#eef3f9;--accent:#0ea5e9;--accent-deep:#0284c7;--accent-soft:#dbf0fc;--code-bg:#102030;--code-ink:#dceaf6;--tier-expert:#0ea5e9}:root[data-mode=dark]{--shadow-sm:0 1px 2px #0006;--shadow-md:0 10px 28px #00000080;--shadow-lg:0 22px 52px #0009;--tier-newbie:#aab3c2;--tier-pupil:#4ade80;--tier-specialist:#38d6ee;--tier-expert:#7aa2ff;--tier-info:#a78bfa}:root[data-theme=null-night]{--bg:#0e0f12;--bg-soft:#15171c;--surface:#16181d;--card-from:#181b21;--card-to:#14161b;--ink:#e6e8ec;--ink-soft:#9aa1ad;--ink-faint:#5f6772;--line:#262a31;--line-soft:#1d2027;--accent:#9ba8c4;--accent-deep:#7c8bb0;--accent-soft:#20242d;--code-bg:#0a0b0e;--code-ink:#cdd3dc;--tier-expert:#9ba8c4}:root[data-theme=hex-eclipse]{--bg:#0a0e10;--bg-soft:#0f1518;--surface:#111a1d;--card-from:#121c20;--card-to:#0e1518;--ink:#d7f0ec;--ink-soft:#8fb3ad;--ink-faint:#547069;--line:#1c2b2c;--line-soft:#142022;--accent:#22e0c6;--accent-deep:#14b8a6;--accent-soft:#0d2a28;--code-bg:#07100f;--code-ink:#cdeee8;--tier-newbie:#8fb3ad;--tier-pupil:#4ade80;--tier-specialist:#22e0c6;--tier-expert:#5eead4}:root[data-theme=stack-midnight]{--bg:#0d1117;--bg-soft:#131a23;--surface:#161c26;--card-from:#1a212c;--card-to:#141a23;--ink:#e6edf3;--ink-soft:#9aa7b4;--ink-faint:#5b6673;--line:#232c38;--line-soft:#1a212b;--accent:#58a6ff;--accent-deep:#3b82f6;--accent-soft:#16263d;--code-bg:#0a0e14;--code-ink:#d6e2f0;--tier-expert:#58a6ff}:root[data-theme=bitshadow]{--bg:#0c0c0f;--bg-soft:#131318;--surface:#15151b;--card-from:#1a1a22;--card-to:#131318;--ink:#eaeaf0;--ink-soft:#9c9cab;--ink-faint:#5e5e6c;--line:#26262f;--line-soft:#1c1c23;--accent:#a855f7;--accent-deep:#8b3ce0;--accent-soft:#221833;--code-bg:#08080b;--code-ink:#ddddea;--tier-pupil:#4ade80;--tier-specialist:#38bdf8;--tier-expert:#c084fc}:root[data-theme=terminal-noir]{--bg:#060807;--bg-soft:#0a0f0c;--surface:#0a0f0c;--card-from:#0c1310;--card-to:#080d0a;--ink:#d7f7da;--ink-soft:#7fc98a;--ink-faint:#4c7a55;--line:#16241a;--line-soft:#0f1a12;--accent:#34d058;--accent-deep:#22a043;--accent-soft:#0e2415;--code-bg:#030503;--code-ink:#8df59a;--font:var(--mono);--tier-newbie:#7fc98a;--tier-pupil:#34d058;--tier-specialist:#5eead4;--tier-expert:#a3e635}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--bg)}button{cursor:pointer;font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column;min-height:100dvh}.topbar{position:sticky;z-index:30;display:flex;background:color-mix(in srgb,var(--surface)86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex:none;align-items: center;gap:24px;height:58px;padding:0 28px;top:0}.topbar-actions{display:flex;align-items: center;gap:14px;min-width:0;margin-left:auto}.nav-menu{position:relative}.nav-menu-trigger{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items: center;width:34px;height:34px;padding:0;transition:color .12s,border-color .12s,background .12s;font-size:16px;line-height:1}.nav-menu-trigger:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.nav-menu-pop{position:absolute;z-index:40;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:menu-in .14s ease;flex-direction:column;gap:2px;min-width:210px;padding:8px;top:calc(100% + 10px);right:0}.nav-menu-item{text-align:left;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:0 0;border:none;width:100%;padding:9px 12px;font-size:14px;font-weight:600}.nav-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.nav-menu-theme{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:6px}.nav-menu-theme .theme-trigger{justify-content:flex-start;width:100%}.settings-menu{width:100%;margin-top:auto}.settings-pop{position:fixed;z-index:200;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:menu-in .14s ease;flex-direction:column;gap:2px;min-width:220px;padding:8px}.settings-pop .theme-menu,.nav-drawer-settings .theme-menu{inset:auto auto calc(100% + 10px) 0}.crumb-bar{display:flex;background:color-mix(in srgb,var(--surface)55%,transparent);border-bottom:1px solid var(--line);flex:none;align-items: center;height:44px;padding:0 28px}.crumb-scroll{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex:auto;align-items: center;gap:4px;min-width:0;font-size:14px}.crumb-scroll::-webkit-scrollbar{display:none}.brand{display:inline-flex;letter-spacing:-.01em;color:var(--ink);background:0 0;border:none;align-items: center;gap:8px;font-size:16px;font-weight:700}.brand-mark{display:inline-flex;color:var(--accent);align-items: center}.env-badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;user-select:none;border-radius:999px;align-self: center;margin-left:2px;padding:2px 8px;font-size:10px;font-weight:800;line-height:1.4}.env-badge-dev{background:#2e9e5b}.env-badge-stage{background:#d98324}.env-badge-prod{background:#d64545}.breadcrumb{display:flex;overflow:hidden;flex-wrap:nowrap;align-items: center;gap:4px;min-width:0;font-size:14px}.breadcrumb .crumb:last-child{min-width:0}.breadcrumb .crumb:last-child .crumb-current,.breadcrumb .crumb:last-child .crumb-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb{display:inline-flex;align-items: center;gap:8px}.crumb-link{color:var(--ink-soft);background:0 0;border:none;padding:0;font-size:14px}.crumb-link:hover{color:var(--accent)}.crumb-current{color:var(--ink);font-weight:600}.crumb-sep{color:var(--ink-faint)}.theme-picker{position:relative}.auth-btn{display:inline-flex;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;align-items: center;gap:7px;padding:7px 13px;transition:border-color .13s,color .13s;font-size:13.5px;font-weight:600}.auth-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-menu{position:relative;display:inline-flex}.auth-trigger{display:inline-flex;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;align-items: center;gap:5px;padding:5px 8px;transition:border-color .13s}.auth-trigger:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--line))}.auth-caret{color:var(--ink-faint);font-size:10px}.auth-dropdown{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:menu-in .14s ease;z-index:50;min-width:220px;padding:8px;top:calc(100% + 10px);right:0}.auth-identity{display:flex;align-items: center;gap:10px;padding:6px 8px}.auth-identity-text{display:flex;flex-direction:column;min-width:0}.auth-identity-name{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;font-weight:600}.auth-identity-email{color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.auth-divider{background:var(--line-soft);height:1px;margin:6px 0}.auth-menu-item{display:flex;text-align:left;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;align-items: center;gap:9px;width:100%;padding:8px 10px;transition:background .13s,color .13s;font-size:13.5px;font-weight:600}.auth-menu-item:hover{background:var(--bg-soft);color:var(--accent)}.auth-menu-icon{display:inline-flex;color:var(--ink-faint)}.auth-menu-item:hover .auth-menu-icon{color:var(--accent)}.share-btn{display:inline-flex;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;align-items: center;gap:7px;padding:7px 13px;transition:border-color .13s,color .13s,background .13s;font-size:13.5px;font-weight:600}.share-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.share-btn-ic{display:inline-flex}.share-btn.is-ok{border-color:var(--accent);color:var(--accent)}.share-btn.is-err{border-color:var(--danger,#d9534f);color:var(--danger,#d9534f)}.pro-badge{display:inline-flex;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items: center;gap:5px;padding:6px 11px;transition:filter .13s,box-shadow .13s;font-size:12px;font-weight:700}.pro-badge:hover{filter:brightness(1.06);box-shadow:0 1px 8px color-mix(in srgb,var(--accent)45%,transparent)}.pro-badge-mark{display:inline-flex;align-items: center}.pro-badge-mark svg{fill:currentColor;stroke:none}.pro-badge-free{color:var(--ink-soft);border-color:var(--line);background:0 0}.pro-badge-free:hover{filter:none;background:var(--surface-alt,#7f7f7f1f);color:var(--ink);box-shadow:none}.pro-badge-loading{color:var(--ink-faint);border-color:var(--line);cursor:default;background:0 0}.pro-badge-loading:hover{filter:none;box-shadow:none}.pro-badge-dot{animation:sync-pulse .9s ease-in-out infinite;background:currentColor;border-radius:50%;width:7px;height:7px}@media (max-width:640px){.share-btn{padding:7px 9px}.share-btn-label{display:none}.pro-badge{padding:6px 8px}.pro-badge-label{display:none}.pro-badge-free .pro-badge-label,.pro-badge-loading .pro-badge-label{display:inline}}.auth-avatar{object-fit:cover;border-radius:50%;width:20px;height:20px}.auth-avatar-fallback{display:inline-flex;background:var(--accent);color:#fff;justify-content:center;align-items: center;font-size:11px;font-weight:700}.sync-pill{display:inline-flex;color:var(--ink-soft);border:1px solid var(--line);background:var(--bg-soft);white-space:nowrap;border-radius:999px;align-items: center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:600}.sync-dot{display:inline-flex;align-items: center}.sync-dot svg{width:11px;height:11px}.save-sync-btn{display:inline-flex;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:9px;align-items: center;gap:7px;padding:7px 13px;transition:border-color .13s,color .13s,background .13s;font-size:13.5px;font-weight:600}.save-sync-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.save-sync-btn:disabled{cursor:default}.save-sync-ic{display:inline-flex;align-items: center;font-size:15px;line-height:1}.save-sync-btn.is-ok{color:#2f9e63;border-color:#2f9e6359}.save-sync-btn.is-err{color:#e5484d;border-color:#e5484d59}.save-sync-btn.is-busy{color:var(--accent);border-color:color-mix(in srgb,var(--accent)35%,transparent)}.save-sync-btn.is-busy .save-sync-ic{animation:sync-pulse .9s ease-in-out infinite}.auth-error{color:#e5484d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:12.5px;font-weight:500}@media (max-width:900px){.auth-error{display:none}}.sync-signedout{color:var(--ink-faint)}.sync-syncing{color:var(--accent)}.sync-syncing .sync-dot{animation:sync-pulse .9s ease-in-out infinite}.sync-synced{color:#2f9e63;border-color:#2f9e6359}.sync-error{color:#e5484d;border-color:#e5484d59}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.3}}.theme-trigger{display:inline-flex;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:999px;align-items: center;gap:9px;padding:7px 12px;transition:border-color .15s;font-size:13.5px;font-weight:600}.theme-trigger:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--line))}.theme-swatch-dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--ink)12%,transparent);border-radius:50%;width:12px;height:12px}.theme-caret{color:var(--ink-faint);font-size:10px}.theme-menu{position:absolute;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:menu-in .14s ease;width:290px;max-height:76vh;padding:12px;top:calc(100% + 10px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.theme-group-title{display:flex;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items: center;gap:7px;margin:4px 6px 8px;font-size:11px;font-weight:700}.theme-group-icon{color:var(--accent);font-size:13px}.theme-divider{background:var(--line-soft);height:1px;margin:10px 0}.theme-option{display:flex;text-align:left;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;align-items: center;gap:11px;width:100%;padding:8px 10px;transition:background .13s,border-color .13s}.theme-option:hover{background:var(--bg-soft)}.theme-option.is-active{border-color:color-mix(in srgb,var(--accent)40%,var(--line));background:color-mix(in srgb,var(--accent)8%,transparent)}.theme-swatch{display:inline-grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid color-mix(in srgb,var(--ink)14%,transparent);border-radius:6px;flex-shrink:0;width:42px;height:22px}.theme-swatch span{display:block}.theme-option-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.theme-option-name{color:var(--ink);font-size:13.5px;font-weight:600}.theme-option-blurb{color:var(--ink-soft);font-size:11.5px}.theme-check{color:var(--accent);margin-left:auto;font-weight:700}.shell-body{display:flex;flex:auto;min-height:0}.shell-content{display:flex;flex-direction:column;flex:auto;min-width:0;min-height:0}.shell-lower{display:flex;flex:auto;min-width:0;min-height:0}.nav-badge{display:grid;color:inherit;flex:none;place-items: center;width:26px;height:26px;font-size:20px;font-weight:700;line-height:1}.nav-badge-mono{font-family:var(--mono);font-size:18px}.nav-badge-mark{display:inline-flex}.activity-bar{display:flex;background:color-mix(in srgb,var(--surface)88%,var(--ink)9%);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:none;flex-direction:column;flex:none;gap:0;width:48px;padding:4px 0}.activity-bar::-webkit-scrollbar{display:none}body.klyroni-is-pro .nav-hide-pro,body:not(.klyroni-authed) .nav-auth-only{display:none!important}.act-item{position:relative;display:flex;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items: center;width:100%;height:38px;padding:0;transition:color .14s,background .14s}.act-item .nav-badge{width:26px;height:26px}.act-item:hover{color:var(--ink);background:color-mix(in srgb,var(--ink)7%,transparent)}.act-item.is-active{color:var(--ink);background:color-mix(in srgb,var(--ink)6%,transparent)}.act-item.is-active:before{content:"";position:absolute;background:var(--accent);width:2px;top:6px;bottom:6px;left:0}.nav-hamburger{display:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items: center;width:34px;height:34px;padding:0;transition:color .12s,border-color .12s,background .12s;font-size:17px;line-height:1}.nav-hamburger:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.nav-drawer{display:none}@media (max-width:920px){.activity-bar{display:none}.nav-hamburger{display:inline-flex}.nav-drawer{display:block;position:fixed;z-index:60;visibility:hidden;pointer-events:none;inset:0}.nav-drawer.is-open{visibility:visible;pointer-events:auto}.nav-drawer-backdrop{position:absolute;opacity:0;background:#14100a6b;transition:opacity .2s;inset:0}.nav-drawer.is-open .nav-drawer-backdrop{opacity:1}.nav-drawer-panel{position:absolute;display:flex;background:color-mix(in srgb,var(--surface)88%,var(--ink)9%);border-right:1px solid var(--line);box-shadow:var(--shadow-lg);overflow-y:auto;flex-direction:column;gap:4px;width:min(82vw,300px);padding:16px 12px;transition:transform .22s;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-drawer.is-open .nav-drawer-panel{transform:translate(0)}.nav-drawer-head{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:11px;margin-bottom:8px;padding:4px 8px 16px}.nav-drawer-mark{display:inline-flex;color:var(--accent)}.nav-drawer-brand{display:flex;flex-direction:column;line-height:1.2}.nav-drawer-name{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:800}.nav-drawer-tag{color:var(--ink-faint);font-size:11.5px;font-weight:600}.drawer-item{display:flex;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:13px;align-items: center;gap:13px;width:100%;padding:11px 12px;transition:background .14s}.drawer-item:hover{background:color-mix(in srgb,var(--ink)5%,transparent)}.drawer-item.is-active{background:color-mix(in srgb,var(--nav-accent,var(--accent))12%,transparent)}.drawer-text{display:flex;flex-direction:column;gap:1px;min-width:0}.drawer-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--nav-accent,var(--accent));font-size:10.5px;font-weight:700}.drawer-name{letter-spacing:-.01em;color:var(--ink);font-size:15.5px;font-weight:700}.nav-drawer-settings{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:10px}}.page{flex:1;width:100%;padding:18px max(16px,50% - 600px) 24px}html,body{overflow:hidden;height:100%}.app{height:100vh;height:100dvh}.page{overflow-y:auto;min-height:0}@media (min-width:901px){.page:has(.fill-page){overflow:hidden;display:flex;flex-direction:column;padding-bottom:24px}.fill-page{display:flex;flex-direction:column;flex:auto;min-height:0}.fill-page>:not(.fill-scroll){flex:none}.fill-scroll{overflow-y:auto;scrollbar-width:thin;flex:auto;min-height:0;padding:2px 4px 10px 2px}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:11.5px;font-weight:700}.section-title-lg{letter-spacing:-.02em;color:var(--ink);margin:0 0 8px;font-size:29px;font-weight:800;line-height:1.12}.section-lead{color:var(--ink-soft);max-width:560px;margin:0 0 18px;font-size:14.5px}.loading,.error,.empty{color:var(--ink-soft);padding:24px 0}.error{color:#e05260}.login-gate{display:flex;text-align:center;flex-direction:column;align-items: center;max-width:420px;margin:80px auto 0;padding:0 20px}.login-gate-lock{background:var(--accent-soft);display:flex;color:var(--accent);border-radius:50%;justify-content:center;align-items: center;width:56px;height:56px;margin-bottom:20px}.login-gate-lock svg{width:26px;height:26px}.login-gate-title{letter-spacing:-.02em;margin:0 0 12px;font-size:26px;font-weight:800}.login-gate-desc{color:var(--ink-soft);margin:0 0 32px;font-size:15px;line-height:1.6}.login-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.home{padding-top:24px}.home-title{letter-spacing:-.03em;margin:0 0 10px;font-size:56px;font-weight:800}.home-sub{color:var(--ink-soft);margin:0 0 44px;font-size:18px}@media (min-width:901px) and (max-height:760px){.home{padding-top:12px}.home .eyebrow{margin-bottom:6px}.home-title{margin:0 0 6px;font-size:40px}.home-sub{margin:0 0 20px;font-size:15px}}@media (min-width:901px) and (max-height:620px){.home{padding-top:8px}.home-title{margin:0 0 4px;font-size:32px}.home-sub{margin:0 0 12px}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:max-content;align-content: start;align-items:stretch;gap:22px}@media (max-width:360px){.tile-grid{grid-template-columns:1fr}}.scratch-tile .velocity-kicker,.scratch-tile .velocity-name,.scratch-tile .velocity-cta{color:var(--tier-specialist)}.scratch-tile:hover{border-color:color-mix(in srgb,var(--tier-specialist)45%,var(--line))}.scratch-tile .velocity-glow{background:radial-gradient(circle,color-mix(in srgb,var(--tier-specialist)24%,transparent),transparent 70%)}.scratch-icon{background:var(--tier-specialist);font-family:var(--mono);box-shadow:0 6px 16px color-mix(in srgb,var(--tier-specialist)38%,transparent);font-size:18px;font-weight:700}.howto-tile .velocity-kicker,.howto-tile .velocity-name,.howto-tile .velocity-cta{color:var(--tier-newbie)}.howto-tile:hover{border-color:color-mix(in srgb,var(--tier-newbie)45%,var(--line))}.howto-tile .velocity-glow{background:radial-gradient(circle,color-mix(in srgb,var(--tier-newbie)22%,transparent),transparent 70%)}.howto-icon{background:var(--tier-newbie);box-shadow:0 6px 16px color-mix(in srgb,var(--tier-newbie)38%,transparent);font-size:22px;font-weight:800}.velocity-tile{position:relative;overflow:hidden;text-align:left;display:flex;border:1px solid var(--line);background:linear-gradient(160deg,var(--card-from)0%,var(--card-to)100%);box-shadow:var(--shadow-md);border-radius:22px;flex-direction:column;padding:30px 30px 28px;transition:transform .18s,box-shadow .18s,border-color .18s}.velocity-tile:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent)40%,var(--line));transform:translateY(-4px)}.velocity-head{display:flex;align-items: center;gap:12px;margin-bottom:18px}.velocity-icon{display:grid;background:var(--accent);color:#fff;border-radius:12px;place-items: center;width:44px;height:44px;font-size:22px}.velocity-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.velocity-name{letter-spacing:-.02em;margin:0 0 10px;font-size:32px;font-weight:800}.velocity-desc{color:var(--ink-soft);margin:0 0 22px;font-size:15px}.velocity-cta{display:inline-flex;color:var(--accent);align-self: flex-start;align-items: center;gap:8px;margin-top:auto;font-weight:700}.velocity-tile:hover .arrow{transform:translate(4px)}.arrow{transition:transform .18s}.rating-grid,.problem-grid,.tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content: start;gap:14px}.rating-card,.problem-card,.tag-card{position:relative;display:flex;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(165deg,var(--card-from)0%,var(--card-to)100%);box-shadow:var(--shadow-sm);flex-direction:column;align-items: flex-start;gap:5px;padding:16px 18px;transition:transform .16s,box-shadow .16s,border-color .16s}.rating-card:hover,.problem-card:hover,.tag-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent)35%,var(--line));transform:translateY(-2px)}.rating-tier,.problem-card-name,.tag-name{color:var(--accent);text-align:left;margin:0;font-size:16px;font-weight:700;line-height:1.25}.tag-name{text-transform:capitalize}.rating-big,.problem-num,.tag-count{position:static;color:var(--ink-faint);font-size:12.5px;font-weight:600;line-height:1}.tier-badge{display:inline-block;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.tier-badge.tier-newbie,.tier-text.tier-newbie{color:var(--tier-newbie)}.tier-badge.tier-pupil,.tier-text.tier-pupil{color:var(--tier-pupil)}.tier-badge.tier-specialist,.tier-text.tier-specialist{color:var(--tier-specialist)}.tier-badge.tier-expert,.tier-text.tier-expert{color:var(--tier-expert)}.tier-text{font-weight:700}.list-head{display:flex;justify-content:space-between;align-items: flex-start;gap:24px;margin-bottom:20px}.list-head .section-lead{margin-bottom:0}.search{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:none;border-radius:999px;flex-shrink:0;width:240px;padding:10px 14px;transition:border-color .16s,box-shadow .16s;font-size:14px}.search::placeholder{color:var(--ink-faint)}.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}@media (max-width:900px){.rating-grid,.problem-grid,.tag-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rating-tier,.problem-card-name,.tag-name{font-size:15px}}.detail{display:grid;grid-template-columns:340px minmax(0,1fr);align-items:stretch;gap:26px;height:calc(100vh - 144px);min-height:420px}.detail-speed,.detail-acceleration,.detail-velocity{display:flex;justify-content:center;align-items: center}.detail-speed .meta-card,.detail-acceleration .meta-card,.detail-velocity .meta-card{width:100%;max-width:420px}.detail-rail{display:flex;flex-direction:column;gap:20px;height:100%;min-height:0}.meta-card,.examples-card,.statement-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.meta-card{flex:none;padding:22px}.meta-title{letter-spacing:-.02em;margin:0 0 20px;font-size:26px;font-weight:800}.speed-facts{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:8px 14px;margin:0 0 20px;font-size:14px}.speed-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11.5px;font-weight:700}.speed-facts dd{word-break:break-word;min-width:0;margin:0}.speed-facts code{font-family:var(--mono,ui-monospace,monospace);font-weight:700}.speed-url{color:var(--accent);text-decoration:none}.speed-url:hover{text-decoration:underline}.meta-actions{display:flex;flex-direction:column;gap:10px}.btn{display:inline-flex;border-radius:var(--radius-sm);text-decoration:none;border:1px solid #0000;justify-content:center;align-items: center;gap:8px;padding:12px 16px;transition:transform .14s,box-shadow .14s,background .14s;font-size:14.5px;font-weight:700}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--accent)0%,var(--accent-deep)100%);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--accent)36%,transparent)}.btn-primary:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--accent)46%,transparent)}.btn-solve{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-solve:hover{border-color:var(--accent);color:var(--accent)}.solve-icon{font-size:11px}.ext{opacity:.85;font-size:12px}.solve-note{color:var(--ink-soft);background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius-sm);margin:14px 0 0;padding:10px 12px;font-size:13px}.examples-card{display:flex;flex-direction:column;flex:auto;min-height:0;padding:20px}.examples-scroll{overflow-y:auto;scrollbar-width:thin;flex:auto;min-height:0}.examples-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);flex:none;margin:0 0 14px;font-size:12px;font-weight:700}.sample+.sample{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:18px}.sample-label{color:var(--ink-soft);margin:0 0 10px;font-size:13px;font-weight:700}.io-block+.io-block{margin-top:12px}.io-head{display:flex;justify-content:space-between;align-items: center;margin-bottom:6px}.io-head span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.copy-btn{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-soft);border-radius:7px;padding:3px 9px;transition:all .14s;font-size:11.5px;font-weight:600}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.io-pre{background:var(--bg-soft);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--mono);white-space:pre;overflow:auto;scrollbar-width:thin;max-height:230px;margin:0;padding:12px 14px;font-size:13px;line-height:1.6}.statement-card{overflow:auto;scrollbar-width:thin;min-height:0;max-height:100%;padding:30px 34px 38px}.statement-card::-webkit-scrollbar{width:10px;height:10px}.statement-card::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink)28%,transparent);border-radius:5px}.statement-card::-webkit-scrollbar-track{background:0 0}.cf-body .katex-display,.cf-header .katex-display{overflow-x:auto;overflow-y:hidden}.cf-body,.cf-header{color:var(--ink);font-size:15.5px;line-height:1.7}.cf-body p{margin:0 0 14px}.cf-body ul,.cf-body ol{margin:0 0 14px;padding-left:22px}.cf-body li{margin-bottom:6px}.cf-body a{color:var(--accent);text-decoration:none}.cf-body a:hover{text-decoration:underline}.cf-header .header{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:22px}.cf-header .title{letter-spacing:-.02em;color:var(--ink);margin-bottom:18px;font-size:24px;font-weight:800}.cf-header .header>div:not(.title){display:inline-block;color:var(--ink);margin-bottom:4px;margin-right:36px;font-size:14.5px}.cf-header .property-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px;font-size:10.5px;font-weight:700}.cf-spec,.cf-note-block{margin-top:26px}.section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:13px;font-weight:700}.cf-note-block .section-title{color:var(--ink-soft)}.tex-font-style-bf{font-weight:700}.tex-font-style-it{font-style:italic}.tex-font-style-tt{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:5px;padding:1px 5px;font-size:.9em}.cf-body .sample-tests{display:none}.katex{font-size:1.02em}@media (max-width:900px){.detail{grid-template-columns:1fr;height:auto;min-height:0}.detail-rail{display:contents}.examples-card{overflow:visible;max-height:none}.statement-card{overflow:auto;max-height:72vh}.examples-scroll{overflow:visible}.meta-card{order:1}.statement-card{order:2}.examples-card{order:3}.section-title-lg{font-size:24px}.list-head{flex-direction:column}.search{width:100%}.list-controls{gap:10px;width:100%}.search-wrap{flex:auto;min-width:0}.list-controls .search-wrap .search{width:100%}}@media (max-width:640px){.topbar{gap:8px;padding:0 12px}.topbar-actions{gap:8px}.sync-text,.save-sync-text{display:none}.sync-pill{padding:6px}.save-sync-btn{padding:7px 9px}.page{padding:14px 14px 24px}.statement-card{padding:22px 18px 26px}.home-title{font-size:42px}.section-title-lg{font-size:22px}.breadcrumb{font-size:13px}}@media (max-width:360px){.topbar{padding:0 8px}.topbar-actions{gap:6px}}.topbar-howto{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;padding:7px 12px;transition:color .12s,border-color .12s,background .12s;font-size:13px;font-weight:600}.topbar-howto:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.topbar-icon-btn{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items: center;width:34px;height:34px;padding:0;transition:color .12s,border-color .12s,background .12s;font-size:17px;line-height:1}.topbar-icon-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.theme-toggle-wrap{display:inline-flex}.theme-toggle-icon{display:inline-flex;justify-content:center;align-items: center}.kpal-backdrop,.ksheet-backdrop{position:fixed;z-index:200;display:flex;background:color-mix(in srgb,var(--ink)38%,transparent);backdrop-filter:blur(3px);justify-content:center;inset:0}.kpal-backdrop{align-items: flex-start;padding-top:12vh}.ksheet-backdrop{overflow-y:auto;align-items: flex-start;padding:7vh 20px 20px}.kpal-dialog{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;flex-direction:column;width:min(620px,92vw);max-height:70vh}.kpal-search{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:10px;padding:14px 16px}.kpal-search-icon{color:var(--ink-faint);font-size:18px}.kpal-input{outline:none;color:var(--ink);font-size:16px;font-family:var(--font);background:0 0;border:none;flex:1}.kpal-input::placeholder{color:var(--ink-faint)}.kpal-results{overflow-y:auto;flex:1;padding:6px}.kpal-row{display:flex;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items: center;gap:14px;width:100%;padding:9px 12px}.kpal-row.is-active{background:var(--accent-soft)}.kpal-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;font-weight:600}.kpal-row-meta{display:inline-flex;flex-shrink:0;align-items: center;gap:10px}.kpal-row-id{font-family:var(--mono);color:var(--ink-faint);font-size:12px}.kpal-row-hint{color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.kpal-row-tier{font-size:11.5px;font-weight:700}.kpal-row-tier.tier-newbie{color:var(--tier-newbie)}.kpal-row-tier.tier-pupil{color:var(--tier-pupil)}.kpal-row-tier.tier-specialist{color:var(--tier-specialist)}.kpal-row-tier.tier-expert{color:var(--tier-expert)}.kpal-empty{text-align:center;color:var(--ink-faint);padding:28px 16px}.kpal-foot{display:flex;border-top:1px solid var(--line);color:var(--ink-faint);gap:18px;padding:9px 16px;font-size:12px}.kpal-hint kbd{font-size:11px}.ksheet-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;width:min(760px,94vw);max-height:90vh;padding:20px 22px 18px}.ksheet-head{display:flex;flex:none;justify-content:space-between;align-items: center;margin-bottom:16px}.ksheet-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.ksheet-head-actions{display:inline-flex;align-items: center;gap:8px}.ksheet-reset{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;padding:5px 10px;font-size:12.5px}.ksheet-reset:hover{color:var(--accent);border-color:var(--accent)}.ksheet-close{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;width:30px;height:30px;font-size:14px}.ksheet-close:hover{color:var(--accent);border-color:var(--accent)}.ksheet-body{display:grid;grid-template-columns:1fr 1fr;overflow-y:auto;scrollbar-width:thin;flex:auto;gap:12px 28px;min-height:0}.kgroup{break-inside:avoid}.kgroup-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:6px 0 8px;font-size:11px;font-weight:800}.kgroup-rows{display:flex;flex-direction:column}.krow{display:flex;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:1px solid #0000;justify-content:space-between;align-items: center;gap:12px;width:100%;padding:7px 10px}.krow:hover{background:var(--bg-soft);border-color:var(--line)}.krow.is-capturing{background:var(--accent-soft);border-color:var(--accent)}.krow-label{font-size:13.5px}.krow-keys,.krow-capturing{display:inline-flex;flex-shrink:0;align-items: center;gap:6px}.krow-capturing{color:var(--accent-deep);font-size:12px;font-weight:600}.krow-binding{display:inline-flex;align-items: center;gap:5px}.krow-or,.kbd-then{color:var(--ink-faint);font-size:10.5px}.krow-unset{color:var(--ink-faint);font-size:12px;font-style:italic}.krow-resetone{color:var(--ink-faint);cursor:pointer;margin-left:2px;font-size:13px}.krow-resetone:hover{color:var(--accent)}.kbd-chord{display:inline-flex;align-items: center;gap:5px}.ksheet-note{color:var(--ink-faint);flex:none;margin:16px 2px 0;font-size:12px}.kpal-foot kbd,.kpal-hint kbd,.krow kbd,.ksheet-note kbd{display:inline-flex;border:1px solid var(--line);background:var(--bg-soft);font-family:var(--mono);color:var(--ink-soft);border-bottom-width:2px;border-radius:6px;align-items: center;min-width:18px;height:20px;padding:0 6px;font-size:11px;font-weight:600}@media (max-width:640px){.ksheet-body{grid-template-columns:1fr}.krow{flex-direction:column;align-items: flex-start;gap:6px}.krow-keys,.krow-capturing{flex-wrap:wrap;justify-content:flex-start}}.how{max-width:1180px}.how-inline-link,.how-row kbd{font:inherit}.how-inline-link{color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600}.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:26px}.how-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:18px 20px 20px}.how-card-title{letter-spacing:-.01em;margin:0 0 12px;font-size:16px;font-weight:800}.how-dl{margin:0}.how-row{display:grid;grid-template-columns:minmax(110px,30%)1fr;border-top:1px solid var(--line-soft);gap:10px 14px;padding:7px 0}.how-row:first-child{border-top:0}.how-row dt{color:var(--accent);margin:0;font-size:13.5px;font-weight:700}.how-row dd{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.how-row kbd{display:inline-flex;border:1px solid var(--line);background:var(--bg-soft);font-family:var(--mono);color:var(--ink-soft);border-bottom-width:2px;border-radius:5px;align-items: center;min-width:16px;height:19px;margin:0 1px;padding:0 5px;font-size:11px;font-weight:600}.how-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.auth-backdrop{position:fixed;z-index:210;display:flex;background:color-mix(in srgb,var(--ink)38%,transparent);backdrop-filter:blur(3px);justify-content:center;align-items: flex-start;padding-top:12vh;inset:0}.auth-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(380px,92vw);padding:20px 22px 22px}.auth-head{display:flex;justify-content:space-between;align-items: center}.auth-title{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}.auth-close{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);cursor:pointer;width:30px;height:30px}.auth-close:hover{color:var(--accent);border-color:var(--accent)}.upgrade-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(360px,92vw);padding:20px 22px 22px}.upgrade-modal-top{display:flex;justify-content:space-between;align-items: flex-start;margin-bottom:14px}.upgrade-modal-icon{background:var(--accent-soft);display:flex;color:var(--accent);border-radius:50%;justify-content:center;align-items: center;width:44px;height:44px}.upgrade-modal-icon svg{width:22px;height:22px}.upgrade-modal-title{letter-spacing:-.01em;margin:0 0 8px;font-size:18px;font-weight:800}.upgrade-modal-desc{color:var(--ink-soft);margin:0 0 20px;font-size:13.5px;line-height:1.55}.upgrade-modal-actions{display:flex;flex-direction:column;gap:8px}.upgrade-modal-later{color:var(--ink-faint);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:13px}.upgrade-modal-later:hover{color:var(--ink-soft)}.auth-sub{color:var(--ink-soft);margin:6px 0 16px;font-size:13px}.auth-google{display:flex;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items: center;gap:10px;width:100%;padding:10px 14px;font-size:14px;font-weight:600}.auth-google:hover:not([disabled]){border-color:var(--accent);background:var(--bg-soft)}.auth-google[disabled]{opacity:.6;cursor:default}.auth-g{display:inline-flex}.auth-or{display:flex;color:var(--ink-faint);align-items: center;gap:10px;margin:16px 0 12px;font-size:12px}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.auth-label{display:block;color:var(--ink-soft);margin:0 0 4px;font-size:12px;font-weight:600}.auth-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--ink);font-size:14px;font-family:var(--font);outline:none;width:100%;margin-bottom:12px;padding:9px 11px}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-err{color:#e5484d;margin:0 0 10px;font-size:12.5px}.auth-submit{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:0;width:100%;padding:10px 14px;font-size:14px;font-weight:700}.auth-submit[disabled]{opacity:.6;cursor:default}.auth-toggle{text-align:center;color:var(--ink-soft);margin:14px 0 0;font-size:13px}.auth-toggle-link{color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600}.dl-modal-backdrop{position:fixed;z-index:320;display:flex;background:color-mix(in srgb,var(--ink)38%,transparent);justify-content:center;align-items: center;padding:16px;inset:0}.dl-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(420px,92vw);padding:22px 24px 20px}.dl-modal-head{display:flex;align-items: center;gap:12px}.dl-modal-icon{display:inline-flex;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex-shrink:0;justify-content:center;align-items: center;width:38px;height:38px}.dl-modal-icon-danger{color:#e5484d;background:#e5484d29}.dl-modal-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.dl-modal-sub{color:var(--ink);margin:14px 0 0;font-size:13.5px;line-height:1.5}.dl-modal-note{color:var(--ink-soft);margin:8px 0 0;font-size:12.5px;line-height:1.5}.dl-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dl-modal-btn{border-radius:var(--radius-sm);cursor:pointer;padding:9px 18px;font-size:14px;font-weight:700}.dl-modal-primary{background:var(--accent);color:#fff;border:0}.dl-modal-primary:hover{background:color-mix(in srgb,var(--accent)88%,var(--ink))}.dl-modal-ghost{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.dl-modal-ghost:hover{border-color:var(--accent);color:var(--accent)}.dl-modal-danger{color:#fff;background:#e5484d;border:0}.dl-modal-danger:hover{background:#ca3f44}.problemset-tile .velocity-kicker,.problemset-tile .velocity-name,.problemset-tile .velocity-cta{color:var(--tier-pupil)}.problemset-tile:hover{border-color:color-mix(in srgb,var(--tier-pupil)45%,var(--line))}.problemset-tile .velocity-glow{background:radial-gradient(circle,color-mix(in srgb,var(--tier-pupil)24%,transparent),transparent 70%)}.problemset-icon{background:var(--tier-pupil);font-family:var(--mono);box-shadow:0 6px 16px color-mix(in srgb,var(--tier-pupil)38%,transparent);font-size:20px;font-weight:700}.list-controls{display:flex;flex-shrink:0;align-items: center;gap:12px}.btn-tags-browse{border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:10px 16px;transition:background .15s,border-color .15s;font-size:14px;font-weight:600}.btn-tags-browse:hover{background:var(--accent-soft);border-color:var(--accent)}.sort-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:none;cursor:pointer;border-radius:999px;padding:10px 14px;transition:border-color .16s,box-shadow .16s;font-size:14px}.sort-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-wrap{position:relative;display:inline-block}.search-wrap .search{width:240px;padding-right:36px}.search-clear{position:absolute;display:grid;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items: center;width:22px;height:22px;transition:background .14s,color .14s;font-size:18px;line-height:1;top:50%;right:8px;transform:translateY(-50%)}.search-clear:hover{background:var(--accent-soft);color:var(--accent)}.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items: center;gap:10px;padding-top:16px}.pager:empty{display:none}@media (max-width:900px){.page:has(.section.fill-page){overflow:hidden;display:flex;flex-direction:column;padding-bottom:16px}.section.fill-page{display:flex;flex-direction:column;flex:auto;min-height:0}.section.fill-page>:not(.fill-scroll){flex:none}.section.fill-page .fill-scroll{overflow-y:auto;scrollbar-width:thin;flex:auto;min-height:0}.pager:not(:empty){border-top:1px solid var(--line);padding-top:14px}}.pager-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px;padding:7px 14px;transition:border-color .14s,color .14s,background .14s;font-size:13px;font-weight:600}.pager-btn:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}.pager-btn[disabled]{opacity:.4;cursor:default}.pager-info{display:inline-flex;color:var(--ink-soft);align-items: center;gap:6px;margin:0 6px;font-size:13px;font-weight:600}.pager-jump{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:center;outline:none;border-radius:8px;width:58px;padding:5px 8px;font-size:13px}.pager-jump:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ws-bar{position:relative;display:flex;background:color-mix(in srgb,var(--surface)92%,var(--ink)6%);border-right:1px solid var(--line);overflow:hidden;flex-direction:column;flex:none;width:180px;transition:width .18s}.ws-bar.is-collapsed{width:28px}.ws-bar.is-resizing{user-select:none;transition:none}.ws-inner{display:flex;overflow:hidden;flex-direction:column;flex:auto;min-height:0}.ws-resizer{position:absolute;cursor:col-resize;z-index:2;touch-action:none;background:0 0;width:6px;height:100%;transition:background .12s;top:0;right:0}.ws-resizer:hover,.ws-bar.is-resizing .ws-resizer{background:color-mix(in srgb,var(--accent)45%,transparent)}.ws-header{display:flex;flex:none;align-items: center;gap:4px;padding:8px 6px 4px}.ws-toggle{display:flex;cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items: center;width:22px;height:22px;padding:0;transition:color .12s,background .12s;font-size:14px;line-height:1}.ws-toggle:hover{color:var(--ink);background:color-mix(in srgb,var(--ink)8%,transparent)}.ws-title{letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap;overflow:hidden;font-size:10px;font-weight:700}.ws-list{overflow-y:auto;display:flex;scrollbar-width:thin;scrollbar-color:var(--line)transparent;flex-direction:column;flex:auto;gap:1px;padding:4px 0 8px}.ws-empty{color:var(--ink-faint);margin:0;padding:8px 10px;font-size:11px}.ws-item{display:block;text-align:left;cursor:pointer;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;width:calc(100% - 8px);margin:0 4px;padding:5px 10px;transition:background .1s,color .1s;font-size:12px}.ws-item:hover{background:color-mix(in srgb,var(--ink)7%,transparent);color:var(--ink)}.ws-item-label{pointer-events:none}@media (max-width:920px){.ws-bar{display:none}}.meta-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.tag-chip{display:inline-block;text-transform:capitalize;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent)22%,transparent);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600}.pro-page{max-width:760px;margin:0 auto;padding:32px 20px 64px}.pro-hero{text-align:center;padding:40px 0 36px}.pro-hero-title{color:var(--ink);margin:0 0 10px;font-size:2rem;font-weight:800}.pro-hero-sub{color:var(--ink-soft);max-width:520px;margin:0 auto 24px;font-size:1rem;line-height:1.6}.pro-cta{display:inline-block;border-radius:var(--radius-sm);padding:12px 28px;font-size:1rem}.pro-plans{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:8px 0 12px}.pro-plan{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:center;flex:180px;max-width:220px;padding:18px 16px}.pro-plan-hero{border-color:var(--accent-deep);box-shadow:var(--shadow-sm)}.pro-plan-name{color:var(--ink);margin-bottom:6px;font-weight:700}.pro-plan-price{color:var(--ink);font-size:1.4rem;font-weight:800}.pro-plan-usd{color:var(--ink-faint);font-size:.85rem;font-weight:600}.pro-plan-note{color:var(--ink-soft);margin:4px 0 14px;font-size:.8rem}.pro-plan-cta{width:100%}.pro-plans-fine{text-align:center;color:var(--ink-faint);margin:0 0 4px;font-size:.8rem}.pro-checkout-err,.upgrade-modal-err{color:var(--danger,#c0392b);text-align:center;margin:8px 0 0;font-size:.85rem}.pro-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.pro-table{border-collapse:collapse;width:100%;font-size:.9rem}.pro-table thead{background:color-mix(in srgb,var(--surface)60%,var(--ink)4%)}.pro-table th,.pro-table td{text-align:center;border-bottom:1px solid var(--line-soft);padding:10px 14px}.pro-feature-col,.pro-feature-name{text-align:left}.pro-feature-name{color:var(--ink);font-weight:500}.pro-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.78rem;font-weight:700}.pro-th-pro,.pro-col-pro{background:color-mix(in srgb,var(--accent)6%,transparent);color:var(--accent-deep)!important}.pro-th-pro{font-weight:800;color:var(--accent-deep)!important}.pro-cell{color:var(--ink-faint);font-size:.85rem}.pro-yes{color:#10a37f;font-weight:700}.pro-no{color:var(--ink-faint)}.pro-partial{color:var(--ink-soft);font-weight:600}.pro-table tr:last-child td{border-bottom:none}.pro-table tbody tr:hover td{background:color-mix(in srgb,var(--ink)3%,transparent)}.billing-page{max-width:560px;margin:0 auto;padding:32px 20px 64px}.billing-head{text-align:center;padding:24px 0 28px}.billing-title{color:var(--ink);margin:0 0 8px;font-size:1.8rem;font-weight:800}.billing-sub{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.6}.billing-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);padding:22px 22px 20px}.billing-plan-head{display:flex;justify-content:space-between;align-items: center;gap:12px;margin-bottom:16px}.billing-plan-name{color:var(--ink);font-size:1.05rem;font-weight:700}.billing-status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:color-mix(in srgb,var(--ink)8%,transparent);color:var(--ink-soft);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700}.billing-status-active{color:#0c8567;background:#10a37f29}.billing-status-cancel,.billing-status-past_due{background:color-mix(in srgb,var(--danger,#c0392b)14%,transparent);color:var(--danger,#c0392b)}.billing-rows{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.billing-row{display:flex;border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:9px 0;font-size:.9rem}.billing-rows .billing-row:last-child{border-bottom:none}.billing-row-label{color:var(--ink-soft)}.billing-row-value{color:var(--ink);font-weight:600}.billing-note{color:var(--ink-soft);margin:10px 0 0;font-size:.85rem}.billing-note-warn{color:var(--danger,#c0392b)}.billing-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.billing-actions .btn{flex:auto}.btn-danger-ghost{border:1px solid color-mix(in srgb,var(--danger,#c0392b)40%,var(--line));color:var(--danger,#c0392b);background:0 0}.btn-danger-ghost:hover{background:color-mix(in srgb,var(--danger,#c0392b)10%,transparent)}.billing-fine{color:var(--ink-faint);margin:14px 0 0;font-size:.78rem;line-height:1.55}.billing-empty{color:var(--ink-soft);text-align:center;margin:0 0 16px;font-size:.95rem}.billing-err{color:var(--danger,#c0392b);text-align:center;margin:12px 0 0;font-size:.85rem}
