@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #09090b;--bg-1: #0d0d10;--bg-2: #111115;--bg-3: #16161b;--bg-hover: rgba(255, 255, 255, .035);--bg-active: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .13);--line-3: rgba(255, 255, 255, .2);--line-dash: rgba(255, 255, 255, .1);--fg: #fafafa;--fg-2: rgba(250, 250, 250, .72);--fg-3: rgba(250, 250, 250, .58);--fg-4: rgba(250, 250, 250, .47);--accent: #4d8dff;--accent-2: #3b7bff;--accent-3: #2f6bef;--accent-fg: #ffffff;--accent-soft: rgba(77, 141, 255, .12);--accent-line: rgba(77, 141, 255, .35);--accent-glow: rgba(77, 141, 255, .5);--ok: #5ed39b;--ok-soft: rgba(94, 211, 155, .12);--warn: #f2c35a;--warn-soft: rgba(242, 195, 90, .12);--bad: #ff7a85;--bad-soft: rgba(255, 122, 133, .12);--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--t-10: 10px;--t-11: 11px;--t-12: 12px;--t-13: 13px;--t-14: 14px;--t-15: 15px;--t-16: 16px;--t-18: 18px;--t-20: 20px;--t-24: 24px;--t-28: 28px;--t-32: 32px;--t-40: 40px;--t-52: 52px;--t-68: 68px;--r-0: 0px;--r-1: 4px;--r-2: 6px;--r-3: 10px;--r-4: 14px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--s-32: 128px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--dur-4: .6s;--shadow-btn: 0 0 0 1px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4), 0 4px 8px -2px rgba(0, 0, 0, .3), 0 12px 24px -8px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .12);--shadow-btn-accent: 0 0 0 1px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .4), 0 4px 10px -2px rgba(47, 107, 239, .45), 0 14px 28px -10px rgba(47, 107, 239, .5), inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 0 0 1px rgba(255, 255, 255, .06);--shadow-panel: 0 0 0 1px var(--line), 0 1px 2px rgba(0, 0, 0, .35), 0 24px 48px -24px rgba(0, 0, 0, .6);--shadow-float: 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 4px rgba(0, 0, 0, .4), 0 24px 64px -16px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .06);--content: 1120px;--content-wide: 1280px;--sidebar: 236px;--topbar: 52px}@media(prefers-reduced-motion:reduce){:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms;--dur-4: 0ms}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:rgba(255,255,255,.18) transparent}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--t-14) / 1.55 var(--font-sans);font-feature-settings:"ss01","cv11","cv10";min-height:100vh;overflow-x:clip}::selection{background:#4d8dff59;color:#fff}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}h1,h2,h3,h4,p,ul,ol,dl,figure{margin:0}ul,ol{padding:0;list-style:none}code,pre,kbd,samp{font-family:var(--font-mono);font-feature-settings:"liga" 0}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;top:-60px;left:16px;z-index:200;padding:8px 12px;background:var(--accent);color:#fff;border-radius:var(--r-2);font-size:var(--t-13);transition:top var(--dur-2)}.skip:focus{top:12px}.display,h1{font-size:clamp(40px,6.2vw,var(--t-68));font-weight:500;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}h2{font-size:clamp(28px,3.4vw,var(--t-40));font-weight:500;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}h3{font-size:var(--t-20);font-weight:500;letter-spacing:-.02em;line-height:1.25}h4{font-size:var(--t-15);font-weight:500;letter-spacing:-.01em;line-height:1.35}.serif,.serif-line{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--fg-3)}h1 .serif,h2 .serif{font-size:1.04em}.lede{font-size:var(--t-16);line-height:1.6;color:var(--fg-2);max-width:56ch;text-wrap:pretty}.muted{color:var(--fg-3)}.small{font-size:var(--t-13);color:var(--fg-3)}.fine{font-size:var(--t-12);color:var(--fg-4);line-height:1.5}.mono{font-family:var(--font-mono);font-size:.92em}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--t-11);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:.85}.eyebrow:before{content:"//";opacity:.6}.eyebrow.plain:before{content:none}.eyebrow.dim{color:var(--fg-3);opacity:1}.num{font-variant-numeric:tabular-nums}.gradient-text{background:linear-gradient(120deg,#fff 0%,rgba(255,255,255,.75) 50%,var(--accent) 110%);-webkit-background-clip:text;background-clip:text;color:transparent}.container{width:min(100% - 40px,var(--content));margin-inline:auto}.container.wide{width:min(100% - 40px,var(--content-wide))}.guides{position:relative}.guides:before,.guides:after{content:"";position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--line-dash);pointer-events:none}.guides:before{left:max(20px,calc((100% - var(--content)) / 2))}.guides:after{right:max(20px,calc((100% - var(--content)) / 2))}.hr{height:1px;background:var(--line);border:0;margin:0}.hr-dash{height:0;border:0;border-top:1px dashed var(--line-dash)}.row{display:flex;align-items:center;gap:var(--s-3)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.grid{display:grid;gap:var(--s-4)}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}.cells{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.cells>*{background:var(--bg);min-width:0;display:grid}.cells.elev>*{background:var(--bg-1)}.card{position:relative;border:1px solid var(--line);background:var(--bg-1);border-radius:var(--r-2);padding:var(--s-5)}.card.flat{background:transparent}.card.sharp{border-radius:0}.card.pad-0{padding:0}.card.pad-s{padding:var(--s-4)}.card.pad-l{padding:var(--s-8)}.card.hover{transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease),transform var(--dur-3) var(--ease)}.card.hover:hover{border-color:var(--line-2);background:var(--bg-2)}.panel{border:1px solid var(--line);background:var(--bg-1);border-radius:var(--r-2)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:10px 14px;border-bottom:1px solid var(--line);font-size:var(--t-12);color:var(--fg-3);min-height:40px}.panel-head strong{color:var(--fg);font-weight:500;font-size:var(--t-13)}.panel-body{padding:var(--s-4)}.spot{position:relative}.spot:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.35),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--dur-3) var(--ease);pointer-events:none}.spot:hover:before{opacity:1}.spot.accent:before{background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),rgba(77,141,255,.7),transparent 70%)}.btn{--btn-h: 34px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 14px;border-radius:var(--r-2);font-size:var(--t-13);font-weight:500;letter-spacing:-.005em;line-height:1;white-space:nowrap;color:var(--fg);background:var(--bg-3);box-shadow:var(--shadow-btn);transition:background var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn svg{flex:none;transition:transform var(--dur-3) var(--ease)}.btn:hover{background:#1c1c22}.btn:hover svg.arrow{transform:translate(2px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:linear-gradient(180deg,#3d7cff,#2a62e6);color:var(--accent-fg);box-shadow:var(--shadow-btn-accent)}.btn.primary:hover{background:linear-gradient(180deg,#4a86ff,#2f6bef)}.btn.secondary{background:#ffffff08;box-shadow:0 0 0 1px var(--line-2),inset 0 1px #ffffff0f}.btn.secondary:hover{background:#ffffff0f;box-shadow:0 0 0 1px var(--line-3),inset 0 1px #ffffff14}.btn.ghost{background:transparent;box-shadow:none;color:var(--fg-2)}.btn.ghost:hover{background:var(--bg-hover);color:var(--fg)}.btn.sm{--btn-h: 28px;padding:0 10px;font-size:var(--t-12);gap:6px}.btn.lg{--btn-h: 42px;padding:0 20px;font-size:var(--t-14)}.btn.full{width:100%}.btn.on-dark{color:#fff}.btn kbd{margin-left:4px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-2);color:var(--fg-3);transition:background var(--dur-2),color var(--dur-2)}.icon-btn:hover{background:var(--bg-hover);color:var(--fg)}.icon-btn.saved,.icon-btn[aria-pressed=true]{color:var(--accent)}.link{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);font-size:var(--t-13);font-weight:500;transition:color var(--dur-2)}.link:hover{color:var(--fg)}.link svg{transition:transform var(--dur-3) var(--ease)}.link:hover svg{transform:translate(2px,-2px)}.link.accent{color:var(--accent)}.link.accent:hover{color:#7fb0ff}.text-btn{color:var(--fg-3);font-size:var(--t-12);font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:color var(--dur-2)}.text-btn:hover{color:var(--fg)}.underline-link{position:relative;color:var(--fg-2)}.underline-link:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur-3) var(--ease)}.underline-link:hover{color:var(--fg)}.underline-link:hover:after{transform:scaleX(1);transform-origin:left}kbd{display:inline-flex;align-items:center;gap:2px;height:18px;padding:0 5px;border-radius:4px;font-family:var(--font-mono);font-size:var(--t-10);color:var(--fg-3);background:#ffffff0d;box-shadow:0 0 0 1px var(--line),inset 0 -1px #0006}.tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--r-1);font-family:var(--font-mono);font-size:var(--t-10);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--line);background:#ffffff05;white-space:nowrap}.tag.accent{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tag.ok{color:var(--ok);border-color:#5ed39b59;background:var(--ok-soft)}.tag.warn{color:var(--warn);border-color:#f2c35a59;background:var(--warn-soft)}.tag.bad{color:var(--bad);border-color:#ff7a8559;background:var(--bad-soft)}.tag.dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.difficulty{font-family:var(--font-mono);font-size:var(--t-11);letter-spacing:.04em}.difficulty.basic{color:var(--ok)}.difficulty.core{color:var(--warn)}.difficulty.pro{color:var(--bad)}.pill{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 10px 0 8px;border-radius:var(--r-pill);font-size:var(--t-12);color:var(--fg-2);border:1px solid var(--line-2);background:#ffffff08}.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #5ed39b2e}.pill .dot.pulse{animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #5ed39b73}70%{box-shadow:0 0 0 7px #5ed39b00}to{box-shadow:0 0 #5ed39b00}}.input,input:where(:not([type=checkbox]):not([type=radio]):not([type=range])),select,textarea{width:100%;min-height:34px;padding:7px 11px;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--bg-1);color:var(--fg);font-size:var(--t-13);transition:border-color var(--dur-2),box-shadow var(--dur-2),background var(--dur-2)}input::placeholder,textarea::placeholder{color:var(--fg-4)}input:where(:not([type=checkbox]):not([type=radio])):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-2)}select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center}textarea{resize:vertical;min-height:96px;line-height:1.55}label.field{display:flex;flex-direction:column;gap:6px;font-size:var(--t-12);color:var(--fg-3)}label.field>span{font-weight:500}.field-row{display:flex;gap:var(--s-3)}.field-row>*{flex:1}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--accent);margin:0}input[type=range]{accent-color:var(--accent);width:120px}.search-field{position:relative;display:flex;align-items:center}.search-field svg{position:absolute;left:10px;color:var(--fg-4);pointer-events:none}.search-field input{padding-left:32px}.search-field kbd{position:absolute;right:8px}.bar{position:relative;height:4px;border-radius:2px;background:#ffffff12;overflow:hidden}.bar>i{position:absolute;inset:0 auto 0 0;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent-glow);transition:width var(--dur-4) var(--ease)}.bar.thin{height:2px}.bar.ok>i{background:var(--ok);box-shadow:none}progress{appearance:none;width:100%;height:4px;border:0;background:#ffffff12;border-radius:2px;overflow:hidden}progress::-webkit-progress-bar{background:transparent}progress::-webkit-progress-value{background:var(--accent);border-radius:2px;transition:width var(--dur-4) var(--ease)}progress::-moz-progress-bar{background:var(--accent)}.table{width:100%;border-collapse:collapse;font-size:var(--t-13)}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table thead th{font-family:var(--font-mono);font-size:var(--t-10);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-4);border-bottom-color:var(--line-2)}.table tbody tr{transition:background var(--dur-2)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table tbody th{font-weight:500}.table .right{text-align:right}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.code{font-family:var(--font-mono);font-size:var(--t-12);line-height:1.7;color:var(--fg-2);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-2);padding:12px 14px;overflow-x:auto;white-space:pre;tab-size:2}.code .ln{display:inline-block;width:2.2em;color:var(--fg-4);-webkit-user-select:none;user-select:none}.code .k{color:#c792ea}.code .t{color:#82aaff}.code .n{color:#f78c6c}.code .c{color:var(--fg-4);font-style:italic}.code .f{color:#ffcb6b}.code .s{color:#c3e88d}.code .executing{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent);display:block;margin:0 -14px;padding:0 14px}.code .line{display:block;margin:0 -14px;padding:0 14px}.code .line.executing{margin:0 -14px}.code .cursor:after{content:"";display:inline-block;width:1px;height:1em;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.tabs{position:relative;display:inline-flex;gap:2px;padding:3px;border-radius:var(--r-2);background:#ffffff0a;border:1px solid var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs [role=tab]{position:relative;height:26px;padding:0 11px;border-radius:4px;font-size:var(--t-12);font-weight:500;color:var(--fg-3);white-space:nowrap;transition:color var(--dur-2)}.tabs [role=tab]:hover{color:var(--fg-2)}.tabs [role=tab][aria-selected=true]{color:var(--fg)}.tabs .tab-indicator{position:absolute;inset:0;border-radius:4px;background:var(--bg-3);box-shadow:0 0 0 1px var(--line-2),0 1px 2px #0006,inset 0 1px #ffffff0f}.tabs .tab-text{position:relative;z-index:1}.tabs.underline{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:0}.tabs.underline [role=tab]{height:38px;padding:0 12px;border-radius:0;font-size:var(--t-13)}.tabs.underline .tab-indicator{inset:auto 0 -1px;height:2px;border-radius:1px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.route-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.route-tabs a{position:relative;padding:10px 14px;font-size:var(--t-13);font-weight:500;color:var(--fg-3);white-space:nowrap;transition:color var(--dur-2)}.route-tabs a:hover{color:var(--fg-2)}.route-tabs a.active{color:var(--fg)}.route-tabs a.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--accent);border-radius:1px;box-shadow:0 0 10px var(--accent-glow)}dialog{border:0;padding:0;margin:auto;width:min(100% - 32px,520px);max-height:min(100% - 32px,760px);background:var(--bg-2);color:var(--fg);border-radius:var(--r-3);box-shadow:var(--shadow-float);overflow:hidden;display:flex;flex-direction:column}dialog::backdrop{background:#030305b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in var(--dur-3) var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}dialog .modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:14px 16px 12px;border-bottom:1px solid var(--line)}dialog .modal-head h2{font-size:var(--t-15);font-weight:500;letter-spacing:-.01em}dialog .modal-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:12px;font-size:var(--t-13);color:var(--fg-2);line-height:1.6}dialog .modal-body h3{font-size:var(--t-14);color:var(--fg)}dialog .modal-body p{margin:0}dialog .modal-body form{display:flex;flex-direction:column;gap:12px}dialog .modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--bg-1)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:120;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 10px;border-radius:var(--r-pill);background:var(--bg-3);color:var(--fg);font-size:var(--t-13);box-shadow:var(--shadow-float);animation:toast-in var(--dur-3) var(--ease);white-space:nowrap;max-width:calc(100% - 32px)}.toast .ok-dot{width:16px;height:16px;border-radius:50%;background:var(--ok);color:#05140c;display:inline-flex;align-items:center;justify-content:center}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#2d3140,#171921);color:var(--fg-2);font-size:var(--t-12);font-weight:500;box-shadow:inset 0 0 0 1px var(--line-2);flex:none}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar.lg{width:56px;height:56px;font-size:var(--t-20)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:28px 24px;border:1px dashed var(--line-2);border-radius:var(--r-2);color:var(--fg-3)}.empty h3{color:var(--fg);font-size:var(--t-15)}.empty p{font-size:var(--t-13);max-width:44ch}.empty .glyph{font-family:var(--font-mono);font-size:var(--t-20);color:var(--accent)}.state-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:10px 14px;margin-bottom:var(--s-4);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-2);font-size:var(--t-13)}.state-banner button{color:var(--accent);font-weight:500}.dots{background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:20px 20px}.grid-bg{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px}.noise:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}.check-list{display:flex;flex-direction:column;gap:8px;font-size:var(--t-13);color:var(--fg-2)}.check-list li{display:flex;align-items:flex-start;gap:9px}.check-list li svg{flex:none;margin-top:2px;color:var(--accent)}.check-list.muted li{color:var(--fg-4)}.check-list.muted li svg{color:var(--fg-4)}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}.accordion{border-top:1px solid var(--line)}.accordion>section{border-bottom:1px solid var(--line)}.accordion h3{font-size:inherit}.accordion h3 button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;text-align:left;font-size:var(--t-14);font-weight:500;color:var(--fg-2);transition:color var(--dur-2)}.accordion h3 button:hover,.accordion h3 button[aria-expanded=true]{color:var(--fg)}.accordion h3 button .plus{position:relative;width:16px;height:16px;flex:none;color:var(--fg-4)}.accordion h3 button .plus:before,.accordion h3 button .plus:after{content:"";position:absolute;background:currentColor;transition:transform var(--dur-3) var(--ease)}.accordion h3 button .plus:before{left:0;right:0;top:7px;height:1.5px}.accordion h3 button .plus:after{top:0;bottom:0;left:7px;width:1.5px}.accordion h3 button[aria-expanded=true] .plus:after{transform:rotate(90deg)}.accordion h3 button[aria-expanded=true] .plus{color:var(--accent)}.accordion .acc-body{overflow:hidden}.accordion .acc-body p{padding:0 0 18px;font-size:var(--t-14);line-height:1.6;color:var(--fg-3);max-width:62ch}.wordmark{display:inline-flex;align-items:center;gap:8px;flex:none}.wordmark img{height:22px;width:auto}.wordmark-text{font-weight:600;letter-spacing:-.02em;font-size:var(--t-15)}.wordmark-text b{color:var(--accent);font-weight:600}.marquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;gap:40px;width:max-content;animation:marquee 38s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:150;background:var(--accent);transform-origin:0 50%;box-shadow:0 0 10px var(--accent-glow);pointer-events:none}.desktop-only{display:contents}.mobile-only{display:none}@media(max-width:800px){.desktop-only{display:none}.mobile-only{display:contents}}.desktop-only-flex{display:inline-flex}.mobile-only-flex{display:none}@media(max-width:800px){.desktop-only-flex{display:none!important}.mobile-only-flex{display:inline-flex}}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;transition:grid-template-columns var(--dur-3) var(--ease)}.app-shell.collapsed{grid-template-columns:60px minmax(0,1fr)}.app-shell.focus{grid-template-columns:minmax(0,1fr)}.app-shell.focus .sidebar{display:none}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:12px 10px;background:var(--bg-1);border-right:1px solid var(--line);overflow:hidden auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.side-top{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 12px;min-height:44px}.collapsed .side-top{flex-direction:column;gap:8px;padding-inline:0}.collapsed .side-text{display:none}.side-search{display:flex;align-items:center;gap:8px;height:32px;padding:0 9px;margin-bottom:10px;border-radius:var(--r-2);border:1px solid var(--line);background:#ffffff06;color:var(--fg-3);font-size:var(--t-12);transition:border-color var(--dur-2),background var(--dur-2),color var(--dur-2)}.side-search:hover{border-color:var(--line-2);color:var(--fg-2);background:#ffffff0a}.side-search kbd{margin-left:auto}.collapsed .side-search{justify-content:center;padding:0}.side-label{display:block;padding:10px 10px 4px;font-family:var(--font-mono);font-size:var(--t-10);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}.side-nav{display:flex;flex-direction:column;gap:1px}.side-nav a,.side-link,.side-profile,.side-upgrade{position:relative;display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--r-2);font-size:var(--t-13);font-weight:450;color:var(--fg-3);transition:color var(--dur-2),background var(--dur-2)}.side-nav a svg,.side-link svg{flex:none;transition:color var(--dur-2)}.side-nav a:hover,.side-link:hover{color:var(--fg);background:var(--bg-hover)}.side-nav a.active{color:var(--fg)}.side-nav a.active svg{color:var(--accent)}.side-active{position:absolute;inset:0;border-radius:var(--r-2);background:var(--bg-active);box-shadow:inset 2px 0 0 var(--accent)}.side-nav a>*:not(.side-active){position:relative;z-index:1}.collapsed .side-nav a,.collapsed .side-link,.collapsed .side-profile,.collapsed .side-upgrade{justify-content:center;padding:0}.side-bottom{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid var(--line)}.side-upgrade{height:auto;padding:10px;margin-bottom:6px;border:1px solid var(--accent-line);background:linear-gradient(180deg,#4d8dff1f,#4d8dff0a);color:var(--fg)}.side-upgrade:hover{background:linear-gradient(180deg,#4d8dff2e,#4d8dff0f)}.side-upgrade svg:first-child{color:var(--accent)}.side-upgrade span{display:flex;flex-direction:column;line-height:1.2}.side-upgrade strong{font-size:var(--t-13);font-weight:500}.side-upgrade small{font-size:var(--t-11);color:var(--fg-3)}.side-upgrade>svg:last-child{margin-left:auto;color:var(--fg-3)}.side-profile{height:auto;padding:6px 8px}.side-profile:hover{background:var(--bg-hover)}.side-profile span:last-child{display:flex;flex-direction:column;line-height:1.2}.side-profile strong{font-size:var(--t-13);font-weight:500;color:var(--fg)}.side-profile small{font-size:var(--t-11);color:var(--fg-4)}.shell-body{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--topbar);padding:0 20px;background:#09090bc7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:16px;min-width:0}.crumb-list{display:flex;align-items:center;gap:6px;font-size:var(--t-12);color:var(--fg-3);white-space:nowrap;overflow:hidden}.crumb-list li{display:inline-flex;align-items:center;gap:6px}.crumb-list a:hover,.crumb-list [aria-current]{color:var(--fg)}.crumb-sep{color:var(--fg-4)}.top-actions{display:flex;align-items:center;gap:8px}.search-trigger{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 8px 0 10px;border-radius:var(--r-2);border:1px solid var(--line);background:#ffffff05;color:var(--fg-3);font-size:var(--t-12);min-width:200px;transition:border-color var(--dur-2),color var(--dur-2)}.search-trigger:hover{border-color:var(--line-2);color:var(--fg-2)}.search-trigger kbd{margin-left:auto}.app-main{flex:1;padding:28px 32px 96px}.page-inner{max-width:var(--content-wide);margin-inline:auto;display:flex;flex-direction:column;gap:var(--s-6)}.focus .app-main{padding:20px 24px 60px}.focus .page-inner{max-width:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.page-head-text{display:flex;flex-direction:column;gap:8px}.page-title{font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.1}.section-title-text{font-size:var(--t-24)}.page-desc{font-size:var(--t-14);color:var(--fg-3);max-width:62ch;line-height:1.55}.page-head-action{display:flex;gap:8px;align-items:center}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);padding-top:4px}.section-title>div{display:flex;flex-direction:column;gap:4px}.section-title h2{font-size:var(--t-16);font-weight:500;letter-spacing:-.015em}.preview{position:relative}.preview.floating{position:fixed;right:20px;bottom:20px;z-index:90}.preview-trigger{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 10px 0 8px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg-2);color:var(--fg-3);font-size:var(--t-12);transition:color var(--dur-2),border-color var(--dur-2)}.floating .preview-trigger{box-shadow:var(--shadow-float)}.preview-trigger:hover{color:var(--fg);border-color:var(--line-2)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #5ed39b29}.status-dot.bad{background:var(--bad);box-shadow:0 0 0 3px #ff7a8529}.status-dot.warn{background:var(--warn);box-shadow:0 0 0 3px #f2c35a29}.preview-pop{position:absolute;right:0;top:calc(100% + 8px);width:240px;padding:12px;border-radius:var(--r-3);background:var(--bg-2);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:8px;z-index:100}.floating .preview-pop{top:auto;bottom:calc(100% + 8px)}.preview-modes{display:flex;flex-direction:column;gap:1px}.preview-modes button{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 8px;border-radius:var(--r-1);font-size:var(--t-12);color:var(--fg-2);text-align:left}.preview-modes button:hover{background:var(--bg-hover);color:var(--fg)}.preview-modes button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.preview-reset{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--r-1);border:1px solid var(--line);font-size:var(--t-12);color:var(--fg-2)}.preview-reset:hover{background:var(--bg-hover);color:var(--fg)}.preview-pop small{font-size:var(--t-11);color:var(--fg-4);line-height:1.4}.state-view{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:480px;margin:40px auto;padding:32px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1)}.state-view h2{font-size:var(--t-20)}.state-view p{color:var(--fg-3);font-size:var(--t-14)}.state-art{width:100%;padding:8px 0}.skeleton-stack{display:flex;flex-direction:column;gap:8px}.skeleton-stack i{display:block;height:10px;border-radius:3px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.state-art .glyph.bad{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--bad);background:var(--bad-soft);border:1px solid rgba(255,122,133,.3);font-family:var(--font-mono)}.bottom-nav{display:none}@media(max-width:800px){.app-shell,.app-shell.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{padding:0 14px}.search-trigger{min-width:0}.search-trigger span,.search-trigger kbd{display:none}.app-main{padding:18px 16px 96px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);height:60px;padding-bottom:env(safe-area-inset-bottom);background:#0d0d10e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:var(--t-10);color:var(--fg-3)}.bottom-nav a.active{color:var(--accent)}.crumb-list li:not(:last-child),.crumb-list li:last-child .crumb-sep{display:none}}.modal-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px}.modal-nav a{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:var(--r-2);font-size:var(--t-13);color:var(--fg-2)}.modal-nav a svg:last-child{margin-left:auto;color:var(--fg-4)}.modal-nav a:hover{background:var(--bg-hover);color:var(--fg)}@media(max-width:520px){.modal-nav{grid-template-columns:1fr}}dialog.wide{width:min(100% - 32px,600px)}dialog.wide .modal-body{padding:0}.palette-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--fg-3)}.palette-input input{border:0;background:none;padding:0;min-height:0;font-size:var(--t-15)}.palette-input input:focus-visible{box-shadow:none;background:none}.palette-results{display:flex;flex-direction:column;padding:6px;max-height:340px;overflow:auto}.palette-results a{position:relative;display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--r-2);font-size:var(--t-13);color:var(--fg-2)}.palette-results a>*{position:relative;z-index:1}.palette-results a svg:first-child{color:var(--fg-4)}.palette-results a.is-cursor,.palette-results a:focus-visible{color:var(--fg);outline:none}.palette-results a.is-cursor svg:first-child{color:var(--accent)}.palette-results a small{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-4)}.palette-results a .enter{opacity:0;color:var(--fg-4)}.palette-results a.is-cursor .enter{opacity:1}.palette-row-bg{position:absolute;inset:0;z-index:0!important;border-radius:var(--r-2);background:var(--bg-active)}.palette-results p{padding:16px 12px}.palette-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);font-size:var(--t-11);color:var(--fg-4)}.palette-foot span{display:inline-flex;align-items:center;gap:4px}.pub-shell{min-height:100vh}.topbar.pub{height:60px;padding:0;background:#09090bb3;border-bottom-color:transparent;transition:border-color var(--dur-3)}.topbar.pub:has(.scrolled){border-bottom-color:var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:100%}.pub-links{display:flex;align-items:center;gap:2px;padding:3px;border-radius:var(--r-pill)}.pub-links a{position:relative;padding:6px 12px;border-radius:var(--r-pill);font-size:var(--t-13);font-weight:450;color:var(--fg-3);transition:color var(--dur-2)}.pub-links a:hover,.pub-links a.active{color:var(--fg)}.pub-links a span{position:relative;z-index:1}.pub-pill{position:absolute;inset:0;border-radius:var(--r-pill);background:#ffffff0f;box-shadow:inset 0 0 0 1px var(--line)}@media(max-width:800px){.pub-links{display:none}}.pub-main{min-height:60vh}.pub-footer{position:relative;margin-top:var(--s-24);border-top:1px solid var(--line);overflow:hidden;padding-bottom:80px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:var(--s-8);padding:var(--s-16) 0 var(--s-10)}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-brand p{font-size:var(--t-13);color:var(--fg-3);max-width:28ch}.footer-col ul{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:var(--t-13)}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line);font-size:var(--t-12);color:var(--fg-4);flex-wrap:wrap}.footer-word{position:absolute;left:50%;bottom:-.32em;transform:translate(-50%);font-size:clamp(90px,15vw,220px);font-weight:600;letter-spacing:-.05em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:960px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}.page{will-change:opacity,transform}.words{display:inline}.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.word{display:inline-block;will-change:transform}.cta{overflow:hidden}.cta-label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px}.cta-shine{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(-70deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);background-size:250% 100%;background-repeat:no-repeat}.cta.secondary .cta-shine,.cta.ghost .cta-shine{background-image:linear-gradient(-70deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%)}.task{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.task input{position:absolute;opacity:0;width:1px;height:1px}.task-check{width:22px;height:22px;flex:none;color:var(--fg-4);margin-top:1px;transition:color var(--dur-2)}.task:hover .task-check{color:var(--fg-2)}.task input:focus-visible+.task-check{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.task-text{display:flex;flex-direction:column;gap:2px;min-width:0}.task-label{font-size:var(--t-14);color:var(--fg);background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 58%;transition:color var(--dur-3)}.task.is-done .task-label{color:var(--fg-4)}.task-text small{font-size:var(--t-12);color:var(--fg-4);font-family:var(--font-mono)}.ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}.ring svg{position:absolute;inset:0}.ring-label{position:relative;font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-2)}.heatmap{display:grid;grid-template-rows:repeat(7,10px);grid-auto-flow:column;grid-auto-columns:10px;gap:3px}.heatmap i{display:block;width:10px;height:10px;border-radius:2px;background:#ffffff0f}.heatmap i[data-l="1"]{background:#4d8dff47}.heatmap i[data-l="2"]{background:#4d8dff80}.heatmap i[data-l="3"]{background:#4d8dffbf}.heatmap i[data-l="4"]{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.tab-count{margin-left:6px;font-family:var(--font-mono);font-size:var(--t-10);color:var(--fg-4)}.chev{display:inline-flex;color:var(--fg-4)}.note-form{display:flex;flex-direction:column;gap:12px}html[data-capture] .preview,html[data-capture] .skip,html[data-capture] .scroll-progress{display:none!important}html[data-capture]{cursor:none}html[data-capture] *{cursor:none!important}.home{overflow:clip}.section{padding:var(--s-24) 0 0}.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:var(--s-10);max-width:720px}.section-head h2{font-size:clamp(30px,3.8vw,44px)}.section-head .lede{font-size:var(--t-15)}.between-head{flex-direction:row;align-items:flex-end;justify-content:space-between;max-width:none}.between-head>div{display:flex;flex-direction:column;gap:14px}.hero{position:relative;padding:108px 0 0}.hero-beam{position:absolute;inset:0 0 auto;height:900px;pointer-events:none;background:radial-gradient(55% 45% at 50% -8%,#4d8dff52,#4d8dff00),radial-gradient(28% 32% at 64% 4%,#785aff24,#785aff00)}@keyframes beam-drift{0%,to{transform:translateZ(0) scale(1);opacity:1}50%{transform:translate3d(0,-14px,0) scale(1.04);opacity:.85}}.hero-beam{animation:beam-drift 14s ease-in-out infinite;will-change:transform,opacity}.hero-beam:after{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>")}.hero-grid{position:absolute;inset:0 0 auto;height:720px;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(70% 60% at 50% 0%,#000 20%,transparent 100%);mask:radial-gradient(70% 60% at 50% 0%,#000 20%,transparent 100%)}.hero-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}.stage-live{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.02em;color:var(--fg-3)}.stage-live .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.stage-live .num{color:var(--fg)}.hero-title{font-size:clamp(44px,7vw,84px);line-height:1;letter-spacing:-.04em;max-width:14ch}.hero-title .serif{color:var(--fg-3);font-size:1em}.hero-lede{text-align:center;max-width:54ch;font-size:clamp(15px,1.4vw,17px)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.hero-product{width:100%;margin-top:48px;position:relative}.hero-product:before{content:"";position:absolute;inset:-1px;border-radius:12px;background:linear-gradient(180deg,rgba(77,141,255,.35),rgba(255,255,255,.06) 40%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;z-index:2}.stage{position:relative;text-align:left;border-radius:12px;background:var(--bg-1);border:1px solid var(--line);box-shadow:0 40px 100px -30px #000c,0 0 0 1px #00000080;overflow:hidden}.stage-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:40px;padding:0 14px;border-bottom:1px solid var(--line);background:#ffffff05;font-size:var(--t-12)}.stage-dots{display:flex;gap:6px}.stage-dots i{width:9px;height:9px;border-radius:50%;background:#ffffff1a;box-shadow:inset 0 0 0 1px var(--line-2)}.stage-title{display:inline-flex;align-items:center;gap:8px;color:var(--fg-2);font-weight:500}.stage-title .live{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.stage-crumb{color:var(--fg-4);font-weight:400;margin-left:6px}.stage-crumb b{margin:0 4px;opacity:.5}.stage-open{justify-self:end;display:inline-flex;align-items:center;gap:5px;color:var(--fg-3);font-size:var(--t-12);transition:color var(--dur-2)}.stage-open:hover{color:var(--fg)}.stage-body{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1.2fr);min-height:300px}.stage-side{display:flex;flex-direction:column;gap:8px;padding:16px 14px;border-right:1px solid var(--line);font-size:var(--t-12)}.stage-side strong{font-weight:500;color:var(--fg);font-size:var(--t-13)}.stage-side ul{display:flex;flex-direction:column;gap:1px;margin:6px -6px}.stage-side li{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;border-radius:var(--r-1);color:var(--fg-3)}.stage-side li svg{color:var(--fg-4)}.stage-side li.done{color:var(--fg-3)}.stage-side li.done svg{color:var(--ok)}.stage-side li.current{color:var(--fg);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.cur-dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--accent)}.stage-side>a{margin-top:auto;display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:500}.stage-trace{display:flex;flex-direction:column;gap:16px;padding:18px 20px;border-right:1px solid var(--line)}.trace-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--t-13);color:var(--fg-2)}.trace-head code{font-size:var(--t-11);color:var(--accent);background:var(--accent-soft);padding:2px 6px;border-radius:4px}.cells-row{display:flex;gap:8px;padding:10px 0 6px}.cell-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.cell{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;max-width:48px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg-2);font-family:var(--font-mono);font-size:var(--t-16);color:var(--fg-2);transition:background var(--dur-3) var(--ease),color var(--dur-3) var(--ease),border-color var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease)}.cell.hit{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow)}.cell-wrap small{font-family:var(--font-mono);font-size:var(--t-10);color:var(--fg-4)}.pointer{position:absolute;bottom:-14px;font-family:var(--font-mono);font-size:var(--t-12);color:var(--accent)}.algorithm-output{padding:12px 14px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg);min-height:56px}.algorithm-output>div{display:flex;flex-direction:column;gap:2px}.algorithm-output span{font-size:var(--t-11);color:var(--fg-4);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.algorithm-output strong{font-family:var(--font-mono);font-size:var(--t-14);font-weight:500;color:var(--fg)}.algorithm-output strong.ok{color:var(--ok)}.stage-controls{display:flex;align-items:center;gap:4px;margin-top:auto}.step-count{margin-left:auto;font-size:var(--t-11);color:var(--fg-4)}.step-count b{opacity:.5;margin:0 2px}.stage-code{display:flex;flex-direction:column;min-width:0}.code-head{display:flex;justify-content:space-between;align-items:center;height:36px;padding:0 14px;border-bottom:1px solid var(--line);font-size:var(--t-12);color:var(--fg-3)}.code-head>span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--fg-2)}.file-dot{width:7px;height:7px;border-radius:2px;background:var(--accent);display:inline-block}.stage-pre{flex:1;border:0;border-radius:0;background:transparent;padding:12px 14px;font-size:var(--t-12)}.code-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid var(--line);font-size:var(--t-11);color:var(--fg-4)}.stage-status{display:flex;justify-content:space-between;padding:8px 14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--t-10);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4)}.stage.compact .stage-side{display:none}.stage.compact .stage-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}@media(max-width:900px){.stage-body{grid-template-columns:minmax(0,1fr)}.stage-side{display:none}.stage-trace{border-right:0;border-bottom:1px solid var(--line)}.stage-bar{grid-template-columns:auto 1fr auto;gap:12px}.stage-crumb{display:none}.stage.compact .stage-body{grid-template-columns:minmax(0,1fr)}}.marquee-section{padding:var(--s-16) 0 0;display:flex;flex-direction:column;gap:18px}.marquee-section .container{text-align:center}.marquee-item{font-family:var(--font-mono);font-size:var(--t-12);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-4);display:inline-flex;align-items:center;gap:40px}.marquee-item:after{content:"·";color:var(--accent)}.studio-proof{padding-top:var(--s-16);display:flex;flex-direction:column;gap:10px}.proof-cells{grid-template-columns:repeat(3,1fr)}.proof-cell{display:flex;flex-direction:column;gap:4px;padding:26px 28px}.proof-cell strong{font-size:clamp(30px,3.6vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1}.proof-cell>span{font-size:var(--t-13);color:var(--fg-2);margin-top:6px}.proof-cell small{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-4)}@media(max-width:720px){.proof-cells{grid-template-columns:1fr}}.discipline-cells{grid-template-columns:repeat(4,1fr)}.discipline-cell{height:100%}.discipline-card{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px 22px 20px;transition:background var(--dur-3) var(--ease)}.discipline-card:hover{background:var(--bg-1)}.discipline-top{display:flex;justify-content:space-between;align-items:center}.disc-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-2);border:1px solid var(--line-2);color:var(--accent);background:var(--bg-2)}.discipline-art{width:100%;height:auto;margin:8px 0 4px;stroke:var(--line-3);stroke-width:1.2;transition:stroke var(--dur-3)}.discipline-art rect,.discipline-art circle,.discipline-art ellipse{fill:var(--bg-2)}.discipline-art text{fill:var(--fg-2);stroke:none;font-family:var(--font-mono);font-size:15px;text-anchor:middle}.discipline-card:hover .discipline-art{stroke:var(--accent)}.discipline-card h3{font-size:var(--t-16)}.discipline-card p{font-size:var(--t-13);color:var(--fg-3);line-height:1.55}.discipline-card ul{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.discipline-card li{font-family:var(--font-mono);font-size:var(--t-10);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--line);border-radius:3px;color:var(--fg-3)}.disc-link{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:6px;font-size:var(--t-13);font-weight:500;color:var(--accent)}.disc-link svg{transition:transform var(--dur-3) var(--ease)}.discipline-card:hover .disc-link svg{transform:translate(3px)}@media(max-width:960px){.discipline-cells{grid-template-columns:1fr 1fr}}@media(max-width:560px){.discipline-cells{grid-template-columns:1fr}}.method-cells{grid-template-columns:repeat(3,1fr)}.method-cell{display:flex;flex-direction:column;gap:10px;padding:22px}.method-cell h3{font-size:var(--t-16);margin-top:6px}.method-cell p{font-size:var(--t-13);color:var(--fg-3);line-height:1.55}.method-art{margin:10px 0 8px;min-height:132px;display:flex;align-items:stretch}.mini{width:100%;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1);padding:10px;display:flex;flex-direction:column;gap:6px;font-size:var(--t-12)}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;border-radius:4px;color:var(--fg-3)}.mini-row .mono{font-size:var(--t-10);color:var(--fg-4)}.mini-chapter.active{color:var(--fg)}.lesson-mini .mini-row:first-child{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.mini-play{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:var(--accent);font-weight:500}.sheet-mini .mini-row{border-bottom:1px solid var(--line);padding:7px 4px;justify-content:flex-start}.sheet-mini .mini-row:last-child{border-bottom:0}.mini-title{flex:1;color:var(--fg-2)}.mini-check{width:14px;height:14px;border-radius:3px;border:1px solid var(--line-3);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}.mini-check.on{background:var(--accent);border-color:var(--accent)}.note-mini strong{color:var(--fg);font-weight:500;font-size:var(--t-13)}.note-mini p{color:var(--fg-3);line-height:1.5}.note-mini .tag{align-self:flex-start;margin-top:auto}@media(max-width:800px){.method-cells{grid-template-columns:1fr}}.planly-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-16);align-items:center}.planly-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.planly-copy h2{font-size:clamp(30px,3.8vw,44px)}.planly-facts{display:flex;gap:28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;margin:8px 0}.planly-facts>div{display:flex;flex-direction:column;gap:4px}.planly-facts strong{font-size:var(--t-14);font-weight:500}.plan-card{border:1px solid var(--line-2);border-radius:12px;background:var(--bg-1);box-shadow:var(--shadow-panel);overflow:hidden}.plan-card-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);font-size:var(--t-12);color:var(--fg-3)}.plan-card-head span:first-child{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2)}.plan-card-title{display:flex;justify-content:space-between;align-items:flex-end;padding:18px 16px 10px}.plan-card-title small{font-size:var(--t-11);color:var(--fg-4)}.plan-card-title h3{font-size:var(--t-20);margin-top:4px}.plan-min{font-size:var(--t-28);font-weight:500;letter-spacing:-.03em;color:var(--accent);display:inline-flex;align-items:baseline;gap:4px}.plan-min small{font-family:var(--font-mono);font-size:var(--t-10);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-4)}.plan-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px 16px 14px}.plan-week span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-radius:var(--r-2);font-size:var(--t-12);color:var(--fg-3)}.plan-week small{font-family:var(--font-mono);font-size:var(--t-10);color:var(--fg-4)}.plan-week b{font-weight:500}.plan-week .current{background:#2a5fd9;color:#fff;box-shadow:0 6px 16px -6px var(--accent-glow)}.plan-week .current small{color:#ffffffe6}.plan-tasks{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-top:1px solid var(--line)}.plan-progress{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--line);background:#ffffff05;font-size:var(--t-12);color:var(--fg-3)}@media(max-width:860px){.planly-section{grid-template-columns:1fr}}.course-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.course-tilt{height:100%}.course-item{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1);height:100%;transition:border-color var(--dur-3)}.course-item:hover{border-color:var(--line-2)}.course-name{font-size:var(--t-13);font-weight:500;line-height:1.3;margin-top:4px}@media(max-width:1100px){.course-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.course-row{grid-template-columns:repeat(2,1fr)}}.course-book{position:relative;aspect-ratio:3 / 4;width:100%;border-radius:4px 8px 8px 4px;transform-style:preserve-3d;transition:transform var(--dur-4) var(--ease)}.course-book .book-spine{position:absolute;left:0;top:0;bottom:0;width:8px;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#00000080,#ffffff14)}.course-book .book-face{position:absolute;inset:0 0 0 4px;border-radius:3px 8px 8px 3px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:6px;color:#fff;box-shadow:inset 0 1px #fff3,inset -1px 0 #0003,0 12px 28px -10px #000c;overflow:hidden}.book-cobalt .book-face{background:linear-gradient(160deg,#3b7bff,#1f4fd6 60%,#163ea8)}.book-ink .book-face{background:linear-gradient(160deg,#24262f,#15161c 70%,#0f1014)}.book-slate .book-face{background:linear-gradient(160deg,#334155,#1e293b 70%,#151d2c)}.book-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;opacity:.8}.book-art{display:flex;gap:3px;margin:8px 0 4px}.book-art span{width:12px;height:14px;border:1px solid rgba(255,255,255,.55);border-radius:2px}.book-art span:nth-child(2){background:#ffffffd9}.course-book strong{font-size:clamp(22px,2.6vw,34px);font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:auto}.book-rule{height:1px;background:#ffffff59}.course-book small{font-family:var(--font-mono);font-size:7px;letter-spacing:.1em;opacity:.85;line-height:1.3}.book-bottom{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:7px;letter-spacing:.08em;opacity:.7;margin-top:6px}.mentor-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-16);align-items:center}.mentor-photo{position:relative;border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line)}.mentor-photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;filter:saturate(.9) contrast(1.05)}.mentor-caption{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;padding:8px 12px;border-radius:var(--r-2);background:#09090bbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-2)}.mentor-caption strong{font-size:var(--t-13);font-weight:500}.mentor-caption small{font-size:var(--t-11);color:var(--fg-3)}.mentor-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.mentor-copy h2{font-size:clamp(30px,3.8vw,44px)}.mentor-quote{position:relative;margin:0;padding:18px 20px 18px 46px;border-left:2px solid var(--accent);background:var(--bg-1);font-size:var(--t-15);line-height:1.6;color:var(--fg-2);border-radius:0 var(--r-2) var(--r-2) 0}.mentor-quote svg{position:absolute;left:16px;top:18px;color:var(--accent)}.mentor-links{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:860px){.mentor-section{grid-template-columns:1fr}.mentor-photo{max-width:380px}}.plan-cells{grid-template-columns:repeat(3,1fr)}.plan-cell{display:flex;flex-direction:column;gap:16px;padding:24px}.plan-cell.featured{background:var(--bg-1);box-shadow:inset 0 1px 0 var(--accent)}.plan-cell>.between strong{font-size:var(--t-16);font-weight:500}.plan-price{display:flex;flex-direction:column;gap:4px}.plan-price .num{font-size:var(--t-32);font-weight:500;letter-spacing:-.03em}.plan-price small{font-size:var(--t-12);color:var(--fg-4)}.plan-cell .check-list{flex:1}@media(max-width:800px){.plan-cells{grid-template-columns:1fr}}.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--s-16);align-items:start}.faq-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start;position:sticky;top:100px}.faq-copy h2{font-size:clamp(30px,3.8vw,44px)}@media(max-width:800px){.faq-section{grid-template-columns:1fr}.faq-copy{position:static}}.final-cta{position:relative;margin-top:var(--s-24);padding:var(--s-24) 0 var(--s-16);border-top:1px solid var(--line);overflow:hidden}.final-cta:before{content:"";position:absolute;inset:auto -10% -60%;height:80%;background:radial-gradient(50% 60% at 50% 100%,rgba(77,141,255,.28),transparent 70%);filter:blur(30px);pointer-events:none}.final-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}.final-inner h2{font-size:clamp(36px,5.5vw,64px)}.pricing{padding-top:72px}.pricing-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:var(--s-12) 0 var(--s-10)}.pricing-hero h1{font-size:clamp(38px,5.5vw,64px)}.pricing-hero .lede{text-align:center}.duration-switch{display:flex;flex-direction:column;align-items:center;gap:10px}.duration-switch .tabs [role=tab]{height:32px;padding:0 16px;font-size:var(--t-13)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.price-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:28px 26px;background:var(--bg)}.price-card.featured{background:var(--bg-1)}.price-card.featured:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.plan-name{display:flex;flex-direction:column;gap:6px}.plan-name .row{gap:8px}.plan-name h2{font-size:var(--t-20)}.plan-name>span{font-size:var(--t-13);color:var(--fg-3)}.price{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price strong{font-size:var(--t-40);font-weight:500;letter-spacing:-.035em;line-height:1}.price s{font-size:var(--t-13);color:var(--fg-4)}.price span{font-size:var(--t-12);color:var(--fg-3)}.credit-count{font-family:var(--font-mono);font-size:var(--t-11);color:var(--accent);letter-spacing:.04em}.planned{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px dashed var(--line-2)}.planned strong{font-size:var(--t-12);font-weight:500;color:var(--fg-2)}.planned p{display:flex;justify-content:space-between;font-size:var(--t-13);color:var(--fg-3)}.planned small{font-family:var(--font-mono);font-size:var(--t-10);color:var(--fg-4)}.excluded summary{font-size:var(--t-12);color:var(--fg-4);display:inline-flex;align-items:center;gap:6px;margin-top:auto}.excluded[open] summary{margin-bottom:8px}.pricing-note{text-align:center;padding:16px 0 0}.comparison{margin-top:var(--s-6);border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1)}.comparison summary{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:var(--t-14);font-weight:500}.comparison .table th:first-child{color:var(--fg-2);font-weight:450}.comparison .table td{color:var(--fg-3)}.comparison .table td .ok{color:var(--ok)}.comparison .table td .planned-cell{font-family:var(--font-mono);font-size:var(--t-10);color:var(--warn)}.passes-grid{grid-template-columns:repeat(3,1fr)}.pass-cell{display:flex;flex-direction:column;gap:10px;padding:22px}.pass-cell h3{font-size:var(--t-15)}.pass-price{display:flex;align-items:baseline;gap:8px;font-size:var(--t-24);font-weight:500;letter-spacing:-.03em}.pass-price s{font-size:var(--t-12);color:var(--fg-4);font-weight:400}.pass-cell p{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-4)}.pass-cell .text-btn{margin-top:auto;color:var(--accent)}@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.passes-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.passes-grid{grid-template-columns:1fr}}.summary-price{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1)}.summary-price strong{font-size:var(--t-32);font-weight:500;letter-spacing:-.03em;color:var(--fg)}.summary-price span{font-family:var(--font-mono);font-size:var(--t-11);color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.summary-price small{font-size:var(--t-12);color:var(--fg-4)}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-bar .search-field{flex:1;min-width:200px}.filter-bar select{width:auto;min-width:130px}.filter-bar.sticky{position:sticky;top:calc(var(--topbar) + 8px);z-index:5;padding:8px;margin:-8px;background:#09090bd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--r-2)}.stat-cells{grid-template-columns:repeat(4,1fr)}.stat-cell{height:100%}.stat-cell>a{display:flex;flex-direction:column;gap:10px;padding:18px 20px;height:100%;transition:background var(--dur-3)}.stat-cell>a:hover{background:var(--bg-1)}.stat-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-12);color:var(--fg-3)}.stat-cell strong{display:flex;align-items:baseline;gap:6px;font-size:var(--t-32);font-weight:500;letter-spacing:-.03em;line-height:1}.stat-cell strong small{font-size:var(--t-12);color:var(--fg-4);font-weight:400;letter-spacing:0}.stat-link{display:inline-flex;align-items:center;gap:5px;margin-top:auto;font-size:var(--t-12);color:var(--fg-3);transition:color var(--dur-2)}.stat-cell>a:hover .stat-link{color:var(--accent)}@media(max-width:960px){.stat-cells{grid-template-columns:1fr 1fr}}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}@media(max-width:1080px){.dash-grid{grid-template-columns:1fr}}.continue-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:var(--r-3);background:radial-gradient(80% 120% at 100% 0%,rgba(77,141,255,.14),transparent 60%),var(--bg-1);overflow:hidden}.continue-copy{display:flex;flex-direction:column;gap:8px}.continue-copy h2{font-size:var(--t-28)}.continue-meta{gap:10px;font-size:var(--t-12);color:var(--fg-3)}.continue-meta>span:first-child{display:inline-flex;align-items:center;gap:5px}.array-art{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg);min-width:260px}.array-cells{display:flex;gap:6px}.array-cells span{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:5px;border:1px solid var(--line-2);background:var(--bg-2);font-family:var(--font-mono);font-size:var(--t-14);color:var(--fg-2)}.array-cells span small{position:absolute;bottom:-16px;font-size:var(--t-10);color:var(--fg-4)}.array-cells span.hit{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 16px var(--accent-glow);transform:translateY(-3px)}.array-art>.mono{margin-top:10px}@media(max-width:720px){.continue-card{grid-template-columns:1fr}.array-art{min-width:0}}.tasks{display:flex;flex-direction:column}.task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0;padding-bottom:0}.task-row:first-child{padding-top:0}.plan-summary{font-size:var(--t-13);color:var(--fg-3)}.plan-summary strong{color:var(--fg);font-weight:500}.path-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;padding:16px}.path-book .course-book{width:76px}.path-copy h3{font-size:var(--t-15)}.streak{display:flex;align-items:center;gap:12px;margin-bottom:16px}.streak strong{font-size:var(--t-40);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--accent)}.streak>span{font-size:var(--t-13);color:var(--fg-2);line-height:1.35}.heatmap-wrap{overflow-x:auto;padding-bottom:4px}.heat-legend{display:flex;align-items:center;gap:3px;margin-top:10px;font-size:var(--t-10);color:var(--fg-4)}.heat-legend span{margin:0 3px}.heat-legend i{width:10px;height:10px;border-radius:2px;background:#ffffff0f}.heat-legend i[data-l="1"]{background:#4d8dff47}.heat-legend i[data-l="2"]{background:#4d8dff80}.heat-legend i[data-l="3"]{background:#4d8dffbf}.heat-legend i[data-l="4"]{background:var(--accent)}.thought{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px dashed var(--line-2);border-radius:var(--r-2)}.thought h3{font-size:var(--t-16)}.featured-banner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 150px;gap:24px;align-items:center;padding:26px 28px;border:1px solid var(--line);border-radius:var(--r-3);background:radial-gradient(60% 100% at 0% 0%,rgba(77,141,255,.14),transparent 60%),var(--bg-1);overflow:hidden}.featured-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.featured-copy h2{font-size:var(--t-28)}.featured-stats{grid-template-columns:1fr}.featured-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--bg-1)}.featured-stats strong{font-size:var(--t-20);font-weight:500;letter-spacing:-.02em}.featured-stats>div>span{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-11);color:var(--fg-3)}.featured-book .course-book{width:130px}@media(max-width:960px){.featured-banner{grid-template-columns:1fr}.featured-book{display:none}}.course-cells{grid-template-columns:repeat(3,1fr)}.course-cell{display:flex;flex-direction:column;height:100%}.course-cover{position:relative;padding:22px 22px 10px;border-bottom:1px solid var(--line);background:var(--bg-1)}.course-cover .tag{position:absolute;top:12px;right:12px}.course-cover .discipline-art{margin:0;max-height:110px}.course-cover.cover-1{background:radial-gradient(70% 90% at 50% 100%,rgba(77,141,255,.12),transparent 70%),var(--bg-1)}.course-cell-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}.course-cell-body h2{font-size:var(--t-16)}@media(max-width:960px){.course-cells{grid-template-columns:1fr 1fr}}@media(max-width:600px){.course-cells{grid-template-columns:1fr}}.course-hero{grid-template-columns:minmax(0,1fr) 260px}.course-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:30px 32px}.course-facts{display:flex;gap:32px}.course-facts>div{display:flex;flex-direction:column}.course-facts strong{font-size:var(--t-28);font-weight:500;letter-spacing:-.03em;line-height:1}.course-facts span{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-4);text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.course-hero-book{display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(60% 80% at 50% 50%,rgba(77,141,255,.14),transparent 70%),var(--bg-1)}.course-hero-book .course-book{width:160px}.course-grid-2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:900px){.course-hero{grid-template-columns:1fr}.course-hero-book{display:none}.course-grid-2{grid-template-columns:1fr}}.timeline{display:flex;flex-direction:column;margin-top:12px;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.timeline li{border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:0}.timeline button{display:grid;grid-template-columns:32px 1fr auto 20px;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;transition:background var(--dur-2)}.timeline button:hover{background:var(--bg-hover)}.tl-num{color:var(--fg-4);font-size:var(--t-11)}.timeline li.open .tl-num{color:var(--accent)}.tl-title{font-size:var(--t-14);font-weight:500}.tl-meta{font-size:var(--t-11);color:var(--fg-4)}.tl-chev{color:var(--fg-4);transition:transform var(--dur-3) var(--ease)}.timeline li.open .tl-chev{transform:rotate(90deg);color:var(--accent)}.tl-body{overflow:hidden}.tl-body p,.tl-body a{margin:0 16px 0 60px}.tl-body p{margin-bottom:8px}.tl-body a{display:inline-flex;margin-bottom:16px}.problem-table td,.problem-table th{padding:10px 12px}.problem-table .col-check{width:40px;padding-right:0}.problem-table .col-num{width:36px;color:var(--fg-4);font-size:var(--t-11)}.problem-table .col-title{display:flex;flex-direction:column;gap:2px}.problem-table .col-title a,.problem-table .col-title button{font-size:var(--t-14);font-weight:500;color:var(--fg);text-align:left;transition:color var(--dur-2)}.problem-table .col-title a:hover,.problem-table .col-title button:hover{color:var(--accent)}.problem-table .col-title small{font-size:var(--t-11);color:var(--fg-4)}.problem-table .col-diff{width:80px}.problem-table .col-act{width:40px;padding-inline:4px}.problem-row.done .col-title a,.problem-row.done .col-title button{color:var(--fg-3)}.check-box{position:relative;display:inline-flex;width:18px;height:18px;cursor:pointer}.check-box input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.check-ui{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1px solid var(--line-3);background:var(--bg-2);color:transparent;transition:background var(--dur-2),border-color var(--dur-2),color var(--dur-2),transform var(--dur-2)}.check-box:hover .check-ui{border-color:var(--fg-3)}.check-box input:checked+.check-ui{background:var(--accent);border-color:var(--accent);color:#fff}.check-box input:focus-visible+.check-ui{outline:2px solid var(--accent);outline-offset:2px}.check-box input:active+.check-ui{transform:scale(.9)}.sheet-stats{grid-template-columns:1.6fr repeat(4,1fr)}.sheet-progress{display:flex;align-items:center;gap:16px;padding:18px 20px}.sheet-progress h2{font-size:var(--t-24);margin-top:4px}.sheet-stat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px}.sheet-stat strong{font-size:var(--t-24);font-weight:500;letter-spacing:-.03em;line-height:1}@media(max-width:960px){.sheet-stats{grid-template-columns:1fr 1fr}.sheet-progress{grid-column:1 / -1}}.sheet-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}.outline{position:sticky;top:calc(var(--topbar) + 20px);display:flex;flex-direction:column;gap:2px}.outline-link{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--r-2);font-size:var(--t-13);color:var(--fg-2);transition:background var(--dur-2)}.outline-link:hover{background:var(--bg-hover)}.outline-link .mono:first-child{color:var(--fg-4);font-size:var(--t-11)}.outline-link small{margin-left:auto;color:var(--fg-4)}.outline-tip{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:14px;border:1px dashed var(--line-2);border-radius:var(--r-2)}.outline-tip svg{color:var(--accent)}.outline-tip strong{font-size:var(--t-13);font-weight:500}@media(max-width:860px){.sheet-layout{grid-template-columns:1fr}.outline{position:static}}.topic-group{border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1);overflow:hidden}.topic-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:var(--t-14);border-bottom:1px solid transparent;transition:background var(--dur-2)}.topic-group summary:hover{background:var(--bg-hover)}.topic-group[open] summary{border-bottom-color:var(--line)}.sum-chev{color:var(--fg-4);transition:transform var(--dur-3) var(--ease)}.topic-group[open] .sum-chev{transform:rotate(90deg)}.practice-stats{grid-template-columns:repeat(4,1fr)}.practice-stats>div{display:flex;flex-direction:column;gap:8px;padding:16px 20px;align-items:flex-start}.practice-stats strong{font-size:var(--t-24);font-weight:500;letter-spacing:-.03em;line-height:1}@media(max-width:720px){.practice-stats{grid-template-columns:1fr 1fr}}.question-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.question-row:last-child{border-bottom:0}.question-row>div{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.question-row h3{font-size:var(--t-14)}.question-row h3 a:hover{color:var(--accent)}.question-row .col-num{color:var(--fg-4);font-size:var(--t-11)}.reveal-answer summary{display:inline-flex;cursor:pointer}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.lesson-text{font-size:var(--t-15);line-height:1.65;color:var(--fg-2);max-width:60ch}.chapters{display:flex;flex-direction:column;gap:2px}.chapter{display:grid;grid-template-columns:24px 1fr auto 14px;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--r-2);font-size:var(--t-13);color:var(--fg-3);text-align:left;transition:background var(--dur-2),color var(--dur-2)}.chapter:hover{background:var(--bg-hover);color:var(--fg)}.chapter.active{background:var(--accent-soft);color:var(--fg);box-shadow:inset 2px 0 0 var(--accent)}.chapter .mono:first-child{color:var(--fg-4);font-size:var(--t-11)}.chapter.active .mono:first-child{color:var(--accent)}.chapter small{color:var(--fg-4)}.chapter svg{color:var(--accent)}@media(max-width:900px){.lesson-layout{grid-template-columns:1fr}}.ws-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.split-control{display:inline-flex;align-items:center;gap:8px}.ws-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.problem-ws{display:grid;gap:16px;align-items:start}.reading-pane{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1);overflow:hidden}.reading-tabs{padding:0 16px;border-bottom:1px solid var(--line)}.reading-tabs .tabs.underline{border-bottom:0}.statement{display:flex;flex-direction:column;gap:14px;padding:22px 22px 26px;font-size:var(--t-14);line-height:1.6;color:var(--fg-2)}.statement h2{font-size:var(--t-20);color:var(--fg)}.statement h3{font-size:var(--t-15);color:var(--fg);margin-top:6px}.statement code{font-size:.9em;padding:1px 5px;border-radius:4px;background:#ffffff0f;color:var(--fg)}.callout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-2);border:1px solid var(--accent-line);background:var(--accent-soft)}.callout svg{flex:none;color:var(--accent);margin-top:2px}.callout strong{display:block;font-size:var(--t-13);font-weight:500;color:var(--fg);margin-bottom:4px}.callout p{font-size:var(--t-13);color:var(--fg-2)}.example{display:flex;flex-direction:column;gap:8px}.complexity{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.complexity>div{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);font-size:var(--t-12);color:var(--fg-3)}.complexity strong{margin-left:auto;font-size:var(--t-14);color:var(--fg)}.mobile-ws-tabs,.mobile-output{display:none}@media(max-width:900px){.problem-ws{grid-template-columns:1fr!important}.mobile-ws-tabs{display:block}.mobile-hide{display:none!important}.mobile-show{display:block!important}.split-control{display:none}}.editor{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1);overflow:hidden}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:42px;padding:0 10px 0 14px;border-bottom:1px solid var(--line);background:#ffffff05}.editor-file{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--t-12);color:var(--fg-2)}.editor-lang{min-height:28px;padding:3px 26px 3px 9px;font-size:var(--t-12);width:auto}.code-field{display:grid;grid-template-columns:44px minmax(0,1fr);background:var(--bg)}.line-numbers{display:flex;flex-direction:column;padding:14px 0;border-right:1px solid var(--line);font-family:var(--font-mono);font-size:var(--t-12);line-height:1.7;color:var(--fg-4);text-align:right;-webkit-user-select:none;user-select:none}.line-numbers span{padding-right:12px}.code-field textarea{border:0;border-radius:0;background:transparent;padding:14px 16px;font-family:var(--font-mono);font-size:var(--t-12);line-height:1.7;color:var(--fg);resize:vertical;min-height:260px;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:2}.code-field textarea:focus-visible{box-shadow:none;background:transparent;outline:none}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-top:1px solid var(--line);font-size:var(--t-11);color:var(--fg-4)}.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:#ffffff05}.editor-actions .fine{display:inline-flex;align-items:center;gap:8px}.spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.output{display:flex;flex-direction:column;gap:12px;padding:14px;border-top:1px solid var(--line);background:var(--bg)}.mobile-output .output{border:1px solid var(--line);border-radius:var(--r-3)}.output-rows{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.output-row{display:grid;grid-template-columns:84px 1fr auto auto 16px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:var(--t-12)}.output-row:last-child{border-bottom:0}.output-row code{color:var(--fg-2)}.output-arrow{color:var(--fg-4)}.output-row strong,.ok-icon{color:var(--ok)}.standalone-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}.ide-result{display:block;font-size:var(--t-40);font-weight:500;letter-spacing:-.04em;color:var(--ok);margin-bottom:6px}@media(max-width:900px){.standalone-grid{grid-template-columns:1fr}}.planner-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}.planner-panel{overflow:hidden}.steps{display:flex;padding:14px 18px;border-bottom:1px solid var(--line);gap:8px}.step{display:flex;align-items:center;gap:8px;flex:1;font-size:var(--t-12);color:var(--fg-4)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);font-family:var(--font-mono);font-size:var(--t-10);flex:none;transition:background var(--dur-3),color var(--dur-3),border-color var(--dur-3)}.step.active{color:var(--fg)}.step.active .step-num{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.step.done{color:var(--fg-3)}.step.done .step-num{background:var(--ok-soft);border-color:#5ed39b66;color:var(--ok)}.step-line{flex:1;height:1px;background:var(--line);margin-left:4px}.step.done .step-line{background:#5ed39b66}.planner-form{display:flex;flex-direction:column;gap:16px;padding:22px}.choice-stack{display:flex;flex-direction:column;gap:8px}.choice{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-2);cursor:pointer;transition:border-color var(--dur-2),background var(--dur-2)}.choice:hover{border-color:var(--line-2);background:var(--bg-hover)}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-2);border:1px solid var(--line-2);color:var(--fg-3);flex:none}.choice.on .choice-icon{color:var(--accent);border-color:var(--accent-line)}.choice-text{display:flex;flex-direction:column;gap:2px;flex:1}.choice-text strong{font-size:var(--t-14);font-weight:500}.choice-text small{font-size:var(--t-12);color:var(--fg-3)}.choice-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-2);color:transparent;transition:all var(--dur-2)}.choice.on .choice-check{background:var(--accent);border-color:var(--accent);color:#fff}.minutes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.minute-opt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-2);color:var(--fg-3);transition:all var(--dur-2)}.minute-opt:hover{border-color:var(--line-2)}.minute-opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.minute-opt strong{font-size:var(--t-28);font-weight:500;letter-spacing:-.03em;line-height:1}.minute-opt span{font-size:var(--t-11)}.error{font-size:var(--t-13);color:var(--bad)}.success{display:inline-flex;align-items:center;gap:6px;color:var(--ok)}.planner-aside{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:8px}.planner-aside h2{font-size:clamp(26px,3vw,34px)}.method-list{display:flex;flex-direction:column;gap:0;width:100%;border-top:1px solid var(--line);margin-top:8px}.method-list li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.method-list li .mono{color:var(--accent);font-size:var(--t-11);padding-top:3px}.method-list strong{font-size:var(--t-14);font-weight:500}@media(max-width:900px){.planner-layout{grid-template-columns:1fr}}.lib-links{grid-template-columns:repeat(3,1fr)}.lib-link a{display:flex;align-items:center;gap:12px;padding:14px 16px;transition:background var(--dur-2)}.lib-link a:hover{background:var(--bg-1)}.lib-link-text{display:flex;flex-direction:column;flex:1}.lib-link-text strong{font-size:var(--t-14);font-weight:500}.lib-link-text small{font-size:var(--t-12);color:var(--fg-3)}.lib-link a>svg:last-child{color:var(--fg-4)}@media(max-width:800px){.lib-links{grid-template-columns:1fr}}.note-title{font-size:var(--t-16);font-weight:500;letter-spacing:-.015em}.note-card .panel-body,.journal-card .panel-body{display:flex;flex-direction:column;gap:6px}.inline-form{display:flex;align-items:flex-end;gap:10px;max-width:520px}.inline-form .field{flex:1}.codespace{display:grid;grid-template-columns:220px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;background:var(--bg-1)}.cs-files{display:flex;flex-direction:column;gap:2px;padding:10px;border-right:1px solid var(--line)}.cs-file{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--r-2);font-family:var(--font-mono);font-size:var(--t-12);color:var(--fg-3);text-align:left;transition:all var(--dur-2)}.cs-file:hover{background:var(--bg-hover);color:var(--fg)}.cs-file.active{background:var(--accent-soft);color:var(--fg);box-shadow:inset 2px 0 0 var(--accent)}.cs-editor{border:0;border-radius:0}@media(max-width:800px){.codespace{grid-template-columns:1fr}.cs-files{border-right:0;border-bottom:1px solid var(--line)}}.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.feed-list{display:flex;flex-direction:column;gap:10px}.discussion-inner{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1);transition:border-color var(--dur-2)}.discussion-inner:hover{border-color:var(--line-2)}.discussion-meta{display:flex;align-items:center;gap:10px}.discussion-author{display:flex;flex-direction:column;line-height:1.2;flex:1}.discussion-author strong{font-size:var(--t-13);font-weight:500}.discussion-author small{font-size:var(--t-11);color:var(--fg-4)}.article-title{font-size:var(--t-16);font-weight:500;letter-spacing:-.015em;text-align:left;color:var(--fg);transition:color var(--dur-2)}.article-title:hover{color:var(--accent)}.contrib-list{display:flex;flex-direction:column;gap:10px}.contrib-list li{display:flex;align-items:center;gap:10px;font-size:var(--t-13)}.contrib-list small{margin-left:auto;color:var(--fg-4);font-size:var(--t-11)}@media(max-width:900px){.community-layout{grid-template-columns:1fr}}.article-cells{grid-template-columns:repeat(3,1fr)}.article-card{display:flex;flex-direction:column;height:100%}.article-cover{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:16 / 9;padding:18px;border-bottom:1px solid var(--line);background:var(--bg-1);transition:background var(--dur-3)}.article-cover.cover-0{background:radial-gradient(80% 100% at 0% 100%,rgba(77,141,255,.22),transparent 60%),var(--bg-1)}.article-cover.cover-1{background:radial-gradient(80% 100% at 100% 0%,rgba(77,141,255,.18),transparent 60%),var(--bg-1)}.article-cover.cover-2{background:radial-gradient(80% 100% at 50% 100%,rgba(94,211,155,.14),transparent 60%),var(--bg-1)}.cover-glyph{font-family:var(--font-mono);font-size:40px;color:var(--fg-2)}.article-cover small{font-size:var(--t-10);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-4)}.article-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}.article-body h2{font-size:var(--t-18)}.article-body h2 a:hover{color:var(--accent)}.article-body .link{margin-top:auto;padding-top:8px}@media(max-width:960px){.article-cells{grid-template-columns:1fr}}.article-reading{max-width:720px;margin-inline:auto;display:flex;flex-direction:column;gap:24px}.reading-progress{position:fixed;top:var(--topbar);left:0;right:0;height:2px;z-index:50;border-radius:0}.article-head{display:flex;flex-direction:column;gap:14px}.article-head h1{font-size:clamp(32px,4.5vw,52px)}.article-meta{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-prose{display:flex;flex-direction:column;gap:18px;font-size:var(--t-16);line-height:1.7;color:var(--fg-2)}.article-prose h2{font-size:var(--t-24);color:var(--fg);margin-top:12px}.article-lead{font-family:var(--font-serif);font-style:italic;font-size:var(--t-24);line-height:1.4;color:var(--fg)}.article-prose blockquote{margin:0;padding:4px 0 4px 20px;border-left:2px solid var(--accent);font-family:var(--font-serif);font-style:italic;font-size:var(--t-20);color:var(--fg)}.profile-hero{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--r-3);background:radial-gradient(60% 100% at 0% 0%,rgba(77,141,255,.12),transparent 60%),var(--bg-1)}.profile-copy{display:flex;flex-direction:column;gap:6px;flex:1}.profile-cells{grid-template-columns:repeat(3,1fr)}.profile-cell{display:flex;flex-direction:column;align-items:flex-start;padding:20px 22px}.quick-links{display:flex;flex-direction:column;gap:2px;margin-top:10px;width:100%}.quick-links a{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;margin:0 -8px;border-radius:var(--r-2);font-size:var(--t-13);color:var(--fg-2)}.quick-links a svg:last-child{margin-left:auto;color:var(--fg-4)}.quick-links a:hover{background:var(--bg-hover);color:var(--fg)}@media(max-width:900px){.profile-cells{grid-template-columns:1fr}.profile-hero{flex-wrap:wrap}}.certificate{padding:24px;border:1px solid var(--line);background:var(--bg-1)}.cert-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:48px 24px;border:1px solid var(--line-2);outline:1px solid var(--line);outline-offset:6px;background:radial-gradient(60% 60% at 50% 0%,rgba(77,141,255,.12),transparent 70%)}.cert-inner h2{font-size:var(--t-28)}.cert-foot{display:flex;gap:40px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:var(--t-11);color:var(--fg-4)}.achievement-cells{grid-template-columns:repeat(4,1fr)}.ach-cell{display:flex;flex-direction:column;gap:8px;padding:20px;height:100%}.ach-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-2);border:1px solid var(--line-2);color:var(--fg-4);background:var(--bg-2)}.ach-cell.earned .ach-icon{color:var(--warn);border-color:#f2c35a59;background:var(--warn-soft)}.ach-cell .text-btn{margin-top:8px}@media(max-width:960px){.achievement-cells{grid-template-columns:1fr 1fr}}@media(max-width:560px){.achievement-cells{grid-template-columns:1fr}}.podium{grid-template-columns:repeat(3,1fr)}.podium-cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px;text-align:center}.podium-cell.you{background:var(--bg-1);box-shadow:inset 0 1px 0 var(--accent)}.podium-rank{font-size:var(--t-11);color:var(--fg-4)}.podium-rank.r1{color:var(--warn)}.podium-cell strong{font-size:var(--t-14);font-weight:500}.highlight-row{background:var(--accent-soft)}@media(max-width:640px){.podium{grid-template-columns:1fr}}.store-cells{grid-template-columns:repeat(3,1fr)}.store-cell{display:flex;flex-direction:column;height:100%}.store-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.store-art{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;border-bottom:1px solid var(--line);background:var(--bg-1);overflow:hidden}.store-art>div{transition:transform var(--dur-4) var(--ease)}.store-cell:hover .store-art>div{transform:translateY(-4px) rotate(-1deg)}.notebook{width:130px;aspect-ratio:3 / 4;padding:18px 14px;border-radius:3px 8px 8px 3px;background:linear-gradient(160deg,#1d1f27,#0f1015);box-shadow:inset 6px 0 #ffffff0f,0 14px 30px -12px #000c;font-size:var(--t-12);font-weight:500;line-height:1.4}.notebook span{color:var(--accent)}.notebook small{display:block;margin-top:40px;font-family:var(--font-mono);font-size:7px;letter-spacing:.14em;color:var(--fg-4)}.mug{width:100px;height:84px;border-radius:6px 6px 14px 14px;background:linear-gradient(180deg,#f2f2f4,#cfd0d6);color:#09090b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--t-20);letter-spacing:-.03em;position:relative;box-shadow:0 14px 30px -12px #000c}.mug:after{content:"";position:absolute;right:-22px;top:16px;width:26px;height:40px;border:8px solid #d9dadf;border-left:0;border-radius:0 16px 16px 0}.mug span{color:var(--accent-3)}.tote{width:120px;height:110px;padding:22px 14px;background:linear-gradient(180deg,#e9e6dc,#d6d2c4);color:#1a1a1f;font-size:var(--t-14);font-weight:500;line-height:1.25;position:relative;box-shadow:0 14px 30px -12px #000c}.tote:before{content:"";position:absolute;top:-22px;left:28px;right:28px;height:30px;border:5px solid #d6d2c4;border-bottom:0;border-radius:20px 20px 0 0}.tote span{color:var(--accent-3)}@media(max-width:900px){.store-cells{grid-template-columns:1fr}}.support-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.search-field.big input{min-height:44px;padding-left:38px;font-size:var(--t-14)}.search-field.big svg{left:13px}.faq-list{border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:0}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:var(--t-14);font-weight:500;transition:background var(--dur-2)}.faq-item summary:hover{background:var(--bg-hover)}.faq-item summary svg{color:var(--fg-4);transition:transform var(--dur-3) var(--ease)}.faq-item[open] summary svg{transform:rotate(45deg);color:var(--accent)}.faq-item p{padding:0 16px 16px;max-width:64ch}.contact-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--t-13);color:var(--fg-2);transition:color var(--dur-2)}.contact-row:hover{color:var(--fg)}.contact-row svg{color:var(--accent)}@media(max-width:900px){.support-layout{grid-template-columns:1fr}}.pref-cells{grid-template-columns:repeat(3,1fr)}.pref-cell{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px}.pref-cell .field{width:100%}@media(max-width:900px){.pref-cells{grid-template-columns:1fr}}.not-found{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:560px;margin:60px auto;padding:40px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1);position:relative;overflow:hidden}.nf-code{position:absolute;right:-10px;top:-30px;font-size:180px;font-weight:500;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none}.not-found h1{font-size:clamp(30px,4vw,44px)}.report-summary{grid-template-columns:repeat(3,1fr)}.report-summary>div{display:flex;flex-direction:column;gap:8px;padding:16px 20px}.report-summary strong{font-size:var(--t-28);font-weight:500;letter-spacing:-.03em;line-height:1}.report-list{display:flex;flex-direction:column}.report-row{display:grid;grid-template-columns:auto 1fr 16px;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;transition:background var(--dur-2)}.report-row:last-child{border-bottom:0}.report-row:hover{background:var(--bg-hover)}.report-text{display:flex;flex-direction:column;gap:2px}.report-text strong{font-size:var(--t-14);font-weight:500}.report-text small{font-size:var(--t-11);color:var(--fg-4)}.report-row>svg{color:var(--fg-4)}@media(max-width:720px){.report-summary{grid-template-columns:1fr}}.path-book .course-book .book-top,.path-book .course-book .book-bottom,.path-book .course-book small,.path-book .course-book .book-rule{display:none}.path-book .course-book .book-face{padding:8px;justify-content:space-between}.path-book .course-book .book-art span{width:7px;height:9px}.path-book .course-book strong{font-size:18px}.question-row>div{align-items:flex-start}.page-inner>.tabs,.page-inner>.route-tabs{align-self:flex-start}.page-inner>.route-tabs{align-self:stretch}.reading-progress{position:sticky;top:var(--topbar);left:auto;right:auto;margin:-24px 0 0}.article-prose>.btn{align-self:flex-start;margin-top:8px}.section-title+.panel,.section-title+.grid{margin-top:12px}
