@font-face{font-family:"Perfect DOS VGA 437 Win";src:url(/fonts/Perfect_DOS_VGA_437_Win.ttf) format("truetype");font-display:swap}@font-face{font-family:"Perfect DOS VGA 437";src:url(/fonts/Perfect_DOS_VGA_437.ttf) format("truetype");font-display:swap}@font-face{font-family:Amstrad CPC464;src:url(/fonts/cpc464.woff2) format("woff2"),url(/fonts/cpc464.ttf) format("truetype");font-display:swap;unicode-range:U+0020-007E,U+00A0-024F,U+1E00-1EFF}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--case-darkest: #6d6754;--case-dark: #a59e87;--case: #c8c2ae;--case-light: #ddd7c2;--case-shine: #efe9d4;--bezel: #1a1c14;--phos-bg: #001a05;--phos-mid: #0a3a14;--phos: #33ff66;--phos-bright: #66ff99;--phos-dim: #1a8c33;--phos-rgb: 51 255 102;--phos-bright-rgb: 102 255 153;--phos-peak: #fff;--phos-warn: #ffcc33;--phos-info: #aae0ff;--phos-error: #ff5050;--font-family-screen: "Perfect DOS VGA 437 Win", "VT323", "Courier New", monospace}[data-profile=mono-p1]{--phos-bg: #001a05;--phos-mid: #0a3a14;--phos: #33ff66;--phos-bright: #66ff99;--phos-dim: #1a8c33;--phos-rgb: 51 255 102;--phos-bright-rgb: 102 255 153;--phos-peak: #fff}[data-profile=mono-p3]{--phos-bg: #1a0d00;--phos-mid: #3a2400;--phos: #ffaa33;--phos-bright: #ffcc66;--phos-dim: #aa6611;--phos-rgb: 255 170 51;--phos-bright-rgb: 255 204 102;--phos-peak: #ffeeaa}[data-profile=cga]{--phos-bg: #aa00aa;--phos-mid: #550055;--phos: #55ffff;--phos-bright: #ffffff;--phos-dim: #00aaaa;--phos-rgb: 85 255 255;--phos-bright-rgb: 255 255 255;--phos-peak: #ffffff}[data-profile=amstrad]{--phos-bg: #000080;--phos-mid: #0000cc;--phos: #ffff55;--phos-bright: #ffffff;--phos-dim: #cccc44;--phos-rgb: 255 255 85;--phos-bright-rgb: 255 255 255;--phos-peak: #ffffff;--font-family-screen: "Amstrad CPC464", "Perfect DOS VGA 437 Win", "VT323", monospace}[data-profile=ega]{--phos-bg: #0000aa;--phos-mid: #0033cc;--phos: #ffffff;--phos-bright: #ffff55;--phos-dim: #aaaaaa;--phos-rgb: 255 255 255;--phos-bright-rgb: 255 255 85;--phos-peak: #ffff55}[data-profile=vga]{--phos-bg: #000033;--phos-mid: #000088;--phos: #55ffff;--phos-bright: #ffffff;--phos-dim: #00aaaa;--phos-rgb: 85 255 255;--phos-bright-rgb: 255 255 255;--phos-peak: #ffffff}html,body{width:100%;height:100%;overflow:hidden;background:var(--case);font-family:var(--font-family-screen)}.crt-case{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--case-shine) 0%,var(--case-light) 4%,var(--case) 16%,var(--case) 84%,var(--case-dark) 100%),var(--case);box-shadow:inset 0 4px 0 var(--case-shine),inset 4px 0 0 var(--case-light),inset -4px 0 0 var(--case-darkest),inset 0 -4px 0 var(--case-darkest);padding:clamp(24px,4vmin,64px);image-rendering:pixelated;display:flex;flex-direction:column}.screw{position:absolute;width:10px;height:10px;background:var(--case-darkest);box-shadow:inset 1px 1px 0 var(--case-darkest),inset -1px -1px 0 var(--case-shine),0 0 0 2px var(--case-dark)}.screw:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:var(--case-shine);clip-path:polygon(0 40%,100% 40%,100% 60%,0 60%)}.screw.tl{top:14px;left:14px}.screw.tr{top:14px;right:14px}.screw.bl{bottom:14px;left:14px}.screw.br{bottom:14px;right:14px}.power-led{position:absolute;bottom:24px;right:60px;width:8px;height:8px;border-radius:50%;background:#2eea4d;box-shadow:0 0 8px #2eea4d,0 0 2px #afb;animation:led-pulse 2.4s ease-in-out infinite}@keyframes led-pulse{0%,to{opacity:1;box-shadow:0 0 8px #2eea4d,0 0 2px #afb}50%{opacity:.7;box-shadow:0 0 4px #2eea4d}}@media(prefers-reduced-motion:reduce){.power-led{animation:none}}.crt-controls{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:28px;align-items:flex-end;-webkit-user-select:none;user-select:none}.ctrl-group{display:flex;flex-direction:column;align-items:center;gap:1px}.ctrl-icon{color:#2a2820;font-size:16px;line-height:1;text-shadow:0 1px 0 var(--case-shine),0 0 1px rgba(0,0,0,.2);margin-bottom:2px;font-weight:700}.ctrl-pair{display:flex;gap:0}.ctrl-btn{width:22px;height:16px;border:none;cursor:pointer;background:linear-gradient(180deg,var(--case-light) 0%,var(--case) 50%,var(--case-dark) 100%);box-shadow:inset 0 1px 0 var(--case-shine),inset 0 -1px 0 var(--case-darkest),0 1px 1px #0000004d;display:inline-flex;align-items:center;justify-content:center;color:#1a1812;padding:0;transition:transform .08s,box-shadow .08s}.ctrl-btn.left{border-radius:9px 3px 3px 9px}.ctrl-btn.right{border-radius:3px 9px 9px 3px}.ctrl-btn:hover{background:linear-gradient(180deg,var(--case-shine),var(--case-light) 60%,var(--case))}.ctrl-btn:active{transform:translateY(1px);box-shadow:inset 0 1px 2px #0006,inset 0 -1px 0 var(--case-light);background:linear-gradient(180deg,var(--case-dark),var(--case))}.ctrl-btn .arrow{width:0;height:0;border-style:solid}.ctrl-btn.left .arrow{border-width:4px 6px 4px 0;border-color:transparent #1a1812 transparent transparent}.ctrl-btn.right .arrow{border-width:4px 0 4px 6px;border-color:transparent transparent transparent #1a1812}.ctrl-reset{width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;padding:0;background:radial-gradient(circle at 35% 30%,var(--case-shine) 0%,var(--case-light) 30%,var(--case) 60%,var(--case-dark) 100%);box-shadow:inset 1px 1px 0 var(--case-shine),inset -1px -1px 1px var(--case-darkest),0 1px 2px #00000059;color:#1a1812;font-size:14px;line-height:22px;display:inline-flex;align-items:center;justify-content:center;transition:transform .08s,box-shadow .08s}.ctrl-reset:hover{background:radial-gradient(circle at 35% 30%,#fff 0%,var(--case-shine) 35%,var(--case-light) 65%,var(--case) 100%)}.ctrl-reset:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #00000073,inset 0 -1px 0 var(--case-light)}.bezel{flex:1;min-height:0;background:var(--bezel);border-radius:16px;padding:8px;box-shadow:inset 0 2px 4px #000000e6,inset 0 -2px #78785a26;position:relative;margin-bottom:36px}.screen{width:100%;height:100%;border-radius:12px;background:radial-gradient(ellipse 110% 110% at 50% 50%,transparent 60%,rgba(0,0,0,.45) 100%),radial-gradient(ellipse 80% 60% at 50% 45%,var(--phos-mid) 0%,var(--phos-bg) 80%),var(--phos-bg);position:relative;overflow:hidden;box-shadow:inset 0 0 60px #0009,inset 0 0 12px rgba(var(--phos-rgb) / .1);filter:brightness(1) contrast(1);transition:filter .15s ease}.screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,#0000 0,#0000 2px,#0000002e 3px,#0000002e 3px);pointer-events:none;z-index:3}.screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--phos-rgb) / .015);pointer-events:none;z-index:4;animation:flicker 4s steps(1,end) infinite}@keyframes flicker{0%,96%,to{opacity:1}97%{opacity:.92}98%{opacity:1.05}}@media(prefers-reduced-motion:reduce){.screen:after{animation:none}}.screen.crt-degauss{animation:crt-degauss-anim .7s cubic-bezier(.2,.7,.3,1) forwards}@keyframes crt-degauss-anim{0%{filter:brightness(1) contrast(1) saturate(1) hue-rotate(0deg)}8%{filter:brightness(1.3) contrast(1.2) saturate(2.5) hue-rotate(18deg)}20%{filter:brightness(1.15) contrast(1.1) saturate(2) hue-rotate(-14deg)}35%{filter:brightness(1.1) contrast(1.05) saturate(1.6) hue-rotate(10deg)}50%{filter:brightness(1.05) contrast(1.02) saturate(1.3) hue-rotate(-6deg)}70%{filter:brightness(1.02) contrast(1) saturate(1.1) hue-rotate(3deg)}to{filter:brightness(1) contrast(1) saturate(1) hue-rotate(0deg)}}@media(prefers-reduced-motion:reduce){.screen.crt-degauss{animation:none}}.terminal{position:relative;z-index:2;padding:clamp(20px,3vmin,44px) clamp(24px,4vmin,56px);color:var(--phos);font-family:var(--font-family-screen);font-size:clamp(18px,2.4vmin,28px);line-height:1.15;text-shadow:0 0 1px var(--phos),0 0 8px rgba(var(--phos-rgb) / .65),0 0 18px rgba(var(--phos-rgb) / .35);height:100%;overflow:hidden;letter-spacing:.5px;display:flex;flex-direction:column}.header-line{flex-shrink:0;display:flex;justify-content:space-between;gap:2em;margin-bottom:1.15em}.dos{font:inherit;color:inherit;margin:0;white-space:pre-wrap;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.dos::-webkit-scrollbar{display:none}.opt{cursor:pointer;display:inline-block;padding:0 4px;margin-left:-4px}.opt:hover,.opt.focus{background:var(--phos);color:var(--phos-bg);text-shadow:none}.opt[data-disabled=true]{cursor:default;opacity:.6}.opt[data-disabled=true]:hover{background:transparent;color:var(--phos);text-shadow:0 0 1px var(--phos),0 0 8px rgba(var(--phos-rgb) / .65),0 0 18px rgba(var(--phos-rgb) / .35)}.cursor{display:inline-block;width:.55em;height:1.05em;background:var(--phos);vertical-align:-.15em;margin-left:1px;box-shadow:0 0 6px var(--phos);animation:blink 1s steps(1,end) infinite}.cursor.hidden{visibility:hidden}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}.exec-msg{color:var(--phos-bright)}.exec-warn{color:var(--phos-warn);text-shadow:0 0 6px rgba(255,204,51,.5)}.exec-info{color:var(--phos-info);text-shadow:0 0 6px rgba(170,224,255,.4)}.exec-error{color:var(--phos-error);text-shadow:0 0 6px rgba(255,80,80,.5)}.section-title{color:var(--phos-bright);text-shadow:0 0 6px rgba(var(--phos-bright-rgb) / .6)}.back-link{position:absolute;bottom:12px;right:18px;z-index:5;color:var(--phos-bright);font-family:var(--font-family-screen);font-size:14px;text-decoration:none;opacity:.95;letter-spacing:1px;text-shadow:0 0 2px var(--phos),0 0 8px rgba(var(--phos-rgb) / .7),0 0 14px rgba(var(--phos-rgb) / .35)}.back-link:hover{color:var(--phos-peak);text-shadow:0 0 4px var(--phos-peak),0 0 10px var(--phos),0 0 18px var(--phos)}.audio-toggle{position:absolute;bottom:12px;right:145px;z-index:5;background:transparent;border:none;cursor:pointer;color:var(--phos-bright);font-family:var(--font-family-screen);font-size:18px;padding:0 4px;letter-spacing:1px;opacity:.95;text-shadow:0 0 2px var(--phos),0 0 8px rgba(var(--phos-rgb) / .7),0 0 14px rgba(var(--phos-rgb) / .35);transition:opacity .15s,color .15s}.audio-toggle:hover{color:var(--phos-peak);text-shadow:0 0 4px var(--phos-peak),0 0 10px var(--phos),0 0 18px var(--phos)}.audio-toggle.muted{opacity:.4;text-decoration:line-through;text-decoration-thickness:1px}[data-profile=amstrad] .audio-toggle{right:210px}.crt-turnstile{margin:6px 0;padding:4px;border:1px dashed var(--phos-dim);width:max-content;max-width:100%}
