:root{color:#dce7df;background:#10110f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,#25312a6b,#10110f00 360px),#10110f}button,input{font:inherit}button{border:0}button:focus-visible,input:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}.app-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:24px}.lesson-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:end;padding:8px 0 20px}.lesson-copy{max-width:780px}.terminal-path,.panel-kicker{margin:0 0 8px;color:#8bd89f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:8px;color:#f8fafc;font-size:2rem;line-height:1.1}h2{margin-bottom:10px;color:#f6f3e8;font-size:1.1rem;line-height:1.2}.lesson-copy h2{color:#fbbf24;font-size:1.35rem}.lesson-copy p:last-child{max-width:68ch;margin-bottom:0;color:#b9c8bd;line-height:1.55}.lesson-progress{display:grid;gap:10px;justify-items:end}.progress-label,.line-count{color:#9fb0a6;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.lesson-dots{display:grid;grid-template-columns:repeat(6,34px);gap:8px}.lesson-dot{width:34px;height:34px;border:1px solid #334139;border-radius:6px;color:#a7b6ad;background:#171c19;cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.lesson-dot.is-current{border-color:#7dd3fc;color:#eff6ff;background:#12313a}.lesson-dot.is-complete{border-color:#6ee7b7;color:#d1fae5;background:#123527}.lesson-dot:disabled{cursor:not-allowed;opacity:.42}.workbench-layout{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);gap:18px;align-items:start}.workbench-panel{min-width:0;border:1px solid #2d3932;border-radius:8px;background:#151814;box-shadow:0 20px 70px #00000047}.panel-bar{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2d3932;padding:14px 16px;background:#191f1b}.panel-bar h2,.panel-bar p{margin-bottom:0}.file-viewer{min-height:560px;max-height:calc(100vh - 210px);margin:0;overflow:auto;padding:14px 0;background:#0d100e;color:#d8e4dd;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.65}.file-line{display:grid;grid-template-columns:54px minmax(max-content,1fr);min-width:max-content;padding:0 16px 0 0}.line-number{padding-right:14px;color:#66746c;text-align:right;-webkit-user-select:none;user-select:none}.line-text{white-space:pre}.terminal-panel{display:grid}.icon-button{display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid #334139;border-radius:6px;color:#d7e2dc;background:#101411;cursor:pointer}.learn-block,.lesson-prompt{border-bottom:1px solid #26312c;padding:16px}.learn-block{display:grid;gap:12px;background:#111511}.lesson-prompt span,.learn-block>span,.example-command span,.command-form label,.terminal-output-title{display:block;margin-bottom:8px;color:#7dd3fc;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;text-transform:uppercase}.learn-block p,.lesson-prompt p{margin-bottom:0;color:#f4f6ef;line-height:1.5}.expected-output{margin-top:14px;overflow-x:auto;border:1px solid #26312c;border-radius:6px;padding:10px 12px;background:#0d100e}.expected-output span{color:#8bd89f}.expected-output-line{margin:0 0 8px;color:#dbe7df;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.5;white-space:pre}.expected-output-line:last-child{margin-bottom:0}.example-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.example-command code{display:block;width:100%;overflow-x:auto;border:1px solid #334139;border-radius:6px;padding:11px 12px;color:#dbe7df;background:#0b0f0c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;white-space:pre}.example-output{overflow-x:auto;border:1px solid #26312c;border-radius:6px;padding:10px 12px;background:#0d100e}.command-form{display:grid;gap:8px;border-bottom:1px solid #26312c;padding:16px}.command-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.prompt-symbol{color:#8bd89f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.command-row input{width:100%;min-height:42px;border:1px solid #334139;border-radius:6px;padding:0 12px;color:#f8fafc;background:#0b0f0c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem}.primary-button,.secondary-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:0 14px;cursor:pointer;font-size:.9rem;font-weight:700;white-space:nowrap}.primary-button{color:#07110b;background:#8bd89f}.secondary-button{border:1px solid #3b493f;color:#e7ede8;background:#1b211d}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48}.terminal-output{min-height:190px;border-bottom:1px solid #26312c;padding:16px;overflow-x:auto;background:#0d100e}.terminal-output-line,.example-output-line,.terminal-empty{margin:0 0 8px;color:#dbe7df;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:1.55;white-space:pre}.terminal-empty{color:#87958d}.text-highlight{border-radius:3px;padding:1px 2px;color:#05130b;background:#8bd89f}.text-highlight-group{color:#170f03;background:#fbbf24;box-shadow:inset 0 -2px #7dd3fce6}.text-highlight-line-number{color:#04131a;background:#7dd3fc}.feedback{display:flex;align-items:center;gap:10px;border-bottom:1px solid #26312c;padding:14px 16px;line-height:1.4}.feedback.is-pass{color:#d1fae5;background:#123527}.feedback.is-fail{color:#fee2e2;background:#3a1818}.terminal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:16px}.hint-list{margin:0;border-top:1px solid #26312c;padding:14px 16px 16px 38px;color:#d7e2dc;line-height:1.55}.hint-list li+li{margin-top:6px}.completion-note{margin:0;border-top:1px solid #26312c;padding:14px 16px;color:#fbbf24}.site-footer{display:flex;justify-content:flex-end;gap:6px;margin-top:18px;color:#9fb0a6;font-size:.88rem;line-height:1.4}.site-footer a{color:#8bd89f;text-decoration:none}.site-footer a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 980px){.lesson-header,.workbench-layout{grid-template-columns:1fr}.lesson-progress{justify-items:start}.file-viewer{min-height:280px;max-height:46vh}.site-footer{justify-content:flex-start}}@media (max-width: 640px){.app-shell{padding:14px}.lesson-header{gap:18px}h1{font-size:1.65rem}.lesson-dots{grid-template-columns:repeat(4,34px)}.panel-bar{min-height:64px;padding:12px}.command-row{grid-template-columns:auto minmax(0,1fr)}.example-command{grid-template-columns:1fr}.command-row .primary-button{grid-column:1 / -1}.primary-button,.secondary-button{width:100%}.terminal-actions{display:grid}}
