:root{font-family:Iosevka Term,JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;color:#c8d0c3;background:#0b0d0e;font-synthesis:none;text-rendering:optimizeLegibility;--font-mono: "Iosevka Term", "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--bg: #0b0d0e;--surface: #111416;--surface-strong: #171b1d;--line: #2a2f2c;--line-soft: #1c211f;--text: #c8d0c3;--text-strong: #edf2e9;--muted: #7d887f;--dim: #667068;--green: #a9dc76;--amber: #ffd866;--cyan: #78dce8;--pink: #ff6188;--purple: #ab9df2;--orange: #fc9867;--tabline-height: 64px;--statusline-height: 62px;--commandline-height: 68px;--gutter-width: 126px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}button,a,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button,a{outline:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{box-shadow:inset 0 -2px 0 var(--cyan)}button{border:0;padding:0;background:transparent;cursor:pointer}h1,h2,h3,p,pre,dl,dd,ol,ul{margin:0}ol,ul{padding:0}#root,.app-shell,.nvim-app,.nvim-route{min-height:100vh;min-height:100svh}.nvim-route{background:var(--bg)}.nvim-screen{display:grid;grid-template-rows:var(--tabline-height) minmax(0,1fr) var(--statusline-height) var(--commandline-height);width:100%;height:100vh;height:100svh;overflow:hidden;background:var(--bg);color:var(--text)}.nvim-exercise{outline:none}.nvim-exercise:focus-visible{box-shadow:inset 0 0 0 1px #78dce86b}.nvim-exercise-footer{display:contents}.nvim-tabline{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;min-width:0;padding:0 38px;border-bottom:1px solid var(--line);background:#0d1011;color:var(--muted);font-size:22px;letter-spacing:.015em}.nvim-tabline>:first-child{justify-self:start;color:var(--green);font-weight:650}.nvim-tabline>:last-child{justify-self:end}.nvim-tabline a:hover,.nvim-tabline button:hover{color:var(--text-strong)}.nvim-tabline-context{display:flex;min-width:0;align-items:center;justify-content:center;color:var(--text);white-space:nowrap}.nvim-tabline-progress{color:var(--cyan)}.nvim-language-switcher{display:flex;align-items:center;justify-self:end;gap:14px}.nvim-language-switcher button{color:var(--dim);line-height:var(--tabline-height)}.nvim-language-switcher button[aria-pressed=true]{color:var(--green)}.nvim-buffer{min-width:0;min-height:0;overflow:auto;scrollbar-color:var(--line) transparent;scrollbar-width:thin;background:var(--bg)}.nvim-exercise>.nvim-buffer{padding:38px 0 76px}.nvim-solution-review{display:grid;grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);margin:38px 40px 0 var(--gutter-width);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1011}.nvim-review-verdict{display:grid;align-content:center;gap:10px;padding:24px 28px;border-right:1px solid var(--line)}.nvim-review-verdict strong{color:var(--green);font-size:clamp(24px,2vw,34px);letter-spacing:.12em}.nvim-review-verdict span{color:var(--muted)}.nvim-review-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nvim-review-paths>div{min-width:0;padding:18px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.nvim-review-paths>div:nth-child(2n){border-right:0}.nvim-review-paths>div:nth-last-child(-n+2){border-bottom:0}.nvim-review-paths dt{margin-bottom:10px;color:var(--dim);font-size:14px;text-transform:uppercase}.nvim-review-paths dd{display:flex;min-height:28px;align-items:center;gap:8px;overflow-x:auto;color:var(--text-strong)}.nvim-review-paths kbd{display:inline-flex;min-width:2em;min-height:2em;align-items:center;justify-content:center;padding:2px 8px;border:1px solid var(--line);background:var(--surface-strong);color:var(--cyan);font-family:var(--font-mono);font-size:16px;white-space:pre}.nvim-buffer-line{display:grid;grid-template-columns:var(--gutter-width) minmax(0,1fr);min-width:max-content;min-height:58px;align-items:center;padding-right:40px}.nvim-buffer-line.is-current-line{background:var(--surface)}.nvim-gutter{display:inline-grid;grid-template-columns:42px 48px;column-gap:12px;justify-content:end;align-items:center;align-self:stretch;padding-right:18px;color:var(--dim);font-size:20px;font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none}.nvim-line-number{min-width:2ch;color:var(--dim);text-align:right}.nvim-gutter-marker{color:var(--amber);font-size:26px;text-align:center;text-shadow:0 0 12px rgba(255,216,102,.18)}.nvim-code-line{display:block;min-width:1ch;min-height:1.7em;color:var(--text-strong);font-family:var(--font-mono);font-size:clamp(31px,2.15vw,38px);line-height:1.75;white-space:pre}.nvim-exercise .nvim-buffer-line{min-height:78px}.nvim-cursor{display:inline-block;min-width:.66em;background:var(--cyan);color:var(--bg);box-shadow:0 0 14px #78dce829}.nvim-target-cell{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px;text-shadow:0 0 12px rgba(169,220,118,.18)}.nvim-syntax-comment{color:var(--dim)}.nvim-syntax-keyword{color:var(--pink)}.nvim-syntax-number{color:var(--purple)}.nvim-syntax-string{color:var(--green)}.nvim-syntax-property{color:var(--cyan)}.nvim-syntax-bracket{color:var(--amber)}.nvim-statusline{display:flex;align-items:stretch;min-width:0;min-height:var(--statusline-height);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1011;color:var(--muted);font-size:18px;white-space:nowrap}.nvim-statusline>strong,.nvim-statusline>span,.nvim-status-segment{display:inline-flex;min-width:0;align-items:center;gap:14px;padding:0 32px;border-right:1px solid var(--line)}.nvim-statusline>strong:first-child,.nvim-mode{flex:0 0 auto;background:#0d1011;color:var(--green);font-weight:750}.nvim-statusline>span:last-child{margin-left:auto;border-right:0}.nvim-status-segment span{color:var(--dim)}.nvim-status-segment strong{color:var(--text-strong);font-weight:550}.nvim-command-set strong{color:var(--text);letter-spacing:.18em}.nvim-command-set{flex:1 1 auto}.nvim-mode{flex-basis:168px}.nvim-status-segment:not(.nvim-mode,.nvim-command-set,.nvim-progress){flex:0 0 220px}.nvim-progress{flex:0 0 170px;margin-left:auto;border-right:0}.nvim-progress strong{color:var(--cyan)}.nvim-commandline{display:flex;min-width:0;min-height:var(--commandline-height);align-items:center;gap:20px;overflow:hidden;padding:0 38px;background:#090b0c;color:var(--text);font-size:20px;white-space:nowrap}.nvim-command-palette{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;min-width:0;height:var(--commandline-height);align-items:center;gap:24px;padding:0 38px;border-top:1px solid var(--line);background:#090b0c;color:var(--text);font-size:20px}.nvim-command-form{display:flex;min-width:0;flex:1 1 auto;align-items:center}.nvim-command-prompt{flex:0 0 auto;color:var(--cyan)}.nvim-command-input{min-width:0;flex:1 1 auto;border:0;outline:0;padding:0;background:transparent;color:var(--text-strong);caret-color:var(--green)}.nvim-command-feedback{min-width:0;flex:0 1 auto;overflow:hidden;color:var(--amber);text-overflow:ellipsis;white-space:nowrap}.nvim-command-message{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis}.nvim-command-hints{display:flex;min-width:0;align-items:center;gap:34px;margin-left:auto;overflow:hidden;color:var(--dim);text-overflow:ellipsis}.nvim-replay-status{flex:0 0 auto;color:var(--purple)}.nvim-vim-hint{margin-left:auto;overflow:hidden;color:var(--dim);text-overflow:ellipsis}.nvim-command-hints span:first-child{color:var(--text)}.nvim-target-hint{color:var(--amber)}.nvim-primary-command,.nvim-secondary-command{color:var(--text)}.nvim-primary-command{color:var(--cyan)}.nvim-secondary-command{color:var(--muted)}.nvim-primary-command:hover,.nvim-secondary-command:hover{color:var(--green)}.nvim-key-hint{margin-left:auto;color:var(--dim)}.nvim-dashboard-buffer,.nvim-lesson-buffer,.nvim-results-buffer{padding:28px 0 48px}.nvim-dashboard-heading{min-height:70px;align-items:start}.nvim-dashboard-heading h1,.nvim-lesson-buffer h1,.nvim-results-buffer h1{color:var(--text-strong);font-size:22px;font-weight:600;line-height:1.5}.nvim-dashboard-heading p,.nvim-comment-line p{max-width:76ch;color:var(--dim);font-size:14px;line-height:1.65}.nvim-fingerprint-coach{margin:18px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1011}.nvim-fingerprint-line{min-height:74px}.nvim-coach-line{min-height:58px;border-top:1px solid var(--line-soft)}.nvim-fingerprint-body{display:grid;grid-template-columns:minmax(320px,1fr) auto;align-items:center;gap:28px}.nvim-insight-lead{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:8px 18px}.nvim-insight-lead code,.nvim-coach-body code{color:var(--cyan);font-family:var(--font-mono)}.nvim-insight-lead strong{color:var(--green);font-size:16px;font-weight:600}.nvim-insight-lead span{flex-basis:100%;color:var(--dim);font-size:12px}.nvim-fingerprint-axes{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr))}.nvim-fingerprint-axes>div{display:grid;gap:4px;padding:0 16px;border-left:1px solid var(--line)}.nvim-fingerprint-axes dt{color:var(--dim);font-size:11px}.nvim-fingerprint-axes dd{color:var(--text-strong);font-size:14px;font-variant-numeric:tabular-nums}.nvim-coach-body{display:grid;grid-template-columns:auto auto minmax(150px,auto) auto minmax(220px,1fr) auto;align-items:baseline;gap:12px 22px;min-width:780px}.nvim-coach-body strong{color:var(--amber);font-weight:600}.nvim-coach-target{color:var(--text-strong)}.nvim-coach-commands{color:var(--purple);letter-spacing:.08em}.nvim-coach-evidence{color:var(--muted);font-size:13px}.nvim-coach-action{color:var(--cyan);white-space:nowrap}.nvim-coach-action:hover{color:var(--green)}.nvim-lesson-list{list-style:none}.nvim-lesson-row{grid-template-columns:var(--gutter-width) 40px minmax(280px,1fr) minmax(110px,auto) minmax(110px,auto);min-width:920px;min-height:58px;border-top:1px solid var(--line-soft)}.nvim-lesson-row:last-child{border-bottom:1px solid var(--line-soft)}.nvim-lesson-row.is-current{background:var(--surface)}.nvim-lesson-row:focus-within{background:var(--surface-strong)}.nvim-lesson-row:focus-within .nvim-lesson-marker,.nvim-lesson-row:focus-within .nvim-lesson-index{color:var(--amber)}.nvim-lesson-row.is-locked,.nvim-lesson-marker{color:var(--dim)}.nvim-lesson-row.is-current .nvim-lesson-marker,.nvim-lesson-row.is-current .nvim-lesson-index{color:var(--amber)}.nvim-lesson-row.is-complete .nvim-lesson-marker{color:var(--green)}.nvim-lesson-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.nvim-lesson-link{display:flex;min-width:0;align-items:baseline;gap:14px}a.nvim-lesson-link:hover strong{color:var(--green)}.nvim-lesson-index{color:var(--cyan);font-variant-numeric:tabular-nums}.nvim-lesson-link strong{overflow:hidden;color:var(--text);font-size:15px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.nvim-lesson-summary{overflow:hidden;color:var(--dim);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.nvim-lesson-commands{color:var(--purple);letter-spacing:.08em}.nvim-lesson-result{padding-right:34px;color:var(--muted);text-align:right}.nvim-lesson-buffer{padding-top:64px}.nvim-lesson-buffer .nvim-buffer-line{min-height:46px}.nvim-comment-line{align-items:start}.nvim-comment-line>:last-child:before{color:var(--dim);content:"// "}.nvim-lesson-buffer h2,.nvim-results-notes h2{color:var(--cyan);font-size:15px;font-weight:550}.nvim-command-list{margin-bottom:36px}.nvim-command-row{grid-template-columns:var(--gutter-width) 88px minmax(0,1fr)}.nvim-command-row code{color:var(--amber);font-size:18px}.nvim-command-row>span:last-child{max-width:72ch;color:var(--text);line-height:1.55}.nvim-metadata,.nvim-results-metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));margin:18px 40px 0 var(--gutter-width);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nvim-metadata>div,.nvim-results-metrics>div{display:grid;gap:8px;padding:18px 20px;border-right:1px solid var(--line)}.nvim-metadata>div:last-child,.nvim-results-metrics>div:last-child{border-right:0}.nvim-metadata dt,.nvim-results-metrics dt{color:var(--dim);font-size:12px}.nvim-metadata dd,.nvim-results-metrics dd{color:var(--text-strong);font-size:16px}.nvim-results-buffer{padding-top:54px}.nvim-write-message{margin-bottom:6px;color:var(--green)}.nvim-score-line{grid-template-columns:var(--gutter-width) auto minmax(0,1fr);gap:28px;margin-top:10px}.star-line{color:var(--amber);letter-spacing:.16em}[class^=mastery-],[class*=" mastery-"]{color:var(--green);font-size:14px;font-weight:500}.nvim-results-metrics{grid-template-columns:repeat(6,minmax(110px,1fr));margin-top:28px}.nvim-results-notes{margin:36px 40px 0 var(--gutter-width);padding-top:20px;border-top:1px solid var(--line)}.nvim-results-notes>p{max-width:88ch;margin-top:10px;color:var(--muted);line-height:1.55}.nvim-results-notes ul{display:grid;gap:12px;max-width:1000px;margin-top:22px;list-style:none}.nvim-results-notes li{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:22px}.nvim-results-notes li strong{color:var(--pink);font-weight:500}.nvim-results-notes li span{color:var(--muted)}.empty-state{display:grid;min-height:100vh;min-height:100svh;place-content:center;gap:14px;padding:28px;background:var(--bg);color:var(--text);text-align:left}.empty-state:before{color:var(--pink);content:"E486:"}.empty-state h1{color:var(--text-strong);font-size:20px;font-weight:550}.empty-state p{max-width:64ch;color:var(--muted);line-height:1.6}.empty-state a{color:var(--cyan)}.command-tag{color:var(--amber)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}@media(max-width:980px){:root{--gutter-width: 72px}.nvim-tabline{grid-template-columns:1fr auto;padding:0 18px}.nvim-tabline>:nth-child(2){display:none}.nvim-buffer-line{padding-right:20px}.nvim-statusline>strong,.nvim-statusline>span,.nvim-status-segment{padding:0 14px}.nvim-status-segment:nth-last-child(2){display:none}.nvim-command-hints{gap:12px}.nvim-command-hints span:nth-child(n+3){display:none}.nvim-metadata{grid-template-columns:repeat(2,minmax(120px,1fr))}.nvim-metadata>div:nth-child(2){border-right:0}.nvim-metadata>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.nvim-results-metrics{grid-template-columns:repeat(3,minmax(110px,1fr))}.nvim-results-metrics>div:nth-child(3){border-right:0}.nvim-results-metrics>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.nvim-fingerprint-body{grid-template-columns:minmax(240px,1fr) auto;gap:14px}.nvim-fingerprint-axes>div{padding:0 10px}.nvim-coach-body{min-width:700px}}@media(max-width:700px){:root{--tabline-height: 34px;--statusline-height: 32px;--commandline-height: 38px;--gutter-width: 54px}.nvim-tabline{padding:0 12px;font-size:13px}.nvim-exercise>.nvim-buffer{padding-top:24px}.nvim-solution-review{grid-template-columns:1fr;margin-right:12px;margin-left:12px}.nvim-review-verdict{border-right:0;border-bottom:1px solid var(--line)}.nvim-buffer-line{min-height:38px;padding-right:12px}.nvim-gutter{grid-template-columns:18px 24px;gap:4px;padding-right:8px}.nvim-code-line{font-size:17px}.nvim-statusline{font-size:12px}.nvim-status-segment{padding:0 10px}.nvim-command-set span,.nvim-status-segment:nth-child(5),.nvim-status-segment:nth-child(6){display:none}.nvim-commandline{gap:8px;padding:0 12px;font-size:12px}.nvim-command-palette{gap:10px;padding:0 12px;font-size:12px}.nvim-command-feedback{max-width:58%}.nvim-command-hints span:not(:first-child){display:none}.nvim-dashboard-buffer,.nvim-lesson-buffer,.nvim-results-buffer{padding-top:24px}.nvim-fingerprint-coach{margin-top:12px;margin-bottom:18px}.nvim-fingerprint-line{min-height:92px}.nvim-fingerprint-body{grid-template-columns:1fr;gap:10px;min-width:480px}.nvim-fingerprint-axes{justify-self:start}.nvim-fingerprint-axes>div:first-child{padding-left:0;border-left:0}.nvim-coach-line{min-height:76px}.nvim-coach-body{grid-template-columns:auto auto minmax(150px,1fr) auto;gap:6px 12px;min-width:500px}.nvim-coach-commands{display:none}.nvim-coach-evidence{grid-column:2 / 4}.nvim-coach-action{grid-column:4;grid-row:1 / 3;align-self:center}.nvim-lesson-row{grid-template-columns:var(--gutter-width) 34px minmax(220px,1fr) 90px;min-width:560px}.nvim-lesson-summary,.nvim-lesson-result{display:none}.nvim-metadata,.nvim-results-metrics,.nvim-results-notes{margin-right:12px;margin-left:var(--gutter-width)}.nvim-metadata{grid-template-columns:1fr}.nvim-metadata>div{border-right:0;border-bottom:1px solid var(--line)}.nvim-metadata>div:last-child{border-bottom:0}.nvim-results-metrics{grid-template-columns:repeat(2,minmax(100px,1fr))}.nvim-results-metrics>div:nth-child(2n){border-right:0}.nvim-results-metrics>div:nth-child(-n+4){border-bottom:1px solid var(--line)}.nvim-results-notes li{grid-template-columns:1fr;gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
