html,body{margin:0;height:100%;overflow:hidden;font-family:Tahoma,Arial,sans-serif;background:#061018}
body{background:radial-gradient(circle at top,#19384f,#061018 70%);color:#fff}
.hidden{display:none!important}

/* Classic OS boot: opaque black screen above desktop effects */
body.booting{background:#000!important}
body.booting.wallpaper::before,
body.booting.scanlines:after,
body.booting #particles{display:none!important;animation:none!important}

#boot{position:fixed;inset:0;z-index:200000;display:flex;align-items:center;justify-content:center;background:#000}
.boot{width:420px;color:#a9c4e4;font-family:monospace}
.boot-status{min-height:1.4em;margin:12px 0;font-size:14px;opacity:0;transition:opacity .35s ease}
.boot-status.visible{opacity:1}
.progress{height:14px;border:2px solid #7898bf;background:#0a1220}
.fill{height:100%;background:#527dac;width:0;transition:width .5s ease}

.wallpaper::before{
content:"";
position:fixed;inset:0;
pointer-events:none;
background:
radial-gradient(circle at 20% 20%,rgba(108,251,255,.08),transparent 35%),
radial-gradient(circle at 80% 70%,rgba(80,180,255,.06),transparent 40%);
animation:drift 18s ease-in-out infinite alternate;
}
@keyframes drift{
from{transform:translateY(-10px)}
to{transform:translateY(10px)}
}

.scanlines:after{
content:"";
position:fixed;inset:0;
pointer-events:none;
background:repeating-linear-gradient(to bottom,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 2px,transparent 4px);
opacity:.25;
}

body.midnight{background:radial-gradient(circle at top,#19384f,#061018 70%)}
body.matrix{background:#020a02;color:#8cff8c}
body.ps2{background:radial-gradient(circle at center,#1d3d86,#05060c 75%)}
#particles{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.dot{position:absolute;width:2px;height:2px;background:rgba(108,251,255,.45);border-radius:50%;animation:floatUp linear infinite}
@keyframes floatUp{
from{transform:translateY(110vh)}
to{transform:translateY(-10vh)}
}

input,textarea{display:block;width:95%;max-width:100%;box-sizing:border-box;margin:4px 0 10px;padding:6px}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
