/* ============================================================
   HOUSE THIEF — styles.css
   Visual language: "Stakeout Case File" — night-surveillance noir.
   Palette: void black + night-vision green + radio amber + alert red.
   happystoner5420 Games
   ============================================================ */

:root{
  --c-void:#07090a;
  --c-void2:#0c0f0c;
  --c-panel:#12170f;
  --c-panel2:#171d14;
  --c-panel3:#1d2418;
  --c-border:#2a3326;
  --c-border-lit:#3ddc6f55;
  --c-amber:#ffb627;
  --c-amber-dim:#9c7a26;
  --c-green:#3ddc6f;
  --c-green-dim:#1d6b3a;
  --c-red:#ff3b3b;
  --c-red-dim:#7a1f1f;
  --c-text:#e9ece4;
  --c-text-dim:#aab4a3;
  --c-text-mute:#6f7a68;
  --font-display:"Arial Narrow","Oswald","Helvetica Neue",Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"Courier New",Courier,monospace;
  --radius:3px;
  --shadow-deep:0 20px 60px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;user-select:none;}
body{
  background:var(--c-void);
  color:var(--c-text);
  font-family:var(--font-body);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  position:relative;
  width:100vw;height:100vh;
  pointer-events:none;
}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;pointer-events:auto;}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:0.02em;}
svg{display:block;}
::selection{background:var(--c-green);color:#000;}
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:4px;}
::-webkit-scrollbar-track{background:var(--c-void2);}

/* ============ ATMOSPHERE OVERLAYS ============ */
.crt-overlay{
  position:fixed;inset:0;pointer-events:none;z-index:9000;
  background:repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0.025) 0px,
    rgba(255,255,255,0.025) 1px,
    transparent 1px,
    transparent 3px
  );
  mix-blend-mode:overlay;
  opacity:0.5;
}
.vignette{
  position:fixed;inset:0;pointer-events:none;z-index:8999;
  background:radial-gradient(ellipse at 50% 45%, transparent 55%, rgba(0,0,0,0.55) 100%);
}

/* ============ SCREEN MANAGEMENT ============ */
.screen{
  position:fixed;inset:0;
  display:none;
  width:100%;height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  pointer-events:auto;
}
.screen.active{display:flex;flex-direction:column;animation:screenIn 0.4s ease both;}
@keyframes screenIn{from{opacity:0;transform:scale(1.01);}to{opacity:1;transform:scale(1);}}

/* ============ BOOT ============ */
#screen-boot{align-items:center;justify-content:center;background:var(--c-void);}
.boot-wrap{text-align:center;}
.boot-mark{width:90px;height:90px;margin:0 auto 18px;filter:drop-shadow(0 0 18px var(--c-green));animation:pulseGlow 1.6s ease-in-out infinite;}
@keyframes pulseGlow{0%,100%{opacity:0.75;}50%{opacity:1;}}
.boot-title{font-size:2.4rem;letter-spacing:0.3em;color:var(--c-text);margin-bottom:18px;}
.boot-bar{width:260px;height:4px;background:var(--c-panel3);border-radius:2px;overflow:hidden;margin:0 auto 10px;}
.boot-bar-fill{height:100%;width:0%;background:var(--c-green);box-shadow:0 0 10px var(--c-green);transition:width 0.3s linear;}
.boot-sub{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.15em;color:var(--c-text-mute);}

