*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f3;color:#203934;font:16px/1.65 system-ui,-apple-system,sans-serif;--surface:#fff;--border:#dbe2dc;--muted:#526660;--soft:#eef3ec;--accent:#a94028;--ink:#203934}body.dark{background:#152520;color:#e4eee7;--surface:#20352e;--border:#476055;--muted:#bdcec4;--soft:#2b4238;--accent:#ffb29a;--ink:#e4eee7}header,main{max-width:1500px;margin:auto;padding:24px 40px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}a{color:var(--accent);text-underline-offset:4px}header a{text-decoration:none}.brand{color:var(--ink);font-size:23px;font-weight:800;letter-spacing:-.8px}.brand span{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:22px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:48px 0 50px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:800;color:var(--accent)}h1{font-size:clamp(40px,4.8vw,69px);line-height:1.1;letter-spacing:-3px;margin:20px 0}h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--muted);font-size:18px;max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}.hero-facts{display:flex;gap:24px;margin-top:27px;color:var(--muted);font-size:13px}.hero-facts b{display:block;color:var(--ink);font-size:23px}.hero-window{border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #233c3420;transform:rotate(1deg);background:#17392f;color:#f0f6ed}.window-top{display:flex;gap:7px;align-items:center;background:#122c25;padding:15px 20px;font-size:11px;color:#c0d4c6}.window-top i{width:8px;height:8px;background:#97b5a5;border-radius:50%}.window-top span{margin-left:12px}.terminal-art{padding:30px}.terminal-label{font:12px ui-monospace,monospace;color:#f5bca4;letter-spacing:2px}.terminal-art p{color:#eef5ee;font:17px/1.8 ui-monospace,monospace}.flow{display:flex;gap:12px;margin:26px 0}.flow span{flex:1;background:#274b3c;border:1px solid #55725e;padding:14px;color:#c2d1a7;border-radius:10px;font-size:12px}.flow b{color:white;font-size:17px}.mini-task{display:flex;gap:14px;align-items:center;border-top:1px solid #45604e;padding-top:20px;font-size:13px}.mini-task>span{background:#d3e5b9;color:#234533;padding:4px 12px;border-radius:50%}.mini-task small{display:block;color:#b7d0bd}.window-foot{background:#dce8c8;color:#294533;padding:12px 20px;font-size:12px;font-weight:600}.journey{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;background:var(--soft);border:1px solid var(--border);border-radius:16px;padding:24px 30px;align-items:center}.journey h2{font-size:22px;margin:4px 0}.journey p{margin:0;color:var(--muted);font-size:14px}progress{width:100%;height:12px;accent-color:#4b7356}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:30px 0 24px;border-bottom:1px solid var(--border);padding-bottom:12px}.tabs a{padding:10px 13px;text-decoration:none;color:var(--muted);font-weight:650;font-size:14px;border-radius:8px}.tabs a[aria-current]{background:#244b3c;color:#fff}.learning-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px}.sidebar{align-self:start;position:sticky;top:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;max-height:85vh;overflow:auto}.sidebar h3{margin:0}.lesson-link{width:100%;text-align:left;font-size:13px;margin:3px 0;border:1px solid transparent;padding:10px;background:transparent;color:var(--ink);font-weight:500}.lesson-link[aria-current]{background:var(--soft);border-color:#9bb29e}.chapter-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:18px 0 6px}.lesson-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--muted);font-size:13px}.panel{background:var(--surface);border:1px solid var(--border);padding:28px;border-radius:15px;margin-bottom:18px;min-width:0}.panel h2{font-size:30px;letter-spacing:-1px;line-height:1.25;margin:8px 0 18px}.panel h3{font-size:19px;margin:8px 0 12px}.panel p{margin:12px 0}.lead{font-size:18px;line-height:1.85}.callout{background:var(--soft);border-left:4px solid #6a8b50;padding:16px 20px;border-radius:8px;margin:18px 0}.callout strong{display:block}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.triple{grid-template-columns:repeat(3,minmax(0,1fr))}button,.button{display:inline-block;border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:11px 16px;border-radius:8px;cursor:pointer;min-height:44px;font:650 14px system-ui;text-decoration:none}button:hover,.button:hover{border-color:#718d79;background:var(--soft)}button.primary,.button.primary{background:#28543f;color:white;border-color:#28543f}.quiet{background:transparent;border-color:transparent;font-size:13px}button:disabled{opacity:.45;cursor:not-allowed}label{display:block;font-size:13px;font-weight:650;margin:10px 0}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);width:100%;display:block;padding:11px 12px;border:1px solid #9aaa9e;border-radius:8px;margin:6px 0}input[type=checkbox]{display:inline;width:auto;margin-right:10px}textarea{min-height:150px;resize:vertical;font:14px/1.65 ui-monospace,monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:22px;background:#16392f;color:#e0ecdf;border-radius:12px;font:14px/1.8 ui-monospace,monospace;max-height:480px;overflow:auto}code{font-family:ui-monospace,monospace}small,.muted{color:var(--muted);font-size:13px}.badge{display:inline-block;border-radius:20px;background:var(--soft);padding:3px 10px;font-size:12px}.choices{display:grid;gap:10px}.choices button{text-align:left;font-weight:500;line-height:1.5}.choices button.chosen{border:2px solid #56815b;background:var(--soft)}.feedback{padding:12px 16px;border-radius:8px;background:var(--soft);margin-top:12px}.feedback:empty{display:none}.demo-stage{min-height:130px;background:var(--soft);border-radius:12px;padding:22px;margin:15px 0}.demo-counter{font-size:12px;color:var(--accent);font-weight:750}.task{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--border);padding:10px 0}.task span{flex:1}.done{text-decoration:line-through}.diff-good{color:#b5e5ac}.diff-bad{color:#ffc1b2}.checklist label{padding:10px;background:var(--soft);border-radius:8px}.terminal-output{min-height:230px;max-height:420px;overflow:auto;white-space:pre-wrap}.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.result-list{padding-left:22px}.resource-card{display:flex;flex-direction:column;gap:10px}.resource-card a{font-weight:700}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#183c2d;color:#fff;padding:12px 22px;border-radius:10px;max-width:90vw;z-index:5;box-shadow:0 5px 20px #0002}#notice:empty{display:none}footer{border-top:1px solid var(--border);margin-top:40px;padding:30px 0}footer p{font-size:14px;margin:6px 0}footer small{display:block;max-width:1000px;margin-top:15px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c57034;outline-offset:3px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}h2,h3,p,small,label{overflow-wrap:anywhere}@media(max-width:1050px){header,main{padding:20px}.hero{gap:28px}.learning-layout{grid-template-columns:240px minmax(0,1fr)}.triple{grid-template-columns:1fr 1fr}}@media(max-width:760px){.hero,.journey,.learning-layout,.grid,.triple{grid-template-columns:1fr}.hero{padding:25px 0}.hero-window{transform:none}.hero-facts{gap:20px}.sidebar{position:static;max-height:330px}.panel{padding:20px}.panel h2{font-size:26px}h1{letter-spacing:-1.5px}.head-actions{gap:8px}.head-actions a{font-size:12px}.brand span{display:none}header,main{padding:16px}.terminal-art{padding:22px}.journey{padding:20px}.tabs a{font-size:13px;padding:9px}.hero p{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero,.tabs,.sidebar,.actions,button,#notice,footer{display:none}body{background:white;color:black}.learning-layout,.grid{display:block}.panel{break-inside:avoid;border:1px solid #ccc}pre{color:black;background:#eee}.journey{display:none}}
