:root{--crt-bg:#0a0f0a;--crt-bg-raised:#101810;--crt-fg:#3f6;--crt-fg-dim:#1e9940;--crt-amber:#ffb000;--crt-red:#f54;--crt-border:#1e4028;--crt-glow:51, 255, 102;--font-mono:"Cascadia Mono", "JetBrains Mono", "Fira Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}html[data-theme=amber]{--crt-bg:#0f0a04;--crt-bg-raised:#191106;--crt-fg:#ffb000;--crt-fg-dim:#9a6a00;--crt-amber:#ffd75f;--crt-red:#f54;--crt-border:#4a3510;--crt-glow:255, 176, 0}*{box-sizing:border-box}html,body{background:var(--crt-bg);color:var(--crt-fg);font-family:var(--font-mono);min-height:100vh;margin:0;padding:0;font-size:15px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000001f 0 1px,#0000 1px 3px),radial-gradient(#0000 60%,#00000059 100%);position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){body:before{animation:8s infinite flicker}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.85}94%{opacity:1}}}a{color:var(--crt-amber);text-decoration:none}a:hover{text-shadow:0 0 6px var(--crt-amber);text-decoration:underline}h1,h2,h3{color:var(--crt-fg);text-shadow:0 0 8px rgba(var(--crt-glow), .5);font-weight:600}h1:before{content:"# ";color:var(--crt-fg-dim)}h2:before{content:"## ";color:var(--crt-fg-dim)}main{max-width:1180px;margin:0 auto;padding:2rem 1.5rem}:root{--drawer-w:min(44vw, 720px)}body.files-open main,body.files-open nav{max-width:none;margin:0 calc(var(--drawer-w) + 1.5rem) 0 0}nav{border-bottom:1px solid var(--crt-border);gap:1.5rem;max-width:900px;margin:0 auto;padding:.75rem 1.5rem;display:flex}nav:before{content:"$";color:var(--crt-fg-dim)}button{font-family:var(--font-mono);background:var(--crt-bg-raised);color:var(--crt-fg);border:1px solid var(--crt-fg-dim);cursor:pointer;margin:.25rem .25rem .25rem 0;padding:.45rem 1.1rem;font-size:.95rem}button:hover:not(:disabled){background:var(--crt-fg-dim);color:var(--crt-bg);box-shadow:0 0 10px rgba(var(--crt-glow), .4)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{font-family:var(--font-mono);background:var(--crt-bg-raised);color:var(--crt-fg);border:1px solid var(--crt-border);width:100%;max-width:24rem;padding:.45rem .6rem;font-size:.95rem;display:block}input:focus,select:focus,textarea:focus,button:focus-visible{outline:1px solid var(--crt-fg);box-shadow:0 0 8px rgba(var(--crt-glow), .4)}label{color:var(--crt-fg-dim);margin:.9rem 0 .3rem;display:block}label:before{content:"> "}form{margin:1rem 0}[role=alert]{color:var(--crt-red)}[role=alert]:before{content:"[ERR] "}[role=status]{color:var(--crt-amber)}[role=status]:before{content:"[OK] "}ul{padding-left:0;list-style:none}ul li:before{content:"・";color:var(--crt-fg-dim)}code{background:var(--crt-bg-raised);border:1px solid var(--crt-border);word-break:break-all;padding:.1rem .35rem}pre{background:var(--crt-bg-raised);border:1px solid var(--crt-border);padding:1rem;overflow-x:auto}pre code{border:none;padding:0}table{border-collapse:collapse;margin:1rem 0}th,td{border:1px solid var(--crt-border);text-align:left;padding:.4rem .8rem}th{color:var(--crt-amber)}.term-window{background:var(--crt-bg-raised);border:1px solid var(--crt-border);box-shadow:0 0 30px rgba(var(--crt-glow), .08);border-radius:6px;margin:1.5rem 0;overflow:hidden}.term-titlebar{border-bottom:1px solid var(--crt-border);color:var(--crt-fg-dim);align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;display:flex}.term-titlebar .dot{background:var(--crt-fg-dim);opacity:.6;border-radius:50%;width:10px;height:10px}.term-body{padding:1.2rem}.term-host{height:65vh;min-height:24rem;padding:.5rem;overflow:hidden}.term-host--mirror{overflow:auto}.file-drawer{width:var(--drawer-w);z-index:50;border-top:none;border-bottom:none;border-right:none;border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #00000080}@media (max-width:900px){.file-drawer{width:92vw}.drawer-resizer{display:none}}.drawer-resizer{cursor:col-resize;z-index:51;touch-action:none;width:9px;position:absolute;top:0;bottom:0;left:-4px}.drawer-resizer:hover,body.drawer-resizing .drawer-resizer{background:linear-gradient(to right, transparent 3px, var(--crt-fg-dim) 4px, var(--crt-fg-dim) 5px, transparent 6px)}body.drawer-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.mode-switch{border:1px solid var(--crt-fg-dim);vertical-align:middle;display:inline-flex}.mode-seg{color:var(--crt-fg-dim);cursor:pointer;background:0 0;border:none;margin:0;padding:.3rem .9rem;font-size:.85rem}.mode-seg+.mode-seg{border-left:1px solid var(--crt-fg-dim)}.mode-seg--active{background:var(--crt-fg);color:var(--crt-bg);box-shadow:0 0 10px rgba(var(--crt-glow), .5);cursor:default}.mode-seg:hover:not(.mode-seg--active){color:var(--crt-fg)}.shell-tabs{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.5rem 0 .25rem;display:flex}.shell-tab{border:1px solid var(--crt-fg-dim);color:var(--crt-fg-dim);background:0 0;align-items:center;padding:.1rem .5rem;font-size:.85rem;display:inline-flex}.shell-tab--active{color:var(--crt-fg);border-color:var(--crt-fg)}.shell-tab button,.shell-tab.shell-tab-new{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.shell-tab-close{opacity:.7;margin-left:.45rem}.shell-tab-close:hover{color:var(--crt-red);opacity:1}.shell-tab-new{padding:.1rem .55rem}.shell-tab-new:hover,.shell-tab .shell-tab-label:hover{color:var(--crt-fg)}.file-viewer-body{flex:1;overflow-y:auto}.file-list{margin:0;padding:0;list-style:none}.file-list li{margin:.2rem 0}.file-list button,.file-viewer-body button{color:var(--crt-fg);cursor:pointer;font:inherit;background:0 0;border:none;padding:.1rem .2rem}.file-list button:hover,.file-viewer-body button:hover{color:var(--crt-amber)}.boot-line{white-space:pre-wrap;margin:0}.cursor:after{content:"█";color:var(--crt-fg)}@media (prefers-reduced-motion:no-preference){.cursor:after{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}}.whoami-prompt{cursor:pointer;color:var(--crt-amber);background:0 0;border:none;padding:0;font-size:1rem}.whoami-prompt:hover{text-shadow:0 0 8px var(--crt-amber);color:var(--crt-amber);background:0 0}.terminal-content img{max-width:100%}.terminal-content blockquote{border-left:3px solid var(--crt-fg-dim);color:var(--crt-fg-dim);margin-left:0;padding-left:1rem}.slide-counter{color:var(--crt-amber);border-top:1px dashed var(--crt-border);margin-top:1.5rem;padding-top:.5rem;font-size:.85rem}@media (prefers-reduced-motion:no-preference){.slide{animation:.25s steps(8,end) slide-wipe}@keyframes slide-wipe{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}}code.language-demo,code.language-live{min-height:1.5em;display:block}@media (prefers-reduced-motion:no-preference){.reveal-print{clip-path:inset(0);animation:.8s steps(24,end) reveal-print}@keyframes reveal-print{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}}.course-menu{margin:.5rem 0}.menu-group{margin-bottom:.75rem}.menu-module{color:var(--crt-fg);margin:.5rem 0 .25rem}.menu-item{text-align:left;width:100%;color:var(--crt-fg);white-space:pre;background:0 0;border:none;margin:0;padding:.15rem .5rem;font-size:.95rem;display:block}.menu-item:hover:not(:disabled){color:var(--crt-fg);box-shadow:none;background:0 0}.menu-item.selected{background:var(--crt-fg-dim);color:var(--crt-bg);box-shadow:0 0 10px rgba(var(--crt-glow), .3)}.menu-item.selected span{color:var(--crt-bg)!important}.menu-pointer{color:var(--crt-amber);font-weight:700}.menu-check{color:var(--crt-amber)}.menu-hint{color:var(--crt-fg-dim);margin-top:.5rem;font-size:.8rem}.journey-nav{border:none;border-top:1px solid var(--crt-border);justify-content:space-between;align-items:center;gap:1rem;max-width:none;margin-top:1rem;padding:.75rem 0 0;display:flex}.journey-nav:before{content:none}.journey-btn{background:var(--crt-bg-raised);border:1px solid var(--crt-fg-dim);color:var(--crt-amber);font-family:var(--font-mono);cursor:pointer;padding:.4rem .9rem;font-size:.9rem}.journey-btn:hover{background:var(--crt-fg-dim);color:var(--crt-bg);box-shadow:0 0 10px rgba(var(--crt-glow), .4);text-decoration:none}.journey-pos{color:var(--crt-fg-dim);font-size:.85rem}.term-restart{background:var(--crt-bg);border:1px solid var(--crt-fg-dim);color:var(--crt-amber);margin-left:auto;padding:.15rem .5rem;font-size:.75rem}.term-restart:hover:not(:disabled){background:var(--crt-fg-dim);color:var(--crt-bg)}.term-starting{color:var(--crt-amber);margin-left:.5rem;font-size:.75rem}.designer-split{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.designer-split>.term-window{flex:26rem;min-width:0}.tree{font-size:.95rem}.tree-root{color:var(--crt-amber);margin:0 0 .25rem}.tree-module{margin:0 0 .75rem 1rem}.tree-dir{color:var(--crt-fg);margin:.25rem 0}.tree-dir>span:first-child{color:var(--crt-amber)}.tree-items{margin:0 0 .25rem 1rem;padding:0}.tree-items li{list-style:none}.tree details{margin:.1rem 0 .1rem 1rem}.tree summary{cursor:pointer;color:var(--crt-fg-dim);font-size:.85rem}.tree summary:hover{color:var(--crt-fg)}.tree details[open] summary{color:var(--crt-amber)}.inline-form{margin:0;display:inline}.inline-form button{margin:0 .1rem;padding:0 .35rem;font-size:.8rem;line-height:1.4}.field-hint{color:var(--crt-fg-dim);margin:.15rem 0;font-size:.8rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.danger-zone{border-top:1px dashed var(--crt-red);margin-top:1.5rem;padding-top:.75rem}.danger-zone button{border-color:var(--crt-red);color:var(--crt-red)}.danger-zone button:hover{background:var(--crt-red);color:var(--crt-bg)}.md-editor{flex-wrap:wrap;align-items:stretch;gap:1rem;margin:.75rem 0;display:flex}.md-editor-source{flex:22rem;min-width:0}.md-editor-source textarea{resize:vertical;width:100%;max-width:none;min-height:24rem;line-height:1.5}.md-editor-preview{border:1px solid var(--crt-border);background:var(--crt-bg-raised);flex-direction:column;flex:22rem;min-width:0;padding:.5rem .75rem;display:flex}.slide-tabs{border-bottom:1px dashed var(--crt-border);padding-bottom:.25rem}.slide-tabs button{color:var(--crt-fg-dim);background:0 0;border:none;padding:0 .2rem;font-size:.85rem}.slide-tabs button:hover{color:var(--crt-fg);box-shadow:none;background:0 0}.slide-tabs button.active{color:var(--crt-amber)}.slide-preview{flex:1;min-height:0;overflow:auto}.slide-preview img{max-width:100%}.modeline{color:var(--crt-fg-dim);border-top:1px dashed var(--crt-border);margin:.5rem 0 0;padding-top:.25rem;font-size:.8rem}
