/* ============ 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; }
/* ---------- taskbar ---------- */
#taskbar { position:absolute; left:0; right:0; bottom:0; height:28px; background:var(--face);
  box-shadow: inset 0 1px var(--light), inset 0 2px var(--hi); display:flex; align-items:center;
  gap:3px; padding:2px 3px; z-index:15000; }
#startbtn { height:22px; padding:0 5px 0 3px; display:flex; align-items:center; gap:3px;
  font-weight:bold; font-size:11px; }
#startbtn img { width:16px; height:16px; }
#startbtn.on { box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); }
#tb-divider { width:2px; height:20px; box-shadow: inset 1px 0 var(--shadow), inset -1px 0 var(--light); margin:0 2px; }
#tb-win { flex:1; display:flex; gap:3px; overflow:hidden; align-items:center; }
.tbbtn { height:22px; min-width:0; flex:0 1 160px; display:flex; align-items:center; gap:4px;
  padding:0 6px; font-size:11px; white-space:nowrap; overflow:hidden; }
.tbbtn img { width:16px; height:16px; flex:0 0 16px; }
.tbbtn.active { font-weight:bold;
  background:repeating-conic-gradient(var(--hi) 0 25%, var(--face) 0 50%) 0 0/4px 4px; }
.tbbtn span { overflow:hidden; text-overflow:ellipsis; }
#tb-tray { height:22px; display:flex; align-items:center; gap:5px; padding:1px 6px;
  box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); }
#tb-tray .ti { position:relative; width:16px; height:16px; }
#tb-tray .ti img { width:16px; height:16px; position:absolute; left:0; top:0; }
#tb-tray .ti .fillbar { position:absolute; left:3px; bottom:2px; width:10px; height:2px; background:#000; }
#tb-tray .ti .fillbar i { display:block; height:100%; background:#20c020; }
#tb-clock { font-size:11px; min-width:52px; text-align:center; }
/* ---------- start menu ---------- */
#startmenu { position:absolute; left:2px; bottom:28px; width:196px; 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);
  display:none; z-index:16000; padding:3px; }
#startmenu.show { display:flex; }
#startmenu .side { width:24px; background:linear-gradient(180deg,#1084d0,#000080);
  color:#fff; writing-mode:vertical-rl; transform:rotate(180deg);
  font-size:16px; font-weight:bold; letter-spacing:1px; padding:8px 3px; text-align:left; }
#startmenu .items { flex:1; }
.smenu { position:relative; }
.smenu .row, .sitem { display:flex; align-items:center; gap:8px; padding:5px 8px; font-size:12px; }
.sitem img { width:24px; height:24px; }
.sitem:hover, .smenu.open .row { background:var(--navy); color:#fff; }
.smenu .arrow { margin-left:auto; font-size:10px; }
.smenu .sub { display:none; position:absolute; left:100%; top:-3px; min-width:170px; 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); padding:2px; z-index:1; }
.smenu.open .sub { display:block; }
.smenu hr { border:none; border-top:1px solid var(--shadow); border-bottom:1px solid var(--light); margin:2px 1px; }
/* ---------- windows ---------- */
.window { position:absolute; background:var(--face); padding:3px;
  box-shadow: inset -1px -1px var(--dark), inset 1px 1px var(--hi),
              inset -2px -2px var(--shadow), inset 2px 2px var(--light);
  display:flex; flex-direction:column; min-width:120px; min-height:60px; }