/* ============ MAIN MENU ============ */
#screen-menu{align-items:center;justify-content:flex-end;position:relative;background:var(--c-void);}
.menu-bg{position:absolute;inset:0;overflow:hidden;}
.menu-skyline{width:100%;height:100%;}
.menu-grain{position:absolute;inset:0;background:linear-gradient(to top, rgba(7,9,10,0.97) 10%, rgba(7,9,10,0.45) 55%, rgba(7,9,10,0.85) 100%);}
.brand-mark{position:absolute;top:28px;left:40px;z-index:2;}
.brand-eyebrow{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.2em;color:var(--c-amber);border:1px solid var(--c-amber-dim);padding:4px 10px;border-radius:2px;}
.menu-content{position:relative;z-index:2;padding:0 60px 40px;max-width:680px;}
.game-title{display:flex;flex-direction:column;line-height:0.85;margin-bottom:14px;}
.title-line1{font-size:4.2rem;color:var(--c-text);letter-spacing:0.02em;}
.title-line2{font-size:5.6rem;color:var(--c-green);text-shadow:0 0 30px rgba(61,220,111,0.45);letter-spacing:0.02em;}
.game-tag{font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.08em;color:var(--c-text-dim);margin-bottom:34px;max-width:480px;}
.menu-nav{display:flex;flex-direction:column;gap:10px;max-width:420px;}
.menu-btn{
  display:flex;align-items:center;gap:16px;
  background:rgba(18,23,15,0.7);
  border:1px solid var(--c-border);
  padding:14px 20px;
  text-align:left;
  border-radius:var(--radius);
  transition:all 0.15s ease;
  backdrop-filter:blur(4px);
}
.menu-btn:hover{border-color:var(--c-green);background:rgba(61,220,111,0.08);transform:translateX(4px);}
.menu-btn.primary{border-color:var(--c-green);background:rgba(61,220,111,0.12);}
.menu-btn.primary:hover{background:rgba(61,220,111,0.22);}
.menu-btn.wide{width:100%;justify-content:center;}
.mb-num{font-family:var(--font-mono);color:var(--c-text-mute);font-size:0.85rem;}
.mb-label{font-family:var(--font-display);font-weight:700;letter-spacing:0.08em;font-size:1.05rem;}
.menu-foot{position:relative;z-index:2;padding:14px 60px;font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.15em;color:var(--c-text-mute);border-top:1px solid var(--c-border);}

/* ============ SUBPAGES (How To / Credits) ============ */
.subpage{padding:36px 50px 50px;max-width:1100px;margin:0 auto;width:100%;}
.subpage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;border-bottom:1px solid var(--c-border);padding-bottom:16px;}
.subpage-head h2{font-size:1.5rem;color:var(--c-green);letter-spacing:0.06em;}
.btn-ghost{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;color:var(--c-text-dim);border:1px solid var(--c-border);padding:8px 14px;border-radius:var(--radius);transition:all 0.15s;}
.btn-ghost:hover{border-color:var(--c-green);color:var(--c-green);}
.btn-ghost.small{padding:6px 10px;font-size:0.7rem;}
.howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.howto-card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px;position:relative;}
.hc-num{display:block;font-family:var(--font-mono);color:var(--c-amber);font-size:0.75rem;margin-bottom:8px;}
.howto-card h3{font-size:1rem;color:var(--c-text);margin-bottom:8px;letter-spacing:0.04em;}
.howto-card p{font-size:0.85rem;line-height:1.5;color:var(--c-text-dim);}
.credits-page{display:flex;align-items:center;justify-content:center;}
.credits-body{text-align:center;padding:40px 0;}
.credits-mark{width:70px;height:70px;margin:0 auto 16px;filter:drop-shadow(0 0 14px var(--c-green));}
.credits-body h3{font-size:1.8rem;letter-spacing:0.1em;color:var(--c-text);}
.credits-line{font-family:var(--font-mono);color:var(--c-text-dim);font-size:0.85rem;margin:6px 0 20px;}
.credits-divider{width:60px;height:2px;background:var(--c-border);margin:18px auto;}
.credits-role{font-family:var(--font-mono);font-size:0.68rem;color:var(--c-text-mute);letter-spacing:0.2em;}
.credits-studio{font-size:1.4rem;color:var(--c-green);margin-top:6px;letter-spacing:0.04em;}
.credits-disclaimer{font-family:var(--font-mono);font-size:0.72rem;color:var(--c-text-mute);line-height:1.7;margin-top:10px;}

/* ============ HUD (shared across map / heist) ============ */
.hud{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;
  background:linear-gradient(to bottom, rgba(7,9,10,0.95), rgba(7,9,10,0.75));
  border-bottom:1px solid var(--c-border);
  flex-shrink:0;
  z-index:50;
}
.hud-title{font-family:var(--font-display);letter-spacing:0.1em;font-size:0.95rem;color:var(--c-text-dim);}
.hud-left,.hud-right{display:flex;align-items:center;gap:10px;}
.stat-chip{
  display:flex;align-items:center;gap:6px;
  background:var(--c-panel);border:1px solid var(--c-border);
  padding:6px 12px;border-radius:var(--radius);
  font-family:var(--font-mono);font-size:0.82rem;
}
.stat-chip .ico{width:16px;height:16px;}
.stat-chip.cash{color:var(--c-green);border-color:var(--c-green-dim);}
.stat-chip.heat{color:var(--c-amber);border-color:var(--c-amber-dim);}
.trunk-btn{transition:all 0.15s;}
.trunk-btn:hover{border-color:var(--c-green);color:var(--c-green);}

