:root{
  --bg:#08090c; --panel:#0d1a30; --panel2:#12233f; --ink:#dbe7f5; --muted:#8aa0b8;
  --accent:#7fb0ff; --accent2:#5aa0ff; --green:#5af0a0; --red:#ff6b6b; --gold:#e6932b;
  --slot:#0a1426; --br:rgba(90,160,255,0.25); --shadow:0 0 30px rgba(90,160,255,0.12), 0 10px 40px rgba(0,0,0,.5);
  --glow:0 0 18px rgba(90,160,255,0.22);
  --font:"Helvetica Neue",Arial,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#000;color:var(--ink);font-family:var(--font);overflow:hidden;
  -webkit-user-select:none;user-select:none}
#game-root{position:fixed;inset:0}
/* Allow selecting & copying text inside panels/modals/HUD readouts */
.window, .window *, #topbar, #topbar *, #log, #log *,
#plotcard, #plotcard *, .modal, #modal *{
  -webkit-user-select:text; user-select:text; cursor:auto;
}
/* buttons inside panels should still feel clickable, not text */
.window button, #topbar button, #modal button{ cursor:pointer; }
canvas#game{display:block;width:100%;height:100%;background:#a6d6f7;cursor:pointer;
  image-rendering:pixelated;image-rendering:crisp-edges}
.pixel{font-family:"Press Start 2P",monospace}

/* first-person crosshair */
#crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;
  background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.5);z-index:7;pointer-events:none}

/* Career stat bars (bottom-left) */
#statbars{position:absolute;left:14px;bottom:46px;z-index:9;display:flex;flex-direction:column;gap:5px;
  background:#13233f;border:2px solid #0d1626;padding:8px 10px;box-shadow:0 3px 0 rgba(13,22,38,.4)}
.sb{display:flex;align-items:center;gap:7px}
.sb-ico{font-size:14px;width:18px;text-align:center}
.sb-track{width:150px;height:11px;background:#0a1322;border:2px solid #0d1626;overflow:hidden}
.sb-fill{height:100%;width:100%;transition:width .25s}

/* Career action hint */
#careerhint{position:absolute;left:50%;top:64%;transform:translateX(-50%);z-index:8;
  background:#1aa85a;color:#fff;border:2px solid #0d1626;padding:9px 16px;
  font-family:"Press Start 2P",monospace;font-size:10px;box-shadow:0 3px 0 rgba(13,22,38,.4);text-align:center}
#careerhint b{color:#0d1626;background:#f4d03f;padding:2px 6px}

