:root{--bg: #050507;--panel: #0a0910;--line: #33264d;--text: #dfe9e2;--dim: #9a88c6;--accent: #2ee88a;--bad: #b58cff;--font: "VT323", ui-monospace, Consolas, monospace;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{height:100%;background:#050507}body{margin:0;min-height:100%;display:grid;grid-template-columns:minmax(0,620px);place-content:center;padding:24px 16px;background:radial-gradient(ellipse at 50% 45%,rgb(110 60 190 / .08),transparent 65%),var(--bg);color:var(--text);font:28px/1.3 var(--font);text-shadow:0 0 6px rgb(160 240 200 / .16);-webkit-font-smoothing:antialiased}body.wide{grid-template-columns:minmax(0,760px)}body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgb(0 0 0 / .18) 2px 3px)}.window{background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 70px #0009,0 0 80px #6e3cbe1a;animation:power-on .7s var(--ease) backwards}.window.off{animation:power-off .45s cubic-bezier(.55,0,.75,0) forwards}.titlebar{display:flex;justify-content:space-between;padding:4px 16px;border-bottom:1px solid var(--line);color:var(--dim);font-size:.75em;letter-spacing:.12em;text-transform:uppercase}.term{padding:20px 24px 24px}.term p{margin:0;white-space:pre-wrap;min-height:1.3em}.term h1{font-size:1.6em;font-weight:400;margin:.2em 0;min-height:1.3em;color:var(--accent)}.dim{color:var(--dim)}.ok{color:var(--accent)}.bad{color:var(--bad)}a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}a:hover{background:var(--accent);color:var(--panel);text-shadow:none}.prompt{display:flex;align-items:baseline;gap:.5ch;height:1.3em}.prompt[inert] .field{visibility:hidden}.prompt label{white-space:nowrap}.field{position:relative;flex:1;min-width:0;display:flex;align-items:baseline;overflow:hidden;white-space:nowrap;color:var(--accent);letter-spacing:.15em}.field input{position:absolute;inset:0;width:100%;margin:0;padding:0;border:0;outline:0;opacity:0;font:inherit;cursor:text}.field:not(:focus-within) .cursor{opacity:.35;animation:none}.field input:disabled~.cursor{opacity:0}.cursor{display:inline-block;width:.55em;height:.95em;margin-left:.1em;vertical-align:-.12em;background:currentColor;box-shadow:0 0 8px currentColor;animation:blink 1.05s steps(1) infinite}.term p .cursor,.prompt label .cursor{animation:none}.term .cursor.idle{animation:blink 1.05s steps(1) infinite}#status.show{animation:fade-in .3s var(--ease)}.shake{animation:shake .4s var(--ease)}@keyframes blink{50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(1px)}}@keyframes power-on{0%{clip-path:inset(50% 50% 50% 50%);filter:brightness(4)}35%{clip-path:inset(calc(50% - 1px) -80px calc(50% - 1px) -80px);filter:brightness(3)}to{clip-path:inset(-80px);filter:brightness(1)}}@keyframes power-off{0%{clip-path:inset(-80px);filter:brightness(1)}60%{clip-path:inset(calc(50% - 1px) -80px calc(50% - 1px) -80px);filter:brightness(3)}to{clip-path:inset(50% 50% 50% 50%);filter:brightness(4)}}@media(max-width:520px){body{font-size:24px}.term{padding:16px 16px 20px}.titlebar{padding:4px 12px}}@media(prefers-reduced-motion:reduce){.window,.window.off,.cursor,.term .cursor.idle,#status.show,.shake{animation:none}}
