:root{color-scheme:dark;--case:#dedac7;--screen:#101b1c;--green:#c7f6a9;--muted:#9cb8a2;--ink:#15201f;--edge:#657470;font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,"Courier New",monospace;background:#008080;color:var(--green)}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100vh;min-height:100svh;display:grid;grid-template-rows:1fr auto;background:#008080}
.desktop-sprites{position:absolute;width:0;height:0;overflow:hidden}
.win95-desktop{display:grid;place-items:center;position:relative;min-width:0;padding:17px clamp(100px,11vw,142px) 20px}
.desktop-icons{position:absolute;left:14px;top:18px;display:grid;gap:20px;list-style:none;margin:0;padding:0;font:12px/1.15 Tahoma,"MS Sans Serif",Arial,sans-serif;color:#fff;text-shadow:1px 1px #003e3e}
.desktop-icons li{display:grid;justify-items:center;gap:4px;width:78px;text-align:center}
.desktop-icons svg{width:36px;height:36px;shape-rendering:crispEdges;filter:drop-shadow(1px 1px #005455)}
.win95-taskbar{position:sticky;bottom:0;z-index:4;display:flex;align-items:stretch;gap:5px;min-height:36px;padding:3px max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));border-top:2px solid #f6f6f6;background:#c0c0c0;color:#111;color-scheme:light;font:12px/1 Tahoma,"MS Sans Serif",Arial,sans-serif;box-shadow:0 -1px #808080}
.win95-taskbar svg{width:16px;height:16px;flex:none;shape-rendering:crispEdges}
.win95-start{position:relative;flex:none;display:flex}
.win95-start>summary,.win95-current{display:flex;align-items:center;gap:5px;min-height:29px;padding:4px 7px;border:2px solid;border-color:#fff #353535 #353535 #fff;background:#c0c0c0;color:#101010;cursor:pointer;box-shadow:inset -1px -1px #828282}
.win95-start>summary{height:100%;font-size:13px;font-weight:800;list-style:none}
.win95-start>summary::-webkit-details-marker{display:none}
.win95-start[open]>summary,.win95-current{border-color:#535353 #fff #fff #535353;box-shadow:inset 1px 1px #8a8a8a;background:#e2e2e2}
.win95-current{width:clamp(0px,23vw,190px);min-width:0;font:inherit;font-weight:700;text-align:left}
.win95-current span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.win95-tray{display:flex;align-items:center;flex:none;gap:6px;margin-left:auto;padding:2px 7px;border:1px solid;border-color:#858585 #fff #fff #858585}
.win95-clock{min-width:44px;text-align:right;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}
.win95-start-panel{position:absolute;bottom:calc(100% + 4px);left:0;display:flex;width:193px;padding:2px;border:2px solid;border-color:#fff #343434 #343434 #fff;background:#c0c0c0;box-shadow:2px 2px #0006}
.win95-start-banner{padding:6px 4px;background:#828282;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;line-height:1;font-weight:700}
.win95-start-banner b{color:#e6e6e6;font-weight:400}
.win95-start-links{flex:1;min-width:0}
.win95-start-links a{display:flex;gap:8px;align-items:center;min-height:43px;padding:5px 8px;color:#111;text-decoration:none}
.win95-start-links a:hover,.win95-start-links a:focus-visible{background:#000080;color:#fff;outline:0}
.win95-taskbar :is(summary,button):focus-visible{outline:1px dotted #111;outline-offset:-5px}
.terminal{width:min(100%,620px);padding:clamp(12px,3.4vw,26px);background:var(--case);color:var(--ink);border:3px solid #f3ecdb;border-right-color:#969985;border-bottom-color:#969985;border-radius:14px;box-shadow:6px 8px 0 #0a1423,0 24px 64px #0006}
.terminal-brand{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:1px 1px 14px;font-size:12px;font-weight:800;letter-spacing:.13em;color:#243958}
.terminal-model{font-size:10px;letter-spacing:.08em;color:#78303b;border:1px solid currentColor;padding:3px 5px;white-space:nowrap}
.terminal-screen{position:relative;isolation:isolate;padding:clamp(18px,4.5vw,33px);background:var(--screen);color:var(--green);border:4px solid #6e766d;border-right-color:#f2ead8;border-bottom-color:#f2ead8;border-radius:6px;box-shadow:inset 0 0 34px #0006}
.terminal-screen::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px)}
.terminal-heading{border-bottom:1px dashed #4d6457;padding-bottom:17px;margin-bottom:20px}
.terminal-heading p{margin:0}
.terminal-kicker{font-size:11px;letter-spacing:.11em;color:#aedca2;font-weight:750}
.terminal-kicker span{margin-right:3px}
h1{font-size:clamp(24px,7vw,40px);line-height:1.15;letter-spacing:-.06em;text-transform:uppercase;margin:8px 0 8px;text-shadow:2px 2px #3c5c43}
h1 span{color:#8ac886}
.terminal-status{color:var(--muted);font-size:clamp(11px,3vw,14px);line-height:1.5}
.terminal-error{padding:9px 10px;border:1px solid #a35650;color:#ffc1ad;background:#382420;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
label{display:block;margin:14px 0 6px;color:#b3cbb0;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
input,button{font:inherit}
.terminal-command,.password-control{display:flex;align-items:center;min-width:0;background:#0b1517;border:1px solid #4c6d58;box-shadow:inset 2px 2px #080f10;min-height:47px}
.terminal-command{padding-left:10px;gap:7px}
.terminal-command:focus-within,.password-control:focus-within{outline:2px solid var(--green);outline-offset:2px}
.terminal-prompt{flex:none;color:#96d58a;font-size:clamp(12px,3.2vw,15px);font-weight:700;white-space:nowrap}
.terminal-entry{position:relative;display:flex;align-items:center;flex:1;min-width:0}
#username,#password{width:100%;min-width:0;min-height:45px;border:0;background:transparent;color:var(--green);caret-color:var(--green);font-size:16px;outline:0;border-radius:0;margin:0}
#username{padding:9px 9px 9px 1px}
#password{padding:9px 12px;letter-spacing:.04em}
.terminal-cursor{display:none;position:absolute;pointer-events:none;left:1px;top:50%;transform:translateY(-50%);width:9px;height:16px;background:#b9f6a4;box-shadow:0 0 9px #93e88155;animation:terminal-blink 1.1s step-end infinite}
#username:placeholder-shown{caret-color:transparent}
#username:placeholder-shown+.terminal-cursor{display:block}
@keyframes terminal-blink{50%{opacity:0}}
.password-control{position:relative}
.password-control:has(#toggle-password:not([hidden])) #password{padding-right:53px}
.password-control[data-masked] #password{color:transparent;-webkit-text-fill-color:transparent}
.password-mask{position:absolute;pointer-events:none;inset:0 48px 0 12px;display:block;align-content:center;overflow:hidden;white-space:nowrap;font-size:16px;letter-spacing:.04em;line-height:1.2;color:var(--green)}
#toggle-password{position:absolute;inset:0 0 0 auto;width:45px;border:0;border-left:1px solid #395345;background:#20332a;color:#c9f4ab;display:grid;place-items:center;cursor:pointer}
#toggle-password:hover,#toggle-password[aria-pressed=true]{background:#304a3b}
#toggle-password svg{width:23px;height:23px;fill:currentColor}
#toggle-password .lock-open,#toggle-password[aria-pressed=true] .lock-closed{display:none}
#toggle-password[aria-pressed=true] .lock-open{display:block}
.terminal-submit{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:23px;width:100%;min-height:47px;padding:9px 12px;border:2px solid #d8fbc5;border-bottom-color:#6a9760;border-right-color:#6a9760;background:#b4e49e;color:#102119;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:3px 3px #080f10}
.terminal-submit:hover{background:#d0f2bd}
.terminal-submit:active{transform:translate(1px,1px);box-shadow:2px 2px #080f10}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.terminal-drive{display:grid;grid-template-columns:auto minmax(0,1fr) 25px auto;align-items:center;gap:9px;margin:17px 0 4px;padding:8px 9px;border:1px solid #9e9f91;border-top-color:#b0ad9e;border-bottom-color:#faf3e1;background:#c4c4b3;box-shadow:inset 1px 1px #a5aa9c;font-size:11px;font-weight:800}
.drive-slot{height:8px;background:#283735;border:2px solid #52645f;border-top-color:#162523;border-bottom-color:#e3e0d0;border-radius:1px}
.drive-eject{height:12px;background:#a5ab9d;border:2px outset #d1d2c1}
.drive-mark{white-space:nowrap;font-size:9px;letter-spacing:.03em}
.drive-mark i{display:inline-block;width:5px;height:5px;margin-right:3px;background:#923544;box-shadow:1px 1px #ede5cf;vertical-align:1px}
.terminal-back{display:inline-flex;align-items:center;min-height:44px;color:#30476a;font-size:12px;font-weight:750;text-underline-offset:3px}
@media(max-width:740px){.win95-desktop{grid-template-rows:auto minmax(min-content,1fr);gap:10px;padding:10px 14px 15px}.desktop-icons{position:static;display:flex;justify-self:start;gap:6px;font-size:11px}.desktop-icons li{width:65px;gap:3px}.desktop-icons svg{width:29px;height:29px}.win95-taskbar{min-height:43px}.win95-current{width:min(32vw,150px)}}
@media(max-width:519px) and (min-height:820px){.desktop-icons{flex-direction:column}}
@media(min-width:520px) and (max-width:740px){.win95-desktop{grid-template-columns:72px minmax(0,1fr);grid-template-rows:1fr}.desktop-icons{align-self:start;flex-direction:column}}
@media(max-width:350px){.terminal-brand{font-size:10px}.terminal-drive{gap:5px;padding:7px 6px}.drive-mark{font-size:8px}.terminal-command{gap:5px;padding-left:7px}.win95-taskbar{gap:3px}.win95-tray{gap:4px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none}}
