@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}svg{--ts:1}:root,[data-theme=blueprint]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#132b4a;--bg-2:#10253f;--panel:#17335a;--panel-2:#1c3b65;--panel-3:#22446f;--line:#3f6593;--line-soft:#2a4b77;--wire:#7f9fca;--text:#eaf2fd;--text-dim:#b9cde9;--text-faint:#9cb8de;--accent:#eaf2fd;--accent-2:#fff;--accent-ink:#132b4a;--check:#f6d743;--redline:#ff7f70;--star:#f6d743;--ok:#5fe3a8;--warn:#ffa95e;--bad:#ff7f70;--caution:#f6d743;--info:#93d2ff;--cat-entry:#f6d743;--cat-compute:#5fe3a8;--cat-storage:#93d2ff;--cat-messaging:#c9b6f0;--cat-edge:#a6d36a;--cls-read:#7fc0ff;--cls-write:#ff8a5c;--cls-search:#3fd19b;--cls-upload:#e8b23a;--cls-media:#f07aa6;--cls-async:#6fcf4a;--cls-realtime:#b0a6ff;--cls-bot:#ff8f8f;--cls-payment:#4fd6e8;--cls-login:#c9b6f0;--cls-stuffing:#e0798a;--cls-ddos:#b3ab9e;--cls-batch:#a6d36a;--cls-webhook:#d9b27a;--cls-other:#9aaccb;--shade:#050e1c;--scrim:#081629b8;--ornament:none}:root{--display:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--body:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--radius:2px;--radius-lg:3px;--drafting:var(--mono);--hand:"Caveat Variable", "Bradley Hand", "Segoe Print", cursive;font-family:var(--body);font-size:calc(14.5px * var(--ts,1));color:var(--text);background:var(--bg);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.55}:root,[data-theme]{--highlight:var(--check);--grid:color-mix(in srgb, var(--text) 5%, transparent);--grid-major:color-mix(in srgb, var(--text) 10%, transparent);--check-wash:color-mix(in srgb, var(--highlight) 34%, transparent);--check-line:color-mix(in srgb, var(--check) 50%, transparent);--check-tint:color-mix(in srgb, var(--check) 7%, transparent);--check-stroke:linear-gradient(transparent 80%, var(--highlight) 80% 96%, transparent 96%);--redline-line:color-mix(in srgb, var(--redline) 50%, transparent);--redline-tint:color-mix(in srgb, var(--redline) 7%, transparent);--hatch:repeating-linear-gradient(45deg, transparent 0 7px, color-mix(in srgb, var(--text) 7%, transparent) 7px 8px);--c-read:var(--cls-read);--c-write:var(--cls-write);--shadow-pop:0 16px 40px -12px color-mix(in srgb, var(--shade) 70%, transparent), 0 0 0 1px color-mix(in srgb, var(--shade) 40%, transparent)}*{box-sizing:border-box}body{background-color:var(--bg);background-image:var(--ornament), linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:100% 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat,repeat,repeat,repeat,repeat;background-size:auto,120px 120px,120px 120px,24px 24px,24px 24px;min-height:100vh;margin:0}::selection{background:var(--check-wash)}.boot{max-width:640px;color:var(--text-dim);margin:0 auto;padding:18vh 20px 40px;line-height:1.6}.boot h1{font-family:var(--display);color:var(--text);margin:0 0 12px}.boot a{color:var(--text)}h1,h2,h3,h4,h5{font-family:var(--display);letter-spacing:-.015em;margin:0;font-weight:600}h1{letter-spacing:-.03em}a{color:var(--text);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}a:hover{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 90%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 90%, transparent)}code,kbd{font-family:var(--mono);font-size:.86em}kbd{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text-dim);box-shadow:0 1px 0 var(--line);padding:0 5px}button{font:inherit;color:inherit}.eyebrow{font-family:var(--body);font-size:calc(12.5px * var(--ts,1));color:var(--text-faint);margin:0 0 6px;font-weight:500}.lede{color:var(--text-dim);max-width:62ch;font-size:1.07rem}.fine{color:var(--text-faint);font-size:calc(12.5px * var(--ts,1));margin:6px 0 0}.bad{color:var(--bad)!important}.ico{vertical-align:-.14em;flex:none;width:1em;height:1em}.btn{--b:var(--line);border:1px solid var(--b);border-radius:var(--radius);background:var(--panel-2);min-height:34px;color:var(--text);font-family:var(--body);font-weight:500;font-size:calc(13.5px * var(--ts,1));cursor:pointer;box-shadow:0 1px 0 color-mix(in srgb, var(--text) 3%, transparent) inset;justify-content:center;align-items:center;gap:7px;padding:7px 14px;line-height:1.2;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-3);--b:var(--wire)}.btn:active:not(:disabled){background:var(--panel-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:none}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn.primary:active:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, var(--bg))}.btn.ghost{box-shadow:none;background:0 0}.btn.danger{border-color:color-mix(in srgb, var(--bad) 40%, transparent);color:color-mix(in srgb, var(--bad) 75%, var(--text));background:0 0}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 10%, transparent)}.btn.small{min-height:28px;font-size:calc(12.5px * var(--ts,1));padding:5px 10px}.btn.big{min-height:42px;font-size:calc(15px * var(--ts,1));padding:10px 20px}.btn.block{width:100%;margin-top:12px}:focus-visible{outline:2px solid color-mix(in srgb, var(--info) 80%, transparent);outline-offset:2px}:root[data-more-contrast]{--text-dim:color-mix(in srgb, var(--text) 92%, var(--bg));--text-faint:color-mix(in srgb, var(--text) 84%, var(--bg));--line:color-mix(in srgb, var(--text) 58%, var(--bg));--line-soft:color-mix(in srgb, var(--text) 38%, var(--bg));--wire:color-mix(in srgb, var(--text) 78%, var(--bg));--grid:color-mix(in srgb, var(--text) 3.5%, transparent);--grid-major:color-mix(in srgb, var(--text) 7%, transparent)}:root[data-more-contrast] :focus-visible{outline:3px solid var(--check);outline-offset:2px}:root[data-legible-font]{--display:"Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--body:"Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", sans-serif}:root[data-no-handwriting]{--hand:var(--body)}:root[data-no-grid]{--grid:transparent;--grid-major:transparent}.app{flex-direction:column;min-height:100vh;display:flex}.app.is-level{height:100dvh;overflow:hidden}.topbar{border-bottom:1px solid var(--line-soft);background:var(--bg);z-index:20;flex:none;align-items:center;gap:20px;height:52px;padding:0 16px 0 18px;display:flex;position:sticky;top:0}.wordmark{color:var(--text);font-family:var(--display);font-weight:600;font-size:calc(15px * var(--ts,1));letter-spacing:-.01em;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:0 auto;align-items:center;gap:9px;min-width:0;padding:0;text-decoration:none;display:inline-flex}.wordmark-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.logo-mark{flex:none;display:block}.nav-links{scrollbar-width:none;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{white-space:nowrap;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-family:var(--body);font-size:calc(13.5px * var(--ts,1));background:0 0;border:0;flex:none;align-items:center;padding:5px 10px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.nav-links a:hover{color:var(--text);background:color-mix(in srgb, var(--text) 4.5%, transparent)}.nav-links a.is-on{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.profile-menu{min-width:0;position:relative}.profile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:16ch;overflow:hidden}.profile-btn{cursor:pointer;border-radius:var(--radius);font-size:calc(13.5px * var(--ts,1));color:var(--text-dim);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.profile-btn:hover{border-color:var(--line);background:var(--panel-2);color:var(--text)}.avatar{background:var(--panel-3);width:26px;height:26px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 8%, transparent);color:var(--text);font-family:var(--body);font-weight:600;font-size:calc(12px * var(--ts,1));border-radius:50%;place-items:center;display:grid}.avatar.small{width:20px;height:20px;font-size:calc(10.5px * var(--ts,1))}.menu{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:264px;box-shadow:var(--shadow-pop);z-index:50;padding:5px;position:absolute;top:calc(100% + 8px);right:0}.menu button,.menu-check{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;font-size:calc(13.5px * var(--ts,1));background:0 0;border:0;align-items:center;gap:8px;padding:7px 9px;display:flex}.menu button:hover,.menu-check:hover{background:var(--panel-3)}.menu button.is-on{color:var(--text);font-weight:500}.menu button small{color:var(--text-faint);margin-left:auto}.menu button.danger{color:color-mix(in srgb, var(--bad) 75%, var(--text))}.menu-label{font-size:calc(12px * var(--ts,1));color:var(--text-faint);margin:6px 9px 4px;font-weight:500}.menu hr{border:0;border-top:1px solid var(--line-soft);margin:5px -5px}input[type=checkbox]{appearance:none;border:1px solid var(--wire);vertical-align:-2px;cursor:pointer;background:0 0;border-radius:0;flex:none;place-content:center;width:14px;height:14px;margin:0 3px 0 0;display:inline-grid}input[type=checkbox]:after{content:"";border:solid var(--accent-ink);visibility:hidden;border-width:0 0 1.75px 1.75px;width:7px;height:3.5px;margin-top:-2px;transform:rotate(-45deg)}input[type=checkbox]:checked{background:var(--check);border-color:var(--check)}input[type=checkbox]:checked:after{visibility:visible}input[type=checkbox]:hover:not(:disabled){border-color:var(--text)}input[type=checkbox]:disabled{cursor:not-allowed;border-style:dashed}input[type=checkbox]:checked:disabled{opacity:.6}input[type=range]{accent-color:var(--text)}input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:inherit;font-size:calc(13px * var(--ts,1));cursor:pointer;margin-right:10px;padding:5px 10px}input[type=file]::file-selector-button:hover{border-color:var(--wire)}.cloud-note{font-size:calc(12.5px * var(--ts,1));color:var(--text-dim);margin:2px 10px 6px;line-height:1.4}.cloud-note strong{color:var(--text);overflow-wrap:anywhere;font-weight:500}.cloud-status{color:var(--text-faint)}.cloud-status.is-synced{color:var(--check)}.cloud-status.is-offline{color:var(--warn)}.cloud-error{font-size:calc(12.5px * var(--ts,1));color:color-mix(in srgb, var(--bad) 75%, var(--text));margin:4px 10px 6px;line-height:1.4}.google-mark{flex:none}.cloud-privacy{font-size:calc(12px * var(--ts,1));color:var(--text-faint);margin:2px 10px 6px;display:inline-block}.cloud-privacy:hover{color:var(--text-dim)}.onboarding-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.onboarding-card .cloud-privacy{margin:0}.field-hint{font-size:calc(12.5px * var(--ts,1));color:var(--text-faint);margin:6px 0 0}.btn.cloud-google{align-items:center;gap:8px;display:inline-flex}.onboarding-card .cloud-note,.onboarding-card .cloud-error{margin:8px 0}.modal.cloud-choice{width:min(calc(480px * var(--ts,1)), 100%);gap:10px;padding:22px 24px}.cloud-choice h2{font-size:calc(22px * var(--ts,1));margin:0}.cloud-choice p{color:var(--text-dim);margin:0;line-height:1.5}.cloud-choice-actions{flex-direction:column;align-items:stretch;gap:4px;margin-top:8px;display:flex}.cloud-choice-actions .cloud-note{margin:0 0 10px}.onboarding{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.onboarding-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);width:min(460px,100%);box-shadow:var(--shadow-pop);padding:36px 32px 28px;position:relative}.onboarding h1{font-size:calc(30px * var(--ts,1));margin:20px 0 10px;line-height:1.1}.onboarding .lede{font-size:calc(14.5px * var(--ts,1))}.onboarding form{margin:26px 0 14px}.onboarding label{font-size:calc(13px * var(--ts,1));color:var(--text-dim);margin-bottom:7px;font-weight:500;display:block}.onboarding .row{flex-wrap:wrap;gap:8px;display:flex}.onboarding input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);min-width:180px;color:var(--text);font:inherit;font-size:calc(15px * var(--ts,1));flex:1;padding:7px 11px;transition:border-color .15s,box-shadow .15s}.onboarding input:focus{border-color:var(--wire);box-shadow:0 0 0 3px color-mix(in srgb, var(--info) 18%, transparent);outline:none}.campaign,.codex{width:min(1180px,100%);margin:0 auto;padding:0 24px 80px}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding:72px 0 56px;animation:.5s cubic-bezier(.2,.7,.2,1) both rise;display:grid}.hero h1{font-size:calc(clamp(36px, 4.6vw, 56px) * var(--ts,1));letter-spacing:-.04em;margin-bottom:20px;font-weight:600;line-height:1.04}.hero h1 span{display:block}.hero h1 span:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C60 2 110 9 160 6 S250 2 297 5' fill='none' stroke='%23ff7f70' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;width:min(11.5em,100%);height:.22em;margin-top:.04em;display:block}.hero-set{font-family:var(--drafting);font-size:calc(12px * var(--ts,1));letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin:0 0 14px}.hero .lede{font-size:calc(16px * var(--ts,1));max-width:54ch;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;display:flex}.hero-actions .btn .ico{margin-right:-2px}.hero-suggest{max-width:46ch;color:var(--text-dim);font-size:calc(13.5px * var(--ts,1));margin:12px 0 0;line-height:1.55}.title-block{border:1.5px solid var(--text);grid-template-columns:repeat(3,minmax(0,max-content));width:fit-content;max-width:100%;margin:32px 0 0;display:grid}.title-block div{border:.5px solid var(--line);flex-direction:column;gap:2px;min-width:0;padding:7px 16px 8px 10px;display:flex}.title-block .tb-wide{grid-column:1/-1}.title-block dt{font-family:var(--drafting);font-size:calc(10.5px * var(--ts,1));letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.title-block dd{font-family:var(--drafting);font-size:calc(18px * var(--ts,1));font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:500;overflow:hidden}.title-block .tb-wide dd{font-size:calc(14px * var(--ts,1));letter-spacing:.08em;text-transform:uppercase}@media (width<=560px){.title-block{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}.title-block .tb-name{font-family:var(--hand);font-size:calc(24px * var(--ts,1));line-height:1}.hero-stats dd small{font-size:calc(14px * var(--ts,1));color:var(--text-faint);margin-left:1px;font-weight:500}.hero-diagram{justify-self:end;width:100%;max-width:480px}.hero-wire{fill:none;stroke:var(--wire);stroke-width:1.25px;stroke-linecap:round;opacity:.85}.hero-arrow{fill:var(--wire)}.hero-node rect{fill:var(--bg);stroke:var(--text);stroke-width:1.25px}.hero-node{color:var(--text)}.chapter{margin-top:64px;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.chapter:nth-of-type(2){animation-delay:60ms}.chapter:nth-of-type(3){animation-delay:.12s}.chapter:nth-of-type(4){animation-delay:.18s}.chapter>header{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:14px;margin-bottom:18px;padding-bottom:14px;display:flex}.chapter-n,.lc-num small{font-family:var(--drafting);color:var(--text-faint);font-size:calc(12px * var(--ts,1));letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums}.chapter-n small,.lc-num small{font-size:inherit}.chapter h2{font-size:calc(20px * var(--ts,1))}.chapter header p{color:var(--text-dim);font-size:calc(14px * var(--ts,1));margin:4px 0 0}.level-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.level-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;align-items:flex-start;width:100%;min-height:140px;padding:14px 16px 13px;transition:border-color .15s,background .15s;display:flex;position:relative}.level-card:hover:not(:disabled){border-color:var(--wire);background:var(--panel-2)}.level-card.is-next{border:2px solid var(--text);background:var(--panel-2);padding:13px 15px 12px}.level-card.is-next:after{content:"start here";font-family:var(--hand);font-size:calc(21px * var(--ts,1));color:var(--redline);font-weight:600;position:absolute;top:6px;right:12px;transform:rotate(-4deg)}.level-card.is-cleared .lc-title>span,.home-milestones .is-done b>span{background:var(--check-stroke);-webkit-box-decoration-break:clone;box-decoration-break:clone}.level-card.is-cleared .lc-num{color:var(--check)}.level-card.is-locked:hover{border-color:var(--line)}.level-card.is-locked{background:var(--hatch), var(--bg-2);box-shadow:none;cursor:not-allowed;border-style:dashed}.level-card.is-locked .lc-title{color:var(--text-dim)}.level-card.is-locked .lc-topic,.level-card.is-locked .lc-num{color:var(--text-faint)}.level-card.is-locked .lock{color:var(--text-dim)}.lc-num{font-family:var(--drafting);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.lc-topic{font-size:calc(12.5px * var(--ts,1));color:var(--text-faint);margin-top:12px;line-height:1.4}.lc-title{font-family:var(--display);font-size:calc(16px * var(--ts,1));letter-spacing:-.01em;margin-top:3px;font-weight:600;line-height:1.3}.lc-foot{justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:14px;display:flex}.lc-new{color:var(--text-faint);gap:5px;display:flex}.lock{font-size:calc(12px * var(--ts,1));color:var(--text-faint);align-items:center;gap:5px;display:inline-flex}.lock.is-done{color:var(--check)}.credits{border-top:1px solid var(--line-soft);color:var(--text-faint);font-size:calc(13px * var(--ts,1));margin-top:72px;padding-top:20px}.stars{gap:2px;display:inline-flex}.stars svg.on{fill:var(--star)}.stars svg.off{fill:none;stroke:var(--text-faint);stroke-width:1.5px;opacity:.7}.codex-head{padding:48px 0 28px}.codex-head h1{font-size:calc(44px * var(--ts,1))}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:12px;display:grid}.codex-item.is-open{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);grid-column:1/-1;padding:20px}.codex-tile,.codex-locked{text-align:left;background:var(--panel);border:1px solid var(--line-soft);cursor:pointer;border-radius:var(--radius-lg);flex-direction:column;gap:4px;width:100%;min-height:92px;padding:14px 16px;display:flex}.codex-tile:hover{border-color:var(--wire)}.codex-tile b,.codex-locked b{font-family:var(--display);font-size:calc(16px * var(--ts,1))}.codex-tile span{color:var(--text-dim);font-size:calc(14px * var(--ts,1))}.codex-locked{cursor:default;background:0 0;border-style:dashed}.codex-locked b{color:var(--text-dim)}.codex-locked span{font-family:var(--body);font-size:calc(12.5px * var(--ts,1));color:var(--text-dim);font-variant-numeric:tabular-nums}.codex-review{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:18px;display:flex}.codex-review .mastery{flex:1;min-width:260px}.codex-mem{font-style:normal;font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:6px}.codex-mem.is-due{color:var(--accent)}.review{width:min(860px,100%);margin:0 auto;padding:0 24px 80px}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:48px 0 24px;display:flex}.review-head h1{font-size:calc(44px * var(--ts,1))}.review-counts{gap:18px;margin:0;display:flex}.review-counts div{flex-direction:column-reverse;display:flex}.review-counts dt{font-family:var(--body);font-weight:500;font-size:calc(12px * var(--ts,1));color:var(--text-faint)}.review-counts dd{font-family:var(--display);font-size:calc(24px * var(--ts,1));margin:0;font-weight:600}.review-card,.review-done{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}.review-card h2{font-size:calc(32px * var(--ts,1));margin:4px 0 10px}.review-kind{font-family:var(--body);font-weight:500;font-size:calc(12.5px * var(--ts,1));color:var(--accent);margin:0}.review-prompt{color:var(--text-dim);margin:0 0 24px;font-size:1.07rem}.review-card.is-revealed .review-kind{margin-bottom:14px}.review-undo{margin:14px 0 0}.review-undo .link-btn{padding:0}.review-done-actions{flex-wrap:wrap;gap:10px;display:flex}.review-done h2:focus{outline:none}.review-rate{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px;display:grid}.review-rate .btn{flex-direction:column;gap:2px;padding:10px 8px}.review-rate .btn span{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:400}.review-rate .rate-1{--b:color-mix(in srgb, var(--bad) 50%, transparent)}.review-rate .rate-3{--b:color-mix(in srgb, var(--ok) 50%, transparent)}.review-rate .rate-4{--b:color-mix(in srgb, var(--info) 50%, transparent)}.review kbd{font-family:var(--mono);font-size:calc(10px * var(--ts,1));opacity:.6;border:1px solid;padding:1px 5px}.review-done h2{margin:0 0 6px}.review-done p{color:var(--text-dim);margin:0 0 18px}.mastery{margin-top:24px}.mastery.is-compact{margin-top:0}.mastery h3{font-size:calc(16px * var(--ts,1));margin:0 0 10px}.mastery-bar{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);height:8px;display:flex}.mastery-bar i{min-width:3px;display:block}.mastery-legend{font-size:calc(12.5px * var(--ts,1));color:var(--text-dim);flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;list-style:none;display:flex}.mastery-legend li{align-items:center;gap:6px;display:flex}.mastery-legend i{width:9px;height:9px;display:inline-block}.mastery-legend b{color:var(--text)}.m-mature{background:var(--check)}.m-young{background:var(--info)}.m-learning{background:var(--accent)}.m-unseen{background:var(--line)}.mastery-recall{margin-left:auto}@media (width<=560px){.review{padding:0 16px 60px}.review-head h1{font-size:calc(34px * var(--ts,1))}.review-card,.review-done{padding:18px}.review-rate{grid-template-columns:repeat(2,1fr)}.review-counts{gap:12px}}.problem-bank,.study-plan{width:min(1180px,100%);margin:0 auto;padding:0 24px 80px}.problems-head{padding:48px 0 20px}.problems-head h1,.sp-head h1{font-size:calc(44px * var(--ts,1))}.diff-easy{--diff:var(--ok)}.diff-medium{--diff:var(--accent)}.diff-hard{--diff:var(--warn)}.solved-stats{flex-wrap:wrap;gap:24px;margin:18px 0 0;display:flex}.solved-stats div{flex-direction:column-reverse;display:flex}.solved-stats dt{font-family:var(--body);font-weight:500;font-size:calc(12px * var(--ts,1));color:var(--diff,var(--text-faint))}.solved-stats dd{font-family:var(--display);font-size:calc(26px * var(--ts,1));margin:0;font-weight:600}.solved-stats small{font-size:calc(14px * var(--ts,1));color:var(--text-faint)}.sp-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:8px 0 28px;display:grid}.sp-card{text-align:left;background:var(--panel);border:1px solid var(--line-soft);color:var(--text);font:inherit;cursor:pointer;border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.sp-card:hover{border-color:var(--wire)}.sp-card.is-following{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.sp-card b{font-family:var(--display);font-size:calc(18px * var(--ts,1))}.sp-card-meta{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums}.sp-card-audience{color:var(--text-dim);font-size:calc(14px * var(--ts,1))}.sp-card-cta{color:var(--accent);font-family:var(--display);font-weight:600;font-size:calc(13.5px * var(--ts,1));margin-top:8px}.sp-progress{background:var(--panel-3);height:5px;margin-top:8px;display:block}.sp-progress.big{width:min(320px,100%);height:7px;margin:0}.sp-progress i{background:var(--check);height:100%;display:block}.problem-filters{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 0;display:flex}.problem-filters input[type=search],.problem-filters select{background:var(--bg-2);border:1px solid var(--line);color:var(--text);font:inherit;font-size:calc(14px * var(--ts,1));border-radius:var(--radius);padding:7px 10px}.problem-filters input[type=search]{flex:1;min-width:220px}.filter-chips{gap:6px;display:flex}.filter-chips .chip.is-active{border-color:var(--diff);color:var(--diff);background:var(--panel-2)}.filter-count{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:auto}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 10px}.link-btn:hover{text-decoration:underline}.problem-table{border-collapse:collapse;width:100%;font-size:calc(14px * var(--ts,1));margin-top:6px}.problem-table th{text-align:left;font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);padding:10px 8px;font-weight:500}.problem-table th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.problem-table th button:hover{color:var(--text)}.problem-table td{border-top:1px solid var(--line-soft);vertical-align:top;padding:9px 8px}.problem-table tbody tr:hover{background:var(--bg-2)}.problem-table .col-number{width:44px;font-family:var(--mono);color:var(--text-faint)}.problem-table .col-title>button,.problem-table .row-title{font:inherit;font-family:var(--display);font-size:calc(15px * var(--ts,1));color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.problem-table .col-title>button:hover:not(:disabled){color:var(--accent)}.problem-table .col-title>button:disabled{color:var(--text-dim);cursor:not-allowed}.problem-table .col-title small{color:var(--text-faint);font-size:calc(12px * var(--ts,1));display:block}.problem-table .row-title{cursor:default;display:block}.problem-table .row-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.problem-table .col-difficulty{width:90px;color:var(--diff);font-weight:600}.problem-table .col-status{white-space:nowrap;width:110px}.status-attempted{color:var(--accent)}.status-solved,.status-accepted{color:var(--check)}.status-todo{color:var(--text-faint)}.problem-table .col-type{width:100px;color:var(--text-dim)}.problem-table .col-tags{width:34%}.tag{background:var(--bg-2);border:1px solid var(--line-soft);color:var(--text-dim);font:inherit;font-size:calc(12px * var(--ts,1));cursor:pointer;border-radius:var(--radius);margin:0 4px 4px 0;padding:1px 7px;display:inline-block}.tag:hover,.tag.is-active{border-color:var(--wire);color:var(--text)}.tag-more{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums}.problem-table tr.is-locked td{color:var(--text-dim)}.problems-empty{color:var(--text-dim);padding:24px 0}.bank-tabs{border-bottom:1px solid var(--line-soft);gap:4px;margin-bottom:0;display:flex;overflow-x:auto}.bank-tabs button{font-family:var(--display);font-weight:600;font-size:calc(14px * var(--ts,1));color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px}.bank-tabs button:hover{color:var(--text)}.bank-tabs button.is-on{color:var(--text);border-bottom-color:var(--accent)}.bank-tabs small{font-family:var(--body);color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:4px}.kata-bank-lede{color:var(--text-dim);font-size:calc(14px * var(--ts,1));max-width:760px;margin:14px 0 12px}.kata-table .tag{cursor:default}.kata-table th.col-difficulty{color:var(--text-faint);font-weight:500}.study-plan{width:min(900px,100%);padding-top:24px}.sp-head{padding:16px 0 12px}.sp-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;display:flex}.sp-status{color:var(--text-dim);font-size:calc(14px * var(--ts,1))}.sp-assumes{border:1px solid var(--line);background:var(--bg-2);color:var(--text-dim);font-size:calc(14px * var(--ts,1));border-radius:var(--radius-lg);margin:10px 0 0;padding:8px 12px}.sp-assumes b{color:var(--text);font-weight:600}.sp-review{color:var(--text-dim);margin:4px 0 12px}.sp-review .link-btn{padding:0}.sp-days{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.sp-day{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:12px 16px}.sp-day.is-today{border:2px solid var(--text);padding:11px 15px}.sp-day.is-done{border-color:var(--check-line)}.sp-day.is-done b>span,.is-complete .sp-lesson-title>span{background:var(--check-stroke);-webkit-box-decoration-break:clone;box-decoration-break:clone}.sp-day header{align-items:baseline;gap:10px;display:flex}.sp-day-n{font-family:var(--drafting);font-size:calc(11px * var(--ts,1));letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:46px}.sp-day.is-done .sp-day-n{color:var(--check)}.sp-day b{font-family:var(--display);font-size:calc(15.5px * var(--ts,1))}.sp-today{font-family:var(--hand);font-weight:600;font-size:calc(18px * var(--ts,1));color:var(--redline);white-space:nowrap;line-height:1}.sp-day ul{gap:4px;margin:6px 0 0;padding:0 0 0 56px;list-style:none;display:grid}.sp-day li{font-size:calc(14px * var(--ts,1));flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.sp-lesson-icon{text-align:center;width:16px;font-size:calc(12px * var(--ts,1))}.is-complete .sp-lesson-icon{color:var(--check)}.sp-lesson-kind{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:96px}.sp-lesson-title{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.sp-lesson-title:hover:not(:disabled){color:var(--accent)}.sp-lesson-title:disabled{color:var(--text-dim);cursor:not-allowed}.sp-day li small{color:var(--text-faint);font-size:calc(12px * var(--ts,1))}.gloss-wrap{position:relative}.gloss{border:0;border-bottom:1px dotted var(--wire);color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:help;background:0 0;margin:0;padding:0;display:inline}.gloss:hover,.gloss[aria-expanded=true]{border-bottom-color:var(--accent);color:var(--accent-2)}.gloss:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.gloss-card{z-index:60;background:var(--panel-2);border:1px solid var(--wire);box-shadow:0 10px 30px color-mix(in srgb, var(--shade) 60%, transparent);color:var(--text);font-family:var(--body);font-size:calc(14px * var(--ts,1));letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px 14px;font-style:normal;font-weight:400;line-height:1.45;display:flex;position:fixed}.gloss-card.is-above{transform:translateY(-100%)}.gloss-card b{font-family:var(--display);font-size:calc(15px * var(--ts,1));color:var(--accent)}.gloss-card small{color:var(--text-dim);font-size:calc(12px * var(--ts,1))}.gloss-card a{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--accent);font-variant-numeric:tabular-nums;align-self:flex-start}.glossary{width:min(900px,100%);margin:0 auto;padding:24px 24px 80px}.gl-head{padding:16px 0 8px}.gl-head h1{font-size:calc(44px * var(--ts,1))}.gl-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;display:flex}.gl-controls input{background:var(--bg-2);border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;border-radius:var(--radius);flex:260px;padding:8px 12px}.gl-controls input:focus{border-color:var(--accent);outline:none}.gl-list{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius-lg);gap:1px;margin:20px 0 0;display:grid;overflow:hidden}.gl-item{background:var(--panel);grid-template-columns:minmax(150px,220px) 1fr;gap:4px 20px;padding:12px 14px;scroll-margin-top:80px;display:grid}.gl-item.is-target{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--wire)}.gl-item dt{font-family:var(--display);font-weight:600;font-size:calc(15px * var(--ts,1));align-items:baseline;gap:8px;display:flex}.gl-item.is-learned dt:after{content:"";background:var(--check);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.gl-item dd,.gl-item dd p{margin:0}.gl-meta{color:var(--text-faint);font-size:calc(12.5px * var(--ts,1));margin-top:4px!important}.gl-meta .link-btn{font-size:inherit;padding:0}.gl-meta .link-btn:disabled{color:var(--text-dim);cursor:default;text-decoration:none}@media (width<=560px){.glossary{padding:16px 16px 60px}.gl-head h1{font-size:calc(34px * var(--ts,1))}.gl-item{grid-template-columns:1fr}}.roadmap{width:min(960px,100%);margin:0 auto;padding:24px 24px 80px}.rm-head{padding:16px 0 8px}.rm-head h1{font-size:calc(44px * var(--ts,1))}.rm-summary,.rm-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px;display:flex}.rm-actions .btn.primary{white-space:normal;text-align:left;max-width:100%}.rm-filters{flex-wrap:wrap;display:inline-flex}.rm-filter{font-family:var(--body);font-size:calc(12px * var(--ts,1));border:1px solid var(--line);color:var(--text-dim);cursor:pointer;border-radius:var(--radius);font-variant-numeric:tabular-nums;background:0 0;padding:5px 10px}.rm-filter+.rm-filter{border-left:0}.rm-filter.is-on{color:var(--text);background:var(--panel-2)}.rm-notes-bar{margin-top:14px}.rm-notes-bar .link-btn{padding:0}.rm-notes-bar .link-btn:disabled{color:var(--text-faint);cursor:default;text-decoration:none}.rm-milestones{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.rm-milestone{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);scroll-margin-top:72px}.rm-milestone.is-current{border-color:color-mix(in srgb, var(--accent) 42%, transparent)}.rm-milestone-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:40px 1fr auto 16px;align-items:center;gap:12px;padding:14px 16px;display:grid}.rm-n{font-family:var(--body);font-size:calc(13px * var(--ts,1));color:var(--accent);font-variant-numeric:tabular-nums}.rm-milestone.is-done .rm-n{color:var(--check)}.rm-title{flex-direction:column;min-width:0;display:flex}.rm-title b{font-family:var(--display);font-size:calc(17px * var(--ts,1))}.rm-title small{color:var(--text-dim);font-size:calc(13.5px * var(--ts,1))}.rm-count{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;width:92px}.rm-count .sp-progress{height:4px;margin-top:6px}.rm-milestone.is-done .rm-count .sp-progress i{background:var(--check)}.rm-caret{color:var(--text-faint)}.rm-lessons{gap:2px;margin:0;padding:0 16px 12px 68px;list-style:none;display:grid}.rm-empty{color:var(--text-faint);font-size:calc(13.5px * var(--ts,1));padding:4px 0}.rm-lesson{padding:3px 0}.rm-lesson-line{font-size:calc(14.5px * var(--ts,1));flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.rm-check{border:1px solid var(--wire);width:16px;height:16px;font-size:calc(11px * var(--ts,1));border-radius:var(--radius);flex:none;align-self:center;place-items:center;line-height:1;display:inline-grid}.rm-lesson.is-complete .rm-check{border-color:var(--check);background:var(--check);color:var(--accent-ink)}.rm-lesson.is-locked .rm-check{font-size:calc(10px * var(--ts,1));border-color:#0000}.rm-lesson.is-complete .sp-lesson-title{color:var(--text)}.rm-lesson.is-next .sp-lesson-title{color:var(--accent);font-weight:600}.rm-lesson-line small{color:var(--text-faint);font-size:calc(12px * var(--ts,1))}.rm-note-btn{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;margin-left:auto;padding:0}.rm-note-btn:hover,.rm-note-btn.has-note{color:var(--accent)}.rm-note-preview{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--bg-2);width:100%;max-width:calc(100% - 26px);color:var(--text-dim);font:inherit;font-size:calc(13.5px * var(--ts,1));text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;border-radius:var(--radius-lg);margin:4px 0 4px 26px;padding:6px 10px;display:block}.rm-note-editor{margin:6px 0 6px 26px}.rm-note-editor textarea{background:var(--bg-2);border:1px solid var(--wire);width:100%;color:var(--text);font:inherit;font-size:calc(14px * var(--ts,1));resize:vertical;border-radius:var(--radius);padding:8px 10px;display:block}.rm-note-editor textarea:focus{border-color:var(--accent);outline:none}.rm-note-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.rm-note-foot small{color:var(--text-faint);font-size:calc(12px * var(--ts,1))}.rm-hi-bar{margin-top:4px}.hi-steps{margin:2px 0 4px 26px;padding-left:10px}.hi-when{font-family:var(--body);font-weight:500;font-size:calc(12px * var(--ts,1));color:var(--text-faint);display:block}.hi-steps.is-after .hi-when{color:var(--text-dim)}.hi-steps ul{gap:2px;margin:2px 0 0;padding:0;list-style:none;display:grid}.hi-steps li{font-size:calc(13.5px * var(--ts,1));flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.hi-steps input{accent-color:var(--check);flex:none;align-self:center;margin:0}.hi-steps a{color:var(--text);overflow-wrap:anywhere;text-decoration:none}.hi-steps a:hover{color:var(--accent);text-decoration:underline}.hi-steps li.is-done a{color:var(--text-faint);text-decoration:line-through}.hi-steps small{color:var(--text-faint);font-size:calc(11.5px * var(--ts,1))}.hi-read-first{margin:10px 0 18px}.hi-read-first .hi-steps{margin-left:0}.hi-read-first .fine{margin:4px 0 0}.home-roadmap{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);margin-top:16px;padding:22px 24px 24px;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.home-roadmap header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.home-roadmap h2{font-size:calc(18px * var(--ts,1))}.home-roadmap header p{color:var(--text-dim);margin:2px 0 0}.home-roadmap-next{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:16px 0 18px;display:flex}.home-roadmap-next .btn.primary{white-space:normal;text-align:left;max-width:100%}.home-milestones{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.home-milestones button{background:var(--bg-2);border:1px solid var(--line-soft);width:100%;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.home-milestones button:hover{border-color:var(--wire)}.home-milestones .is-current button{border:2px solid var(--text);background:var(--panel-2);padding:9px 11px}.home-milestones small{font-family:var(--drafting);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.home-milestones .is-done small{color:var(--check)}.home-milestones b{font-family:var(--display);font-size:calc(14px * var(--ts,1));font-weight:600}.home-milestones .sp-progress{height:3px;margin-top:6px}.home-milestones .is-done .sp-progress i{background:var(--check)}@media (width<=560px){.roadmap{padding:16px 16px 60px}.rm-head h1{font-size:calc(34px * var(--ts,1))}.rm-milestone-head{grid-template-columns:28px 1fr 16px;padding:12px}.rm-count{text-align:left;grid-area:2/2;width:auto}.rm-caret{grid-area:1/3}.rm-lessons{padding:0 12px 12px}.rm-note-btn{margin-left:26px}.hi-steps{margin-left:0}.home-roadmap{padding:16px}}.hero-plans{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.hero-plans li{background:var(--panel);border:1px solid var(--line-soft);font-size:calc(14px * var(--ts,1));color:var(--text-dim);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;display:flex}.hero-plan-name{font:inherit;font-family:var(--display);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}@media (width<=720px){.problem-table .col-type,.problem-table .col-tags{display:none}.problem-table .col-status{width:auto}}@media (width<=560px){.problem-bank,.study-plan{padding:0 16px 60px}.study-plan{padding-top:16px}.problems-head h1,.sp-head h1{font-size:calc(34px * var(--ts,1))}.problem-filters input[type=search]{min-width:100%}.filter-count{margin-left:0}.sp-day ul{padding-left:0}.sp-lesson-kind{min-width:0}}.concept{font-size:calc(14px * var(--ts,1))}.concept header{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.concept-icon{color:var(--accent);border:1px solid var(--line);border-radius:var(--radius);padding:5px;display:grid}.concept h4{font-size:calc(17px * var(--ts,1))}.concept-tagline{color:var(--accent-2);font-size:calc(13.5px * var(--ts,1));margin:0}.concept p{color:var(--text-dim);margin:6px 0}.concept h5{font-size:calc(13px * var(--ts,1));color:var(--text-faint);margin-top:12px}.concept ul{color:var(--text);margin:6px 0;padding-left:18px}.concept li{margin:3px 0}.concept li::marker{color:var(--accent)}.concept .tradeoffs li::marker{content:"⚠ ";color:var(--warn)}.interview{border:1px dashed var(--line);color:var(--text);border-radius:var(--radius-lg);background:0 0;margin:14px 0 8px;padding:10px 12px;font-style:italic}.interview span{font-style:normal;font-family:var(--drafting);font-weight:500;font-size:calc(10.5px * var(--ts,1));letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px;display:block}.read-more{font-size:calc(13px * var(--ts,1))}.concept.is-compact{border-top:1px dashed var(--line);margin-top:18px;padding-top:16px}.left,.right{background:var(--panel);scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;overflow-y:auto}.left{border-right:1px solid var(--line-soft);flex-direction:column;grid-area:left;display:flex}.right{border-left:1px solid var(--line-soft);grid-area:right;padding:16px;position:relative}.brief h3,.right h5,.overview h3,.edge-info h3{font-family:var(--body);font-weight:600;font-size:calc(12.5px * var(--ts,1));color:var(--text-faint);margin-bottom:8px}.goals,.hints,.incidents,.links{font-size:calc(14px * var(--ts,1));margin:0;padding-left:18px}.stage{background:var(--bg);grid-area:stage;min-width:0;min-height:0;position:relative;overflow:hidden}@keyframes march{to{stroke-dashoffset:-11px}}.edge.is-dim,.node.is-dim{opacity:.18}.node{cursor:grab}@keyframes alarm{50%{fill:color-mix(in srgb, var(--bad) 22%, var(--bg-2))}}.node.cannot-connect{opacity:.35}.toast{background:var(--panel-2);border:1px solid var(--line);max-width:min(520px,100% - 32px);font-size:calc(13.5px * var(--ts,1));box-shadow:var(--shadow-pop);z-index:5;border-radius:var(--radius-lg);padding:10px 14px;animation:.2s ease-out toast-in;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.speed,.segmented{border:1px solid var(--line);border-radius:var(--radius);display:flex}.speed button,.segmented button{cursor:pointer;font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-dim);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:6px 10px}.speed button+button,.segmented button+button{border-left:1px solid var(--line)}.speed button.is-on,.segmented button.is-on{background:var(--accent);color:var(--accent-ink)}.segmented button:disabled{cursor:not-allowed;opacity:.6}.timeline-mark.fail{background:var(--bad);color:var(--bad)}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin-bottom:14px;padding:0;display:flex}.field>span{font-size:calc(13px * var(--ts,1));color:var(--text-dim)}.field-note{color:var(--text-faint);font-size:calc(12px * var(--ts,1))}.right h5 small{text-transform:none;letter-spacing:0;font-family:var(--body);color:var(--warn)}.stepper{border:1px solid var(--line);border-radius:var(--radius);align-items:stretch;width:fit-content;display:inline-flex}.stepper button{background:var(--panel-2);cursor:pointer;width:34px;font-size:calc(17px * var(--ts,1));border:0}.stepper button:hover:not(:disabled){background:var(--panel-3)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper output{min-width:56px;font-family:var(--mono);border-left:1px solid var(--line);border-right:1px solid var(--line);place-items:center;padding:5px 8px;font-weight:600;display:grid}.stepper output small{color:var(--text-faint);font-weight:400;font-size:calc(10px * var(--ts,1))}.radio-list{gap:5px;display:grid}.radio{text-align:left;background:var(--bg-2);border:1px solid var(--line-soft);cursor:pointer;border-radius:var(--radius);flex-direction:column;padding:7px 10px;display:flex}.radio b{font-family:var(--mono);font-size:calc(13px * var(--ts,1))}.radio small{color:var(--text-dim);font-size:calc(12px * var(--ts,1))}.radio.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5.6%, transparent)}.radio:disabled{cursor:not-allowed}.radio.check b:before{content:"☐ ";color:var(--text-faint)}.radio.check.is-on b:before{content:"☑ ";color:var(--accent)}.radio code{font-family:var(--mono);color:var(--text)}@keyframes log-in{0%{opacity:0;transform:translateY(-4px)}}.modal-backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;place-items:center;padding:16px;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{width:min(calc(760px * var(--ts,1)), 100%);background:var(--panel);border:1px solid var(--line);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);border-radius:var(--radius-lg);flex-direction:column;animation:.25s cubic-bezier(.2,.7,.2,1) rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.problems{gap:8px;margin:0;padding:0;list-style:none;display:grid}.problems li{background:var(--bg-2);border:1px solid color-mix(in srgb, var(--bad) 32%, transparent);border-radius:var(--radius-lg);padding:10px 12px}.links-row{font-size:calc(13.5px * var(--ts,1));flex-wrap:wrap;gap:14px;margin-top:10px;display:flex}.reasoning p{color:var(--text);font-size:calc(14.5px * var(--ts,1));margin:6px 0}.reasoning{background:var(--bg-2);border:1px solid color-mix(in srgb, var(--info) 28%, transparent);border-radius:var(--radius-lg);padding:10px 14px 12px}.reasoning h3{color:var(--info)}.we-setup{color:var(--text-dim)}.we-math{font-family:var(--mono);font-size:calc(12.5px * var(--ts,1));color:var(--accent-2);background:var(--panel-2);overflow-wrap:anywhere;margin-top:6px;padding:5px 8px;display:block}.we-measured{font-family:var(--body);font-weight:500;font-size:calc(11.5px * var(--ts,1));color:var(--check);margin-top:5px;display:inline-block}.we-measured:before{content:"✓ "}.myth{font-size:calc(14px * var(--ts,1));grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;display:grid}.myth dt{font-family:var(--body);font-weight:500;font-size:calc(12px * var(--ts,1));padding-top:3px}.myth dt:first-of-type{color:var(--bad)}.myth dt:nth-of-type(2){color:var(--check)}.myth dd{margin:0}.myth dd:first-of-type{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--bad) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--bad) 50%, transparent)}.refs{font-size:calc(13.5px * var(--ts,1));gap:8px;display:grid}.refs h5{font-family:var(--body);font-weight:500;font-size:calc(12px * var(--ts,1));color:var(--text-faint);margin:0 0 3px}.refs ul{margin:0;padding:0;list-style:none}.refs li{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:3px 0;display:flex}.refs li::marker{content:none}.ref-src{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--text-faint);font-variant-numeric:tabular-nums}.ref-premium{font-family:var(--body);font-weight:500;font-size:calc(11.5px * var(--ts,1));border:1px solid var(--line);color:var(--accent-2);border-radius:var(--radius);padding:0 5px}.concept-example{background:var(--bg-2);border:1px solid var(--wire);border-radius:var(--radius-lg);padding:8px 10px}@media (width<=900px){.hero{grid-template-columns:1fr;padding-top:32px}.hero-diagram{justify-self:start}.app.is-level{height:auto;overflow:visible}.left,.right{border:0;border-top:1px solid var(--line-soft);overflow:visible}.stage{min-height:420px}}@media (width<=560px){.topbar{gap:10px;padding:0 12px}.profile-btn{padding:3px;font-size:0}.campaign,.codex{padding:0 16px 60px}.onboarding-card{padding:32px 20px 24px}}:root[data-reduce-motion] *,:root[data-reduce-motion] :before,:root[data-reduce-motion] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}:root[data-reduce-motion] .hero-diagram circle{display:none}.badge.error{color:var(--bad)}.net{background:var(--info)}.proc{background:var(--ok)}.queue{background:var(--warn)}.tab-badge{font-family:var(--drafting);font-size:calc(10.5px * var(--ts,1));color:var(--text);font-variant-numeric:tabular-nums;border:1px solid;border-radius:0;margin-left:6px;padding:2px 5px;font-weight:500;line-height:1}.tab-badge.bad{color:var(--redline);background:var(--redline-tint)}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}}.status-history{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);min-width:0;padding:8px 10px 10px}.sh-cell.idle{background:var(--panel-3)}.chip{font-family:var(--mono);font-size:calc(11.5px * var(--ts,1));border:1px solid var(--line);color:var(--text-faint);cursor:pointer;border-radius:var(--radius);background:0 0;padding:4px 8px}.chip.is-on{color:var(--text);background:var(--panel-2);border-color:var(--wire)}.chip.warn.is-on{border-color:var(--warn)}.chip small{color:var(--text-faint)}.lvl-dot.error,.vol-bar i.error{background:var(--bad)}.lvl.error{color:var(--bad)}.log-line.error{border-left-color:var(--bad)}@keyframes page-pulse{50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--bad) 25%, transparent)}}.radio.is-wrong{opacity:.5;border-color:color-mix(in srgb, var(--bad) 50%, transparent);text-decoration:line-through}.radio.is-right{border-color:var(--check);background:var(--check-tint)}.radio b{font-family:var(--body);font-size:calc(13.5px * var(--ts,1));font-weight:500}.solved{border:1px solid var(--check-line);background:var(--check-tint);border-radius:var(--radius-lg);padding:10px 12px}.solved h3{color:var(--check)}.solved p{font-size:calc(14px * var(--ts,1));margin:6px 0}.solved h4{font-size:calc(14px * var(--ts,1));margin-top:10px}.briefing-card{background:var(--panel)!important}.bf-table{border-collapse:collapse;width:100%;font-size:calc(14.5px * var(--ts,1))}.bf-table th{text-align:left;font-family:var(--body);font-weight:500;font-size:calc(12.5px * var(--ts,1));color:var(--text-faint);border-bottom:1px solid var(--line);padding:6px 10px}.bf-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:8px 10px}.bf-table td:first-child{font-weight:500}.quiz{counter-reset:q;gap:18px;margin:18px 0;padding:0;list-style:none;display:grid}.quiz>li{counter-increment:q;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:14px 16px}.quiz>li.right{border-color:var(--check-line)}.quiz>li.wrong{border-color:color-mix(in srgb, var(--bad) 32%, transparent)}.quiz-q{font-weight:600;margin-bottom:10px!important}.quiz-q:before{content:counter(q) ". ";color:var(--accent);font-family:var(--mono)}.quiz .radio b{font-family:var(--body);font-weight:500;font-size:calc(14.5px * var(--ts,1))}.quiz-why{font-size:calc(14px * var(--ts,1))!important;margin:10px 0 0!important}.quiz-why.right{color:var(--check)}.quiz-why.wrong{color:var(--warn)}.bf-links{list-style:none;padding:0!important}.bf-links li{align-items:baseline;gap:10px;margin:4px 0;display:flex}.premium,.ext{font-family:var(--body);font-weight:500;font-size:calc(11.5px * var(--ts,1));border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius);padding:1px 6px}.route-loading{text-align:center;color:var(--text-faint);font-family:var(--body);font-variant-numeric:tabular-nums;padding:48px 24px}.guide{width:min(1180px,100%);margin:0 auto;padding:0 24px 80px}.guide-head{border-bottom:1px solid var(--line-soft);padding:48px 0 28px}.guide-head h1{font-size:calc(clamp(32px, 5vw, 52px) * var(--ts,1));margin:6px 0 14px;line-height:1.05}.topic-check{color:var(--check)}.chip{background:var(--bg-2);border:1px solid var(--line);color:var(--text);font:inherit;font-size:calc(13px * var(--ts,1));cursor:pointer;border-radius:var(--radius);align-items:center;gap:6px;padding:4px 10px;transition:border-color .15s,background .15s;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--wire);background:var(--panel-2)}.chip:disabled{cursor:not-allowed;color:var(--text-faint);border-style:dashed}.chip.is-done{border-color:var(--check-line)}.chip.is-active{border-color:var(--text);background:var(--panel-2)}.ch{max-width:100%;height:auto;font-family:var(--mono);display:block}.ch text{font-family:var(--mono)}@media (width<=900px){.guide{padding:0 16px 60px}}.segmented{flex-wrap:wrap}.interview-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.interview-card{min-height:170px}.interview-prompt{color:var(--text-dim);font-size:calc(13.5px * var(--ts,1));margin-top:6px;line-height:1.45}.interview-intro .lab-panel{gap:12px;margin-top:20px;display:grid}.radio.is-core{border-color:var(--check-line)}.radio.is-on.is-extra{border-color:var(--redline-line)}.radio.is-extra{border-color:color-mix(in srgb, var(--accent) 28%, transparent)}.term{font-family:var(--mono);font-size:calc(11.5px * var(--ts,1));color:var(--text-faint);margin:2px 8px 2px 0;display:inline-block}.term.is-hit{color:var(--check)}.lc-accepted{font-family:var(--body);font-size:calc(12px * var(--ts,1));color:var(--check);font-variant-numeric:tabular-nums;margin-left:8px}.ask-btn{white-space:nowrap}.kata-diff{color:var(--diff)}.kata-note{color:var(--text-faint);font-size:calc(13px * var(--ts,1));margin:8px 0 0}@keyframes kata-wait{50%{opacity:.3}}@keyframes notice-in{0%{opacity:0;transform:translateY(8px)}}.lld-chapter{margin-top:36px}.lld-chapter>h2{font-size:calc(19px * var(--ts,1))}.lld-chapter .interview-grid{margin-top:14px}.node{transition:opacity .15s}.node.is-faint{opacity:.45}.briefing-suggest{place-items:center;min-height:calc(100vh - 56px);padding:32px 16px;display:grid}.briefing-suggest-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-pop);padding:32px}.briefing-suggest-card .eyebrow{font-size:calc(12.5px * var(--ts,1));color:var(--text-dim);align-items:center;gap:6px;font-weight:500;display:inline-flex}.briefing-suggest-card h1{font-size:calc(28px * var(--ts,1));margin:12px 0 8px;line-height:1.15}.briefing-suggest-card h1:focus{outline:none}.briefing-suggest-note{color:var(--text-dim);font-size:calc(14px * var(--ts,1));margin:14px 0 10px;line-height:1.55}.briefing-suggest-sections{color:var(--text-dim);font-size:calc(13.5px * var(--ts,1));margin:0 0 22px;padding-left:18px;line-height:1.7}.briefing-suggest-actions{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}@media (width<=520px){.briefing-suggest-card{padding:24px 18px}.briefing-suggest-actions .btn{flex:100%;justify-content:center}}.toast-stack{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex}.toast-stack.is-floating{z-index:70;position:fixed;bottom:20px;left:16px;right:16px}.toast-region{flex-direction:column;align-items:center;gap:8px;display:flex}.toast-stack .toast{pointer-events:auto;align-items:center;gap:10px;padding:8px 8px 8px 14px;animation-name:notice-in;display:flex;position:static;transform:none}.toast.tone-error{border-color:color-mix(in srgb, var(--bad) 60%, var(--line))}.toast.tone-success{border-color:color-mix(in srgb, var(--check) 55%, var(--line))}.toast-msg{line-height:1.45}.toast-action{font:inherit;font-weight:600;font-size:calc(13px * var(--ts,1));color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:none;padding:4px 10px}.toast-action:hover{background:var(--line-soft)}.toast-close{width:26px;height:26px;font-size:calc(16px * var(--ts,1));color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;line-height:1;display:grid}.toast-close:hover{color:var(--text);background:var(--panel-3)}.modal.small-dialog{width:min(calc(420px * var(--ts,1)), 100%);padding:22px 22px 18px}.small-dialog h2{font-size:calc(18px * var(--ts,1));margin:0 0 8px}.small-dialog-body{color:var(--text-dim);font-size:calc(14px * var(--ts,1));line-height:1.55}.small-dialog-body p{margin:0 0 8px}.small-dialog-field{margin-top:14px}.small-dialog-field label{font-size:calc(13px * var(--ts,1));color:var(--text-dim);margin-bottom:6px;font-weight:500;display:block}.small-dialog-field input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);font:inherit;font-size:calc(15px * var(--ts,1));padding:7px 11px}.small-dialog-field input:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:1px}.small-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;font:inherit;font-size:calc(13.5px * var(--ts,1));color:var(--accent-ink);background:var(--accent);border-radius:var(--radius);cursor:pointer;border:0;padding:8px 12px;font-weight:600;position:absolute;top:8px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.route-main{outline:none;display:block}.route-main:focus,main.stage:focus{outline:none}.nav-menu-button{min-width:0;font:inherit;font-size:calc(13.5px * var(--ts,1));color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;margin-left:auto;padding:6px 10px;font-weight:500;display:none}.nav-menu-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-menu-icon,.nav-menu-icon:before,.nav-menu-icon:after{background:currentColor;border-radius:1px;width:14px;height:1.5px;display:block}.nav-menu-icon{position:relative}.nav-menu-icon:before,.nav-menu-icon:after{content:"";position:absolute;left:0}.nav-menu-icon:before{top:-4.5px}.nav-menu-icon:after{top:4.5px}.nav-sheet{background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow-pop);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px;padding:14px 16px 18px;animation:.15s ease-out notice-in;display:grid;position:absolute;top:calc(100% + 1px);left:0;right:0}.nav-sheet h2{font-size:calc(11.5px * var(--ts,1));letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin:0 0 6px;font-weight:600}.nav-sheet section{flex-direction:column;gap:2px;display:flex}.nav-sheet a{min-height:40px;color:var(--text-dim);font-size:calc(14.5px * var(--ts,1));border-radius:var(--radius);align-items:center;gap:8px;padding:6px 10px;font-weight:500;text-decoration:none;display:flex}.nav-sheet a:hover,.nav-sheet a.is-on{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}@media (width<=760px){.nav-links{display:none}.nav-menu-button{display:inline-flex}}@media (width<=420px){.nav-sheet{grid-template-columns:1fr 1fr}}.screen-error{outline:none;place-items:center;min-height:60vh;padding:32px 16px;display:grid}.screen-error-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(520px,100%);padding:28px}.screen-error-card h1{font-size:calc(22px * var(--ts,1));margin:0 0 10px}.screen-error-card p{color:var(--text-dim);margin:0 0 14px}.screen-error-detail{font-family:var(--mono);font-size:calc(12.5px * var(--ts,1));color:var(--text-dim);background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius);white-space:pre-wrap;margin:0 0 16px;padding:10px 12px}.screen-error-actions{flex-wrap:wrap;gap:8px;display:flex}[data-theme=whiteprint]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grid:color-mix(in srgb, var(--text) 3.5%, transparent);--grid-major:color-mix(in srgb, var(--text) 7%, transparent);--bg:#f6f8fc;--bg-2:#edf1f8;--panel:#fff;--panel-2:#f2f5fb;--panel-3:#e6ecf5;--line:#a3b6d1;--line-soft:#d2dceb;--wire:#4d6b96;--text:#0f2a4d;--text-dim:#2f4a6e;--text-faint:#4a6283;--accent:#0f2a4d;--accent-2:#1f4373;--accent-ink:#fff;--check:#845f00;--highlight:#ffe14d;--redline:#c02f1d;--star:#c99400;--ok:#0b7348;--warn:#ae4f05;--bad:#c02f1d;--caution:#845f00;--info:#155fa8;--cat-entry:#9a6b00;--cat-compute:#0b7348;--cat-storage:#155fa8;--cat-messaging:#6c45c2;--cat-edge:#487511;--cls-read:#1f6bcc;--cls-write:#cc4d16;--cls-search:#0a8458;--cls-upload:#a06e00;--cls-media:#bf3276;--cls-async:#3b8419;--cls-realtime:#6455d1;--cls-bot:#cf3838;--cls-payment:#08819c;--cls-login:#8a4bc6;--cls-stuffing:#b3304c;--cls-ddos:#756d63;--cls-batch:#5b8414;--cls-webhook:#96652a;--cls-other:#66768c;--shade:#2c4060;--scrim:#0f1e376b}[data-theme=white]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grid:color-mix(in srgb, var(--text) 3.5%, transparent);--grid-major:color-mix(in srgb, var(--text) 7%, transparent);--bg:#fafafa;--bg-2:#f2f2f3;--panel:#fff;--panel-2:#f5f5f6;--panel-3:#eaeaec;--line:#c2c2c8;--line-soft:#e0e0e4;--wire:#6b6b75;--text:#18181b;--text-dim:#3c3c43;--text-faint:#5a5a63;--accent:#18181b;--accent-2:#3c3c43;--accent-ink:#fff;--check:#845f00;--highlight:#ffe14d;--redline:#c02f1d;--star:#c99400;--ok:#0b7348;--warn:#ae4f05;--bad:#c02f1d;--caution:#845f00;--info:#155fa8;--cat-entry:#9a6b00;--cat-compute:#0b7348;--cat-storage:#155fa8;--cat-messaging:#6c45c2;--cat-edge:#487511;--cls-read:#1f6bcc;--cls-write:#cc4d16;--cls-search:#0a8458;--cls-upload:#a06e00;--cls-media:#bf3276;--cls-async:#3b8419;--cls-realtime:#6455d1;--cls-bot:#cf3838;--cls-payment:#08819c;--cls-login:#8a4bc6;--cls-stuffing:#b3304c;--cls-ddos:#756d63;--cls-batch:#5b8414;--cls-webhook:#96652a;--cls-other:#6b6b75;--shade:#27272a;--scrim:#18181b66}[data-theme=black]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050505;--bg-2:#000;--panel:#0e0e0e;--panel-2:#161616;--panel-3:#1f1f1f;--line:#3d3d3d;--line-soft:#262626;--wire:#858585;--text:#f2f2f2;--text-dim:#c2c2c2;--text-faint:#a3a3a3;--accent:#f2f2f2;--accent-2:#fff;--accent-ink:#050505;--check:#f6d743;--redline:#ff7f70;--star:#f6d743;--ok:#5fe3a8;--warn:#ffa95e;--bad:#ff7f70;--caution:#f6d743;--info:#93d2ff;--cat-entry:#f6d743;--cat-compute:#5fe3a8;--cat-storage:#93d2ff;--cat-messaging:#c9b6f0;--cat-edge:#a6d36a;--cls-read:#7fc0ff;--cls-write:#ff8a5c;--cls-search:#3fd19b;--cls-upload:#e8b23a;--cls-media:#f07aa6;--cls-async:#6fcf4a;--cls-realtime:#b0a6ff;--cls-bot:#ff8f8f;--cls-payment:#4fd6e8;--cls-login:#c9b6f0;--cls-stuffing:#e0798a;--cls-ddos:#b3ab9e;--cls-batch:#a6d36a;--cls-webhook:#d9b27a;--cls-other:#a3a3a3;--shade:#000;--scrim:#000000bf}[data-theme=sepia]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grid:color-mix(in srgb, var(--text) 3.5%, transparent);--grid-major:color-mix(in srgb, var(--text) 7%, transparent);--bg:#f3ead6;--bg-2:#ebe0c7;--panel:#faf5e9;--panel-2:#f2e9d5;--panel-3:#e9ddc2;--line:#c2ab80;--line-soft:#ddcead;--wire:#7a613d;--text:#2c2015;--text-dim:#4a3a28;--text-faint:#614e37;--accent:#3a2a1a;--accent-2:#54402a;--accent-ink:#faf5e9;--check:#765400;--highlight:#f7d34f;--redline:#a52e1c;--star:#b88400;--ok:#2a6a33;--warn:#9a4a00;--bad:#a52e1c;--caution:#765400;--info:#1d5781;--cat-entry:#8a5f00;--cat-compute:#2a6a33;--cat-storage:#1d5781;--cat-messaging:#683d9c;--cat-edge:#546a10;--cls-read:#1d62b8;--cls-write:#b8460f;--cls-search:#097650;--cls-upload:#8f6200;--cls-media:#ab2c69;--cls-async:#357617;--cls-realtime:#5a4bbd;--cls-bot:#bb3131;--cls-payment:#07748c;--cls-login:#7c43b2;--cls-stuffing:#a12b44;--cls-ddos:#6c6257;--cls-batch:#517612;--cls-webhook:#865a24;--cls-other:#6e6050;--shade:#3b2a17;--scrim:#2e221673}[data-theme=terminal]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050b06;--bg-2:#020602;--panel:#0a140b;--panel-2:#0e1c10;--panel-3:#132616;--line:#2a6b35;--line-soft:#1a4422;--wire:#46b25a;--text:#b8ffbf;--text-dim:#86e391;--text-faint:#6cc879;--accent:#7dff8a;--accent-2:#b8ffbf;--accent-ink:#031204;--check:#ffd24d;--redline:#ff6e5e;--star:#ffd24d;--ok:#4dffa6;--warn:#ffa94d;--bad:#ff6e5e;--caution:#ffd24d;--info:#6fd3ff;--cat-entry:#ffd24d;--cat-compute:#4dffa6;--cat-storage:#6fd3ff;--cat-messaging:#d2a8ff;--cat-edge:#c3f56b;--cls-read:#7fc0ff;--cls-write:#ff8a5c;--cls-search:#3fd19b;--cls-upload:#e8b23a;--cls-media:#f07aa6;--cls-async:#6fcf4a;--cls-realtime:#b0a6ff;--cls-bot:#ff8f8f;--cls-payment:#4fd6e8;--cls-login:#c9b6f0;--cls-stuffing:#e0798a;--cls-ddos:#b3ab9e;--cls-batch:#a6d36a;--cls-webhook:#d9b27a;--cls-other:#86b38c;--shade:#000;--scrim:#000802c7;--ornament:repeating-linear-gradient(transparent 0 2px, #00000038 2px 3px);--display:var(--mono);--body:var(--mono)}[data-theme=neon]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#150b2e;--bg-2:#100824;--panel:#1c1038;--panel-2:#241544;--panel-3:#2d1b52;--line:#5a3a8f;--line-soft:#3a2566;--wire:#a07ad6;--text:#f6ecff;--text-dim:#d4c2f0;--text-faint:#bca7e2;--accent:#ff5cdb;--accent-2:#ff8ae6;--accent-ink:#1a0626;--check:#3eeaff;--redline:#ff6482;--star:#ffe34d;--ok:#4dffb8;--warn:#ffb04d;--bad:#ff6482;--caution:#ffe34d;--info:#6ccdff;--cat-entry:#ffe34d;--cat-compute:#4dffb8;--cat-storage:#6ccdff;--cat-messaging:#ff8ae6;--cat-edge:#b6ff5c;--cls-read:#7fc0ff;--cls-write:#ff8a5c;--cls-search:#3fd19b;--cls-upload:#e8b23a;--cls-media:#f07aa6;--cls-async:#6fcf4a;--cls-realtime:#b0a6ff;--cls-bot:#ff8f8f;--cls-payment:#4fd6e8;--cls-login:#c9b6f0;--cls-stuffing:#e0798a;--cls-ddos:#b3ab9e;--cls-batch:#a6d36a;--cls-webhook:#d9b27a;--cls-other:#a99bc4;--shade:#05010d;--scrim:#080314c2;--grid:color-mix(in srgb, var(--accent) 7%, transparent);--grid-major:color-mix(in srgb, var(--accent) 14%, transparent)}[data-theme=halloween]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#170f1f;--bg-2:#120b19;--panel:#1f1529;--panel-2:#271b34;--panel-3:#30223f;--line:#56406f;--line-soft:#3a2b4c;--wire:#a68cc4;--text:#f5eefb;--text-dim:#d4c6e4;--text-faint:#bba9d1;--accent:#ff8c1a;--accent-2:#ffa647;--accent-ink:#1f0d00;--check:#b5f04a;--redline:#ff5e6c;--star:#ffd84d;--ok:#7be38a;--warn:#ffb347;--bad:#ff5e6c;--caution:#ffd84d;--info:#b9a2ff;--cat-entry:#ff8c1a;--cat-compute:#7be38a;--cat-storage:#b9a2ff;--cat-messaging:#ff86c8;--cat-edge:#ffd84d;--cls-read:#7fc0ff;--cls-write:#ff8a5c;--cls-search:#3fd19b;--cls-upload:#e8b23a;--cls-media:#f07aa6;--cls-async:#6fcf4a;--cls-realtime:#b0a6ff;--cls-bot:#ff8f8f;--cls-payment:#4fd6e8;--cls-login:#c9b6f0;--cls-stuffing:#e0798a;--cls-ddos:#b3ab9e;--cls-batch:#a6d36a;--cls-webhook:#d9b27a;--cls-other:#a99bb8;--shade:#050208;--scrim:#0a0410c2;--ornament:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' fill='none' stroke='%23e9dcf7' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M300 0L31 28M300 0L46 92M300 0L79 155M300 0L126 207M300 0L186 245M300 0L253 266M262 4Q268 7 264 13M264 13Q271 15 269 22M269 22Q276 22 276 29M276 29Q282 28 284 34M284 34Q290 31 293 37M222 8Q235 15 227 27M227 27Q240 31 236 45M236 45Q251 45 250 60M250 60Q264 57 267 71M267 71Q280 64 286 77M179 13Q198 24 185 42M185 42Q207 48 200 70M200 70Q223 71 222 93M222 93Q244 88 248 111M248 111Q268 100 279 120M131 18Q158 33 140 58M140 58Q170 68 161 98M161 98Q192 99 191 130M191 130Q221 123 228 154M228 154Q256 139 270 167M79 23Q114 43 91 76M91 76Q131 88 118 127M118 127Q159 129 157 170M157 170Q197 161 206 201M206 201Q243 182 261 219'/%3E%3Cpath d='M196 0V144'/%3E%3Cg stroke-opacity='.3' stroke-width='1.4'%3E%3Cpath d='M196 150l-5.4 -4.2l-4.5 -6.0M196 150l-6.6 -1.2l-5.5 -1.5M196 150l-6.6 1.8l-5.5 3.0M196 150l-5.4 4.2l-4.5 6.0M196 150l5.4 -4.2l4.5 -6.0M196 150l6.6 -1.2l5.5 -1.5M196 150l6.6 1.8l5.5 3.0M196 150l5.4 4.2l4.5 6.0'/%3E%3C/g%3E%3Cellipse cx='196' cy='150' rx='4.5' ry='6' fill='%23e9dcf7' fill-opacity='.3' stroke='none'/%3E%3Ccircle cx='196' cy='142' r='3' fill='%23e9dcf7' fill-opacity='.3' stroke='none'/%3E%3C/svg%3E")}.modal.settings-dialog{width:min(calc(600px * var(--ts,1)), 100%)}.settings-head{border-bottom:1px solid var(--line-soft);padding:22px 24px 14px}.settings-head h2{font-size:calc(22px * var(--ts,1))}.settings-head p{color:var(--text-dim);font-size:calc(13.5px * var(--ts,1));margin:4px 0 0}.settings-body{padding:6px 24px 8px;overflow-y:auto}.settings-group{border:0;border-bottom:1px solid var(--line-soft);min-width:0;margin:0;padding:16px 0}.settings-group:last-child{border-bottom:0}.settings-group legend{font-family:var(--drafting);font-size:calc(12px * var(--ts,1));letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;padding:0}.settings-choices{flex-wrap:wrap;gap:6px;display:flex}.settings-choices label{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);min-height:38px;color:var(--text);font-size:calc(14px * var(--ts,1));cursor:pointer;align-items:center;padding:7px 14px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.settings-choices.is-compact label{min-width:64px;font-family:var(--drafting);font-variant-numeric:tabular-nums;justify-content:center}.settings-choices label:hover{border-color:var(--wire)}.settings-choices label.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.settings-choices input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.settings-choices label:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--info) 80%, transparent);outline-offset:2px}:root[data-more-contrast] .settings-choices label:has(input:focus-visible){outline:3px solid var(--check)}.theme-choices{grid-template-columns:repeat(auto-fill, minmax(calc(150px * var(--ts,1)), 1fr));gap:8px;display:grid}.theme-choices label{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);cursor:pointer;flex-direction:column;gap:2px;padding:6px 6px 8px;transition:border-color .15s;display:flex;position:relative}.theme-choices label:hover{border-color:var(--wire)}.theme-choices label.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-choices label.is-on b:after{content:" ✓"}.theme-choices input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.theme-choices label:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--info) 80%, transparent);outline-offset:2px}:root[data-more-contrast] .theme-choices label:has(input:focus-visible){outline:3px solid var(--check)}.theme-choices b{font-size:calc(13.5px * var(--ts,1));margin-top:6px;font-weight:500}.theme-choices small{color:var(--text-dim);font-size:calc(12px * var(--ts,1));line-height:1.35}.theme-swatch{border:1px solid var(--line-soft);background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);background-size:12px 12px;flex-direction:column;justify-content:space-between;gap:6px;height:64px;padding:8px;display:flex}.theme-swatch-pair{grid-template-columns:1fr 1fr;display:grid}.theme-swatch-pair .theme-swatch-marks i:nth-child(n+4){display:none}.theme-swatch-panel{border:1px solid var(--line);background:var(--panel);grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:6px;display:grid}.theme-swatch-panel i,.theme-swatch-marks i{border-radius:1px;height:4px;display:block}.theme-swatch-ink{background:var(--text)}.theme-swatch-dim{background:var(--text-dim);grid-row:2;width:65%}.theme-swatch-btn{background:var(--accent);grid-area:1/2/3;width:18px;height:12px!important}.theme-swatch-marks{gap:4px;display:flex}.theme-swatch-marks i{border-radius:50%;width:8px;height:8px}.settings-hint{color:var(--text-dim);font-size:calc(13px * var(--ts,1));margin:8px 0 0;line-height:1.5}.settings-sample{border:1px dashed var(--line);font-size:calc(14.5px * var(--ts,1));margin:12px 0 0;padding:10px 12px;line-height:1.5}.font-geist{font-family:Geist Variable,system-ui,sans-serif}.font-legible{font-family:Atkinson Hyperlegible Next Variable,system-ui,sans-serif}.settings-toggle{cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;display:flex}.settings-toggle input{width:18px;height:18px;accent-color:var(--check);flex:none;margin:2px 0 0}.settings-toggle span{flex-direction:column;gap:2px;display:flex}.settings-toggle b{font-weight:500;font-size:calc(14px * var(--ts,1))}.settings-toggle small{color:var(--text-dim);font-size:calc(13px * var(--ts,1));line-height:1.45}.settings-actions{border-top:1px solid var(--line-soft);justify-content:space-between;gap:10px;padding:14px 24px 18px;display:flex}