.window.min { display:none; }
.titlebar { height:18px; margin:1px; display:flex; align-items:center; gap:3px;
  background:linear-gradient(90deg,var(--navy),#1084d0); padding:0 2px 0 2px; flex:0 0 18px; }
.window.inactive .titlebar { background:linear-gradient(90deg,#808080,#b5b5b5); }
.titlebar img { width:16px; height:16px; }
.titlebar .t { color:#fff; font-weight:bold; font-size:11px; flex:1; overflow:hidden;
  white-space:nowrap; text-overflow:ellipsis; }
.window.inactive .titlebar .t { color:#dfdfdf; }
.tbtns { display:flex; gap:0; }
.tbtn { width:16px; height:14px; 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);
  margin-left:1px; position:relative; }
.tbtn:active { box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); }
.tbtn.dis { opacity:.45; }
.tbtn i { position:absolute; background:#000; }
.tbtn.min i { width:6px; height:2px; left:3px; bottom:3px; box-shadow:1px 1px #fff; }
.tbtn.max i { width:10px; height:8px; left:2px; top:2px; border:1px solid #000; border-top-width:2px; box-shadow:1px 1px #fff; }
.tbtn.close::before, .tbtn.close::after { content:''; position:absolute; left:2px; top:6px; width:11px; height:2px; background:#000; box-shadow:1px 1px #fff; }
.tbtn.close::before { transform:rotate(45deg); }
.tbtn.close::after { transform:rotate(-45deg); }
.wbody { flex:1; margin:1px; display:flex; flex-direction:column; overflow:hidden; position:relative; }
.rgrip { position:absolute; right:3px; bottom:3px; width:14px; height:14px; cursor:nwse-resize; z-index:5; }
.window.shake { animation:shake .25s; }
@keyframes shake { 0%,100%{transform:translate(0,0)} 25%{transform:translate(-4px,0)} 75%{transform:translate(4px,0)} }
/* ---------- menubar / menus ---------- */
.menubar { display:flex; padding:1px 0; flex:0 0 auto; }
.menubar .mi { padding:2px 7px; font-size:11px; }
.menubar .mi:hover, .menubar .mi.open { background:var(--navy); color:#fff; }
.dropdown { position:fixed; background:var(--face); z-index:18000; min-width:140px; padding:2px;
  box-shadow: inset -1px -1px var(--dark), inset 1px 1px var(--light),
              inset -2px -2px var(--shadow), inset 2px 2px var(--hi); }
.dropdown .di { padding:4px 18px 4px 22px; font-size:11px; position:relative; white-space:nowrap; }
.dropdown .di:hover { background:var(--navy); color:#fff; }
.dropdown .di.dis { color:#808080; }
.dropdown .di.dis:hover { background:none; color:#808080; }
.dropdown .di .key { position:absolute; right:6px; }
.dropdown hr { border:none; border-top:1px solid var(--shadow); border-bottom:1px solid var(--light); margin:2px; }
/* ---------- statusbar ---------- */
.statusbar { display:flex; gap:2px; padding:2px 0 0; flex:0 0 auto; }
.statusbar .sf { box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow);
  padding:2px 5px; font-size:11px; white-space:nowrap; overflow:hidden; }
.statusbar .sf.grow { flex:1; }
/* ---------- buttons / inputs ---------- */
.wbtn { background:var(--face); font-family:inherit; font-size:11px; padding:4px 10px; min-width:70px;
  box-shadow: inset -1px -1px var(--dark), inset 1px 1px var(--light), inset -2px -2px var(--shadow), inset 2px 2px var(--hi); }
.wbtn:active, .wbtn.down { box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); padding:5px 9px 3px 11px; }
.wbtn:focus { outline:1px dotted #000; outline-offset:-4px; }
.wbtn:disabled { color:#808080; text-shadow:1px 1px #fff; }
.tinput { background:#fff; font-family:inherit; font-size:11px; padding:3px 4px; border:none; outline:none;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
select.wsel { font-family:inherit; font-size:11px; box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
/* ---------- dialog ---------- */
.dlg { display:flex; flex-direction:column; }
.dlg .dbody { display:flex; gap:12px; padding:14px 12px 10px; align-items:flex-start; }
.dlg .dico { width:32px; height:32px; flex:0 0 32px; }
.dlg .dico img { width:32px; height:32px; }
.dlg .dtext { font-size:11px; line-height:1.45; padding-top:4px; white-space:pre-wrap; max-width:340px; }
.dlg .dbtns { display:flex; justify-content:center; gap:8px; padding:4px 10px 12px; }
.dlg .dtext b { display:block; margin-bottom:3px; }
/* ---------- explorer ---------- */
.addr { display:flex; align-items:center; gap:4px; padding:2px 1px; flex:0 0 auto; }
.addr .lab { font-size:11px; }
.addr .abox { flex:1; height:19px; display:flex; align-items:center; gap:3px; padding:0 4px;
  background:#fff; box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.addr .abox img { width:16px; height:16px; }
.iconview { flex:1; overflow:auto; background:#fff; padding:8px; position:relative;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.iconview.list { display:flex; flex-direction:column; gap:0; }
.fitem { width:76px; padding:3px 2px; text-align:center; position:relative; }
.iconview.list .fitem { width:100%; display:flex; align-items:center; text-align:left; gap:6px; padding:1px 4px; }
.iconview.list .fitem img { width:16px; height:16px; }
.iconview.list .fitem .fl { display:flex; flex-direction:column; }
.iconview.list .fitem .sz { color:#808080; font-size:10px; }
.fitem img.big { width:32px; height:32px; margin:0 auto 3px; }
.fitem .fl { line-height:1.15; word-wrap:break-word; padding:0 1px; display:inline-block; }
.fitem.sel .fl { background:var(--navy); color:#fff; outline:1px dotted #c0c0c0; }
.fitem .cdov { position:absolute; left:22px; top:2px; width:32px; height:32px; overflow:hidden; pointer-events:none; }
.iconview.list .fitem .cdov { left:2px; top:1px; }
.fitem .cdov i { position:absolute; left:0; right:0; bottom:0; background:rgba(0,0,24,.62); }
.fitem .dis-x { position:absolute; left:22px; top:2px; width:32px; height:32px; pointer-events:none;
  background: url('') center/24px no-repeat; }
.fitem .badge { position:absolute; right:8px; top:0; color:#e02020; font-weight:bold; font-size:11px; }
.drop-hint { outline:2px dashed #000080; outline-offset:-4px; }
.price { color:#000080; font-size:10px; display:block; margin-top:1px; }
/* ---------- combat ---------- */
.combat { display:flex; flex-direction:column; height:100%; gap:6px; padding:6px; }
.enemy-area { display:flex; gap:10px; align-items:center; padding:8px; min-height:96px;
  box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow), inset -2px -2px var(--hi), inset 2px 2px var(--dark); }
.enemy-area.droptarget { outline:2px dashed #000080; outline-offset:2px; }
.enemy-area .espr { width:64px; height:64px; flex:0 0 64px; animation:bob 1.4s steps(2) infinite; }
.enemy-area .espr canvas { width:64px; height:64px; }
.enemy-area.dead .espr { animation:none; filter:grayscale(1) brightness(.7); }
@keyframes bob { 0%{transform:translateY(0)} 50%{transform:translateY(-3px)} 100%{transform:translateY(0)} }
.estats { flex:1; display:flex; flex-direction:column; gap:4px; }
.bar { height:14px; background:#fff; box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); position:relative; overflow:hidden; }
.bar .fill { height:100%; width:100%; transition:width .15s steps(6); }
.bar.hp .fill { background:repeating-linear-gradient(90deg,#e02020 0 5px,#901010 5px 7px); }
.bar.timer .fill { background:repeating-linear-gradient(90deg,#f0d040 0 5px,#a08010 5px 7px); }
.bar.mana .fill { background:repeating-linear-gradient(90deg,#3050e0 0 5px,#102080 5px 7px); }
.bar.xp .fill { background:repeating-linear-gradient(90deg,#20a020 0 5px,#106010 5px 7px); }
.bar .btxt { position:absolute; inset:0; font-size:10px; text-align:center; line-height:14px; color:#000; mix-blend-mode:normal; }
.quicks { display:flex; gap:4px; flex-wrap:wrap; min-height:44px; }
.qslot { width:40px; height:40px; position:relative; 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);
  display:flex; align-items:center; justify-content:center; }
.qslot img { width:24px; height:24px; }
.qslot .cdov { position:absolute; left:3px; top:3px; width:32px; height:32px; overflow:hidden; pointer-events:none; }
.qslot .cdov i { position:absolute; left:0; right:0; bottom:0; background:rgba(0,0,24,.62); }
.qslot .mpcost { position:absolute; right:1px; bottom:0; font-size:9px; color:#000080; font-weight:bold; }
.qslot.dis { opacity:.4; }
.combat .clog { flex:1; overflow-y:auto; background:#fff; padding:3px 5px; font-size:11px; line-height:1.4;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.combat .hint { font-size:10px; color:#404040; }
.combat.boss .titlebar { background:linear-gradient(90deg,#800000,#e04040); }
/* ---------- map ---------- */
.mapwin .mapwrap { flex:1; position:relative; overflow:hidden; background:#000; }
.mapwin canvas.map { position:absolute; left:0; top:0; }
.mapwin .leg { position:absolute; left:4px; bottom:4px; background:rgba(0,0,0,.55); color:#fff;
  font-size:10px; padding:3px 6px; line-height:1.5; }
/* ---------- mail ---------- */
.mailbody { flex:1; display:flex; gap:3px; overflow:hidden; }
.mailfolders { width:130px; flex:0 0 130px; overflow:auto; background:#fff; padding:4px;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.mfold { padding:3px 6px; display:flex; align-items:center; gap:5px; }
.mfold img { width:16px; height:16px; }
.mfold.sel { background:var(--navy); color:#fff; }
.maillist { width:230px; flex:0 0 230px; overflow-y:auto; background:#fff;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.mrow { padding:3px 5px; border-bottom:1px solid #e0e0e0; }
.mrow .from { font-size:11px; }
.mrow .subj { font-size:11px; }
.mrow.unread .from, .mrow.unread .subj { font-weight:bold; }
.mrow.sel { background:var(--navy); color:#fff; }
.mrow .dt { float:right; font-size:10px; color:#808080; }
.mrow.sel .dt { color:#c0c0c0; }
.mailview { flex:1; overflow:auto; background:#fff; padding:8px; font-size:12px; line-height:1.5;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.mailview .mhdr { border-bottom:1px solid #000; padding-bottom:4px; margin-bottom:6px; }
.mailview .mhdr b { font-size:12px; }
.mailview .qbtns { margin-top:10px; }
.mailview .qstatus { margin-top:8px; padding:5px; background:#ffffe1; border:1px solid #808080; }
/* ---------- notepad ---------- */
.notepad textarea { flex:1; resize:none; border:none; outline:none; font-family:"Courier New",monospace;
  font-size:13px; padding:4px; white-space:pre-wrap; background:#fff;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
/* ---------- character ---------- */
.charbody { flex:1; display:flex; gap:8px; padding:8px; overflow:auto; }
.charleft { width:150px; flex:0 0 150px; display:flex; flex-direction:column; gap:6px; align-items:center; }
.charleft .portrait { width:64px; height:64px; padding:4px; 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); }
.charleft .portrait canvas { width:64px; height:64px; }
.charright { flex:1; display:flex; flex-direction:column; gap:5px; }
.strow { display:flex; align-items:center; gap:6px; }
.strow .k { width:78px; text-align:right; font-size:11px; }
.strow .bar { flex:1; }
.strow .v { width:64px; font-size:10px; }
.eqslot { display:flex; align-items:center; gap:6px; padding:3px 5px; min-height:36px;
  box-shadow: inset -1px -1px var(--light), inset 1px 1px var(--shadow); background:var(--face); }
.eqslot img { width:24px; height:24px; }
.eqslot.drop-hint { outline:2px dashed #000080; }
/* ---------- wizard ---------- */
.wiz .wbody { flex-direction:column; }
.wiz .wizrow { flex:1; display:flex; overflow:hidden; }
.wiz .wside { width:132px; flex:0 0 132px; background:var(--navy); color:#fff; padding:10px 8px; display:flex; flex-direction:column; gap:10px; align-items:center; }
.wiz .wside .wt { font-size:13px; font-weight:bold; text-align:center; }
.wiz .wmain { flex:1; padding:12px; overflow:auto; background:var(--face); }
.wiz h2 { font-size:15px; margin-bottom:8px; }
.wiz p { font-size:12px; line-height:1.5; margin-bottom:8px; }
.wiz .classes { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.wiz .ccard { display:flex; gap:8px; padding:8px; align-items:center; background:#fff;
  box-shadow: inset -1px -1px var(--hi), inset 1px 1px var(--shadow), inset -2px -2px var(--light), inset 2px 2px var(--dark); }
.wiz .ccard.sel { background:#c0c0ff; }
.wiz .ccard canvas { width:48px; height:48px; }
.wiz .ccard .cn { font-weight:bold; font-size:12px; }
.wiz .ccard .cd { font-size:10px; color:#404040; line-height:1.3; }
.wizfoot { display:flex; justify-content:flex-end; gap:6px; padding:6px 10px; flex:0 0 auto; }
/* ---------- 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; }
/* ---------- balloon ---------- */
.balloon { position:fixed; right:8px; bottom:34px; background:#ffffe1; border:1px solid #000;
  padding:8px 10px; max-width:260px; font-size:11px; z-index:19000; box-shadow:2px 2px 3px rgba(0,0,0,.4); }
.balloon .bt { font-weight:bold; margin-bottom:3px; }
.balloon .bx { position:absolute; right:4px; top:3px; font-weight:bold; padding:0 3px; }
.balloon img { position:absolute; left:-14px; bottom:4px; width:16px; height:16px; }
/* ---------- tooltips ---------- */
#tooltip { position:fixed; background:#ffffe1; border:1px solid #000; padding:3px 6px; font-size:11px;
  z-index:19500; pointer-events:none; display:none; max-width:240px; box-shadow:2px 2px 2px rgba(0,0,0,.3); }
/* ---------- drag ghost ---------- */
#dragghost { position:fixed; z-index:19999; pointer-events:none; opacity:.75; display:none; }
#dragghost img { width:32px; height:32px; }
#dragghost .gl { font-size:10px; background:var(--navy); color:#fff; padding:0 2px; white-space:nowrap; }
/* ---------- 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; }