/* Work minigame */
#minigame{z-index:25}
.mg-card{background:#13233f;border:4px solid #0d1626;padding:26px;width:min(460px,92vw);text-align:center;
  color:#dbe7f5;box-shadow:inset -4px -4px 0 rgba(0,0,0,.4),inset 4px 4px 0 rgba(255,255,255,.08)}
.mg-card h2{font-family:"Press Start 2P",monospace;font-size:15px;color:#f4d03f;margin-bottom:10px;text-shadow:2px 2px 0 #7a5c00}
.mg-sub{font-family:"VT323",monospace;font-size:18px;color:#cfe0f5;margin-bottom:16px}
#mg-area{min-height:90px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.mg-result{font-family:"Press Start 2P",monospace;font-size:11px;min-height:16px;margin-top:12px;color:#5af0a0}
/* mash button */
.mg-mash{font-family:"Press Start 2P",monospace;font-size:14px;color:#fff;background:#2f6bd6;border:none;
  padding:22px 30px;cursor:pointer;box-shadow:inset -4px -4px 0 rgba(0,0,0,.35),inset 4px 4px 0 rgba(255,255,255,.25),0 4px 0 rgba(0,0,0,.4)}
.mg-mash:active{transform:translateY(3px)}
.mg-bar{width:100%;height:22px;background:#0a1322;border:2px solid #0d1626;overflow:hidden;margin-top:6px}
.mg-bar>div{height:100%;width:0;background:linear-gradient(90deg,#2f6bd6,#5af0a0);transition:width .1s}
/* timing game */
.mg-timing{position:relative;width:100%;height:34px;background:#0a1322;border:2px solid #0d1626;overflow:hidden}
.mg-zone{position:absolute;top:0;height:100%;background:rgba(90,240,160,.35);border-left:2px solid #5af0a0;border-right:2px solid #5af0a0}
.mg-needle{position:absolute;top:0;width:4px;height:100%;background:#f4d03f}
/* code game */
.mg-code{display:flex;flex-direction:column;gap:6px;width:100%}
.mg-line{font-family:"VT323",monospace;font-size:17px;text-align:left;background:#0a1322;border:2px solid #0d1626;
  padding:7px 10px;cursor:pointer;color:#cfe0f5}
.mg-line:hover{border-color:#2f6bd6}

/* Return-home button (travel) */
#returnhome{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:9;
  background:#2f6bd6;color:#fff;border:2px solid #0d1626;padding:10px 18px;
  font-family:"Press Start 2P",monospace;font-size:10px;cursor:pointer;box-shadow:0 3px 0 rgba(13,22,38,.4)}
#returnhome:hover{background:#3a78e6}

/* =========================================================
   COMPUTER — a retro pixel desktop OS ("ElonOS")
   ========================================================= */
/* the computer takes the WHOLE screen — you're sitting at the PC */
#modal.is-computer{background:#0a1426;padding:0}
#modal.is-computer .window{padding:0;width:100vw;height:100vh;max-height:100vh;border:none;border-radius:0;
  background:#1b1f2a;overflow:hidden;display:flex;flex-direction:column;box-shadow:none;animation:none}
#modal.is-computer .window header{display:none}            /* OS has its own chrome */
/* the modal body must STRETCH so the OS fills the screen (not collapse to content) */
#modal.is-computer #modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden}
#modal.is-computer .os{flex:1;min-height:0}

.os{position:relative;flex:1;display:flex;flex-direction:column;font-family:"VT323",monospace;overflow:hidden}
/* Windows-style blue wallpaper, recreated in CSS (flowing ribbons) */
.os-desktop{flex:1;position:relative;overflow:auto;padding:18px;
  background:
    radial-gradient(120% 90% at 18% 8%,  rgba(120,170,255,.55) 0%, transparent 42%),
    radial-gradient(140% 120% at 88% 22%, rgba(40,90,230,.55)  0%, transparent 46%),
    radial-gradient(120% 130% at 30% 95%, rgba(70,130,255,.5)  0%, transparent 48%),
    conic-gradient(from 210deg at 60% 40%, #2a5cff, #1f44d8, #2f6bff, #1a39c0, #2a5cff),
    linear-gradient(150deg,#1c3fd0 0%,#1230b0 60%,#0e2596 100%)}
/* soft light sweeps to mimic the ribbon highlights */
.os-desktop::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(115deg, transparent 38%, rgba(255,255,255,.16) 47%, transparent 56%),
    linear-gradient(125deg, transparent 60%, rgba(255,255,255,.10) 68%, transparent 75%)}
.os-desktop::before{content:"🚀 ElonOS";position:absolute;top:14px;right:16px;
  font-family:"Press Start 2P",monospace;font-size:9px;color:rgba(255,255,255,.35);letter-spacing:1px;z-index:1}
.os-icons{position:relative;z-index:1}
/* desktop icon grid */
.os-icons{display:grid;grid-template-columns:repeat(auto-fill,84px);gap:14px;align-content:start}
.os-icon{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:8px 4px;
  width:84px;text-align:center;transition:background .1s}
.os-icon:hover{background:rgba(255,255,255,.08)}
.os-icon .os-ic{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:30px;
  background:rgba(255,255,255,.92);border:3px solid #0a2a6e;
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.18),inset 3px 3px 0 rgba(255,255,255,.8),0 3px 0 rgba(8,20,50,.45)}
.os-icon .os-lbl{font-size:16px;color:#fff;line-height:1.1;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.7)}
.os-icon .os-sub{font-size:13px;color:#cfe0ff;line-height:1;text-shadow:1px 1px 2px rgba(0,0,0,.6)}
.os-icon.os-hint .os-ic{animation:osGlow 1.1s ease-in-out infinite}
@keyframes osGlow{0%,100%{box-shadow:inset -3px -3px 0 rgba(0,0,0,.18),inset 3px 3px 0 rgba(255,255,255,.8),0 0 0 rgba(244,208,63,.9)}
  50%{box-shadow:inset -3px -3px 0 rgba(0,0,0,.18),inset 3px 3px 0 rgba(255,255,255,.8),0 0 16px 4px rgba(244,208,63,.95)}}
/* top guidance banner */
.os-guide{position:relative;z-index:2;margin:-4px 0 14px;padding:11px 14px;
  background:rgba(8,18,48,.82);border:3px solid #0a2a6e;color:#fff;font-size:17px;line-height:1.25;
  box-shadow:0 4px 0 rgba(8,20,50,.5)}
.os-guide b{color:#ffec5c}

/* sticky-note: today's objective (lower-right, clear of the banner) */
.os-note{position:absolute;right:26px;bottom:80px;width:250px;background:#f4d03f;color:#3a2c00;z-index:3;
  border:3px solid #0a0d14;padding:13px;box-shadow:5px 5px 0 rgba(0,0,0,.45);transform:rotate(-2deg)}
.os-note .os-note-t{font-family:"Press Start 2P",monospace;font-size:9px;margin-bottom:7px}
.os-note .os-note-g{font-size:16px;line-height:1.2;margin-bottom:9px}
.os-note button{width:100%;font-family:"Press Start 2P",monospace;font-size:8px;color:#fff;background:#1aa85a;
  border:none;padding:9px;cursor:pointer;box-shadow:inset -2px -2px 0 rgba(0,0,0,.3),inset 2px 2px 0 rgba(255,255,255,.25)}
.os-note .os-note-wait{font-size:13px;color:#6b5400;text-align:center}
/* taskbar */
.os-bar{height:42px;flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;
  background:#10141d;border-top:4px solid #0a0d14}
.os-start{display:flex;align-items:center;gap:6px;font-family:"Press Start 2P",monospace;font-size:9px;color:#0d1626;
  background:#5af0a0;border:none;padding:9px 12px;cursor:pointer;
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.3),inset 2px 2px 0 rgba(255,255,255,.3)}
.os-bar-spacer{flex:1}
.os-tray{display:flex;align-items:center;gap:10px;font-size:16px;color:#cfe0f5}
.os-tray .os-clock{font-family:"Press Start 2P",monospace;font-size:8px;color:#9fb4cc}
/* Empire tabs */
.emp-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;border-bottom:3px solid #0d1626;padding-bottom:8px}
.emp-tab{font-family:"Press Start 2P",monospace;font-size:8px;color:#27364d;background:#dfe6ee;border:2px solid #0d1626;
  padding:9px 11px;cursor:pointer;box-shadow:inset -2px -2px 0 rgba(0,0,0,.15),inset 2px 2px 0 rgba(255,255,255,.6)}
.emp-tab:hover{background:#eef4fc}
.emp-tab.active{background:#2f6bd6;color:#fff}

/* File Explorer / Recycle Bin */
.fx-path{font-family:"VT323",monospace;font-size:17px;color:#1f2c40;background:#fff;border:3px solid #0d1626;padding:7px 11px;margin-bottom:10px}
.fx-list{display:flex;flex-direction:column;gap:5px}
.fx-file{display:flex;align-items:center;gap:11px;background:#fff;border:2px solid #c4cdd8;padding:8px 11px;cursor:pointer}
.fx-file:hover{background:#eef4fc;border-color:#2f6bd6}
.fx-ico{font-size:20px} .fx-name{flex:1;font-family:"VT323",monospace;font-size:18px;color:#1f2c40}
.fx-size{font-family:"VT323",monospace;font-size:15px;color:#8aa0b8}

/* window chrome for apps inside the OS */
.os-win{position:absolute;inset:14px;background:#e7edf5;border:4px solid #0a0d14;display:flex;flex-direction:column;
  box-shadow:8px 8px 0 rgba(0,0,0,.45)}
.os-win-bar{display:flex;align-items:center;justify-content:space-between;background:#2f6bd6;color:#fff;
  padding:8px 10px;border-bottom:4px solid #0a0d14}
.os-win-bar b{font-family:"Press Start 2P",monospace;font-size:10px;text-shadow:1px 1px 0 rgba(0,0,0,.4)}
.os-win-x{background:#e0493b;border:none;color:#fff;width:24px;height:24px;cursor:pointer;font-size:12px;
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.3)}
.os-win-body{flex:1;overflow:auto;padding:16px}
.os-quick{display:flex;gap:8px;margin-top:8px}

/* ---- Social (X) app ---- */
.x-compose{display:flex;gap:8px;margin-bottom:8px}
.x-compose input{flex:1;background:#fff;border:1px solid #d6e1ef;border-radius:10px;padding:11px 13px;font-size:15px;color:#1f2c40}
.x-suggest{font-size:12px;color:#6a7a8c;margin-bottom:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.x-chip{background:#eef3fa;border:1px solid #d6e1ef;border-radius:8px;padding:4px 9px;cursor:pointer;font-weight:700;color:#2563c4}
.x-chip:hover{background:#fff;border-color:#2563c4}
.x-post-card{background:#fff;border:1px solid #e6edf5;border-radius:14px;padding:13px;margin-bottom:9px;box-shadow:0 2px 8px rgba(40,70,110,.06)}
.x-head b{color:#1f2c40} .x-head span{color:#8aa0b8;font-size:12px;font-weight:600}
.x-body{font-size:15px;color:#1f2c40;margin:6px 0 8px;line-height:1.4}
.x-stats{font-size:12px;color:#6a7a8c}
.x-note{color:#c98a16;font-weight:800}

/* phone button */
#phone-btn{position:absolute;right:12px;bottom:100px;z-index:9;width:44px;height:44px;font-size:22px;
  background:#13233f;border:2px solid #0d1626;cursor:pointer;box-shadow:0 3px 0 rgba(13,22,38,.4)}
#phone-btn:hover{background:#1c3050}
#phone-btn:active{transform:translateY(2px)}

/* ---- PHONE overlay ---- */
#phone{z-index:24;background:rgba(4,8,16,.6)}
.ph-frame{position:relative;width:min(320px,86vw);height:min(640px,86vh);background:#0a0d14;
  border:6px solid #05070c;border-radius:34px;padding:16px 12px 56px;box-shadow:0 16px 0 rgba(0,0,0,.5);
  display:flex;flex-direction:column}
.ph-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:90px;height:14px;background:#05070c;border-radius:0 0 12px 12px}
.ph-screen{flex:1;background:#0e1f3a;border:2px solid #1a2c4a;overflow:auto;position:relative}
.ph-homebtn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;
  background:#1b2433;border:3px solid #2a3850;cursor:pointer}
.ph-homebtn:active{background:#2a3850}
.ph-close{position:absolute;top:-6px;right:-6px;width:30px;height:30px;background:#e0493b;color:#fff;border:3px solid #05070c;
  border-radius:50%;cursor:pointer;font-size:13px;z-index:2}
/* phone home screen */
.ph-home{padding:18px 14px;min-height:100%;
  background:radial-gradient(120% 90% at 20% 10%,rgba(120,170,255,.5),transparent 45%),linear-gradient(160deg,#16306a,#0c1830)}
.ph-clock{font-family:"Press Start 2P",monospace;font-size:9px;color:#cfe0ff;text-align:center;margin:6px 0 18px;text-shadow:1px 1px 2px #000}
.ph-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ph-icon{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}
.ph-ic{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;
  background:#0a0d14;border:3px solid #2a3850;box-shadow:inset -3px -3px 0 rgba(0,0,0,.4),inset 3px 3px 0 rgba(255,255,255,.1)}
.ph-lbl{font-size:13px;color:#fff;text-shadow:1px 1px 2px #000}
.ph-app-body{padding:12px}
.ph-app-body .bigstat .b{padding:8px}
.ph-app-body .x-compose input{font-size:14px}

/* view toggle button */
#view-btn{position:absolute;right:12px;bottom:54px;z-index:9;background:#13233f;color:#cfe0ff;
  border:2px solid #0d1626;padding:9px 13px;font-family:"Press Start 2P",monospace;font-size:9px;
  letter-spacing:.5px;cursor:pointer;box-shadow:0 3px 0 rgba(13,22,38,.4)}
#view-btn:hover{background:#1c3050}
#view-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(13,22,38,.4)}

/* NPC dialogue box (bottom-center) */
#dialogue{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);
  width:min(560px,90vw);background:#13233f;border:3px solid #0d1626;
  box-shadow:0 4px 0 rgba(13,22,38,.5),inset 0 2px 0 rgba(255,255,255,.08);
  padding:12px 16px 14px;z-index:9;color:#dbe7f5}
#dialogue.dlg-pop{animation:dlgpop .18s cubic-bezier(.2,.8,.3,1.2)}
@keyframes dlgpop{from{transform:translateX(-50%) translateY(8px);opacity:0}to{transform:translateX(-50%);opacity:1}}
.dlg-name{font-family:"Press Start 2P",monospace;font-size:11px;color:#f4d03f;margin-bottom:7px;text-shadow:2px 2px 0 #6b5800}
.dlg-text{font-family:"VT323",monospace;font-size:21px;line-height:1.15;color:#e8f0f8}

/* objective tracker (top-left under topbar) */
#objective{position:absolute;left:14px;top:74px;background:#13233f;border:2px solid #0d1626;
  padding:10px 13px;z-index:8;width:280px;box-shadow:0 3px 0 rgba(13,22,38,.4)}
#objective.obj-pop{animation:objpop .3s ease}
@keyframes objpop{0%{transform:scale(1)}40%{transform:scale(1.06);box-shadow:0 0 16px rgba(244,208,63,.7)}100%{transform:scale(1)}}
.obj-title{font-family:"Press Start 2P",monospace;font-size:7px;color:#f4d03f;letter-spacing:.4px;margin-bottom:7px;line-height:1.4}
.obj-text{font-family:"VT323",monospace;font-size:18px;line-height:1.15;color:#cfe0f5;margin-bottom:8px}
.obj-bar{height:10px;background:#0a1322;border:2px solid #0d1626;overflow:hidden}
.obj-bar>div{height:100%;width:0;background:linear-gradient(90deg,#2f6bd6,#5af0a0);transition:width .4s}
.obj-nw{font-family:"VT323",monospace;font-size:15px;color:#9fb4cc;margin-top:4px;text-align:right}
.obj-nw span{color:#5af0a0}
#complete-day{margin-top:9px;width:100%;font-family:"Press Start 2P",monospace;font-size:9px;color:#fff;
  background:#1aa85a;border:none;padding:11px;cursor:pointer;letter-spacing:.5px;
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.3),inset 3px 3px 0 rgba(255,255,255,.2),0 3px 0 rgba(0,0,0,.4);
  animation:objpop 1.2s ease-in-out infinite}
#complete-day:hover{background:#22c06a}
#complete-day:active{transform:translateY(2px)}

/* LEVEL UP celebration banner */
.levelup-flash{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);z-index:40;text-align:center;
  pointer-events:none;animation:luPop 2.2s ease forwards}
.levelup-flash .lu-big{font-family:"Press Start 2P",monospace;font-size:clamp(24px,5vw,44px);color:#f4d03f;
  text-shadow:4px 4px 0 #7a5c00,6px 6px 0 rgba(0,0,0,.5)}
.levelup-flash .lu-sub{font-family:"Press Start 2P",monospace;font-size:14px;color:#fff;margin-top:10px;
  text-shadow:2px 2px 0 rgba(0,0,0,.6)}
@keyframes luPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}
  15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}
  30%{transform:translate(-50%,-50%) scale(1)}
  80%{opacity:1}100%{opacity:0;transform:translate(-50%,-58%) scale(1)}}

/* floating +$ money pop near the cash pill */
.cashpop{position:absolute;left:0;top:0;font-family:"Press Start 2P",monospace;font-size:11px;
  color:#5af0a0;text-shadow:1px 1px 0 #053d22;z-index:30;pointer-events:none;
  animation:cashfloat 1s ease-out forwards}
@keyframes cashfloat{from{transform:translateY(0);opacity:1}to{transform:translateY(-28px);opacity:0}}
/* claim-plot hint near the prompt */
#claimhint{position:absolute;left:50%;top:58%;transform:translateX(-50%);
  background:#1aa85a;color:#fff;border:2px solid #0d1626;padding:8px 16px;
  font-family:"Press Start 2P",monospace;font-size:10px;z-index:8;box-shadow:0 3px 0 rgba(13,22,38,.4)}
#claimhint b{color:#0d1626;background:#f4d03f;padding:2px 6px}
.hidden{display:none !important}

/* ---- Top resource bar (minimal · squared · pixel) ---- */
#topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:stretch;
  gap:10px;padding:10px 12px;z-index:10;flex-wrap:wrap;font-family:var(--font)}
.topbar-left{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;min-width:0}

/* brand block */
.brand{display:flex;align-items:center;gap:7px;padding:0 14px;background:#1f2c40;
  border:2px solid #0d1626;box-shadow:inset 0 2px 0 rgba(255,255,255,.08)}
.brand-ico{font-size:18px}
.brand-txt{font-family:"Press Start 2P",monospace;font-size:9px;letter-spacing:1px;color:#cfe0ff}
.brand-txt b{color:#f4d03f}

/* resource pills -> flat square stat tiles */
.pills{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.pill{display:flex;align-items:center;gap:9px;background:#ffffff;
  border:2px solid #0d1626;padding:7px 13px 7px 9px;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(13,22,38,.25);
  min-width:0}
.pill .pi{font-size:16px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  background:#eef2f7;border:2px solid #c4cdd8}
.pill .pv{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.pill .pl{font-family:"Press Start 2P",monospace;font-size:7px;color:#7a8696;text-transform:uppercase;letter-spacing:.5px}
.pill b{font-size:14px;font-weight:900;color:#1a2740;font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw}
.pill b.gold{color:#c98a16} .pill b.green{color:#1a9c54}

/* action buttons -> flat square */
.topbar-actions{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}
.tb-div{width:2px;background:#c4cdd8;margin:2px 2px}
.tb-btn{display:flex;align-items:center;gap:6px;background:#ffffff;color:#27364d;
  border:2px solid #0d1626;padding:0 12px;font-size:12px;font-weight:800;cursor:pointer;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(13,22,38,.25);
  transition:transform .06s,background .12s}
.tb-btn .tbi{font-size:14px}
.tb-btn .tbl{font-family:"Press Start 2P",monospace;font-size:8px;letter-spacing:.5px}
.tb-btn .tbct{font-weight:900;color:#2563c4;font-variant-numeric:tabular-nums;font-size:11px}
.tb-btn:hover{background:#eef4fc}
.tb-btn:active{transform:translateY(2px);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 0 0 rgba(13,22,38,.25)}
.tb-btn.primary{background:#2f6bd6;color:#fff;border-color:#0d1626}
.tb-btn.primary .tbct{color:#fff}
.tb-btn.primary:hover{background:#3a78e6}
.tb-btn.primary.complete{background:#1aa85a;animation:pulseGreen 1.6s ease-in-out infinite}
@keyframes pulseGreen{0%,100%{box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 2px 0 rgba(13,22,38,.25)}
  50%{box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 0 14px rgba(26,168,90,.7)}}
.tb-btn.icon{padding:0 10px}
.tb-tycoon-only{display:inline-flex;align-items:stretch;gap:6px}

/* ---- Day clock ---- */
#dayclock{position:absolute;bottom:12px;right:12px;background:#1f2c40;color:#cfe0ff;
  border:2px solid #0d1626;padding:7px 13px;font-family:"Press Start 2P",monospace;font-size:9px;letter-spacing:.5px;
  z-index:9;box-shadow:0 2px 0 rgba(13,22,38,.3)}

/* ---- Prompt / hints ---- */
#prompt{position:absolute;left:50%;top:62%;transform:translateX(-50%);
  background:#2f6bd6;color:#fff;border:2px solid #0d1626;padding:10px 18px;
  font-family:"Press Start 2P",monospace;font-size:10px;letter-spacing:.5px;z-index:8;
  box-shadow:0 3px 0 rgba(13,22,38,.4)}
#prompt b{color:#0d1626;background:#f4d03f;padding:2px 6px}
#hints{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;color:#27364d;
  background:#ffffff;padding:7px 16px;border:2px solid #0d1626;z-index:9;font-weight:700;
  box-shadow:0 2px 0 rgba(13,22,38,.25)}
#hints b{color:#1f2c40;background:#eef2f7;padding:1px 5px;border:1px solid #c4cdd8}

/* ---- Plot popup card ---- */
#plotcard{position:absolute;right:18px;bottom:62px;width:308px;
  background:linear-gradient(180deg,#fff,#f3f7fc);border:1px solid rgba(255,255,255,.9);border-radius:18px;
  padding:0 0 16px;z-index:11;box-shadow:0 20px 50px rgba(20,40,70,.4);overflow:hidden;animation:cardin .2s ease}
@keyframes cardin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;
  background:linear-gradient(135deg,#2f6bd6,#2563c4);padding:14px 16px;color:#fff}
.pc-num{font-size:18px;font-weight:900;color:#fff}
.pc-zone{font-size:10.5px;color:#cfe0ff;text-transform:uppercase;letter-spacing:1.2px;margin-top:2px;font-weight:700}
.pc-close{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;width:26px;height:26px;
  border-radius:8px;cursor:pointer}
.pc-rows{display:flex;flex-direction:column;gap:8px;margin:0 16px 14px}
.pc-row{display:flex;justify-content:space-between;font-size:13px;padding:9px 11px;background:#f1f6fc;
  border-radius:10px;border:1px solid #e3eaf3}
.pc-row span{color:#6a7a8c} .pc-row b{font-weight:800;color:#1f2c40}
.pc-claim{width:calc(100% - 32px);margin:0 16px;background:linear-gradient(135deg,#1aa85a,#13934d);color:#fff;border:none;
  padding:13px;border-radius:12px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 6px 16px rgba(26,168,90,.4)}
.pc-claim:hover{filter:brightness(1.06);transform:translateY(-1px)}
.pc-claim:disabled{background:#dde5ee;color:#9aa7b6;cursor:not-allowed;box-shadow:none;transform:none}
.pc-hint{font-size:11px;color:#6a7a8c;text-align:center;margin-top:9px}

/* ---- Toast ---- */
#log{position:absolute;left:16px;bottom:50px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:9}
.toast{background:#fff;color:#1f2c40;padding:9px 14px;font-family:"VT323",monospace;font-size:17px;font-weight:600;
  border:3px solid #0d1626;border-left:6px solid #2563c4;animation:slidein .2s ease;max-width:360px;
  box-shadow:2px 2px 0 rgba(13,22,38,.3)}
.toast.good{border-left-color:#1aa85a} .toast.bad{border-left-color:#e0493b}
.toast.gold{border-left-color:#e6a020}
@keyframes slidein{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}

/* ====================================================================
   PIXEL UI — all modals/panels look like retro game windows
   ==================================================================== */
.overlay{position:absolute;inset:0;background:rgba(8,16,30,.55);display:flex;align-items:center;
  justify-content:center;z-index:20;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
/* pixel window: hard borders, beveled, no rounding */
.window{background:#e7edf5;border:4px solid #0d1626;border-radius:0;padding:0 20px 20px;
  width:min(620px,94vw);max-height:88vh;overflow:auto;color:#1f2c40;image-rendering:pixelated;
  box-shadow:inset -4px -4px 0 rgba(0,0,0,.18),inset 4px 4px 0 rgba(255,255,255,.7),0 8px 0 rgba(13,22,38,.5);
  animation:popUp .16s cubic-bezier(.2,.8,.3,1.1)}
@keyframes popUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.window header{display:flex;align-items:center;justify-content:space-between;margin:0 -20px 14px;
  padding:13px 16px;position:sticky;top:0;z-index:2;background:#2f6bd6;color:#fff;border-bottom:4px solid #0d1626}
.window header h2{color:#fff;font-family:"Press Start 2P",monospace;font-size:12px;letter-spacing:.5px;
  text-shadow:2px 2px 0 rgba(0,0,0,.4)}
.window h1{font-family:"Press Start 2P",monospace;font-size:18px;text-align:center;margin:14px 0 8px;color:#1f2c40}
.window h2{font-size:20px;color:#1f2c40}
.window h3{font-family:"Press Start 2P",monospace;font-size:9px;color:#5b6b7e;letter-spacing:.5px;margin:16px 0 10px;text-transform:uppercase}
.close{background:#e0493b;border:none;color:#fff;width:30px;height:30px;font-size:14px;cursor:pointer;
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.3),inset 3px 3px 0 rgba(255,255,255,.25)}
.close:hover{background:#f05a4c}
.close:active{transform:translate(1px,1px)}
.hint{color:#6a7a8c;font-family:"VT323",monospace;font-size:16px}

/* ---- Cards / rows (pixel tiles) ---- */
.card{background:#fff;border:3px solid #0d1626;border-radius:0;padding:13px;margin-bottom:10px;
  box-shadow:2px 2px 0 rgba(13,22,38,.25)}
.row{display:flex;align-items:center;gap:13px;background:#fff;border:3px solid #0d1626;border-radius:0;
  padding:11px 13px;margin-bottom:9px;box-shadow:2px 2px 0 rgba(13,22,38,.22);transition:transform .08s}
.row:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(13,22,38,.3)}
.row .ico{font-size:26px;width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;
  background:#eef2f7;border:2px solid #c4cdd8}
.row .info{flex:1;min-width:0}
.row .nm{font-weight:900;font-size:15px;color:#1f2c40}
.row .sub{font-size:14px;color:#6a7a8c;margin-top:2px;font-family:"VT323",monospace}
.row .val{font-weight:900;text-align:right;white-space:nowrap;color:#1f2c40}
.row .val.up{color:#1a9c54} .row .val.down{color:#e0493b}

/* pixel beveled buttons */
button.act{background:#2f6bd6;color:#fff;border:none;border-radius:0;padding:10px 16px;cursor:pointer;
  font-family:"Press Start 2P",monospace;font-size:9px;letter-spacing:.5px;white-space:nowrap;
  text-shadow:1px 1px 0 rgba(0,0,0,.4);
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.32),inset 3px 3px 0 rgba(255,255,255,.28),0 3px 0 rgba(0,0,0,.35);
  transition:transform .06s,background .1s}
button.act:hover{background:#3a78e6}
button.act:active{transform:translateY(3px);box-shadow:inset -3px -3px 0 rgba(0,0,0,.32),inset 3px 3px 0 rgba(255,255,255,.2),0 0 0 rgba(0,0,0,.35)}
button.act:disabled{background:#aab4c0;color:#e7edf5;cursor:not-allowed;box-shadow:inset -3px -3px 0 rgba(0,0,0,.2),inset 3px 3px 0 rgba(255,255,255,.2)}
button.act.sell{background:#cf4630}button.act.sell:hover{background:#e1604a}
button.act.gold{background:#e6a020;color:#3a2600;text-shadow:1px 1px 0 rgba(255,255,255,.3)}button.act.gold:hover{background:#f0b73a}
.btn-group{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

.owned-tag{font-family:"Press Start 2P",monospace;font-size:7px;background:#1aa85a;color:#fff;padding:4px 7px;border:2px solid #0d1626}
.locked-tag{font-family:"Press Start 2P",monospace;font-size:7px;background:#cf4630;color:#fff;padding:4px 7px;border:2px solid #0d1626}

.bigstat{display:flex;justify-content:space-around;text-align:center;margin-bottom:14px;gap:8px}
.bigstat .b{background:#1f2c40;border:3px solid #0d1626;padding:12px 8px;flex:1;box-shadow:2px 2px 0 rgba(13,22,38,.3)}
.bigstat .b .n{font-size:18px;font-weight:900;color:#5af0a0;font-variant-numeric:tabular-nums}
.bigstat .b .l{font-family:"Press Start 2P",monospace;font-size:7px;color:#9fb4cc;margin-top:6px;letter-spacing:.3px}

/* ---- Casino specifics ---- */
.casino-games{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.game-tile{background:linear-gradient(180deg,#fff,#f1f6fc);border:1px solid #e3eaf3;border-radius:16px;padding:20px;
  text-align:center;cursor:pointer;transition:transform .12s,box-shadow .15s;box-shadow:0 2px 8px rgba(40,70,110,.06)}
.game-tile:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(37,99,196,.2)}
.game-tile .gi{font-size:40px}
.game-tile .gn{font-weight:800;margin-top:8px;color:#1f2c40}
.slot-reels{display:flex;justify-content:center;gap:12px;margin:22px 0;font-size:56px}
.reel{width:84px;height:94px;background:linear-gradient(180deg,#fff,#eef3fa);border:2px solid #d6e1ef;border-radius:16px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 3px 8px rgba(40,70,110,.12)}
.reel.spin{animation:reelspin .4s linear infinite}
@keyframes reelspin{0%{transform:translateY(-4px)}50%{transform:translateY(4px)}100%{transform:translateY(-4px)}}
.bet-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0;flex-wrap:wrap}
.bet-row input{background:#fff;border:1px solid #d6e1ef;color:#1f2c40;padding:9px 12px;
  border-radius:10px;width:150px;text-align:center;font-size:15px;font-weight:800}
.chip{background:#eef3fa;border:1px solid #d6e1ef;border-radius:9px;padding:7px 13px;cursor:pointer;font-weight:800;
  font-size:12px;color:#27364d;transition:all .12s}
.chip:hover{background:#fff;border-color:#2563c4;color:#2563c4;transform:translateY(-1px)}
.cards{display:flex;gap:8px;justify-content:center;margin:10px 0;min-height:70px;flex-wrap:wrap}
.pcard{width:50px;height:68px;background:#fff;color:#111;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font-size:22px;font-weight:800;box-shadow:0 4px 10px rgba(40,70,110,.25);border:1px solid #e3eaf3}
.pcard.red{color:#d11}
.result{text-align:center;font-size:18px;font-weight:900;min-height:26px;margin:10px 0;color:#1f2c40}
.result.win{color:#13934d} .result.lose{color:#cf4630}
.roulette-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:12px 0}
.rbtn{padding:9px 0;border-radius:8px;border:1px solid #d6e1ef;background:#eef3fa;cursor:pointer;
  font-size:12px;font-weight:800;text-align:center;color:#27364d;transition:transform .1s}
.rbtn:hover{transform:translateY(-1px)}
.rbtn.red{background:#e1604a;color:#fff;border-color:#cf4630}
.rbtn.black{background:#2b3242;color:#fff;border-color:#1f2530}
.rbtn.green{background:#1aa85a;color:#fff;border-color:#13934d}
.rbtn.sel{outline:3px solid #f0b73a;outline-offset:1px}

/* ---- Challenges / Daily rows ---- */
.chal{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e6edf5;
  border-radius:14px;padding:13px;margin-bottom:9px;box-shadow:0 2px 8px rgba(40,70,110,.06);transition:transform .12s}
.chal:hover{transform:translateY(-1px)}
.chal.done{background:linear-gradient(180deg,#eafaf0,#dcf5e6);border-color:#9ee0bb}
.chal .ci{font-size:26px;width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#f0f5fc,#e3ecf7);border-radius:12px}
.chal.done .ci{background:linear-gradient(135deg,#cdf3dd,#b6ecca)}
.chal .cinfo{flex:1;min-width:0}
.chal .cn{font-weight:800;color:#1f2c40}
.chal .cd{font-size:12px;color:#6a7a8c;margin-top:1px}
.chal .cprog{height:7px;background:#e6edf5;border-radius:5px;margin-top:7px;overflow:hidden}
.chal .cprog>div{height:100%;background:linear-gradient(90deg,#2f6bd6,#4f9bff);border-radius:5px;transition:width .4s}
.chal.done .cprog>div{background:linear-gradient(90deg,#1aa85a,#3fd07f)}
.chal .creward{font-size:12px;color:#c98a16;font-weight:900;white-space:nowrap}

/* ---- Loading (bright daytime) ---- */
#loading{z-index:60;background:linear-gradient(180deg,#9fd0f5,#cfe6f7 70%,#e8f3fb)}
.load-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}
.logo-big{font-size:84px;animation:rocket 2.6s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(40,70,110,.3))}
@keyframes rocket{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-14px) rotate(8deg)}}
.load-title{font-size:50px;font-weight:900;letter-spacing:2px;
  background:linear-gradient(180deg,#2f6bd6,#1d3a6b);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 0 rgba(255,255,255,.4)}
.load-sub{color:#3a5a80;letter-spacing:3px;text-transform:uppercase;font-size:12px;margin-bottom:18px;font-weight:700}
.load-bar{width:300px;height:14px;background:rgba(255,255,255,.6);border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 3px rgba(40,70,110,.2)}
#load-fill{height:100%;width:0;background:linear-gradient(90deg,#2563c4,#4f9bff,#7cc0ff);
  box-shadow:0 0 12px rgba(37,99,196,.5);transition:width .35s;border-radius:10px}
#load-status{margin-top:11px;color:#27486a;font-size:13px;min-height:18px;font-weight:700}
.load-tip{margin-top:16px;max-width:380px;color:#456185;font-size:12px;font-style:italic;min-height:30px;line-height:1.5}
#loading.fade-out{opacity:0;transition:opacity .5s;pointer-events:none}

/* keep .big for the game-over button */
.big{background:linear-gradient(135deg,#2f6bd6,#2563c4);color:#fff;border:1px solid rgba(255,255,255,.3);
  padding:14px 46px;border-radius:14px;font-size:18px;font-weight:900;cursor:pointer;
  box-shadow:0 10px 28px rgba(37,99,196,.45);transition:transform .1s,box-shadow .15s,filter .15s}
.big:hover{filter:brightness(1.06);box-shadow:0 14px 34px rgba(37,99,196,.6);transform:translateY(-2px)}
.big:active{transform:translateY(0) scale(.98)}
#go-msg{text-align:center;color:#6a7a8c;line-height:1.6;margin:8px 0 18px}

/* ---- Zoom controls ---- */
#zoomctl{position:absolute;right:12px;bottom:54px;display:flex;flex-direction:column;gap:5px;z-index:9}
#zoomctl button{width:38px;height:38px;font-size:20px;font-weight:900;line-height:1;
  background:#ffffff;color:#27364d;border:2px solid #0d1626;cursor:pointer;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(13,22,38,.25);
  transition:transform .06s,background .12s;display:flex;align-items:center;justify-content:center}
#zoomctl button:hover{background:#eef4fc}
#zoomctl button:active{transform:translateY(2px);box-shadow:inset 0 2px 0 rgba(255,255,255,.6)}
#zoom-reset{font-size:16px}

/* =====================================================================
   Minecraft-style title menu (over the live 3D city)
   ===================================================================== */
.mc-overlay{background:#0c1a2e;overflow:hidden;image-rendering:pixelated;flex-direction:column}
/* once the 3D city renders behind it, drop the solid bg + sky, add a soft scrim */
body.show-3d-bg .mc-overlay{background:rgba(8,16,30,0.32)}
body.show-3d-bg .mc-sky{display:none}
body.show-3d-bg #loading{display:none}
/* animated blocky sky backdrop (fallback when 3D not yet up) */
.mc-sky{position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,#0a1830 0%,#13315c 45%,#1d4f86 80%,#2a6bb0 100%)}
.mc-sky::after{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:32px 32px;animation:mcdrift 40s linear infinite}
@keyframes mcdrift{from{background-position:0 0}to{background-position:32px 32px}}

.mc-menu{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  gap:34px;width:min(560px,92vw);padding:20px}
.mc-title{position:relative;text-align:center;line-height:.9}
.mc-title-main,.mc-title-sub{font-family:"Press Start 2P",monospace;letter-spacing:2px;margin:0}
.mc-title-main{font-size:clamp(34px,8vw,58px);color:#f4d03f;
  text-shadow:4px 4px 0 #7a5c00, 6px 6px 0 rgba(0,0,0,.45)}
.mc-title-sub{font-size:clamp(26px,6vw,44px);color:#e8f0f8;margin-top:8px;
  text-shadow:4px 4px 0 #2a4d78, 6px 6px 0 rgba(0,0,0,.45)}
/* yellow tilted splash, Minecraft-style */
.mc-splash{position:absolute;right:-14px;bottom:-24px;font-family:"Press Start 2P",monospace;
  font-size:11px;color:#ffec5c;text-shadow:2px 2px 0 #6b5800;transform:rotate(-14deg);
  animation:mcpulse .9s ease-in-out infinite;white-space:nowrap}
@keyframes mcpulse{0%,100%{transform:rotate(-14deg) scale(1)}50%{transform:rotate(-14deg) scale(1.08)}}

.mc-buttons{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}
.mc-btn-row{display:flex;gap:12px;width:min(440px,90vw)}
.mc-btn-row .mc-btn{flex:1}
.mc-btn{font-family:"Press Start 2P",monospace;font-size:13px;color:#e8f0f8;
  background:#7c8896;border:none;border-radius:0;padding:16px 18px;cursor:pointer;
  box-shadow:inset -4px -4px 0 rgba(0,0,0,.35), inset 4px 4px 0 rgba(255,255,255,.25),0 4px 0 rgba(0,0,0,.4);
  text-shadow:2px 2px 0 rgba(0,0,0,.45);transition:background .1s,transform .06s;letter-spacing:1px}
.mc-btn:hover{background:#8fa6bd}
.mc-btn:active{transform:translateY(3px);box-shadow:inset -4px -4px 0 rgba(0,0,0,.35),inset 4px 4px 0 rgba(255,255,255,.2),0 1px 0 rgba(0,0,0,.4)}
.mc-btn-wide{width:min(440px,90vw)}
#play-btn{background:#5aa85a}#play-btn:hover{background:#69bd69}
.mc-foot{display:flex;justify-content:space-between;width:min(440px,90vw);
  font-family:"VT323",monospace;font-size:16px;color:#9fb4cc}

/* ---- pixel top nav ---- */
.mc-nav{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;
  justify-content:space-between;gap:14px;padding:12px 16px;flex-wrap:wrap}
.mc-nav-left,.mc-nav-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mc-nav-logo{font-family:"Press Start 2P",monospace;font-size:12px;color:#f4d03f;letter-spacing:1px;
  text-shadow:2px 2px 0 #7a5c00,3px 3px 0 rgba(0,0,0,.5)}
.mc-nav-badge{font-family:"Press Start 2P",monospace;font-size:7px;color:#0d1626;background:#f4d03f;
  border:2px solid #0d1626;padding:4px 6px;box-shadow:2px 2px 0 rgba(0,0,0,.4)}
.mc-nav-link{font-family:"Press Start 2P",monospace;font-size:9px;color:#e8f0f8;cursor:pointer;
  letter-spacing:.5px;text-shadow:2px 2px 0 rgba(0,0,0,.6);transition:color .12s}
.mc-nav-link:hover{color:#f4d03f}
.mc-nav-ico{font-size:18px;color:#e8f0f8;cursor:pointer;text-shadow:2px 2px 0 rgba(0,0,0,.6)}
.mc-nav-ico:hover{color:#f4d03f}
.mc-nav-wallet{font-family:"Press Start 2P",monospace;font-size:9px;color:#fff;background:#ef7a2a;
  border:none;padding:11px 14px;cursor:pointer;letter-spacing:.5px;text-shadow:2px 2px 0 rgba(0,0,0,.4);
  box-shadow:inset -3px -3px 0 rgba(0,0,0,.3),inset 3px 3px 0 rgba(255,255,255,.25),0 4px 0 rgba(0,0,0,.4);
  transition:background .1s,transform .06s}
.mc-nav-wallet:hover{background:#ff8c3a}
.mc-nav-wallet:active{transform:translateY(3px);box-shadow:inset -3px -3px 0 rgba(0,0,0,.3),inset 3px 3px 0 rgba(255,255,255,.2),0 1px 0 rgba(0,0,0,.4)}

/* ---- pixel stat pills + contract address ---- */
.mc-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:-12px}
.mc-stat{display:flex;align-items:center;gap:8px;font-family:"Press Start 2P",monospace;font-size:8px;
  color:#cfe0f5;background:#13233f;border:2px solid #0d1626;padding:8px 11px;letter-spacing:.5px;
  box-shadow:2px 2px 0 rgba(0,0,0,.4)}
.mc-stat b{color:#5af0a0}
.mc-stat-dot{width:8px;height:8px;background:#46d17a;box-shadow:0 0 6px #46d17a}
.mc-ca{font-family:"VT323",monospace;font-size:16px;color:#aebfd4;background:#13233f;
  border:2px solid #0d1626;padding:6px 12px;cursor:pointer;box-shadow:2px 2px 0 rgba(0,0,0,.4);
  max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:-18px}
.mc-ca:hover{color:#f4d03f}

/* how-to popover */
.mc-howto{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  background:rgba(6,14,26,.7)}
.mc-howto-card{background:#1c2b44;border:4px solid #0d1626;
  box-shadow:inset -4px -4px 0 rgba(0,0,0,.4),inset 4px 4px 0 rgba(255,255,255,.08);
  padding:26px;width:min(520px,92vw);color:#dbe7f5}
.mc-howto-card h2{font-family:"Press Start 2P",monospace;font-size:16px;color:#f4d03f;
  text-align:center;margin-bottom:18px;text-shadow:2px 2px 0 #7a5c00}
.mc-howto-card ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:20px}
.mc-howto-card li{font-family:"VT323",monospace;font-size:19px;line-height:1.25;color:#cfe0f5;
  padding-left:18px;position:relative}
.mc-howto-card li::before{content:"▸";position:absolute;left:0;color:#5aa85a}
.mc-howto-card li b{color:#ffec5c}