/* ============ MAP SCREEN ============ */
#screen-map{background:var(--c-void2);}
.map-wrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px;}
.map-svg{width:100%;height:100%;max-width:1400px;max-height:100%;}
.map-footer{
  text-align:center;padding:10px;font-family:var(--font-mono);font-size:0.75rem;
  color:var(--c-text-mute);border-top:1px solid var(--c-border);flex-shrink:0;
}
.house-node{cursor:pointer;transition:opacity 0.15s ease;pointer-events:auto;}
.house-node:hover{opacity:1 !important;filter:brightness(1.35) drop-shadow(0 3px 6px rgba(61,220,111,0.4));}
.house-label{font-family:var(--font-mono);font-size:11px;fill:var(--c-text-dim);pointer-events:none;}
.house-node:hover .house-label{fill:var(--c-green);}
.cleared-label{font-size:10px;letter-spacing:0.05em;}

/* ============ HOUSE PREVIEW ============ */
#screen-preview{align-items:center;justify-content:center;background:var(--c-void2);}
.preview-wrap{width:100%;max-width:1000px;padding:30px;position:relative;}
.preview-back{position:absolute;top:30px;left:30px;}
.preview-card{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:var(--c-panel);border:1px solid var(--c-border);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-deep);margin-top:50px;}
.preview-house{background:#05070a;display:flex;align-items:center;justify-content:center;}
.house-render{width:100%;height:100%;}
.preview-info{padding:30px 30px 30px 0;display:flex;flex-direction:column;}
.case-eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--c-amber);letter-spacing:0.15em;}
.preview-info h2{font-size:1.7rem;margin:6px 0 18px;color:var(--c-text);}
.preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.pstat{background:var(--c-panel2);border:1px solid var(--c-border);padding:10px 12px;border-radius:var(--radius);}
.pstat label{display:block;font-family:var(--font-mono);font-size:0.62rem;color:var(--c-text-mute);letter-spacing:0.1em;margin-bottom:4px;}
.pstat span{font-family:var(--font-mono);font-size:0.95rem;color:var(--c-green);}
.preview-flavor{font-size:0.88rem;color:var(--c-text-dim);line-height:1.6;margin-bottom:22px;flex:1;}
.preview-actions{display:flex;flex-direction:column;gap:10px;}

