@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/bricolage-grotesque.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono.woff2) format("woff2")}:root{--bg: #f6f3ee;--surface: #ffffff;--surface-2: #f1ede6;--ink: #17181a;--muted: #5e5a54;--accent: #f26a36;--accent-strong: #e2592a;--accent-ink: #17181a;--accent-text: #c2410c;--line: #e2dcd2;--line-strong: #cfc7ba;--field: #17181a;--field-ink: #f6f3ee;--field-muted: #cfcac2;--field-surface: #222326;--band: #17181a;--band-grid: #222326;--band-ink: #f6f3ee;--band-muted: #cfcac2;--band-faint: #a8a39b;--band-line: #45474c;--grid-line: #e9e3d9;--easy: #1e6b45;--medium: #8a5300;--hard: #a3330f;--ok: #1e6b45;--ok-fill: #3e9a6a;--ok-soft: #e3f2e9;--bad: #a3330f;--bad-fill: #e05a2b;--bad-soft: #fce6dc;--warn: #8a5300;--code-bg: #17181a;--code-ink: #e4e0d9;--heat-0: #ece7df;--heat-1: #fcd9c8;--heat-2: #f7a880;--heat-3: #f26a36;--heat-4: #c2410c;--shadow-lift: 0 20px 50px rgba(23, 24, 26, .08);--font: "Geist", ui-sans-serif, system-ui, sans-serif;--display: "Bricolage Grotesque", "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--radius: 10px;--radius-lg: 18px;--margin: clamp(16px, 2.6vw, 40px);--max: 1440px;--max-landing: 1200px;--step-small: .875rem;--step-body: 1rem;--step-lead: clamp(1.125rem, 1rem + .4vw, 1.25rem);--step-statement: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);--step-section: clamp(2.25rem, 1rem + 3.4vw, 3.75rem);--step-head: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);--step-display: clamp(2.75rem, 1.2rem + 5.2vw, 4.5rem);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-soft: cubic-bezier(.25, .1, .25, 1);--fg: var(--ink);--panel: var(--surface);--panel-2: var(--surface-2);--brand: var(--accent);--brand-fg: var(--accent-ink);--faint: var(--muted);color-scheme:light}:root[data-theme=dark]{--bg: #17181a;--surface: #1f2023;--surface-2: #2a2b2e;--ink: #f6f3ee;--muted: #a8a39b;--accent: #f26a36;--accent-strong: #f4825a;--accent-ink: #17181a;--accent-text: #f28b6b;--line: #34363a;--line-strong: #45474c;--field: #f6f3ee;--field-ink: #17181a;--field-muted: #5e5a54;--field-surface: #ffffff;--band: #101113;--band-grid: #1c1d20;--grid-line: #1f2023;--easy: #6bcb92;--medium: #e8b04b;--hard: #f28b6b;--ok: #6bcb92;--ok-fill: #3e9a6a;--ok-soft: #1d3326;--bad: #f28b6b;--bad-fill: #e05a2b;--bad-soft: #3a2119;--warn: #e8b04b;--code-bg: #0f1012;--heat-0: #2a2b2e;--heat-1: #5a2a1d;--heat-2: #9a3a1e;--heat-3: #d9531f;--heat-4: #f26a36;--shadow-lift: 0 20px 50px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 var(--step-body)/1.5 var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:.07em;transition:text-decoration-color .16s ease,color .16s ease}@media (hover: hover) and (pointer: fine){a:hover{text-decoration-color:currentColor}}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-.025em;margin:0 0 12px;text-wrap:balance}h1{font-size:var(--step-head)}h2{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem)}h3{font-size:var(--step-lead)}p{margin:0 0 12px}code,pre,kbd{font-family:var(--mono);font-size:.875em;letter-spacing:0}pre{background:var(--code-bg);color:var(--code-ink);color-scheme:dark;border-radius:var(--radius);padding:14px 16px;overflow-x:auto;margin:0 0 12px;line-height:1.6;-moz-tab-size:4;tab-size:4}pre code{background:transparent;color:inherit;padding:0}:not(pre)>code{background:var(--surface-2);padding:1px 6px;border-radius:var(--radius)}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topnav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:40px;height:68px;padding:0 var(--margin);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.topnav .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.topnav .brand img{width:30px;height:30px;flex:none}.topnav.on-band{background-color:var(--band);border-bottom-color:transparent;background-image:linear-gradient(var(--band-grid) 1px,transparent 1px),linear-gradient(90deg,var(--band-grid) 1px,transparent 1px);background-size:32px 32px;backdrop-filter:none;-webkit-backdrop-filter:none;--ink: var(--band-ink);--muted: var(--band-muted);--surface-2: #2a2b2e;--line: var(--band-line);color-scheme:dark}.topnav .links{display:flex;gap:28px;height:100%}.topnav .links a{display:flex;align-items:center;position:relative;color:var(--muted);font-size:15px;font-weight:500;text-decoration:none}.topnav .links a:hover,.topnav .links a.active{color:var(--ink)}.topnav .links a.active:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;border-radius:2px;background:var(--accent)}.topnav .right{margin-left:auto;display:flex;align-items:center;gap:14px}.topnav .right>a:not(.button){color:var(--muted);font-size:15px;font-weight:500}.topnav .right>a:not(.button):hover{color:var(--ink)}.streak{color:var(--ink);font-size:14px;font-weight:500;white-space:nowrap}.streak b{font-weight:600}.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-2);object-fit:cover}.avatar.lg{width:88px;height:88px;border-radius:var(--radius-lg)}.profile-link{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;color:var(--ink);font-weight:500;text-decoration:none}.skip-link{position:fixed;top:-80px;left:16px;z-index:20;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:var(--radius)}.skip-link:focus{top:12px}main.page{max-width:var(--max);margin:0 auto;padding:32px var(--margin) 80px}main.page.wide{max-width:1520px}main.page.landing{padding:0;max-width:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}.card.brief{background:var(--surface);box-shadow:inset 4px 0 0 var(--accent)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:300px 1fr}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:0}.muted,.faint{color:var(--muted)}.small{font-size:var(--step-small)}.center{text-align:center}.stack>*+*{margin-top:12px}button,.button{font:inherit;font-size:15px;font-weight:500;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 18px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform .15s var(--ease-out),background-color .16s ease,color .16s ease,border-color .16s ease}button:active:not(:disabled),.button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}@media (hover: hover) and (pointer: fine){button:hover:not(:disabled),.button:hover{background:var(--surface-2);text-decoration:none;transform:translateY(-1px)}.primary:hover:not(:disabled),.button.primary:hover{background:var(--accent-strong);color:var(--accent-ink)}.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink);transform:none}}.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.success{background:var(--ok-fill);border-color:var(--ok-fill);color:#fff}.ghost{background:transparent;border-color:transparent;color:var(--muted)}input,select,textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;min-height:44px;transition:border-color .16s ease,background-color .16s ease}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent)}textarea{width:100%;min-height:96px;resize:vertical}label{display:block;font-weight:500;margin-bottom:6px}.diff-Easy{color:var(--easy)}.diff-Medium{color:var(--medium)}.diff-Hard{color:var(--hard)}.tag{display:inline-block;font-size:13px;line-height:1.5;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);text-decoration:none}a.tag:hover{color:var(--ink)}.tag.brand,.tag.contest-running{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--ink)}.tag.good-first{background:color-mix(in srgb,var(--ok) 16%,var(--surface));color:var(--ink)}.tag.contest-upcoming{background:var(--surface-2);color:var(--ink)}.tag.ok-tag{background:var(--ok-soft);color:var(--ok)}.verdict-accepted{color:var(--ok)}.verdict-wrong_answer,.verdict-time_limit,.verdict-collection_error{color:var(--bad)}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:500;font-size:13px}tbody tr{transition:background-color .12s ease}@media (hover: hover){tbody tr:hover{background:var(--surface-2)}}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.status-icon{width:20px;display:inline-block;text-align:center;font-weight:600}.status-solved{color:var(--ok)}.status-attempted{color:var(--warn)}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.split .side{position:sticky;top:88px}.split .side .primary{width:100%}.tabs{display:flex;gap:4px;margin:-24px -24px 24px;padding:8px 12px 0;background:var(--surface-2);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;border-bottom:1px solid var(--line)}.tabs button{background:none;border:0;border-radius:0;color:var(--muted);padding:14px 12px;min-height:0;box-shadow:inset 0 -3px 0 transparent}.tabs button:hover:not(:disabled){background:none;color:var(--ink);transform:none}.tabs button[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.tabs.inline{margin:0 0 12px;padding:4px 4px 0;border-radius:var(--radius) var(--radius) 0 0}.agent-tabs{flex-wrap:wrap}.agent-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.agent-list li{padding:12px 0;border-top:1px solid var(--line)}.agent-list li:first-child{border-top:0;padding-top:0}.connect{max-width:560px;margin:0 auto}details.fallback{padding:0}details.fallback>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-radius:var(--radius)}details.fallback>summary::-webkit-details-marker{display:none}details.fallback>summary>span{display:flex;flex-direction:column;gap:2px}details.fallback>summary:after{content:"";flex:none;width:9px;height:9px;margin-right:4px;border:solid var(--muted);border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s}details.fallback[open]>summary:after{transform:translateY(2px) rotate(-135deg)}details.fallback>summary:hover:after{border-color:var(--ink)}details.fallback[open]>summary{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}details.fallback>:not(summary){margin-left:28px;margin-right:28px}.fallback-note{margin:8px 0 0;padding:16px 0 20px;border-top:1px solid var(--line)}.substeps{list-style:none;counter-reset:sub;padding:0;margin:24px 0 8px;display:grid;gap:28px}.substeps>li{counter-increment:sub;position:relative;padding-left:40px;min-width:0}.substeps>li:before{content:counter(sub);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--ink)}.substeps h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;margin:2px 0 8px}.substeps .tabs.inline{margin-top:4px}@media (prefers-reduced-motion: reduce){details.fallback>summary:after{transition:none}}@media (max-width: 640px){details.fallback>summary{padding:16px 20px}details.fallback>:not(summary){margin-left:20px;margin-right:20px}.substeps>li{padding-left:0;padding-top:36px}.command pre{padding-right:16px;padding-top:44px}}.back-link{display:inline-block;color:var(--muted);margin-bottom:20px;font-size:15px}.markdown{font-size:var(--step-body);line-height:1.65;max-width:76ch}.markdown h1{font-size:26px}.markdown h2{font-size:21px;margin-top:32px}.markdown h3{font-size:18px;margin-top:24px}.markdown ul,.markdown ol{padding-left:22px;margin:0 0 14px}.markdown li+li{margin-top:4px}.markdown table{margin-bottom:14px}.markdown blockquote{margin:0 0 16px;padding:14px 18px;background:var(--surface-2);border-radius:var(--radius)}.markdown blockquote p:last-child{margin:0}.timer{font-size:40px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.timer-sm{font-variant-numeric:tabular-nums}.stat{display:flex;flex-direction:column}.stat .value{font-size:28px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat .label{color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.stats .stat{background:var(--surface-2);padding:14px 16px;border-radius:var(--radius)}.bar{height:8px;border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.banner{padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;background:var(--surface-2)}.banner.error{background:color-mix(in srgb,var(--bad) 16%,var(--surface));color:var(--ink);box-shadow:inset 4px 0 0 var(--bad)}.banner.ok{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ink);box-shadow:inset 4px 0 0 var(--ok)}.banner.warn{background:color-mix(in srgb,var(--warn) 14%,var(--surface));color:var(--ink);box-shadow:inset 4px 0 0 var(--warn);text-align:left}.banner.warn p{margin:0 0 8px}.banner.warn p:last-child{margin:0}.connect-site{font-family:var(--mono);font-size:1.15rem;font-weight:600;overflow-wrap:anywhere}.hero{padding:36px 32px}.hero h1{font-size:var(--step-head)}.hero p{font-size:var(--step-lead);color:var(--muted);max-width:640px}.skeleton{color:var(--muted);padding:24px 0}.token{white-space:pre-wrap;overflow-wrap:anywhere}.steps{list-style:none;padding:0;margin:0}.steps>li{position:relative;padding-left:64px}.steps>li:before{content:"";position:absolute;left:24px;top:30px;width:22px;height:22px;border-radius:50%;background:var(--surface-2)}.steps>li.done:before{content:"✓";display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--ok-fill);color:#fff}.command{position:relative;margin:0 0 12px;min-width:0}.command pre{margin:0;padding-right:88px}.command .copy{position:absolute;top:8px;right:8px;min-height:0;padding:6px 12px;font-size:13px;background:color-mix(in srgb,var(--code-ink) 12%,transparent);color:var(--code-ink)}.command .copy:hover:not(:disabled){background:color-mix(in srgb,var(--code-ink) 22%,transparent)}.contest-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8px;margin-bottom:16px}.contest-cards .card{margin-bottom:0}.contest-card.live{box-shadow:inset 0 4px 0 var(--accent)}.contest-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.workspace-heading h1{font-size:var(--step-display);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:14px}.workspace-heading p{margin:0;font-size:var(--step-lead);color:var(--muted)}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.practice-main{min-width:0}.intro-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--surface-2)}.intro-panel h2{font-size:var(--step-head)}.intro-panel p{color:var(--muted);font-size:var(--step-body);max-width:56ch;margin:0}.intro-panel>.row{flex-shrink:0;max-width:50%}.intro-panel form input{width:160px}.daily-panel{background:var(--surface);box-shadow:inset 4px 0 0 var(--accent);padding:22px 24px;gap:12px}.daily-panel a{color:var(--ink)}.daily-label{display:block;font-size:15px;font-weight:500;margin-bottom:6px}.daily-dot{display:none}.challenge-heading{display:flex;align-items:flex-start;gap:18px}.challenge-symbol{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--radius);background:var(--surface-2);color:var(--ink)}.daily-panel h2{font-size:var(--step-head);margin:0 0 10px}.daily-panel p{max-width:62ch;margin:0}.daily-panel .grow{flex-basis:100%}.challenge-footer{display:flex;flex-wrap:wrap;gap:18px;align-items:center;width:100%;padding-left:66px;margin-top:0;font-size:15px;font-weight:500}.challenge-meta{display:flex;gap:6px;align-items:center}.challenge-footer .primary{margin-left:auto}.problem-library{padding:22px 22px 12px}.library-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:14px}.library-heading h2{margin-bottom:4px}.library-heading p{margin:0}.topic-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.topic-filters button{min-height:34px;padding:6px 12px;font-size:14px;background:var(--surface-2);color:var(--muted);text-transform:capitalize}.topic-filters button.selected{background:var(--ink);border-color:var(--ink);color:var(--bg)}.problem-library .filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.search-field{display:flex;align-items:center;gap:8px;background:var(--surface-2);padding-left:12px;border-radius:var(--radius);color:var(--muted);flex:1;min-width:180px;border:1px solid transparent}.search-field:focus-within{border-color:var(--muted)}.search-field input{background:transparent;border:0;width:100%;min-width:0;padding-left:0}.problem-library select{max-width:170px}.problem-library .table-wrap{margin-top:12px}.problem-library td{padding-top:11px;padding-bottom:11px}.problem-cell{max-width:0;width:55%}.problem-line{display:flex;align-items:center;gap:8px;min-width:0}.problem-line .problem-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-sum{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-tags{white-space:nowrap}.problem-library .tag.more{color:var(--ink)}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 4px 6px;border-top:1px solid var(--line)}.pager-buttons{display:flex;align-items:center;gap:4px}.pager-buttons button{min-width:38px;min-height:38px;padding:0 10px;font-size:14px;font-variant-numeric:tabular-nums}.pager-buttons button.selected{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pager-gap{padding:0 4px;color:var(--muted)}.problem-library td:first-child,.problem-library th:first-child{padding-left:4px}.problem-title{font-size:16px;font-weight:500;color:var(--ink)}.problem-library .tag{background:transparent;padding:0;color:var(--muted)}.problem-library .tag+.tag:before{content:"·";margin:0 6px}.problem-library .tag.brand:before,.problem-library .tag.good-first:before{content:none}.problem-library .tag.brand,.problem-library .tag.good-first{padding:1px 7px}.problem-library .tag.good-first{background:color-mix(in srgb,var(--ok) 16%,var(--surface));color:var(--ink)}.problem-library .tag.brand{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--ink)}.practice-sidebar{display:grid;gap:12px}.practice-sidebar .card,.practice-sidebar .competition-note{padding:20px 22px}.practice-sidebar .card{margin:0}.progress-panel h2,.guide-panel h2,.competition-note h2{display:flex;align-items:center;gap:10px;font-size:19px}.progress-panel h2 .ui-icon,.competition-note h2 .ui-icon{color:var(--muted)}.progress-total{display:flex;align-items:baseline;gap:8px;margin:12px 0}.progress-total strong{font-family:var(--display);font-weight:700;font-size:48px;font-weight:500;letter-spacing:-.04em;line-height:1}.difficulty-progress{display:grid;gap:6px;margin-top:14px;font-size:15px}.difficulty-progress>div{display:flex;justify-content:space-between}.guide-panel{background:var(--surface)}.practice-steps{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}.practice-steps strong{display:block;font-size:15px;font-weight:500}.practice-steps span{display:block;font-size:14px;color:var(--muted);margin-top:2px}.guide-link{display:flex;justify-content:space-between;font-size:15px;font-weight:500}.competition-note{padding:24px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.competition-note p{color:var(--muted)}.competition-note a{color:var(--ink);font-weight:500;text-decoration-color:currentColor}.ui-icon{flex:none;vertical-align:middle}.landing section,.landing header{position:relative}.l-wrap{max-width:var(--max-landing);margin:0 auto}.landing h2{font-size:var(--step-section);line-height:1.02;letter-spacing:-.035em;margin:0}.l-eyebrow{font-size:14px;font-weight:600;color:var(--accent-text)}.l-center{display:flex;justify-content:center}.l-band{--ink: var(--band-ink);--muted: var(--band-muted);color-scheme:dark;color:var(--band-ink);background-color:var(--band);background-image:linear-gradient(var(--band-grid) 1px,transparent 1px),linear-gradient(90deg,var(--band-grid) 1px,transparent 1px);background-size:32px 32px}.l-grid-bg{background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px}.l-band a:not(.button){color:var(--band-ink);text-decoration-color:currentColor}.l-big{min-height:50px;padding:12px 22px;font-size:16px;border-radius:12px}.l-outline{background:transparent;color:var(--band-ink);border-color:var(--band-line)}@media (hover: hover) and (pointer: fine){.l-outline:hover{background:#ffffff0f}}.l-hero{padding:clamp(64px,10vh,96px) 24px 240px}.l-hero-text{max-width:1000px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}.l-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #34363a;border-radius:999px;padding:6px 14px 6px 8px;font-size:13px;color:var(--band-muted)!important;text-decoration:none;transition:border-color .16s ease}.l-pill:hover{border-color:var(--band-line)}.l-pill-tag{background:var(--accent);color:var(--accent-ink);font-weight:600;border-radius:999px;padding:2px 8px;font-size:12px}.l-hero h1{margin:0;font-weight:800;font-size:clamp(56px,10vw,136px);line-height:.95;letter-spacing:-.045em}.l-mark{position:relative;display:inline-block;color:var(--band);padding:0 .12em}.l-mark svg{position:absolute;left:-4%;top:6%;width:108%;height:96%;z-index:0;overflow:visible}.l-mark path{fill:var(--accent)}.l-mark .l-mark-line{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round}.l-mark>span{position:relative;z-index:1}.l-hero .lede{margin:0;max-width:640px;font-size:clamp(17px,1.2rem + .3vw,20px);line-height:1.55;color:var(--band-muted)}.l-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.l-works{margin:0;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;justify-content:center;font-size:13px;color:var(--band-faint)}.l-works code{background:none;padding:0;color:#e4e0d9;font-size:13px}.l-works .l-dot{margin-right:14px}.l-free{margin:-8px 0 0;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--band-muted)}.l-free .ui-icon{color:#6bcb92}.l-story{padding:0 24px;margin-top:-180px}.l-story-card{max-width:var(--max-landing);margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #17181a2e;overflow:hidden}.l-story-bar{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 40%,var(--surface));flex-wrap:wrap}.l-dots{display:flex;gap:6px}.l-dots span{width:11px;height:11px;border-radius:50%;background:var(--line)}.l-crumb{background:none!important;padding:0!important;font-size:13px;color:var(--muted)}.l-tabs{margin-left:auto;display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:10px}.l-tabs button{border:0;background:transparent;color:var(--muted);min-height:40px;padding:8px 14px;border-radius:8px;font-size:14px}.l-tabs button:hover:not(:disabled){background:transparent;color:var(--ink);transform:none}.l-tabs button[aria-selected=true],.l-tabs button[aria-selected=true]:hover:not(:disabled){background:var(--ink);color:var(--bg)}.l-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.l-col{padding:28px;display:flex;flex-direction:column;gap:16px;min-width:0}.l-col+.l-col{border-left:1px solid var(--line)}.l-step{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:-.01em}.l-step>span{width:26px;height:26px;flex:none;border-radius:50%;background:var(--bad-soft);color:var(--accent-text);font-size:13px;display:grid;place-items:center}.l-from{margin:0;font-size:14px;color:var(--muted)}.l-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.l-rules li{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 40%,var(--surface));font-size:15px;line-height:1.45}.l-chip{align-self:flex-start;font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px}.l-chip.ok{color:var(--ok);background:var(--ok-soft)}.l-chip.bad{color:var(--bad);background:var(--bad-soft)}.l-term{flex:1;min-height:280px;background:#17181a;color:#e4e0d9;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;font:13.5px/1.65 var(--mono);letter-spacing:0}.l-term code{display:block;background:none!important;padding:0!important;color:inherit;font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.l-term .l-term-top,.l-term .dim{color:#a8a39b}.l-term .acc{color:#f26a36}.l-term .ok{color:#6bcb92}.l-term .bad{color:#f28b6b}.l-score{display:flex;align-items:baseline;gap:10px;margin:0;color:var(--muted);font-size:15px}.l-score strong{font-family:var(--display);font-weight:700;font-size:72px;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.l-tests{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.l-tests span{height:28px;border-radius:6px;background:var(--ok-fill);transition:background-color .3s ease}.l-tests span.fail{background:var(--bad-fill)}.l-label{margin:0;font-weight:600;font-size:15px}.l-label.ok{color:var(--ok)}.l-label.bad{color:var(--bad)}.l-box{margin:0;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5}.l-box.ok{background:var(--ok-soft);color:var(--ink)}.l-box.bad{background:var(--bad-soft);color:var(--ink)}.l-box span{color:var(--muted)}.l-hint{margin:0;font-size:14px;color:var(--muted)}.l-caption{max-width:var(--max-landing);margin:14px auto 0;font-size:13px;color:var(--muted)}.l-habits{padding:96px 24px;margin-top:88px}.l-habits .l-wrap{display:flex;flex-direction:column;gap:48px}.l-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.l-head h2{max-width:760px}.l-head p{margin:0;max-width:560px;font-size:18px;line-height:1.55;color:var(--muted)}.l-habit-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.l-habit-grid li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px}.l-num{font-family:var(--mono);font-size:13px;color:var(--accent-text)}.l-habit-grid h3{margin:0;font-size:24px;letter-spacing:-.02em}.l-habit-grid p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}.l-habit-grid q{margin-top:auto;font-family:var(--mono);font-size:13px;background:var(--bg);border-radius:8px;padding:8px 10px}.l-hard{display:flex;flex-direction:column;gap:16px}.l-hard-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.l-hard-head h3{margin:0;font-size:28px;letter-spacing:-.02em}.l-hard-head span{font-size:15px;color:var(--muted)}.l-hard-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.l-hard-grid a{height:100%;background:var(--band);color:var(--band-ink);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .16s var(--ease-out)}@media (hover: hover) and (pointer: fine){.l-hard-grid a:hover{transform:translateY(-2px)}}.l-hard-tag{align-self:flex-start;font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:3px 9px}.l-hard-title{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.15}.l-hard-sum{font-size:15px;line-height:1.5;color:var(--band-muted)}.l-compete{padding:104px 24px}.l-compete-grid{display:flex;flex-wrap:wrap;gap:56px;align-items:center}.l-compete-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}.l-compete-text p{margin:0;font-size:18px;line-height:1.6;color:var(--muted)}.l-next{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.l-next>.ui-icon{color:var(--accent-text)}.l-next>div{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted)}.l-next strong{font-size:15px;font-weight:600;color:var(--ink)}.l-next .button{margin-left:auto}.l-dark-btn{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}@media (hover: hover) and (pointer: fine){.l-dark-btn:hover{background:color-mix(in srgb,var(--ink) 85%,var(--bg));color:var(--bg)}}.l-profile{flex:1 1 420px;min-width:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lift);padding:28px;display:flex;flex-direction:column;gap:22px}.l-profile-top{display:flex;align-items:center;gap:14px}.l-profile-top>div{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted)}.l-profile-top strong{font-size:16px;font-weight:600;color:var(--ink)}.l-avatar{width:48px;height:48px;flex:none;border-radius:50%;background:#17181a;color:var(--accent);font-family:var(--display);font-weight:700;font-size:20px;display:grid;place-items:center}.l-profile-top .l-rating{margin-left:auto;text-align:right}.l-rating strong{font-family:var(--display);font-weight:700;font-size:36px;letter-spacing:-.03em;line-height:1}.l-skills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.l-skills li{display:flex;flex-direction:column;gap:6px;font-size:14px}.l-skills li>div:first-child{display:flex;justify-content:space-between}.l-skills li>div:first-child span:last-child{color:var(--muted)}.l-skills .weak{color:var(--bad)!important}.l-meter{height:8px;background:var(--surface-2);border-radius:999px}.l-meter span{display:block;height:8px;background:var(--ink);border-radius:999px}.l-meter span.weak{background:var(--bad-fill)}.l-solved{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.l-solved>div{background:var(--bg);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;font-size:13px}.l-solved strong{font-family:var(--display);font-weight:700;font-size:24px}.l-cta{padding:112px 24px}.l-cta-text{max-width:900px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.l-cta h2{font-weight:800;font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.04em}.l-cta p{margin:0;max-width:560px;font-size:18px;line-height:1.55;color:var(--band-muted)}.l-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:28px 24px;max-width:calc(var(--max-landing) + 48px);margin:0 auto;font-size:14px;color:var(--muted)}.l-foot-brand{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);text-decoration:none}.l-foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}.l-foot nav a{color:var(--muted)}.l-foot nav a:hover{color:var(--ink)}.l-foot .muted{margin-left:auto}@media (max-width: 1000px){.l-habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.l-story-grid,.l-hard-grid{grid-template-columns:1fr}.l-col+.l-col{border-left:0;border-top:1px solid var(--line)}.l-term{min-height:0}}@media (max-width: 560px){.l-hero{padding:48px 16px 200px}.l-hero-text{gap:22px}.l-actions .button{flex:1 1 100%}.l-story,.l-habits,.l-compete,.l-cta{padding-left:16px;padding-right:16px}.l-story-bar{padding:12px}.l-tabs{margin-left:0;width:100%}.l-tabs button{flex:1;padding:8px}.l-col{padding:20px}.l-score strong{font-size:56px}.l-habits{padding-top:64px;padding-bottom:64px;margin-top:64px}.l-habit-grid{grid-template-columns:1fr}.l-compete,.l-cta{padding-top:72px;padding-bottom:72px}.l-profile{padding:20px}.l-rating strong{font-size:28px}.l-next .button{margin-left:0;width:100%}.l-foot{padding:24px 16px}.l-foot .muted{margin-left:0}}.guide-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(300px,400px);gap:32px;justify-content:center;align-items:start}.guide{min-width:0}.guide section[id]{scroll-margin-top:88px}.guide-aside{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}.guide-toc{display:flex;flex-direction:column;gap:2px;padding-left:14px;border-left:2px solid var(--line)}.guide-toc-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.guide-toc a{position:relative;color:var(--muted);font-size:14px;padding:4px 0;text-decoration:none;transition:color .16s ease}.guide-toc a:hover{color:var(--ink)}.guide-toc a.active{color:var(--ink);font-weight:500}.guide-toc a.active:before{content:"";position:absolute;left:-16px;top:4px;bottom:4px;width:2px;border-radius:2px;background:var(--accent)}.gv{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;overflow:hidden;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px}.gv-stage{display:flex;flex-direction:column;gap:14px;min-height:340px;justify-content:center}.gv figcaption{font-size:13px;line-height:1.5;color:var(--muted);background:var(--surface);border-radius:8px;padding:6px 8px;margin:0 -8px -8px}.gv-flow{display:flex;align-items:center;gap:6px}.gv-chip{flex:none;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong)}.gv-chip.dark{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.gv-wire{position:relative;flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}.gv-wire span{position:absolute;top:0;left:0;width:30%;height:100%;background:var(--accent);border-radius:2px}.gv-term{background:#17181a;color:#e4e0d9;border-radius:12px;padding:12px 14px 14px;font:12.5px/1.6 var(--mono);display:flex;flex-direction:column;gap:6px;min-height:176px}.gv-term-top{display:flex;align-items:center;gap:5px;color:#a8a39b;font-size:12px;margin-bottom:4px}.gv-term-top span{width:8px;height:8px;border-radius:50%;background:#34363a}.gv-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-line.you{color:#f6f3ee}.gv-line.tool{color:#a8a39b}.gv-line.done{color:#6bcb92}.gv-line b{font-weight:500}.gv-term .ok,.gv-line .ok{color:#6bcb92}.gv-term .bad{color:#f28b6b}.gv-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gv-checks li{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.gv-checks li>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0;font-size:14px}.gv-checks small{color:var(--muted);font-size:12px}.gv-glyph{width:32px;height:32px;flex:none;border-radius:8px;background:#17181a;color:#f26a36;display:grid;place-items:center;font:600 12px var(--mono)}.gv-tick{width:22px;height:22px;flex:none;border-radius:50%;background:var(--ok-fill);color:#fff;display:grid;place-items:center}.gv-loop{width:100%;max-width:260px;margin:0 auto;display:block}.gv-ring{fill:none;stroke:var(--line);stroke-width:3}.gv-ring-run{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:12 88;transform:rotate(-90deg);transform-origin:130px 130px}.gv-node circle{fill:var(--surface);stroke:var(--ink);stroke-width:2}.gv-node-n{font:600 13px var(--font);fill:var(--ink)}.gv-loop-big{font:700 18px var(--display);fill:var(--ink)}.gv-loop-small{font:12px var(--font);fill:var(--muted)}.gv-legend{margin:0;padding:0 0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:13px}.gv-legend li::marker{color:var(--accent-text);font-weight:600}.gv-run{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.gv-run-head{display:flex;justify-content:space-between;font-size:14px}.gv-run-head .ok{color:var(--ok);font-weight:600}.gv-run-head .bad{color:var(--bad);font-weight:600}.gv-tests{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.gv-tests span{height:22px;border-radius:5px;background:var(--ok-fill)}.gv-tests span.fail{background:var(--bad-fill)}.gv-run-score{font-size:12px;color:var(--muted)}.gv-matrix{background:var(--surface);border-radius:12px;font-size:13px}.gv-matrix th,.gv-matrix td{padding:9px 8px;text-align:center}.gv-matrix th:first-child,.gv-matrix td:first-child{text-align:left}.gv-matrix tbody tr:hover{background:transparent}.gv-dot{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center}.gv-dot.yes{background:var(--ok-soft);color:var(--ok)}.gv-dot.no{background:var(--bad-soft);color:var(--bad)}@media (prefers-reduced-motion: no-preference){.gv-stage{animation:gv-fade .4s var(--ease-out) both}.gv-wire span{animation:gv-travel 1.6s var(--ease-in-out) infinite}.gv-wire+.gv-chip+.gv-wire span{animation-delay:.8s}.gv-line{animation:gv-rise .35s var(--ease-out) both;animation-delay:calc(var(--i) * .7s + .3s)}.gv-checks li{animation:gv-rise .5s var(--ease-out) both;animation-delay:calc(var(--i) * .22s)}.gv-tick{animation:gv-pop .4s var(--ease-out) both;animation-delay:calc(var(--i) * .22s + .6s)}.gv-ring-run{animation:gv-orbit 6s linear infinite}.gv-node{animation:gv-pulse 6s infinite;animation-delay:calc(var(--i) * 1.5s);transform-box:fill-box;transform-origin:center}.gv-tests span{animation:gv-pop .3s var(--ease-out) both;animation-delay:calc(var(--i) * .12s + .2s)}.gv-dot{animation:gv-pop .3s var(--ease-out) both;animation-delay:calc(var(--i) * 70ms + .15s)}@keyframes gv-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes gv-travel{0%{transform:translate(-100%)}to{transform:translate(340%)}}@keyframes gv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes gv-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes gv-orbit{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes gv-pulse{0%,30%,to{transform:none}10%{transform:scale(1.18)}}}@media (max-width: 1000px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-aside{display:none}}.guide h1{font-size:var(--step-section);letter-spacing:-.04em;line-height:1.02}.guide .lede{font-size:var(--step-lead);line-height:1.45;margin-bottom:32px}.guide ul,.guide ol{padding-left:22px;margin:0}.guide li+li{margin-top:8px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare figure{margin:0;background:var(--surface-2);border-radius:var(--radius);padding:18px 20px}.compare figcaption{font-weight:600;margin-bottom:8px}.compare blockquote{margin:0 0 10px}.glossary{margin:0;display:grid;gap:16px}.glossary dt{font-weight:600}.glossary dd{margin:2px 0 0}@media (max-width: 560px){.compare{grid-template-columns:1fr}}@media (prefers-reduced-motion: no-preference){.js [data-reveal]>*{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.js [data-reveal].is-in>*{opacity:1;transform:none}.js [data-reveal].is-in>*:nth-child(2){transition-delay:80ms}.js [data-reveal].is-in>*:nth-child(3){transition-delay:.16s}.js [data-reveal].is-in>*:nth-child(4){transition-delay:.24s}.js [data-reveal].is-in>*:nth-child(5){transition-delay:.32s}.js [data-reveal].is-in>*:nth-child(n+6){transition-delay:.4s}.workspace-heading,.daily-panel,.problem-library,.practice-sidebar{animation:arrive .4s var(--ease-out) both}.daily-panel{animation-delay:60ms}.problem-library{animation-delay:.12s}.practice-sidebar{animation-delay:.18s}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:1ms!important}}@media (max-width: 1100px){.topnav{gap:28px}.practice-layout{grid-template-columns:minmax(0,1fr) 260px}.intro-panel{align-items:flex-start;flex-direction:column;gap:16px}.intro-panel>.row{max-width:100%}}@media (max-width: 860px){.split,.grid.two,.contest-grid,.practice-layout,.contest-cards{grid-template-columns:1fr}.split .side{position:static}.practice-sidebar{grid-template-columns:1fr 1fr}.competition-note{grid-column:1 / -1}.hide-sm{display:none}.topnav{gap:20px}.topnav .links{gap:18px}.topnav .links a.hide-sm{display:none}}@media (max-width: 560px){main.page{padding:28px 16px 64px}.topnav{padding:0 16px;gap:14px;height:56px}.topnav .brand span{display:none}.topnav .links{gap:14px}.topnav .links a{font-size:14px}.topnav .links a.active:after{bottom:10px}.topnav .right{gap:6px}.topnav .right .button{padding:6px 12px;font-size:14px;min-height:38px}.topnav .ghost{padding:6px;min-height:38px}.streak{display:none}.profile-link{max-width:64px;font-size:14px}.card{padding:20px}.tabs{margin:-20px -20px 20px}.hero{padding:24px 20px}.workspace-heading{align-items:flex-start;flex-direction:column;gap:16px}.workspace-heading h1{font-size:40px}.practice-sidebar{grid-template-columns:1fr}.daily-panel{padding:22px}.challenge-symbol{display:none}.challenge-footer{padding-left:0;gap:12px}.challenge-footer .primary{margin-left:0;width:100%}.library-heading{align-items:flex-start;flex-direction:column;gap:8px}.problem-library{padding:20px 14px 12px}.problem-library td,.problem-library th{padding:14px 6px}.search-field{flex-basis:100%}.problem-library select{flex:1;max-width:none;min-width:100px}.steps>li{padding-left:20px;padding-top:52px}.steps>li:before{top:22px;left:20px}}.guide p a,.guide li a{text-decoration-color:currentColor}.profile{display:flex;flex-direction:column;gap:16px}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px}.profile-section{display:flex;flex-direction:column;gap:10px}.profile-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:14px}.profile-head h2,.profile-head p{margin:0}.profile-head p{margin-top:4px;max-width:620px}.profile-section .profile-head{margin-bottom:0}.profile-h3{font-size:var(--step-lead)}.profile-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.profile-summary{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center}.profile-who{flex:1 1 440px;min-width:0;display:flex;gap:20px;align-items:flex-start}.profile-avatar{width:80px;height:80px;flex:none;border-radius:var(--radius-lg);object-fit:cover;background:var(--surface-2);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:26px}.profile-name{min-width:0;display:flex;flex-direction:column;gap:6px}.profile-name h1{margin:0;font-size:clamp(1.75rem,1.3rem + 1.4vw,2.25rem);font-weight:800;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-name p{margin:0}.profile-meta{display:flex;flex-wrap:wrap;gap:4px 16px}.profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.profile-actions .button,.profile-actions button{min-height:38px;padding:6px 14px;font-size:14px}.profile-stats{flex:2 1 560px;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.profile-stats>div{padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0;background:var(--surface)}.profile-stats dt{font-size:13px;color:var(--muted)}.profile-stats dd{margin:0}.profile-stats dd:nth-of-type(1){font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.profile-stats .profile-rating{background:var(--field);color:var(--field-muted)}.profile-stats .profile-rating dt{color:var(--accent)}.profile-stats .profile-rating-value{color:var(--field-ink)}.profile-stat-split{display:flex;flex-wrap:wrap;gap:0 8px;font-size:12px}.profile-stat-split span{white-space:nowrap}.profile-start{display:flex;flex-wrap:wrap;gap:24px}.profile-start>div{flex:1 1 320px}.profile-start h2{margin:6px 0 8px}.profile-steps{flex:2 1 480px;margin:0;padding:0;list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.profile-steps li{counter-increment:step;background:var(--surface-2);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px}.profile-steps li:before{content:counter(step);font-family:var(--mono);font-size:12px;color:var(--accent-text)}.profile-steps code{align-self:flex-start}.profile-skills{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.profile-radar{flex:0 1 260px;max-width:280px}.profile-lock{display:flex;justify-content:center;align-items:center;gap:6px}.profile-skill-grid{flex:999 1 420px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.profile-skill{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.profile-skill-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.profile-bar{height:4px;border-radius:2px;background:var(--surface-2)}.profile-domains{display:grid;gap:10px}.profile-domain{display:flex;flex-direction:column;gap:6px;padding:16px 18px;color:var(--ink);text-decoration:none}a.profile-domain:hover{text-decoration:none;border-color:var(--line-strong)}.profile-domain.current{box-shadow:inset 0 0 0 1px var(--ink)}.profile-domain-top{display:flex;align-items:center;gap:10px}.profile-domain-top .tag{margin-left:auto}.profile-domain-icon{width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.profile-domain-icon.muted{color:var(--muted)}.profile-domain-name{font-size:16px;font-weight:600}.profile-domain-score{display:flex;align-items:baseline;gap:8px}.profile-domain-score>span:first-child{font-family:var(--display);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.profile-domain-split{display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);padding-top:8px}.profile-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.profile-main,.profile-aside{min-width:0;display:flex;flex-direction:column;gap:16px}.profile-runs{list-style:none;margin:0 -24px -22px;padding:0}.profile-runs li{border-top:1px solid var(--line);padding:12px 24px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.profile-run-main{flex:999 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.profile-run-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.profile-run-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-run-stats{display:flex;gap:20px;font-variant-numeric:tabular-nums}.profile-run-stats strong{color:var(--ink);font-weight:500}.profile-runs .button{min-height:36px;padding:6px 12px;font-size:14px}.profile-heat{display:flex;gap:3px;margin-bottom:10px}.profile-heat>div{flex:1;display:flex;flex-direction:column;gap:3px}.profile-heat span{aspect-ratio:1;border-radius:2px}.profile-notify{align-self:stretch;min-height:38px;font-size:14px}.profile-form textarea{min-height:64px}.profile-form input{width:100%}.profile-tools{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.profile-tools legend{font-weight:500;margin-bottom:6px;padding:0}.profile-tool{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:400;font-size:14px;background:var(--surface-2);border-radius:var(--radius);padding:6px 12px;cursor:pointer}.profile-tool.on{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.profile-tool input{min-height:0;width:auto;margin:0;accent-color:var(--accent)}.profile-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.profile-next{background:var(--field);color:var(--field-muted);border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:8px}.profile-next h2{color:var(--field-ink);margin:0}@media (max-width: 1100px){.profile-split{grid-template-columns:1fr}.profile-aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 760px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stats .profile-rating{grid-column:1 / -1}}@media (max-width: 640px){.profile-card{padding:18px}.profile-runs{margin:0 -18px -18px}.profile-runs li{padding:12px 18px}.profile-who{gap:14px}.profile-avatar{width:60px;height:60px;font-size:20px}}
