:root{color-scheme:dark;--bg:#10120f;--ink:#f3f0e7;--muted:#a0a598;--acid:#d6fa70;--line:#363c30;--orange:#ff9b59}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at 85% 20%,#32402044,transparent 55%);min-height:100svh}.shell{max-width:1100px;margin:auto;padding:0 32px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px monospace;letter-spacing:1.3px}header{padding:27px 0;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-weight:bold;display:flex;align-items:center;gap:10px}.sigil{font-size:25px;color:var(--acid)}.edition{color:var(--muted)}main{max-width:600px;margin:66px auto 70px}.eyebrow{font:11px monospace;letter-spacing:1.8px;color:var(--acid);display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 12px #d6fa7070}h1{font-size:clamp(48px,8vw,80px);line-height:.99;letter-spacing:-4px;font-weight:500;margin:25px 0}h1 em{font-family:Georgia,serif;font-weight:normal;color:var(--acid)}.intro{color:var(--muted);line-height:1.6;font-size:16px;margin-bottom:30px}.terminal{background:#181c15;border:1px solid #4a543b;border-radius:3px;box-shadow:0 18px 70px #0003;padding:24px}.terminal-head{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1.2px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px}.live{color:var(--orange)}.transfer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 15px;font:12px monospace}.transfer strong{font-size:42px;letter-spacing:-3px;font-weight:normal;color:var(--acid);white-space:nowrap}.transfer small{font-size:18px;letter-spacing:0}progress{display:block;width:100%;height:7px;border:0;background:#343c2b;accent-color:var(--acid)}progress::-webkit-progress-bar{background:#343c2b}progress::-webkit-progress-value{background:var(--acid)}progress::-moz-progress-bar{background:var(--acid)}.transfer-meta{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:.6px;margin-top:10px;color:var(--muted)}.device{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:25px;padding:17px 0;border-block:1px solid var(--line)}.device div{display:flex;flex-direction:column;gap:8px;font:12px monospace}.device span{font-size:9px;color:var(--muted);letter-spacing:1px}.device b{font-weight:normal}ol{list-style:none;padding:0;min-height:90px;font:11px/1.9 monospace;color:#aab49e}li:before{content:'› ';color:var(--acid)}.terminal-foot{display:flex;justify-content:space-between;align-items:center;font:9px monospace;letter-spacing:2px;color:#899579}.cross{font-size:18px}.escape{display:block;margin:22px auto 0;background:none;color:var(--muted);border:0;border-bottom:1px solid #59624c;padding:12px 8px;font:12px monospace;cursor:pointer;min-height:44px}footer{padding:24px 0;border-top:1px solid var(--line);color:var(--muted)}[hidden]{display:none!important}#reveal{text-align:center}#reveal .eyebrow{justify-content:center;font-size:10px}.pumpkin{font-size:65px;margin-top:25px}#reveal h1{margin-top:12px}#reveal h1 em{color:var(--orange)}.reveal-lead{font-size:22px;line-height:1.45;color:var(--muted)}.reveal-lead strong{color:var(--ink);font-weight:500}.safe-tag{display:inline-block;font:11px monospace;letter-spacing:.6px;color:var(--acid);border:1px solid #546639;background:#26301b;padding:12px 16px;margin:4px 0 10px}.explanation{font-size:15px;line-height:1.7;color:var(--muted);max-width:470px;margin:18px auto 30px}.lesson{text-align:left;background:#e8eddd;color:#1c2515;padding:28px;border-radius:3px}.lesson-number{font:10px monospace;letter-spacing:1.2px;color:#526043}h2{font-size:27px;line-height:1.15;letter-spacing:-.7px;font-weight:500}.lesson p{font-size:14px;line-height:1.65;color:#4d5744}.primary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;background:#1e2a16;color:#e8eddd;text-decoration:none;font-size:13px;margin-top:22px}.primary:hover{background:#344626}details{text-align:left;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);margin-top:15px;line-height:1.65}summary{padding:16px 0;cursor:pointer;color:var(--ink);min-height:44px}details p{margin:0 0 16px}.noscript{color:var(--muted);font-size:13px}:focus-visible{outline:2px solid var(--orange);outline-offset:5px}#reveal-title:focus{outline:none}@media(max-width:540px){.shell{padding:0 20px}header{padding:19px 0}.edition{font-size:8px;letter-spacing:.5px}main{margin:40px auto 48px}h1{letter-spacing:-2.5px}.terminal{padding:19px}.transfer{font-size:11px}.transfer strong{font-size:36px}.lesson{padding:23px}footer{font-size:8px;letter-spacing:.7px}#reveal .eyebrow{letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep every progress update a hard jump. */
progress,progress::-webkit-progress-value{transition:none;animation:none}.lesson h2{margin-top:0}

.cancel-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0;margin-bottom:8px}.cancel{background:transparent;border:1px solid #778466;border-radius:2px;color:var(--ink);padding:12px 16px;min-height:44px;font:12px monospace;cursor:pointer}.cancel:hover{background:#303828}.cancel:active{background:#414c35}#cancel-status{flex:1;min-width:140px;color:var(--orange);font:11px/1.5 monospace}

#phase{min-width:0;overflow-wrap:anywhere;line-height:1.5}#logs li{overflow-wrap:anywhere}

.qr-lesson{max-width:430px;margin:28px auto;padding-top:24px;border-top:1px solid var(--line);color:var(--ink);font-size:17px;line-height:1.55}