/* ============ SHOP / TRUNK ============ */
.shop-page{max-width:1200px;}
.shop-cash{font-family:var(--font-mono);color:var(--c-green);display:flex;align-items:center;gap:6px;font-size:1rem;}
.shop-cash .ico{width:18px;height:18px;}
.shop-tabs{display:flex;gap:8px;margin-bottom:20px;}
.shop-tab{padding:8px 16px;border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.05em;color:var(--c-text-dim);}
.shop-tab.active{border-color:var(--c-green);color:var(--c-green);background:rgba(61,220,111,0.08);}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.shop-item{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px;pointer-events:auto;}
.shop-item-icon{width:54px;height:54px;background:var(--c-panel2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin:0 auto;pointer-events:none;}
.shop-item-icon svg{width:30px;height:30px;pointer-events:none;}
.shop-item h4{font-size:0.85rem;text-align:center;color:var(--c-text);}
.shop-item p{font-size:0.72rem;color:var(--c-text-mute);text-align:center;line-height:1.4;flex:1;}
.consumable-tag{display:block;font-size:0.65rem;color:var(--c-amber);font-weight:bold;margin-top:4px;letter-spacing:0.05em;}
.shop-item-price{text-align:center;font-family:var(--font-mono);color:var(--c-amber);font-size:0.85rem;}
.shop-buy{margin-top:4px;padding:8px;border:1px solid var(--c-border);border-radius:var(--radius);text-align:center;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;transition:all 0.15s;pointer-events:auto;cursor:pointer;}
.shop-buy:hover{border-color:var(--c-green);color:var(--c-green);}
.shop-buy.owned{border-color:var(--c-green-dim);color:var(--c-green);background:rgba(61,220,111,0.08);}
.shop-buy.disabled{opacity:0.4;cursor:not-allowed;}

/* ============ HEIST SCREEN ============ */
#screen-heist{background:var(--c-void2);}
.heist-meters{display:flex;gap:24px;padding:12px 28px;border-bottom:1px solid var(--c-border);flex-shrink:0;}
.meter-block{flex:1;}
.meter-block label{font-family:var(--font-mono);font-size:0.65rem;color:var(--c-text-mute);letter-spacing:0.1em;display:block;margin-bottom:4px;}
.meter-track{height:7px;background:var(--c-panel3);border-radius:4px;overflow:hidden;border:1px solid var(--c-border);}
.meter-fill{height:100%;transition:width 0.35s ease;}
.meter-fill.suspicion{background:linear-gradient(90deg,var(--c-amber),var(--c-red));}
.meter-fill.nerve{background:var(--c-green);}
.meter-fill.escape{background:var(--c-green);}
.meter-fill.alert{background:linear-gradient(90deg,var(--c-amber),var(--c-red));}
.meter-fill.odds{background:var(--c-green);}

.heist-body{flex:1;display:grid;grid-template-columns:1.5fr 1fr;gap:0;overflow:hidden;}
.heist-room{position:relative;background:#05070a;overflow:hidden;border-right:1px solid var(--c-border);}
.room-render{width:100%;height:100%;}
.loot-overlay{position:absolute;inset:0;pointer-events:none;}
.loot-pin{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);cursor:pointer;}
.loot-pin .pin-card{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  background:rgba(12,15,12,0.92);border:1px solid var(--c-border);border-radius:var(--radius);
  padding:7px 9px;transition:all 0.15s;min-width:64px;
}
.loot-pin:hover .pin-card{border-color:var(--c-green);transform:translateY(-2px);}
.loot-pin svg{width:28px;height:28px;pointer-events:none;}
.loot-pin .pin-name{font-family:var(--font-mono);font-size:0.6rem;color:var(--c-text-dim);text-align:center;pointer-events:none;}
.loot-pin .pin-value{font-family:var(--font-mono);font-size:0.65rem;color:var(--c-green);pointer-events:none;}
.loot-pin.taken{opacity:0.25;pointer-events:none;}

.resident-panel{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;}
.case-file-card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:6px;padding:18px;position:relative;pointer-events:none;}
.cf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.cf-stamp{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.12em;padding:3px 8px;border:1px solid var(--c-green-dim);color:var(--c-green);border-radius:2px;}
.cf-stamp.alert{border-color:var(--c-red-dim);color:var(--c-red);}
.cf-id{font-family:var(--font-mono);font-size:0.6rem;color:var(--c-text-mute);}
.cf-photo-wrap{position:relative;width:120px;height:120px;margin:0 auto 12px;border:2px solid var(--c-border);border-radius:4px;overflow:hidden;background:#000;pointer-events:none;}
.cf-photo{width:100%;height:100%;display:block;pointer-events:none;}
.cf-photo svg{width:100%;height:100%;display:block;pointer-events:none;}
.cf-photo img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;}
.cf-photo-scan{position:absolute;inset:0;background:linear-gradient(transparent 0%, rgba(61,220,111,0.12) 50%, transparent 100%);background-size:100% 220%;animation:scanMove 3s linear infinite;pointer-events:none;}
@keyframes scanMove{0%{background-position-y:0%;}100%{background-position-y:200%;}}
.case-file-card h3{text-align:center;font-size:1.05rem;margin-bottom:4px;}
.cf-desc{text-align:center;font-size:0.75rem;color:var(--c-text-mute);margin-bottom:10px;line-height:1.4;}
.cf-status{text-align:center;font-family:var(--font-mono);font-size:0.68rem;color:var(--c-amber);letter-spacing:0.06em;border-top:1px solid var(--c-border);padding-top:10px;}

.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;pointer-events:auto;}
.act-btn{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius);
  padding:12px 6px;font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.04em;
  transition:all 0.15s;color:var(--c-text-dim);pointer-events:auto;
}
.act-btn .ico{width:20px;height:20px;pointer-events:none;}
.act-btn:hover{border-color:var(--c-green);color:var(--c-text);background:rgba(61,220,111,0.07);}
.act-btn:disabled{opacity:0.3;cursor:not-allowed;}
.act-btn:disabled:hover{border-color:var(--c-border);background:var(--c-panel);}

