.editor-panel .nvim-surface{font-size:var(--editor-font,14px)}.above{max-width:1440px;margin:0 auto;padding:24px 28px 0}.above+.task,.above+.workspace{padding-top:16px}.below{max-width:1440px;margin:0 auto;padding:0 28px 28px}.replay-title{font-size:clamp(20px,2.4vw,26px)}.card.prompt-card{max-width:640px}.stacked{display:block}.self-start{align-self:flex-start}.nowrap{white-space:nowrap}.screen a.small,.above a.small{color:var(--accent-text)}.crumb{color:var(--text-secondary);font:13px var(--font-mono);margin-inline-start:18px;text-decoration:none}.crumb:before{content:"‹ "}[dir=rtl] .crumb:before{content:"› "}.crumb:hover{color:var(--text-strong)}.home-section{flex-direction:column;gap:12px;display:flex}.card.home-daily{gap:14px;padding:24px}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.card-top .eyebrow{margin:0}.home-daily-title{color:var(--text-strong);letter-spacing:-.3px;margin:0;font-size:clamp(20px,2.2vw,24px);font-weight:600;line-height:1.3}.result-line{color:var(--text-strong);margin:0;font-size:19px;font-weight:600}.lesson-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lesson-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex}.lesson-list li:last-child{border-bottom:0}.panel.language-fieldset{min-inline-size:0;margin:0;padding:0}.panel.language-fieldset>legend{float:inline-start;box-sizing:border-box;width:100%;padding:0 14px}.panel.language-fieldset>legend+*{clear:both}.panel-body.language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.language-choice{justify-content:space-between;min-height:44px;font-size:13px}.language-choice>span:first-child{align-items:center;gap:8px;display:inline-flex}.toggle-label{color:var(--text-secondary);font:400 13px var(--font-mono);letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:8px;margin-inline-start:auto;display:inline-flex}.toggle-label input{accent-color:var(--accent);margin:0}.panel-body>.toggle-label{margin-inline-start:0}.config-row{gap:4px;display:grid}.config-row p{margin:0}.config-row code{overflow-wrap:anywhere;font:13px var(--font-mono)}.result-extra,.result-block{flex-direction:column;gap:6px;margin:0 0 18px;display:flex}.result-block{gap:16px;margin-bottom:21px}.result-extra p{margin:0}.result-extra .card{margin-block-end:6px}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.result-head h2{color:var(--text-strong);margin:0;font-size:21px;font-weight:600}.result-block .tiles{grid-template-columns:repeat(auto-fill,minmax(150px,180px))}.mode-notice{border:1px dashed var(--border-strong);color:var(--text-secondary);margin:0;padding:8px 12px;font-size:14px}.card.share-card{max-width:640px}.card.share-card h3{font-size:17px}.share-row{flex-wrap:wrap;gap:8px;display:flex}.share-link{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;cursor:text;flex:240px;min-width:0;overflow:hidden}.secondary-button.danger-button{color:var(--danger-text)}.panel.config-side{min-height:560px}.config-side .panel-body{flex:auto}.config-error{overflow-wrap:anywhere;margin:0}.config-stats{border:1px solid var(--border)}.config-stats li{padding:8px 12px}.ok-text{color:var(--accent-text);margin:0}.warning-mark{width:14px;height:14px;color:var(--danger-text);font:700 12px var(--font-mono);place-items:center;display:grid}.config-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.config-foot p{margin:0}.config-buttons{gap:8px;display:flex}.config-buttons .secondary-button{flex:1 1 0}.not-found .panel-body{gap:14px;padding:28px}.not-found .eyebrow{margin:0}.not-found p{overflow-wrap:anywhere;margin:0}.mark-space{flex:none;inline-size:14px}.task-rows>li{padding:0;display:block}.task-row{inline-size:100%;min-inline-size:0;color:var(--text);font:14px var(--font-sans);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.task-row:hover{background:var(--surface-muted)}.task-row:focus-visible,.track-row:focus-visible,.day-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.task-rows>li.current .task-row{background:var(--accent-soft)}.task-rows>li.current .row-title{color:var(--text-strong)}.row-index{inline-size:24px;color:var(--text-muted);font:13px var(--font-mono);flex:none}.row-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-inline-size:0;overflow:hidden}.row-source{inline-size:230px;color:var(--text-muted);font:13px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.row-end{min-inline-size:90px;color:var(--text-secondary);text-align:end;flex:none;font-size:13px}.task-item .teaser{margin:0 16px 12px}.list-foot{border-block-start:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.screen input.catalog-search{inline-size:min(360px,100%);padding:8px 10px}.filters{gap:10px}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row>.label{flex:none;inline-size:90px}.more-chip{color:var(--text-secondary);border-style:dashed}.sort-select{color:var(--text-muted);font:13px var(--font-mono);letter-spacing:0;text-transform:none;align-items:center;gap:8px;margin-inline-start:auto;display:inline-flex}.track-rows>li{padding:0;display:block}.track-row{color:var(--text);align-items:center;gap:12px;padding:10px 16px;font-size:14px;text-decoration:none;display:flex}.track-row:hover{background:var(--surface-muted)}.track-row.current{background:var(--control);color:var(--text-strong)}.track-bar{flex:none;inline-size:64px}.track-rows>li.group-label{border-block-end:0;padding:12px 16px 6px}.track-detail{flex-direction:column;gap:16px;min-inline-size:0;display:flex}.track-card{padding:24px}.track-card .screen-title{font-size:clamp(22px,2.6vw,26px)}.track-card kbd{font-size:13px}.panel-head a{color:inherit;text-decoration:none}.panel-head a:hover{color:var(--accent-text)}.course-modules{flex-direction:column;gap:32px;display:flex}.course-module>summary{cursor:pointer;padding-inline-end:44px;list-style:none;position:relative}.course-module>summary::-webkit-details-marker{display:none}.course-module>summary:after{content:"+";color:var(--text-muted);font:600 18px var(--font-mono);position:absolute;inset-block-start:18px;inset-inline-end:18px}.course-module[open]>summary:after{content:"−"}.course-module:not([open]){gap:0}.course-note{margin:0;padding:10px 16px 0}.month-previous:before{content:"‹ "}.month-next:after{content:" ›"}[dir=rtl] .month-previous:before{content:"› "}[dir=rtl] .month-next:after{content:" ‹"}.calendar{gap:8px}.calendar-row,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-tile{min-block-size:64px;color:var(--text);font:inherit;text-align:start}button.day-tile{cursor:pointer}button.day-tile:hover{border-color:var(--border-strong)}.day-tile[aria-pressed=true]{outline:1px solid var(--text-secondary);outline-offset:-1px}.day-tile.current{border-color:var(--accent)}.screen .day-tile strong{font-size:15px}.day-tile.none{opacity:.55}.day-tile.empty strong{font-weight:400}.board-table{border-collapse:collapse;inline-size:100%;font-size:14px}.board-table th{border-block-end:1px solid var(--border);color:var(--text-muted);font:600 12px var(--font-mono);letter-spacing:.04em;text-align:start;text-transform:uppercase;padding:8px 16px}.board-table td{border-block-end:1px solid var(--border);padding:10px 16px}.board-table tr:last-child td{border-block-end:0}.board-table th:first-child,.board-table td:first-child{inline-size:64px}.board-table tr.me td{background:var(--control);color:var(--text-strong)}.table-note{border-block-start:1px solid var(--border);padding:12px 16px}.profile-head{align-items:center;gap:16px;display:flex}.profile-avatar{border:1px solid var(--border-strong);border-radius:var(--radius);block-size:56px;inline-size:56px;color:var(--text-strong);background:var(--control);font:600 20px var(--font-mono);flex:none;place-items:center;display:grid}.profile-head .screen-title{font-size:clamp(22px,2.6vw,26px)}.skill-map{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;list-style:none;display:grid}.screen .skill-map strong{font-size:14px}.skill-map .tile span{overflow-wrap:anywhere}.panel-head .head-chips{letter-spacing:0;text-transform:none;gap:6px;margin-inline-start:auto;font-weight:400}.head-chips .chip{min-block-size:26px}.history-time{flex:none;inline-size:120px}.history-error{padding:8px 16px 0}.panel-head:has(.head-chips){flex-wrap:wrap;block-size:auto;min-block-size:40px;padding-block:6px}.side-cards{flex-direction:column;gap:16px;min-inline-size:0;display:flex}.side-cards .check-button{align-self:flex-start}.join-form{flex-direction:column;gap:6px;display:flex}.screen input.code-input{border:1px solid var(--border-strong);border-radius:var(--radius);inline-size:12ch;color:var(--text);background:var(--surface);font:14px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:9px 10px}.screen input.link-input{letter-spacing:0;text-transform:none;inline-size:min(100%,36ch)}.screen input.promo-input{inline-size:18ch}.duel-invite{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 16px;margin:4px 0 0;display:grid}.duel-invite dd{margin:0}.duel-code{color:var(--text-strong);font:600 24px var(--font-mono);letter-spacing:.12em}.duel-players{flex-direction:column;gap:8px;display:flex}.duel-players-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.duel-players .tile{gap:8px}.duel-players .grid.two{gap:10px}.pricing-head{flex-direction:column;gap:4px;display:flex}.plan-card{gap:12px}.plan-price{color:var(--text-strong);margin:0}.plan-price strong{font:600 30px var(--font-mono)}.features{color:var(--text-secondary);flex-direction:column;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.features li{align-items:center;gap:10px;padding:6px 0;display:flex}.plan-card .chip.plan-chip{align-self:flex-start}.plan-card button{margin-block-start:auto}@media (width<=900px){.panel-body.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.config-side{min-height:0}.row-source{display:none}.tracks-layout>aside{order:2}}@media (width<=600px){.task-row{flex-wrap:wrap;gap:6px 10px}.task-row .row-title{white-space:normal;flex:calc(100% - 40px)}.task-row .chip{min-block-size:24px;margin-inline-start:24px}.task-row .chip+.chip{margin-inline-start:0}.row-index{display:none}.row-end{min-inline-size:0;margin-inline-start:auto}.filter-row>.label{inline-size:100%}.calendar,.calendar-row,.calendar-days{gap:4px}.day-tile{min-block-size:52px;padding:6px}.day-tile span{font-size:11px}.screen .day-tile strong{font-size:13px}.history-rows>li{flex-wrap:wrap}.history-rows .grow{white-space:normal;flex-basis:100%}.board-table th,.board-table td{padding-inline:10px}}@media (width<=560px){.above,.below{padding-inline:16px}.panel-body.language-grid{grid-template-columns:minmax(0,1fr)}.card.home-daily{padding:18px}}.privacy{max-width:760px}.privacy-section{flex-direction:column;gap:8px;display:flex}.privacy-section p{margin:0;line-height:1.6}:root{--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:2px;font-family:var(--font-sans);font-synthesis:none;color:var(--text);background:var(--bg)}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d0a;--surface:#0d140f;--surface-sunken:#0a110c;--surface-muted:#111c15;--control:#15231a;--border:#1f3326;--border-strong:#4a6d55;--text:#cfe3d3;--text-strong:#ecf7ee;--text-secondary:#98b8a0;--text-muted:#76967f;--accent:#14c94b;--accent-ink:#00160a;--accent-text:#14c94b;--accent-soft:#0f2c17;--accent-soft-text:#8dffab;--accent-soft-border:#2f7a43;--success-bg:#0f2c17;--success-text:#ecf7ee;--success-text-muted:#8dffab;--addition-bg:#0f2c17;--addition-text:#8dffab;--removal-bg:#341214;--removal-text:#ff9a9d;--addition-mark:#1f5a2e;--removal-mark:#6b2226;--danger:#ff5f66;--danger-text:#ff9a9d;--idle:#4a6d55;--cursor:#cfe3d3}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ea;--surface:#f8faf5;--surface-sunken:#f1f5ed;--surface-muted:#e3ebdf;--control:#e2e9dc;--border:#cdd8c7;--border-strong:#7d977f;--text:#12261a;--text-strong:#06140c;--text-secondary:#3e5a47;--text-muted:#566e5e;--accent:#0e5c27;--accent-ink:#eaffee;--accent-text:#0b6b2c;--accent-soft:#d5f0da;--accent-soft-text:#0d4a1f;--accent-soft-border:#7fae88;--success-bg:#d5f0da;--success-text:#06140c;--success-text-muted:#0d4a1f;--addition-bg:#d5f0da;--addition-text:#0d4a1f;--removal-bg:#f6dcdc;--removal-text:#8f1d22;--addition-mark:#a3dbad;--removal-mark:#ecb0b2;--danger:#c4252c;--danger-text:#a11d23;--idle:#7d977f;--cursor:#e9f0e6}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.app-shell{background:var(--bg);min-height:100vh}.masthead{z-index:10;background:var(--bg);position:sticky;top:0}.topbar,.task,.workspace{max-width:1440px;margin:0 auto}.topbar{border-bottom:1px solid var(--border);align-items:center;height:64px;padding:0 28px;display:flex}.brand{color:var(--text-strong);font:600 20px var(--font-mono);align-items:center;gap:3px;text-decoration:none;display:flex}.brand-cursor{background:var(--accent);width:.55em;height:1.05em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lesson-nav ol{font:13px var(--font-mono);align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lesson-nav button{border:1px solid var(--border-strong);border-radius:var(--radius);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;padding:0 8px}.lesson-nav button[data-done]{color:var(--accent-soft-text);border-color:var(--accent-soft-border);background:var(--accent-soft)}.lesson-nav button[aria-current=step]{color:var(--accent-ink);border-color:var(--accent);background:var(--accent);font-weight:600}.lesson-nav button.lesson-nav-locked{color:var(--text-muted);border-style:dashed;align-items:center;gap:4px;display:flex}.lesson-nav-locked svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:13px;height:13px}.live-stats{white-space:nowrap;font-family:var(--font-mono);color:var(--text-secondary);gap:18px;margin-inline-start:auto;font-size:13px;display:flex}.theme-switcher{border:1px solid var(--border);border-radius:var(--radius);margin-inline-start:18px;display:flex}.account{align-items:center;gap:10px;margin-inline-start:10px;display:flex}.account .secondary-button{padding:5px 10px;font-size:13px}.account-name{max-width:160px;color:var(--text-strong);font:13px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sign-in-bar{border-bottom:1px solid var(--border);background:var(--surface-sunken);max-width:1440px;color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 auto;padding:14px 28px;font-size:14px;display:flex}.sign-in-bar p{flex:320px;margin:0;line-height:1.5}.sign-in-bar .check-button{text-decoration:none}.sign-in-waiting{color:var(--text-muted);font:13px var(--font-mono)}.sign-in-consent{color:var(--text-muted);font-size:13px}.sign-in-consent a{color:inherit}.sign-in-cancel{color:var(--text-muted);font:13px var(--font-mono);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.topbar>.theme-switcher{margin-inline-start:auto}.live-stats+.theme-switcher,.masthead-streak+.theme-switcher{margin-inline-start:18px}.page-nav:empty{display:none}.page-nav{margin-inline-start:28px}.main-nav+.page-nav{margin-inline-start:18px}.main-nav{font:13px var(--font-mono);align-items:center;gap:18px;margin-inline-start:28px;display:flex}.main-nav a{color:var(--text-secondary);white-space:nowrap;text-decoration:none}.main-nav a:hover{color:var(--text-strong)}.main-nav a[aria-current=page]{color:var(--text-strong);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.masthead-streak{color:var(--text-secondary);font:13px var(--font-mono);white-space:nowrap;margin-inline-start:auto}.account-menu{margin-inline-start:10px;position:relative}.account-menu summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-initials{border:1px solid var(--border-strong);border-radius:var(--radius);width:28px;height:28px;color:var(--text-strong);background:var(--control);font:600 12px var(--font-mono);place-items:center;display:grid}.account-menu-list{inset-inline-end:0;z-index:20;border:1px solid var(--border);background:var(--surface);min-width:180px;display:grid;position:absolute;top:calc(100% + 8px)}.account-menu-list a,.account-menu-list button{border:0;border-bottom:1px solid var(--border);color:var(--text);font:13px var(--font-mono);text-align:start;cursor:pointer;background:0 0;padding:10px 14px;text-decoration:none}.account-menu-list>:last-child{border-bottom:0}.account-menu-list a:hover,.account-menu-list button:hover{background:var(--surface-muted)}.theme-switcher button{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.theme-switcher button[aria-pressed=true]{color:var(--text-strong);background:var(--control)}.theme-switcher svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:square;stroke-linejoin:miter;width:15px;height:15px}.language-select{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);font:13px var(--font-mono);cursor:pointer;margin-inline-start:10px;padding:5px 6px}.task{padding:24px 28px 16px}.task-body{gap:8px;padding:14px 16px 16px;display:grid}.eyebrow{color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:0 0 7px;font-size:12px}h1{color:var(--text-strong);letter-spacing:-.2px;margin:0;font-size:20px;font-weight:600;line-height:1.35}.check-button{border-radius:var(--radius);color:var(--accent-ink);background:var(--accent);font:600 14px var(--font-mono);cursor:pointer;border:0;flex:none;padding:11px 16px}.check-button:disabled{opacity:.55;cursor:default}.watch-notice{max-width:76ch;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.check-button .shortcut{color:inherit;opacity:.7;background:0 0;border:0;margin-inline-start:12px;padding:0;font-weight:400}.command-key{vertical-align:-.12em;font-size:1.5em;line-height:0}.workspace{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;padding:0 28px 28px;display:grid}.task-panel,.editor-panel,.diff-panel{border:1px solid var(--border);background:var(--surface);position:relative;overflow:hidden}.editor-panel{min-height:560px}.side-column{flex-direction:column;min-width:0;height:560px;display:flex}.lesson-explanation{max-width:90ch;color:var(--text);margin:0;font-size:15px;line-height:1.55}.lesson-hints-panel{grid-column:1;justify-items:start;gap:12px;min-width:0;line-height:1.55;display:grid}.lesson-hints{color:var(--text-secondary);gap:6px;margin:0;padding-inline-start:22px;font-size:14px;display:grid}.lesson-hints li::marker{color:var(--text-muted);font-family:var(--font-mono)}.panel-head{border-bottom:1px solid var(--border);height:40px;color:var(--text-strong);font:600 12px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;padding:0 14px;display:flex}.layout-toggle{white-space:nowrap;color:var(--text-muted);letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:6px;font-weight:400;display:flex}.layout-toggle input{accent-color:var(--accent);margin:0}.panel-head code{color:var(--text-muted);font:inherit;letter-spacing:0;text-transform:none;margin-inline-start:auto;font-weight:400}.panel-head .file-path{white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;min-width:0;overflow:hidden}.status-dot{background:var(--idle);width:8px;height:14px}.status-dot[data-status=ready],.status-dot[data-status=success],.status-dot[data-status=replayed]{background:var(--accent)}.status-dot[data-status=error]{background:var(--danger)}.nvim-surface{height:518px;color:var(--text);background:var(--surface);font-family:var(--font-mono);cursor:text;font-size:14px;line-height:1.35;position:relative;overflow:hidden}.nvim-probe{visibility:hidden;white-space:pre;position:absolute}.nvim-grid{white-space:pre;position:absolute;inset:0}.nvim-row{overflow:hidden}.nvim-cursor{pointer-events:none;background:var(--cursor);mix-blend-mode:difference;position:absolute}.nvim-input{resize:none;opacity:0;border:0;width:1px;height:1px;padding:0;position:absolute}.overlay{color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 92%, transparent);font-family:var(--font-mono);place-items:center;font-size:14px;display:grid;position:absolute;inset:40px 0 0}.overlay.error{color:var(--danger-text);text-align:center;white-space:pre-wrap;padding:32px}.editor-intro{background:color-mix(in srgb, var(--surface) 95%, transparent);pointer-events:none;place-content:center;gap:30px;padding:32px;display:grid;position:absolute;inset:40px 0 0}.editor-intro ul{max-width:420px;color:var(--text-strong);gap:30px;margin:0;padding:0;font-size:16px;line-height:1.5;list-style:none;display:grid}.editor-intro p{color:var(--text-muted);font:13px var(--font-mono);margin:0}.workspace{position:relative}.intro-sketch{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.intro-sketch path{fill:none;stroke:var(--accent-text);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:intro-draw .6s ease-out var(--delay) forwards}.intro-sketch path.second{stroke-width:1.2px;opacity:.55}@keyframes intro-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.intro-sketch path{stroke-dashoffset:0;animation:none}}.overlay-message{justify-items:center;gap:16px;display:grid}.diff-source{border-bottom:1px solid var(--border);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:8px 14px;font-size:12px;overflow:hidden}.diff-source a{color:var(--accent-text);font-family:var(--font-mono);text-decoration:none}.diff-source a:hover,.diff-source a:focus-visible{text-decoration:underline}.diff-panel{background:var(--surface-sunken);flex-direction:column;flex:1 0 180px;min-height:0;display:flex}.diff-panel pre{color:var(--text-secondary);font:13px/1.65 var(--font-mono);flex:1;margin:0;padding:17px 0;overflow:auto}.diff-panel pre code{font:inherit;padding:0 15px;display:block}.diff-panel .addition{color:var(--addition-text);background:var(--addition-bg)}.diff-panel .removal{color:var(--removal-text);background:var(--removal-bg)}.diff-panel pre code:not(.gap){grid-template-columns:auto auto auto minmax(0,1fr);padding-inline-start:8px;display:grid}.diff-panel .text{white-space:pre-wrap;overflow-wrap:anywhere}.diff-panel .context .text{white-space:pre;text-overflow:ellipsis;overflow:hidden}.diff-panel .line-number{width:calc(var(--line-digits,2) * 1ch + 1ch);color:var(--text-muted);text-align:end;-webkit-user-select:none;user-select:none}.diff-panel .addition .line-number,.diff-panel .removal .line-number{color:inherit;opacity:.6}.diff-panel .sign{-webkit-user-select:none;user-select:none;width:2ch;padding-inline-start:1ch}.diff-panel mark{color:inherit;border-radius:1px}.diff-panel .addition mark{background:var(--addition-mark)}.diff-panel .removal mark{background:var(--removal-mark)}.diff-panel .gap{color:var(--text-muted);-webkit-user-select:none;user-select:none}.solved{text-align:center;color:var(--success-text);background:var(--success-bg);flex:1;align-content:center;justify-items:center;gap:6px;padding:24px 18px;display:grid}.solved strong{font:600 18px var(--font-mono)}.solved span{color:var(--success-text-muted);font-size:14px}.state-mark{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;stroke-linejoin:miter;flex:none;width:14px;height:14px}.state-mark .fill{fill:currentColor;stroke:none}.diff-file{border-block:1px solid var(--border);color:var(--text);background:var(--surface-muted);font-family:var(--font-mono);align-items:center;gap:7px;margin-top:10px;padding:6px 15px;font-weight:600;display:flex}.diff-file:first-child{border-top:0;margin-top:0}.diff-file .state-mark{margin-inline-start:auto}.diff-file[data-state=todo] .state-mark{color:var(--text-muted)}.diff-file[data-state=progress] .state-mark{color:var(--text-secondary)}.diff-file[data-state=done] .state-mark{color:var(--accent-text)}.diff-file[data-state=unexpected] .state-mark{color:var(--danger-text)}.diff-panel footer{border-top:1px solid var(--border);color:var(--text-muted);flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;font-size:12px;display:flex}.last-key{white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.panel-head .last-key{color:var(--text-muted);letter-spacing:0;text-transform:none;font-weight:400}.editor-panel{container-type:inline-size}@container (width<=640px){.last-key-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.last-key kbd{box-sizing:content-box;text-align:center;min-width:8ch}kbd{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-strong);background:var(--control);font:inherit;font-family:var(--font-mono);padding:1px 5px}kbd.spoken{-webkit-text-decoration:underline dotted var(--text-muted);text-decoration:underline dotted var(--text-muted);text-underline-offset:3px}kbd.spoken:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.key-tip{z-index:50;border:1px solid var(--border-strong);border-radius:var(--radius);max-width:min(360px,100vw - 32px);color:var(--text-strong);background:var(--surface-muted);font:13px var(--font-mono);overflow-wrap:anywhere;pointer-events:none;padding:4px 8px;position:fixed;box-shadow:0 4px 12px #00000040}.results-panel{border-top:1px solid var(--border);background:var(--surface-sunken);max-width:1440px;margin:0 auto 36px;padding:24px 28px}.result-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.result-heading h2,.solutions h2{color:var(--text-strong);letter-spacing:-.2px;margin:0;font-size:19px;font-weight:600}.secondary-button{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:14px var(--font-mono);cursor:pointer;background:0 0;padding:10px 14px}.result-stats{grid-template-columns:repeat(3,minmax(0,180px));gap:10px;margin:21px 0;display:grid}.result-stats div{border:1px solid var(--border);background:var(--surface-muted);gap:4px;padding:14px;display:grid}.result-stats span{color:var(--text-muted);font-size:12px}.result-stats strong{color:var(--text-strong);font:600 21px var(--font-mono)}.solutions{margin-bottom:22px}.solutions ol{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.solutions li{border:1px solid var(--border);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 14px;padding:12px 14px;display:grid}.play-button{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--accent-text);cursor:pointer;background:0 0;border-radius:50%;grid-row:span 2;place-items:center;padding:0 0 0 2px;font-size:13px;display:grid}.play-button:hover,.play-button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.solutions p,.now-playing p{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:0;font-size:14px;display:flex}.solutions time,.now-playing time{font-family:var(--font-mono);font-size:13px}.solution-keys{color:var(--text-muted);font:12px var(--font-mono);white-space:nowrap}.row-tools{align-items:center;gap:12px;display:inline-flex}.share-button{border:1px solid var(--border-strong);border-radius:var(--radius);width:28px;height:28px;color:var(--text);background:var(--surface);cursor:pointer;place-items:center;padding:0;display:inline-grid}.share-button:hover,.share-button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.share-button[data-state=copied]{border-color:var(--accent);color:var(--accent-text)}.share-button[data-state=failed]{border-color:var(--danger);color:var(--danger-text)}.share-button:disabled{cursor:progress}.share-link,.share-link:visited{color:var(--accent-text);font:12px var(--font-mono);overflow-wrap:anywhere}.solutions code,.now-playing code{color:var(--text-strong);font:14px/1.5 var(--font-mono);white-space:pre;scrollbar-width:thin;padding-bottom:12px;position:relative;overflow-x:auto}.solutions code span,.now-playing code span{cursor:pointer}.solutions code span:hover,.now-playing code span:hover{background:var(--accent-soft)}.solutions code .seen,.now-playing code .seen{color:var(--accent-text)}.solutions code .active,.now-playing code .active{color:var(--accent-ink);background:var(--accent)}.now-playing{border:1px solid var(--accent-soft-border);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 14px;min-width:0;padding:12px 14px;display:grid}.now-playing select{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);background:var(--surface);font:12px var(--font-mono);padding:3px 6px}.about{border-top:1px solid var(--border);justify-items:start;gap:14px;max-width:1440px;margin:0 auto;padding:32px 28px 48px;scroll-margin-top:80px;display:grid}.about-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:40px;width:100%;margin-bottom:18px;display:grid}.about-intro{justify-items:start;gap:16px;display:grid}.about h2{color:var(--text-strong);font:600 30px/1.2 var(--font-mono);letter-spacing:-.5px;text-wrap:balance;margin:0}.about-text{max-width:60ch;color:var(--text);margin:0;font-size:17px;line-height:1.6}.about-shot{border:1px solid var(--border);width:100%;height:auto}.about h3{color:var(--text-strong);font:600 13px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:22px 0 0}.about-note{max-width:75ch;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.55}.about-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%;margin:0;padding:0;list-style:none;display:grid}.about-cards li{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface);align-content:start;gap:6px;padding:16px;font-size:14px;line-height:1.6;display:grid}.about-cards strong{color:var(--text-strong);font:600 14px var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.about-cards li.featured{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.about-tag{border:1px solid var(--border-strong);color:var(--text-muted);font:400 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:1px 6px}.featured .about-tag{border-color:var(--accent-soft-border);color:var(--accent-soft-text);background:var(--accent-soft)}.about-steps{counter-reset:step}.about-steps li{counter-increment:step}.about-steps strong{display:block}.about-steps strong:before{content:counter(step) ". ";color:var(--accent-text)}.about-access{border-collapse:collapse;border:1px solid var(--border);background:var(--surface);width:100%;font-size:14px}.about-access th,.about-access td{border-top:1px solid var(--border);text-align:center;padding:10px 16px}.about-access thead th{color:var(--text-strong);font:600 13px var(--font-mono)}.about-access tbody th{color:var(--text);text-align:start;font-weight:400}.about-access td{width:18%;color:var(--text-muted)}.about-access td.has{color:var(--accent-text);font-weight:600}.about>.check-button{margin-top:18px}.site-footer{border-top:1px solid var(--border);max-width:1440px;color:var(--text-muted);font:13px var(--font-mono);flex-wrap:wrap;gap:8px 24px;margin:0 auto;padding:20px 28px 28px;display:flex}.site-footer a{color:var(--text-secondary);text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent-text);text-decoration:underline}.topbar[data-stacked]{flex-wrap:wrap;row-gap:10px;height:auto;min-height:64px;padding-top:12px;padding-bottom:10px}:is(.topbar[data-stacked] .main-nav,.topbar[data-stacked]:not(:has(.main-nav)) .page-nav){order:2;width:100%;margin-inline-start:0}.topbar[data-stacked] .main-nav{flex-wrap:wrap;row-gap:8px}@media (width<=1240px){.topbar:has(.main-nav){flex-wrap:wrap;row-gap:10px;height:auto;min-height:64px;padding-top:12px;padding-bottom:10px}.main-nav{flex-wrap:wrap;order:2;row-gap:8px;width:100%;margin-inline-start:0}}@media (width<=900px){.workspace{grid-template-columns:1fr}.editor-panel{min-height:440px}.side-column{height:auto}.diff-panel{flex-basis:auto}.nvim-surface{height:398px}.results-panel{padding-left:16px;padding-right:16px}.about-hero{grid-template-columns:1fr}.workspace>.editor-panel{order:-2}.now-playing{order:-1}}@media (width<=560px){.topbar,.task,.workspace,.about,.site-footer,.sign-in-bar{padding-left:16px;padding-right:16px}.masthead{position:static}.page-nav{margin-inline-start:16px}.main-nav{overflow-x:auto}.topbar{flex-wrap:wrap;row-gap:8px;height:auto;min-height:64px;padding-top:14px;padding-bottom:12px}.live-stats+.theme-switcher{margin-inline-start:auto}.live-stats{flex-wrap:wrap;order:1;gap:10px;width:100%;margin-inline-start:0}.editor-panel .panel-head code{display:none}.editor-panel .last-key{margin-inline-start:auto}.check-button{width:100%}.result-stats{grid-template-columns:1fr}.result-heading{flex-direction:column;align-items:flex-start}.about-access th,.about-access td{padding:8px 6px}.about-access thead th{font-size:11px}}.screen{flex-direction:column;gap:20px;max-width:1440px;margin:0 auto;padding:28px 28px 40px;display:flex}.screen.narrow{max-width:1036px}.screen-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.screen-head .eyebrow{margin-bottom:6px}.screen-title{color:var(--text-strong);letter-spacing:-.4px;margin:0;font-size:clamp(23px,3vw,30px);font-weight:600;line-height:1.2}.screen-lead{max-width:80ch;color:var(--text-secondary);margin:6px 0 0;line-height:1.55}.screen h2{color:var(--text-strong);letter-spacing:-.2px;margin:0;font-size:19px;font-weight:600}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.grid.side-main{grid-template-columns:minmax(260px,1fr) minmax(0,2fr)}.panel{border:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;display:flex}.panel.sunken{background:var(--surface-sunken)}.panel>.panel-head{justify-content:flex-start}.panel-body{flex-direction:column;gap:12px;padding:16px;display:flex}.panel-head .muted{color:var(--text-muted);letter-spacing:0;text-transform:none;margin-inline-start:auto;font-size:13px;font-weight:400}.card{border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex}.card.accent{border-color:var(--accent-soft-border)}.card-title{color:var(--text-strong);letter-spacing:-.2px;margin:0;font-size:19px;font-weight:600}.card p{margin:0}.label,.screen .label{color:var(--text-muted);font:600 12px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:0}.screen .panel-title{color:inherit;font:inherit;letter-spacing:inherit;margin:0}.muted{color:var(--text-muted)}.secondary-text{color:var(--text-secondary)}.accent-text{color:var(--accent-text)}.danger-text{color:var(--danger-text)}.small{font-size:13px}.caption{color:var(--text-muted);font-size:12px}.mono{font-family:var(--font-mono)}.big-number{color:var(--text-strong);font:600 40px var(--font-mono);line-height:1.1}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.tile{border:1px solid var(--border);background:var(--surface-muted);flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.tile span{color:var(--text-muted);font-size:12px}.tile strong{color:var(--text-strong);font:600 21px var(--font-mono)}.tile.good{background:var(--accent-soft);border-color:var(--accent-soft-border)}.tile.weak{background:var(--removal-bg)}.tile.empty{background:0 0;border-style:dashed}.tile.current{border-color:var(--accent)}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rows>li,.rows>a{border-bottom:1px solid var(--border);min-width:0;color:var(--text);align-items:center;gap:12px;padding:10px 16px;font-size:14px;text-decoration:none;display:flex}.rows>:last-child{border-bottom:0}.rows>a:hover{background:var(--surface-muted)}.rows .grow{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.rows .me{background:var(--control);color:var(--text-strong)}.rows .current{background:var(--accent-soft)}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:28px;color:var(--text);background:var(--surface);font:12px var(--font-mono);cursor:default;align-items:center;gap:6px;padding:0 10px;text-decoration:none;display:inline-flex}button.chip,a.chip,label.chip{cursor:pointer}.chip[aria-pressed=true],.chip.on{color:var(--text-strong);background:var(--control);border-color:var(--text-secondary)}.chip input{accent-color:var(--accent);margin:0}.bar{border:1px solid var(--border);background:var(--surface-muted);height:6px}.bar>i{background:var(--accent);height:100%;display:block}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.screen .check-button,.screen .secondary-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.screen a.secondary-button{color:var(--text)}.check-button.small-button,.secondary-button.small-button{padding:5px 12px;font-size:13px}.link-button{color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.teaser{border:1px dashed var(--border-strong);background:var(--surface-sunken);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px;display:flex}.teaser-text{flex-direction:column;flex:420px;gap:8px;min-width:0;display:flex}.teaser-text .eyebrow{margin:0}.teaser p{max-width:80ch;color:var(--text-secondary);align-items:flex-start;margin:0;display:flex}.lock-icon{fill:none;stroke:currentColor;stroke-width:1.4px;flex:none;block-size:14px;inline-size:14px;margin-block-start:4px;margin-inline-end:8px}.progress-mark{color:var(--text-secondary)}.progress-mark[data-state=todo]{color:var(--text-muted)}.progress-mark[data-state=solved]{color:var(--accent-text)}.screen-state{color:var(--text-muted);font:14px var(--font-mono);text-align:center;padding:40px 16px}.screen-state.error{color:var(--danger-text)}.screen-state p{margin:0 0 12px}.screen-state p:last-child{margin:0}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week span{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);font:12px var(--font-mono);text-align:center;padding:8px 0}.week span.done{background:var(--accent-soft);color:var(--accent-soft-text);border-color:var(--accent-soft-border)}.form-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px;display:flex}.form-row:last-child{border-bottom:0}.form-row>:first-child{flex:260px}.form-row select,.form-row input[type=time],.form-row input[type=text],.screen select,.screen input[type=search]{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);background:var(--surface);font:13px var(--font-mono);padding:6px 8px}@media (width<=900px){.grid.two,.grid.three,.grid.four,.grid.main-side,.grid.side-main{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.screen{padding:20px 16px 32px}}
