/* ============ Kingsway 95 — Windows 95 style UI ============ */
* { margin:0; padding:0; box-sizing:border-box; }
html,body { width:100%; height:100%; overflow:hidden; }
body {
  background:#000;
  font-family:"MS Sans Serif","Tahoma",Geneva,Verdana,"Segoe UI",sans-serif;
  font-size:11px; color:#000;
  -webkit-font-smoothing:none; font-smooth:never;
  user-select:none; -webkit-user-select:none;
  cursor:default;
}
img { image-rendering:pixelated; -webkit-image-rendering:pixelated; display:block; }
canvas { image-rendering:pixelated; -webkit-image-rendering:pixelated; display:block; }
input,textarea { user-select:text; -webkit-user-select:text; }
:root{
  --face:#c0c0c0; --light:#fff; --hi:#dfdfdf; --shadow:#808080; --dark:#0a0a0a;
  --navy:#000080; --desk:#008080;
}
/* ---------- bevels ---------- */
.b-out { background:var(--face);
  box-shadow: inset -1px -1px var(--dark), inset 1px 1px var(--light),
              inset -2px -2px var(--shadow), inset 2px 2px var(--hi); }
.b-in  { background:var(--face);
  box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--dark),
              inset -2px -2px var(--hi), inset 2px 2px var(--shadow); }
.b-thin-out { box-shadow: inset -1px -1px var(--shadow), inset 1px 1px var(--light); }
.b-thin-in  { box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); }
.field { background:#fff;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow),
              inset -2px -2px var(--light), inset 2px 2px var(--dark); }
/* ---------- screen layers ---------- */
#screen { position:fixed; inset:0; overflow:hidden; background:var(--desk); }
.screen-layer { position:absolute; inset:0; z-index:20000; background:#000; display:none; }
.screen-layer.show { display:block; }
/* ---------- BIOS ---------- */
#bios { font-family:"Courier New",monospace; font-size:14px; color:#c8c8c8;
  padding:24px; line-height:1.5; white-space:pre-wrap; }
#bios .amber { color:#ffb000; }
/* ---------- boot logo ---------- */
#bootlogo { background:#000; }
#bootlogo .inner { position:absolute; left:50%; top:42%; transform:translate(-50%,-50%);
  text-align:center; }
#bootlogo .word { color:#fff; font-size:44px; font-weight:bold; font-style:italic;
  letter-spacing:1px; text-shadow:3px 3px 0 #404040; margin-top:18px; }
#bootlogo .word .n95 { color:#ffb000; }
#bootlogo .copy { color:#808080; font-size:11px; margin-top:26px; }
#bootlogo .loadbar { position:absolute; left:50%; bottom:12%; transform:translateX(-50%);
  width:220px; height:16px; background:#000; border:2px solid #fff; padding:2px; }
#bootlogo .loadbar > div { height:100%; width:0%;
  background:repeating-linear-gradient(90deg,#1084d0 0 10px,#000080 10px 20px); }
/* ---------- desktop ---------- */
#desktop { position:absolute; inset:0 0 28px 0; background:var(--desk); overflow:hidden; }
#desktop-icons { position:absolute; inset:0; }
.dicon { position:absolute; width:76px; text-align:center; padding:2px; }
.dicon img { width:32px; height:32px; margin:0 auto 3px; }
.dicon .lbl { color:#fff; line-height:1.15; padding:1px 2px; display:inline-block;
  text-shadow:1px 1px 0 rgba(0,0,0,.6); }
.dicon.sel .lbl { background:var(--navy); text-shadow:none; outline:1px dotted #fff; }
/* ---------- BSOD ---------- */
#bsod { background:#0000a8; z-index:30000; }
#bsod .bwrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
#bsod .btxt { color:#fff; font-family:"Courier New",monospace; font-size:15px; line-height:1.5; max-width:760px; }
#bsod .btxt .cen { text-align:center; }
#bsod .btxt .gap { height:18px; }
#bsod .btxt .rev { background:#c0c0c0; color:#0000a8; padding:0 6px; }
#bsod .btxt .blink { animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }
/* ---------- shutdown ---------- */
#shutdown { background:#000; }
#shutdown .smsg { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:#ffb000; font-size:26px; font-weight:bold; text-align:center; font-family:"MS Sans Serif",Tahoma,sans-serif; }
/* ---------- misc ---------- */
.victory { text-align:center; padding:16px 14px; }
.victory h1 { font-size:18px; margin-bottom:8px; }
.victory .stats { text-align:left; display:inline-block; margin:10px 0; font-size:12px; line-height:1.7; }
.center { display:flex; align-items:center; justify-content:center; flex:1; }
::-webkit-scrollbar { width:16px; height:16px; background:#dfdfdf; }
::-webkit-scrollbar-thumb { background:#c0c0c0; box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf; }
::-webkit-scrollbar-corner { background:#dfdfdf; }
::-webkit-scrollbar-button:vertical:start:decrement,
::-webkit-scrollbar-button:vertical:end:increment { height:16px; background:#c0c0c0;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf; }