.heist-log{
  padding:10px 28px;font-family:var(--font-mono);font-size:0.78rem;color:var(--c-text-dim);
  border-top:1px solid var(--c-border);background:var(--c-void);flex-shrink:0;min-height:38px;
}

/* ============ POLICE STANDOFF ============ */
#screen-police{align-items:center;justify-content:center;background:radial-gradient(ellipse at center, #0d1410 0%, #07090a 70%);position:relative;}
.police-sirens{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(255,59,59,0.18) 0%, transparent 30%, transparent 70%, rgba(61,220,111,0.18) 100%);
  animation:sirenFlash 1s steps(2) infinite;
}
@keyframes sirenFlash{0%,100%{opacity:0.3;}50%{opacity:0.9;}}
.police-wrap{position:relative;z-index:2;width:100%;max-width:760px;padding:30px;text-align:center;}
.police-title{font-size:1.6rem;letter-spacing:0.15em;color:var(--c-red);margin-bottom:24px;text-shadow:0 0 18px rgba(255,59,59,0.5);}
.standoff-stage{display:flex;align-items:center;justify-content:center;gap:40px;margin-bottom:24px;}
.standoff-side{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;}
.standoff-figure{width:140px;height:180px;filter:drop-shadow(0 8px 16px rgba(0,0,0,0.6));display:block;pointer-events:none;}
.standoff-figure svg{width:100%;height:100%;display:block;pointer-events:none;}
.standoff-figure img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px;pointer-events:none;user-select:none;}
.standoff-label{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;color:var(--c-text-mute);pointer-events:none;}
.standoff-vs{font-size:1.4rem;color:var(--c-amber);letter-spacing:0.2em;}
.police-log{font-family:var(--font-mono);font-size:0.82rem;color:var(--c-text-dim);margin:18px 0 20px;min-height:40px;}
.police-actions{grid-template-columns:repeat(4,1fr);}

/* ============ COURTROOM ============ */
#screen-court{position:relative;background:var(--c-void);}
.court-wrap{flex:1;display:flex;flex-direction:column;position:relative;overflow-y:auto;}
.court-bg{position:absolute;inset:0;z-index:0;}
.court-svg{width:100%;height:100%;opacity:0.9;}
.court-overlay{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;padding:40px 30px;background:linear-gradient(to bottom, rgba(7,9,10,0.55) 0%, rgba(7,9,10,0.92) 38%, rgba(7,9,10,0.97) 100%);}
.court-overlay h2{font-size:1.6rem;margin:6px 0 20px;letter-spacing:0.08em;}
.court-figures{display:flex;gap:36px;margin-bottom:24px;flex-wrap:wrap;justify-content:center;}
.court-figure{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;}
.court-photo{width:90px;height:90px;border-radius:4px;border:2px solid var(--c-border);display:block;pointer-events:none;}
.court-photo svg{width:100%;height:100%;display:block;pointer-events:none;}
.court-photo img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;}
.court-figure span{font-family:var(--font-mono);font-size:0.68rem;color:var(--c-text-mute);letter-spacing:0.08em;pointer-events:none;}
.court-dialogue{
  max-width:600px;text-align:center;font-size:0.95rem;line-height:1.6;color:var(--c-text-dim);
  background:var(--c-panel);border:1px solid var(--c-border);border-radius:6px;padding:18px 24px;margin-bottom:20px;
}
.court-meter-block{width:100%;max-width:340px;margin-bottom:20px;}
.court-meter-block label{font-family:var(--font-mono);font-size:0.65rem;color:var(--c-text-mute);letter-spacing:0.1em;display:block;margin-bottom:4px;text-align:center;}
.court-actions{grid-template-columns:repeat(3,1fr);max-width:560px;width:100%;}

/* ============ END SCREEN ============ */
#screen-end{align-items:center;justify-content:center;background:var(--c-void);}
.end-wrap{text-align:center;max-width:480px;padding:30px;}
.end-icon{width:80px;height:80px;margin:0 auto 16px;}
.end-wrap h2{font-size:1.9rem;letter-spacing:0.08em;margin-bottom:8px;}
.end-wrap p{color:var(--c-text-dim);font-size:0.9rem;margin-bottom:24px;line-height:1.6;}
.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;}
.end-stats .pstat{background:var(--c-panel);border:1px solid var(--c-border);padding:10px;border-radius:var(--radius);}
.end-stats label{display:block;font-family:var(--font-mono);font-size:0.62rem;color:var(--c-text-mute);letter-spacing:0.1em;margin-bottom:4px;}
.end-stats span{font-family:var(--font-mono);font-size:1rem;color:var(--c-green);}
.conviction-highlight{color:var(--c-red) !important;font-weight:bold;animation:pulseRed 1.5s ease-in-out infinite;}
@keyframes pulseRed{0%,100%{opacity:1;}50%{opacity:0.6;}}

/* ============ TOAST ============ */
.toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--c-panel);border:1px solid var(--c-green-dim);color:var(--c-text);
  padding:12px 22px;border-radius:var(--radius);font-family:var(--font-mono);font-size:0.82rem;
  z-index:9500;opacity:0;pointer-events:none;transition:all 0.3s ease;box-shadow:var(--shadow-deep);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.warn{border-color:var(--c-red-dim);}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .preview-card{grid-template-columns:1fr;}
  .heist-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr;}
  .howto-grid{grid-template-columns:1fr 1fr;}
  .shop-grid{grid-template-columns:repeat(2,1fr);}
  .title-line1{font-size:3rem;}
  .title-line2{font-size:4rem;}
}
@media (max-width:600px){
  .howto-grid{grid-template-columns:1fr;}
  .shop-grid{grid-template-columns:1fr 1fr;}
  .standoff-stage{gap:18px;}
  .standoff-figure{width:100px;height:130px;}
  .police-actions{grid-template-columns:1fr 1fr;}
  .court-actions{grid-template-columns:1fr;}
  .menu-content{padding:0 24px 30px;}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}

/* ============ POLICE REPORT SCREEN ============ */
#screen-report{align-items:center;justify-content:center;background:var(--c-void2);overflow-y:auto;}
.report-wrap{width:100%;max-width:800px;padding:40px 30px;}
.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--c-border);}
.report-stamp{font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.15em;color:var(--c-red);font-weight:bold;border:2px solid var(--c-red-dim);padding:6px 14px;border-radius:var(--radius);}
.report-case-num{font-family:var(--font-mono);font-size:0.75rem;color:var(--c-text-mute);letter-spacing:0.1em;}
.report-body{background:var(--c-panel);border:2px solid var(--c-border);border-radius:6px;padding:28px;box-shadow:var(--shadow-deep);}
.report-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--c-border);}
.report-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.report-label{display:block;font-family:var(--font-mono);font-size:0.65rem;color:var(--c-amber);letter-spacing:0.15em;margin-bottom:8px;font-weight:bold;}
.report-value{font-family:var(--font-mono);font-size:0.88rem;color:var(--c-text);line-height:1.6;}
.report-witness-card{display:flex;gap:16px;align-items:center;background:var(--c-panel2);border:1px solid var(--c-border);padding:14px;border-radius:var(--radius);}
.report-photo{width:80px;height:80px;border-radius:4px;border:2px solid var(--c-border);background:#000;overflow:hidden;flex-shrink:0;}
.report-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.report-photo svg{width:100%;height:100%;display:block;}
.report-witness-info{flex:1;}
.report-witness-name{font-size:1.05rem;color:var(--c-text);font-weight:bold;margin-bottom:3px;}
.report-witness-desc{font-family:var(--font-mono);font-size:0.7rem;color:var(--c-text-mute);letter-spacing:0.05em;}
.report-witness-contact{font-family:var(--font-mono);font-size:0.65rem;color:var(--c-amber);letter-spacing:0.05em;margin-top:6px;font-style:italic;}
.report-statement{font-size:0.88rem;color:var(--c-text-dim);line-height:1.7;font-style:italic;background:var(--c-panel2);padding:14px;border-left:3px solid var(--c-amber-dim);border-radius:var(--radius);}
.report-footer{margin-top:20px;padding-top:20px;border-top:2px solid var(--c-border);}
.report-status{font-family:var(--font-mono);font-size:0.75rem;color:var(--c-red);letter-spacing:0.12em;text-align:center;font-weight:bold;background:rgba(255,59,59,0.08);border:1px solid var(--c-red-dim);padding:10px;border-radius:var(--radius);}
.report-actions{margin-top:24px;display:flex;justify-content:center;}
