*{box-sizing:border-box}html{background:#0b0907}body{margin:0;color:#c9c1b4;background:#0b0907;font:12px Tahoma,Verdana,Arial,sans-serif}button,input{font:inherit}.hidden{display:none!important}:root{--bg:#0b0907;--panel:#15120f;--panel2:#1b1713;--panel3:#211b15;--line:#3a3026;--line2:#554431;--gold:#b58a48;--gold2:#d0aa68;--text:#c9c1b4;--muted:#81776c;--red:#8d3028;--green:#66825a;--black:#070605}.wrap{width:min(1180px,calc(100% - 24px));margin:auto}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#2b2118 0,#100d0a 38%,#070605 80%);position:relative}.login-shell:after,.game:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#fff 4px);mix-blend-mode:overlay}.login-box{width:min(410px,calc(100% - 30px));border:1px solid #59452f;background:#110e0b;box-shadow:0 20px 80px #000;padding:0 18px 20px}.logo{font:bold 30px Georgia,serif;letter-spacing:2px;color:#d2c6b3;text-shadow:0 2px #000;text-align:center;padding:26px 0 18px}.logo span{color:var(--gold2)}.logo.small{font-size:25px;text-align:left;padding:0}.login-strip,.panel h2,.box h2{margin:0 -18px 15px;padding:7px 10px;background:linear-gradient(#2b231b,#1b1713);border-top:1px solid #44372b;border-bottom:1px solid #070605;color:#c7a66f;font:bold 10px Tahoma,sans-serif;letter-spacing:1px}.login-strip{display:flex;justify-content:space-between}.login-strip b{color:#71685e}.login-form label{display:block;color:#9b8e7d;font-size:10px;text-transform:uppercase;font-weight:bold;margin:11px 0}.login-form input{display:block;width:100%;margin-top:5px;padding:9px 10px;background:#090806;border:1px solid #493a2b;color:#ddd;outline:0}.login-form input:focus{border-color:#9b7642}.button{border:1px solid #4c3b29;background:linear-gradient(#2a231c,#181410);color:#c8b99f;padding:8px 13px;cursor:pointer;font-weight:bold;font-size:10px;text-transform:uppercase}.button:hover{border-color:#89693e;color:#e0c38e}.button.primary{background:linear-gradient(#7b5c31,#4b361e);border-color:#9d7944;color:#f0dfbd;width:100%;margin-top:7px}.button.danger{border-color:#6b3029;color:#d18a82}.button:disabled{opacity:.4;cursor:not-allowed}.login-note{color:#6f665d;font-size:10px;line-height:1.5}.text-button{border:0;background:0;color:#8e744f;padding:0;cursor:pointer;font-size:10px}.masthead{background:linear-gradient(#1c1712,#100d0a);border-bottom:1px solid #3d3024;height:67px}.mast-inner{height:100%;width:min(1180px,calc(100% - 24px));margin:auto;display:flex;align-items:center;justify-content:space-between}.mast-stats{display:flex;align-items:center;gap:15px;color:#736b62;font-size:10px;text-transform:uppercase}.mast-stats b{color:#c5a46d;margin-left:5px}.mast-stats i{height:18px;border-left:1px solid #342a21}.main-nav{background:#17130f;border-bottom:1px solid #4a3929;border-top:1px solid #070605}.nav-inner{width:min(1180px,calc(100% - 24px));margin:auto;display:flex}.main-nav button{border:0;border-right:1px solid #30271f;background:transparent;color:#8f8478;padding:10px 17px;cursor:pointer;font:bold 10px Tahoma,sans-serif;text-transform:uppercase}.main-nav button:first-child{border-left:1px solid #30271f}.main-nav button:hover,.main-nav button.active{background:linear-gradient(#30261c,#211a14);color:#d2b477;box-shadow:inset 0 -2px #9c743d}.news{background:#100e0c;border-bottom:1px solid #2c241e}.news .wrap{height:29px;display:flex;align-items:center;font-size:10px;color:#756c62}.news b{height:100%;display:flex;align-items:center;padding:0 10px;margin-right:12px;background:#6f2823;color:#e0c4bc;font-size:9px;letter-spacing:1px}.layout{display:grid;grid-template-columns:205px 1fr;gap:12px;padding:14px 0 45px;min-height:720px}.panel,.box{border:1px solid #342a21;background:#12100d;box-shadow:0 1px #000}.panel{margin-bottom:11px;padding:0 10px 10px}.panel h2{margin:0 -10px 10px}.player-card{display:flex;align-items:center;gap:9px;padding:3px 0 10px;border-bottom:1px solid #28211b}.avatar{width:46px;height:46px;border:1px solid #604a30;background:linear-gradient(135deg,#2d241b,#100d0a);display:grid;place-items:center;color:#c9a15f;font:bold 20px Georgia,serif}.player-card strong{display:block;color:#d2c8ba;font-size:12px}.player-card span{display:block;color:#766d63;font-size:9px;margin-top:3px}.mini-stats{margin:8px 0}.mini-stats div{display:flex;justify-content:space-between;padding:4px 2px;border-bottom:1px dotted #31281f}.mini-stats dt{color:#786f66}.mini-stats dd{margin:0;color:#bda77f;font-weight:bold}.bar-label{display:flex;justify-content:space-between;color:#71685f;font-size:9px;margin:8px 0 3px}.bar-label b{color:#96866f}.meter{height:7px;border:1px solid #30271e;background:#080706;padding:1px}.meter i{display:block;height:100%;background:#8a6838;width:0}.meter.health i{background:#6b7d51}.menu-panel{padding-bottom:4px}.menu-panel button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #26201a;background:transparent;color:#887e73;padding:8px 4px;cursor:pointer;font-size:10px}.menu-panel button:hover{color:#c6a66e;padding-left:8px}.menu-panel em{float:right;background:#3a2b1c;color:#b79a6a;padding:1px 4px;font-style:normal}.city-clock{text-align:center;padding:5px}.city-clock strong{display:block;color:#c2a06b;font:18px Georgia,serif}.city-clock span{font-size:8px;color:#625b54}.content{min-width:0}.breadcrumb{border:1px solid #30271f;background:#100e0c;padding:7px 9px;color:#665e56;font-size:9px;text-transform:uppercase;margin-bottom:10px}.breadcrumb b{color:#a88b5f}.page-title{border-bottom:1px solid #4b3929;margin:0 0 11px;padding:4px 2px 9px;color:#d3c7b5;font:bold 18px Georgia,serif}.page-title span{display:block;color:#71685e;font:9px Tahoma,sans-serif;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.box{padding:0 10px 10px;margin-bottom:11px}.box h2{margin:0 -10px 10px;display:flex;justify-content:space-between}.box h2 small{font-size:8px;color:#6e655b;font-weight:normal}.welcome{background:linear-gradient(100deg,#17130f 0,#21170f 60%,#17110c);border-color:#493522;position:relative;overflow:hidden}.welcome:after{content:"UNDERWORLD";position:absolute;right:15px;top:5px;color:#ffffff05;font:bold 58px Georgia,serif}.welcome p{color:#8e8376;line-height:1.6}.welcome strong{color:#c6a76f}.stat-table,.data-table{width:100%;border-collapse:collapse}.stat-table td,.data-table td,.data-table th{padding:7px 6px;border-bottom:1px solid #29221b}.stat-table td:first-child{color:#746b62}.stat-table td:last-child{text-align:right;color:#c6ad84;font-weight:bold}.data-table th{background:#1b1713;color:#9b835e;text-align:left;font-size:9px;text-transform:uppercase;border:1px solid #32281f}.data-table td{border:1px solid #29221b;color:#93887c}.data-table tr:nth-child(even) td{background:#15120f}.good{color:#77906b!important}.bad{color:#b65d52!important}.gold{color:#c39c61!important}.muted{color:#6e665e!important}.status-row{display:grid;grid-template-columns:95px 1fr 55px;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px solid #28211b;color:#756d65}.status-row b{text-align:right;font-size:9px}.status-track{height:5px;background:#080706;border:1px solid #2c241c}.status-track i{height:100%;display:block;background:#80613a}.crime-list{display:grid;gap:7px}.crime-row{display:grid;grid-template-columns:42px 1fr 110px;gap:10px;align-items:center;padding:9px;background:#15120f;border:1px solid #30271f}.crime-row.locked{opacity:.57}.crime-icon{width:36px;height:36px;display:grid;place-items:center;background:#0d0b09;border:1px solid #443322;color:#b68b4c;font:bold 15px Georgia,serif}.crime-row h3{font:bold 12px Georgia,serif;color:#c9bdad;margin:0 0 4px}.crime-row p{margin:0;color:#746c63;font-size:9px;line-height:1.5}.crime-meta{display:flex;gap:14px;margin-top:5px;color:#665f58;font-size:8px;text-transform:uppercase}.crime-meta b{color:#a99068}.crime-action{text-align:right}.crime-action .chance{display:block;font-size:8px;color:#6e8662;margin-bottom:5px}.log{max-height:210px;overflow:auto}.log-entry{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:6px 3px;border-bottom:1px dotted #2d251e;font-size:9px}.log-entry time{color:#615a53}.log-entry span{color:#8f8478}.empty{padding:28px;text-align:center;color:#6c645c}.feature-note{border-left:2px solid #75552f;background:#17120e;padding:10px;color:#81776c;line-height:1.6}.form-row{display:flex;gap:6px}.form-row input{flex:1;min-width:0;background:#090806;border:1px solid #3b3025;color:#d3c8b9;padding:8px}.bank-summary{font:22px Georgia,serif;color:#c4a36d;padding:5px 0 12px}.rank{font-weight:bold;color:#b99a67}.footer-note{color:#625b53;font-size:9px}footer{border-top:1px solid #30271f;background:#0e0c0a;color:#504a44;padding:15px 0;font-size:8px}footer .wrap{display:flex;justify-content:space-between}
@media(max-width:760px){.masthead{height:auto;padding:13px 0}.mast-inner{align-items:flex-start;gap:10px}.logo.small{font-size:20px}.mast-stats{display:grid;gap:3px;text-align:right}.mast-stats i{display:none}.nav-inner{overflow-x:auto}.main-nav button{white-space:nowrap;padding:10px 12px}.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar .panel{margin:0}.city-mini{display:none}.grid-2{grid-template-columns:1fr}.crime-row{grid-template-columns:38px 1fr}.crime-action{grid-column:2;text-align:left}.wrap{width:min(100% - 16px,1180px)}}
@media(max-width:470px){.sidebar{grid-template-columns:1fr}.mast-stats span:nth-child(2){display:none}.crime-meta{flex-wrap:wrap}.form-row{display:grid}.news .wrap{overflow:hidden}.news span{white-space:nowrap}.welcome:after{display:none}}


/* V0.2.1 — selectable classic color identities */
body{--accent:#b58a48;--accent2:#d0aa68;--accent-dark:#4b361e;--accent-deep:#21170f;--accent-line:#554431;--accent-rgb:181,138,72}
body[data-theme="blood"]{--accent:#a84b43;--accent2:#d07a70;--accent-dark:#5b2724;--accent-deep:#261312;--accent-line:#633530;--accent-rgb:168,75,67}
body[data-theme="emerald"]{--accent:#5f8c70;--accent2:#8eb39a;--accent-dark:#2f503b;--accent-deep:#122018;--accent-line:#365644;--accent-rgb:95,140,112}
body[data-theme="steel"]{--accent:#607f99;--accent2:#91aec4;--accent-dark:#31495e;--accent-deep:#121c24;--accent-line:#3a5266;--accent-rgb:96,127,153}
body[data-theme="violet"]{--accent:#80658e;--accent2:#ae8fba;--accent-dark:#493452;--accent-deep:#1d1421;--accent-line:#55405d;--accent-rgb:128,101,142}
body .logo span,body .mast-stats b,body .page-title~* .gold,body .gold{color:var(--accent2)!important}
body .main-nav button:hover,body .main-nav button.active{color:var(--accent2);box-shadow:inset 0 -2px var(--accent);background:linear-gradient(rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.08))}
body .panel,body .box{border-color:color-mix(in srgb,var(--accent-line) 55%,#19140f)}
body .login-strip,body .panel h2,body .box h2{color:var(--accent2);border-top-color:var(--accent-line);background:linear-gradient(rgba(var(--accent-rgb),.16),#171411)}
body .button:hover{border-color:var(--accent);color:var(--accent2)}
body .button.primary{background:linear-gradient(var(--accent),var(--accent-dark));border-color:var(--accent2);color:#f4ead9}
body .meter:not(.health) i,body .status-track i{background:var(--accent)}
body .avatar,body .crime-icon{border-color:var(--accent-line);color:var(--accent2)}
body .breadcrumb b,body .welcome strong,body .bank-summary{color:var(--accent2)}
body .welcome{border-color:var(--accent-line);background:linear-gradient(100deg,#17130f 0,var(--accent-deep) 60%,#17110c)}
body .feature-note{border-left-color:var(--accent)}
.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.theme-choice{min-height:70px;border:1px solid #342a21;background:#0e0c0a;color:#81776c;cursor:pointer;padding:8px;text-align:left;position:relative}.theme-choice:hover,.theme-choice.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.08);color:#c9c1b4}.theme-choice span{display:block;font:bold 9px Tahoma,sans-serif;text-transform:uppercase;margin-top:7px}.theme-choice b{position:absolute;right:6px;top:6px;font-size:7px;color:var(--accent2)}.theme-swatch{display:block;height:17px;border:1px solid #ffffff22;background:#b58a48}.theme-swatch.blood{background:#a84b43}.theme-swatch.emerald{background:#5f8c70}.theme-swatch.steel{background:#607f99}.theme-swatch.violet{background:#80658e}

/* Crime cinematic */
.crime-overlay{position:fixed;inset:0;z-index:9999;background:#050403eF;display:grid;place-items:center;padding:20px}.crime-scene{width:min(690px,100%);min-height:410px;border:1px solid var(--accent-line);background:radial-gradient(circle at 50% 35%,rgba(var(--accent-rgb),.14),transparent 42%),linear-gradient(#15110e,#080706);box-shadow:0 25px 100px #000;position:relative;overflow:hidden}.crime-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 42%,rgba(var(--accent-rgb),.06) 42% 43%,transparent 43% 100%);animation:crimeSweep 2.4s linear infinite}.crime-scanlines{position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 3px,#fff 4px)}.crime-scene-inner{position:relative;z-index:2;min-height:410px;padding:45px 55px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.crime-kicker{font:bold 9px Tahoma,sans-serif;letter-spacing:3px;color:var(--accent);margin-bottom:18px}.crime-scene-icon{width:70px;height:70px;display:grid;place-items:center;border:1px solid var(--accent-line);background:#090806;color:var(--accent2);font:bold 31px Georgia,serif;box-shadow:0 0 30px rgba(var(--accent-rgb),.1);animation:crimePulse 1.1s ease-in-out infinite}.crime-scene h2{font:bold 26px Georgia,serif;letter-spacing:2px;color:#ddd0bd;margin:17px 0 7px}.crime-scene p{color:#7f756b;margin:0 0 18px;font-size:10px;text-transform:uppercase;letter-spacing:1px}.crime-progress{height:5px;width:min(390px,90%);background:#070605;border:1px solid #30271f;padding:1px;overflow:hidden}.crime-progress i{display:block;height:100%;width:0;background:var(--accent);transition:width 2.7s cubic-bezier(.2,.7,.2,1)}.crime-result{width:min(440px,100%);margin-top:20px;padding:12px;border:1px solid #35432f;background:#11170f}.crime-result.failure{border-color:#65302b;background:#1c0e0d}.crime-result strong,.crime-result span,.crime-result small{display:block}.crime-result strong{font:bold 13px Georgia,serif;color:#8da47e;letter-spacing:1px}.crime-result.failure strong{color:#c36d63}.crime-result span{margin:7px 0;color:#b8aea0}.crime-result span b{color:var(--accent2)}.crime-result small{color:#6f675e;font-size:8px;text-transform:uppercase}.crime-continue{width:auto!important;margin-top:14px!important}.crime-overlay:not(.hidden) .crime-scene{animation:crimeIn .25s ease-out}
@keyframes crimeIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes crimePulse{50%{box-shadow:0 0 42px rgba(var(--accent-rgb),.25);transform:scale(1.03)}}@keyframes crimeSweep{from{transform:translateX(-40%)}to{transform:translateX(40%)}}
@media(max-width:760px){.theme-grid{grid-template-columns:1fr 1fr}.crime-scene-inner{padding:35px 18px}.crime-scene{min-height:380px}.crime-scene-inner{min-height:380px}}
@media(prefers-reduced-motion:reduce){.crime-scene:before,.crime-scene-icon,.crime-overlay:not(.hidden) .crime-scene{animation:none}.crime-progress i{transition-duration:.2s}}


/* ============================================================
   UNDERWORLD V0.2.2 — ILLUSTRATED / CARTOON VISIBILITY PASS
   Keeps the compact old-school browser-game structure, but
   improves contrast, depth, legibility and personality.
   ============================================================ */

:root {
  --uw-ink: #120f0c;
  --uw-panel: #211b16;
  --uw-panel-2: #2b231c;
  --uw-paper: #ead8ad;
  --uw-muted: #b9a77f;
  --uw-line: #6f5634;
  --uw-shadow: rgba(0,0,0,.55);
  --uw-danger: #b83d32;
  --uw-good: #4e9b55;
}

body {
  background-color: #15110e !important;
  background-image:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.035) 0 1px, transparent 2px),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.025) 0 1px, transparent 2px),
    linear-gradient(rgba(0,0,0,.08) 1px, transparent 1px) !important;
  background-size: 31px 31px, 43px 43px, 100% 4px !important;
  color: var(--uw-paper) !important;
  font-weight: 500;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  box-shadow: inset 0 0 120px rgba(0,0,0,.72);
}

/* Stronger illustrated silhouettes and outlines */
.panel,
.card,
.sidebar-section,
.content-box,
.stat-card,
.crime-card,
.activity-log,
table,
.login-card,
.modal-content,
[class*="panel"],
[class*="card"] {
  background: linear-gradient(180deg, #30271f 0%, #211b16 100%) !important;
  border: 2px solid #17120e !important;
  outline: 1px solid var(--uw-line);
  box-shadow:
    0 4px 0 #0c0907,
    0 7px 16px var(--uw-shadow),
    inset 0 1px rgba(255,255,255,.06) !important;
}

/* Headers now read like comic/browser-game title strips */
.panel-title,
.section-title,
.card-title,
.box-title,
.sidebar-title,
h2,
h3 {
  color: #f4dfad !important;
  text-shadow: 2px 2px 0 #0b0806;
  letter-spacing: .04em;
}

.panel-title,
.section-title,
.box-title,
.sidebar-title {
  background: linear-gradient(180deg, #4a3928, #2d2118) !important;
  border-bottom: 2px solid #17110c !important;
  box-shadow: inset 0 -1px var(--uw-line);
}

/* Make important values pop */
.stat-value,
.money,
.cash,
.bank,
.value,
strong {
  color: #fff0bf;
  text-shadow: 1px 1px 0 #090705;
}

small,
.muted,
.subtext,
.meta {
  color: #c8b994 !important;
}

/* Classic tabs with chunky illustrated feedback */
button,
.btn,
.nav-link,
.menu-link,
.top-nav a,
.sidebar a,
input[type="submit"] {
  border-radius: 3px !important;
  border: 2px solid #17110d !important;
  box-shadow: 0 3px 0 #0b0806, inset 0 1px rgba(255,255,255,.10) !important;
  text-shadow: 1px 1px 0 rgba(0,0,0,.8);
  font-weight: 700 !important;
  transition: transform .08s ease, filter .12s ease, box-shadow .08s ease;
}

button:hover,
.btn:hover,
.nav-link:hover,
.menu-link:hover,
.top-nav a:hover,
.sidebar a:hover {
  filter: brightness(1.18);
  transform: translateY(-1px);
}

button:active,
.btn:active,
.nav-link:active,
.menu-link:active,
.top-nav a:active,
.sidebar a:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #0b0806 !important;
}

/* More visible progress/status bars */
.progress,
.progress-bar,
.health-bar,
.xp-bar,
[class*="progress"] {
  min-height: 12px;
  border: 2px solid #100c09 !important;
  box-shadow: inset 0 2px 3px rgba(0,0,0,.65), 0 1px rgba(255,255,255,.05);
}

.health-fill,
[class*="health"][class*="fill"] {
  background: linear-gradient(#69bd66, #367b3d) !important;
}

.xp-fill,
[class*="xp"][class*="fill"] {
  filter: saturate(1.25) brightness(1.15);
}

/* Tables: clearer rows without becoming modern */
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

th {
  background: #3d3024 !important;
  color: #f5dfaa !important;
  border-bottom: 2px solid #15100c !important;
  text-shadow: 1px 1px #000;
}

td {
  border-bottom: 1px solid #4a3a2a !important;
}

tr:nth-child(even) td {
  background: rgba(255,255,255,.025);
}

tr:hover td {
  background: rgba(205,158,77,.08);
}

/* Avatar gets a chunky game-portrait frame */
.avatar,
.player-avatar,
[class*="avatar"] {
  border: 3px solid #17110c !important;
  outline: 2px solid var(--uw-line);
  box-shadow: 3px 4px 0 #0a0705 !important;
}

/* News ticker = more readable */
.news,
.news-ticker,
[class*="news"] {
  border-top: 2px solid #17110c !important;
  border-bottom: 2px solid #17110c !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05);
}

/* Crime entries feel more like selectable game actions */
.crime-card,
[class*="crime-card"],
[class*="crime-item"] {
  position: relative;
  overflow: hidden;
}

.crime-card::after,
[class*="crime-card"]::after {
  content: "";
  position: absolute;
  width: 75px;
  height: 75px;
  right: -28px;
  bottom: -30px;
  border: 10px solid rgba(255,255,255,.025);
  transform: rotate(-20deg);
  pointer-events: none;
}

/* Crime animation gets a punchier illustrated treatment */
.crime-overlay,
[class*="crime-overlay"] {
  backdrop-filter: blur(2px);
}

.crime-animation,
.crime-scene,
[class*="crime-scene"] {
  border: 3px solid #0c0907 !important;
  outline: 2px solid var(--uw-line);
  box-shadow: 0 10px 0 #080604, 0 18px 50px rgba(0,0,0,.8) !important;
}

.success,
.job-success,
[class*="success"] {
  color: #7ed67a !important;
  text-shadow: 2px 2px #102510;
}

.failed,
.failure,
.danger,
[class*="failed"] {
  color: #ed7469 !important;
  text-shadow: 2px 2px #2d0b08;
}

/* Inputs fit the game instead of a modern app */
input,
select,
textarea {
  background: #17120e !important;
  color: #f1dfb8 !important;
  border: 2px solid #0c0907 !important;
  outline: 1px solid #604a30;
  border-radius: 2px !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.55);
}

input:focus,
select:focus,
textarea:focus {
  outline-color: var(--accent, #b88745);
  box-shadow: 0 0 0 2px rgba(190,145,74,.15), inset 0 2px 4px rgba(0,0,0,.55);
}

/* Theme colors still work: use selected accent more visibly */
a,
.accent,
.highlight,
.active,
.top-nav a.active,
.sidebar a.active {
  color: var(--accent, #d0a15c);
}

.top-nav a.active,
.sidebar a.active,
button.primary,
.btn-primary {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--accent, #b88745) 62%, #44301e),
    color-mix(in srgb, var(--accent, #b88745) 38%, #21170f)
  ) !important;
}

/* Mobile keeps the compact browser-game feel */
@media (max-width: 760px) {
  body { font-size: 14px; }
  .panel, .card, [class*="panel"], [class*="card"] {
    box-shadow: 0 3px 0 #0c0907, 0 5px 10px rgba(0,0,0,.45) !important;
  }
}

/* UNDERWORLD V0.3 LOCAL */
.local-dev-badge{
 position:fixed;right:12px;bottom:12px;z-index:8000;padding:7px 10px;
 background:#17120e;border:2px solid #0b0806;outline:1px solid #6f5634;
 box-shadow:0 3px 0 #080604;color:#d9c69b;font:700 9px Tahoma,sans-serif;
 letter-spacing:.7px
}
.local-dev-badge b{color:#7ed67a}

/* V0.4 crime progression */
.crime-history{display:grid;gap:5px}
.history-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px;background:#17130f;border:1px solid #3a2d21}
.history-row .history-mark{width:24px;height:24px;display:grid;place-items:center;border:2px solid #0b0806;font-weight:bold}
.history-row.won .history-mark,.history-row.won>strong{color:#79c879}.history-row.lost .history-mark,.history-row.lost>strong{color:#dc6d62}
.history-row div{display:flex;flex-direction:column}.history-row small{color:#8e8170;font-size:9px;margin-top:2px}
.heat-panel{display:flex;gap:14px;align-items:center;margin-bottom:12px;padding:12px;background:#17120e;border:2px solid #0c0907;outline:1px solid #604a30}
.heat-number{font:900 30px Georgia,serif;color:#d76a5f;text-shadow:2px 2px #000;min-width:75px}
.heat-panel p{margin:5px 0 0;color:#b9aa91;font-size:10px;line-height:1.5}

.crime-tier{display:inline-block;margin-left:6px;padding:2px 5px;border:1px solid #5d4932;background:#17120e;color:#bda16d;font:700 8px Tahoma,sans-serif;vertical-align:2px;letter-spacing:.5px}

/* V0.4.2 level & rank progression */
.rank-hero{display:grid;grid-template-columns:78px 1fr auto;gap:16px;align-items:center;margin-bottom:12px;padding:18px;background:linear-gradient(180deg,#34291f,#1d1712);border:2px solid #0c0907;outline:1px solid #6f5634;box-shadow:0 4px 0 #080604}
.rank-emblem{width:66px;height:66px;display:grid;place-items:center;border:3px solid #0b0806;outline:2px solid var(--accent,#b88745);background:#15100c;color:#efd9a4;font:900 23px Georgia,serif;text-shadow:2px 2px #000;box-shadow:3px 3px #090604}
.rank-hero>div:nth-child(2)>span{font:700 8px Tahoma;color:#9e8c70;letter-spacing:1.4px}.rank-hero h2{font-size:23px;margin:3px 0;color:#f0d9a5}.rank-hero p{margin:0;color:#aa9b82;font-size:10px}
.rank-level{text-align:right;color:#9b8c74;font:700 9px Tahoma;letter-spacing:1px}.rank-level b{display:block;font:900 32px Georgia;color:var(--accent2,#d7b56d)}.rank-level small{display:block;margin-top:3px;color:#c2af8d}
.progress-big{height:22px;background:#100c09;border:3px solid #080604;outline:1px solid #59452f;box-shadow:inset 0 3px 5px #000}.progress-big i{display:block;height:100%;background:linear-gradient(180deg,var(--accent2,#d0a15c),var(--accent,#8b6033));transition:width .3s}
.progress-copy{display:flex;justify-content:space-between;padding:7px 2px 12px;color:#9f9079;font-size:9px}.progress-copy b{color:#e7d3a6}
.next-rank{display:flex;gap:12px;align-items:center;padding:10px;background:#17120e;border:1px solid #493825}.next-rank>strong{width:48px;height:48px;display:grid;place-items:center;border:2px solid #0b0806;color:#d9bf83;font:900 16px Georgia}.next-rank div{display:flex;flex-direction:column;gap:3px}.next-rank b{font-size:13px}.next-rank span{color:var(--accent2,#d0a15c);font-size:9px}.next-rank small{color:#958873}
.rank-distance{margin-top:8px;text-align:center;padding:6px;background:#120e0b;color:#a7977e;font-size:9px}.max-level{padding:16px;text-align:center;border:1px solid #665033;background:#17120e;color:#e2c887;font:bold 11px Tahoma;letter-spacing:1px}
.rank-ladder{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.rank-step{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:7px;background:#15110e;border:1px solid #382b20;opacity:.52}.rank-step.reached{opacity:1;border-color:#59442e}.rank-step.current{outline:2px solid var(--accent,#a7793e);background:#211911}.rank-step-icon{width:30px;height:30px;display:grid;place-items:center;border:2px solid #090604;background:#100c09;color:#9b896c;font:bold 10px Georgia}.rank-step.reached .rank-step-icon{color:#e5ca8c}.rank-step div:nth-child(2){display:flex;flex-direction:column}.rank-step small{color:#827562;font-size:8px}.rank-step>span{font-size:8px;color:#6f6556}.rank-step.reached>span{color:#70a76e}
@media(max-width:700px){.rank-hero{grid-template-columns:58px 1fr}.rank-level{grid-column:1/-1;text-align:left}.rank-ladder{grid-template-columns:1fr}}

/* V0.4.4 progressive crime visibility */
.crime-progress-head{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px}
.crime-progress-head>div{padding:8px 10px;background:#15110e;border:1px solid #453525;display:flex;align-items:baseline;gap:6px}
.crime-progress-head b{font:900 16px Georgia,serif;color:#e0c489}.crime-progress-head span{font-size:8px;text-transform:uppercase;color:#8f806a;letter-spacing:.5px}
.upcoming-divider{position:relative;margin:8px 0 3px;text-align:center;border-top:1px solid #51402e;height:9px}
.upcoming-divider span{position:relative;top:-7px;padding:0 9px;background:#211b16;color:#8e7e65;font:bold 8px Tahoma;letter-spacing:1px}
.upcoming-crime{opacity:.68!important;background:linear-gradient(180deg,#241e19,#181410)!important}
.upcoming-crime .crime-icon{filter:grayscale(1);color:#766a58!important}.upcoming-crime h3{color:#9f927c!important}
@media(max-width:600px){.crime-progress-head{grid-template-columns:1fr}.crime-progress-head>div{justify-content:space-between}}

/* V0.5 inventory & black market */
.inventory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.inventory-summary>div{padding:10px;background:#17120e;border:1px solid #4b3927;display:flex;flex-direction:column;gap:3px}.inventory-summary b{color:#e0c48a;font:900 13px Georgia}.inventory-summary span{color:#827562;font-size:8px;letter-spacing:.7px}
.item-grid{display:grid;gap:6px}.item-card{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding:9px;background:#17130f;border:1px solid #443426}.item-icon{width:42px;height:42px;display:grid;place-items:center;background:#100c09;border:2px solid #080604;outline:1px solid #59442e;color:#dfc286;font:900 17px Georgia}.item-info h3{margin:0 0 3px;font-size:11px}.item-info h3 small{color:#8d7c64;font-size:8px;margin-left:5px}.item-info p{margin:0 0 5px;color:#9b8c75;font-size:9px}.item-info>span{margin-right:10px;color:#8c7f6b;font-size:8px}.item-actions{display:flex;gap:4px;flex-direction:column;min-width:105px}
.shop-section>h3{margin:12px 0 5px;padding:5px 7px;background:#110d0a;border-left:3px solid var(--accent,#9c713d);font-size:9px;letter-spacing:1px}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.shop-item{display:grid;grid-template-columns:46px 1fr auto;gap:8px;align-items:center;padding:8px;background:#17130f;border:1px solid #443426}.shop-item>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.shop-item small{color:#8e816d;font-size:8px;line-height:1.35}.shop-item span{color:#c5a86f;font-size:8px}.shop-item>div:last-child{display:flex;flex-direction:column;text-align:right;gap:5px}.shop-item strong{color:#d8bb80;font-size:10px}.shop-item.locked{opacity:.55}
@media(max-width:760px){.inventory-summary{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:1fr}.item-card{grid-template-columns:45px 1fr}.item-actions{grid-column:1/-1;flex-direction:row}.shop-item{grid-template-columns:42px 1fr}}

/* V0.5.1 equipment gameplay */
.gear-meta{color:#d1b476!important;border-left:2px solid #765b36;padding-left:5px}.gear-bonus{display:block;margin:4px 0;color:#78b876;font:bold 8px Tahoma;letter-spacing:.6px}
.equipment-effects{display:grid;grid-template-columns:1fr 1fr;gap:6px}.equipment-effects>div{padding:10px;background:#17120e;border:1px solid #4a3827;display:flex;flex-direction:column;gap:4px}.equipment-effects b{color:#ddc184}.equipment-effects span{color:#9b8d76;font-size:9px;line-height:1.45}
@media(max-width:650px){.equipment-effects{grid-template-columns:1fr}}

.rarity{font-style:normal!important;text-transform:uppercase;letter-spacing:.6px;font-size:7px!important}.rarity.common{color:#aaa!important}.rarity.uncommon{color:#76b87a!important}.rarity.rare{color:#76a9d8!important}.rarity.epic{color:#b78adb!important}.rarity.legendary{color:#e2bd63!important;text-shadow:1px 1px #000}.shop-item em.rarity{display:inline-block;width:max-content}

/* V0.5.2.2 Black Market purchase confirmation */
.purchase-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(5,3,2,.78);opacity:0;transition:opacity .16s ease}.purchase-overlay.show{opacity:1}
.purchase-modal{position:relative;width:min(440px,94vw);display:grid;grid-template-columns:86px 1fr;gap:14px;padding:24px 20px 18px;background:linear-gradient(180deg,#30261d,#17120e);border:3px solid #090604;outline:2px solid #765b37;box-shadow:0 14px 50px #000;color:#d7c4a1;transform:scale(.94);transition:transform .18s ease}.purchase-overlay.show .purchase-modal{transform:scale(1)}
.purchase-stamp{position:absolute;top:-12px;left:18px;padding:5px 10px;background:#254424;border:2px solid #0b160b;outline:1px solid #63815c;color:#b9e2ae;font:bold 9px Tahoma;letter-spacing:1.2px;transform:rotate(-2deg)}
.purchase-close{position:absolute;right:7px;top:5px;border:0;background:transparent;color:#8e806b;font:20px Georgia;cursor:pointer}.purchase-close:hover{color:#e2c98e}
.purchase-item-icon{width:72px;height:72px;display:grid;place-items:center;margin-top:8px;background:#0e0b08;border:3px solid #080604;outline:1px solid #6b5132;color:#e3c784;font:900 28px Georgia;text-shadow:2px 2px #000}
.purchase-copy small{font-size:8px;letter-spacing:1px;color:#887a65}.purchase-copy h2{margin:3px 0 4px;color:#edd49b;font:900 21px Georgia}.purchase-copy p{margin:8px 0;color:#a99a81;font-size:9px;line-height:1.5}.purchase-price{margin-top:9px;padding:7px;background:#100c09;border:1px solid #4a3826;color:#8f816c;font-size:8px}.purchase-price b{float:right;color:#e0c180;font-size:11px}.purchase-owned{padding-top:7px;color:#8f816c;font-size:9px}.purchase-owned b{color:#79b477}
.purchase-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:5px;padding-top:8px;border-top:1px solid #493725}
@media(max-width:480px){.purchase-modal{grid-template-columns:1fr}.purchase-item-icon{margin:auto}.purchase-copy{text-align:center}.purchase-actions{flex-direction:column}.purchase-actions .button{width:100%}}

/* V0.5.2.3 payment choices */
.danger-stamp{background:#4a1d18!important;border-color:#210b08!important;outline-color:#8c493d!important;color:#efb1a4!important}
.funds-breakdown{display:grid;gap:4px;margin-top:10px}.funds-breakdown span{display:flex;justify-content:space-between;padding:6px 7px;background:#100c09;border:1px solid #433225;color:#8f816d;font-size:8px}.funds-breakdown b{color:#dbc086}.funds-modal .purchase-item-icon{color:#d67c68}

.loot-stamp{background:#3a2c18!important;border-color:#171006!important;outline-color:#a98445!important;color:#f0d394!important}.loot-modal{box-shadow:0 14px 60px #000,0 0 25px rgba(190,145,70,.14)}.loot-icon{font-size:31px}.rarity-border-rare{outline-color:#527da5!important}.rarity-border-epic{outline-color:#835da0!important}.rarity-border-legendary{outline-color:#b98d34!important;box-shadow:0 14px 60px #000,0 0 35px rgba(226,189,99,.28)!important}

/* V0.5.4 openable loot */
.cache-cash{margin:8px 0;padding:9px;background:#102010;border:1px solid #345334;color:#8ed08b;font:bold 13px Georgia;text-align:center}.cache-result h3{margin:6px 0 2px;color:#e0c48a;font:900 14px Georgia}

/* V0.5.4.1 developer tools */
.dev-warning{padding:9px;margin-bottom:8px;background:#321812;border:1px solid #6d3529;color:#c99a88;font-size:9px}.dev-warning b{color:#edb09d}
.dev-grid{display:grid;grid-template-columns:2fr 1fr;gap:7px}.dev-panel{margin-bottom:7px;padding:10px;background:#15110e;border:1px solid #493726}.dev-panel h3{margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #453426;color:#d9bd82;font-size:9px;letter-spacing:1px}.dev-panel p,.dev-panel label{color:#8f816d;font-size:8px}.dev-panel>.button{margin:2px}.dev-buttons{display:flex;flex-wrap:wrap;gap:3px;margin:5px 0 8px}
.debug-item-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.debug-item{cursor:pointer;padding:8px 5px;background:#100c09;border:1px solid #4c3927;outline:1px solid transparent;color:#cbb58d;display:flex;flex-direction:column;align-items:center;gap:4px}.debug-item:hover{background:#211910}.debug-item>span{font:900 20px Georgia;color:#e0c080}.debug-item>b{font-size:8px;text-align:center}.danger-zone{border-color:#5f2b25}
.dev-launcher{position:fixed;right:10px;bottom:10px;z-index:5000;padding:6px 9px;background:#351b17;border:1px solid #855047;color:#e3b0a4;font:bold 8px Tahoma;cursor:pointer}
@media(max-width:700px){.dev-grid{grid-template-columns:1fr}.debug-item-grid{grid-template-columns:repeat(2,1fr)}}

/* V0.5.4.2 visible developer navigation */
.dev-menu-link{color:#d99b8e!important;border-top:1px solid #5d3029!important;margin-top:5px!important}
.dev-menu-link em{float:right;background:#4a211b;color:#efb3a6;border:1px solid #774238;padding:1px 4px;font-style:normal;font-size:7px}

/* V0.6 Vehicles & Garage */
.garage-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:9px}.garage-summary>div{padding:9px;background:#15110e;border:1px solid #493726;display:flex;flex-direction:column;gap:3px}.garage-summary b{color:#dfc183;font:900 12px Georgia}.garage-summary span{color:#877a66;font-size:8px}
.vehicle-grid,.dealer-grid{display:grid;gap:6px}.vehicle-card,.dealer-car{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:9px;background:#17130f;border:1px solid #443426}.active-vehicle{border-color:#6e7745;box-shadow:inset 3px 0 #71804a}.vehicle-art{height:50px;display:grid;place-items:center;background:linear-gradient(135deg,#211a14,#0d0a08);border:2px solid #090604;outline:1px solid #624a30;color:#d8b976;font:900 17px Georgia;letter-spacing:1px}.vehicle-card h3,.dealer-car h3{margin:0 0 3px;color:#d9bd83;font-size:10px}.vehicle-card p,.dealer-car p{margin:3px 0;color:#938570;font-size:8px}.vehicle-stats{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.vehicle-stats span{padding:3px 5px;background:#100c09;border:1px solid #3e3024;color:#827764;font-size:7px}.vehicle-stats b{color:#cbb078}.vehicle-actions,.dealer-buy{display:flex;flex-direction:column;gap:4px;min-width:105px;text-align:right}.dealer-buy>b{color:#dfc184;font-size:10px}.dealer-car.locked{opacity:.55}
.vehicle-big-icon{width:78px;height:72px;display:grid;place-items:center;background:#0e0b08;border:3px solid #080604;outline:1px solid #6b5132;color:#e3c784;font:900 22px Georgia}
@media(max-width:700px){.garage-summary{grid-template-columns:repeat(2,1fr)}.vehicle-card,.dealer-car{grid-template-columns:58px 1fr}.vehicle-actions,.dealer-buy{grid-column:1/-1;flex-direction:row}.vehicle-art{height:44px}}

/* V0.6.1 vehicle depth + dev feedback */
.dev-success{position:fixed;right:18px;top:18px;z-index:12000;width:min(320px,88vw);padding:10px;background:#142516;border:2px solid #080c08;outline:1px solid #5c875c;box-shadow:0 8px 30px #000;opacity:0;transform:translateY(-12px);transition:.2s}.dev-success.show{opacity:1;transform:translateY(0)}.dev-success div{display:flex;flex-direction:column;gap:3px}.dev-success b{color:#8ed08b;font-size:8px;letter-spacing:1px}.dev-success strong{color:#e0c58d;font:900 13px Georgia}.dev-success span{color:#9a8e78;font-size:8px}
.garage-upgrade{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px;background:#15110e;border:1px solid #483627}.garage-upgrade>div{display:flex;flex-direction:column;gap:3px}.garage-upgrade b{color:#d9bd82}.garage-upgrade span{color:#8e806c;font-size:8px}
@media(max-width:600px){.garage-upgrade{align-items:stretch;flex-direction:column}}

/* V0.6.2 vehicle damage feedback */
.vehicle-damage-toast{position:fixed;right:18px;bottom:18px;z-index:11000;width:min(350px,90vw);background:#17120e;border:2px solid #090604;outline:1px solid #665039;box-shadow:0 10px 35px #000;opacity:0;transform:translateX(25px);transition:.22s}.vehicle-damage-toast.show{opacity:1;transform:translateX(0)}.vehicle-damage-toast.major{outline-color:#87453a}.vehicle-damage-toast.minor{outline-color:#667448}
.damage-head{display:flex;justify-content:space-between;padding:7px 9px;background:#241a14;border-bottom:1px solid #4b3828}.damage-head b{color:#dc9b86;font-size:9px;letter-spacing:.8px}.minor .damage-head b{color:#a9c58d}.damage-head span{color:#80715e;font-size:7px}
.damage-body{display:grid;grid-template-columns:55px 1fr;gap:9px;padding:10px}.damage-car{display:grid;place-items:center;background:#0d0a08;border:1px solid #56412c;color:#ddbd7d;font:900 14px Georgia}.damage-body strong{display:block;color:#ddc18a;font-size:10px}.damage-body small{display:block;color:#847765;font-size:7px;margin:3px 0}.damage-bar{height:7px;background:#080604;border:1px solid #38291f}.damage-bar i{display:block;height:100%;background:#785747}.minor .damage-bar i{background:#5e714d}.damage-body p{margin:4px 0 0;color:#8d806c;font-size:8px}.damage-body p em{float:right;color:#d78370;font-style:normal;font-weight:bold}.damage-warning{padding:6px 9px;background:#351712;border-top:1px solid #6b3028;color:#e0a08e;font-size:8px}

/* V0.6.3 vehicle damage integrated into crime result window */
.crime-vehicle-damage{width:min(420px,90%);margin:10px auto 4px;background:#15110e;border:1px solid #4e3a29;box-shadow:inset 3px 0 #66764b;text-align:left}
.crime-vehicle-damage.fail-damage{border-color:#67372f;box-shadow:inset 3px 0 #8b4438}.crime-vehicle-damage.critical{box-shadow:inset 4px 0 #a43f31}
.cvd-head{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;background:#211912;border-bottom:1px solid #463426}.cvd-head b{color:#a8c38a;font-size:8px;letter-spacing:.7px}.fail-damage .cvd-head b,.critical .cvd-head b{color:#e29b89}.cvd-head span{color:#bda67e;font-size:8px}
.cvd-row{display:grid;grid-template-columns:46px 1fr;gap:8px;padding:8px}.cvd-icon{display:grid;place-items:center;min-height:39px;background:#0d0a08;border:1px solid #4b3828;color:#dfbf7d;font:900 12px Georgia}.cvd-condition small{color:#807361;font-size:7px}.cvd-bar{height:7px;margin-top:3px;background:#080604;border:1px solid #35271e}.cvd-bar i{display:block;height:100%;background:#65774f}.fail-damage .cvd-bar i{background:#8b5544}.critical .cvd-bar i{background:#9e3f34}.cvd-condition p{margin:4px 0 0;color:#91836e;font-size:8px}.cvd-condition em{float:right;color:#d88170;font-style:normal;font-weight:bold}.cvd-warning{padding:6px 8px;background:#351712;border-top:1px solid #673129;color:#dfa08f;font-size:8px;text-align:center}

/* V0.6.5 vehicle theft */
.theft-intro{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:9px;background:#1d1511;border-left:3px solid #755537}.theft-intro b{color:#d9bc82;font-size:9px}.theft-intro span{color:#93836d;font-size:8px}.theft-list{display:grid;gap:6px}.theft-card{display:grid;grid-template-columns:70px 1fr 125px;gap:9px;align-items:center;padding:9px;background:#16120f;border:1px solid #453426}.theft-card.locked{opacity:.55}.theft-card h3{margin:0 0 3px;color:#d9bd83;font-size:10px}.theft-card p{margin:0;color:#938570;font-size:8px}.theft-action{display:flex;flex-direction:column;gap:5px;text-align:right}.theft-action>b{color:#d9bc80;font-size:9px}.vehicle-kept{margin-top:8px;padding:8px;background:#152515;border:1px solid #496448}.vehicle-kept b{display:block;color:#91ca8e;font-size:9px}.vehicle-kept span{display:block;margin-top:3px;color:#b3a486;font-size:8px}
@media(max-width:650px){.theft-card{grid-template-columns:55px 1fr}.theft-action{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}}

/* V0.6.6 strategic vehicle requirements */
.vehicle-req{display:inline-block;margin-left:3px;padding:2px 5px;border:1px solid #55412e;background:#15100c;font-size:7px;font-weight:bold}.vehicle-req.met{color:#8fbd80;border-color:#466143}.vehicle-req.unmet{color:#dc8c7b;border-color:#733c33}
.requirement-box{display:grid;gap:4px;margin-top:9px}.requirement-box span{display:flex;justify-content:space-between;padding:6px 7px;background:#100c09;border:1px solid #443226;color:#897b67;font-size:8px}.requirement-box b{color:#d7bb82}.req-danger{padding:6px!important;background:#321612;color:#d99585!important;border-left:3px solid #813a31}

/* V0.7 Properties & Safehouses */
.property-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:9px}.property-summary>div{padding:9px;background:#15110e;border:1px solid #493726;display:flex;flex-direction:column;gap:3px}.property-summary b{color:#dfc183;font:900 11px Georgia}.property-summary span{color:#877a66;font-size:8px}.property-grid{display:grid;gap:6px}.property-card{display:grid;grid-template-columns:72px 1fr 120px;gap:10px;align-items:center;padding:9px;background:#17130f;border:1px solid #443426}.property-card.active-property{border-color:#6d7746;box-shadow:inset 3px 0 #71804a}.property-card.locked{opacity:.55}.property-art,.property-big-icon{height:54px;display:grid;place-items:center;background:linear-gradient(135deg,#211a14,#0d0a08);border:2px solid #090604;outline:1px solid #624a30;color:#d8b976;font:900 16px Georgia}.property-big-icon{width:76px;height:72px}.property-card h3{margin:0 0 3px;color:#d9bd83;font-size:10px}.property-card p{margin:3px 0;color:#938570;font-size:8px}.property-bonuses{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.property-bonuses span{padding:3px 5px;background:#100c09;border:1px solid #3e3024;color:#827764;font-size:7px}.property-bonuses b{color:#cbb078}.property-actions{display:flex;flex-direction:column;gap:4px;text-align:right}.property-actions>b{color:#dfc184;font-size:9px}
@media(max-width:700px){.property-summary{grid-template-columns:repeat(2,1fr)}.property-card{grid-template-columns:58px 1fr}.property-actions{grid-column:1/-1;flex-direction:row}}

/* =======================================================================
   V0.7.1 CINEMATIC NOIR UI REFRESH
   Visual-only overhaul: all existing pages, state, crimes, vehicles,
   inventory, market, properties and developer hooks remain intact.
   ======================================================================= */
:root{
 --ink:#070706;--panel:#0d0d0c;--panel2:#141210;--line:#3b3023;
 --line2:#70552d;--gold:#d5ad63;--gold2:#f0d397;--muted:#9a8c77;
 --green:#8fd36c;--red:#d76c5d;--purple:#8e6b91;
}
*{box-sizing:border-box}
body{
 background:
 radial-gradient(circle at 70% 5%,rgba(86,50,32,.14),transparent 25%),
 linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),
 repeating-linear-gradient(0deg,#080807 0,#080807 3px,#0b0a09 4px);
 color:#c9c0b2;
}
header,.topbar,.app-header{
 background:linear-gradient(180deg,#0c0c0b,#080807)!important;
 border-color:#604a29!important;
 box-shadow:0 3px 15px #000;
}
.brand,.logo,.brand-name{font-family:Georgia,serif!important;color:#e4c88d!important;text-shadow:0 2px #000;letter-spacing:2px}
nav button,.topnav button,.main-nav button{
 min-height:52px!important;border-radius:0!important;border-left:1px solid #27231e!important;
 background:linear-gradient(#12110f,#090908)!important;color:#bcb09d!important;
 font-weight:700!important;text-transform:uppercase!important;font-size:9px!important;letter-spacing:.35px!important;
}
nav button:hover,.topnav button:hover,.main-nav button:hover,
nav button.active,.topnav button.active,.main-nav button.active{
 background:linear-gradient(#503a1f,#21180f)!important;color:#fff0c6!important;
 box-shadow:inset 0 -2px #b88942!important;
}
.cinematic-skyline{
 height:58px;position:relative;overflow:hidden;border-top:1px solid #29231c;border-bottom:1px solid #594327;
 background:
 linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.4)),
 radial-gradient(circle at 70% 35%,#392318 0 1px,transparent 2px),
 linear-gradient(180deg,#171419,#0b0b0b);
}
.skyline-buildings{position:absolute;right:13%;bottom:0;width:43%;height:50px;opacity:.85;
 background:
 linear-gradient(90deg,transparent 0 4%,#0a0909 4% 8%,transparent 8% 11%,#0d0c0c 11% 16%,transparent 16% 18%,#080808 18% 25%,transparent 25% 29%,#0c0b0b 29% 36%,transparent 36% 39%,#090909 39% 48%,transparent 48% 52%,#0b0a0a 52% 61%,transparent 61% 64%,#090909 64% 73%,transparent 73% 77%,#0b0a0a 77% 87%,transparent 87%);
 clip-path:polygon(0 60%,5% 60%,5% 28%,9% 28%,9% 48%,15% 48%,15% 15%,18% 15%,18% 55%,24% 55%,24% 34%,31% 34%,31% 5%,35% 5%,35% 45%,42% 45%,42% 20%,48% 20%,48% 55%,55% 55%,55% 8%,60% 8%,60% 42%,68% 42%,68% 25%,74% 25%,74% 50%,82% 50%,82% 15%,87% 15%,87% 40%,94% 40%,94% 25%,100% 25%,100% 100%,0 100%);
}
.skyline-tagline{position:absolute;right:25px;top:21px;color:#d8c5a3;font:10px Georgia,serif;letter-spacing:3px;text-shadow:0 2px #000}
aside,.sidebar{background:linear-gradient(180deg,#0b0b0a,#080807)!important;border-color:#604821!important}
aside h3,.sidebar h3{color:#d9b873!important;background:#15120e!important;border-color:#604821!important;font-family:Georgia,serif!important;letter-spacing:.5px}
aside button,.sidebar button{border-radius:0!important;background:#0d0d0c!important;border-color:#29241e!important;color:#c7bba9!important}
aside button:hover,.sidebar button:hover,aside button.active,.sidebar button.active{background:linear-gradient(90deg,#5a4020,#1a140d)!important;color:#fff0ca!important}
.sidebar-noir-art{margin:20px 8px 8px;padding:14px 10px 0;border-top:1px solid #5a4225;min-height:180px;background:linear-gradient(180deg,transparent,#100b08)}
.sidebar-quote{font:10px Georgia,serif;line-height:1.65;letter-spacing:2px;color:#a99a86}
.street-car{height:70px;margin-top:15px;position:relative;background:radial-gradient(ellipse at 50% 100%,#2c160d,transparent 55%)}
.street-car:before{content:"";position:absolute;left:16%;right:12%;bottom:13px;height:20px;background:#090909;border:1px solid #5a3522;clip-path:polygon(8% 60%,18% 10%,72% 5%,91% 48%,100% 55%,96% 90%,6% 90%,0 70%)}
.street-car:after{content:"";position:absolute;left:20%;bottom:17px;width:8px;height:5px;background:#d53124;box-shadow:12px 0 #d53124}
main,.content,.main-content{background:linear-gradient(180deg,rgba(14,13,11,.92),rgba(7,7,7,.96))!important}
.box{
 border-radius:0!important;border:1px solid #4a3926!important;
 background:linear-gradient(180deg,#11100e,#0b0b0a)!important;
 box-shadow:0 4px 15px rgba(0,0,0,.35)!important;
}
.box>h2{
 background:linear-gradient(90deg,#17130e,#0d0c0b)!important;
 color:#e1c284!important;border-bottom:1px solid #594226!important;
 font-family:Georgia,serif!important;font-size:13px!important;letter-spacing:.6px!important;
}
.button{border-radius:0!important;background:linear-gradient(#49343f,#271d23)!important;border:1px solid #624953!important;color:#f0e7dc!important;text-transform:uppercase;font-size:8px!important;font-weight:800!important}
.button.primary{background:linear-gradient(#775329,#3a2816)!important;border-color:#8e6735!important;color:#fff0c7!important}
.button:hover{filter:brightness(1.18)}
.player-card,.stat-card,.garage-summary>div,.property-summary>div{
 background:linear-gradient(180deg,#141310,#0c0c0b)!important;border:1px solid #403321!important;border-radius:0!important;
}
.property-card,.vehicle-card,.dealer-car,.theft-card,.market-card,.inventory-card{
 border-radius:0!important;background:linear-gradient(180deg,#11110f,#0b0b0a)!important;border-color:#4c3b28!important;
 box-shadow:0 3px 10px rgba(0,0,0,.25);
}
.property-card:hover,.vehicle-card:hover,.dealer-car:hover,.theft-card:hover{
 border-color:#896635!important;box-shadow:0 0 0 1px #2e2419,0 6px 15px #000;
}
.property-art,.vehicle-art{
 min-height:76px!important;height:auto!important;
 background:
 linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75)),
 radial-gradient(circle at 70% 25%,#7a4b25 0 2%,transparent 3%),
 linear-gradient(135deg,#33241a,#0b0b0a 65%)!important;
 border-color:#6b4e29!important;color:#e6c77f!important;
 text-shadow:0 2px #000;font-size:18px!important;
}
.property-card.active-property,.vehicle-card.active-vehicle{
 border-color:#8a6b38!important;box-shadow:inset 4px 0 #a37c3e,0 4px 14px #000!important;
}
.property-bonuses span,.vehicle-stats span{
 border-radius:0!important;background:#0a0a09!important;border-color:#30281e!important;padding:4px 6px!important;
}
.rarity{letter-spacing:.4px}
.rarity.common{color:#c8c0b2!important}.rarity.uncommon{color:#91c67c!important}.rarity.rare{color:#78aee0!important}.rarity.epic{color:#b68bd1!important}.rarity.legendary{color:#e6b95f!important;text-shadow:0 0 8px #6e4b17}
.purchase-modal{border-radius:0!important;background:linear-gradient(#16120f,#090908)!important;border-color:#76582e!important}
.purchase-stamp{border-radius:0!important}
table{border-collapse:collapse!important}th{background:#18140f!important;color:#dabb7d!important;border-color:#594326!important}td{background:#0d0d0c!important;border-color:#30271e!important}
.activity-log,.log{background:#090908!important}
.progress,.bar,.xp-bar{border-radius:0!important}
@media(max-width:900px){.skyline-tagline{display:none}.cinematic-skyline{height:36px}.sidebar-noir-art{display:none}}

/* V0.7.2 original artwork integration */
.property-hero{min-height:150px;margin-bottom:8px;padding:23px 24px;display:flex;align-items:center;border:1px solid #5b4326;background:
 linear-gradient(90deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.58) 48%,rgba(5,5,5,.16)),
 url("assets/art/banner-properties.jpg") center/cover no-repeat;box-shadow:inset 0 0 40px #000}
.property-hero small{color:#a37c52;font-size:8px;letter-spacing:2px}.property-hero h1{margin:3px 0;color:#efcd8c;font:900 28px Georgia,serif;letter-spacing:1px;text-shadow:0 2px #000}.property-hero p{margin:0;max-width:430px;color:#c5b69e;font-size:9px}
.property-art.has-art,.property-big-icon.has-art{background-size:cover!important;background-position:center!important;position:relative;overflow:hidden}
.property-art.has-art span,.property-big-icon.has-art span{position:absolute;left:6px;bottom:5px;padding:2px 5px;background:rgba(0,0,0,.72);border:1px solid rgba(199,155,83,.45);font-size:8px;color:#e8c985}
.property-art.has-art{height:112px!important;min-height:112px!important}
.property-big-icon.has-art{width:135px!important;height:82px!important}
.broker-property .property-art.has-art{height:108px!important}
@media(max-width:700px){.property-hero{min-height:110px;padding:15px}.property-hero h1{font-size:21px}.property-art.has-art{height:85px!important;min-height:85px!important}}

/* V0.7.3 FULL ARTWORK INTEGRATION */
.cinematic-skyline{background:
 linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.18) 50%,rgba(0,0,0,.42)),
 url("assets/art/hero-underworld.jpg") center 36%/cover no-repeat!important}
.skyline-buildings{display:none}
.system-hero{min-height:128px;margin-bottom:8px;padding:22px 24px;display:flex;align-items:center;border:1px solid #5a4327;box-shadow:inset 0 0 45px #000;background-size:cover!important;background-position:center!important}
.system-hero>div{max-width:500px}.system-hero small{font-size:8px;letter-spacing:2px;color:#b38b56}.system-hero h1{margin:3px 0;color:#edcb89;font:900 25px Georgia,serif;letter-spacing:1px;text-shadow:0 2px 3px #000}.system-hero p{margin:0;color:#c7b9a3;font-size:9px;text-shadow:0 1px 2px #000}
.garage-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.32)),url("assets/art/art-garage.jpg")}
.theft-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.28)),url("assets/art/art-vehicle-theft.jpg")}
.market-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.28)),url("assets/art/hero-black-market.svg")}
.inventory-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.32)),url("assets/art/art-weapons.jpg")}
.vehicle-art.has-art,.vehicle-big-icon.has-art{background-size:cover!important;background-position:center!important;position:relative;overflow:hidden}
.vehicle-art.has-art span,.vehicle-big-icon.has-art span{position:absolute;left:6px;bottom:5px;padding:2px 5px;background:rgba(0,0,0,.74);border:1px solid rgba(205,158,82,.5);color:#edca83;font-size:8px}
.vehicle-art.has-art{height:96px!important;min-height:96px!important}
.vehicle-big-icon.has-art{width:145px!important;height:88px!important}
.theft-art.has-art{height:90px!important}
.sidebar-noir-art{background:
 linear-gradient(180deg,rgba(5,5,5,.18),rgba(5,5,5,.88)),
 url("assets/art/art-noir-car-v2.jpg") bottom center/cover no-repeat!important}
@media(max-width:700px){.system-hero{min-height:100px;padding:14px}.system-hero h1{font-size:20px}.vehicle-art.has-art{height:76px!important;min-height:76px!important}}
.property-hero{background:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.52) 50%,rgba(5,5,5,.12)),url("assets/art/hero-properties-v2.jpg") center/cover no-repeat!important}

/* V0.7.3.1 NAVIGATION HOTFIX
   Keep artwork decorative: never insert artwork containers into the nav/header DOM. */
header,.topbar,.app-header{
 position:relative!important;
 min-height:initial!important;
 background:
   linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.52),rgba(5,5,5,.86)),
   url("assets/art/hero-underworld.jpg") center 38%/cover no-repeat!important;
}
nav,.topnav,.main-nav{
 display:flex!important;
 visibility:visible!important;
 opacity:1!important;
 position:relative!important;
 z-index:50!important;
 width:100%!important;
 overflow-x:auto!important;
 overflow-y:hidden!important;
 flex-wrap:nowrap!important;
}
nav button,.topnav button,.main-nav button{
 display:inline-flex!important;
 visibility:visible!important;
 opacity:1!important;
 align-items:center!important;
 justify-content:center!important;
 flex:0 0 auto!important;
}
.cinematic-skyline{display:none!important}

/* V0.7.3.2 ARTWORK DISPLAY HOTFIX
   Artwork uses a CSS variable instead of fragile dynamic background-image markup. */
.property-art.has-art,.property-big-icon.has-art,.vehicle-art.has-art,.vehicle-big-icon.has-art,
.item-icon.has-art,.market-icon.has-art,.inventory-icon.has-art{
 background-image:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.78) 100%),var(--art-url)!important;
 background-size:cover!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
}
.property-art.has-art:before,.vehicle-art.has-art:before{
 content:"";position:absolute;inset:0;pointer-events:none;
 box-shadow:inset 0 0 0 1px rgba(202,155,78,.16),inset 0 -22px 30px rgba(0,0,0,.4);
}
.item-icon.has-art,.market-icon.has-art,.inventory-icon.has-art{
 min-width:72px;min-height:72px;position:relative;border:1px solid #624a2d!important;
}
.item-icon.has-art span,.market-icon.has-art span,.inventory-icon.has-art span{
 position:absolute;left:5px;bottom:4px;background:rgba(0,0,0,.78);padding:2px 4px;color:#e5c37e;font-size:7px
}

/* V0.7.3.3 — Larger artwork windows */
.property-card{
 grid-template-columns:210px minmax(0,1fr) 125px!important;
 min-height:150px;
}
.property-art.has-art{
 width:100%!important;
 height:132px!important;
 min-height:132px!important;
 background-position:center!important;
}
.broker-property .property-art.has-art{
 height:132px!important;
 min-height:132px!important;
}
.vehicle-card,.dealer-car,.theft-card{
 grid-template-columns:205px minmax(0,1fr) 130px!important;
 min-height:145px;
}
.vehicle-art.has-art,.theft-art.has-art{
 width:100%!important;
 height:125px!important;
 min-height:125px!important;
 background-position:center!important;
}
.property-big-icon.has-art,.vehicle-big-icon.has-art{
 width:230px!important;
 height:125px!important;
 min-width:230px!important;
}
.item-icon.has-art,.market-icon.has-art,.inventory-icon.has-art{
 width:150px!important;
 min-width:150px!important;
 height:105px!important;
 min-height:105px!important;
 background-position:center!important;
}
@media(min-width:1200px){
 .property-card{grid-template-columns:245px minmax(0,1fr) 135px!important}
 .property-art.has-art,.broker-property .property-art.has-art{height:145px!important;min-height:145px!important}
 .vehicle-card,.dealer-car,.theft-card{grid-template-columns:235px minmax(0,1fr) 135px!important}
 .vehicle-art.has-art,.theft-art.has-art{height:138px!important;min-height:138px!important}
}
@media(max-width:850px){
 .property-card,.vehicle-card,.dealer-car,.theft-card{grid-template-columns:145px minmax(0,1fr)!important}
 .property-art.has-art,.broker-property .property-art.has-art,.vehicle-art.has-art,.theft-art.has-art{height:105px!important;min-height:105px!important}
 .property-actions,.theft-action{grid-column:1/-1}
}
@media(max-width:560px){
 .property-card,.vehicle-card,.dealer-car,.theft-card{grid-template-columns:1fr!important}
 .property-art.has-art,.broker-property .property-art.has-art,.vehicle-art.has-art,.theft-art.has-art{height:155px!important;min-height:155px!important}
}

/* V0.7.4 — REAL BLACK MARKET + CRIME ARTWORK */
.market-item-art.has-art,.inventory-item-art.has-art,.crime-art.has-art{
 background-image:linear-gradient(180deg,rgba(0,0,0,.03) 30%,rgba(0,0,0,.76) 100%),var(--art-url)!important;
 background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
 position:relative;overflow:hidden;border:1px solid #674c2b!important;
}
.market-item-art.has-art span,.inventory-item-art.has-art span,.crime-art.has-art span{
 position:absolute;left:6px;bottom:5px;padding:2px 5px;background:rgba(0,0,0,.78);
 border:1px solid rgba(215,169,91,.48);color:#edcb87;font-size:8px
}
.shop-item{display:grid!important;grid-template-columns:190px minmax(0,1fr) 115px!important;min-height:135px!important;gap:10px!important;align-items:center!important}
.market-item-art{width:100%!important;height:116px!important;min-height:116px!important}
.item-card{grid-template-columns:190px minmax(0,1fr) 125px!important;min-height:138px!important}
.inventory-item-art{width:100%!important;height:118px!important;min-height:118px!important}
.crime-row{grid-template-columns:220px minmax(0,1fr) 145px!important;min-height:155px!important;gap:11px!important;align-items:center!important}
.crime-art{height:135px!important;min-height:135px!important;width:100%;display:grid;place-items:center;background:#0b0908;border:1px solid #4b3827;color:#d5b779;font:900 16px Georgia}
.crimes-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.30)),url("assets/art/hero-crimes-cinematic.jpg") center/cover no-repeat!important}
.market-hero{background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.28)),url("assets/art/market-source-3.jpg") center/cover no-repeat!important}
@media(min-width:1250px){
 .shop-item{grid-template-columns:220px minmax(0,1fr) 120px!important}.market-item-art{height:130px!important}
 .crime-row{grid-template-columns:255px minmax(0,1fr) 150px!important}.crime-art{height:145px!important}
}
@media(max-width:850px){
 .shop-item,.item-card,.crime-row{grid-template-columns:145px minmax(0,1fr)!important}
 .market-item-art,.inventory-item-art,.crime-art{height:105px!important;min-height:105px!important}
 .shop-item>div:last-child,.item-actions,.crime-action{grid-column:1/-1!important}
}
@media(max-width:560px){
 .shop-item,.item-card,.crime-row{grid-template-columns:1fr!important}
 .market-item-art,.inventory-item-art,.crime-art{height:170px!important;min-height:170px!important}
}
.fight-hero{background:linear-gradient(90deg,#050505f2,#05050555),url("assets/art/hero-fight-district.svg") center/cover!important}.fight-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:8px}.fight-summary>div{padding:9px;background:#13110e;border:1px solid #493724;display:flex;flex-direction:column}.fight-summary b{color:#e0bf7e;font:900 12px Georgia}.fight-summary span{color:#877a66;font-size:7px}.hospital-banner{padding:9px;margin-bottom:8px;background:#321713;border:1px solid #733b31;color:#d99887}.enemy-list{display:grid;gap:7px}.enemy-card{display:grid;grid-template-columns:230px minmax(0,1fr) 145px;gap:11px;align-items:center;padding:9px;background:#100e0c;border:1px solid #493725}.enemy-card.locked{opacity:.52}.enemy-art{height:137px;background:#090807;border:1px solid #574127;position:relative}.enemy-art.has-art{background-image:linear-gradient(180deg,transparent,#000b),var(--art-url)!important;background-size:cover!important;background-position:center!important}.enemy-art span{position:absolute;left:6px;bottom:5px;background:#000c;padding:2px 5px;color:#e4c17b}.enemy-card h3{color:#dfbf80}.enemy-card p{color:#938570;font-size:8px}.enemy-stats{display:flex;gap:4px;flex-wrap:wrap}.enemy-stats span{padding:4px 6px;background:#090908;border:1px solid #33291e;font-size:7px}.enemy-action{display:flex;flex-direction:column;gap:4px;text-align:right}.fight-result-art{height:190px;background-size:cover!important;background-position:center!important}.fight-mini-log{max-height:100px;overflow:auto;background:#090908;color:#8d816f;font-size:7px}@media(max-width:850px){.enemy-card{grid-template-columns:150px 1fr}.enemy-action{grid-column:1/-1}.fight-summary{grid-template-columns:repeat(3,1fr)}}
/* V0.8.1 — Unified Operation Window
   Crime, Vehicle Theft, Fight and future one-result gameplay actions share this language. */
.uw-operation-scene{min-height:500px}
.uw-operation-scene .crime-scene-inner{min-height:500px;padding-top:34px;padding-bottom:34px}
.operation-art{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(5,4,3,.36),rgba(5,4,3,.94) 68%),var(--operation-art);background-size:cover;background-position:center;opacity:.42;filter:saturate(.75) contrast(1.08)}
.uw-operation-scene.op-failure .operation-art{filter:saturate(.45) contrast(1.12)}
.uw-operation-scene .crime-scene-icon{position:relative;background:#090806dd}
.uw-operation-scene .crime-result{width:min(520px,100%)}
.operation-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}
.operation-stats>span{margin:0!important;padding:6px 5px;background:#080806;border:1px solid #30291f}
.operation-stats small,.operation-stats b{display:block!important}
.operation-stats small{font-size:7px!important;color:#70675c!important;margin-bottom:3px}
.operation-stats b{font-size:9px;color:var(--accent2)}
.operation-log{max-height:92px;overflow:auto;text-align:left;margin:9px 0 0;padding:7px 7px 7px 25px;background:#080706;border:1px solid #30271f;color:#81776a;font-size:8px}
.operation-log li{padding:2px 0}
@media(max-width:620px){.operation-stats{grid-template-columns:1fr 1fr}.uw-operation-scene{min-height:460px}.uw-operation-scene .crime-scene-inner{min-height:460px}}

/* V0.8.2 premium artwork */
.market-item-art.has-art,.inventory-item-art.has-art{height:145px!important;min-height:145px!important}.crime-art.has-art,.enemy-art.has-art{height:165px!important;min-height:165px!important}.market-item-art.has-art span,.inventory-item-art.has-art span,.crime-art.has-art span,.enemy-art.has-art span{display:none!important}.shop-item{grid-template-columns:245px minmax(0,1fr) 120px!important;min-height:165px!important}.crime-row,.enemy-card{grid-template-columns:285px minmax(0,1fr) 145px!important;min-height:185px!important}.operation-art{opacity:.58!important;filter:saturate(.9) contrast(1.06)!important}@media(max-width:850px){.shop-item,.crime-row,.enemy-card{grid-template-columns:170px minmax(0,1fr)!important}.market-item-art.has-art,.inventory-item-art.has-art,.crime-art.has-art,.enemy-art.has-art{height:125px!important;min-height:125px!important}}@media(max-width:560px){.shop-item,.crime-row,.enemy-card{grid-template-columns:1fr!important}.market-item-art.has-art,.inventory-item-art.has-art,.crime-art.has-art,.enemy-art.has-art{height:210px!important;min-height:210px!important}}

/* V0.8.3 — Cinematic raster artwork is now the Crime visual standard */
.crime-art.has-art{
 height:190px!important;min-height:190px!important;
 background-size:cover!important;background-position:center!important;
 border:1px solid #74522f!important;
 box-shadow:inset 0 0 28px rgba(0,0,0,.32),0 5px 15px rgba(0,0,0,.3)!important;
}
.crime-art.has-art:after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,transparent 55%,rgba(4,4,3,.72));
}
.crime-art.has-art span{display:none!important}
.crime-row{grid-template-columns:320px minmax(0,1fr) 145px!important;min-height:210px!important}
@media(max-width:850px){.crime-row{grid-template-columns:210px minmax(0,1fr)!important}.crime-art.has-art{height:150px!important;min-height:150px!important}}
@media(max-width:560px){.crime-row{grid-template-columns:1fr!important}.crime-art.has-art{height:230px!important;min-height:230px!important}}

/* V0.8.4 — Core-first mode: gameplay artwork intentionally disabled */
.crime-art,.enemy-art,.market-item-art,.inventory-item-art,.vehicle-art,.property-art,
.operation-art,.fight-result-art,[class*="-hero"]::before{
 display:none!important;
}
.crime-row,.enemy-card,.shop-item,.vehicle-card,.property-card{
 grid-template-columns:minmax(0,1fr) 155px!important;
 min-height:auto!important;
}
.system-hero,.crimes-hero,.fight-hero,.market-hero{
 background:#11100e!important;
 min-height:100px!important;
 border:1px solid #5a4227!important;
}
.uw-operation-scene .crime-scene-inner{min-height:390px!important}
@media(max-width:700px){
 .crime-row,.enemy-card,.shop-item,.vehicle-card,.property-card{grid-template-columns:1fr!important}
}
.equipment-box{margin-bottom:8px}.equipment-slots{display:grid;grid-template-columns:1fr 1fr;gap:7px}.equip-slot{padding:10px;background:#0c0b09;border:1px solid #4b3825;display:grid;grid-template-columns:1fr auto;gap:4px 8px}.equip-slot small{grid-column:1/-1;color:#806f59;font-size:7px}.equip-slot b,.owned-gear b{color:#dfbd7a}.equip-slot span{font-size:8px;color:#93836d}.equip-slot em{font-style:normal;font-size:7px;color:#776b5c}.durability{grid-column:1/-1;height:6px;background:#211b15;border:1px solid #392c20}.durability i{display:block;height:100%;background:#a47a3f}.gear-subhead{margin-top:12px!important}.owned-gear-list{display:grid;gap:4px}.owned-gear{display:flex;justify-content:space-between;align-items:center;padding:7px;background:#0b0a09;border:1px solid #33271c}.owned-gear>div{display:flex;gap:5px;align-items:center}.owned-gear small{display:block;color:#81735f;font-size:7px}.owned-gear span{font-size:8px;color:#b29b75}@media(max-width:600px){.equipment-slots{grid-template-columns:1fr}.owned-gear{align-items:flex-start;flex-direction:column}}
/* V0.9.1 Online Authentication */
#online-auth-gate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#080706f5;padding:20px}
.online-auth{width:min(440px,100%);background:#12100d;border:1px solid #76522f;box-shadow:0 20px 80px #000;padding:22px}
.auth-brand{border-bottom:1px solid #3e2e20;padding-bottom:14px;margin-bottom:14px}.auth-brand small{color:#9c7543;font-size:8px;letter-spacing:3px}.auth-brand h1{font:900 23px Georgia;color:#dfbd7a;margin:6px 0}.auth-brand p{font-size:9px;color:#8f816d}
.online-auth form{display:grid;gap:10px}.online-auth label{display:grid;gap:4px;color:#9b876b;font-size:8px;font-weight:bold}.online-auth input{background:#080706;border:1px solid #493624;color:#ddd0b6;padding:11px;outline:none}.online-auth input:focus{border-color:#a87b43}.auth-submit{padding:11px!important}.auth-switch{background:none;border:0;color:#aa895d;font-size:8px;cursor:pointer}.auth-error{padding:8px;background:#351713;border:1px solid #6e3027;color:#d79a8e;font-size:8px}
.online-account-chip{position:fixed;right:12px;top:7px;z-index:9000;display:flex;gap:6px;align-items:center;background:#090806;border:1px solid #4b3723;padding:5px 7px;color:#c5a873;font-size:8px}.online-account-chip b{color:#e1b45f}.online-account-chip button{background:#211710;border:1px solid #503721;color:#a9987d;font-size:7px;cursor:pointer}
.owner-tools{border-color:#7c582d!important}.owner-tools h2 span{float:right;color:#d1a453;font-size:7px}.owner-tools p{color:#8e806d;font-size:8px}.owner-tool-grid{display:flex;gap:5px}.owner-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;padding:8px;background:#090806;border:1px solid #46331f;font-size:8px}.owner-status b{color:#cba15b}.owner-status span{color:#93836d}

/* V0.9.2 professional authentication scene — completely hides game UI */
#online-auth-gate{overflow:hidden;background:#050505!important;isolation:isolate}
#online-auth-gate:before{content:"";position:absolute;inset:-45px;z-index:-3;background:
 radial-gradient(circle at 50% 78%,rgba(142,82,35,.28),transparent 24%),
 linear-gradient(90deg,transparent 0 8%,#0d0d0e 8% 12%,transparent 12% 18%,#101011 18% 25%,transparent 25% 33%,#0b0b0c 33% 39%,transparent 39% 47%,#101011 47% 57%,transparent 57% 64%,#0c0c0d 64% 72%,transparent 72% 81%,#111112 81% 90%,transparent 90%),
 linear-gradient(180deg,#111217 0%,#171419 42%,#100c09 75%,#050505 100%);
 filter:blur(8px);transform:scale(1.06)}
#online-auth-gate:after{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.42)),
 repeating-linear-gradient(90deg,transparent 0 90px,rgba(206,137,69,.035) 91px 93px,transparent 94px 170px);
 box-shadow:inset 0 0 180px #000}
.online-auth{position:relative;width:min(470px,calc(100% - 32px));padding:0!important;background:rgba(13,12,11,.96)!important;border:1px solid #72502e!important;box-shadow:0 35px 100px #000,0 0 0 1px #17120d!important}
.online-auth:before{content:"UNDERWORLD";display:block;padding:22px 24px 8px;font:900 30px Georgia,serif;letter-spacing:5px;color:#d5ad69;text-align:center;text-shadow:0 2px 14px #000}
.auth-brand{padding:7px 28px 17px!important;text-align:center;margin:0!important;background:linear-gradient(180deg,transparent,#0b0907);border-bottom:1px solid #4b3420!important}
.auth-brand small{letter-spacing:4px!important;color:#765a38!important}.auth-brand h1{font-size:17px!important;letter-spacing:1px;margin:8px 0 4px!important}.auth-brand p{max-width:330px;margin:auto;line-height:1.6;color:#817767!important}
.online-auth form{padding:20px 28px 25px!important;gap:12px!important}
.online-auth input{font-size:12px!important;padding:12px!important;background:#080706!important;box-shadow:inset 0 1px 5px #000}
.online-auth label{letter-spacing:1px}.auth-submit{margin-top:4px;min-height:40px;letter-spacing:1px}.auth-switch{padding:7px}

/* V0.9.3 Online Rankings */
.rankings-hero{background:linear-gradient(90deg,#17100b,#0a0908)!important}.ranking-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.ranking-tabs{display:flex;gap:4px;flex-wrap:wrap}.ranking-tabs .button{font-size:7px;padding:6px 8px}.ranking-loading,.ranking-error{padding:25px;text-align:center;color:#8e806c;font-size:9px}.ranking-error{color:#c17c70}.online-ranking-table tbody tr{cursor:pointer}.online-ranking-table tbody tr:hover{background:#17120d}.my-ranking-row{box-shadow:inset 3px 0 #b48649;background:#17130e!important}.owner-rank-badge{display:inline-block;margin-left:6px;padding:2px 4px;border:1px solid #80603a;color:#d6aa67;font-size:6px!important;vertical-align:middle}.player-modal{position:fixed;inset:0;z-index:50000;background:#000b;display:grid;place-items:center;padding:20px}.player-modal.hidden{display:none}.public-player-card{position:relative;width:min(470px,100%);background:#100e0b;border:1px solid #684a2c;box-shadow:0 25px 80px #000;padding:20px}.public-player-card>small{color:#816743;letter-spacing:3px;font-size:7px}.public-player-card h2{font:900 22px Georgia;color:#d6b173}.public-player-card p{color:#786d5d;font-size:8px}.player-modal-close{position:absolute;right:9px;top:7px;background:none;border:0;color:#927d61;font-size:22px;cursor:pointer}.public-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.public-stats div{background:#090806;border:1px solid #382a1d;padding:10px;text-align:center}.public-stats b{display:block;color:#d4b06f;font:900 15px Georgia}.public-stats span{display:block;color:#756957;font-size:6px;margin-top:3px}@media(max-width:650px){.ranking-head{align-items:flex-start;flex-direction:column}.public-stats{grid-template-columns:1fr 1fr}.online-ranking-table th:nth-child(4),.online-ranking-table td:nth-child(4){display:none}}

/* V0.9.3.2 progression requirement labels */
.level-req-badge{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid #5f482d;background:#0b0907;color:#c69a5d!important;font:700 7px/1.2 Arial,sans-serif!important;letter-spacing:.7px;vertical-align:middle;white-space:nowrap}

/* V0.9.3.3 — true desktop UI scaling.
   The game uses many px-sized elements, so root font-size did not visibly scale them.
   CSS zoom scales the complete rendered game much closer to browser 110%. */
@media (min-width: 901px){
  body{zoom:1.10}
}
@media (max-width:900px){
  body{zoom:1}
}

/* V0.9.3.5 — premium staff role badges */
.staff-badge{position:relative;display:inline-flex;align-items:center;gap:4px;margin-left:7px;padding:3px 8px;border-radius:3px;font:900 7px/1 Arial,sans-serif!important;letter-spacing:1.2px;vertical-align:middle;overflow:hidden;isolation:isolate;text-shadow:0 1px 2px #000;animation:staffPulse 2.8s ease-in-out infinite}
.staff-badge i{font-style:normal;font-size:6px;filter:drop-shadow(0 0 3px currentColor)}
.staff-badge:before{content:"";position:absolute;inset:-2px;z-index:-2;background-size:220% 220%;animation:staffFlow 3.5s linear infinite}
.staff-badge:after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:2px;background:rgba(7,7,8,.82)}
.role-owner{color:#ffe9a8;border:1px solid rgba(255,201,73,.85);box-shadow:0 0 7px rgba(255,176,38,.65),0 0 18px rgba(255,105,24,.30),inset 0 0 8px rgba(255,216,100,.12)}
.role-owner:before{background:linear-gradient(110deg,#7d2700,#ff9b19,#fff0a2,#d84600,#ffbd39,#7d2700);background-size:260% 260%}
.role-admin{color:#e9d7ff;border:1px solid rgba(180,100,255,.85);box-shadow:0 0 7px rgba(154,73,255,.6),0 0 17px rgba(88,39,200,.3),inset 0 0 8px rgba(207,159,255,.12)}
.role-admin:before{background:linear-gradient(110deg,#35116e,#8d3dff,#e3c2ff,#6820d0,#b768ff,#35116e);background-size:260% 260%}
.role-mod{color:#c8fff4;border:1px solid rgba(52,220,188,.8);box-shadow:0 0 7px rgba(27,205,172,.55),0 0 17px rgba(15,127,143,.28),inset 0 0 8px rgba(119,255,228,.12)}
.role-mod:before{background:linear-gradient(110deg,#064d51,#10a98d,#9dffe9,#087d8e,#35d4ae,#064d51);background-size:260% 260%}
@keyframes staffFlow{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@keyframes staffPulse{0%,100%{filter:brightness(.94)}50%{filter:brightness(1.18)}}
@media (prefers-reduced-motion:reduce){.staff-badge,.staff-badge:before{animation:none}}

/* V0.9.4.5 consumable bulk purchase controls */
.market-qty{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin:5px 0}.market-qty button{width:22px;height:22px;border:1px solid #4a3825;background:#0c0a08;color:#c79d62;cursor:pointer;font-weight:900}.market-qty button:hover{border-color:#a4773e;background:#18110b}.market-qty input{width:42px;height:22px;box-sizing:border-box;text-align:center;border:1px solid #4a3825;background:#080706;color:#e3c28d;font:800 9px Arial}.market-qty input::-webkit-inner-spin-button{opacity:.35}

.market-qty{display:flex!important;align-items:center;justify-content:flex-end;gap:3px;margin:5px 0}.market-qty button{width:22px;height:22px;border:1px solid #4a3825;background:#0c0a08;color:#c79d62}.market-qty input{width:44px;height:22px;text-align:center;background:#080706;border:1px solid #4a3825;color:#e3c28d}

/* V0.9.4.8 — live online players panel */
.online-players-panel{position:fixed;right:12px;top:145px;width:180px;max-height:calc(100vh - 175px);z-index:850;background:rgba(10,8,6,.96);border:1px solid #4a3521;box-shadow:0 8px 28px #0009,inset 0 0 18px #2a17080f;font-family:Arial,sans-serif;overflow:hidden}
.online-panel-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;background:linear-gradient(180deg,#1c150e,#100d09);border-bottom:1px solid #49331f;color:#caa267;font:900 8px Arial;letter-spacing:1px}.online-panel-head>span{display:flex;align-items:center;gap:6px}.online-panel-head>b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 3px;border:1px solid #4d6b42;color:#9fd48c;background:#10170d;font-size:8px}
.online-dot,.online-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6fc65e;box-shadow:0 0 6px #6fc65e;animation:onlinePulse 2s ease-in-out infinite}.online-player-list{overflow:auto;max-height:calc(100vh - 215px)}.online-player-row{width:100%;display:flex;align-items:center;gap:8px;padding:8px 9px;border:0;border-bottom:1px solid #241b12;background:transparent;color:#c8bba8;text-align:left;cursor:pointer}.online-player-row:hover{background:#18120c}.online-player-info{min-width:0;display:block}.online-player-info>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#d9c8ad}.online-player-info small{display:block;margin-top:2px;color:#716654;font-size:6px;letter-spacing:.5px}.online-status-dot{width:5px;height:5px;flex:0 0 auto}.online-role{display:inline-block;margin-left:3px;padding:1px 3px;border-radius:2px;font-size:5px!important;letter-spacing:.5px;vertical-align:1px}.online-role.owner{color:#ffe09a;border:1px solid #8c622a;box-shadow:0 0 4px #c77c22}.online-role.admin{color:#e3c9ff;border:1px solid #7044a4}.online-role.mod{color:#b8fff0;border:1px solid #287c70}.online-empty{padding:18px 10px;text-align:center;color:#6f6455;font-size:7px;line-height:1.6}@keyframes onlinePulse{0%,100%{opacity:.65}50%{opacity:1;box-shadow:0 0 9px #79d968}}


/* V0.9.4.9 — online panel visibility/layout fix */
.online-players-panel{display:block!important;right:10px!important;top:132px!important;width:174px!important}
@media (max-width:1050px){
 .online-players-panel{position:fixed!important;right:7px!important;top:auto!important;bottom:8px!important;width:170px!important;max-height:260px!important}
 .online-player-list{max-height:215px!important}
}
@media (max-width:720px){
 .online-players-panel{width:145px!important;opacity:.96}
}

/* V0.9.4.10 — online panel position adjustment */
@media (min-width:1051px){
  .online-players-panel{top:205px!important;}
}

/* V0.9.4.11 global player profile overlay */
.player-modal{z-index:60000!important}

/* V0.9.4.12 — centered global profile + street chat */
.player-modal{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(0,0,0,.68)!important;box-sizing:border-box!important}
.player-modal.hidden{display:none!important}.player-modal .public-player-card{position:relative!important;margin:0!important;max-width:560px!important;width:min(560px,92vw)!important;max-height:85vh;overflow:auto}
.online-players-panel{max-height:calc(100vh - 225px)!important;display:flex!important;flex-direction:column!important}.online-player-list{max-height:190px!important;flex:0 1 auto}
.street-chat{border-top:1px solid #4a3521;display:flex;flex-direction:column;min-height:250px;flex:1 1 300px;background:#090806}.street-chat-head{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;background:linear-gradient(180deg,#17110c,#0d0b08);border-bottom:1px solid #382719;color:#caa267;font:900 7px Arial;letter-spacing:1px}.street-chat-head small{color:#72c965;font-size:5px}.street-chat-messages{flex:1;min-height:150px;overflow:auto;padding:5px 7px}.street-msg{padding:5px 1px;border-bottom:1px solid #21180f}.street-msg>div{display:flex;align-items:center;gap:2px}.street-msg button{padding:0;border:0;background:none;color:#cda56d;font:900 7px Arial;cursor:pointer;text-align:left}.street-msg button:hover{text-decoration:underline}.street-msg p{margin:3px 0 0;color:#a99d8b;font:7px/1.45 Arial;overflow-wrap:anywhere}.street-chat-form{display:flex;border-top:1px solid #382719;padding:6px;background:#0c0a08;gap:4px}.street-chat-form input{min-width:0;flex:1;padding:6px;border:1px solid #3e2d1d;background:#060504;color:#d9c8ad;font:7px Arial;outline:none}.street-chat-form input:focus{border-color:#8a6337}.street-chat-form button{padding:0 7px;border:1px solid #604528;background:#1c130b;color:#cda56d;font:900 6px Arial;cursor:pointer}.street-chat-form button:hover{background:#2b1c0e}

/* V0.9.4.13 — center player profile over the main game area, not full viewport */
@media (min-width:1051px){
  .player-modal .public-player-card{
    transform:translateX(-105px)!important;
  }
}
@media (max-width:1050px){
  .player-modal .public-player-card{
    transform:none!important;
  }
}

/* V0.9.4.14 — readable Street Chat */
.street-chat-head{font-size:9px!important}
.street-chat-head small{font-size:7px!important}
.street-msg{padding:7px 2px!important}
.street-msg button{font-size:10px!important;line-height:1.25!important}
.street-msg p{font-size:10px!important;line-height:1.5!important;margin-top:4px!important;color:#c8bcaa!important}
.street-chat-form input{font-size:10px!important;padding:8px 7px!important}
.street-chat-form button{font-size:8px!important;padding:0 9px!important}
.street-chat .online-role{font-size:6px!important}
.street-chat .online-empty{font-size:9px!important}

/* V0.9.4.15 — move Online Players + Street Chat inward */
@media (min-width:1051px){
  .online-players-panel{
    right:42px!important;
  }
}

/* V0.9.4.16 — custom sidebar scrollbars + chat staff controls */
.online-player-list,.street-chat-messages{scrollbar-width:thin;scrollbar-color:#76502d #0b0907}
.online-player-list::-webkit-scrollbar,.street-chat-messages::-webkit-scrollbar{width:8px}
.online-player-list::-webkit-scrollbar-track,.street-chat-messages::-webkit-scrollbar-track{background:#0b0907;border-left:1px solid #21170f}
.online-player-list::-webkit-scrollbar-thumb,.street-chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b6338,#4e321c);border:1px solid #a77a45;border-radius:5px;box-shadow:inset 0 0 3px #000}
.online-player-list::-webkit-scrollbar-thumb:hover,.street-chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b07c43,#674326)}
.street-chat-head>div{display:flex;align-items:center;gap:6px}.chat-staff-clear{display:none;padding:2px 4px;border:1px solid #713b2d;background:#1d0b08;color:#c87562;font:900 5px Arial;cursor:pointer}.chat-staff-clear:hover{background:#35100b;color:#f0a18d}
.street-msg-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px}.street-msg-top>span:first-child{min-width:0}.chat-mod-actions{display:flex;gap:2px;opacity:.35;transition:opacity .15s}.street-msg:hover .chat-mod-actions{opacity:1}.chat-mod-actions button{display:grid!important;place-items:center;width:15px;height:14px;border:1px solid #583328!important;background:#160a07!important;color:#b96e5c!important;font:900 6px Arial!important;text-decoration:none!important}.chat-mod-actions button:hover{border-color:#a9533d!important;color:#ef9b84!important;background:#2c0d08!important}

/* V0.9.4.17 — wider multiplayer rail + native game moderation dialogs */
@media (min-width:1051px){
  .online-players-panel{
    width:225px!important;
  }
}
.street-chat-messages{padding-left:9px!important;padding-right:9px!important}
.street-msg p{font-size:10px!important;line-height:1.55!important}
.street-chat-form input{font-size:10px!important}
.game-action-overlay{z-index:65000!important}
.game-action-modal{width:min(390px,92vw)!important}
.game-prompt-label{display:block;margin-top:13px;color:#9f8767;font:900 7px Arial;letter-spacing:.8px}
.game-prompt-input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:9px 10px;border:1px solid #5a4025;background:#080604;color:#e2c99f;font:900 10px Arial;outline:none}
.game-prompt-input:focus{border-color:#a6783f;box-shadow:0 0 8px rgba(180,122,55,.22)}
.game-action-modal .button.danger{border-color:#78372b!important;background:#2a0c08!important;color:#e28a72!important}
.game-action-modal .button.danger:hover{background:#42120c!important}

/* V0.9.4.18 — recenter widened Online Players + Street Chat rail */
@media (min-width:1051px){
  .online-players-panel{
    right:20px!important;
  }
}

/* V0.9.5 — persistent garage */
.vehicle-card.active-vehicle{box-shadow:0 0 0 1px #8d6638,0 0 16px rgba(151,99,40,.22)!important}
.vehicle-card .vehicle-stats span:first-child b{color:#b9a27f}

/* V0.9.5.3 — Owner Tools as dedicated sidebar page */
.owner-menu-link{display:none!important;border-color:#6d4a22!important;color:#d9b36d!important}
body.owner-account .owner-menu-link{display:flex!important}
.owner-menu-link em{background:#5a3515!important;color:#ffd28a!important;border:1px solid #8d6230!important;box-shadow:0 0 8px rgba(201,137,55,.28)}

/* V0.9.5.4 — Owner menu badge matches DEV badge geometry and placement */
.owner-menu-link em{
  margin-left:auto!important;
  min-width:0!important;
  padding:1px 4px!important;
  font-size:5px!important;
  line-height:1.2!important;
  border-radius:2px!important;
  display:inline-block!important;
  position:static!important;
}

/* V0.9.5.5 — expanded Owner command center */
.owner-command-center{max-width:100%}
.owner-section{margin-top:12px;padding:10px;border:1px solid #342517;background:linear-gradient(180deg,#100d09,#0a0806)}
.owner-section h3{margin:0 0 8px;color:#c99b55;font:900 8px Arial;letter-spacing:1.2px;border-bottom:1px solid #2d2014;padding-bottom:6px}
.owner-section .owner-tool-grid{margin:0}
.owner-command-center #owner-tool-output{margin-top:12px}

/* V0.9.5.6 — Owner Player Management */
.owner-player-toolbar{display:flex;gap:6px;margin-bottom:8px}.owner-player-toolbar input{flex:1;min-width:0;padding:8px;border:1px solid #44301d;background:#080604;color:#d8c5a5;font:9px Arial;outline:none}.owner-player-toolbar input:focus{border-color:#8c6335}
.owner-player-list{display:grid;gap:6px;max-height:480px;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:#76502d #0b0907}
.owner-player-row{border:1px solid #302217;background:#090705;padding:8px}.owner-player-main{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.owner-player-main>button{border:0;background:none;padding:0;color:#d3a967;font:900 10px Arial;cursor:pointer}.owner-player-main small{width:100%;color:#776b5b;font:7px Arial}.owner-suspended{padding:2px 4px;border:1px solid #71352a;background:#260c08;color:#df806b;font:900 5px Arial;letter-spacing:.5px}
.owner-player-stats{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0;color:#756a5c;font:6px Arial}.owner-player-stats b{color:#c4b297}.owner-player-actions{display:flex;gap:4px;flex-wrap:wrap}.owner-player-actions .button{font-size:6px!important;padding:5px 7px!important}.owner-player-actions .danger{border-color:#6f3227!important;color:#d47763!important;background:#200b08!important}

/* V0.9.5.7 — registration password visibility + confirmation */
.auth-password-row{display:flex;align-items:stretch;width:100%}
.auth-password-row input{flex:1;min-width:0;border-right:0!important}
.auth-password-toggle{width:46px;border:1px solid #4a3420;background:#120d08;color:#b99867;font:900 6px Arial;letter-spacing:.5px;cursor:pointer}
.auth-password-toggle:hover{background:#20160d;color:#e0bd83;border-color:#76502c}

/* V0.9.5.8 — persistent vehicle condition states */
.vehicle-card:has(.vehicle-stats b:last-child){}
.vehicle-damage-toast .damage-warning{font-weight:900}

/* V0.9.6.0 — partial vehicle repair workshop */
.repair-modal{width:min(470px,calc(100vw - 24px))!important}
.repair-condition,.repair-quote{display:flex;justify-content:space-between;gap:8px;margin:12px 0;padding:9px;border:1px solid #3b2a1b;background:#0b0805;flex-wrap:wrap}
.repair-condition span,.repair-quote span{color:#7f705d;font:7px Arial;letter-spacing:.5px}.repair-condition b,.repair-quote b{color:#d5b278;font-size:10px;margin-left:4px}
.repair-slider{width:100%;height:16px;accent-color:#a9783f;cursor:pointer}.repair-scale{display:flex;justify-content:space-between;color:#655b4e;font:6px Arial;margin-top:2px}

/* V0.9.6.1 — repair control integrated into each garage vehicle card */
.vehicle-inline-repair{margin-top:9px;padding:7px 8px;border:1px solid #392719;background:#0a0705}
.vehicle-condition-bar{height:5px;background:#21170f;border:1px solid #3c2b1c;overflow:hidden;margin-bottom:6px}
.vehicle-condition-bar i{display:block;height:100%;background:linear-gradient(90deg,#6c3d25,#b07b43,#c6a162)}
.vehicle-inline-repair-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vehicle-inline-repair-row>span,.vehicle-perfect>span{color:#796b59;font:6px Arial;letter-spacing:.6px}
.vehicle-inline-repair-row>span b{color:#c9aa78;font-size:8px}
.vehicle-inline-repair-row .button{padding:5px 8px!important;font-size:6px!important}
.vehicle-perfect{color:#88765c}
.vehicle-perfect .vehicle-condition-bar i{background:linear-gradient(90deg,#78613a,#b99a5e)}

/* V0.9.6.8 — active safehouse gameplay */
.safehouse-bonus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.safehouse-bonus-grid>div{padding:10px 8px;border:1px solid #392819;background:#0b0805;text-align:center}.safehouse-bonus-grid b{display:block;color:#d1aa70;font:900 13px Arial}.safehouse-bonus-grid span{display:block;margin-top:3px;color:#746858;font:6px Arial;letter-spacing:.6px}@media(max-width:760px){.safehouse-bonus-grid{grid-template-columns:repeat(2,1fr)}}

/* V0.9.7.0 — Property renovations */
.property-upgrade-modal{width:min(650px,calc(100vw - 24px))!important}.property-upgrade-list{display:grid;gap:7px;margin-top:12px}.property-upgrade-row{display:grid;grid-template-columns:1fr 55px 85px auto;gap:9px;align-items:center;padding:9px;border:1px solid #3a291b;background:#0a0705}.property-upgrade-row h3{margin:2px 0;color:#d0ad78;font-size:10px}.property-upgrade-row small,.property-upgrade-row p{margin:0;color:#746859;font-size:7px}.upgrade-level{text-align:center}.upgrade-level span{display:block;color:#665c4f;font-size:6px}.upgrade-level b{color:#d4b47f;font-size:9px}.upgrade-pips{display:flex;gap:3px}.upgrade-pips i{width:11px;height:5px;border:1px solid #4a3422;background:#17100a}.upgrade-pips i.filled{background:#a9773f}.upgrade-effective{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0}.upgrade-effective span{padding:7px;border:1px solid #382719;background:#0a0705;color:#756858;font-size:6px;text-align:center}.upgrade-effective b{display:block;color:#d0aa72;font-size:10px;margin-top:2px}.upgrade-property-button{border-color:#6d512e!important;color:#d6b476!important}@media(max-width:650px){.property-upgrade-row{grid-template-columns:1fr 50px}.upgrade-pips{grid-column:1}.property-upgrade-row button{grid-column:2}.upgrade-effective{grid-template-columns:repeat(2,1fr)}}

/* V0.9.7.5 — compact sidebar identity, contained inside PLAYER panel */
.player-panel{overflow:hidden}
.player-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.player-card .avatar{box-sizing:border-box!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center;overflow:hidden;border:1px solid #594226!important;font-size:14px!important;line-height:38px!important}
.player-card-copy{min-width:0;max-width:100%;overflow:hidden}
.player-name-line{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;overflow:hidden}
.player-name-line strong{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-card-copy>#sideRank{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-role-badge{display:inline-block;flex:0 0 auto;box-sizing:border-box;padding:1px 4px;max-width:62px;overflow:hidden;white-space:nowrap;border:1px solid #50432f;background:#14110d;color:#9d917b;font:700 5px/1.4 Arial;letter-spacing:.45px}
.side-role-badge.owner{color:#ffe7a0;border-color:#956a29;background:linear-gradient(90deg,#251706,#50320e,#251706);box-shadow:0 0 5px rgba(202,146,49,.4)}
.side-role-badge.mod,.side-role-badge.moderator{color:#bdeaff;border-color:#34738e;background:#09212c;box-shadow:0 0 4px rgba(56,155,198,.3)}
.side-role-badge.admin{color:#e1c0fa;border-color:#70468b;background:#20112a}
.side-role-badge.player{color:#9d917b;border-color:#50432f;background:#14110d}

/* V0.9.7.6 — PLAYER panel breathing room */
.player-panel{box-sizing:border-box;padding:10px 11px 11px!important}
.player-panel .player-card{box-sizing:border-box;width:100%;padding:7px 8px!important;margin:0 0 8px!important;border:1px solid #3f3020;outline:none;overflow:hidden}
.player-panel .player-card .avatar{margin:0!important}
.player-panel .stats{box-sizing:border-box;width:100%;margin-top:2px}

/* V0.9.8.0 — property progression */
.property-tier-badge{display:inline-block;margin-left:4px;padding:1px 4px;border:1px solid #4a4031;font:700 5px Arial;letter-spacing:.45px;vertical-align:middle}
.property-tier-badge.basic,.renovation-progress .basic{color:#8f8779}.property-tier-badge.renovated,.renovation-progress .renovated{color:#b8a174;border-color:#655534}.property-tier-badge.established,.renovation-progress .established{color:#c89a62;border-color:#7c5730}.property-tier-badge.fortified,.renovation-progress .fortified{color:#d8b16b;border-color:#9a6c2f;box-shadow:0 0 4px rgba(195,139,53,.25)}.property-tier-badge.fortress,.renovation-progress .fortress{color:#ffe09a;border-color:#b27a29;box-shadow:0 0 7px rgba(218,151,43,.5)}
.renovation-progress{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:10px 0;padding:9px;border:1px solid #3b2a1b;background:#090705}.renovation-progress span{display:block;color:#6e6254;font-size:6px}.renovation-progress b{color:#d1aa72;font-size:9px}.renovation-bar{grid-column:1/-1;height:5px;border:1px solid #3f2d1c;background:#120c08;overflow:hidden}.renovation-bar i{display:block;height:100%;background:#a2733d}.renovation-progress small{grid-column:1/-1;color:#75695b;font-size:6px}.active-renovation-line{display:flex;align-items:center;gap:7px;margin:0 0 7px;padding:6px 8px;border:1px solid #352719;background:#0b0806}.active-renovation-line span,.active-renovation-line small{color:#706457;font-size:6px}.active-renovation-line b{color:#cba66f;font-size:7px;letter-spacing:.5px}.active-renovation-line small{margin-left:auto}

/* V0.9.8.1 — larger Property Renovation UI */
.property-tier-badge{padding:3px 7px!important;font-size:7px!important;line-height:1.35!important;letter-spacing:.55px!important}
.renovation-progress{padding:13px!important;gap:8px 15px!important;margin:13px 0!important}
.renovation-progress span{font-size:8px!important;letter-spacing:.45px}
.renovation-progress b{font-size:12px!important;line-height:1.35}
.renovation-progress small{font-size:8px!important;line-height:1.5}
.renovation-bar{height:8px!important;margin:2px 0}
.active-renovation-line{padding:9px 11px!important;gap:10px!important;margin-bottom:10px!important}
.active-renovation-line span{font-size:8px!important;letter-spacing:.4px}
.active-renovation-line b{font-size:9px!important;letter-spacing:.65px}
.active-renovation-line small{font-size:8px!important}
.property-upgrade-row{padding:12px!important;gap:11px!important}
.property-upgrade-row h3{font-size:12px!important}
.property-upgrade-row small,.property-upgrade-row p{font-size:8px!important;line-height:1.45}
.upgrade-level span{font-size:7px!important}
.upgrade-level b{font-size:11px!important}
.upgrade-effective span{font-size:8px!important;padding:9px!important}
.upgrade-effective b{font-size:12px!important}
.safehouse-bonus-grid b{font-size:15px!important}
.safehouse-bonus-grid span{font-size:8px!important;line-height:1.35}

/* V0.9.8.2 — larger renovation tier tag */
.property-card .property-tier-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:18px!important;
  padding:4px 9px!important;
  margin-left:6px!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.7px!important;
  vertical-align:middle!important;
}

/* V0.9.8.3 — renovation modal fit + uniform property badges */
.property-upgrade-overlay{padding:14px!important;box-sizing:border-box;overflow-y:auto!important;align-items:flex-start!important}
.property-upgrade-modal{
  width:min(760px,calc(100vw - 28px))!important;
  max-width:760px!important;
  max-height:calc(100vh - 28px)!important;
  margin:auto!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.property-upgrade-modal .purchase-copy{box-sizing:border-box;width:100%;max-width:none!important}
.renovation-progress{
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) minmax(105px,auto)!important;
}
.renovation-progress>div{min-width:0}
.renovation-progress>div:nth-child(2){
  box-sizing:border-box;
  min-width:105px;
  padding:5px 8px;
  border:1px solid #322518;
  background:#0b0806;
}
.renovation-progress>div:nth-child(2) b{display:block;white-space:nowrap}
.property-upgrade-list{width:100%;box-sizing:border-box}
.property-upgrade-row{width:100%;box-sizing:border-box;grid-template-columns:minmax(150px,1fr) 65px 100px 105px!important}
.property-upgrade-row .button{width:105px!important;min-width:105px!important;box-sizing:border-box!important}
.upgrade-pips{justify-content:center}
.upgrade-effective{width:100%;box-sizing:border-box}

/* COMMON / renovation tier / LVL tags use one consistent badge footprint */
.property-card h3{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
.property-card h3 .rarity,
.property-card h3 .property-tier-badge,
.property-card h3 .level-req-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  height:22px!important;
  min-height:22px!important;
  padding:0 9px!important;
  margin:0!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.55px!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.property-card h3 .rarity{min-width:68px!important}
.property-card h3 .property-tier-badge{min-width:145px!important}
.property-card h3 .level-req-badge{min-width:55px!important}

@media(max-width:700px){
 .property-upgrade-overlay{padding:7px!important}
 .property-upgrade-modal{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important}
 .property-upgrade-row{grid-template-columns:minmax(0,1fr) 55px!important}
 .property-upgrade-row .upgrade-pips{grid-column:1!important}
 .property-upgrade-row .button{grid-column:2!important;width:92px!important;min-width:92px!important}
 .renovation-progress{grid-template-columns:1fr!important}
 .renovation-progress>div:nth-child(2){min-width:0}
}

/* V0.9.8.4 — game popup / purchase receipt layout repair */
.purchase-overlay{
  box-sizing:border-box!important;
  padding:16px!important;
  overflow-y:auto!important;
}
.purchase-modal{
  box-sizing:border-box!important;
  width:min(620px,calc(100vw - 32px))!important;
  max-width:620px!important;
  max-height:calc(100vh - 32px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:18px 20px!important;
}
.purchase-modal .purchase-close{
  top:10px!important;
  right:10px!important;
  z-index:20!important;
}
.purchase-modal .purchase-stamp{
  position:relative!important;
  display:inline-block!important;
  top:auto!important;
  left:auto!important;
  transform:rotate(-3deg)!important;
  margin:-8px 0 12px!important;
  z-index:5!important;
}
.purchase-modal .purchase-body,
.purchase-modal .purchase-content{
  display:grid!important;
  grid-template-columns:minmax(180px,255px) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.purchase-modal .purchase-art,
.purchase-modal .purchase-image{
  position:relative!important;
  width:100%!important;
  max-width:255px!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:1.45/1!important;
  margin:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.purchase-modal .purchase-art img,
.purchase-modal .purchase-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.purchase-modal .purchase-copy{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  padding:6px 0 0!important;
}
.purchase-modal .purchase-copy h2{
  margin:0 32px 9px 0!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
.purchase-modal .purchase-copy p{
  max-width:100%!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
.purchase-modal .purchase-copy .property-bonuses,
.purchase-modal .property-bonuses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.purchase-modal .purchase-copy .property-bonuses span,
.purchase-modal .property-bonuses span{
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.purchase-modal .purchase-receipt,
.purchase-modal .purchase-price,
.purchase-modal .purchase-actions{
  width:100%!important;
  box-sizing:border-box!important;
  clear:both!important;
}
.purchase-modal .purchase-actions{
  margin-top:14px!important;
}
.purchase-modal .purchase-actions .button{
  box-sizing:border-box!important;
  max-width:100%!important;
}

/* Generic operation/result windows get the same viewport safety. */
.operation-overlay{box-sizing:border-box!important;padding:16px!important;overflow-y:auto!important}
.operation-modal{box-sizing:border-box!important;width:min(600px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important}

@media(max-width:600px){
 .purchase-overlay,.operation-overlay{padding:7px!important}
 .purchase-modal,.operation-modal{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important;padding:14px!important}
 .purchase-modal .purchase-body,.purchase-modal .purchase-content{grid-template-columns:1fr!important;gap:10px!important}
 .purchase-modal .purchase-art,.purchase-modal .purchase-image{max-width:none!important;aspect-ratio:16/8!important}
 .purchase-modal .purchase-copy{padding-top:0!important}
}

/* V0.9.8.5 — Safehouse Renovations modal isolation/fix */
.property-upgrade-overlay{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  overflow:auto!important;
}
.property-upgrade-modal{
  display:block!important;
  width:min(760px,calc(100vw - 36px))!important;
  max-width:760px!important;
  max-height:calc(100vh - 36px)!important;
  min-height:0!important;
  margin:auto!important;
  padding:22px 24px 18px!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.property-upgrade-modal .purchase-stamp{
  position:relative!important;
  display:inline-block!important;
  margin:-8px 0 14px!important;
  transform:rotate(-2deg)!important;
}
.property-upgrade-modal .purchase-copy{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.property-upgrade-modal .purchase-copy>small{display:block;margin-bottom:4px;font-size:8px!important}
.property-upgrade-modal .purchase-copy>h2{
  width:100%!important;
  max-width:none!important;
  margin:0 42px 7px 0!important;
  font-size:24px!important;
  line-height:1.05!important;
}
.property-upgrade-modal .purchase-copy>p{
  width:100%!important;
  max-width:620px!important;
  margin:0 0 13px!important;
  font-size:9px!important;
  line-height:1.5!important;
}
.property-upgrade-modal .renovation-progress{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 145px!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 12px!important;
  padding:11px 13px!important;
  box-sizing:border-box!important;
}
.property-upgrade-modal .upgrade-effective{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 12px!important;
}
.property-upgrade-modal .property-upgrade-list{
  display:grid!important;
  width:100%!important;
  gap:8px!important;
}
.property-upgrade-modal .property-upgrade-row{
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) 62px 105px 115px!important;
  width:100%!important;
  max-width:none!important;
  min-height:68px!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 13px!important;
  box-sizing:border-box!important;
}
.property-upgrade-modal .purchase-actions{
  display:flex!important;
  justify-content:flex-end!important;
  width:100%!important;
  margin:14px 0 0!important;
  padding-top:10px!important;
  box-sizing:border-box!important;
}
.property-upgrade-modal .purchase-actions .button{width:auto!important;min-width:80px!important}

@media(max-width:700px){
 .property-upgrade-overlay{align-items:flex-start!important;padding:7px!important}
 .property-upgrade-modal{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important;padding:16px!important}
 .property-upgrade-modal .renovation-progress{grid-template-columns:1fr!important}
 .property-upgrade-modal .upgrade-effective{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .property-upgrade-modal .property-upgrade-row{grid-template-columns:minmax(0,1fr) 58px!important}
 .property-upgrade-modal .property-upgrade-row .upgrade-pips{grid-column:1!important}
 .property-upgrade-modal .property-upgrade-row .button{grid-column:2!important;width:100px!important;min-width:100px!important}
}

/* V0.9.8.6 — upgrade application feedback */
.upgrade-active-state{box-sizing:border-box;width:100%;margin:0 0 10px;padding:7px 9px;border:1px solid #4a3824;font-size:7px;font-weight:800;letter-spacing:.45px;line-height:1.4}
.upgrade-active-state.is-active{color:#c9d99b;border-color:#56663a;background:#101508}
.upgrade-active-state.is-inactive{color:#c5aa7b;border-color:#67502e;background:#151006}
.upgrade-applied-note{box-sizing:border-box;width:100%;margin:0 0 9px;padding:7px 9px;border:1px solid #62723e;background:#111709;color:#d4e6a3;font-size:8px;font-weight:800;letter-spacing:.55px;text-align:center}

/* V0.9.8.7 — operation/result window rework */
.uw-operation-overlay{box-sizing:border-box!important;padding:18px!important;overflow:auto!important}
.uw-operation-scene{
 width:min(590px,calc(100vw - 36px))!important;
 max-width:590px!important;
 max-height:calc(100vh - 36px)!important;
 box-sizing:border-box!important;
 margin:auto!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.uw-operation-scene .crime-scene-inner{
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
 padding:24px 26px 20px!important;
 text-align:left!important;
}
.uw-operation-scene .crime-kicker{
 width:fit-content!important;
 max-width:100%!important;
 margin:0 0 9px!important;
 font-size:8px!important;
 letter-spacing:1px!important;
}
.uw-operation-scene .crime-scene-icon{
 position:absolute!important;
 top:20px!important;
 right:24px!important;
 width:38px!important;
 height:38px!important;
 display:grid!important;
 place-items:center!important;
 margin:0!important;
 font-size:20px!important;
 opacity:.75;
}
.uw-operation-scene h2{
 width:calc(100% - 55px)!important;
 margin:0 0 8px!important;
 font-size:25px!important;
 line-height:1.08!important;
 overflow-wrap:anywhere!important;
}
.uw-operation-scene>*,.uw-operation-scene .crime-scene-inner>*{box-sizing:border-box}
.uw-operation-scene .crime-scene-inner>p{
 width:100%!important;
 max-width:none!important;
 margin:0 0 13px!important;
 font-size:9px!important;
 line-height:1.5!important;
 color:#958979!important;
}
.uw-operation-scene .crime-result{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
 border:1px solid #40301f!important;
 background:#0a0806!important;
 overflow:hidden!important;
}
.operation-status-row{
 display:grid!important;
 grid-template-columns:125px minmax(0,1fr)!important;
 align-items:center!important;
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}
.operation-status-row>strong{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 align-self:stretch!important;
 box-sizing:border-box!important;
 min-height:48px!important;
 padding:10px!important;
 margin:0!important;
 border:0!important;
 border-right:1px solid #40301f!important;
 font-size:11px!important;
 letter-spacing:.7px!important;
 text-align:center!important;
}
.operation-status-row>span{
 display:block!important;
 min-width:0!important;
 padding:11px 13px!important;
 margin:0!important;
 font-size:9px!important;
 line-height:1.5!important;
 overflow-wrap:anywhere!important;
}
.uw-operation-scene .operation-stats{
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(105px,1fr))!important;
 gap:0!important;
 width:100%!important;
 margin:0!important;
 border-top:1px solid #35281b!important;
}
.uw-operation-scene .operation-stats>span{
 box-sizing:border-box!important;
 min-width:0!important;
 padding:10px!important;
 border-right:1px solid #35281b!important;
 text-align:center!important;
}
.uw-operation-scene .operation-stats>span:last-child{border-right:0!important}
.uw-operation-scene .operation-stats small{display:block!important;font-size:7px!important;margin-bottom:3px!important}
.uw-operation-scene .operation-stats b{font-size:11px!important}
.uw-operation-scene .operation-log{
 box-sizing:border-box!important;
 width:100%!important;
 margin:0!important;
 padding:10px 13px 10px 27px!important;
 border-top:1px solid #35281b!important;
 font-size:8px!important;
 line-height:1.55!important;
}
.operation-footer{
 display:flex!important;
 justify-content:flex-end!important;
 width:100%!important;
 margin-top:14px!important;
}
.operation-footer .crime-continue{
 position:static!important;
 float:none!important;
 width:auto!important;
 min-width:120px!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.uw-operation-scene .operation-art{
 width:100%!important;
 max-width:none!important;
 min-height:130px!important;
 max-height:180px!important;
 margin:0!important;
 background-size:cover!important;
 background-position:center!important;
}
@media(max-width:560px){
 .uw-operation-overlay{padding:7px!important}
 .uw-operation-scene{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important}
 .uw-operation-scene .crime-scene-inner{padding:18px 16px 15px!important}
 .uw-operation-scene h2{font-size:20px!important}
 .operation-status-row{grid-template-columns:1fr!important}
 .operation-status-row>strong{min-height:36px!important;border-right:0!important;border-bottom:1px solid #40301f!important}
 .uw-operation-scene .crime-scene-icon{right:15px!important;top:15px!important}
 .operation-footer .crime-continue{width:100%!important}
}

/* V0.9.8.8 — confirm/prompt dialog rebuild */
.game-action-overlay{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 box-sizing:border-box!important;
 padding:18px!important;
 overflow:auto!important;
}
.game-action-modal{
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 width:min(520px,calc(100vw - 36px))!important;
 max-width:520px!important;
 min-width:0!important;
 max-height:calc(100vh - 36px)!important;
 margin:auto!important;
 padding:22px 24px 18px!important;
 box-sizing:border-box!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.game-action-modal .purchase-stamp{
 position:relative!important;
 display:inline-flex!important;
 align-items:center!important;
 align-self:flex-start!important;
 width:auto!important;
 max-width:calc(100% - 48px)!important;
 min-height:34px!important;
 top:auto!important;
 left:auto!important;
 margin:-5px 0 16px!important;
 padding:7px 11px!important;
 box-sizing:border-box!important;
 transform:rotate(-2deg)!important;
 font-size:8px!important;
 line-height:1.25!important;
 overflow-wrap:anywhere!important;
}
.game-action-modal .purchase-close{
 position:absolute!important;
 top:12px!important;
 right:12px!important;
 margin:0!important;
}
.game-action-modal .purchase-copy{
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
 box-sizing:border-box!important;
 overflow:visible!important;
}
.game-action-modal .purchase-copy h2{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 10px!important;
 padding:0!important;
 font-size:25px!important;
 line-height:1.08!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
 white-space:normal!important;
}
.game-action-modal .purchase-copy p{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 padding:0!important;
 font-size:9px!important;
 line-height:1.6!important;
 overflow-wrap:break-word!important;
 word-break:normal!important;
}
.game-action-modal .purchase-copy p>div,
.game-action-modal .purchase-copy p>span{max-width:100%!important;box-sizing:border-box!important}
.game-action-modal .purchase-actions{
 display:grid!important;
 grid-template-columns:minmax(95px,.32fr) minmax(160px,1fr)!important;
 gap:8px!important;
 width:100%!important;
 margin:18px 0 0!important;
 padding:12px 0 0!important;
 border-top:1px solid #49351f!important;
 box-sizing:border-box!important;
}
.game-action-modal .purchase-actions .button{
 position:static!important;
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.game-action-modal .game-prompt-label{
 display:block!important;
 width:100%!important;
 margin-top:14px!important;
 box-sizing:border-box!important;
}
.game-action-modal .game-prompt-input{
 display:block!important;
 width:100%!important;
 margin-top:6px!important;
 box-sizing:border-box!important;
}
@media(max-width:560px){
 .game-action-overlay{padding:7px!important}
 .game-action-modal{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important;padding:18px 16px 14px!important}
 .game-action-modal .purchase-copy h2{font-size:20px!important}
 .game-action-modal .purchase-actions{grid-template-columns:1fr!important}
}

/* V0.9.8.9 — exact insufficient-funds purchase dialog fix */
.funds-choice-modal{
 position:relative!important;
 display:grid!important;
 grid-template-columns:86px minmax(0,1fr)!important;
 grid-template-rows:auto auto auto!important;
 column-gap:18px!important;
 row-gap:0!important;
 align-items:start!important;
 width:min(560px,calc(100vw - 36px))!important;
 max-width:560px!important;
 min-width:0!important;
 max-height:calc(100vh - 36px)!important;
 margin:auto!important;
 padding:22px 24px 18px!important;
 box-sizing:border-box!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.funds-choice-modal .purchase-stamp{
 position:relative!important;
 grid-column:1!important;
 grid-row:1!important;
 top:auto!important;
 left:auto!important;
 align-self:start!important;
 justify-self:start!important;
 width:86px!important;
 min-width:86px!important;
 max-width:86px!important;
 min-height:74px!important;
 margin:0!important;
 padding:11px 8px!important;
 box-sizing:border-box!important;
 display:flex!important;
 align-items:flex-start!important;
 justify-content:center!important;
 text-align:center!important;
 transform:rotate(-3deg)!important;
 font-size:8px!important;
 line-height:1.25!important;
}
.funds-choice-modal .purchase-item-icon{
 position:relative!important;
 grid-column:1!important;
 grid-row:2!important;
 width:86px!important;
 height:64px!important;
 min-width:86px!important;
 margin:14px 0 0!important;
 padding:0!important;
 box-sizing:border-box!important;
 display:grid!important;
 place-items:center!important;
 font-size:20px!important;
 overflow:hidden!important;
}
.funds-choice-modal .purchase-copy{
 position:relative!important;
 grid-column:2!important;
 grid-row:1 / span 2!important;
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 padding:3px 36px 0 0!important;
 box-sizing:border-box!important;
 overflow:visible!important;
}
.funds-choice-modal .purchase-copy>small{
 display:block!important;
 margin:0 0 5px!important;
 font-size:7px!important;
 line-height:1.3!important;
}
.funds-choice-modal .purchase-copy>h2{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 10px!important;
 padding:0!important;
 font-size:25px!important;
 line-height:1.05!important;
 white-space:normal!important;
 word-break:normal!important;
 overflow-wrap:normal!important;
}
.funds-choice-modal .purchase-copy>p{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 12px!important;
 padding:0!important;
 font-size:9px!important;
 line-height:1.5!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
}
.funds-choice-modal .funds-breakdown{
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 gap:7px!important;
 width:100%!important;
 max-width:330px!important;
 margin:0!important;
}
.funds-choice-modal .funds-breakdown>span{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 min-width:0!important;
 padding:8px 9px!important;
 box-sizing:border-box!important;
 font-size:8px!important;
 white-space:nowrap!important;
}
.funds-choice-modal .purchase-actions{
 grid-column:1 / -1!important;
 grid-row:3!important;
 display:grid!important;
 grid-template-columns:110px minmax(0,1fr)!important;
 gap:8px!important;
 width:100%!important;
 margin:18px 0 0!important;
 padding:12px 0 0!important;
 border-top:1px solid #4a351f!important;
 box-sizing:border-box!important;
}
.funds-choice-modal .purchase-actions .button{
 position:static!important;
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.funds-choice-modal .purchase-close{
 position:absolute!important;
 top:11px!important;
 right:11px!important;
 z-index:20!important;
}
@media(max-width:560px){
 .funds-choice-modal{
  grid-template-columns:64px minmax(0,1fr)!important;
  column-gap:11px!important;
  width:calc(100vw - 14px)!important;
  padding:17px 15px 14px!important;
 }
 .funds-choice-modal .purchase-stamp{width:64px!important;min-width:64px!important;max-width:64px!important;min-height:62px!important;font-size:7px!important}
 .funds-choice-modal .purchase-item-icon{width:64px!important;min-width:64px!important;height:52px!important}
 .funds-choice-modal .purchase-copy{padding-right:26px!important}
 .funds-choice-modal .purchase-copy>h2{font-size:19px!important}
 .funds-choice-modal .funds-breakdown{grid-template-columns:1fr!important}
 .funds-choice-modal .purchase-actions{grid-template-columns:1fr!important}
}

/* V0.9.9.0 — PROPERTY ACQUIRED popup rebuilt */
.property-purchase{
 position:relative!important;
 display:grid!important;
 grid-template-columns:250px minmax(0,1fr)!important;
 grid-template-rows:auto auto auto!important;
 column-gap:22px!important;
 row-gap:14px!important;
 align-items:start!important;
 width:min(720px,calc(100vw - 36px))!important;
 max-width:720px!important;
 min-width:0!important;
 max-height:calc(100vh - 36px)!important;
 margin:auto!important;
 padding:22px 24px 18px!important;
 box-sizing:border-box!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.property-purchase .purchase-stamp{
 position:absolute!important;
 top:20px!important;
 left:22px!important;
 z-index:5!important;
 width:96px!important;
 min-width:96px!important;
 max-width:96px!important;
 min-height:118px!important;
 margin:0!important;
 padding:12px 8px!important;
 box-sizing:border-box!important;
 display:flex!important;
 align-items:flex-start!important;
 justify-content:center!important;
 text-align:center!important;
 transform:rotate(-3deg)!important;
 font-size:9px!important;
 line-height:1.35!important;
}
.property-purchase .property-big-icon{
 grid-column:1!important;
 grid-row:1 / span 2!important;
 position:relative!important;
 width:250px!important;
 height:138px!important;
 min-width:0!important;
 max-width:250px!important;
 margin:0!important;
 margin-top:0!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
 background-size:cover!important;
 background-position:center!important;
}
.property-purchase .property-big-icon span{
 position:absolute!important;
 left:8px!important;
 bottom:7px!important;
 width:auto!important;
 max-width:calc(100% - 16px)!important;
 padding:2px 5px!important;
 box-sizing:border-box!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}
.property-purchase .purchase-copy{
 grid-column:2!important;
 grid-row:1 / span 2!important;
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 padding:4px 38px 0 0!important;
 box-sizing:border-box!important;
 overflow:visible!important;
}
.property-purchase .purchase-copy>small{
 display:block!important;
 margin:0 0 5px!important;
 font-size:8px!important;
}
.property-purchase .purchase-copy>h2{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 8px!important;
 padding:0!important;
 font-size:26px!important;
 line-height:1.08!important;
 white-space:normal!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
}
.property-purchase .purchase-copy>.rarity{
 display:inline-flex!important;
 width:auto!important;
 min-width:0!important;
 height:20px!important;
 align-items:center!important;
 margin:0 0 10px!important;
 padding:0 7px!important;
 box-sizing:border-box!important;
 font-size:7px!important;
 white-space:nowrap!important;
}
.property-purchase .purchase-copy>p{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 11px!important;
 padding:0!important;
 font-size:9px!important;
 line-height:1.55!important;
 white-space:normal!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
}
.property-purchase .property-bonuses{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:6px!important;
 width:100%!important;
 margin:0 0 10px!important;
}
.property-purchase .property-bonuses span{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 min-width:0!important;
 padding:7px 8px!important;
 box-sizing:border-box!important;
 font-size:7px!important;
 white-space:nowrap!important;
 overflow:visible!important;
}
.property-purchase .purchase-price{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 width:100%!important;
 max-width:250px!important;
 min-height:38px!important;
 margin:0!important;
 padding:7px 9px!important;
 box-sizing:border-box!important;
 font-size:7px!important;
}
.property-purchase .purchase-price b{font-size:12px!important}
.property-purchase .purchase-actions{
 grid-column:1 / -1!important;
 grid-row:3!important;
 display:block!important;
 width:100%!important;
 margin:4px 0 0!important;
 padding:14px 0 0!important;
 border-top:1px solid #51391f!important;
 box-sizing:border-box!important;
}
.property-purchase .purchase-actions .button{
 position:static!important;
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.property-purchase .purchase-close{
 position:absolute!important;
 top:11px!important;
 right:11px!important;
 z-index:20!important;
}

/* Keep the stamp from covering the property artwork: reserve a left gutter for it. */
.property-purchase{padding-left:142px!important}
.property-purchase .property-big-icon{grid-column:1!important}
.property-purchase .purchase-actions{margin-left:-118px!important;width:calc(100% + 118px)!important}

@media(max-width:720px){
 .property-purchase{
  display:block!important;
  width:calc(100vw - 14px)!important;
  max-height:calc(100vh - 14px)!important;
  padding:16px!important;
 }
 .property-purchase .purchase-stamp{
  position:relative!important;
  top:auto!important;left:auto!important;
  width:auto!important;min-width:0!important;max-width:125px!important;min-height:0!important;
  margin:0 0 12px!important;padding:7px 9px!important;
 }
 .property-purchase .property-big-icon{width:100%!important;max-width:none!important;height:150px!important;margin:0 0 12px!important}
 .property-purchase .purchase-copy{width:100%!important;padding:0!important}
 .property-purchase .purchase-copy>h2{font-size:21px!important}
 .property-purchase .purchase-actions{width:100%!important;margin:14px 0 0!important}
}

/* V0.9.9.1 — V1 readiness / global modal safety */
.purchase-overlay,.game-action-overlay,.uw-operation-overlay,.property-upgrade-overlay,.operation-overlay{
 box-sizing:border-box;max-width:100vw;max-height:100vh;overflow:auto
}
.purchase-modal,.game-action-modal,.uw-operation-scene,.property-upgrade-modal,.operation-modal{
 box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)
}
.purchase-modal img,.uw-operation-scene img,.property-upgrade-modal img{max-width:100%;height:auto}
.v1-readiness{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;margin:8px 0 12px;padding:9px 10px;border:1px solid #594226;background:#0c0906;box-sizing:border-box}
.v1-readiness>b{grid-column:1/-1;color:#d1a96e;font-size:9px;letter-spacing:.8px;margin-bottom:3px}
.v1-readiness>span{color:#887a68;font-size:7px}.v1-readiness>i{color:#a8c47c;font:700 7px Arial;font-style:normal;text-align:right}
.v1-readiness>small{grid-column:1/-1;color:#6f6456;font-size:6px;line-height:1.5;border-top:1px solid #302419;padding-top:6px;margin-top:2px}
@media(max-width:700px){
 .purchase-modal,.game-action-modal,.uw-operation-scene,.property-upgrade-modal,.operation-modal{max-width:calc(100vw - 12px);max-height:calc(100vh - 12px)}
}

/* V0.9.9.2 — server sync indicator */
.sync-state-button{margin-left:7px;padding:2px 6px;border:1px solid #4e3a25;background:#0d0906;color:#897a66;font:700 6px Arial;letter-spacing:.5px;cursor:pointer;vertical-align:middle}
.sync-state-button:hover{color:#d0aa73;border-color:#7a5730}.sync-state-button:disabled{opacity:.7;cursor:wait}

/* V0.9.9.3 — private messages */
.menu-sync-button{width:100%;text-align:left}.menu-sync-button em{float:right}
#messageUnreadBadge.has-unread{background:#7d241c!important;color:#fff!important;border-color:#a94435!important}
.messages-box{overflow:hidden}.messages-layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:470px;border:1px solid #38291b;background:#090705}
.message-inbox{border-right:1px solid #38291b;min-width:0;background:#0c0907}.message-inbox-head{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #38291b;color:#b58c58;font-size:8px}.message-inbox-head span{color:#766958;font-size:7px}
.message-conversation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;width:100%;padding:10px;border:0;border-bottom:1px solid #2b2117;background:transparent;color:#b5a794;text-align:left;cursor:pointer;box-sizing:border-box}.message-conversation:hover,.message-conversation.active{background:#171008}.message-conversation div{min-width:0}.message-conversation b{display:block;font-size:9px;color:#d0b184;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-conversation small{display:block;margin-top:4px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#766b5e}.message-conversation>span{text-align:right}.message-conversation time{display:block;font-size:6px;color:#645b50;white-space:nowrap}.message-conversation em{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-top:5px;padding:0 4px;border-radius:9px;background:#7d241c;color:#fff;font:700 7px Arial;font-style:normal;box-sizing:border-box}
.message-thread{display:flex;flex-direction:column;min-width:0;max-height:540px}.message-thread-head{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid #38291b;background:#0e0a07}.message-thread-head b{display:block;color:#d6b57f;font-size:11px}.message-thread-head small{font-size:6px;color:#6d6255}.message-back{display:none;background:none;border:0;color:#a98b64;font-size:20px;cursor:pointer}
.private-message-list{flex:1;min-height:330px;overflow-y:auto;padding:13px;box-sizing:border-box}.private-message{width:fit-content;max-width:76%;margin:0 0 9px;padding:8px 10px;border:1px solid #3a2b1d;background:#100c08;box-sizing:border-box}.private-message.mine{margin-left:auto;border-color:#624728;background:#171006}.private-message p{margin:0;color:#c8bba9;font-size:9px;line-height:1.5;overflow-wrap:anywhere}.private-message small{display:block;margin-top:5px;color:#665e54;font-size:6px}.private-message.mine small{text-align:right}
.private-message-form{display:grid;grid-template-columns:minmax(0,1fr) 85px;gap:8px;padding:10px;border-top:1px solid #38291b;background:#0d0907}.private-message-form textarea{resize:none;min-width:0;box-sizing:border-box;padding:8px;background:#070504;border:1px solid #4a3622;color:#d1c2ae;font:9px Arial;line-height:1.4}.private-message-form .button{width:100%}
.message-thread-empty,.messages-empty{display:grid;place-items:center;align-content:center;min-height:180px;padding:20px;text-align:center;color:#766b5e;font-size:8px;line-height:1.7}.message-thread-empty b{color:#b69465;font-size:12px}.message-thread-empty span{margin-top:7px}.message-role{display:inline-block;padding:1px 4px;border:1px solid #51402d;font:700 5px Arial;vertical-align:middle}.message-role.owner{color:#ffe09a;border-color:#9d6c2a}.message-role.admin{color:#dfb8f7;border-color:#714b87}.message-role.moderator{color:#bdeaff;border-color:#34738e}.profile-message-button{width:100%;margin-top:10px}
@media(max-width:700px){.messages-layout{grid-template-columns:1fr}.message-inbox{border-right:0}.message-thread{max-height:520px}.message-thread-head .message-back{display:block}.private-message-list{min-height:280px}.private-message-form{grid-template-columns:1fr}.private-message{max-width:88%}}

/* V0.9.9.4 — Messages player finder */
.message-player-search{margin:0 0 10px;padding:10px;border:1px solid #3d2d1d;background:#0c0907;box-sizing:border-box}
.message-player-search>div:first-child{display:flex;align-items:baseline;gap:9px;margin-bottom:8px}.message-player-search b{font-size:9px;color:#c29a64}.message-player-search small{font-size:7px;color:#766b5e}
.message-search-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:7px}.message-search-row input{min-width:0;padding:8px 9px;border:1px solid #4b3723;background:#070504;color:#d4c3aa;font:9px Arial;box-sizing:border-box}.message-search-row .button{width:100%}
.message-search-results{margin-top:7px;border:1px solid #302317;background:#080604;max-height:210px;overflow-y:auto}.message-search-results.hidden{display:none}
.message-search-player{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:0;border-bottom:1px solid #2c2117;background:transparent;color:#c8b79f;text-align:left;cursor:pointer}.message-search-player:last-child{border-bottom:0}.message-search-player:hover{background:#171008}.message-search-player span{min-width:0}.message-search-player b{display:block;font-size:9px}.message-search-player small{display:block;margin-top:3px;font-size:6px}.message-search-player em{font:700 7px Arial;font-style:normal;color:#b98c55;white-space:nowrap}.message-search-note{padding:10px;color:#766b5e;font-size:8px;text-align:center}
@media(max-width:700px){.message-player-search>div:first-child{display:block}.message-player-search small{display:block;margin-top:4px}.message-search-row{grid-template-columns:1fr}}

/* V0.9.9.5 — Messages stability */
.message-player-search,.message-search-row,.message-search-results{contain:layout}
#messagePlayerSearch{position:relative;z-index:2}
.messages-loading{display:grid;place-items:center;min-height:330px;color:#8d7b65;font-size:8px;letter-spacing:.5px}

/* V0.9.9.6 — stable private-message thread */
.message-thread{min-width:0;width:100%;box-sizing:border-box}
.messages-loading{width:100%;min-height:360px;box-sizing:border-box}
.message-thread-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:330px;padding:25px;box-sizing:border-box;text-align:center}
.message-thread-error b{font-size:10px;color:#b77d68}.message-thread-error span{max-width:360px;font-size:8px;line-height:1.5;color:#817365}.message-thread-error .button{width:110px;margin-top:4px}

/* V0.9.9.7 — private message readability + unread menu count */
#messageUnreadBadge{
 display:inline-grid!important;
 place-items:center!important;
 min-width:20px!important;
 height:18px!important;
 padding:0 5px!important;
 box-sizing:border-box!important;
 border:1px solid #4b3928!important;
 border-radius:9px!important;
 background:#15100b!important;
 color:#b8a58e!important;
 font:700 8px Arial!important;
 font-style:normal!important;
 line-height:1!important;
}
#messageUnreadBadge.has-unread{
 background:#7d241c!important;
 border-color:#b04b3c!important;
 color:#fff!important;
}
.private-message{
 padding:10px 12px!important;
}
.private-message p{
 font-size:12px!important;
 line-height:1.55!important;
}
.private-message small{
 margin-top:6px!important;
 font-size:7px!important;
}
.private-message-form textarea{
 min-height:58px!important;
 padding:10px!important;
 font-size:12px!important;
 line-height:1.45!important;
}
.message-thread-head b{font-size:12px!important}
.message-thread-head small{font-size:7px!important}
.message-conversation b{font-size:10px!important}
.message-conversation small{font-size:8px!important;line-height:1.35!important}
.message-inbox-head{font-size:9px!important}
.message-inbox-head span{font-size:8px!important}

/* V0.9.9.8 — live private messages */
#messageUnreadBadge.has-unread{animation:messageUnreadPulse 1.6s ease-in-out infinite}
@keyframes messageUnreadPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* V0.9.9.9 — social notifications, controls, emoji + GIF */
.message-thread-identity{min-width:0;flex:1}.message-thread-tools{display:flex;gap:4px;margin-left:auto}.message-thread-tools button,.message-compose-tools button{border:1px solid #4b3824;background:#100b07;color:#9f896d;font:700 6px Arial;padding:5px 6px;cursor:pointer}.message-thread-tools button:hover,.message-compose-tools button:hover{color:#e0b978;border-color:#76532c}
.private-message-form{grid-template-columns:minmax(0,1fr) 85px!important}.message-compose-tools{grid-column:1/-1;display:flex;gap:5px;margin-bottom:-2px}
.message-media-panel{padding:8px 10px;border-top:1px solid #38291b;background:#0b0806}.message-media-panel.hidden{display:none}.emoji-picker{display:flex;flex-wrap:wrap;gap:4px}.emoji-picker button{width:31px;height:29px;border:1px solid #3e2e20;background:#100c08;font-size:16px;cursor:pointer}.emoji-picker button:hover{background:#1d140b}
.gif-url-picker b,.gif-url-picker span{display:block}.gif-url-picker b{font-size:8px;color:#c69a61}.gif-url-picker span{margin:3px 0 7px;font-size:7px;color:#766a5d}.gif-url-picker>div{display:grid;grid-template-columns:minmax(0,1fr) 85px;gap:6px}.gif-url-picker input{min-width:0;padding:7px;border:1px solid #4a3622;background:#070504;color:#d0c0aa;font-size:8px}
.private-message-gif{display:block;max-width:280px;max-height:220px;width:auto;height:auto;border:1px solid #443222;background:#080604}
.pm-live-toast{position:fixed;right:18px;bottom:18px;z-index:99999;display:block;width:280px;padding:11px 13px;border:1px solid #78522d;background:#110c08;color:#cdbb9f;text-align:left;box-shadow:0 8px 30px #000;font-family:Arial;cursor:pointer}.pm-live-toast b{display:block;color:#b88248;font-size:7px;letter-spacing:.8px}.pm-live-toast strong{display:block;margin:4px 0;color:#f0c886;font-size:11px}.pm-live-toast span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;color:#91816e}
@media(max-width:700px){.message-thread-tools{flex-wrap:wrap;justify-content:flex-end}.private-message-form{grid-template-columns:1fr!important}.private-message-gif{max-width:100%}.pm-live-toast{right:8px;bottom:8px;width:calc(100vw - 16px);box-sizing:border-box}.gif-url-picker>div{grid-template-columns:1fr}}

/* V0.9.9.10 — stable message composer / compact always-visible emoji strip */
.message-thread-head{gap:10px!important;min-height:48px!important;box-sizing:border-box!important}
.message-thread-tools{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;align-items:center!important}
.message-thread-tools button{
 min-height:26px!important;padding:5px 8px!important;border:1px solid #674a2c!important;
 background:#171008!important;color:#d3b58e!important;font-size:7px!important;letter-spacing:.25px!important;
 white-space:nowrap!important
}
.private-message-form{
 display:block!important;width:100%!important;padding:9px 10px 8px!important;box-sizing:border-box!important;
 border-top:1px solid #38291b!important;background:#0d0907!important
}
.message-emoji-strip{
 display:flex!important;align-items:center!important;gap:2px!important;width:100%!important;min-width:0!important;
 margin:0 0 7px!important;padding:4px 5px!important;box-sizing:border-box!important;overflow-x:auto!important;
 overflow-y:hidden!important;border:1px solid #302318!important;background:#090604!important;scrollbar-width:thin
}
.message-emoji-strip button{
 flex:0 0 24px!important;width:24px!important;height:23px!important;min-width:24px!important;padding:0!important;
 border:1px solid transparent!important;background:transparent!important;font-size:12px!important;line-height:21px!important;
 text-align:center!important;cursor:pointer!important
}
.message-emoji-strip button:hover{border-color:#594027!important;background:#181008!important}
.message-compose-row{display:grid!important;grid-template-columns:minmax(0,1fr) 88px!important;gap:7px!important;width:100%!important;box-sizing:border-box!important}
.message-compose-row textarea{
 display:block!important;width:100%!important;min-width:0!important;min-height:58px!important;max-height:120px!important;
 margin:0!important;padding:9px 10px!important;box-sizing:border-box!important;resize:vertical!important;
 border:1px solid #4a3622!important;background:#070504!important;color:#ded0bd!important;font-size:12px!important;line-height:1.45!important
}
.message-compose-actions{display:grid!important;grid-template-rows:1fr 1fr!important;gap:5px!important;min-width:0!important}
.message-compose-actions button{width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;font-size:8px!important}
.message-gif-toggle{border:1px solid #674a2c!important;background:#171008!important;color:#d5b889!important;font-weight:800!important;cursor:pointer!important}
.message-gif-panel{
 display:grid!important;grid-template-columns:minmax(0,1fr) 88px!important;gap:7px!important;width:100%!important;
 margin:0 0 7px!important;padding:7px!important;box-sizing:border-box!important;border:1px solid #3c2b1c!important;background:#0a0705!important
}
.message-gif-panel.hidden{display:none!important}
.message-gif-panel input{width:100%!important;min-width:0!important;padding:7px 8px!important;box-sizing:border-box!important;border:1px solid #4a3622!important;background:#070504!important;color:#d6c6af!important;font-size:8px!important}
.message-gif-panel .button{width:100%!important;margin:0!important;font-size:7px!important}
.message-compose-hint{display:block!important;margin-top:5px!important;color:#655c51!important;font-size:6px!important;letter-spacing:.35px!important;text-align:right!important}
@media(max-width:700px){
 .message-thread-head{align-items:flex-start!important}.message-thread-tools{flex-wrap:wrap!important}
 .message-thread-tools button{font-size:6px!important;padding:4px 6px!important}
 .message-compose-row{grid-template-columns:minmax(0,1fr) 72px!important}
 .message-gif-panel{grid-template-columns:1fr!important}
 .message-emoji-strip button{flex-basis:23px!important;width:23px!important;min-width:23px!important;font-size:11px!important}
}

/* V0.9.9.11 — GIF embed reliability / graceful hotlink failure */
.private-message-gif-link{display:inline-block;position:relative;max-width:100%;min-width:110px;min-height:48px;border:1px solid #443222;background:#080604;text-decoration:none;box-sizing:border-box}
.private-message-gif-link .private-message-gif{display:block;max-width:320px!important;max-height:260px!important;width:auto;height:auto;border:0!important}
.private-message-gif-fallback{display:none;padding:14px 12px;color:#c09b6b;font:700 7px Arial;letter-spacing:.35px;text-align:center}
.private-message-gif-link.failed .private-message-gif-fallback{display:block}
.private-message-gif-link.loaded{min-width:0;min-height:0}
@media(max-width:700px){.private-message-gif-link .private-message-gif{max-width:100%!important}}

/* V0.9.9.12 — searchable GIF picker */
.message-gif-panel{display:block!important;width:100%!important;margin:0 0 7px!important;padding:8px!important;box-sizing:border-box!important;border:1px solid #3c2b1c!important;background:#090604!important}
.message-gif-panel.hidden{display:none!important}
.gif-search-bar{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px;margin-bottom:7px}
.gif-search-bar input{width:100%;min-width:0;padding:8px 9px;box-sizing:border-box;border:1px solid #4a3622;background:#070504;color:#ded0bd;font-size:9px}
.gif-search-bar .button{width:100%!important;margin:0!important;font-size:7px!important}
.message-gif-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-height:245px;overflow-y:auto;overflow-x:hidden;padding:3px;background:#060403;border:1px solid #2d2117;box-sizing:border-box}
.gif-search-result{position:relative;display:block;min-width:0;height:82px;padding:0;border:1px solid #302318;background:#0d0906;overflow:hidden;cursor:pointer}
.gif-search-result:hover{border-color:#8a6236}.gif-search-result.sending{opacity:.45;pointer-events:none}
.gif-search-result img{display:block;width:100%;height:100%;object-fit:cover}
.gif-search-note{grid-column:1/-1;padding:28px 12px;text-align:center;color:#817363;font-size:8px}.gif-search-error{color:#bd796b}
.gif-provider-credit{margin-top:5px;color:#5f564d;font-size:6px;text-align:right;letter-spacing:.2px}
@media(max-width:700px){.message-gif-results{grid-template-columns:repeat(3,minmax(0,1fr));max-height:220px}.gif-search-result{height:72px}}

/* V0.9.9.13 — dedicated in-game GIF picker window */
.gif-picker-modal{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important;background:rgba(0,0,0,.72)!important}
.gif-picker-modal.hidden{display:none!important}
.gif-picker-window{width:min(680px,94vw)!important;max-height:min(650px,88vh)!important;display:flex!important;flex-direction:column!important;border:1px solid #76532e!important;background:#0b0806!important;box-shadow:0 18px 65px #000!important;overflow:hidden!important}
.gif-picker-titlebar{display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto!important;padding:11px 13px!important;border-bottom:1px solid #5b4025!important;background:#171008!important}
.gif-picker-titlebar b{display:block!important;color:#e0b573!important;font-size:12px!important;letter-spacing:.8px!important}
.gif-picker-titlebar span{display:block!important;margin-top:2px!important;color:#746657!important;font-size:6px!important;letter-spacing:.6px!important}
.gif-picker-titlebar button{width:28px!important;height:28px!important;padding:0!important;border:1px solid #614529!important;background:#0b0705!important;color:#c9a675!important;font-size:18px!important;line-height:24px!important;cursor:pointer!important}
.gif-picker-body{min-height:0!important;padding:12px!important;box-sizing:border-box!important;overflow:hidden!important}
.gif-picker-body .gif-search-bar{grid-template-columns:minmax(0,1fr) 95px!important;margin-bottom:10px!important}
.gif-picker-body .gif-search-bar input{font-size:11px!important;padding:10px!important}
.gif-picker-body .gif-search-bar .button{font-size:8px!important}
.gif-picker-body .message-gif-results{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;max-height:min(440px,60vh)!important;padding:6px!important}
.gif-picker-body .gif-search-result{height:105px!important}
.gif-picker-body .gif-provider-credit{margin-top:7px!important;font-size:6px!important}
@media(max-width:700px){
 .gif-picker-modal{padding:8px!important;align-items:flex-end!important}
 .gif-picker-window{width:100%!important;max-height:88vh!important}
 .gif-picker-body .message-gif-results{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .gif-picker-body .gif-search-result{height:90px!important}
}

/* V0.9.9.15 — restored private-message notification toast */
.pm-live-toast{
 display:block!important;visibility:visible!important;opacity:1!important;
 animation:pmToastIn .22s ease-out!important;
}
@keyframes pmToastIn{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}

/* V0.9.9.16 — full-height Messages workspace */
#content:has(.messages-box){
 display:flex!important;
 flex-direction:column!important;
 min-height:calc(100vh - 150px)!important;
}
#content:has(.messages-box) .breadcrumb{flex:0 0 auto!important}
#content:has(.messages-box) .messages-box{
 display:flex!important;
 flex-direction:column!important;
 flex:1 1 auto!important;
 min-height:0!important;
 margin-bottom:0!important;
 box-sizing:border-box!important;
}
#content:has(.messages-box) .messages-box>h2,
#content:has(.messages-box) .message-player-search{flex:0 0 auto!important}
#content:has(.messages-box) .messages-layout{
 flex:1 1 auto!important;
 min-height:470px!important;
 height:auto!important;
 align-items:stretch!important;
}
#content:has(.messages-box) .message-inbox{
 display:flex!important;
 flex-direction:column!important;
 min-height:0!important;
}
#content:has(.messages-box) #messageConversationList{
 flex:1 1 auto!important;
 min-height:0!important;
 overflow-y:auto!important;
}
#content:has(.messages-box) .message-thread{
 height:100%!important;
 max-height:none!important;
 min-height:0!important;
}
#content:has(.messages-box) .private-message-list{
 flex:1 1 auto!important;
 min-height:260px!important;
}
#content:has(.messages-box) .message-thread-empty{
 height:100%!important;
 min-height:470px!important;
 box-sizing:border-box!important;
}
@media(max-width:700px){
 #content:has(.messages-box){min-height:auto!important}
 #content:has(.messages-box) .messages-layout{min-height:520px!important}
 #content:has(.messages-box) .message-thread{min-height:480px!important}
}

/* V0.9.9.17 — actual viewport-height Messages fix
   Do not depend on #content:has(); size the real messages workspace directly. */
.messages-box{
 display:flex!important;
 flex-direction:column!important;
 min-height:calc(100vh - 185px)!important;
 height:calc(100vh - 185px)!important;
 max-height:none!important;
 box-sizing:border-box!important;
}
.messages-box>h2,.messages-box>.message-player-search{flex:0 0 auto!important}
.messages-box .messages-layout{
 display:grid!important;
 flex:1 1 auto!important;
 min-height:0!important;
 height:0!important;
 max-height:none!important;
 align-items:stretch!important;
 overflow:hidden!important;
}
.messages-box .message-inbox,
.messages-box .message-thread,
.messages-box .message-thread-empty{
 min-height:0!important;
 height:100%!important;
 max-height:none!important;
 box-sizing:border-box!important;
}
.messages-box .message-inbox{
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
}
.messages-box #messageConversationList{
 flex:1 1 auto!important;
 min-height:0!important;
 overflow-y:auto!important;
}
.messages-box .message-thread{
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
}
.messages-box .message-thread-head,
.messages-box .private-message-form,
.messages-box .message-media-panel{flex:0 0 auto!important}
.messages-box .private-message-list{
 flex:1 1 auto!important;
 min-height:0!important;
 height:auto!important;
 max-height:none!important;
 overflow-y:auto!important;
}
.messages-box .message-thread-empty{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}
@media(max-width:700px){
 .messages-box{
  height:auto!important;
  min-height:calc(100vh - 120px)!important;
 }
 .messages-box .messages-layout{
  height:auto!important;
  min-height:520px!important;
  overflow:visible!important;
 }
 .messages-box .message-inbox,.messages-box .message-thread,.messages-box .message-thread-empty{
  min-height:480px!important;height:auto!important;
 }
}

/* V0.9.9.18 — measured Messages height
   JS measures the real panel top, so header/news/breadcrumb heights no longer need guessing. */
.messages-box{
 height:var(--messages-live-height,520px)!important;
 min-height:var(--messages-live-height,520px)!important;
 max-height:var(--messages-live-height,520px)!important;
}
.messages-box .messages-layout{
 flex:1 1 0!important;
 height:auto!important;
 min-height:0!important;
}
@media(max-width:700px){
 .messages-box{
  height:auto!important;
  max-height:none!important;
  min-height:520px!important;
 }
}

/* V0.9.9.19 — empty Messages state fills the same height as a real conversation */
.messages-box .messages-layout{
 grid-auto-rows:minmax(0,1fr)!important;
}
.messages-box .message-thread-empty{
 align-self:stretch!important;
 width:100%!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 box-sizing:border-box!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
}
.messages-box .message-thread-empty b,
.messages-box .message-thread-empty span{
 flex:0 0 auto!important;
}
.messages-box .message-inbox{
 align-self:stretch!important;
 height:auto!important;
}

/* V0.9.9.20 — stable Messages geometry after async renders */
.messages-box{overflow:hidden!important}
.messages-box .messages-layout{
 grid-template-rows:minmax(0,1fr)!important;
 grid-auto-rows:unset!important;
 overflow:hidden!important;
}
.messages-box .message-inbox,
.messages-box .message-thread,
.messages-box .message-thread-empty{
 align-self:stretch!important;
 min-height:0!important;
 height:100%!important;
 max-height:100%!important;
 overflow:hidden!important;
}
.messages-box .message-thread-empty{display:flex!important}

/* V0.9.9.21 — deterministic Messages workspace
   One height for empty, short and long conversations; content scrolls inside it. */
.messages-box{
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 overflow:visible!important;
}
.messages-box .messages-layout{
 display:grid!important;
 grid-template-columns:210px minmax(0,1fr)!important;
 grid-template-rows:620px!important;
 height:620px!important;
 min-height:620px!important;
 max-height:620px!important;
 align-items:stretch!important;
 overflow:hidden!important;
}
.messages-box .message-inbox,
.messages-box .message-thread,
.messages-box .message-thread-empty{
 height:620px!important;
 min-height:620px!important;
 max-height:620px!important;
 align-self:stretch!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
}
.messages-box .message-inbox,
.messages-box .message-thread{
 display:flex!important;
 flex-direction:column!important;
}
.messages-box #messageConversationList,
.messages-box .private-message-list{
 flex:1 1 0!important;
 min-height:0!important;
 height:auto!important;
 max-height:none!important;
 overflow-y:auto!important;
}
.messages-box .message-thread-empty{
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
}
.messages-box .message-thread-head,
.messages-box .private-message-form{
 flex:0 0 auto!important;
}
@media(max-width:700px){
 .messages-box .messages-layout{
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
 }
 .messages-box .message-inbox,.messages-box .message-thread,.messages-box .message-thread-empty{
  height:520px!important;min-height:520px!important;max-height:520px!important;
 }
}

/* V0.9.9.22 — slightly taller deterministic Messages workspace */
@media(min-width:701px){
 .messages-box .messages-layout{
  grid-template-rows:700px!important;
  height:700px!important;
  min-height:700px!important;
  max-height:700px!important;
 }
 .messages-box .message-inbox,
 .messages-box .message-thread,
 .messages-box .message-thread-empty{
  height:700px!important;
  min-height:700px!important;
  max-height:700px!important;
 }
}

/* V0.9.9.23 — final desktop Messages height tuning */
@media(min-width:701px){
 .messages-box .messages-layout{
  grid-template-rows:760px!important;
  height:760px!important;
  min-height:760px!important;
  max-height:760px!important;
 }
 .messages-box .message-inbox,
 .messages-box .message-thread,
 .messages-box .message-thread-empty{
  height:760px!important;
  min-height:760px!important;
  max-height:760px!important;
 }
}

/* V0.9.9.26 — purchase/result window containment */
.operation-overlay,.result-overlay,.action-overlay{
 overflow-y:auto!important;
 padding:18px!important;
 box-sizing:border-box!important;
}
.operation-window,.result-window,.action-window{
 width:min(560px,calc(100vw - 36px))!important;
 max-width:560px!important;
 max-height:calc(100vh - 36px)!important;
 margin:auto!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
 display:flex!important;
 flex-direction:column!important;
}
.operation-window>*,
.result-window>*,
.action-window>*{min-width:0!important}
.operation-window .operation-body,
.operation-window .result-body,
.result-window .result-body,
.action-window .action-body{
 min-height:0!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
}
.operation-window button,.result-window button,.action-window button{
 max-width:100%!important;
 box-sizing:border-box!important;
}

/* V0.9.9.27 — actual Black Market / Vehicle purchase popup fix */
.purchase-overlay{
 display:flex!important;align-items:center!important;justify-content:center!important;
 position:fixed!important;inset:0!important;padding:18px!important;box-sizing:border-box!important;overflow:auto!important;
}
.purchase-overlay .purchase-modal{
 display:grid!important;
 grid-template-columns:120px minmax(0,1fr) 34px!important;
 grid-template-areas:"stamp stamp close" "visual copy copy" "actions actions actions"!important;
 column-gap:18px!important;row-gap:12px!important;align-items:start!important;
 width:min(660px,calc(100vw - 36px))!important;min-height:0!important;height:auto!important;
 max-height:calc(100vh - 36px)!important;padding:18px 20px!important;margin:auto!important;
 overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important;
}
.purchase-overlay .purchase-modal>.purchase-stamp{
 grid-area:stamp!important;position:relative!important;top:auto!important;left:auto!important;
 align-self:center!important;justify-self:start!important;margin:0!important;transform:rotate(-2deg)!important;
}
.purchase-overlay .purchase-modal>.purchase-close{
 grid-area:close!important;position:static!important;justify-self:end!important;align-self:start!important;margin:0!important;
}
.purchase-overlay .purchase-modal>.purchase-item-icon,
.purchase-overlay .purchase-modal>.vehicle-big-icon,
.purchase-overlay .purchase-modal>.property-big-icon{
 grid-area:visual!important;align-self:start!important;justify-self:stretch!important;
 width:120px!important;max-width:120px!important;min-width:0!important;
 height:110px!important;min-height:110px!important;margin:0!important;box-sizing:border-box!important;
}
.purchase-overlay .purchase-modal>.purchase-copy{
 grid-area:copy!important;align-self:start!important;width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;box-sizing:border-box!important;
}
.purchase-overlay .purchase-modal>.purchase-copy h2{margin:2px 0 8px!important;width:100%!important}
.purchase-overlay .purchase-modal>.purchase-actions{
 grid-area:actions!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
 gap:7px!important;width:100%!important;margin:2px 0 0!important;padding-top:9px!important;box-sizing:border-box!important;
}
.purchase-overlay .purchase-modal>.purchase-actions .button{width:100%!important;min-width:0!important;margin:0!important}
@media(max-width:560px){
 .purchase-overlay{padding:7px!important}
 .purchase-overlay .purchase-modal{
  grid-template-columns:1fr 34px!important;
  grid-template-areas:"stamp close" "visual visual" "copy copy" "actions actions"!important;
  width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important;padding:14px!important;
 }
 .purchase-overlay .purchase-modal>.purchase-item-icon,
 .purchase-overlay .purchase-modal>.vehicle-big-icon,
 .purchase-overlay .purchase-modal>.property-big-icon{
  justify-self:center!important;width:110px!important;max-width:110px!important;height:100px!important;min-height:100px!important;
 }
}

#tutorialMission{position:fixed;right:18px;bottom:18px;z-index:90000;width:330px;max-width:calc(100vw - 36px)}
.tutorial-mission{border:1px solid #6f4c29;background:#0d0906;box-shadow:0 12px 42px #000;padding:12px;color:#c9b9a4}
.tutorial-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #342517;padding-bottom:7px;margin-bottom:9px;color:#a77a43;font-size:7px;letter-spacing:.8px}
.tutorial-top button{border:0;background:transparent;color:#8e7962;font-size:17px;cursor:pointer}
.tutorial-mission>b{display:block;color:#e0b573;font-size:11px;margin-bottom:6px}.tutorial-mission p{margin:0 0 11px;font-size:8px;line-height:1.6;color:#9e8d79}
.tutorial-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tutorial-actions .button{width:100%;margin:0;font-size:7px}.tutorial-actions .secondary{opacity:.72}
@media(max-width:700px){#tutorialMission{right:8px;bottom:8px;width:calc(100vw - 16px)}}

/* V0.9.9.32 — expanded Player Profile */
.profile-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.profile-overview>.box{margin:0;min-width:0}
.profile-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.profile-status-grid>div{border:1px solid #342517;background:#0a0806;padding:10px;min-height:76px;box-sizing:border-box}
.profile-status-grid small{display:block;color:#80684d;font-size:7px;letter-spacing:.7px;margin-bottom:5px}
.profile-status-grid b{display:block;color:#d9ae6d;font-size:16px;margin-bottom:4px}
.profile-status-grid span{display:block;color:#8e806e;font-size:7px;line-height:1.5}
@media(max-width:800px){.profile-overview{grid-template-columns:1fr}.profile-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.profile-status-grid{grid-template-columns:1fr}}

/* V0.9.9.43 global owner refresh countdown */
#globalRefreshCountdown{position:fixed;inset:0;z-index:250000;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:20px}
.global-refresh-card{width:min(520px,calc(100vw - 40px));box-sizing:border-box;text-align:center;background:#0d0906;border:1px solid #76502b;box-shadow:0 20px 80px #000;padding:30px 24px;color:#bba990}
.global-refresh-card small{display:block;color:#9a6c3a;letter-spacing:1.4px;font-size:8px;margin-bottom:8px}
.global-refresh-card h2{color:#e0b573;font-size:18px;margin:0 0 10px}.global-refresh-card p{font-size:9px;line-height:1.7;margin:0 auto 18px;max-width:390px}
.global-refresh-card strong{display:block;color:#e0b573;font-size:52px;line-height:1;margin:8px 0}.global-refresh-card span{display:block;font-size:7px;letter-spacing:1.2px;color:#806b53}

/* V0.9.9.44 maintenance gate */
#maintenanceLock{position:fixed;inset:0;z-index:260000;background:#050403;display:grid;place-items:center;padding:20px}
.maintenance-lock-card{width:min(600px,calc(100vw - 40px));box-sizing:border-box;text-align:center;background:#0d0906;border:1px solid #76502b;box-shadow:0 24px 90px #000;padding:38px 28px;color:#bba990}
.maintenance-lock-card small{display:block;color:#9a6c3a;font-size:8px;letter-spacing:1.5px;margin-bottom:10px}
.maintenance-lock-card h1{font-size:25px;color:#e0b573;margin:0 0 12px}.maintenance-lock-card p{font-size:10px;line-height:1.7;margin:0 auto 16px;max-width:440px}
.maintenance-lock-card>div{border:1px solid #513820;background:#090705;padding:11px;margin:18px 0;color:#c99655;font-size:9px;letter-spacing:1px}
.maintenance-lock-card>span{display:block;margin-top:14px;font-size:7px;color:#756654}.maintenance-lock-card .button{min-width:150px}

/* V0.9.9.45 dedicated maintenance countdown */
#maintenanceCountdown{position:fixed;inset:0;z-index:270000;background:radial-gradient(circle at center,#241006 0,#090504 52%,#020202 100%);display:grid;place-items:center;padding:20px}
.maintenance-countdown-card{width:min(650px,calc(100vw - 36px));box-sizing:border-box;text-align:center;border:2px solid #8c3d20;background:#100806;box-shadow:0 0 0 5px #080403,0 25px 100px #000;padding:38px 30px;color:#c5ad96}
.maintenance-countdown-card small{display:block;font-size:8px;letter-spacing:2px;color:#a55c37;margin-bottom:10px}
.maintenance-countdown-card h1{font-size:28px;letter-spacing:1px;color:#e6b17b;margin:0 0 14px}
.maintenance-warning-line{border-top:1px solid #6c301d;border-bottom:1px solid #6c301d;padding:10px;color:#d26d42;font-size:10px;letter-spacing:2px;margin-bottom:18px}
.maintenance-countdown-card p{max-width:470px;margin:0 auto 20px;font-size:10px;line-height:1.8}
.maintenance-countdown-card strong{display:block;font-size:72px;line-height:1;color:#ef8b55;text-shadow:0 0 25px rgba(239,139,85,.25);margin:10px 0}
.maintenance-countdown-card>span{display:block;font-size:8px;letter-spacing:2px;color:#a98168}
.maintenance-countdown-foot{margin-top:22px;padding-top:12px;border-top:1px solid #392218;font-size:8px;color:#766154}

/* V0.9.9.45c maintenance owner access */
.maintenance-owner-login{display:inline-flex!important;justify-content:center;align-items:center;min-width:170px;margin:18px auto 4px;border-color:#8d6032!important;color:#e0b573!important}
.maintenance-owner-login:hover{filter:brightness(1.12)}

/* V0.9.9.45d — animated maintenance atmosphere */
#maintenanceLock,#maintenanceCountdown{
 background:
   radial-gradient(circle at 18% 24%,rgba(150,54,24,.34),transparent 34%),
   radial-gradient(circle at 82% 72%,rgba(125,76,22,.28),transparent 38%),
   radial-gradient(circle at 55% 12%,rgba(94,24,31,.30),transparent 32%),
   linear-gradient(125deg,#120604,#271007,#17100a,#26080c,#0d0805);
 background-size:180% 180%,170% 170%,190% 190%,400% 400%;
 animation:underworldMaintenanceFlow 12s ease-in-out infinite;
 overflow:hidden;
}
#maintenanceLock::before,#maintenanceCountdown::before{
 content:"";position:absolute;inset:-25%;pointer-events:none;
 background:
   radial-gradient(ellipse at center,rgba(224,144,72,.10),transparent 42%),
   linear-gradient(105deg,transparent 34%,rgba(255,174,92,.055) 48%,transparent 62%);
 animation:underworldMaintenanceGlow 9s ease-in-out infinite alternate;
 transform:rotate(-5deg);
}
#maintenanceLock::after,#maintenanceCountdown::after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.009) 1px,transparent 1px);
 background-size:42px 42px;
 mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 90%);
}
#maintenanceLock .maintenance-lock-card,#maintenanceCountdown .maintenance-countdown-card{
 position:relative;z-index:2;
 backdrop-filter:blur(8px);
 background:linear-gradient(145deg,rgba(18,9,6,.94),rgba(10,6,5,.88));
}
@keyframes underworldMaintenanceFlow{
 0%{background-position:0% 45%,100% 30%,50% 0%,0% 50%}
 35%{background-position:35% 15%,65% 75%,85% 30%,55% 45%}
 70%{background-position:75% 65%,25% 35%,20% 80%,100% 55%}
 100%{background-position:0% 45%,100% 30%,50% 0%,0% 50%}
}
@keyframes underworldMaintenanceGlow{
 0%{transform:translate3d(-5%,-2%,0) rotate(-5deg) scale(1);opacity:.65}
 100%{transform:translate3d(7%,5%,0) rotate(4deg) scale(1.15);opacity:1}
}
@media (prefers-reduced-motion:reduce){
 #maintenanceLock,#maintenanceCountdown,#maintenanceLock::before,#maintenanceCountdown::before{animation:none}
}

/* V0.9.9.45e — maintenance perimeter snake */
.maintenance-snake{position:absolute;inset:12px;z-index:1;pointer-events:none;filter:drop-shadow(0 0 9px rgba(225,126,59,.35))}
.maintenance-snake svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.snake-track{fill:none;stroke:rgba(117,67,37,.13);stroke-width:5}
.snake-body{fill:none;stroke:#b86734;stroke-width:7;stroke-linecap:round;stroke-dasharray:92 908;animation:snakeRun 10s linear infinite}
.snake-head{position:absolute;left:1.8%;top:2.8%;width:34px;height:17px;border-radius:55% 70% 70% 55%;background:linear-gradient(90deg,#9c4f2a,#d18446);box-shadow:0 0 15px rgba(221,127,67,.55);animation:snakeHeadRun 10s linear infinite;transform-origin:center}
.snake-head:after{content:"";position:absolute;right:-10px;top:7px;width:11px;height:2px;background:#d46b4e;box-shadow:6px -3px 0 -0.5px #d46b4e,6px 3px 0 -0.5px #d46b4e;transform:rotate(0deg)}
.snake-head i{position:absolute;right:8px;top:3px;width:3px;height:3px;border-radius:50%;background:#f5c57f;box-shadow:0 0 5px #f5c57f}
.snake-head i+ i{top:11px}.snake-head b{position:absolute;left:5px;top:6px;width:15px;height:5px;border-top:2px solid rgba(62,26,15,.55);border-radius:50%}
@keyframes snakeRun{to{stroke-dashoffset:-1000}}
/* Head travels around the visible viewport border: top → right → bottom → left */
@keyframes snakeHeadRun{
 0%{left:2%;top:2%;transform:rotate(0deg)}
 24%{left:95%;top:2%;transform:rotate(0deg)}
 25%{left:96%;top:3%;transform:rotate(90deg)}
 49%{left:96%;top:94%;transform:rotate(90deg)}
 50%{left:95%;top:96%;transform:rotate(180deg)}
 74%{left:2%;top:96%;transform:rotate(180deg)}
 75%{left:1%;top:94%;transform:rotate(270deg)}
 99%{left:1%;top:3%;transform:rotate(270deg)}
 100%{left:2%;top:2%;transform:rotate(360deg)}
}
@media(max-width:650px){.maintenance-snake{inset:6px}.snake-head{width:27px;height:14px}.snake-body{stroke-width:5}}
@media(prefers-reduced-motion:reduce){.snake-body,.snake-head{animation:none}}

/* V0.9.9.47 password recovery */
.auth-forgot{margin-top:8px!important;color:#b98a58!important}
.auth-success{margin:10px 0;padding:10px;border:1px solid rgba(109,151,91,.45);background:rgba(70,105,55,.13);color:#a9c89b;font-size:9px;line-height:1.5}

/* V0.9.9.60 security audit */
.owner-audit-list{display:grid;gap:6px;margin-top:10px;max-height:390px;overflow:auto}
.owner-audit-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1fr);gap:4px 12px;padding:9px 10px;border:1px solid rgba(185,138,88,.18);background:rgba(0,0,0,.18);font-size:10px}
.owner-audit-row small{grid-column:1/-1;opacity:.72}

/* V0.9.9.70 — Owner Staff menu + expanded Settings */
.staff-menu-panel{border-color:rgba(176,116,59,.38);box-shadow:inset 0 0 22px rgba(113,55,22,.08)}
.staff-menu-panel h2 small{float:right;font-size:8px;opacity:.58;letter-spacing:.8px}
.settings-preferences{display:grid;gap:0}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid rgba(185,138,88,.13)}
.setting-row:last-child{border-bottom:0}.setting-row>div{display:grid;gap:3px}.setting-row b{font-size:11px;letter-spacing:.45px}.setting-row span{font-size:10px;opacity:.65}
.setting-toggle{position:relative;flex:0 0 42px;height:22px}.setting-toggle input{position:absolute;opacity:0}.setting-toggle i{position:absolute;inset:0;border:1px solid rgba(185,138,88,.35);background:#120d09;border-radius:12px;cursor:pointer}
.setting-toggle i:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#6e5744;transition:.16s}
.setting-toggle input:checked+i{background:rgba(139,85,42,.4);border-color:#b98a58}.setting-toggle input:checked+i:after{left:23px;background:#d0a26e}
.uw-compact .box{padding-top:12px;padding-bottom:12px}.uw-compact .data-table td,.uw-compact .data-table th{padding-top:6px;padding-bottom:6px}.uw-compact .menu-panel button{padding-top:6px;padding-bottom:6px}
.uw-reduced-motion *,.uw-reduced-motion *:before,.uw-reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.uw-no-message-notifications .message-toast,.uw-no-message-notifications .message-notification,.uw-no-message-notifications #messageNotification{display:none!important}

/* V0.9.9.71 Owner Control Center */
.owner-tools-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.owner-live-chip{font-size:8px;letter-spacing:1px;border:1px solid rgba(185,138,88,.35);padding:6px 8px}
.owner-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0;border-bottom:1px solid rgba(185,138,88,.18);padding-bottom:7px}.owner-tabs button{background:#120d09;border:1px solid rgba(185,138,88,.22);color:#9d8066;padding:8px 11px;font-size:9px;font-weight:700;cursor:pointer}.owner-tabs button.active{color:#e1b887;border-color:#b98a58;background:rgba(121,70,34,.22)}
.owner-tab-pane{display:none}.owner-tab-pane.active{display:block}.owner-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-control-grid label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid rgba(185,138,88,.16);background:rgba(0,0,0,.16);font-size:10px}.owner-control-grid select,.owner-broadcast-compose select{background:#120d09;color:#d5b18a;border:1px solid rgba(185,138,88,.3);padding:7px}
.owner-feature-toggle input{width:18px;height:18px}.owner-broadcast-compose{display:grid;grid-template-columns:1fr auto auto;gap:8px}.owner-broadcast-compose input{min-width:0;background:#100c09;color:#ddd;border:1px solid rgba(185,138,88,.28);padding:9px}
.global-game-broadcast{display:none;background:rgba(86,38,20,.96);border-bottom:1px solid rgba(218,154,87,.35)}.global-game-broadcast.show{display:block}.global-game-broadcast .wrap{display:flex;gap:12px;align-items:center;padding:8px 0;font-size:10px}.global-game-broadcast b{color:#e7ad6d;letter-spacing:.8px}
.setting-select-row select{background:#120d09;color:#d4b08b;border:1px solid rgba(185,138,88,.3);padding:7px}.street-msg-time{display:block;text-align:right;opacity:.42;font-size:8px;margin-top:3px}
@media(max-width:760px){.owner-control-grid{grid-template-columns:1fr}.owner-broadcast-compose{grid-template-columns:1fr}.owner-tabs{display:grid;grid-template-columns:repeat(2,1fr)}}

/* V0.9.9.72 — live boost banner + flowing announcement ticker */
.global-boost-status{display:none;border-bottom:1px solid rgba(216,154,80,.28);background:linear-gradient(90deg,rgba(35,18,10,.97),rgba(80,39,15,.97),rgba(35,18,10,.97));box-shadow:0 5px 18px rgba(0,0,0,.22);position:relative;z-index:25}
.global-boost-status.show{display:block}.global-boost-status .wrap{min-height:34px;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:5px 12px}.global-boost-status strong{font-size:9px;letter-spacing:1.4px;color:#d89a50}.global-boost-status small{font-size:8px;opacity:.55;letter-spacing:.5px}
.boost-chip{border:1px solid rgba(225,167,94,.35);background:rgba(0,0,0,.25);padding:5px 9px;font-size:10px;box-shadow:inset 0 0 12px rgba(201,124,53,.08)}.boost-chip b{color:#e6aa63;letter-spacing:.6px;margin-right:3px}
.global-game-broadcast{position:relative;overflow:hidden;display:none!important;align-items:stretch;background:rgba(55,25,13,.97);border-top:1px solid rgba(218,154,87,.2);border-bottom:1px solid rgba(218,154,87,.35);min-height:32px}
.global-game-broadcast.show{display:flex!important}.broadcast-label{position:relative;z-index:2;display:flex;align-items:center;flex:0 0 auto;padding:0 13px;background:#6b3218;color:#efbb7d;font-size:9px;font-weight:800;letter-spacing:1px;box-shadow:6px 0 12px rgba(0,0,0,.25)}
.broadcast-viewport{overflow:hidden;flex:1;display:flex;align-items:center;white-space:nowrap}.broadcast-track{display:inline-flex;align-items:center;min-width:max-content;animation:uwBroadcastFlow 22s linear infinite;will-change:transform}.broadcast-track span{display:inline-block;padding-left:80px;padding-right:80px;color:#e4c09a;font-size:10px;letter-spacing:.35px}
.global-game-broadcast:hover .broadcast-track{animation-play-state:paused}@keyframes uwBroadcastFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.uw-reduced-motion .broadcast-track{animation:none!important;transform:none!important}.uw-reduced-motion .broadcast-track span[aria-hidden="true"]{display:none}.uw-reduced-motion .broadcast-track span{padding-left:20px}
@media(max-width:700px){.global-boost-status .wrap{justify-content:flex-start}.global-boost-status small{display:none}.broadcast-label{padding:0 8px}.broadcast-track{animation-duration:18s}}

/* V0.9.9.72a — align announcement content with the NEWS content column */
.global-game-broadcast{padding-left:max(16px,calc((100% - 1180px)/2));padding-right:max(16px,calc((100% - 1180px)/2));box-sizing:border-box}
.global-game-broadcast .broadcast-label{margin-left:0}
@media(max-width:1220px){.global-game-broadcast{padding-left:16px;padding-right:16px}}
@media(max-width:700px){.global-game-broadcast{padding-left:10px;padding-right:10px}}

/* V0.9.9.73 — boosted reward values shown live on gameplay cards */
.live-boost-mark{display:inline-block;margin-left:4px;padding:1px 4px;border:1px solid rgba(222,156,74,.35);background:rgba(114,55,20,.28);color:#e5a75d!important;font-size:7px!important;letter-spacing:.45px;vertical-align:1px}

/* V0.9.9.75 — secondary announcement ticker */
.global-game-broadcast{min-height:24px!important;background:rgba(25,16,11,.96)!important;border-top:0!important;border-bottom:1px solid rgba(185,138,88,.18)!important}
.global-game-broadcast .broadcast-label{padding:0 10px!important;background:rgba(100,52,24,.72)!important;color:#dba66c!important;font-size:8px!important;letter-spacing:.9px!important;box-shadow:none!important}
.global-game-broadcast .broadcast-track span{font-size:9px!important;color:#c9ab8d!important;padding-top:5px;padding-bottom:5px}
.owner-broadcast-compose{grid-template-columns:minmax(180px,1fr) auto auto auto}
@media(max-width:900px){.owner-broadcast-compose{grid-template-columns:1fr 1fr}.owner-broadcast-compose input{grid-column:1/-1}}
@media(max-width:600px){.owner-broadcast-compose{grid-template-columns:1fr}}

/* V0.9.9.76 — sale events + premium announcement ticker */
.sale-price{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.sale-price del{opacity:.48;font-size:.82em}.sale-price>b{color:#e8b36d;font-size:1.05em}.sale-price small{padding:2px 4px;border:1px solid rgba(224,159,79,.4);background:rgba(112,52,18,.3);color:#e7a75d;font-size:7px;letter-spacing:.5px}.sale-event-chip{box-shadow:inset 0 0 14px rgba(222,139,54,.1),0 0 10px rgba(199,112,37,.08)}
.global-game-broadcast{padding-top:4px!important;padding-bottom:4px!important;background:linear-gradient(90deg,rgba(10,8,7,.98),rgba(39,22,13,.98),rgba(10,8,7,.98))!important;border-top:1px solid rgba(203,134,66,.13)!important;border-bottom:1px solid rgba(221,155,86,.27)!important;box-shadow:inset 0 1px rgba(255,255,255,.018),0 5px 18px rgba(0,0,0,.18)}
.broadcast-shell{width:100%;display:flex;align-items:stretch;min-height:30px;border:1px solid rgba(189,121,60,.18);background:rgba(0,0,0,.14);overflow:hidden}
.global-game-broadcast .broadcast-label{position:relative!important;display:flex!important;align-items:center!important;gap:6px!important;padding:0 12px!important;background:linear-gradient(100deg,rgba(112,49,20,.92),rgba(77,34,17,.76))!important;border-right:1px solid rgba(227,155,83,.25);color:#e7b071!important;white-space:nowrap;box-shadow:7px 0 18px rgba(0,0,0,.25)!important}
.broadcast-label i{width:6px;height:6px;border-radius:50%;background:#ef9b4a;box-shadow:0 0 0 3px rgba(239,155,74,.1),0 0 9px rgba(239,155,74,.65);animation:uwLivePulse 1.5s ease-in-out infinite}.broadcast-label span{font-size:7px;letter-spacing:1.2px;color:#f0a45c}.broadcast-label b{font-size:8px;letter-spacing:1px}
.broadcast-viewport{position:relative!important;min-width:0}.broadcast-track{animation:uwBroadcastPremium 28s linear infinite!important}.broadcast-track span{padding-left:110px!important;padding-right:110px!important;font-size:10px!important;font-weight:650;letter-spacing:.7px!important;color:#e1c19f!important;text-shadow:0 0 12px rgba(215,151,84,.12)}
.broadcast-fade{position:absolute;z-index:3;top:0;bottom:0;width:42px;pointer-events:none}.broadcast-fade.left{left:0;background:linear-gradient(90deg,rgba(29,18,12,1),rgba(29,18,12,0))}.broadcast-fade.right{right:0;background:linear-gradient(270deg,rgba(17,12,9,1),rgba(17,12,9,0))}
@keyframes uwBroadcastPremium{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes uwLivePulse{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}
.global-game-broadcast:hover .broadcast-track{animation-play-state:paused!important}.uw-reduced-motion .broadcast-label i{animation:none!important}.uw-reduced-motion .broadcast-track{animation:none!important;transform:none!important}
@media(max-width:700px){.broadcast-label b{display:none}.broadcast-track span{padding-left:55px!important;padding-right:55px!important}.broadcast-fade{width:24px}}

/* V0.9.9.92 player progression */
.progression-panel{margin-top:14px}.progression-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px}.progression-stats>div,.public-stats>div{padding:10px;border:1px solid rgba(190,150,80,.25);background:rgba(0,0,0,.2);text-align:center}.progression-stats b{display:block;font-size:18px}.progression-stats span{font-size:10px;opacity:.65}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.achievement-card{padding:10px;border:1px solid rgba(255,255,255,.08)}.achievement-card.unlocked{border-color:rgba(190,150,80,.5)}.achievement-card.locked{opacity:.45}.achievement-card b,.achievement-card span,.achievement-card small{display:block}.achievement-card span{margin:5px 0;font-size:12px}.achievement-card small{opacity:.65}.recent-activity>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.recent-activity span{opacity:.55}.achievement-mini{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.achievement-mini span,.profile-title{border:1px solid rgba(190,150,80,.45);padding:4px 7px;font-size:10px}.profile-title{display:inline-block;margin-bottom:8px}@media(max-width:700px){.progression-stats{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:1fr}}

/* V0.9.9.94 */
.achievement-progress{height:5px;background:rgba(255,255,255,.08);margin:8px 0;overflow:hidden}.achievement-progress i{display:block;height:100%;background:currentColor;opacity:.75}.achievement-card .button.tiny{margin-top:9px;padding:5px 7px;font-size:9px}.title-actions{margin-top:10px}

/* V0.9.9.94.3 */
.side-player-title{margin-top:3px;font-size:10px;letter-spacing:1px;text-transform:uppercase;opacity:.75}.chat-player-title{display:inline-block;margin-left:5px;padding:1px 5px;border:1px solid rgba(190,150,80,.38);font-size:8px;letter-spacing:.5px;text-transform:uppercase;font-style:normal;opacity:.8}

/* V0.9.9.94.6 title badges */
.profile-title-badge{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid rgba(190,150,80,.55);font-size:9px;letter-spacing:.7px;vertical-align:middle}.side-player-title{display:inline-block!important;width:max-content;padding:2px 6px;border:1px solid rgba(190,150,80,.45)}

/* V0.9.9.95.0 — responsive Online Players / Street Chat */
.online-players-panel{
  width:clamp(160px,18vw,210px);
  right:clamp(6px,1vw,12px);
  top:clamp(88px,14vh,145px);
  max-height:calc(100dvh - clamp(100px,17vh,175px));
}
.online-player-list{max-height:min(28vh,230px)}
.street-chat{min-height:0;flex:1 1 auto}
.street-chat-messages{min-height:90px;max-height:32vh}
@media (max-width:1100px),(max-height:760px){
 .online-players-panel{width:clamp(150px,19vw,180px);top:78px;right:6px;max-height:calc(100dvh - 90px)}
 .online-panel-head{padding:6px 7px;font-size:7px}
 .online-player-row{padding:6px 7px;gap:5px}
 .online-player-list{max-height:22vh}
 .street-chat-head{padding:6px 7px}
 .street-chat-messages{min-height:70px;max-height:28vh;padding:4px 6px}
 .street-msg{padding:3px 1px}
 .street-chat-form{padding:4px;gap:3px}
 .street-chat-form input{padding:5px}
}
@media (max-width:850px){
 .online-players-panel{width:min(190px,42vw);top:70px;max-height:calc(100dvh - 80px)}
 .online-player-list{max-height:18vh}
 .street-chat-messages{max-height:25vh}
}
@media (max-height:600px){
 .online-players-panel{top:58px;max-height:calc(100dvh - 64px)}
 .online-player-list{max-height:16vh}
 .street-chat-messages{min-height:55px;max-height:22vh}
}

/* V0.9.9.95.2 — chat minimize toggle */
.online-panel-actions{display:flex;align-items:center;gap:6px}
.online-panel-toggle{
 width:20px;height:20px;min-width:20px;padding:0;
 display:grid;place-items:center;
 border:1px solid rgba(205,164,88,.55);
 background:rgba(10,10,10,.55);
 color:#e8c67c;
 font:700 14px/1 Arial,sans-serif;
 cursor:pointer;
}
.online-panel-toggle:hover{background:rgba(205,164,88,.14)}
.online-players-panel.is-minimized .online-player-list,
.online-players-panel.is-minimized .street-chat{display:none!important}
.online-players-panel.is-minimized{
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
}
.online-players-panel.is-minimized .online-panel-head{border-bottom:0}

/* V0.9.9.95.3 — minimized chat becomes a tiny edge tab */
.online-players-panel.is-minimized{
 width:auto!important;
 min-width:0!important;
 max-width:none!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 top:auto!important;
 right:0!important;
 bottom:90px!important;
 border-right:0!important;
}
.online-players-panel.is-minimized .online-panel-head{
 width:auto!important;
 min-width:0!important;
 padding:5px 5px!important;
 gap:0!important;
 border-bottom:0!important;
 white-space:nowrap;
}
.online-players-panel.is-minimized .online-panel-head>span:first-child{
 font-size:0!important;
}
.online-players-panel.is-minimized .online-panel-head>span:first-child::after{
 content:'CHAT';
 font-size:7px;
 letter-spacing:.8px;
}
.online-players-panel.is-minimized .online-dot,
.online-players-panel.is-minimized #onlinePlayerCount{display:none!important}
.online-players-panel.is-minimized .online-panel-actions{gap:0!important}
.online-players-panel.is-minimized .online-panel-toggle{
 width:18px!important;height:18px!important;min-width:18px!important;
 margin-left:4px!important;
}
@media (max-width:900px){
 .online-players-panel.is-minimized{bottom:62px!important}
 .online-players-panel.is-minimized .online-panel-head>span:first-child{display:none!important}
 .online-players-panel.is-minimized .online-panel-toggle{margin-left:0!important}
}

/* V0.9.9.95.4 — minimized chat lives beside Rankings */
.chat-nav-toggle{display:none!important}
.chat-nav-toggle.is-visible{
 display:flex!important;
 align-items:center;
 justify-content:center;
 gap:7px;
}
.chat-nav-toggle span{
 display:inline-grid;
 place-items:center;
 width:18px;height:18px;
 border:1px solid rgba(205,164,88,.55);
 font-size:13px;
 line-height:1;
}
.online-players-panel.is-minimized{display:none!important}

/* V0.9.9.95.5 — CHAT nav is strictly hidden while floating chat is open */
#chatNavToggle[hidden]{display:none!important}
#chatNavToggle:not([hidden]){display:flex!important}

/* V0.9.9.95.6 — separate online counter and minimize controls */
.online-panel-actions{
 display:flex;
 align-items:center;
 gap:5px;
}
#onlinePlayerCount{
 display:grid;
 place-items:center;
 min-width:24px;
 height:20px;
 padding:0 6px;
 box-sizing:border-box;
 border:1px solid rgba(205,164,88,.45);
 background:rgba(205,164,88,.08);
 color:#e8c67c;
 font-size:9px;
 line-height:1;
}
#onlinePanelToggle{
 display:grid;
 place-items:center;
 width:22px;
 height:20px;
 min-width:22px;
 padding:0;
 box-sizing:border-box;
 border:1px solid rgba(205,164,88,.55);
 background:rgba(10,10,10,.62);
 color:#e8c67c;
 font:700 14px/1 Arial,sans-serif;
}
#onlinePanelToggle:hover{
 background:rgba(205,164,88,.16);
}

/* V0.9.9.95.7 — Bug Report form */
.bug-report-grid{display:grid;grid-template-columns:minmax(150px,.45fr) 1fr;gap:10px;margin:12px 0}
.bug-report-grid label,.bug-report-field{display:flex;flex-direction:column;gap:5px}
.bug-report-grid label>span,.bug-report-field>span{font-size:8px;letter-spacing:1px;font-weight:700;opacity:.75}
.bug-report-box textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:80px}
.bug-report-field{margin-top:10px}.bug-report-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.bug-report-actions small{opacity:.6}
@media(max-width:700px){.bug-report-grid{grid-template-columns:1fr}.bug-report-actions{align-items:flex-start;flex-direction:column}}

/* V0.9.9.95.8 — dedicated Bug Report menu item */
.bug-report-menu-link em{float:right;font-style:normal;font-size:7px;letter-spacing:.7px;opacity:.7}

/* V0.10.0 — Closed Beta / enhanced bug reports */
.closed-beta-badge{position:fixed;left:50%;top:5px;transform:translateX(-50%);z-index:9998;padding:4px 9px;border:1px solid rgba(205,164,88,.5);background:rgba(8,8,8,.92);font-size:7px;letter-spacing:1.2px;color:#cda458;pointer-events:none}.closed-beta-badge b{color:#f0d69b}
.bug-report-grid{grid-template-columns:minmax(130px,.3fr) minmax(130px,.3fr) 1fr}.bug-report-title-field{min-width:0}.bug-report-field input{width:100%;box-sizing:border-box}
@media(max-width:850px){.bug-report-grid{grid-template-columns:1fr 1fr}.bug-report-title-field{grid-column:1/-1}}
@media(max-width:560px){.bug-report-grid{grid-template-columns:1fr}.bug-report-title-field{grid-column:auto}}

/* V0.10.0.2 Closed Beta prep */
.beta-welcome-overlay{position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.86);display:grid;place-items:center;padding:20px}.beta-welcome-card{width:min(520px,92vw);box-sizing:border-box;border:1px solid rgba(205,164,88,.65);background:#11100e;padding:28px;text-align:center;box-shadow:0 20px 70px #000}.beta-welcome-card small{letter-spacing:3px;opacity:.65}.beta-welcome-card h1{margin:6px 0;color:#d1a85c;letter-spacing:2px}.beta-welcome-card>b{display:inline-block;border:1px solid rgba(205,164,88,.4);padding:4px 8px;margin-bottom:12px}.beta-welcome-card p{line-height:1.6;opacity:.8}.beta-info-box h2 small{float:right}.beta-issue-list article,.beta-change{border-left:2px solid rgba(205,164,88,.5);padding:9px 12px;margin:10px 0;background:rgba(205,164,88,.035)}.beta-issue-list p,.beta-change p{margin:5px 0 0;opacity:.72}.menu-panel button em{font-style:normal}
.known-owner-poster{border:1px solid rgba(205,164,88,.35);padding:12px;margin:14px 0}.known-owner-grid{display:grid;grid-template-columns:1fr 180px;gap:10px}.known-owner-poster label{display:flex;flex-direction:column;gap:5px;margin:8px 0}.known-owner-poster input,.known-owner-poster select,.known-owner-poster textarea{width:100%;box-sizing:border-box}.known-issue-card{display:grid;grid-template-columns:100px 1fr auto;gap:12px;border:1px solid rgba(205,164,88,.2);padding:11px;margin:9px 0}.known-issue-card h3{margin:0}.known-issue-card p{white-space:pre-wrap;opacity:.78}@media(max-width:760px){.known-owner-grid,.known-issue-card{grid-template-columns:1fr}}
/* V0.10.0.5 — Closed Beta Tester reward */
.beta-grant-button{border-color:rgba(92,181,210,.65)!important;color:#9bdcf0!important;background:linear-gradient(180deg,rgba(50,125,150,.18),rgba(15,35,45,.12))!important}
.title-beta-tester,.chat-title[data-title="closed_beta_tester"],[data-title-key="closed_beta_tester"]{color:#9bdcf0!important;border-color:rgba(92,181,210,.65)!important;text-shadow:0 0 7px rgba(82,190,220,.45);background:linear-gradient(90deg,rgba(48,122,145,.16),rgba(110,90,160,.12),rgba(48,122,145,.16));animation:betaTitleGlow 3.2s ease-in-out infinite}
@keyframes betaTitleGlow{0%,100%{filter:brightness(.95)}50%{filter:brightness(1.22)}}

/* V0.10.0.7 — live Heat in Player sidebar */
.player-heat-stat dd{font-weight:700}.player-heat-stat dd.heat-hot{color:#d9a24f}.player-heat-stat dd.heat-critical{color:#df6860;text-shadow:0 0 6px rgba(223,104,96,.25)}

/* V0.10.0.10 — Known Issue editing */
.known-edit-overlay{position:fixed;inset:0;z-index:10060;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:18px}.known-edit-card{width:min(620px,94vw);box-sizing:border-box;background:#11100e;border:1px solid rgba(205,164,88,.55);padding:20px;box-shadow:0 18px 70px #000}.known-edit-card>small{letter-spacing:1.5px;opacity:.6}.known-edit-card h2{margin:5px 0 15px}.known-edit-card label{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:8px;letter-spacing:1px}.known-edit-card input,.known-edit-card textarea{width:100%;box-sizing:border-box}.known-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

/* V0.10.0.11 — cinematic UNDERWORLD site banner */
.underworld-site-banner{width:100%;background:#050505;border-bottom:1px solid rgba(196,146,73,.42);overflow:hidden;line-height:0}
.underworld-site-banner img{display:block;width:100%;height:auto;max-height:410px;object-fit:cover;object-position:center center}
@media(max-width:1100px){.underworld-site-banner img{min-height:190px;object-fit:cover}}
@media(max-width:700px){.underworld-site-banner img{min-height:145px;object-fit:cover;object-position:center center}}

/* V0.10.0.12 — compact cinematic banner */
.underworld-site-banner{height:210px;position:relative}
.underworld-site-banner img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 48%}
@media(max-width:1100px){.underworld-site-banner{height:170px}.underworld-site-banner img{min-height:0;height:100%;object-fit:cover}}
@media(max-width:700px){.underworld-site-banner{height:125px}.underworld-site-banner img{min-height:0;height:100%;object-fit:cover;object-position:center 48%}}

/* V0.10.0.13 — exact 180px UNDERWORLD banner artwork */
.underworld-site-banner{height:180px!important;overflow:hidden}
.underworld-site-banner img{display:block;width:100%;height:180px!important;min-height:0!important;max-height:none!important;object-fit:cover;object-position:center center}
@media(max-width:1100px){.underworld-site-banner{height:150px!important}.underworld-site-banner img{height:150px!important}}
@media(max-width:700px){.underworld-site-banner{height:110px!important}.underworld-site-banner img{height:110px!important}}

/* V0.10.0.14 — 1350x198 UNDERWORLD banner */
.underworld-site-banner{height:198px!important}
.underworld-site-banner img{width:100%;height:198px!important;object-fit:cover;object-position:center center}
@media(max-width:1100px){.underworld-site-banner{height:160px!important}.underworld-site-banner img{height:160px!important}}
@media(max-width:700px){.underworld-site-banner{height:115px!important}.underworld-site-banner img{height:115px!important}}

/* V0.10.0.15 — user supplied UNDERWORLD banner */
.underworld-site-banner{height:auto!important;aspect-ratio:1350/198;max-height:198px}
.underworld-site-banner img{display:block;width:100%;height:100%!important;min-height:0!important;max-height:none!important;object-fit:fill!important;object-position:center center}
@media(max-width:1100px){.underworld-site-banner{height:auto!important;max-height:none}.underworld-site-banner img{height:100%!important}}
@media(max-width:700px){.underworld-site-banner{height:auto!important;max-height:none}.underworld-site-banner img{height:100%!important}}

/* ============================================================
   UNDERWORLD V0.11.0 — CINEMATIC UI OVERHAUL
   Visual shell only: existing game/API behavior is preserved.
   ============================================================ */
:root{
 --uw-bg:#080909;--uw-panel:#0d0f0f;--uw-panel2:#121313;--uw-gold:#d3a45b;
 --uw-gold2:#7d5b2d;--uw-line:#4a3822;--uw-red:#9f1718;--uw-green:#45dc85;
 --uw-text:#e7dfd1;--uw-muted:#968d80;
}
body{background:
 radial-gradient(circle at 50% -20%,rgba(125,32,24,.16),transparent 38%),
 linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
 #070808;background-size:auto,100% 4px,auto;color:var(--uw-text)}
.wrap{max-width:1380px}
.closed-beta-badge{position:fixed;top:8px;right:10px;z-index:10020;background:linear-gradient(180deg,#24180d,#0c0b09);border:1px solid #8d6232;color:#dcb16c;box-shadow:0 5px 18px #000;font-size:8px;letter-spacing:1.2px}

/* Hero: artwork and live economy/player strip become one component */
.uw-hero{position:relative!important;width:min(1380px,100%);margin:0 auto!important;height:auto!important;aspect-ratio:1350/258!important;max-height:none!important;overflow:hidden!important;background:#050505;border-left:1px solid #4a351d;border-right:1px solid #4a351d;border-bottom:0!important;box-shadow:0 12px 35px rgba(0,0,0,.6)}
.uw-hero>img{position:absolute;inset:0 0 auto 0;width:100%!important;height:auto!important;aspect-ratio:1350/198;object-fit:cover!important;object-position:center!important}
.hero-stat-strip{position:absolute;left:0;right:0;bottom:0;height:60px;display:grid;grid-template-columns:1fr 1fr 1.7fr .95fr;align-items:stretch;background:linear-gradient(180deg,rgba(18,15,11,.96),rgba(6,7,7,.99));border-top:1px solid #8a6233;border-bottom:1px solid #a7783c;box-shadow:0 -10px 24px rgba(0,0,0,.72),inset 0 1px rgba(255,213,142,.08)}
.hero-stat,.hero-player-card,.hero-motto{position:relative;display:flex;align-items:center;gap:11px;padding:8px 18px;border-right:1px solid #49341e}
.hero-stat:after,.hero-player-card:after{content:"";position:absolute;right:2px;top:9px;bottom:9px;width:1px;background:#120d08}
.hero-stat-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #6e4b26;background:linear-gradient(145deg,#20170d,#0b0b0a);color:#e0b56d;font-size:20px;box-shadow:inset 0 0 12px rgba(219,168,89,.09)}
.hero-stat-copy{display:flex;flex-direction:column;min-width:0}.hero-stat-copy small,.hero-level small{font:8px/1.2 Georgia,serif;letter-spacing:1.2px;color:#c6a36c}.hero-stat-copy b{font:700 16px/1.2 Georgia,serif;color:#f0e6d5;text-shadow:0 1px #000}.cash-stat .hero-stat-copy b{color:#55e493}.bank-stat .hero-stat-copy b{color:#e3b55d}
.hero-player-card{gap:13px}.hero-player-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #76522b;background:radial-gradient(circle,#292016,#0b0c0c);font-size:22px;color:#d4a65d}.hero-level{display:flex;flex-direction:column;margin-left:auto}.hero-level b{font:700 15px Georgia;color:#eee1ca}.hero-xp-track{width:90px;height:8px;border:1px solid #6b4a25;background:#050505;box-shadow:inset 0 1px 4px #000}.hero-xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#9d682b,#f1c878);box-shadow:0 0 7px rgba(230,178,91,.35)}
.hero-motto{justify-content:center;text-align:center;border-right:0;font:italic 11px/1.45 Georgia,serif;color:#ad9676}.hero-motto b{color:#e0b66e}

/* Gold icon navigation inspired by the mockup, still using original routes */
.main-nav{position:relative!important;top:auto!important;background:#090b0b!important;border-top:0!important;border-bottom:1px solid #6e4d29!important;box-shadow:0 8px 25px #000!important}
.main-nav .nav-inner{max-width:1380px;margin:auto;display:flex!important;justify-content:stretch;overflow-x:auto;scrollbar-width:thin}
.main-nav button{min-width:105px;flex:1 0 auto;height:70px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 10px!important;border:0!important;border-right:1px solid #241b12!important;background:linear-gradient(180deg,#101212,#080909)!important;color:#bdb2a2!important;font:700 8px/1.1 Georgia,serif!important;letter-spacing:.8px;text-transform:uppercase}
.main-nav button:hover{color:#e8c17e!important;background:linear-gradient(180deg,#1a1610,#0b0c0c)!important;box-shadow:inset 0 0 20px rgba(210,157,77,.07)}
.main-nav button.active{color:#f2c97f!important;background:radial-gradient(circle at 50% 35%,rgba(190,128,50,.24),transparent 55%),linear-gradient(180deg,#1a140d,#090a0a)!important;box-shadow:inset 0 0 0 1px #9c6c33,inset 0 0 18px rgba(225,167,75,.12),0 0 13px rgba(177,116,40,.16)!important}
.nav-glyph{font-size:21px;line-height:1;color:#d5a75f;text-shadow:0 0 8px rgba(214,158,72,.25)}
.chat-nav-toggle .nav-glyph{display:none}
.news{max-width:1380px;margin:auto;background:#0c0d0d!important;border-bottom:1px solid #34271a!important}.news .wrap{padding:7px 14px}.news b{color:#e2b66f!important}

/* Main 3-column-feeling shell */
.layout{max-width:1380px!important;grid-template-columns:285px minmax(0,1fr)!important;gap:16px!important;padding-top:16px!important}
.sidebar{gap:12px!important}
.panel,.box{background:linear-gradient(180deg,rgba(16,18,18,.98),rgba(8,9,9,.99))!important;border:1px solid #5b4225!important;box-shadow:inset 0 0 0 1px #16120d,0 7px 22px rgba(0,0,0,.32)!important;border-radius:3px!important}
.panel h2,.box>h2{margin:0!important;padding:11px 13px!important;background:linear-gradient(180deg,#17130e,#0c0d0d)!important;border-bottom:1px solid #4b3822!important;color:#e1b875!important;font:700 13px Georgia,serif!important;letter-spacing:.5px!important}
.panel h2>span{color:#e2b565;margin-right:7px}.player-panel{overflow:hidden}
.player-card{padding:14px!important;background:radial-gradient(circle at 15% 20%,rgba(129,76,30,.10),transparent 38%)}
.avatar{border:1px solid #8a6031!important;background:linear-gradient(145deg,#2a2117,#080909)!important;box-shadow:0 0 0 3px #0b0c0c,0 0 0 4px #3e2e1c!important;color:#e4ba75!important}
.player-name-line strong{font-family:Georgia,serif;color:#e6c183!important}.side-role-badge{border-color:#8b6538!important}
.mini-stats{margin:0 12px 10px!important;border-top:1px solid #282019}.mini-stats>div{padding:8px 3px!important;border-bottom:1px solid #25221d!important}.mini-stats dt{color:#aaa196!important}.mini-stats dd{font-weight:700;color:#e5ddcf}.mini-stats>div:nth-child(2) dd{color:#53db83}
.menu-panel button{position:relative;padding:9px 12px 9px 17px!important;border-bottom:1px solid #22201c!important;background:transparent!important;color:#bbb2a5!important}.menu-panel button:hover{padding-left:21px!important;color:#e7bd78!important;background:linear-gradient(90deg,rgba(175,116,48,.12),transparent)!important}
.menu-panel button:before{content:"";position:absolute;left:7px;top:50%;width:3px;height:3px;background:#b8874c;transform:translateY(-50%) rotate(45deg)}
.city-clock strong{color:#e5b76e!important;font-family:Georgia,serif}.sidebar-noir-art{border:1px solid #49351f!important;min-height:115px!important;margin:0!important;background:linear-gradient(145deg,rgba(130,25,20,.12),transparent 55%),#0a0b0b!important}.sidebar-quote{font-style:italic!important;color:#a89171!important}

/* Every game page gets the premium black/gold card language */
.content{min-width:0}.box{margin-bottom:13px!important}.box>h2 small{color:#8d806f!important}
.button{border:1px solid #76512a!important;background:linear-gradient(180deg,#2b1d0e,#15100a)!important;color:#e7c17f!important;box-shadow:inset 0 1px rgba(255,220,154,.08)!important;border-radius:1px!important;text-transform:uppercase;letter-spacing:.4px}
.button:hover{border-color:#b17b3b!important;background:linear-gradient(180deg,#3a2611,#19110a)!important;box-shadow:0 0 12px rgba(181,121,48,.13),inset 0 1px rgba(255,230,172,.12)!important}
.button.primary{background:linear-gradient(180deg,#a96d2b,#4f2d11)!important;border-color:#d5a057!important;color:#fff0cf!important}
input,select,textarea{background:#090a0a!important;border:1px solid #44331f!important;color:#ddd4c6!important;border-radius:1px!important}
input:focus,select:focus,textarea:focus{border-color:#a9783c!important;box-shadow:0 0 0 2px rgba(178,119,49,.08)!important}
table{background:#090a0a}th{background:#15120e!important;color:#dcb16e!important;border-color:#4b3822!important}td{border-color:#28231d!important}
.meter{background:#050606!important;border:1px solid #47351f!important}.meter i{background:linear-gradient(90deg,#895822,#e6b968)!important}
.meter.health i{background:linear-gradient(90deg,#6f201d,#d34b3e)!important}
footer{max-width:1380px;margin:20px auto 0!important;background:#080909!important;border-top:1px solid #5d4224!important;color:#786e62!important}

/* Chat matches the redesign */
.online-players-panel{background:#090b0b!important;border-color:#6a4a29!important;box-shadow:0 12px 45px #000!important}.online-panel-head,.street-chat-head{background:linear-gradient(180deg,#19140e,#0a0b0b)!important;border-color:#4c3821!important;color:#dfb56f!important}.street-chat-messages{background:#090a0a!important}

/* Desktop width and responsive fallback */
@media(min-width:1450px){.uw-hero,.main-nav,.news,.layout,footer{max-width:1380px}}
@media(max-width:900px){
 .uw-hero{aspect-ratio:1350/310!important}.hero-stat-strip{height:112px;grid-template-columns:1fr 1fr}.hero-player-card{order:3}.hero-motto{order:4}.hero-stat,.hero-player-card,.hero-motto{padding:7px 10px}.hero-xp-track{display:none}
 .layout{grid-template-columns:240px minmax(0,1fr)!important}.main-nav button{min-width:88px}
}
@media(max-width:700px){
 .uw-hero{aspect-ratio:1350/390!important}.uw-hero>img{height:auto!important}.hero-stat-strip{height:145px;grid-template-columns:1fr 1fr}.hero-motto{font-size:9px}.hero-stat-copy b{font-size:13px}.hero-stat-icon{width:30px;height:30px}
 .layout{display:block!important;padding:10px!important}.sidebar{margin-bottom:12px}.main-nav button{height:61px!important;min-width:78px;font-size:7px!important}.nav-glyph{font-size:17px}
}

/* ============================================================
   V0.11.1 — UI POLISH PASS
   ============================================================ */
:root{--uw-gold:#d8ad69;--uw-gold-hi:#f0cf91;--uw-edge:#6b4b29;--uw-inner:#20170e}

/* tighter, more integrated hero */
.uw-hero{box-shadow:0 10px 30px rgba(0,0,0,.75),inset 0 0 0 1px rgba(219,169,91,.08)!important}
.uw-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 22%,transparent 78%,rgba(0,0,0,.2)),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35) 76%,rgba(0,0,0,.85) 100%)}
.hero-stat-strip{z-index:2;height:58px!important;background:linear-gradient(180deg,rgba(14,12,9,.93),rgba(5,6,6,.99))!important}
.hero-stat,.hero-player-card,.hero-motto{padding:7px 17px!important}
.hero-stat-icon,.hero-player-mark{border-radius:2px;box-shadow:inset 0 0 12px rgba(220,168,84,.08),0 0 0 1px #0b0906!important}
.hero-stat-copy small,.hero-level small{font-family:Arial,sans-serif!important;font-size:7px!important;font-weight:700;letter-spacing:1.5px}
.hero-stat-copy b{font-size:15px!important}
.hero-motto{letter-spacing:.3px}

/* navigation becomes cleaner and less chunky */
.main-nav button{height:62px!important;min-width:94px!important;transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important}
.main-nav button:hover{transform:translateY(-1px)}
.main-nav button.active:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#e3b66f,transparent);box-shadow:0 0 9px #c88d3e}
.main-nav button{position:relative}.nav-glyph{font-size:18px!important;transition:transform .18s ease,text-shadow .18s ease}.main-nav button:hover .nav-glyph{transform:translateY(-1px) scale(1.05);text-shadow:0 0 10px rgba(230,177,92,.5)}

/* professionalize panel geometry */
.layout{gap:14px!important}.sidebar{gap:10px!important}
.panel,.box{position:relative;overflow:hidden;border-color:#513b24!important;box-shadow:inset 0 0 0 1px #15110c,0 6px 20px rgba(0,0,0,.36)!important}
.panel:before,.box:before{content:"";position:absolute;left:0;top:0;width:22px;height:1px;background:#b17d3c;opacity:.65}
.panel:after,.box:after{content:"";position:absolute;right:0;bottom:0;width:22px;height:1px;background:#7f582e;opacity:.4}
.panel h2,.box>h2{min-height:18px;padding:10px 12px!important;font-size:12px!important;text-shadow:0 1px #000}
.box>h2{display:flex;align-items:center;gap:7px}
.box>h2:before{content:"◆";font-size:7px;color:#b68142}

/* Player panel gets a cleaner identity block */
.player-card{padding:13px 13px 11px!important;border-bottom:1px solid #302519}
.avatar{width:48px!important;height:48px!important;font-size:17px!important}
.player-name-line strong{font-size:14px!important;letter-spacing:.3px}
.player-name-line small{color:#8e8273!important}
.mini-stats{font-size:10px!important}.mini-stats>div{min-height:17px;align-items:center}
.mini-stats dt{text-transform:uppercase;font-size:7px!important;font-weight:700;letter-spacing:.9px}
.mini-stats dd{font-size:10px!important}
.player-heat-stat dd{transition:color .25s,text-shadow .25s}

/* quick links/sidebar is less old-button-looking */
.menu-panel button{min-height:34px!important;font-size:9px!important;letter-spacing:.35px!important;transition:all .15s ease!important}
.menu-panel button em{font-size:6px!important}
.menu-panel button:hover{border-left:1px solid #7c572e!important}
.city-clock{padding:12px!important}.city-clock strong{font-size:15px!important}

/* content rhythm */
.content>.box:first-child{margin-top:0!important}.box{padding-bottom:1px}
.box>p,.box>.muted{line-height:1.55}
.page-grid,.dashboard-grid{gap:12px!important}
.card,.stat-card,.crime-card,.property-card,.vehicle-card,.inventory-card{border-color:#45331f!important;background:linear-gradient(180deg,#111313,#090a0a)!important;box-shadow:inset 0 1px rgba(255,255,255,.018)!important;transition:border-color .18s,transform .18s,box-shadow .18s!important}
.card:hover,.stat-card:hover,.crime-card:hover,.property-card:hover,.vehicle-card:hover,.inventory-card:hover{border-color:#75532d!important;box-shadow:inset 0 1px rgba(255,255,255,.025),0 5px 16px rgba(0,0,0,.25)!important}

/* tables/forms */
th{height:30px;text-transform:uppercase;font-size:7px!important;letter-spacing:1px!important}
td{padding-top:9px!important;padding-bottom:9px!important}
input,select,textarea{transition:border-color .16s,box-shadow .16s;background:linear-gradient(180deg,#0b0c0c,#080909)!important}
.button{min-height:31px;transition:all .16s ease!important;font-size:8px!important}
.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}
.button.primary{position:relative;overflow:hidden}.button.primary:after{content:"";position:absolute;top:-80%;left:-50%;width:25%;height:260%;transform:rotate(22deg);background:rgba(255,255,255,.10);transition:left .35s ease}.button.primary:hover:after{left:125%}

/* meters animate rather than snapping */
.meter i,.hero-xp-track i{transition:width .5s cubic-bezier(.2,.7,.2,1),background .25s}

/* compact premium alert/status treatments */
.notice,.alert,.flash,.operation-status{border-color:#594024!important;background:linear-gradient(90deg,rgba(126,81,31,.12),rgba(9,10,10,.98))!important}
.badge,.pill{border-radius:1px!important}

/* subtle page entrance; disabled for reduced motion */
.content>section,.content>.box{animation:uwPageIn .22s ease both}
@keyframes uwPageIn{from{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.content>section,.content>.box,.button,.main-nav button,.nav-glyph,.meter i,.hero-xp-track i{animation:none!important;transition:none!important}}

/* chat cleanup */
.online-players-panel{border-radius:2px!important}.online-panel-head,.street-chat-head{min-height:34px!important}.street-chat-messages{scrollbar-color:#815a2d #0a0a09}.street-chat-input{background:#080909!important;border-top-color:#3b2c1b!important}

/* footer feels intentional */
footer{padding:17px 20px!important;box-shadow:inset 0 1px #17120d!important}
footer:before{content:"UNDERWORLD  •  CRIME PAYS";display:block;color:#b68b51;font:700 9px Georgia,serif;letter-spacing:1.2px;margin-bottom:5px}

/* responsive refinement */
@media(max-width:1100px){.main-nav button{min-width:82px!important}.layout{grid-template-columns:250px minmax(0,1fr)!important}.hero-motto{font-size:9px}}
@media(max-width:800px){.hero-stat-strip{height:108px!important}.uw-hero{aspect-ratio:1350/306!important}.layout{grid-template-columns:220px minmax(0,1fr)!important}}
@media(max-width:700px){.layout{display:block!important}.uw-hero{aspect-ratio:1350/390!important}.hero-stat-strip{height:142px!important}.hero-stat,.hero-player-card,.hero-motto{padding:6px 9px!important}.main-nav button{min-width:76px!important;height:57px!important}.panel h2,.box>h2{font-size:11px!important}}

/* ============================================================
   V0.11.2 — DASHBOARD & LAYOUT POLISH
   ============================================================ */
.content{padding-bottom:20px}.breadcrumb{margin:0 0 9px!important;padding:7px 10px!important;border:1px solid #292117!important;background:#090a0a!important;color:#756b5f!important;font-size:7px!important;letter-spacing:.65px!important}
.dashboard-welcome{position:relative;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 22px;margin-bottom:12px;overflow:hidden;border:1px solid #624522;background:radial-gradient(circle at 76% 20%,rgba(149,33,25,.16),transparent 31%),linear-gradient(110deg,#15120e,#090a0a 58%,#120c0b);box-shadow:inset 0 0 0 1px #17120c,0 7px 20px rgba(0,0,0,.28)}
.dashboard-welcome:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#e0b468,#7b4b20,#a21d1b)}
.dashboard-welcome:after{content:"UNDERWORLD";position:absolute;right:105px;top:8px;font:900 55px Georgia,serif;color:rgba(255,255,255,.018);letter-spacing:-3px;pointer-events:none}
.dashboard-welcome small{color:#b48347;font-size:7px;font-weight:700;letter-spacing:1.3px}.dashboard-welcome h1{margin:5px 0 6px;color:#ead4ac;font:700 23px Georgia,serif;text-shadow:0 2px #000}.dashboard-welcome p{margin:0;color:#9d9589;max-width:690px;line-height:1.5}
.welcome-rank{position:relative;z-index:1;min-width:120px;padding-left:20px;border-left:1px solid #4c3822;display:flex;flex-direction:column;text-align:right}.welcome-rank small{font-size:6px}.welcome-rank b{font:700 29px Georgia;color:#e6b86d;line-height:1.05}.welcome-rank span{font-size:7px;color:#8d8171;margin-top:3px;text-transform:uppercase}

.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.dash-kpi{position:relative;padding:13px 14px 12px;border:1px solid #40301f;background:linear-gradient(145deg,#121414,#090a0a);overflow:hidden}.dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#8b6030}.dash-kpi:after{content:"";position:absolute;width:70px;height:70px;border:1px solid rgba(216,170,96,.045);transform:rotate(45deg);right:-44px;top:-36px}.dash-kpi small{display:block;color:#7f7568;font-size:6px;font-weight:700;letter-spacing:1px}.dash-kpi b{display:block;margin:4px 0 3px;font:700 16px Georgia,serif;color:#e3d6c1}.dash-kpi span{font-size:7px;color:#766e63}.dash-kpi.cash b{color:#55db85}.dash-kpi.bank b{color:#e1b464}.dash-kpi.heat b{color:#dc796c}.dash-kpi.respect b{color:#d7b277}

.dashboard-main-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;margin-bottom:12px}.dashboard-main-grid>.box{margin-bottom:0!important}
.dash-progress-row{display:grid;grid-template-columns:74px 1fr 40px;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid #242019}.dash-progress-row>span{font-size:7px;color:#948a7c;font-weight:700;letter-spacing:.7px}.dash-progress-row>b{text-align:right;font-size:8px;color:#d9c29b}.dash-meter{height:7px;background:#050606;border:1px solid #392b1b;overflow:hidden}.dash-meter i{display:block;height:100%;transition:width .5s ease}.dash-meter.health i{background:linear-gradient(90deg,#7b211e,#d65144)}.dash-meter.xp i{background:linear-gradient(90deg,#815321,#e3b466)}
.dash-profile-stats .stat-table{margin:4px 0 0}.dash-profile-stats .stat-table tr:first-child{display:none}.dash-profile-stats td{padding:7px 13px!important;font-size:8px!important}

.city-status-feature{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #2d251b;background:radial-gradient(circle at 15% 50%,rgba(133,40,29,.12),transparent 31%)}
.city-heat-ring{width:66px;height:66px;margin:auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#101111 54%,transparent 56%),conic-gradient(#b33a2e var(--heat),#241b16 0);box-shadow:0 0 0 1px #50301f,0 0 20px rgba(151,42,32,.10)}.city-heat-ring strong{font:700 15px Georgia;color:#e3c18c}.city-heat-ring small{font-size:6px;color:#9e7462}.city-status-feature>div:last-child>small{font-size:6px;letter-spacing:1px;color:#827668}.city-status-feature h3{margin:3px 0 5px;font:700 14px Georgia;color:#d6aa67}.city-status-feature p{margin:0;color:#81796e;font-size:8px;line-height:1.4}
.dash-city-card .status-row{grid-template-columns:75px 1fr 42px!important;padding:8px 13px!important}

.dash-operations,.dash-activity{margin-top:0!important}.dash-operations{border-color:#5b4124!important}
.content .box h2 small{margin-left:auto!important;font-family:Arial,sans-serif!important;font-size:6px!important;font-weight:400!important;letter-spacing:.5px!important;color:#6f665a!important}
.status-track{height:5px!important;background:#050606!important;border:1px solid #2e251a!important}.status-track i{background:linear-gradient(90deg,#496f82,#8eacb8)!important}

/* make sidebar/content alignment less awkward */
.sidebar>.panel:first-child,.content>.breadcrumb:first-child{margin-top:0!important}.layout{align-items:start!important}.sidebar{position:relative!important;top:auto!important}
@media(min-width:1200px){.layout{grid-template-columns:270px minmax(0,1fr)!important}.content{padding-right:2px}}
@media(max-width:950px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-welcome:after{display:none}}
@media(max-width:700px){.dashboard-welcome{padding:15px;align-items:flex-start}.welcome-rank{min-width:70px}.dashboard-kpis{grid-template-columns:1fr 1fr}.dash-kpi{padding:10px}.city-status-feature{grid-template-columns:72px 1fr}}

/* ============================================================
   V0.11.2.1 — BANNER / HEADER CLEANUP
   Make the hero artwork breathe and turn the live stats into
   one clean HUD rail instead of four competing boxes.
   ============================================================ */
.uw-hero{
  aspect-ratio:auto!important;
  height:258px!important;
  max-height:258px!important;
  border:1px solid #49351e!important;
  border-bottom:0!important;
}
.uw-hero>img{
  position:absolute!important;inset:0 0 auto 0!important;
  width:100%!important;height:198px!important;
  aspect-ratio:auto!important;object-fit:cover!important;
  object-position:center center!important;
}
.uw-hero:after{
  background:linear-gradient(180deg,transparent 0%,transparent 57%,rgba(0,0,0,.10) 70%,rgba(0,0,0,.72) 77%,rgba(0,0,0,.95) 100%)!important;
}
.hero-stat-strip{
  left:0!important;right:0!important;bottom:0!important;
  height:60px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr 1.55fr .9fr!important;
  background:linear-gradient(180deg,#12100c 0%,#080909 100%)!important;
  border-top:1px solid #72502a!important;
  border-bottom:1px solid #76512a!important;
  box-shadow:inset 0 1px rgba(240,193,116,.05),0 -8px 22px rgba(0,0,0,.32)!important;
}
.hero-stat,.hero-player-card,.hero-motto{
  min-width:0!important;height:60px!important;box-sizing:border-box!important;
  padding:0 16px!important;border-right:1px solid #302519!important;
  gap:10px!important;background:transparent!important;
}
.hero-stat:after,.hero-player-card:after{display:none!important}
.hero-stat-icon,.hero-player-mark{
  flex:0 0 32px!important;width:32px!important;height:32px!important;
  font-size:16px!important;background:#0b0c0b!important;
  border:1px solid #5d4326!important;box-shadow:inset 0 0 10px rgba(211,164,91,.06)!important;
}
.hero-stat-copy small,.hero-level small{
  color:#927e61!important;font-size:6px!important;letter-spacing:1.25px!important;
}
.hero-stat-copy b{font-size:14px!important;white-space:nowrap!important}
.cash-stat .hero-stat-copy b{color:#62dc8c!important}.bank-stat .hero-stat-copy b{color:#ddb36d!important}
.hero-player-card{padding-right:18px!important}
.hero-player-card .hero-stat-copy{min-width:72px!important}
.hero-level{margin-left:auto!important;min-width:36px!important;text-align:center!important}
.hero-level b{font-size:14px!important;color:#e3c28e!important}
.hero-xp-track{
  flex:0 1 88px!important;width:auto!important;min-width:42px!important;
  height:5px!important;border-color:#45331f!important;
}
.hero-motto{
  border-right:0!important;padding:0 13px!important;
  font-size:9px!important;line-height:1.35!important;color:#806f58!important;
}
.hero-motto b{font-size:10px!important;color:#cda25f!important}

/* make the nav feel attached to the hero instead of another floating block */
.main-nav{
  border-top:1px solid #18130d!important;
  margin-top:0!important;
  box-shadow:0 9px 24px rgba(0,0,0,.55)!important;
}
.main-nav .nav-inner{border-left:1px solid #20180f;border-right:1px solid #20180f}

/* Responsive: preserve order and avoid the previous wrapping chaos */
@media(max-width:1050px){
 .uw-hero{height:298px!important;max-height:298px!important}
 .uw-hero>img{height:198px!important}
 .hero-stat-strip{height:100px!important;grid-template-columns:1fr 1fr!important}
 .hero-stat,.hero-player-card,.hero-motto{height:50px!important;padding:0 12px!important}
 .hero-player-card{order:3}.hero-motto{order:4}
}
@media(max-width:620px){
 .uw-hero{height:318px!important;max-height:318px!important}
 .uw-hero>img{height:198px!important;object-position:center center!important}
 .hero-stat-strip{height:120px!important}
 .hero-stat,.hero-player-card,.hero-motto{height:60px!important;padding:0 8px!important}
 .hero-stat-icon,.hero-player-mark{display:none!important}
 .hero-xp-track{display:none!important}
 .hero-motto{font-size:8px!important}
}

/* V0.11.2.2 — purpose-built 1920x280 cinematic header */
.uw-hero{
  width:min(1380px,100%)!important;
  height:auto!important;max-height:none!important;
  aspect-ratio:1920/364!important; /* 280 artwork + 84 equivalent HUD space */
}
.uw-hero>img{
  width:100%!important;height:auto!important;
  aspect-ratio:1920/280!important;
  object-fit:cover!important;object-position:center center!important;
}
.hero-stat-strip{height:60px!important}
@media(max-width:1050px){
 .uw-hero{height:auto!important;max-height:none!important;aspect-ratio:1920/420!important}
 .uw-hero>img{height:auto!important;aspect-ratio:1920/280!important}
 .hero-stat-strip{height:100px!important}
}
@media(max-width:620px){
 .uw-hero{height:auto!important;max-height:none!important;aspect-ratio:1920/500!important}
 .uw-hero>img{height:auto!important;aspect-ratio:1920/280!important}
 .hero-stat-strip{height:120px!important}
}

/* ============================================================
   V0.11.2.3 — FULL INTEGRATED HEADER
   Banner, live player HUD and navigation now read as one unit.
   ============================================================ */
.uw-hero{
 width:min(1380px,100%)!important;
 height:auto!important;max-height:none!important;
 aspect-ratio:auto!important;
 padding-top:calc(100% * 280 / 1920)!important;
 overflow:visible!important;
 border:1px solid #4b351d!important;border-bottom:0!important;
 background:#050606!important;
 box-sizing:border-box!important;
}
.uw-hero>img{
 position:absolute!important;left:0!important;top:0!important;
 width:100%!important;height:auto!important;
 aspect-ratio:1920/280!important;object-fit:cover!important;
 border-bottom:1px solid rgba(206,153,77,.4);
}
.uw-hero:after{
 content:""!important;position:absolute!important;left:0!important;right:0!important;
 top:0!important;height:calc(100% * 280 / 364)!important;
 pointer-events:none!important;
 background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.08) 72%,rgba(0,0,0,.72) 100%)!important;
 z-index:1!important;
}
.integrated-hud{
 position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
 z-index:4!important;width:100%!important;height:54px!important;
 display:grid!important;grid-template-columns:1fr 1.45fr .95fr!important;
 background:linear-gradient(180deg,#12100c 0%,#090a0a 54%,#060707 100%)!important;
 border:0!important;border-bottom:1px solid #6e4b27!important;
 box-shadow:inset 0 1px rgba(238,193,119,.07),0 7px 18px rgba(0,0,0,.42)!important;
}
.hud-economy,.hud-player,.hud-motto{height:54px;display:flex;align-items:center;box-sizing:border-box}
.hud-economy{padding:0 18px;gap:17px;border-right:1px solid #302418}
.hud-value{display:flex;flex-direction:column;min-width:92px}
.hud-value small,.hud-identity small,.hud-level small,.hud-xp small,.hud-motto small{
 font:700 6px/1.2 Arial,sans-serif;letter-spacing:1.25px;color:#776b5d
}
.hud-value b{font:700 14px/1.15 Georgia,serif;color:#e0d4c0;margin-top:3px}
.hud-value.cash b{color:#59da87}.hud-value.bank b{color:#deb16a}
.hud-divider{height:25px;width:1px;background:linear-gradient(transparent,#49351f,transparent)}
.hud-player{padding:0 17px;gap:12px;border-right:1px solid #302418;background:radial-gradient(circle at 40% 100%,rgba(140,91,35,.08),transparent 55%)}
.hud-sigil{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border:1px solid #5c4225;background:#0a0b0b;color:#d0a35e;font-size:15px;transform:rotate(45deg)}
.hud-sigil::first-letter{transform:rotate(-45deg)}
.hud-identity{display:flex;flex-direction:column;min-width:76px}.hud-identity b{font:700 13px/1.2 Georgia,serif;color:#ead9bd;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-level{display:flex;flex-direction:column;align-items:center;padding:0 12px;border-left:1px solid #2d2419}.hud-level b{font:700 14px Georgia,serif;color:#e2b46a;margin-top:2px}
.hud-xp{flex:1;min-width:75px;display:flex;flex-direction:column;gap:4px}.hud-xp>span{display:block;height:4px;background:#040505;border:1px solid #342819;overflow:hidden}.hud-xp i{display:block;height:100%;width:0;background:linear-gradient(90deg,#805221,#e2b568);transition:width .45s ease}.hud-xp small{font-size:5px;color:#5f584e}
.hud-motto{padding:0 17px;justify-content:center;align-items:flex-start;flex-direction:column}.hud-motto small{color:#8c6b42}.hud-motto b{font:italic 700 8px/1.3 Georgia,serif;color:#bba17b;letter-spacing:.35px;margin-top:3px;white-space:nowrap}

/* nav becomes the lower edge of the same header */
.main-nav{width:min(1380px,100%)!important;margin:0 auto!important;background:#070808!important;border-top:0!important;border-left:1px solid #241b11!important;border-right:1px solid #241b11!important;border-bottom:1px solid #674723!important;box-sizing:border-box!important;box-shadow:0 10px 25px rgba(0,0,0,.58)!important}
.main-nav .nav-inner{border:0!important}
.main-nav button{height:56px!important;background:linear-gradient(180deg,#0d0f0f,#070808)!important;border-right:1px solid #211a12!important}
.main-nav button.active{background:radial-gradient(circle at 50% 22%,rgba(185,126,50,.17),transparent 52%),linear-gradient(180deg,#14110d,#080909)!important}
.main-nav button.active:after{bottom:-1px!important}
.nav-glyph{font-size:16px!important}

/* remove legacy hero selectors from visual participation */
.hero-stat,.hero-player-card,.hero-motto,.hero-stat-icon,.hero-player-mark,.hero-stat-copy,.hero-level,.hero-xp-track{display:none!important}

/* clean attachment to ticker/content */
.news{border-top:0!important;margin-top:0!important}
@media(max-width:1050px){
 .integrated-hud{height:96px!important;grid-template-columns:1fr 1fr!important}
 .hud-economy,.hud-player,.hud-motto{height:48px!important}
 .hud-economy{grid-column:1}.hud-player{grid-column:2}.hud-motto{grid-column:1/3;border-top:1px solid #211a12;align-items:center!important}
 .hud-motto b{white-space:normal}.main-nav button{min-width:80px!important}
}
@media(max-width:620px){
 .integrated-hud{height:auto!important;display:block!important}
 .hud-economy,.hud-player,.hud-motto{height:47px!important;border-right:0!important;border-bottom:1px solid #241c13}
 .hud-economy{justify-content:center}.hud-player{padding:0 10px}.hud-motto{height:38px!important}
 .hud-sigil{display:none}.hud-xp{display:none}.hud-level{margin-left:auto}
 .main-nav button{height:52px!important;min-width:72px!important}
}

/* ============================================================
   V0.11.2.4 — FULL-WIDTH CINEMATIC HEADER
   Header escapes the 1380px game shell; content remains centered.
   ============================================================ */
.uw-hero{
 width:100vw!important;
 max-width:none!important;
 margin-left:calc(50% - 50vw)!important;
 margin-right:calc(50% - 50vw)!important;
 border-left:0!important;border-right:0!important;
 box-sizing:border-box!important;
}
.uw-hero>img{
 width:100%!important;
 height:auto!important;
 object-fit:cover!important;
 object-position:center center!important;
}
.integrated-hud{
 width:100%!important;
 padding-left:max(18px,calc((100vw - 1380px)/2 + 18px))!important;
 padding-right:max(18px,calc((100vw - 1380px)/2 + 18px))!important;
 box-sizing:border-box!important;
 grid-template-columns:minmax(250px,1fr) minmax(360px,1.45fr) minmax(230px,.95fr)!important;
}
.main-nav{
 width:100vw!important;
 max-width:none!important;
 margin-left:calc(50% - 50vw)!important;
 margin-right:calc(50% - 50vw)!important;
 border-left:0!important;border-right:0!important;
}
.main-nav .nav-inner{
 max-width:1380px!important;
 margin:0 auto!important;
 width:100%!important;
}
.news{
 max-width:none!important;
 width:100%!important;
}
.news>.wrap{max-width:1380px!important;margin:0 auto!important}

/* On very wide displays keep artwork cinematic by cropping vertically,
   never by chopping the left/right sides. */
@media(min-width:1921px){
 .uw-hero{padding-top:280px!important}
 .uw-hero>img{height:280px!important;object-fit:cover!important}
}
@media(max-width:1050px){
 .integrated-hud{
   padding-left:12px!important;padding-right:12px!important;
   grid-template-columns:1fr 1fr!important;
 }
}
@media(max-width:620px){
 .integrated-hud{padding:0!important;display:block!important}
}

/* ============================================================
   V0.11.2.5 — CENTERED HEADER / NAV CLEANUP
   ============================================================ */

/* HUD: centered 1380px inner composition on the full-width rail */
.integrated-hud{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)!important;
  width:100%!important;
  padding-left:max(20px,calc((100vw - 1000px)/2))!important;
  padding-right:max(20px,calc((100vw - 1000px)/2))!important;
  box-sizing:border-box!important;
}
.hud-economy,.hud-player{
  justify-content:center!important;
  border-right:0!important;
}
.hud-economy{border-right:1px solid #302418!important}
.hud-player{padding-left:26px!important;padding-right:26px!important}
.hud-motto{display:none!important}

/* Navigation: true centered row, no horizontal scrollbar on desktop */
.main-nav{overflow:hidden!important}
.main-nav .nav-inner{
  max-width:1180px!important;
  width:calc(100% - 32px)!important;
  margin:0 auto!important;
  display:flex!important;
  justify-content:center!important;
  overflow:visible!important;
  scrollbar-width:none!important;
}
.main-nav .nav-inner::-webkit-scrollbar{display:none!important}
.main-nav button{
  flex:0 1 118px!important;
  min-width:88px!important;
  max-width:125px!important;
}
.main-nav button.chat-nav-toggle{flex:0 1 118px!important}

/* kill legacy overflow that caused the little horizontal scroll strip */
html,body{overflow-x:hidden!important}
.main-nav,.main-nav *{scrollbar-width:none}
.main-nav *::-webkit-scrollbar{display:none}

/* Keep centered layout sensible on narrower windows */
@media(max-width:1050px){
 .integrated-hud{
   padding-left:18px!important;padding-right:18px!important;
   grid-template-columns:1fr 1.25fr!important;
 }
 .main-nav .nav-inner{
   width:100%!important;
   max-width:none!important;
   justify-content:flex-start!important;
   overflow-x:auto!important;
   padding:0 8px!important;
   box-sizing:border-box!important;
 }
 .main-nav button{flex:0 0 92px!important;min-width:92px!important}
}
@media(max-width:620px){
 .integrated-hud{display:block!important;padding:0!important}
 .hud-economy,.hud-player{justify-content:center!important;border-right:0!important}
}

/* ============================================================
   V0.11.2.6 — CHAT POSITION FIX
   Keep the floating chat below the live announcement/news bar.
   ============================================================ */
:root{--uw-chat-top:430px}

/* Desktop chat should start below the complete header + nav + announcement rail. */
.online-players-panel,
.street-chat-panel,
#onlinePlayersPanel,
#streetChatPanel{
  top:var(--uw-chat-top)!important;
  max-height:calc(100vh - var(--uw-chat-top) - 14px)!important;
}

/* If the chat component uses sticky/fixed positioning internally, preserve it,
   but anchor from our new header bottom rather than the old masthead offset. */
@media(min-width:1051px){
 .online-players-panel,.street-chat-panel,#onlinePlayersPanel,#streetChatPanel{
   top:430px!important;
 }
}
@media(max-width:1050px){
 .online-players-panel,.street-chat-panel,#onlinePlayersPanel,#streetChatPanel{
   top:470px!important;
   max-height:calc(100vh - 484px)!important;
 }
}
@media(max-width:700px){
 .online-players-panel,.street-chat-panel,#onlinePlayersPanel,#streetChatPanel{
   top:auto!important;
   max-height:none!important;
 }
}

/* V0.11.2.7 — remove obsolete Closed Beta top-screen badge */
.closed-beta-badge,
#closedBetaBadge{
  display:none!important;
}

/* ============================================================
   V0.11.2.8 — CHAT POSITION + INPUT VISIBILITY
   ============================================================ */
/* Slightly lower than .6/.7, but reserve enough viewport room
   for the message composer so it can never fall below screen. */
@media(min-width:1051px){
 .online-players-panel,.street-chat-panel,#onlinePlayersPanel,#streetChatPanel{
   top:442px!important;
   bottom:12px!important;
   max-height:none!important;
   height:auto!important;
   display:flex!important;
   flex-direction:column!important;
   box-sizing:border-box!important;
 }
}
.street-chat-messages{
 flex:1 1 auto!important;
 min-height:80px!important;
 overflow-y:auto!important;
}
.street-chat-input,
.street-chat-compose,
.chat-input-row,
.online-chat-input{
 flex:0 0 auto!important;
 position:relative!important;
 bottom:auto!important;
 z-index:3!important;
 display:flex!important;
 visibility:visible!important;
 box-sizing:border-box!important;
}
.street-chat-input input,
.street-chat-input textarea,
.street-chat-compose input,
.street-chat-compose textarea,
.chat-input-row input,
.chat-input-row textarea{
 display:block!important;
 visibility:visible!important;
 min-height:34px!important;
}

/* Medium windows: same principle, adjusted for wrapped header. */
@media(max-width:1050px) and (min-width:701px){
 .online-players-panel,.street-chat-panel,#onlinePlayersPanel,#streetChatPanel{
   top:482px!important;
   bottom:10px!important;
   height:auto!important;
   max-height:none!important;
   display:flex!important;
   flex-direction:column!important;
 }
}

/* ============================================================
   V0.11.2.9 — TRUE CHAT MINIMIZE
   Later chat-fit rules must not resurrect the minimized panel.
   ============================================================ */
.online-players-panel.is-minimized,
.street-chat-panel.is-minimized,
#onlinePlayersPanel.is-minimized,
#streetChatPanel.is-minimized{
 display:none!important;
 visibility:hidden!important;
 pointer-events:none!important;
 width:0!important;height:0!important;
 min-width:0!important;min-height:0!important;
 max-width:0!important;max-height:0!important;
 padding:0!important;margin:0!important;
 border:0!important;overflow:hidden!important;
}

/* The navigation restore button is the only minimized representation. */
#chatNavToggle[hidden]{display:none!important}
#chatNavToggle.is-visible:not([hidden]){display:flex!important}

/* ============================================================
   V0.11.3.0 — CUSTOM GENERATED UI ARTWORK
   Real generated artwork integrated into HUD + Dashboard.
   ============================================================ */
.hud-art-card{flex-direction:row!important;align-items:center!important;gap:9px!important;min-width:145px!important}
.hud-copy{display:flex;flex-direction:column;min-width:0}
.hud-art{display:block;flex:0 0 38px;width:38px;height:38px;border:1px solid #604424;background-color:#090a0a;background-position:center;background-size:cover;box-shadow:inset 0 0 12px rgba(0,0,0,.4),0 0 0 1px #090806}
.hud-art-cash{background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.18)),url("assets/hud-cash.webp")}
.hud-art-bank{background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.18)),url("assets/hud-bank.webp")}
.hud-art-player{background-image:linear-gradient(rgba(0,0,0,.04),rgba(0,0,0,.20)),url("assets/hud-player.webp")!important;background-size:cover!important;background-position:center!important;transform:none!important;width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:1px!important}
.hud-value b{margin-top:2px!important}
.hud-economy{gap:15px!important}.hud-divider{margin:0 2px}
.dashboard-welcome{min-height:122px!important;padding:0!important;display:grid!important;grid-template-columns:205px minmax(0,1fr) 135px!important;gap:0!important;align-items:stretch!important}
.dashboard-noir-art{display:block;min-height:122px;background:linear-gradient(90deg,transparent 65%,#12100d 100%),url("assets/dashboard-noir.webp") center/cover no-repeat;border-right:1px solid #50391f;position:relative}
.dashboard-noir-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.30));pointer-events:none}
.dashboard-welcome-copy{padding:18px 20px;align-self:center;position:relative;z-index:2}
.dashboard-welcome>.welcome-rank{align-self:center;margin-right:18px}
.dashboard-welcome:before{z-index:5}
.dashboard-welcome:after{right:125px!important}
@media(max-width:950px){
 .dashboard-welcome{grid-template-columns:150px minmax(0,1fr) 90px!important}
 .dashboard-noir-art{min-height:118px}
 .hud-art{width:32px;height:32px;flex-basis:32px}.hud-art-card{min-width:125px!important}
}
@media(max-width:700px){
 .dashboard-welcome{grid-template-columns:95px minmax(0,1fr)!important}
 .dashboard-welcome>.welcome-rank{display:none!important}
 .dashboard-welcome-copy{padding:13px!important}
 .hud-art{width:29px;height:29px;flex-basis:29px}.hud-art-card{min-width:0!important}
}

/* ============================================================
   V0.11.3.1 — CLEAN INTEGRATED ART PASS
   Remove cut-out screenshot crops. Artwork is now used only as
   seamless panel/background texture; live UI remains real HTML.
   ============================================================ */
.hud-art,.hud-art-cash,.hud-art-bank,.hud-art-player,.dashboard-noir-art{display:none!important}
.hud-art-card{min-width:0!important}
.hud-value.cash,.hud-value.bank{
 flex-direction:row!important;align-items:center!important;gap:10px!important;min-width:130px!important
}
.hud-copy{display:flex;flex-direction:column}
.hud-money-icon,.hud-bank-icon{
 display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;
 border:1px solid #604424;background:radial-gradient(circle at 50% 30%,#21180f,#090a0a 70%);
 color:#d7aa64;font:700 17px Georgia,serif;box-shadow:inset 0 0 10px rgba(215,168,91,.08)
}
.hud-bank-icon{font-size:18px}

/* Dashboard artwork is a genuine continuous background layer, not a cropped tile. */
.dashboard-welcome{
 grid-template-columns:minmax(0,1fr) 135px!important;
 min-height:122px!important;
 background:
   linear-gradient(90deg,rgba(9,10,10,.98) 0%,rgba(10,10,9,.90) 46%,rgba(10,9,8,.70) 100%),
   url("assets/dashboard-noir.webp") center 42%/cover no-repeat!important;
}
.dashboard-welcome-copy{padding:19px 22px!important}
.dashboard-welcome>.welcome-rank{margin-right:18px!important}
.dashboard-welcome:after{right:125px!important}
@media(max-width:950px){
 .dashboard-welcome{grid-template-columns:minmax(0,1fr) 95px!important}
}
@media(max-width:700px){
 .dashboard-welcome{grid-template-columns:1fr!important}
 .dashboard-welcome>.welcome-rank{display:none!important}
}

/* V0.11.3.2 — Larger expressive HUD icons */
.hud-money-icon,.hud-bank-icon,.hud-sigil.hud-player-emoji{
 width:44px!important;height:44px!important;flex:0 0 44px!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
 font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif!important;
 font-size:30px!important;line-height:1!important;
 filter:drop-shadow(0 2px 3px rgba(0,0,0,.65));
}
.hud-bank-icon{font-size:31px!important}
.hud-sigil.hud-player-emoji{transform:none!important;font-size:29px!important}
.hud-value.cash,.hud-value.bank{gap:12px!important;min-width:150px!important}
.hud-value b{font-size:15px!important}
.hud-value small,.hud-identity small,.hud-level small{font-size:7px!important}
.hud-identity b{font-size:14px!important}
.hud-economy{gap:21px!important}
@media(max-width:950px){
 .hud-money-icon,.hud-bank-icon,.hud-sigil.hud-player-emoji{
   width:36px!important;height:36px!important;flex-basis:36px!important;font-size:25px!important
 }
 .hud-value.cash,.hud-value.bank{min-width:125px!important}
}

/* ============================================================
   V0.11.3.3 — NAVIGATION EMOJI PASS
   Match the larger expressive Cash / Bank / Player HUD style.
   ============================================================ */
.main-nav button{
 height:68px!important;
 gap:5px!important;
 padding:6px 9px 7px!important;
}
.main-nav .nav-emoji{
 display:block!important;
 font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif!important;
 font-size:27px!important;
 line-height:30px!important;
 width:36px!important;height:31px!important;
 transform:none!important;
 filter:drop-shadow(0 2px 3px rgba(0,0,0,.72));
 text-shadow:none!important;
}
.main-nav button:hover .nav-emoji{
 transform:translateY(-2px) scale(1.06)!important;
 filter:drop-shadow(0 3px 5px rgba(0,0,0,.78));
}
.main-nav button>span:last-child{
 font-size:8px!important;
 letter-spacing:.8px!important;
 color:#b9ad9c!important;
}
.main-nav button.active>span:last-child{color:#edc579!important}
.main-nav button.active .nav-emoji{
 filter:drop-shadow(0 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 5px rgba(218,164,79,.22));
}
.main-nav button.active:after{
 left:14%!important;right:14%!important;height:2px!important;
 background:linear-gradient(90deg,transparent,#e9b75f,transparent)!important;
}
@media(max-width:1050px){
 .main-nav button{height:64px!important}
 .main-nav .nav-emoji{font-size:24px!important;line-height:27px!important}
}
@media(max-width:620px){
 .main-nav button{height:59px!important}
 .main-nav .nav-emoji{font-size:22px!important;line-height:24px!important}
}

/* ============================================================
   V0.11.3.4 — FULL BANNER VISIBILITY
   Preserve the complete 1920x280 composition at every desktop width.
   ============================================================ */
.uw-hero{
  /* artwork height follows its real 1920:280 ratio */
  padding-top:calc(100vw * 280 / 1920)!important;
  min-height:0!important;
}
.uw-hero>img{
  width:100vw!important;
  height:auto!important;
  aspect-ratio:1920/280!important;
  object-fit:contain!important;
  object-position:center center!important;
  max-width:none!important;
}
/* Remove the old ultra-wide rule that forced a fixed 280px crop. */
@media(min-width:1921px){
 .uw-hero{
   padding-top:calc(100vw * 280 / 1920)!important;
 }
 .uw-hero>img{
   width:100vw!important;
   height:auto!important;
   object-fit:contain!important;
 }
}
/* On narrower desktop/tablet screens, still show the whole composition. */
@media(max-width:1050px){
 .uw-hero{padding-top:calc(100vw * 280 / 1920)!important}
 .uw-hero>img{width:100vw!important;height:auto!important;object-fit:contain!important}
}
@media(max-width:620px){
 .uw-hero{padding-top:calc(100vw * 280 / 1920)!important}
 .uw-hero>img{width:100vw!important;height:auto!important;object-fit:contain!important}
}

/* ============================================================
   V0.11.3.5 — TRUE FULL BANNER FIX
   Previous fix was still fighting older absolute-position rules.
   Give the artwork its own normal-flow picture row.
   ============================================================ */
.uw-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  background:#050606!important;
}
.uw-hero>img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1920/280!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
  margin:0!important;
}
.uw-hero:after{
  /* no overlay layer with its own old calculated height */
  display:none!important;
}
.integrated-hud{
  position:relative!important;
  flex:0 0 54px!important;
  height:54px!important;
  left:auto!important;right:auto!important;bottom:auto!important;
}
@media(max-width:1050px){
 .uw-hero{padding:0!important;height:auto!important;aspect-ratio:auto!important}
 .uw-hero>img{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1920/280!important}
 .integrated-hud{flex-basis:96px!important;height:96px!important}
}
@media(max-width:620px){
 .uw-hero{padding:0!important;height:auto!important;aspect-ratio:auto!important}
 .uw-hero>img{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1920/280!important}
 .integrated-hud{flex-basis:auto!important;height:auto!important}
}

/* ============================================================
   V0.11.3.6 — USER-SUPPLIED 1500x218 HEADER
   Exact uploaded artwork, no crop and no generated replacement.
   ============================================================ */
.uw-hero>img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1500/218!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:1050px){
 .uw-hero>img{aspect-ratio:1500/218!important}
}
@media(max-width:620px){
 .uw-hero>img{aspect-ratio:1500/218!important}
}

/* ============================================================
   V0.12.0 — CORE GAMEPLAY UI: CRIMES + VEHICLE THEFT
   Existing backend hooks/data attributes remain untouched.
   ============================================================ */
.crimes-hero,.theft-hero{min-height:118px!important;position:relative!important;overflow:hidden!important}
.crimes-hero:after,.theft-hero:after{content:"";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:68px;opacity:.15;filter:drop-shadow(0 3px 8px #000)}
.crimes-hero:after{content:"🔫"}.theft-hero:after{content:"🚘"}

.crime-progress-head{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:0 0 12px!important}
.crime-progress-head>div{padding:12px 14px!important;background:linear-gradient(145deg,#121414,#090a0a)!important;border:1px solid #40301f!important;display:flex!important;align-items:baseline!important;gap:8px!important}
.crime-progress-head b{font:700 18px Georgia,serif!important;color:#e0b46d!important}.crime-progress-head span{font-size:7px!important;color:#7f7568!important;text-transform:uppercase!important;letter-spacing:.7px!important}

.crime-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.crime-row{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;grid-template-rows:1fr auto!important;gap:0 13px!important;min-height:170px!important;padding:12px!important;background:linear-gradient(145deg,#111313 0%,#080909 70%)!important;border:1px solid #3d3021!important;position:relative!important;overflow:hidden!important;transition:transform .18s ease,border-color .18s ease!important}
.crime-row:hover:not(.locked){transform:translateY(-2px)!important;border-color:#765126!important}
.crime-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(#c89a54,#5b3a1b)!important}
.crime-art{width:86px!important;height:86px!important;grid-row:1/3!important;border:1px solid #4d3922!important;background:#070808!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.crime-art span{font-size:34px!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.7))}
.crime-row h3{font:700 14px Georgia,serif!important;color:#e3d3b8!important;margin:2px 0 7px!important}.crime-row p{font-size:8px!important;line-height:1.45!important;color:#8e867a!important;margin:0 0 9px!important}
.crime-tier,.level-req-badge{display:inline-block!important;padding:3px 5px!important;border:1px solid #604423!important;background:#100d09!important;color:#c99c58!important;font:700 6px Arial,sans-serif!important;letter-spacing:.5px!important;vertical-align:2px!important}
.crime-meta{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}.crime-meta span{padding:5px 6px!important;background:#090a0a!important;border:1px solid #272119!important;font-size:7px!important;color:#756e64!important}.crime-meta b{color:#cdb78f!important}
.crime-action{grid-column:2!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:7px!important;margin-top:10px!important;padding-top:9px!important;border-top:1px solid #292219!important}
.crime-action .chance{font:700 8px Arial,sans-serif!important;color:#73c58c!important;letter-spacing:.6px!important}.crime-action .button{min-width:125px!important}
.crime-row.locked{opacity:.56!important;filter:saturate(.55)!important}.crime-row.locked:before{background:#34302a!important}
.upcoming-divider{grid-column:1/-1!important;margin:6px 0 0!important;text-align:center!important;border-bottom:1px solid #3a2b1c!important;height:8px!important}.upcoming-divider span{position:relative;top:2px;background:#090a0a;padding:0 12px;font-size:6px;color:#786b5b;letter-spacing:1px}

.theft-intro{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:12px 14px!important;margin-bottom:12px!important;background:linear-gradient(90deg,#17110c,#0a0b0b)!important;border:1px solid #4b351e!important;border-left:3px solid #a36e31!important}.theft-intro b{color:#d6aa66!important;font:700 10px Georgia,serif!important}.theft-intro span{color:#827a6f!important;font-size:8px!important;max-width:620px!important}
.theft-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.theft-card{display:grid!important;grid-template-columns:100px minmax(0,1fr)!important;grid-template-rows:1fr auto!important;gap:0 13px!important;min-height:165px!important;padding:12px!important;background:linear-gradient(145deg,#111313,#080909)!important;border:1px solid #3d3021!important;position:relative!important;overflow:hidden!important;transition:.18s ease!important}
.theft-card:hover:not(.locked){transform:translateY(-2px)!important;border-color:#765126!important}
.theft-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(#b9823d,#533319)}
.theft-card .vehicle-art{width:100px!important;height:96px!important;grid-row:1/3!important;border:1px solid #4c3822!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#070808!important}
.theft-card .vehicle-art span{font-size:37px!important;filter:drop-shadow(0 3px 5px #000)}
.theft-card h3{font:700 14px Georgia,serif!important;color:#e0d1b7!important;margin:2px 0 7px!important}.theft-card p{font-size:8px!important;color:#8b8378!important;line-height:1.45!important}
.theft-card .vehicle-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important;margin-top:9px!important}.theft-card .vehicle-stats span{padding:6px 4px!important;background:#090a0a!important;border:1px solid #292219!important;text-align:center!important;font-size:6px!important;color:#746d63!important}.theft-card .vehicle-stats b{display:block!important;margin-top:2px!important;color:#d0b98f!important;font-size:8px!important}
.theft-action{grid-column:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-top:10px!important;padding-top:9px!important;border-top:1px solid #292219!important}.theft-action>b{color:#62d88a!important;font:700 11px Georgia,serif!important}.theft-action .button{min-width:125px!important}
.theft-card.locked{opacity:.52!important;filter:saturate(.5)!important}

/* stronger feedback on the already-functional operation modal */
.purchase-overlay.show .purchase-modal{animation:uwOperationIn .24s ease-out both!important}
@keyframes uwOperationIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.purchase-stamp{letter-spacing:1.1px!important}

@media(max-width:1000px){.crime-list,.theft-list{grid-template-columns:1fr!important}}
@media(max-width:620px){
 .crime-progress-head{grid-template-columns:1fr!important}
 .crime-row,.theft-card{grid-template-columns:65px minmax(0,1fr)!important;padding:9px!important}
 .crime-art{width:65px!important;height:65px!important}.theft-card .vehicle-art{width:65px!important;height:65px!important}
 .crime-meta{grid-template-columns:1fr!important}.theft-card .vehicle-stats{grid-template-columns:1fr 1fr!important}
 .crime-action,.theft-action{grid-column:1/-1!important}.theft-intro{display:block!important}.theft-intro span{display:block;margin-top:5px}
}

/* V0.12.0.1 — operation artwork sizing + missing art replacement */
.crime-art.has-art,.theft-card .vehicle-art.has-art{
 background-image:
   linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),
   var(--art-url)!important;
 background-size:cover!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
}
.crime-art.has-art span,.theft-card .vehicle-art.has-art span{display:none!important}

/* Crime art is deliberately a portrait window; use a little more width so
   generated cinematic art reads as an actual scene rather than a cut sliver. */
.crime-row{grid-template-columns:112px minmax(0,1fr)!important}
.crime-art{width:112px!important;height:145px!important;align-self:stretch!important}
.theft-card{grid-template-columns:126px minmax(0,1fr)!important}
.theft-card .vehicle-art{width:126px!important;height:118px!important}
@media(max-width:620px){
 .crime-row,.theft-card{grid-template-columns:78px minmax(0,1fr)!important}
 .crime-art{width:78px!important;height:96px!important}
 .theft-card .vehicle-art{width:78px!important;height:82px!important}
}

/* ============================================================
   V0.12.1 — COMPLETE OPERATION ART PASS
   Approved concept translated into real website card assets.
   ============================================================ */
.crime-art.has-art,
.theft-card .vehicle-art.has-art{
 background-image:
   linear-gradient(180deg,rgba(0,0,0,.00) 55%,rgba(0,0,0,.30) 100%),
   var(--art-url)!important;
 background-size:cover!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
}
.crime-art.has-art span,
.theft-card .vehicle-art.has-art span{display:none!important}
.crime-art,.theft-card .vehicle-art{
 border-color:#69481f!important;
 box-shadow:inset 0 0 0 1px rgba(231,179,91,.06),0 4px 12px rgba(0,0,0,.28)!important;
}

/* ============================================================
   V0.12.3 — APPROVED CONCEPT STYLE BUILD
   Real HTML/CSS implementation, not a screenshot.
   ============================================================ */
.content{max-width:none!important;width:100%!important;padding:10px 16px 24px!important}
.content-inner,.game-content{max-width:1500px!important;margin:0 auto!important}
.system-hero{display:none!important}

/* tighter page heading like approved concept */
.breadcrumb{max-width:1500px!important;margin:0 auto 7px!important}
.gameplay-operations.box{max-width:1500px!important;margin:0 auto 10px!important;padding:0!important;border-color:#4e371c!important;background:#080909!important}
.gameplay-operations.box>h2{
 height:52px!important;margin:0!important;padding:0 15px!important;display:flex!important;align-items:center!important;gap:12px!important;
 background:linear-gradient(180deg,#111312,#080909)!important;border-bottom:1px solid #60411e!important;
 font-size:24px!important;color:#e1b96f!important
}
.gameplay-operations.box>h2:before{font-family:"Segoe UI Emoji";font-size:26px!important}
.gameplay-operations.box>h2 small{font:400 9px Arial,sans-serif!important;color:#aaa094!important;text-transform:none!important;letter-spacing:0!important}
.gameplay-operations .feature-note,.gameplay-operations .theft-intro{margin:8px 10px!important}
.gameplay-operations br{display:none!important}

/* horizontal desktop operation board */
.crime-list,.theft-list{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:8px!important;padding:0 10px 10px!important
}
.crime-row,.theft-card{
 display:flex!important;flex-direction:column!important;min-height:0!important;padding:0!important;gap:0!important;
 border:1px solid #61431f!important;background:linear-gradient(#101211,#060707)!important;transform:none!important
}
.crime-row:hover:not(.locked),.theft-card:hover:not(.locked){transform:translateY(-2px)!important;border-color:#b07a31!important}
.crime-row:before,.theft-card:before{display:none!important}
.crime-art,.theft-card .vehicle-art{
 width:100%!important;height:auto!important;aspect-ratio:16/7!important;grid-row:auto!important;
 border:0!important;border-bottom:1px solid #69471f!important;box-shadow:none!important
}
.crime-row>div:nth-child(2),.theft-card>div:nth-child(2){padding:8px 9px 0!important;flex:1 1 auto!important}
.crime-row h3,.theft-card h3{font-size:13px!important;margin:0 0 5px!important;color:#e6c17a!important;text-transform:uppercase!important}
.crime-row p,.theft-card p{font-size:8px!important;min-height:24px!important;margin:0 0 7px!important}
.crime-meta,.theft-card .vehicle-stats{grid-template-columns:repeat(2,1fr)!important;gap:3px!important}
.crime-meta span,.theft-card .vehicle-stats span{font-size:7px!important;padding:5px!important;background:#080909!important}
.crime-action,.theft-action{
 grid-column:auto!important;width:auto!important;margin:8px!important;padding:8px 0 0!important;
 border-top:1px solid #2e251a!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important
}
.crime-action .chance,.theft-action>b{font-size:9px!important;color:#79d992!important}
.crime-action .button,.theft-action .button{width:100%!important;min-width:0!important;height:34px!important}
.crime-progress-head{padding:0 10px!important;margin:8px 0!important}
.upcoming-divider{grid-column:1/-1!important}
.theft-intro{display:none!important}

/* gold filter chips, concept-style; purely visual hierarchy */
.gameplay-operations.box>h2:after{
 margin-left:auto;content:"ALL   ·   LOW RISK   ·   MEDIUM RISK   ·   HIGH RISK";
 font:700 7px Arial,sans-serif!important;color:#9e8a6b!important;letter-spacing:.5px!important;
 border:1px solid #49361f!important;padding:8px 10px!important;background:#090a0a!important
}

/* Make approved HQ artwork crisp inside cards */
.crime-art.has-art,.theft-card .vehicle-art.has-art{
 background-size:cover!important;background-position:center 48%!important;
 image-rendering:auto!important
}

/* compact footer-ish spacing and wide board */
@media(min-width:1400px){
 .crime-list,.theft-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(min-width:1900px){
 .content-inner,.game-content,.gameplay-operations.box,.breadcrumb{max-width:1800px!important}
 .crime-list,.theft-list{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:1100px){
 .crime-list,.theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .gameplay-operations.box>h2:after{display:none!important}
}
@media(max-width:620px){
 .content{padding:8px!important}
 .crime-list,.theft-list{grid-template-columns:1fr!important;padding:0 7px 7px!important}
 .crime-row,.theft-card{display:flex!important}
 .crime-art,.theft-card .vehicle-art{width:100%!important;height:auto!important;aspect-ratio:16/8!important}
 .gameplay-operations.box>h2{font-size:19px!important}
}

.gameplay-operations.box:has(.crime-list)>h2:before{content:"🔫"}
.gameplay-operations.box:has(.theft-list)>h2:before{content:"🚘"}

/* ============================================================
   V0.12.4 — GAMEPLAY POLISH PASS
   Cohesion, hierarchy, hover depth, risk treatment and locks.
   ============================================================ */
.gameplay-operations.box{
 background:
  radial-gradient(circle at 50% 0%,rgba(116,76,31,.08),transparent 36%),
  linear-gradient(180deg,#0c0d0d,#060707 68%)!important;
 box-shadow:0 12px 34px rgba(0,0,0,.32),inset 0 1px rgba(224,174,88,.04)!important
}
.gameplay-operations.box>h2{height:46px!important;font-size:21px!important}
.gameplay-operations .feature-note{padding:8px 11px!important;margin:6px 10px!important;font-size:8px!important}

.crime-list,.theft-list{gap:10px!important}
.crime-row,.theft-card{
 position:relative!important;
 border-color:#4f391f!important;
 box-shadow:0 6px 16px rgba(0,0,0,.28)!important;
 transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important
}
.crime-row:hover:not(.locked),.theft-card:hover:not(.locked){
 transform:translateY(-3px)!important;border-color:#a97532!important;
 box-shadow:0 11px 25px rgba(0,0,0,.42),0 0 12px rgba(189,132,52,.08)!important
}
.crime-art,.theft-card .vehicle-art{
 aspect-ratio:16/8!important;overflow:hidden!important;position:relative!important;
 transition:background-size .25s ease!important
}
.crime-art.has-art,.theft-card .vehicle-art.has-art{
 background-size:105%!important;
 background-position:center!important
}
.crime-row:hover:not(.locked) .crime-art.has-art,
.theft-card:hover:not(.locked) .vehicle-art.has-art{background-size:109%!important}
.crime-art:after,.theft-card .vehicle-art:after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 45%,rgba(4,5,5,.88) 100%);
 pointer-events:none
}

/* clearer hierarchy */
.crime-row h3,.theft-card h3{font-size:13px!important;letter-spacing:.25px!important}
.crime-row p,.theft-card p{color:#968d80!important}
.crime-meta,.theft-card .vehicle-stats{gap:0!important;border-top:1px solid #29231b!important;border-bottom:1px solid #29231b!important}
.crime-meta span,.theft-card .vehicle-stats span{
 border:0!important;border-right:1px solid #29231b!important;background:#090a0a!important;padding:6px 5px!important
}
.crime-meta span:last-child,.theft-card .vehicle-stats span:last-child{border-right:0!important}
.crime-meta b,.theft-card .vehicle-stats b{color:#d9c19a!important}

/* action area */
.crime-action,.theft-action{border-top:0!important;margin-top:5px!important;padding-top:3px!important}
.crime-action .chance{font-size:10px!important;color:#75dc92!important}
.theft-action>b{font-size:12px!important;color:#75dc92!important}
.crime-action .button,.theft-action .button{
 height:39px!important;
 background:linear-gradient(180deg,#4a3014,#1d1208)!important;
 border-color:#9b6729!important;
 color:#f2d18d!important;
 box-shadow:inset 0 1px rgba(255,220,154,.08),0 3px 8px rgba(0,0,0,.3)!important;
 transition:.16s ease!important
}
.crime-action .button:hover:not(:disabled),.theft-action .button:hover:not(:disabled){
 background:linear-gradient(180deg,#6b461c,#29180a)!important;
 border-color:#d09a48!important;transform:translateY(-1px)!important;
 box-shadow:0 0 13px rgba(207,151,66,.15),0 5px 10px rgba(0,0,0,.38)!important
}

/* risk ribbon derived visually from existing card progression */
.crime-row:not(.locked):after,.theft-card:not(.locked):after{
 position:absolute;right:6px;top:6px;z-index:4;padding:4px 6px;
 background:rgba(7,8,8,.88);border:1px solid #735027;
 font:700 6px Arial,sans-serif;letter-spacing:.6px;color:#d4ad6a
}
.crime-row:nth-of-type(-n+4):not(.locked):after{content:"LOW RISK"}
.crime-row:nth-of-type(n+5):nth-of-type(-n+12):not(.locked):after{content:"MEDIUM RISK"}
.crime-row:nth-of-type(n+13):nth-of-type(-n+24):not(.locked):after{content:"HIGH RISK";color:#df9b65}
.crime-row:nth-of-type(n+25):not(.locked):after{content:"EXTREME";color:#e77766}
.theft-card:nth-child(-n+2):not(.locked):after{content:"LOW RISK"}
.theft-card:nth-child(n+3):nth-child(-n+4):not(.locked):after{content:"MEDIUM RISK"}
.theft-card:nth-child(n+5):nth-child(-n+6):not(.locked):after{content:"HIGH RISK";color:#df9b65}
.theft-card:nth-child(n+7):not(.locked):after{content:"EXTREME";color:#e77766}

/* proper locked presentation */
.crime-row.locked,.theft-card.locked{opacity:1!important;filter:none!important}
.crime-row.locked:after,.theft-card.locked:after{
 content:"🔒"!important;position:absolute!important;inset:0!important;z-index:6!important;
 display:grid!important;place-items:center!important;
 background:rgba(3,4,4,.68)!important;
 font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif!important;font-size:30px!important;
 color:white!important;pointer-events:none!important
}
.crime-row.locked .crime-art,.theft-card.locked .vehicle-art{filter:grayscale(.72) brightness(.48)!important}
.crime-row.locked .button,.theft-card.locked .button{filter:saturate(.2)!important}

/* progress summary is quieter so cards own the page */
.crime-progress-head>div{padding:9px 12px!important}
.crime-progress-head b{font-size:15px!important}

/* remove fake filter text on smaller desktop if it crowds heading */
@media(max-width:1250px){.gameplay-operations.box>h2:after{display:none!important}}

/* ============================================================
   V0.12.4.1 — REAL SINGLE STAT STRIP
   Replaces the old boxed meta grid in the rendered markup.
   ============================================================ */
.crime-meta,.theft-card .vehicle-stats{display:none!important}

.crime-stat-strip,.theft-stat-strip{
 display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
 width:100%!important;gap:0!important;margin:8px 0 0!important;
 background:#080909!important;border-top:1px solid #30271d!important;
 border-bottom:1px solid #30271d!important;overflow:hidden!important
}
.crime-stat-strip>span,.theft-stat-strip>span{
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:4px!important;flex:1 1 auto!important;min-width:0!important;
 padding:7px 5px!important;border-right:1px solid #30271d!important;
 color:#9b9286!important;font:600 8px Arial,sans-serif!important;white-space:nowrap!important
}
.crime-stat-strip>span:last-child,.theft-stat-strip>span:last-child{border-right:0!important}
.crime-stat-strip b,.theft-stat-strip b{color:#e0c69a!important;font-size:8px!important}
.crime-stat-strip>span:first-child b,.theft-stat-strip>span:first-child b{color:#78dc94!important}
.crime-stat-strip>span:nth-child(3) b,.theft-stat-strip>span:nth-last-child(2) b{color:#e47c66!important}

.crime-reward-line{
 display:flex!important;align-items:center!important;gap:6px!important;
 margin-top:7px!important;color:#b8aa93!important;font-size:9px!important
}
.crime-reward-line b{color:#78db91!important;font:700 11px Georgia,serif!important}

.crime-action{margin-top:5px!important}
.crime-action .chance{font-size:7px!important;color:#8b8173!important;letter-spacing:.7px!important}

@media(max-width:620px){
 .crime-stat-strip,.theft-stat-strip{flex-wrap:wrap!important}
 .crime-stat-strip>span{flex:1 1 25%!important}
 .theft-stat-strip>span{flex:1 1 33%!important}
}

/* V0.12.4.2 — actual live renderer stat strip */
.crime-stats-wrap{margin-top:auto!important}
.crime-stat-strip,.theft-stat-strip{
 display:grid!important;grid-template-columns:repeat(4,1fr)!important;width:100%!important;
 margin:8px 0 0!important;border:1px solid #34291d!important;background:#080909!important
}
.theft-stat-strip{grid-template-columns:repeat(5,1fr)!important}
.crime-stat-strip span,.theft-stat-strip span{
 display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
 padding:7px 3px!important;border-right:1px solid #34291d!important;
 font:700 8px Arial,sans-serif!important;color:#a79c8e!important;white-space:nowrap!important
}
.crime-stat-strip span:last-child,.theft-stat-strip span:last-child{border-right:0!important}
.crime-stat-strip b,.theft-stat-strip b{color:#dfc79d!important}
.crime-stat-strip span:first-child b,.theft-stat-strip span:first-child b{color:#7fe09a!important}
.crime-stat-strip span:nth-child(3) b,.theft-stat-strip span:nth-child(4) b{color:#e27b68!important}
.crime-reward-line{display:flex!important;align-items:center!important;gap:6px!important;padding:7px 2px 2px!important;font-size:9px!important}
.crime-reward-line b{font-size:11px!important;color:#76d98e!important}
.crime-locked-line{margin-top:9px;padding:8px;text-align:center;border:1px solid #553b22;background:#0c0a08;color:#bd9862;font:700 8px Arial,sans-serif}
@media(max-width:700px){
 .crime-stat-strip,.theft-stat-strip{grid-template-columns:repeat(2,1fr)!important}
}

/* ============================================================
   V0.12.4.3 — CARD READABILITY FIX
   Bigger cards/text/stats; stop squeezing 6 cards into desktop.
   ============================================================ */
.content-inner,.game-content,.gameplay-operations.box,.breadcrumb{max-width:1560px!important}

/* Maximum 4 cards across on normal/ultrawide desktop so stats remain readable. */
.crime-list,.theft-list{grid-template-columns:repeat(4,minmax(260px,1fr))!important;gap:12px!important}
@media(min-width:1900px){
 .content-inner,.game-content,.gameplay-operations.box,.breadcrumb{max-width:1760px!important}
 .crime-list,.theft-list{grid-template-columns:repeat(4,minmax(300px,1fr))!important}
}

/* larger artwork and readable body copy */
.crime-art,.theft-card .vehicle-art{aspect-ratio:16/7!important}
.crime-row h3,.theft-card h3{font-size:16px!important;line-height:1.05!important;margin-bottom:7px!important}
.crime-row p,.theft-card p{font-size:10px!important;line-height:1.45!important;min-height:30px!important;color:#b0a699!important}
.crime-tier,.level-req-badge{font-size:7px!important;padding:3px 6px!important}

/* the actual single stat strip */
.crime-stat-strip,.theft-stat-strip{
 margin-top:10px!important;
 min-height:39px!important;
}
.crime-stat-strip span,.theft-stat-strip span{
 padding:9px 7px!important;
 font-size:11px!important;
 gap:5px!important;
}
.crime-stat-strip b,.theft-stat-strip b{font-size:11px!important}
.crime-reward-line{padding:9px 2px 4px!important;font-size:12px!important;gap:7px!important}
.crime-reward-line b{font-size:15px!important}

/* requirements and bonuses */
.gear-meta{font-size:10px!important;line-height:1.35!important;padding:7px 8px!important;margin-top:5px!important}
.crime-action .chance{font-size:9px!important}
.gear-bonus{font-size:10px!important}
.crime-action .button,.theft-action .button{height:43px!important;font-size:10px!important}

/* slightly larger risk label */
.crime-row:not(.locked):after,.theft-card:not(.locked):after{font-size:7px!important;padding:5px 7px!important}

/* responsive */
@media(max-width:1300px){
 .crime-list,.theft-list{grid-template-columns:repeat(3,minmax(250px,1fr))!important}
}
@media(max-width:930px){
 .crime-list,.theft-list{grid-template-columns:repeat(2,minmax(250px,1fr))!important}
}
@media(max-width:620px){
 .crime-list,.theft-list{grid-template-columns:1fr!important}
 .crime-stat-strip,.theft-stat-strip{grid-template-columns:repeat(2,1fr)!important}
 .crime-row h3,.theft-card h3{font-size:15px!important}
}

/* ============================================================
   V0.12.4.4 — COMPACT CARD FLOW FIX
   Remove artificial empty vertical space and protect narrow cards.
   ============================================================ */

/* Let each operation card size to its own content instead of stretching
   every card in the row to the height of the tallest operation. */
.crime-list,.theft-list{align-items:start!important}
.crime-row,.theft-card{
 height:auto!important;
 min-height:0!important;
 align-self:start!important;
 justify-content:flex-start!important;
}

/* This rule in the previous build pushed stats/actions to the bottom. */
.crime-stats-wrap{margin-top:8px!important}

/* Keep the action directly under reward/requirements. */
.crime-action,.theft-action{
 margin:8px!important;
 margin-top:7px!important;
 padding-top:6px!important;
}
.crime-action .chance{margin:0!important}

/* Titles must never run outside the card. */
.crime-row h3,.theft-card h3{
 font-size:15px!important;
 line-height:1.15!important;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
 word-break:normal!important;
 min-height:0!important;
}

/* Four stats always fit.  Slightly smaller icon/value spacing than .3,
   while remaining much larger than the original unreadable version. */
.crime-stat-strip{
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 width:100%!important;
 overflow:hidden!important;
}
.crime-stat-strip span{
 min-width:0!important;
 padding:8px 3px!important;
 gap:3px!important;
 font-size:10px!important;
 overflow:hidden!important;
}
.crime-stat-strip b{
 min-width:0!important;
 font-size:10px!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}

/* Requirements are part of normal flow, not a tall spacer. */
.gear-meta{
 margin:6px 0 0!important;
 padding:6px 7px!important;
 min-height:0!important;
}

/* 3 columns is the sweet spot for the current game-content width.
   Very wide displays can use 4, but only when each card stays >= 330px. */
.crime-list,.theft-list{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(min-width:1500px){
 .crime-list,.theft-list{grid-template-columns:repeat(4,minmax(330px,1fr))!important}
}
@media(max-width:1050px){
 .crime-list,.theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
 .crime-list,.theft-list{grid-template-columns:1fr!important}
 .crime-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ============================================================
   V0.12.4.5 — CLEAN OPERATION GRID RESET
   Fix horizontal overflow, uneven card flow and excess dead space.
   ============================================================ */
.gameplay-operations.box{overflow:hidden!important}
.crime-list,.theft-list{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:10px!important;
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 align-items:stretch!important;
 overflow:hidden!important;
}
.crime-row,.theft-card{
 width:auto!important;max-width:100%!important;min-width:0!important;
 height:100%!important;box-sizing:border-box!important;
 display:flex!important;flex-direction:column!important;
 overflow:hidden!important;
}
.crime-art,.theft-card .vehicle-art{
 flex:0 0 auto!important;width:100%!important;
 aspect-ratio:16/8!important;
}
.crime-row>div:nth-child(2),.theft-card>div:nth-child(2){
 padding:8px 10px 0!important;
 min-width:0!important;
 display:flex!important;flex-direction:column!important;
 flex:1 1 auto!important;
}
.crime-row h3,.theft-card h3{
 font-size:13px!important;line-height:1.15!important;
 white-space:normal!important;overflow-wrap:normal!important;
 word-break:normal!important;margin:0 0 6px!important;
}
.crime-row p,.theft-card p{
 font-size:9px!important;line-height:1.35!important;
 min-height:0!important;margin:0 0 7px!important;
}
.crime-stats-wrap{margin-top:auto!important;padding-top:5px!important}
.crime-stat-strip,.theft-stat-strip{
 width:100%!important;max-width:100%!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 overflow:hidden!important;box-sizing:border-box!important;
}
.theft-stat-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.crime-stat-strip span,.theft-stat-strip span{
 min-width:0!important;padding:7px 2px!important;
 font-size:8px!important;gap:2px!important;
}
.crime-stat-strip b,.theft-stat-strip b{font-size:8px!important}
.crime-reward-line{font-size:9px!important;padding:7px 1px 2px!important}
.crime-reward-line b{font-size:12px!important}
.gear-meta{
 font-size:8px!important;line-height:1.3!important;
 overflow-wrap:anywhere!important;margin-top:5px!important;padding:5px 6px!important
}
.crime-action,.theft-action{
 margin:7px 9px 9px!important;padding:5px 0 0!important;
 margin-top:7px!important;flex:0 0 auto!important;
}
.crime-action .button,.theft-action .button{
 width:100%!important;height:37px!important;font-size:9px!important
}
.crime-action .chance{font-size:7px!important}

/* 4 columns only where they actually fit. */
@media(max-width:1380px){
 .crime-list,.theft-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1020px){
 .crime-list,.theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
 .crime-list,.theft-list{grid-template-columns:1fr!important}
 .crime-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .theft-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* kill older min-width rules that were causing the final card to spill outside */
@media(min-width:1500px){
 .crime-list,.theft-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ============================================================
   V0.12.4.6 — VEHICLE THEFT MATCHING PASS
   Bring Auto Theft cards in line with the corrected Crime cards.
   ============================================================ */
.theft-list{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:10px!important;
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 align-items:stretch!important;
 overflow:hidden!important;
}
.theft-card{
 width:auto!important;max-width:100%!important;min-width:0!important;
 height:100%!important;box-sizing:border-box!important;
 display:flex!important;flex-direction:column!important;
 overflow:hidden!important;
}
.theft-card .vehicle-art{
 flex:0 0 auto!important;width:100%!important;height:auto!important;
 aspect-ratio:16/8!important;
 background-size:105%!important;background-position:center!important;
}
.theft-card:hover:not(.locked) .vehicle-art.has-art{background-size:109%!important}
.theft-card>div:nth-child(2){
 padding:8px 10px 0!important;min-width:0!important;
 display:flex!important;flex-direction:column!important;flex:1 1 auto!important
}
.theft-card h3{
 font-size:13px!important;line-height:1.15!important;
 white-space:normal!important;overflow-wrap:normal!important;
 word-break:normal!important;margin:0 0 6px!important
}
.theft-card p{
 font-size:9px!important;line-height:1.35!important;
 min-height:0!important;margin:0 0 7px!important;color:#a79d90!important
}

/* one compact live stat strip */
.theft-stat-strip{
 display:grid!important;
 grid-template-columns:repeat(5,minmax(0,1fr))!important;
 width:100%!important;max-width:100%!important;
 margin:8px 0 0!important;
 border:1px solid #34291d!important;
 background:#080909!important;
 overflow:hidden!important;box-sizing:border-box!important
}
.theft-stat-strip span{
 min-width:0!important;display:flex!important;align-items:center!important;
 justify-content:center!important;gap:2px!important;
 padding:7px 2px!important;border-right:1px solid #34291d!important;
 font:700 8px Arial,sans-serif!important;color:#a79c8e!important;
 white-space:nowrap!important;overflow:hidden!important
}
.theft-stat-strip span:last-child{border-right:0!important}
.theft-stat-strip b{font-size:8px!important;color:#dfc79d!important}
.theft-stat-strip span:first-child b{color:#7fe09a!important}
.theft-stat-strip span:nth-child(4) b{color:#e27b68!important}

/* old four-box stats must never display */
.theft-card .vehicle-stats{display:none!important}

/* action footer aligned like Crimes */
.theft-action{
 margin:7px 9px 9px!important;padding:5px 0 0!important;
 margin-top:auto!important;flex:0 0 auto!important;
 border-top:0!important;
 display:flex!important;flex-direction:column!important;
 align-items:stretch!important;gap:7px!important
}
.theft-action>b{font-size:9px!important;color:#79dc94!important}
.theft-action .button{
 width:100%!important;min-width:0!important;height:37px!important;font-size:9px!important
}

/* Keep chance gets its own vehicle icon; no separate boxed panel. */
.theft-card.locked .theft-stat-strip{opacity:.45!important}

@media(max-width:1380px){
 .theft-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1020px){
 .theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
 .theft-list{grid-template-columns:1fr!important}
 .theft-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .theft-stat-strip span:nth-child(4),
 .theft-stat-strip span:nth-child(5){border-top:1px solid #34291d!important}
}
@media(min-width:1500px){
 .theft-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ============================================================
   V0.13.0 — COMPACT FOUR-CARD OPERATION STYLE
   Smaller cards, less boxing, emoji + text stats.
   ============================================================ */
.crime-list,.theft-list{
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:9px!important;
 align-items:stretch!important;
}
.crime-row,.theft-card{
 border:1px solid #49351f!important;
 border-radius:2px!important;
 background:linear-gradient(180deg,#101211,#080909)!important;
 box-shadow:0 4px 12px rgba(0,0,0,.26)!important;
}
.crime-art,.theft-card .vehicle-art{
 aspect-ratio:16/7!important;
 border-bottom:1px solid #523a20!important;
}
.crime-row>div:nth-child(2),.theft-card>div:nth-child(2){
 padding:7px 9px 0!important;
}
.crime-row h3,.theft-card h3{
 font-size:12px!important;line-height:1.15!important;margin:0 0 4px!important;
}
.crime-row p,.theft-card p{
 font-size:8px!important;line-height:1.35!important;margin:0 0 5px!important;
 color:#958c80!important;
}

/* Remove all old stat/reward boxes. */
.crime-stat-strip,.theft-stat-strip,.crime-reward-line{display:none!important}

/* Main reward: no box, just icon + readable text. */
.operation-reward{
 display:flex!important;align-items:center!important;gap:5px!important;
 margin:7px 0 4px!important;padding:0!important;border:0!important;background:none!important;
 font:600 9px Arial,sans-serif!important;color:#9c9386!important;
}
.operation-reward b{
 color:#79d991!important;font:700 12px Georgia,serif!important;
}

/* Simple inline emoji/text stats — no individual boxes or separators. */
.operation-meta{
 display:flex!important;align-items:center!important;flex-wrap:wrap!important;
 gap:5px 11px!important;margin:4px 0 2px!important;padding:0!important;
 border:0!important;background:none!important;
}
.operation-meta span{
 display:inline-flex!important;align-items:center!important;gap:2px!important;
 padding:0!important;border:0!important;background:none!important;
 color:#b4aa9c!important;font:600 8px Arial,sans-serif!important;white-space:nowrap!important;
}
.operation-secondary{
 margin:5px 0 0!important;padding:0!important;border:0!important;background:none!important;
 color:#a99a84!important;font:600 8px Arial,sans-serif!important;
}

/* Requirements should also feel like supporting text rather than another big box. */
.gear-meta{
 margin:5px 0 0!important;padding:0!important;border:0!important;background:none!important;
 color:#b4a384!important;font-size:8px!important;line-height:1.3!important;
}

/* Compact footer/action. */
.crime-action,.theft-action{
 margin:6px 8px 8px!important;padding:5px 0 0!important;
 border-top:1px solid #2c251d!important;gap:5px!important;
}
.crime-action .button,.theft-action .button{
 height:34px!important;font-size:8px!important;
}
.crime-action .chance,.theft-action>b{font-size:7px!important}

/* More restrained risk badge. */
.crime-row:not(.locked):after,.theft-card:not(.locked):after{
 top:5px!important;right:5px!important;padding:3px 5px!important;font-size:6px!important;
}

/* Keep four cards whenever normal desktop space is available. */
@media(max-width:1120px){
 .crime-list,.theft-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
 .crime-list,.theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
 .crime-list,.theft-list{grid-template-columns:1fr!important}
}
@media(min-width:1500px){
 .crime-list,.theft-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ============================================================
   V0.13.0.2 — EDITORIAL OPERATION CARDS
   Different approach: no rigid fixed text rows. Clean visual zones,
   compact copy, bottom utility rail, and artwork-led presentation.
   ============================================================ */
.crime-row,.theft-card{
 position:relative!important;
 display:flex!important;flex-direction:column!important;
 padding:0!important;height:100%!important;min-width:0!important;
 border:1px solid #46331e!important;
 background:linear-gradient(180deg,#111211 0%,#090a0a 100%)!important;
 box-shadow:0 5px 14px rgba(0,0,0,.30)!important;
 overflow:hidden!important;
}
.crime-art,.theft-card .vehicle-art{
 width:100%!important;height:126px!important;aspect-ratio:auto!important;
 margin:0!important;padding:0!important;border:0!important;
 background-size:cover!important;background-position:center!important;
 flex:0 0 126px!important;
}
.crime-art:after,.theft-card .vehicle-art:after{
 background:linear-gradient(180deg,transparent 48%,rgba(7,8,8,.76) 100%)!important
}

/* Content is natural again — no forced 34/42px title/description rows. */
.crime-row>div:nth-child(2),.theft-card>div:nth-child(2){
 display:block!important;padding:9px 10px 7px!important;flex:1 1 auto!important;min-width:0!important
}
.crime-row h3,.theft-card h3{
 min-height:0!important;max-height:none!important;
 font:700 12px/1.15 Georgia,serif!important;
 color:#e2bd76!important;margin:0 0 4px!important;
 white-space:normal!important;overflow:visible!important
}
.crime-row p,.theft-card p{
 min-height:0!important;max-height:none!important;
 font-size:8px!important;line-height:1.35!important;color:#938b80!important;
 margin:0 0 8px!important;overflow:visible!important
}

/* Money is a headline, not a stat box. */
.operation-reward{
 margin:0 0 6px!important;padding:0!important;
 display:flex!important;align-items:center!important;gap:5px!important;
 border:0!important;background:none!important;color:#7f766a!important;
 font-size:8px!important
}
.operation-reward b{font:700 12px Georgia,serif!important;color:#77d68e!important}

/* Stats become a quiet text rail, separated only by dots. */
.operation-meta{
 display:flex!important;align-items:center!important;flex-wrap:wrap!important;
 gap:0!important;margin:0!important;padding:0!important;border:0!important;background:none!important
}
.operation-meta span{
 position:relative!important;margin-right:13px!important;padding:0!important;
 border:0!important;background:none!important;
 color:#b7ac9d!important;font:600 8px/1.5 Arial,sans-serif!important;white-space:nowrap!important
}
.operation-meta span:not(:last-child):after{
 content:"•";position:absolute;right:-9px;color:#574a3a!important
}
.operation-secondary,.gear-meta{
 margin:5px 0 0!important;padding:0!important;border:0!important;background:none!important;
 color:#a79780!important;font:600 7px/1.35 Arial,sans-serif!important
}

/* Bottom action rail visually anchors every card without forcing text blocks. */
.crime-action,.theft-action{
 margin:0!important;padding:7px 9px 9px!important;
 border-top:1px solid #2b241b!important;background:#080909!important;
 flex:0 0 auto!important;display:grid!important;
 grid-template-columns:auto 1fr!important;gap:7px!important;align-items:center!important
}
.crime-action .chance,.theft-action>b{
 font-size:7px!important;color:#7c7367!important;letter-spacing:.5px!important
}
.crime-action .button,.theft-action .button{
 width:100%!important;min-width:0!important;height:32px!important;
 font-size:8px!important;margin:0!important
}
/* If extra gear bonus labels exist, let them occupy a slim line rather than wrecking columns. */
.crime-action .gear-bonus{
 grid-column:1!important;font-size:6px!important;white-space:nowrap!important
}

/* Smaller understated risk tab integrated into artwork. */
.crime-row:not(.locked):after,.theft-card:not(.locked):after{
 top:7px!important;right:7px!important;padding:3px 6px!important;
 border-color:rgba(180,128,57,.55)!important;background:rgba(6,7,7,.82)!important;
 font-size:6px!important
}

/* Four compact cards stay the desktop identity. */
.crime-list,.theft-list{
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:10px!important;align-items:stretch!important
}
@media(max-width:1120px){.crime-list,.theft-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.crime-list,.theft-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.crime-list,.theft-list{grid-template-columns:1fr!important}}

/* ============================================================
   V0.13.0.3 — PREMIUM CARD POLISH
   Refines V0.13.0.2 without changing its direction.
   ============================================================ */

/* Give artwork more presence while keeping four compact cards. */
.crime-art,.theft-card .vehicle-art{
 height:142px!important;
 flex-basis:142px!important;
 background-size:cover!important;
 background-position:center!important;
}
.crime-art:after,.theft-card .vehicle-art:after{
 content:""!important;display:block!important;position:absolute!important;inset:0!important;
 background:linear-gradient(180deg,transparent 48%,rgba(7,8,8,.18) 68%,rgba(7,8,8,.82) 100%)!important;
 pointer-events:none!important;
}

/* Compact natural content, but descriptions always reserve exactly two lines. */
.crime-row>div:nth-child(2),.theft-card>div:nth-child(2){
 padding:9px 10px 7px!important;
}
.crime-row h3,.theft-card h3{
 margin:0 0 4px!important;
 font-size:12px!important;
}
.crime-row p,.theft-card p{
 display:-webkit-box!important;
 -webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;
 overflow:hidden!important;
 min-height:22px!important;
 max-height:22px!important;
 margin:0 0 7px!important;
 line-height:11px!important;
}

/* Payout becomes the strongest textual element. */
.operation-reward{
 margin:0 0 7px!important;
 font-size:8px!important;
}
.operation-reward b{
 color:#82e19a!important;
 font:700 13px Georgia,serif!important;
 text-shadow:0 0 8px rgba(87,190,111,.08)!important;
}

/* Airier stat rail, still completely unboxed. */
.operation-meta{
 gap:0!important;
 margin:0 0 5px!important;
 min-height:16px!important;
}
.operation-meta span{
 margin-right:16px!important;
 font-size:8px!important;
 line-height:16px!important;
}
.operation-meta span:not(:last-child):after{
 content:"·"!important;
 right:-10px!important;
 color:#655642!important;
}

/* Requirements / keep chance sit directly above action rail. */
.operation-secondary,.gear-meta{
 margin:4px 0 0!important;
 color:#c0a16d!important;
 font-size:7px!important;
 line-height:1.35!important;
}

/* Slightly slimmer, more refined action footer. */
.crime-action,.theft-action{
 min-height:43px!important;
 padding:6px 9px 8px!important;
 grid-template-columns:1fr!important;
 gap:4px!important;
}
.crime-action .chance{display:none!important}
.crime-action .gear-bonus{
 grid-column:1!important;
 color:#c3a46e!important;
 font-size:7px!important;
}
.crime-action .button,.theft-action .button{
 height:30px!important;
 font-size:8px!important;
 letter-spacing:.55px!important;
}

/* Risk badges feel embedded into the artwork instead of pasted on top. */
.crime-row:not(.locked):after,.theft-card:not(.locked):after{
 top:7px!important;right:7px!important;
 padding:3px 6px!important;
 background:rgba(5,6,6,.72)!important;
 backdrop-filter:blur(2px)!important;
 border-width:1px!important;
 border-style:solid!important;
 box-shadow:0 2px 7px rgba(0,0,0,.38)!important;
}
.crime-row:nth-of-type(-n+4):not(.locked):after,
.theft-card:nth-child(-n+2):not(.locked):after{
 color:#9dd9a7!important;border-color:rgba(102,177,116,.65)!important
}
.crime-row:nth-of-type(n+5):nth-of-type(-n+12):not(.locked):after,
.theft-card:nth-child(n+3):nth-child(-n+4):not(.locked):after{
 color:#e0bd79!important;border-color:rgba(205,157,72,.65)!important
}
.crime-row:nth-of-type(n+13):nth-of-type(-n+24):not(.locked):after,
.theft-card:nth-child(n+5):nth-child(-n+6):not(.locked):after{
 color:#e7a06d!important;border-color:rgba(209,119,65,.7)!important
}
.crime-row:nth-of-type(n+25):not(.locked):after,
.theft-card:nth-child(n+7):not(.locked):after{
 color:#ee8174!important;border-color:rgba(211,75,64,.72)!important
}

/* Card is slightly denser overall and hover remains restrained. */
.crime-row,.theft-card{
 box-shadow:0 5px 13px rgba(0,0,0,.29)!important;
}
.crime-row:hover:not(.locked),.theft-card:hover:not(.locked){
 transform:translateY(-2px)!important;
 box-shadow:0 8px 19px rgba(0,0,0,.38),0 0 10px rgba(189,132,52,.06)!important;
}

/* V0.13.0.4 — Vehicle Theft payout/content fix
   Match the now-approved Crime card hierarchy. */
.theft-card .theft-stat-strip,.theft-card .vehicle-stats{display:none!important}
.theft-card .theft-reward{
 display:flex!important;
 margin:0 0 7px!important;
 padding:0!important;
 border:0!important;
 background:none!important;
}
.theft-card .theft-reward b{
 color:#82e19a!important;
 font:700 13px Georgia,serif!important;
}
.theft-card .theft-meta{
 display:flex!important;
 margin:0 0 5px!important;
 padding:0!important;
 border:0!important;
 background:none!important;
}
.theft-card .operation-secondary{
 display:block!important;
 margin:4px 0 0!important;
 color:#c0a16d!important;
 font-size:7px!important;
}
.theft-action{
 display:block!important;
 padding:6px 9px 8px!important;
 min-height:0!important;
}
.theft-action>b{display:none!important}
.theft-action .button{
 display:block!important;
 width:100%!important;
 height:30px!important;
}

/* ============================================================
   V0.14.0 — BLACK MARKET OVERHAUL
   ============================================================ */
.market-overhaul{padding:0!important;overflow:hidden!important;background:linear-gradient(180deg,#0d0e0e,#070808)!important}
.market-titlebar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;border-bottom:1px solid #553b1e;background:radial-gradient(circle at 20% 0%,rgba(128,84,31,.11),transparent 38%),#0a0b0b}
.market-titlebar small{font:700 7px Arial;color:#8d795d;letter-spacing:1.4px}
.market-titlebar h2{margin:2px 0 3px!important;border:0!important;padding:0!important;background:none!important;color:#e0b86e!important;font-size:22px!important}
.market-titlebar p{margin:0;color:#91887c;font-size:9px}
.market-wallet{min-width:180px;text-align:right;border-left:1px solid #49351e;padding-left:18px}
.market-wallet span{display:block;font:700 7px Arial;color:#827767;letter-spacing:1px}
.market-wallet b{display:block;margin-top:4px;color:#82df99;font:700 16px Georgia,serif}

.market-tabs{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid #29231b;background:#080909;overflow-x:auto}
.market-tabs span{white-space:nowrap;padding:5px 8px;border:1px solid #30271d;color:#82796c;font:700 7px Arial;letter-spacing:.35px}
.market-tabs span.active{border-color:#79532a;color:#d8b574;background:#161109}

.market-category{padding:10px 12px 12px;border-bottom:1px solid #282219}
.market-category:last-child{border-bottom:0}
.market-category-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 7px}
.market-category-head h3{margin:0;color:#caa663;font:700 11px Georgia,serif;letter-spacing:.4px}
.market-category-head span{font:700 6px Arial;color:#70685e;letter-spacing:.8px}

.market-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.market-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #44321f;background:linear-gradient(180deg,#111211,#080909);box-shadow:0 4px 12px rgba(0,0,0,.25);transition:.17s ease}
.market-card:hover:not(.locked){transform:translateY(-2px);border-color:#8d622f;box-shadow:0 7px 17px rgba(0,0,0,.35),0 0 10px rgba(181,128,52,.05)}
.market-card-art{position:relative;width:100%;height:122px;background:#111;background-size:cover!important;background-position:center!important;border-bottom:1px solid #49351e;overflow:hidden}
.market-card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,6,6,.78));pointer-events:none}
.market-card-art>span{position:absolute;inset:0;display:grid;place-items:center;color:#846b49;font:700 27px Georgia;z-index:1}
.market-card-art.has-art>span{display:none}
.market-rarity{position:absolute;z-index:3;right:6px;top:6px;margin:0!important;padding:3px 5px!important;background:rgba(5,6,6,.78)!important;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.market-card-body{padding:8px 9px 7px;flex:1}
.market-card-body h3{margin:0 0 4px;color:#dfba73;font:700 12px/1.15 Georgia,serif}
.market-card-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:22px;max-height:22px;margin:0 0 7px;color:#938a7e;font-size:8px;line-height:11px}
.market-card-stat{margin:0 0 5px;color:#b7a78e;font:700 8px Arial}
.market-card-price{color:#8c8377;font-size:8px}
.market-card-price b,.market-card-price b *{color:#82df99!important;font:700 12px Georgia,serif!important}
.market-card-action{padding:6px 8px 8px;border-top:1px solid #29231b;background:#080909;margin-top:auto}
.market-card-action .button{width:100%;height:30px;font-size:8px;letter-spacing:.5px}
.market-qty{display:grid!important;grid-template-columns:27px 1fr 27px!important;gap:4px!important;margin:0 0 5px!important}
.market-qty button,.market-qty input{height:26px!important;box-sizing:border-box!important;text-align:center!important}
.market-card.locked .market-card-art{filter:grayscale(.7) brightness(.45)}
.market-card.locked:after{content:"🔒";position:absolute;inset:0;display:grid;place-items:center;background:rgba(4,5,5,.48);font-size:25px;z-index:5;pointer-events:none}

@media(max-width:1120px){.market-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.market-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-titlebar{align-items:flex-start}.market-wallet{min-width:140px}}
@media(max-width:540px){.market-card-grid{grid-template-columns:1fr}.market-titlebar{display:block}.market-wallet{text-align:left;border-left:0;border-top:1px solid #49351e;padding:8px 0 0;margin-top:8px}}

/* ============================================================
   V0.14.0.1 — BLACK MARKET CARD / ART FIX
   ============================================================ */

/* Short categories should fill their row instead of pretending a fourth card exists. */
.market-card-grid.market-count-1{grid-template-columns:minmax(0,420px)!important}
.market-card-grid.market-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.market-card-grid.market-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Replace the broken crime-art lookup with a deliberate item-art presentation. */
.market-card-art{
 height:138px!important;
 display:grid!important;place-items:center!important;
 isolation:isolate!important;
 background:
   radial-gradient(circle at 50% 44%,rgba(196,145,67,.17),transparent 24%),
   radial-gradient(circle at 50% 60%,rgba(255,255,255,.025),transparent 42%),
   linear-gradient(135deg,#17130e,#090a0a 62%,#120d08)!important;
}
.market-card-art:before{
 content:"";position:absolute;inset:8px;z-index:-1;
 border:1px solid rgba(160,113,52,.12);
 background:
  linear-gradient(90deg,transparent 49.5%,rgba(170,122,55,.06) 50%,transparent 50.5%),
  linear-gradient(0deg,transparent 49.5%,rgba(170,122,55,.05) 50%,transparent 50.5%);
}
.market-card-art:after{
 background:linear-gradient(180deg,transparent 45%,rgba(5,6,6,.75) 100%)!important
}
.market-item-icon{
 display:grid!important;place-items:center!important;
 position:relative!important;inset:auto!important;
 z-index:2!important;
 width:68px!important;height:68px!important;
 border-radius:50%!important;
 background:radial-gradient(circle,rgba(116,78,32,.24),rgba(10,10,9,.25) 67%,transparent 70%)!important;
 filter:drop-shadow(0 7px 9px rgba(0,0,0,.55))!important;
 font-size:40px!important;color:#d0a75f!important;
}

/* Item families get subtly different dealer-table atmospheres. */
.market-art-bandage,.market-art-medkit{background:radial-gradient(circle at 50% 44%,rgba(116,58,45,.24),transparent 25%),linear-gradient(135deg,#18110e,#090a0a 64%,#100b09)!important}
.market-art-lockpick,.market-art-burner_phone{background:radial-gradient(circle at 50% 44%,rgba(75,105,105,.20),transparent 25%),linear-gradient(135deg,#101717,#080a0a 64%,#0b1111)!important}
.market-art-knife,.market-art-pistol,.market-art-smg,.market-art-shotgun,.market-art-rifle{background:radial-gradient(circle at 50% 44%,rgba(137,91,39,.22),transparent 25%),linear-gradient(135deg,#18140f,#080909 64%,#120d08)!important}
.market-art-vest,.market-art-heavy_vest{background:radial-gradient(circle at 50% 44%,rgba(74,82,69,.24),transparent 25%),linear-gradient(135deg,#121612,#080909 64%,#0c100c)!important}

/* Cleaner dealer listing: stats and money are plain text, never little dashboard boxes. */
.market-card-stat,.market-card-price{
 border:0!important;background:none!important;padding:0!important;
}
.market-card-stat{margin:0 0 6px!important;color:#c3a46e!important;font-size:8px!important}
.market-card-price{margin:0!important;color:#887f73!important;font-size:8px!important}
.market-card-price b,.market-card-price b *{
 color:#82df99!important;font:700 13px Georgia,serif!important;
}

/* Product copy and footer polish. */
.market-card-body{padding:9px 10px 8px!important}
.market-card-body h3{font-size:12px!important;margin-bottom:4px!important}
.market-card-body p{margin-bottom:8px!important}
.market-card-action{padding:7px 9px 9px!important}
.market-card-action .button{height:31px!important}
.market-qty{max-width:150px!important}

/* Responsive short-category overrides. */
@media(max-width:820px){
 .market-card-grid.market-count-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .market-card-grid.market-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:540px){
 .market-card-grid.market-count-1,.market-card-grid.market-count-2,.market-card-grid.market-count-3{grid-template-columns:1fr!important}
}

/* ============================================================
   V0.14.0.2 — UNIQUE BLACK MARKET ARTWORK
   Real per-item cinematic art from the approved concept.
   ============================================================ */
.market-card-art.has-real-art{
 background-size:cover!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art .market-item-icon{display:none!important}
.market-card-art.has-real-art:after{
 background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(5,6,6,.12) 65%,rgba(5,6,6,.72) 100%)!important;
}
/* Give real artwork a little more visual presence. */
.market-card-art.has-real-art{height:145px!important}
.market-card:hover:not(.locked) .market-card-art.has-real-art{
 filter:brightness(1.04) contrast(1.02)!important;
}

/* V0.14.0.3 — artwork real item-ID fix */
.market-card-art.has-real-art{
 background-color:#0a0a09!important;
 background-size:cover!important;
 background-position:center center!important;
}
.market-card-art.has-real-art .market-item-icon{display:none!important}

/* V0.14.0.4 — every live Black Market item has its own artwork asset */
.market-card-art.has-real-art{
 background-size:cover!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
 height:145px!important;
}
.market-card-art.has-real-art .market-item-icon{display:none!important}

/* V0.14.0.5 — use real IMG elements; old !important backgrounds can no longer hide artwork */
.market-card-art.has-real-art{position:relative!important;height:145px!important;overflow:hidden!important}
.market-card-art .market-art-img{
 display:block!important;position:absolute!important;inset:0!important;z-index:1!important;
 width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;
 opacity:1!important;visibility:visible!important;filter:none!important
}
.market-card-art.has-real-art .market-item-icon{display:none!important}
.market-card-art .market-rarity{z-index:4!important}
.market-card-art.has-real-art:after{z-index:2!important;pointer-events:none!important}

/* ============================================================
   V0.14.0.6 — BLACK MARKET ARTWORK CORRECTNESS
   - Never display a mismatched physical item.
   - Website rarity badge is the only rarity label.
   - Full artwork fits inside the image viewport.
   ============================================================ */
.market-card-art{
 background:#080909!important;
}
.market-card-art .market-art-img{
 object-fit:contain!important;
 object-position:center!important;
 background:#080909!important;
}
.market-card-art.has-real-art:after{
 background:linear-gradient(180deg,transparent 70%,rgba(5,6,6,.58) 100%)!important;
}
.market-rarity{
 right:7px!important;top:7px!important;
 min-width:46px!important;text-align:center!important;
}
/* cover the top-right corner of the artwork beneath the real rarity badge,
   ensuring old generated rarity text can never show through */
.market-card-art.has-real-art:before{
 content:""!important;display:block!important;position:absolute!important;
 right:0!important;top:0!important;width:26%!important;height:52px!important;
 z-index:3!important;
 background:linear-gradient(270deg,rgba(5,6,6,.98),rgba(5,6,6,.86) 68%,transparent)!important;
 pointer-events:none!important;
}

/* ============================================================
   V0.14.1.0 — DEDICATED ONE-TO-ONE BLACK MARKET ART
   Every live item has a purpose-made matching image.
   ============================================================ */
.market-card-art{
 height:145px!important;
 background:#070808!important;
}
.market-card-art .market-art-img{
 object-fit:cover!important;
 object-position:center!important;
 width:100%!important;height:100%!important;
}
/* Dedicated assets contain no rarity text, so only the live badge is visible. */
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 background:linear-gradient(180deg,transparent 68%,rgba(4,5,5,.52) 100%)!important;
}
.market-rarity{z-index:4!important}

/* V0.14.1.1 — complete market art deployment fix */
.market-card-art{position:relative!important;height:145px!important;overflow:hidden!important;background:#070808!important}
.market-card-art .market-art-img{
 position:absolute!important;inset:0!important;z-index:1!important;
 display:block!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;
 opacity:1!important;visibility:visible!important;
}
.market-card-art.has-real-art .market-item-icon{display:none!important}
.market-card-art.art-failed .market-item-icon{
 display:grid!important;position:absolute!important;inset:0!important;z-index:1!important;
 place-items:center!important;font-size:38px!important
}
.market-card-art .market-rarity{z-index:4!important}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:2!important;
 background:linear-gradient(180deg,transparent 70%,rgba(4,5,5,.48) 100%)!important;pointer-events:none!important
}

/* ============================================================
   V0.14.1.2 — BLACK MARKET ARTWORK ZOOM-OUT
   Keep the cinematic frame but reveal more of each item.
   ============================================================ */
.market-card-art{
 height:150px!important;
 background:
   radial-gradient(circle at center,rgba(84,59,29,.12),transparent 56%),
   #070808!important;
}
.market-card-art .market-art-img{
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
 object-position:center center!important;
 padding:5px 7px!important;
 box-sizing:border-box!important;
 transform:scale(.94)!important;
 transform-origin:center!important;
}
/* Soft backdrop fills the frame so contain doesn't look like ugly letterboxing. */
.market-card-art.has-real-art:before{
 content:""!important;
 display:block!important;
 position:absolute!important;
 inset:0!important;
 z-index:0!important;
 background:radial-gradient(circle at 50% 50%,rgba(105,74,34,.12),rgba(7,8,8,.96) 72%)!important;
}
.market-card-art.has-real-art:after{
 z-index:2!important;
 background:linear-gradient(180deg,transparent 74%,rgba(4,5,5,.42) 100%)!important;
}
.market-card-art .market-art-img{z-index:1!important}
.market-card-art .market-rarity{z-index:4!important}

/* ============================================================
   V0.14.1.3 — MARKET ART FIT CORRECTION
   Undo the V0.14.1.2 contain/scale experiment.
   The actual assets are already ~2.14:1, matching the card viewport.
   ============================================================ */
.market-card-art{
 height:132px!important;
 padding:0!important;
 background:#070808!important;
}
.market-card-art .market-art-img{
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 padding:0!important;
 margin:0!important;
 transform:none!important;
 object-fit:cover!important;
 object-position:center center!important;
 background:transparent!important;
}
.market-card-art.has-real-art:before{
 display:none!important;
}
.market-card-art.has-real-art:after{
 content:""!important;
 display:block!important;
 position:absolute!important;
 inset:0!important;
 z-index:2!important;
 background:linear-gradient(180deg,transparent 72%,rgba(4,5,5,.32) 100%)!important;
 pointer-events:none!important;
}
.market-card-art .market-rarity{
 top:6px!important;
 right:7px!important;
 z-index:4!important;
}

/* ============================================================
   V0.14.2.0 — SOURCE-REFRAMED MARKET ARTWORK
   Images themselves now contain breathing room; CSS no longer zooms.
   ============================================================ */
.market-card-art{height:138px!important;background:#070808!important}
.market-card-art .market-art-img{
 position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;
 padding:0!important;margin:0!important;transform:none!important;
 object-fit:cover!important;object-position:center!important;
 background:#070808!important
}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 background:linear-gradient(180deg,transparent 76%,rgba(4,5,5,.26) 100%)!important
}

/* ============================================================
   V0.14.3.0 — EXACT ITEM ART / NO IMAGE RARITY
   ============================================================ */
.market-rarity{display:none!important}
.market-card-art{
 height:140px!important;
 background:#070808!important;
}
.market-card-art .market-art-img{
 position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;
 padding:0!important;margin:0!important;transform:none!important;
}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 background:linear-gradient(180deg,transparent 80%,rgba(4,5,5,.20) 100%)!important
}

/* V0.14.3.1 — direct artwork build */
.market-rarity{display:none!important}
.market-card-art{
 height:140px!important;
 padding:0!important;
 overflow:hidden!important;
 background:#070808!important;
}
.market-card-art .market-art-img{
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 padding:0!important;
 margin:0!important;
 transform:none!important;
 object-fit:cover!important;
 object-position:center!important;
}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 content:""!important;
 position:absolute!important;
 inset:0!important;
 z-index:2!important;
 background:linear-gradient(180deg,transparent 82%,rgba(4,5,5,.18) 100%)!important;
 pointer-events:none!important;
}

/* ============================================================
   V0.14.3.2 — GARAGE + PROPERTY MODAL + LATE MARKET FIXES
   ============================================================ */

/* Property upgrade rows were wider than the modal and clipped the action buttons. */
.property-upgrade-modal{
 width:min(760px,calc(100vw - 32px))!important;
 max-width:760px!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
}
.property-upgrade-modal .purchase-copy{
 min-width:0!important;
}
.property-upgrade-list{
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}
.property-upgrade-row{
 display:grid!important;
 grid-template-columns:minmax(190px,1fr) 72px 92px 128px!important;
 gap:10px!important;
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
 align-items:center!important;
}
.property-upgrade-row>div:first-child{min-width:0!important}
.property-upgrade-row .button{
 width:128px!important;
 max-width:128px!important;
 min-width:0!important;
 padding-left:6px!important;
 padding-right:6px!important;
 white-space:nowrap!important;
}
.upgrade-pips{min-width:0!important}
@media(max-width:720px){
 .property-upgrade-row{
   grid-template-columns:minmax(0,1fr) 65px!important;
 }
 .property-upgrade-row .upgrade-pips{grid-column:1/2!important}
 .property-upgrade-row .button{grid-column:2/3!important;width:100%!important;max-width:none!important}
}

/* Keep later market artwork framed consistently. */
.market-card-art .market-art-img{
 object-fit:cover!important;
 object-position:center!important;
}

/* ============================================================
   V0.14.3.3 — PROPERTY MODAL + LATE MARKET CLEANUP
   ============================================================ */

/* Override the previous 4-column renovation row. Use two clean rows:
   description/level on top, pips + button below. */
.property-upgrade-modal{
 width:min(700px,calc(100vw - 40px))!important;
 max-width:700px!important;
 overflow:visible!important;
}
.property-upgrade-modal .purchase-copy{overflow:visible!important}
.property-upgrade-list{display:grid!important;gap:10px!important}
.property-upgrade-row{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 grid-template-areas:
   "info level"
   "pips action"!important;
 gap:8px 14px!important;
 align-items:center!important;
 padding:14px!important;
 min-height:86px!important;
 overflow:hidden!important;
}
.property-upgrade-row>div:first-child{grid-area:info!important}
.property-upgrade-row .upgrade-level{grid-area:level!important;min-width:68px!important;text-align:right!important}
.property-upgrade-row .upgrade-pips{grid-area:pips!important;display:flex!important;gap:5px!important;min-width:0!important}
.property-upgrade-row>.button{
 grid-area:action!important;
 width:auto!important;
 min-width:155px!important;
 max-width:none!important;
 justify-self:end!important;
 padding:10px 14px!important;
 white-space:nowrap!important;
 box-sizing:border-box!important;
}
.property-upgrade-modal .purchase-actions{
 margin-top:12px!important;
 width:100%!important;
 box-sizing:border-box!important;
}
.property-upgrade-modal .purchase-actions .button{width:100%!important}

@media(max-width:620px){
 .property-upgrade-modal{width:calc(100vw - 20px)!important}
 .property-upgrade-row{
   grid-template-columns:1fr!important;
   grid-template-areas:"info" "level" "pips" "action"!important;
 }
 .property-upgrade-row .upgrade-level{text-align:left!important}
 .property-upgrade-row>.button{width:100%!important;justify-self:stretch!important}
}

/* Late-market assets now have their own built-in backdrop; keep them edge-to-edge. */
.market-card-art .market-art-img{
 width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;
}

/* V0.14.3.4 — restore compact renovation rows, fixed to fit */
.property-upgrade-modal{
 width:min(860px,calc(100vw - 40px))!important;
 max-width:860px!important;
 overflow:hidden!important;
}
.property-upgrade-modal .purchase-copy{min-width:0!important;overflow:hidden!important}
.property-upgrade-list{display:grid!important;gap:8px!important;width:100%!important}
.property-upgrade-row{
 display:grid!important;
 grid-template-columns:minmax(190px,1fr) 74px 112px 168px!important;
 grid-template-areas:"info level pips action"!important;
 gap:12px!important;
 align-items:center!important;
 min-height:64px!important;
 padding:10px 12px!important;
 width:100%!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
}
.property-upgrade-row>div:first-child{grid-area:info!important;min-width:0!important}
.property-upgrade-row .upgrade-level{grid-area:level!important;text-align:center!important;min-width:0!important}
.property-upgrade-row .upgrade-pips{grid-area:pips!important;display:flex!important;justify-content:center!important;gap:5px!important;min-width:0!important}
.property-upgrade-row>.button{
 grid-area:action!important;width:168px!important;min-width:168px!important;max-width:168px!important;
 justify-self:end!important;padding:9px 8px!important;box-sizing:border-box!important;white-space:nowrap!important
}
.property-upgrade-modal .purchase-actions{width:100%!important;margin-top:10px!important}
.property-upgrade-modal .purchase-actions .button{width:auto!important;min-width:120px!important}
@media(max-width:760px){
 .property-upgrade-row{
  grid-template-columns:minmax(0,1fr) 70px!important;
  grid-template-areas:"info level" "pips action"!important;
 }
 .property-upgrade-row>.button{width:155px!important;min-width:155px!important;max-width:155px!important}
}

/* Accessory section: consistent image viewport, no neighboring-card bleed. */
.market-card-art .market-art-img{object-position:center!important}

/* ============================================================
   V0.15.0.0 — OWNER CONTROL CENTER / NEW UNDERWORLD GUI
   ============================================================ */
.owner-v2{display:grid;gap:14px;margin-bottom:18px}
.owner-v2-hero{
 display:flex;justify-content:space-between;align-items:center;gap:18px;
 padding:18px 20px;border:1px solid #6e512d;
 background:linear-gradient(135deg,#17130e,#0b0c0c 58%,#17100d);
 box-shadow:inset 0 0 28px rgba(169,112,48,.08)
}
.owner-v2-hero small{letter-spacing:2px;color:#9d7a4d;font-weight:800}
.owner-v2-hero h1{margin:3px 0 4px;font-size:25px;letter-spacing:1px;color:#e0b66f}
.owner-v2-hero p{margin:0;color:#9f9a90}
.owner-live-dot{font-size:11px;color:#78a879;white-space:nowrap}
.owner-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.owner-stat{
 display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;
 border:1px solid #3b3328;background:linear-gradient(#141413,#0d0e0e)
}
.owner-stat>span{font-size:22px}
.owner-stat b{display:block;color:#e2c084;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.owner-stat small{display:block;color:#77736c;font-size:9px;letter-spacing:1px}
.owner-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.owner-tool-card{
 min-height:104px;text-align:left;padding:14px;border:1px solid #443725;
 background:linear-gradient(145deg,#171613,#0d0e0e);color:#aaa49a;cursor:pointer
}
.owner-tool-card:hover{border-color:#9c7138;transform:translateY(-1px)}
.owner-tool-card>span{display:block;font-size:22px;margin-bottom:7px}
.owner-tool-card b{display:block;color:#d9b273;font-size:12px;letter-spacing:.6px;margin-bottom:4px}
.owner-tool-card small{font-size:10px;line-height:1.4;color:#77736c}
.owner-v2-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.owner-module{
 scroll-margin-top:130px;padding:14px;border:1px solid #393127;background:#0e0f0f
}
.owner-module h2{margin:0 0 8px;color:#c99b58;font-size:12px;letter-spacing:1px}
.owner-module p{margin:0;color:#827e76;font-size:11px}
.owner-quick-actions{display:flex;gap:6px;flex-wrap:wrap}
.owner-quick-actions .button{font-size:9px!important}
@media(max-width:1000px){
 .owner-stat-grid{grid-template-columns:repeat(3,1fr)}
 .owner-tool-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .owner-v2-hero{align-items:flex-start;flex-direction:column}
 .owner-stat-grid,.owner-tool-grid,.owner-v2-sections{grid-template-columns:1fr}
}

/* ============================================================
   V0.15.0.2 — BLACK MARKET IMAGE FIX
   Owner Shop removed. Black Market remains the single item shop.
   ============================================================ */
.market-rarity{display:none!important}
.market-card-art{
 position:relative!important;
 height:140px!important;
 padding:0!important;
 overflow:hidden!important;
 background:#070808!important;
}
.market-card-art .market-art-img{
 display:block!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 padding:0!important;
 margin:0!important;
 transform:none!important;
 object-fit:cover!important;
 object-position:center!important;
 opacity:1!important;
 visibility:visible!important;
}
.market-card-art.has-real-art .market-item-icon{display:none!important}
.market-card-art.has-real-art:before{display:none!important}
.market-card-art.has-real-art:after{
 content:""!important;
 display:block!important;
 position:absolute!important;
 inset:0!important;
 z-index:2!important;
 background:linear-gradient(180deg,transparent 82%,rgba(4,5,5,.18) 100%)!important;
 pointer-events:none!important;
}

/* ============================================================
   V0.15.1.0 — FUNCTIONAL OWNER COMMAND CENTER
   ============================================================ */
.owner-v3{display:grid;gap:12px;margin-bottom:14px}
.owner-v3-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border:1px solid #76552d;background:linear-gradient(120deg,#1d1710,#0b0d0d 55%,#15100c);box-shadow:inset 0 0 45px rgba(176,119,48,.08),0 8px 24px rgba(0,0,0,.22)}
.owner-v3-hero:after{content:"";position:absolute;right:-80px;top:-130px;width:350px;height:350px;border:1px solid rgba(181,126,56,.10);transform:rotate(35deg)}
.owner-v3-title small{color:#9f7947;letter-spacing:2.2px;font-weight:900;font-size:9px}
.owner-v3-title h1{margin:4px 0;color:#e0b66f;font-size:27px;letter-spacing:1.4px}
.owner-v3-title p{margin:0;color:#89847b;font-size:11px}
.owner-v3-status{position:relative;z-index:1;min-width:185px;padding:11px 13px;border:1px solid #344131;background:#0b100c}
.owner-v3-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#70a56c;margin-right:6px;box-shadow:0 0 9px #70a56c}
.owner-v3-status b{font-size:9px;color:#9fbe96}.owner-v3-status small{display:block;margin:5px 0 0 15px;color:#566052;font-size:8px;letter-spacing:1px}
.owner-v3-launchers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.owner-v3-launchers>button{position:relative;min-height:130px;text-align:left;padding:15px;border:1px solid #3c3327;background:linear-gradient(145deg,#151410,#0b0c0c);cursor:pointer;color:#817c73;transition:.15s}
.owner-v3-launchers>button:hover{border-color:#a1763e;background:linear-gradient(145deg,#1c1811,#0d0e0d);transform:translateY(-2px)}
.owner-v3-launchers span{font-size:24px;display:block;margin-bottom:9px}.owner-v3-launchers b{display:block;color:#d8af6e;font-size:11px;letter-spacing:.8px}.owner-v3-launchers small{display:block;font-size:9px;line-height:1.45;margin:5px 0 12px}.owner-v3-launchers em{font-style:normal;color:#86683f;font-size:8px;font-weight:900}
.owner-v3-quick{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 11px;border:1px solid #302a23;background:#0b0c0c}
.owner-v3-quick>b{font-size:9px;color:#806747;margin-right:5px;letter-spacing:1px}.owner-v3-quick button{border:1px solid #3b3226;background:#121210;color:#9e927f;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}.owner-v3-quick button:hover{border-color:#8c693a;color:#d7b273}
.owner-command-center{border-color:#574329!important;background:linear-gradient(#11110f,#0b0c0c)!important}
.owner-tabs{display:flex!important;gap:4px!important;padding:6px!important;background:#090a0a!important;border:1px solid #302a22!important}
.owner-tabs button{flex:1!important;padding:10px 8px!important;border:1px solid transparent!important;background:#111210!important;color:#777!important;font-size:9px!important;font-weight:900!important;letter-spacing:.7px!important}
.owner-tabs button.active{background:#211a10!important;color:#d7ae6b!important;border-color:#6c4e2c!important}
@media(max-width:900px){.owner-v3-launchers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.owner-v3-hero{align-items:flex-start;flex-direction:column}.owner-v3-launchers{grid-template-columns:1fr}.owner-v3-status{width:100%;box-sizing:border-box}}

/* V0.15.1.1 — restore actual images to previously blank late-market cards */
.market-card-art .market-art-img{
 display:block!important;
 opacity:1!important;
 visibility:visible!important;
 width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;
}

/* V0.15.1.2 — exact approved Black Market reference artwork */
.market-card-art .market-art-img{
 object-fit:cover!important;
 object-position:center!important;
 transform:none!important;
 padding:0!important;
}

/* V0.15.1.3 — Kingpin Armor + Nightfall Vest framing */
.market-card-art .market-art-img{
 object-fit:cover!important;
 object-position:center!important;
}

/* V0.15.1.4 — source-level Kingpin/Nightfall repair */
.market-card-art .market-art-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    padding:0!important;
}

/* V0.15.2.1 — safe City Bank GUI */
.bank-v2{display:grid;gap:10px}.bank-v2-hero{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid #6b4e2c;background:linear-gradient(120deg,#1b160f,#0b0d0d 60%,#16110c)}.bank-brand{display:flex;align-items:center;gap:13px}.bank-seal{font-size:28px}.bank-brand small,.bank-panel-head small,.bank-vault-panel>small{color:#987344;font-size:8px;letter-spacing:1.6px}.bank-brand h1{margin:2px 0;color:#deb46d;font-size:23px}.bank-brand p{margin:0;color:#777;font-size:9px}.bank-secure{border:1px solid #354632;background:#0a0f0b;color:#79a576;padding:9px 11px;font-size:8px}.bank-secure small{display:block;margin-top:3px;color:#536050}.bank-balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.bank-balance-card{padding:14px;border:1px solid #393127;background:#0e0f0e}.bank-balance-card.primary{border-color:#75542d;background:#18130d}.bank-balance-card small{color:#81715a;font-size:8px}.bank-balance-card strong{display:block;color:#dfb772;font-size:21px;margin:5px 0}.bank-balance-card span{color:#666;font-size:8px}.bank-v2-main{display:grid;grid-template-columns:1.45fr .7fr;gap:9px}.bank-transfer-panel,.bank-vault-panel{padding:15px;border:1px solid #393127;background:#0d0e0e}.bank-panel-head{display:flex;justify-content:space-between}.bank-panel-head h2,.bank-vault-panel h2{margin:2px 0;color:#cca05e;font-size:13px}.bank-panel-head>span{color:#81a27b;font-size:8px}.bank-amount-label{display:block;margin:13px 0 5px;color:#777;font-size:8px}.bank-amount-wrap{display:flex;height:42px;border:1px solid #54432e;background:#080909}.bank-amount-wrap span{padding:10px 12px;color:#c09558;border-right:1px solid #302a22}.bank-amount-wrap input{flex:1;min-width:0;border:0!important;background:transparent!important;color:#dfbb7d!important;padding:0 10px!important}.bank-quick-amounts{display:flex;gap:5px;margin:7px 0 11px}.bank-quick-amounts button{flex:1;border:1px solid #342d24;background:#111210;color:#8b8174;padding:6px;cursor:pointer}.bank-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bank-action{display:grid;grid-template-columns:30px 1fr;text-align:left;padding:9px;border:1px solid #634a2d;background:#17130e;color:#aaa;cursor:pointer}.bank-action span{grid-row:1/3;font-size:20px;color:#c89b59}.bank-action b{color:#d9af6a;font-size:9px}.bank-action small{font-size:8px;color:#6e6962}.bank-vault-panel{text-align:center}.bank-vault-icon{font-size:30px}.bank-protection-bar{height:6px;border:1px solid #3b3227;background:#080909;margin:9px 0}.bank-protection-bar i{display:block;height:100%;background:#9a713d}.bank-vault-panel p{color:#777;font-size:9px}.bank-vault-rule{padding:8px;border-top:1px solid #29251f;color:#7fa079;font-size:9px}.bank-vault-rule b{color:#999}.bank-v2-notice{display:flex;gap:9px;padding:10px 12px;border:1px solid #322c24;background:#0c0d0d}.bank-v2-notice b{color:#a98a5e;font-size:9px}.bank-v2-notice p{margin:2px 0;color:#6d6962;font-size:8px}@media(max-width:800px){.bank-balance-grid,.bank-v2-main{grid-template-columns:1fr}.bank-v2-hero{align-items:flex-start;flex-direction:column}}

/* ============================================================
   V0.15.3.0 — CITY RANKINGS / NEW UNDERWORLD GUI
   ============================================================ */
.rankings-v2{display:grid;gap:10px}
.rankings-v2-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;border:1px solid #6e502c;background:linear-gradient(120deg,#1c160f,#0b0d0d 58%,#16100b);box-shadow:inset 0 0 42px rgba(176,119,48,.07)}
.rankings-v2-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:320px;height:320px;border:1px solid rgba(188,132,65,.1);transform:rotate(35deg)}
.rankings-title{display:flex;align-items:center;gap:14px}.rankings-trophy{display:grid;place-items:center;width:52px;height:52px;border:1px solid #72542f;background:#100e0a;font-size:27px}.rankings-title small,.rankings-board-head small{color:#987344;font-size:8px;letter-spacing:2px;font-weight:900}.rankings-title h1{margin:3px 0;color:#e0b66f;font-size:25px;letter-spacing:1.4px}.rankings-title p{margin:0;color:#7d7971;font-size:9px}
.rankings-live{position:relative;z-index:1;padding:9px 11px;border:1px solid #354532;background:#0a0f0b;min-width:150px}.rankings-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#70a46c;box-shadow:0 0 8px #70a46c;margin-right:6px}.rankings-live b{color:#91b28b;font-size:8px}.rankings-live small{display:block;color:#52604f;font-size:7px;margin:4px 0 0 15px;letter-spacing:1px}
.rankings-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ranking-category-card{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid #393126;background:linear-gradient(#141410,#0d0e0e);text-align:left;color:#777;cursor:pointer}.ranking-category-card>span{font-size:20px}.ranking-category-card b{display:block;color:#a99578;font-size:9px;letter-spacing:.7px}.ranking-category-card small{display:block;color:#5f5c57;font-size:7px;margin-top:2px}.ranking-category-card em{font-style:normal;color:#65543d;font-size:7px}.ranking-category-card:hover,.ranking-category-card.active{border-color:#8b6739;background:linear-gradient(#20180f,#100f0c)}.ranking-category-card.active b{color:#ddb570}.ranking-category-card.active em{color:#a57b45}
.rankings-board{border:1px solid #3a3227;background:#0c0d0d}.rankings-board-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #332c23;background:linear-gradient(90deg,#15130f,#0c0d0d)}.rankings-board-head h2{margin:2px 0;color:#cda15f;font-size:12px;letter-spacing:1px}.rankings-refresh{border:1px solid #344532;padding:5px 8px;color:#83a77d;font-size:7px;letter-spacing:1px}.rankings-refresh span{font-size:8px}
.rankings-podium-shell{padding:10px}.rankings-podium-label{display:flex;align-items:center;gap:9px;padding:9px 11px;margin-bottom:8px;border:1px solid #2f2a22;background:#10110f}.rankings-podium-label>span{font-size:19px}.rankings-podium-label b{color:#a88b61;font-size:9px}.rankings-podium-label small{color:#66615b;font-size:8px}
.ranking-loading{display:grid!important;place-items:center!important;min-height:150px!important;text-align:center!important;border:1px dashed #332d25!important;background:#090a0a!important;color:#6f6a63!important}.ranking-loading span{font-size:24px;margin-bottom:5px}.ranking-loading b{display:block;color:#a6875c;font-size:9px;letter-spacing:1px}.ranking-loading small{display:block;color:#5f5b55;font-size:8px;margin-top:4px}
.rankings-footer-strip{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:8px;border:1px solid #302a22;background:#0b0c0c;color:#68635c;font-size:8px}
.online-rankings .ranking-head{display:none!important}
#online-ranking-content table{width:100%!important;border-collapse:separate!important;border-spacing:0 5px!important}
#online-ranking-content th{padding:7px 9px!important;background:#12120f!important;color:#806c50!important;border:0!important;font-size:8px!important;letter-spacing:1px!important;text-align:left!important}
#online-ranking-content td{padding:10px 9px!important;background:#111210!important;border-top:1px solid #2d2922!important;border-bottom:1px solid #2d2922!important;color:#8f8a82!important;font-size:9px!important}
#online-ranking-content tr td:first-child{border-left:1px solid #2d2922!important;color:#d1a765!important;font-weight:900!important}
#online-ranking-content tr td:last-child{border-right:1px solid #2d2922!important}
#online-ranking-content tbody tr:nth-child(1) td{background:#1b160e!important;border-color:#72532f!important}
#online-ranking-content tbody tr:nth-child(2) td{background:#151513!important;border-color:#4a4841!important}
#online-ranking-content tbody tr:nth-child(3) td{background:#17120e!important;border-color:#59422e!important}
@media(max-width:900px){.rankings-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.rankings-v2-hero{align-items:flex-start;flex-direction:column}.rankings-live{width:100%;box-sizing:border-box}.rankings-category-grid{grid-template-columns:1fr}.rankings-podium-label{align-items:flex-start;flex-wrap:wrap}}

/* V0.15.4.0 — INVENTORY / NEW UNDERWORLD GUI */
.inventory-v2{display:grid;gap:10px}.inventory-v2-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;border:1px solid #6d4f2c;background:linear-gradient(120deg,#1b160f,#0b0d0d 58%,#16100b)}.inventory-v2-title{display:flex;align-items:center;gap:14px}.inventory-v2-title>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid #72542f;background:#100e0a;font-size:27px}.inventory-v2-title small,.inventory-section-head small{color:#987344;font-size:8px;letter-spacing:2px;font-weight:900}.inventory-v2-title h1{margin:3px 0;color:#e0b66f;font-size:25px}.inventory-v2-title p{margin:0;color:#7c7870;font-size:9px}.inventory-storage-status{min-width:180px}.inventory-storage-status>b{display:block;color:#d6ae6b;font-size:15px}.inventory-storage-status>small{color:#746b5f;font-size:7px;letter-spacing:1px}.inventory-storage-status>div{height:6px;border:1px solid #493b29;background:#080909;margin-top:6px}.inventory-storage-status i{display:block;height:100%;background:#a27842}
.inventory-v2-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.inventory-v2-summary>div{display:grid;grid-template-columns:30px 1fr;align-items:center;padding:11px;border:1px solid #373027;background:#0e0f0e}.inventory-v2-summary span{grid-row:1/3;font-size:20px}.inventory-v2-summary b{color:#d6ae6d;font-size:13px}.inventory-v2-summary small{color:#68635c;font-size:7px;letter-spacing:1px}
.inventory-loadout,.inventory-v2-panel{padding:12px;border:1px solid #393127;background:#0c0d0d}.inventory-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.inventory-section-head h2{margin:2px 0;color:#cda15f;font-size:12px}.inventory-section-head>span{color:#75654e;font-size:7px;letter-spacing:1px}.inventory-loadout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.inventory-loadout-slot{position:relative;padding:12px;border:1px dashed #39332a;background:#0a0b0b}.inventory-loadout-slot.filled{border-style:solid;border-color:#6a4e2d;background:#15110c}.inventory-loadout-slot>span{font-size:22px;float:left;margin-right:10px}.inventory-loadout-slot small,.inventory-loadout-slot b,.inventory-loadout-slot em{display:block}.inventory-loadout-slot small{color:#6e675d;font-size:7px}.inventory-loadout-slot b{color:#b99a6a;font-size:9px;margin:3px 0}.inventory-loadout-slot em{font-style:normal;color:#66615a;font-size:8px}
.inventory-filter-bar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.inventory-filter-bar button{border:1px solid #342e26;background:#111210;color:#746e66;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}.inventory-filter-bar button.active,.inventory-filter-bar button:hover{border-color:#80603a;background:#1b160f;color:#d2aa69}.inventory-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.inventory-v2-card{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:1fr auto;gap:9px;padding:8px;border:1px solid #332d25;background:linear-gradient(145deg,#12120f,#0b0c0c)}.inventory-v2-art{position:relative;grid-row:1/3;height:112px;background-position:center!important;background-size:cover!important;border:1px solid #3c3327;overflow:hidden;display:grid;place-items:center;font-size:26px}.inventory-v2-art.has-art>span{display:none}.inventory-v2-art em{position:absolute;left:5px;top:5px;padding:3px 5px;background:#182016;border:1px solid #4e694a;color:#8db487;font-size:6px;font-style:normal}.inventory-v2-art>b{position:absolute;right:5px;bottom:5px;padding:3px 5px;background:#080909cc;color:#d0a965;font-size:8px}.inventory-v2-copy{min-width:0}.inventory-v2-name{display:flex;justify-content:space-between;gap:5px;align-items:center}.inventory-v2-name h3{margin:0;color:#d3ae72;font-size:11px}.inventory-v2-name .rarity{font-size:6px!important}.inventory-v2-type{color:#756956;font-size:7px;text-transform:uppercase}.inventory-v2-copy p{margin:5px 0;color:#6f6a63;font-size:8px;line-height:1.4}.inventory-v2-stats{display:flex;gap:5px;flex-wrap:wrap}.inventory-v2-stats span{padding:3px 5px;border:1px solid #2e2922;background:#0a0b0b;color:#77716a;font-size:7px}.inventory-v2-stats b{color:#b99a6b}.inventory-v2-actions{display:flex;gap:5px;flex-wrap:wrap}.inventory-v2-actions .button{padding:6px 8px!important;font-size:7px!important}.inventory-v2-actions .equipped-btn{border-color:#4d6849!important;color:#8caf86!important}.inventory-v2-empty{grid-column:1/-1;display:grid;place-items:center;min-height:180px;border:1px dashed #383127;background:#090a0a;text-align:center}.inventory-v2-empty>span{font-size:32px}.inventory-v2-empty b{color:#a98b61;font-size:10px}.inventory-v2-empty p{color:#65615b;font-size:9px}
@media(max-width:900px){.inventory-v2-grid{grid-template-columns:1fr}.inventory-v2-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.inventory-v2-hero{align-items:flex-start;flex-direction:column}.inventory-storage-status{width:100%}.inventory-loadout-grid,.inventory-v2-summary{grid-template-columns:1fr}.inventory-v2-card{grid-template-columns:90px minmax(0,1fr)}.inventory-v2-art{height:100px}}

/* V0.15.4.1 — Inventory uses the verified Black Market artwork directly */
.inventory-v2-art{background-image:none!important}
.inventory-v2-art .inventory-v2-img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;display:block!important;z-index:1!important
}
.inventory-v2-art.has-art>span{display:none!important}
.inventory-v2-art>span{position:relative;z-index:0}
.inventory-v2-art em,.inventory-v2-art>b{z-index:3!important}

/* V0.15.4.2 — Vehicle Theft uses each operation's own unique artwork */
.theft-card .theft-operation-art{
 position:relative!important;overflow:hidden!important;background-image:none!important;
 background:#080909!important
}
.theft-card .theft-operation-img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;display:block!important;z-index:1!important
}
.theft-card .theft-operation-art.has-art>span{display:none!important}
.theft-card .theft-operation-art>span{position:relative;z-index:0}
\n/* V0.15.5.0 — Underground Games */
.ug-page{display:grid;gap:10px}.ug-hero{display:flex;justify-content:space-between;align-items:center;padding:20px;border:1px solid #6d4f2c;background:linear-gradient(120deg,#1b160f,#0b0d0d 58%,#16100b)}.ug-hero small{color:#987344;font-size:8px;letter-spacing:2px;font-weight:900}.ug-hero h1{margin:3px 0;color:#e0b66f;font-size:25px}.ug-hero p{margin:0;color:#7d7870;font-size:9px}.ug-live{padding:9px 11px;border:1px solid #354532;background:#0a0f0b;color:#79a576;font-size:8px}.ug-live small{display:block;color:#536050;margin-top:3px}.ug-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ug-card{border:1px solid #3a3227;background:#0d0e0e;overflow:hidden}.ug-card-art{height:130px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 40%,#2b2115,#090a0a 68%);border-bottom:1px solid #3c3226}.ug-card-art span{font-size:47px;filter:drop-shadow(0 8px 12px #000)}.ug-card-art i{position:absolute;left:10px;bottom:8px;color:#b38b50;font-style:normal;font-size:8px;letter-spacing:1.5px}.ug-copy{padding:13px}.ug-copy>small{color:#756348;font-size:7px;letter-spacing:1.4px}.ug-copy h2{margin:3px 0;color:#d3aa68;font-size:13px}.ug-copy p{min-height:34px;color:#706b63;font-size:9px;line-height:1.45}.ug-meta{display:flex;gap:6px;margin:9px 0}.ug-meta span{padding:5px 7px;border:1px solid #302a22;background:#090a0a;color:#8a8175;font-size:7px}.ug-copy>.button{width:100%}.ug-info{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:11px 13px;border:1px solid #332c23;background:#0b0c0c;color:#706a62;font-size:8px}.ug-info b{color:#b18d58}.minigame-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:rgba(2,3,3,.88);backdrop-filter:blur(5px)}.minigame-modal{position:relative;width:min(560px,92vw);padding:20px;border:1px solid #78572f;background:linear-gradient(145deg,#17130e,#090a0a);box-shadow:0 25px 80px #000}.minigame-modal>small{color:#997447;font-size:8px;letter-spacing:2px}.minigame-modal>h2{color:#ddb16c;letter-spacing:1px}.minigame-x{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#7e7569;font-size:22px;cursor:pointer}.mini-hud{display:flex;justify-content:space-between;padding:8px 10px;border:1px solid #332c23;background:#090a0a;color:#a88a5f;font-size:9px}.mini-help{text-align:center;color:#777067;font-size:9px}.mini-big{width:100%;margin-top:10px}.safe-dial{position:relative;margin:18px auto;width:210px;height:210px;border-radius:50%;border:10px solid #27221b;box-shadow:inset 0 0 40px #000,0 0 0 1px #76562f;background:radial-gradient(circle,#171713,#090a0a);display:grid;place-items:center;color:#8c714a;font-size:11px}.safe-dial:after{content:'';position:absolute;inset:14px;border-radius:50%;border:1px dashed #4b4031}.safe-zone{position:absolute;top:4px;left:91px;width:28px;height:22px;background:#b78945;box-shadow:0 0 15px #a16f2d}.safe-dial #safeNeedle{position:absolute;left:101px;top:15px;width:3px;height:90px;background:#d4c29e;transform-origin:50% 90px;z-index:3}.wire-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.wire-grid button{height:72px;border:1px solid #4c3b28;background:#11120f;color:#9d7d50;font-size:18px;font-weight:900;cursor:pointer}.wire-grid button.flash{background:#9b7138;color:#080909;box-shadow:0 0 25px #9b7138}.terminal-code{margin:18px 0;padding:18px;text-align:center;border:1px solid #4e653f;background:#071008;color:#87ba79;font-family:monospace;font-size:24px;letter-spacing:5px;text-shadow:0 0 8px #5a8d50}.terminal-input{box-sizing:border-box;width:100%;padding:13px;border:1px solid #4a5f3c!important;background:#070a07!important;color:#8dbf80!important;font-family:monospace!important;text-align:center;letter-spacing:3px!important}@media(max-width:800px){.ug-grid{grid-template-columns:1fr}.ug-hero{align-items:flex-start;flex-direction:column}}\n
/* V0.15.5.3 — live Underground Games cooldowns */
.ug-cooldown-status{display:flex;align-items:center;gap:8px;margin:8px 0;padding:7px 8px;border:1px solid #31402f;background:#0b100b;color:#769371}.ug-cooldown-status>span{font-size:14px}.ug-cooldown-status small,.ug-cooldown-status b{display:block}.ug-cooldown-status small{font-size:6px;letter-spacing:1.2px;color:#566552}.ug-cooldown-status b{font-size:9px;color:#8eae88;margin-top:1px}.ug-cooldown-status.active{border-color:#654b2d;background:#16110c;color:#c39455}.ug-cooldown-status.active small{color:#756148}.ug-cooldown-status.active b{color:#d4a762;font-variant-numeric:tabular-nums}.ug-card [data-mini-start].cooling{cursor:not-allowed!important;opacity:.62!important;border-color:#4c3e2c!important;color:#a88658!important;background:#17130e!important}

/* V0.15.6.0 Underground Games 2.0 */
.ug-progression{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:7px}.ug-progression>div{padding:12px;border:1px solid #3b3227;background:#0d0e0e}.ug-progression small{display:block;color:#8c6d47;font-size:7px;letter-spacing:1.4px}.ug-progression b{display:block;color:#d1a665;font-size:10px;margin:4px 0}.ug-progression strong{color:#8da785;font-size:9px}.ug-progression span{display:block;color:#6e6961;font-size:8px;margin-top:4px}.ug-rep>div{height:6px;border:1px solid #493b29;background:#080909;margin-top:7px}.ug-rep i{display:block;height:100%;background:#a27842}.ug-mastery{margin:7px 0;padding:5px 7px;border:1px solid #302a22;background:#0a0b0b;color:#8d7451;font-size:7px}.ug-difficulty{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6e685f;font-size:7px;margin:6px 0}.ug-difficulty select{border:1px solid #4a3a28;background:#0a0b0b;color:#c69b5e;padding:5px 7px;font-size:7px}.ug-daily{border-color:#5d472c!important;background:#14110c!important}.ug-streak b{font-size:13px}@media(max-width:850px){.ug-progression{grid-template-columns:1fr}}

/* V0.15.6.1 — Underground Games readability / modal / difficulty / Safecracker */
.ug-progression>div{min-height:82px!important}.ug-progression small{font-size:9px!important;color:#b08a58!important}.ug-progression b{font-size:12px!important;color:#e0b56e!important}.ug-progression strong{font-size:11px!important;color:#a7c39f!important}.ug-progression span{font-size:9px!important;color:#928a7e!important}.ug-mastery{font-size:9px!important;color:#b28e5c!important}.ug-difficulty{font-size:9px!important;color:#a49a8b!important}.ug-difficulty select{font-size:9px!important;min-width:120px!important}
.minigame-overlay{z-index:12000!important}.uw-operation-overlay{z-index:12500!important}.minigame-overlay,.uw-operation-overlay{isolation:isolate}.uw-operation-overlay .crime-scene{pointer-events:auto!important}.uw-operation-overlay .crime-scanlines{pointer-events:none!important}.uw-operation-overlay .operation-footer{position:relative!important;z-index:20!important}.uw-operation-overlay [data-operation-close]{position:relative!important;z-index:21!important;pointer-events:auto!important}
.mini-difficulty-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 10px;padding:8px 10px;border:1px solid #60482d;background:#15110c}.mini-difficulty-banner b{color:#e0b269;font-size:10px;letter-spacing:1.5px}.mini-difficulty-banner span{color:#8e806e;font-size:8px}
.safe-track{position:relative;height:64px;margin:22px 10px 12px;border:1px solid #5a4933;background:linear-gradient(#090a0a,#11110e);overflow:hidden;box-shadow:inset 0 0 22px #000}.safe-track:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#65543c;opacity:.45}.safe-target{position:absolute;top:8px;bottom:8px;background:linear-gradient(90deg,#765326,#c7954e,#765326);border:1px solid #d4a65f;box-shadow:0 0 14px rgba(190,137,67,.35)}.safe-runner{position:absolute;top:4px;bottom:4px;width:5px;margin-left:-2px;background:#e7d8b8;box-shadow:0 0 9px #fff;z-index:3}.safe-center-mark{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#8c7553;opacity:.35}.safe-feedback{text-align:center;min-height:16px;color:#a99170;font-size:9px;font-weight:900;letter-spacing:.8px}.safe-feedback.hit{color:#87b47e}.safe-feedback.miss{color:#c46d5d}.mini-help{font-size:10px!important;line-height:1.55!important;color:#a29a8f!important}.mini-hud b{font-size:10px!important}.minigame-modal>small{color:#a78658!important;font-size:8px!important}.minigame-modal h2{color:#e0b46e!important}

/* V0.15.6.2 — Mini Games naming / reward UI / controls */
.ug-difficulty select option{color:#000!important;background:#fff!important}
.safe-runner{will-change:left;pointer-events:none}
.mini-reward-overlay{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.78);box-sizing:border-box}
.mini-reward-window{width:min(620px,calc(100vw - 30px));border:1px solid #6c5231;background:#0b0c0c;box-shadow:0 22px 80px #000;padding:0;overflow:hidden}
.mini-reward-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #3e3224;background:linear-gradient(90deg,#17130e,#0b0c0c)}
.mini-reward-top small{display:block;color:#9d7b4d;font-size:8px;letter-spacing:1.8px}.mini-reward-top h2{margin:4px 0 0;color:#ead6ad;font-size:24px;letter-spacing:1px}.mini-result-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #5d7a55;background:#10170f;color:#8fc083;font-size:24px}.mini-reward-window.loss .mini-result-mark{border-color:#75463d;background:#180d0c;color:#cf7565}
.mini-reward-summary{padding:15px 20px;color:#b7aea0;font-size:11px;border-bottom:1px solid #27231d}.mini-reward-summary b{color:#ddb06b}
.mini-reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#30281e;border-bottom:1px solid #3b3022}.mini-reward-grid>div{padding:16px 14px;background:#0e0f0f}.mini-reward-grid small{display:block;color:#756a5c;font-size:7px;letter-spacing:1.2px}.mini-reward-grid b{display:block;margin-top:5px;color:#d8b274;font-size:15px}.mini-reward-window.win .mini-reward-grid>div:first-child b{color:#91bd83}
.mini-jackpot{padding:10px 20px;border-bottom:1px solid #735429;background:#241807;color:#e8bd70;font-size:11px;font-weight:900;letter-spacing:1px}.mini-daily-complete{display:flex;justify-content:space-between;gap:15px;padding:11px 20px;border-bottom:1px solid #3d4b34;background:#0c130b}.mini-daily-complete b{color:#93b886;font-size:9px}.mini-daily-complete span{color:#778771;font-size:8px}
.mini-reward-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px}.mini-reward-bottom>span{color:#8c7a61;font-size:9px}.mini-reward-bottom>span b{color:#d2a663;font-variant-numeric:tabular-nums}.mini-reward-bottom button{min-width:180px}
@media(max-width:600px){.mini-reward-grid{grid-template-columns:1fr 1fr}.mini-reward-bottom{align-items:stretch;flex-direction:column}.mini-reward-bottom button{width:100%}}

/* V0.15.7.0 — Owner Mini Games + unified result UI */
.owner-mini-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.owner-mini-switch{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #4b3b28;background:#11110e;cursor:pointer}.owner-mini-switch.off{border-color:#3c2926;background:#100c0c;opacity:.72}.owner-mini-icon{font-size:21px}.owner-mini-switch b,.owner-mini-switch small{display:block}.owner-mini-switch b{color:#d4aa6b;font-size:9px;letter-spacing:.8px}.owner-mini-switch small{color:#716b62;font-size:7px;margin-top:3px}.owner-mini-switch input{width:18px;height:18px;accent-color:#9b7441}
.global-result-overlay{position:fixed;inset:0;z-index:12500;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.8);box-sizing:border-box}.global-result-window{width:min(650px,calc(100vw - 30px));overflow:hidden;border:1px solid #6a5030;background:#0b0c0c;box-shadow:0 25px 90px #000}.global-result-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #3e3224;background:linear-gradient(90deg,#18130e,#0b0c0c)}.global-result-head small{color:#9e7a4b;font-size:8px;letter-spacing:1.8px}.global-result-head h2{margin:4px 0 0;color:#ead6ad;font-size:23px}.global-result-head>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #55744f;background:#10170f;color:#91bd86;font-size:22px}.result-failure .global-result-head>span{border-color:#70443d;background:#180d0c;color:#cc7061}.global-result-art{height:145px;background-position:center;background-size:cover;border-bottom:1px solid #3c3022}.global-result-status{padding:14px 20px;border-bottom:1px solid #29241e}.global-result-status>b{display:block;color:#92b989;font-size:10px;letter-spacing:1px}.result-failure .global-result-status>b{color:#cc7565}.global-result-status>span{display:block;color:#c1b7a8;font-size:11px;margin-top:5px}.global-result-status p{margin:6px 0 0;color:#8d867d;font-size:9px}.global-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:1px;background:#33291e;border-bottom:1px solid #3a3024}.global-result-stats>div{padding:14px;background:#0f1010}.global-result-stats small{display:block;color:#756b5e;font-size:7px;letter-spacing:1px}.global-result-stats b{display:block;color:#d8af70;font-size:14px;margin-top:4px}.global-result-details{display:grid;gap:5px;padding:11px 20px;border-bottom:1px solid #29241e;color:#817a70;font-size:8px}.global-result-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 20px}.global-result-foot>span{color:#685f53;font-size:7px;letter-spacing:.8px}.global-result-foot button{min-width:170px}
@media(max-width:650px){.owner-mini-control-grid{grid-template-columns:1fr}.global-result-foot{align-items:stretch;flex-direction:column}.global-result-foot button{width:100%}}

/* V0.15.7.2 — Crime processing/loading sequence */
#crimeOverlay.crime-processing .crime-scene{animation:crimeSceneIn .2s ease-out both}
#crimeOverlay.crime-processing .crime-scene-icon{animation:crimeIconPulse 1.15s ease-in-out infinite}
#crimeOverlay.crime-processing .crime-progress{position:relative;overflow:hidden}
#crimeOverlay.crime-processing .crime-progress>i{transition:width .38s cubic-bezier(.22,.8,.3,1)!important;box-shadow:0 0 12px rgba(202,151,77,.35)}
#crimeOverlay.crime-processing .crime-progress:after{content:"";position:absolute;inset:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,224,170,.24),transparent);animation:crimeProgressScan 1s linear infinite}
.crime-loader-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border:1px solid #d3a35e;border-radius:50%;vertical-align:1px;box-shadow:0 0 0 0 rgba(211,163,94,.55);animation:crimeLoaderPulse .8s ease-out infinite}
.crime-loader-check{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:7px;border:1px solid #698c60;background:#10170f;color:#93c087;font-size:9px;vertical-align:1px}
@keyframes crimeSceneIn{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:none}}
@keyframes crimeIconPulse{0%,100%{transform:scale(1);filter:brightness(.9)}50%{transform:scale(1.07);filter:brightness(1.25)}}
@keyframes crimeProgressScan{from{transform:translateX(-120%)}to{transform:translateX(360%)}}
@keyframes crimeLoaderPulse{0%{box-shadow:0 0 0 0 rgba(211,163,94,.55);background:#b68143}100%{box-shadow:0 0 0 7px rgba(211,163,94,0);background:#e0b16c}}

/* V0.15.7.3 — one clean crime GUI: loader -> result */
.crime-process-overlay{position:fixed;inset:0;z-index:12490;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.82);box-sizing:border-box;backdrop-filter:blur(2px)}
.crime-process-window{width:min(650px,calc(100vw - 30px));border:1px solid #69502f;background:#0b0c0c;box-shadow:0 25px 90px #000;animation:crimeSingleIn .18s ease-out both;overflow:hidden}
.crime-process-overlay.leaving .crime-process-window{animation:crimeSingleOut .15s ease-in both}
.crime-process-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #3e3224;background:linear-gradient(90deg,#18130e,#0b0c0c)}
.crime-process-head small{display:block;color:#9e7a4b;font-size:8px;letter-spacing:1.8px}.crime-process-head h2{margin:4px 0 0;color:#ead6ad;font-size:23px}.crime-process-head>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #69502f;background:#15110c;font-size:21px;animation:crimeSingleIcon 1.15s ease-in-out infinite}
.crime-process-body{padding:20px}.crime-process-state{display:flex;align-items:center;gap:11px}.crime-process-state small{display:block;color:#756b5e;font-size:7px;letter-spacing:1.3px}.crime-process-state b{display:block;margin-top:4px;color:#d9ad6c;font-size:11px;letter-spacing:.5px}.crime-process-pulse{width:9px;height:9px;border:1px solid #d1a15e;border-radius:50%;background:#9f713c;animation:crimeSinglePulse .8s ease-out infinite}
.crime-process-track{position:relative;height:8px;margin:18px 0 10px;border:1px solid #4a3b29;background:#080909;overflow:hidden}.crime-process-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#73522c,#c28f4c,#e0b36c);transition:width .36s cubic-bezier(.22,.8,.3,1)}.crime-process-track em{position:absolute;inset:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,235,190,.25),transparent);animation:crimeSingleScan .9s linear infinite}
.crime-process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.crime-process-steps span{text-align:center;padding:5px 2px;border:1px solid #29251f;color:#4f4b45;background:#0a0b0b;font-size:6px;letter-spacing:.7px}.crime-process-steps span.active{border-color:#604a30;color:#c79a5c;background:#15110c}
.crime-process-foot{padding:11px 20px;border-top:1px solid #29241e;color:#62594e;font-size:7px;letter-spacing:.9px}
@keyframes crimeSingleIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}@keyframes crimeSingleOut{to{opacity:0;transform:translateY(-4px) scale(.99)}}@keyframes crimeSingleIcon{50%{filter:brightness(1.3);transform:scale(1.05)}}@keyframes crimeSinglePulse{to{box-shadow:0 0 0 8px rgba(209,161,94,0)}}@keyframes crimeSingleScan{from{transform:translateX(-130%)}to{transform:translateX(390%)}}

/* V0.15.7.6 — 2-second visibly staged Crime loader */
.crime-process-track i{transition:width .10s linear!important}
.crime-process-steps span{transition:border-color .08s linear,color .08s linear,background .08s linear}
.crime-process-steps span.active{box-shadow:inset 0 -2px 0 #b78343}

/* V0.15.7.7 — calmer 2-second Crime progress */
.crime-process-track i{transition:width .22s ease-out!important}

/* V0.15.8.0 — Global Action System */
.global-action-overlay{position:fixed;inset:0;z-index:12495;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.82);box-sizing:border-box;backdrop-filter:blur(2px)}
.global-action-window{width:min(650px,calc(100vw - 30px));border:1px solid #69502f;background:#0b0c0c;box-shadow:0 25px 90px #000;animation:crimeSingleIn .18s ease-out both;overflow:hidden}.global-action-overlay.leaving .global-action-window{animation:crimeSingleOut .14s ease-in both}
.global-action-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #3e3224;background:linear-gradient(90deg,#18130e,#0b0c0c)}.global-action-head small{display:block;color:#9e7a4b;font-size:8px;letter-spacing:1.8px}.global-action-head h2{margin:4px 0 0;color:#ead6ad;font-size:23px}.global-action-head>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #69502f;background:#15110c;font-size:20px;animation:crimeSingleIcon 1.15s ease-in-out infinite}
.global-action-body{padding:20px}.global-action-state{display:flex;align-items:center;gap:11px}.global-action-state small{display:block;color:#756b5e;font-size:7px;letter-spacing:1.3px}.global-action-state b{display:block;margin-top:4px;color:#d9ad6c;font-size:11px}.global-action-pulse{width:9px;height:9px;border:1px solid #d1a15e;border-radius:50%;background:#9f713c;animation:crimeSinglePulse .8s ease-out infinite}
.global-action-track{position:relative;height:8px;margin:18px 0 10px;border:1px solid #4a3b29;background:#080909;overflow:hidden}.global-action-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#73522c,#c28f4c,#e0b36c);transition:width .22s ease-out}.global-action-track em{position:absolute;inset:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,235,190,.25),transparent);animation:crimeSingleScan .9s linear infinite}
.global-action-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.global-action-steps span{text-align:center;padding:5px 2px;border:1px solid #29251f;color:#4f4b45;background:#0a0b0b;font-size:6px;letter-spacing:.6px}.global-action-steps span.active{border-color:#604a30;color:#c79a5c;background:#15110c;box-shadow:inset 0 -2px 0 #b78343}.global-action-foot{padding:11px 20px;border-top:1px solid #29241e;color:#62594e;font-size:7px;letter-spacing:.9px}

/* V0.15.9.0 — Notifications & Activity Feed */
#notificationUnreadBadge{float:right;min-width:20px;text-align:center;border:1px solid #44392c;color:#71675a;background:#0d0e0e;font-style:normal;font-size:8px;padding:1px 4px}#notificationUnreadBadge.has-unread{color:#e1b16a;border-color:#7a5932;background:#1a1209;box-shadow:0 0 10px rgba(194,139,68,.16)}
.notification-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;margin-bottom:12px;border:1px solid #5a452d;background:linear-gradient(110deg,#17120d,#0c0d0d)}.notification-hero small{color:#967448;font-size:8px;letter-spacing:1.6px}.notification-hero h1{margin:4px 0;color:#ead6ad}.notification-hero p{margin:0;color:#817a70;font-size:10px}.notification-count{display:grid;place-items:center;min-width:90px;padding:12px;border:1px solid #624a2f;background:#11100d}.notification-count b{color:#dfae68;font-size:25px}.notification-count span{color:#74695a;font-size:7px;letter-spacing:1px}
.notification-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.notification-toolbar b,.notification-toolbar small{display:block}.notification-toolbar b{color:#d8ae70;font-size:10px}.notification-toolbar small{color:#70685e;font-size:8px;margin-top:3px}.notification-toolbar>div:last-child{display:flex;gap:6px}.notification-list{display:grid;gap:6px}.notification-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;text-align:left;padding:12px;border:1px solid #292620;background:#0d0e0e;color:inherit;cursor:pointer}.notification-row.unread{border-color:#61492e;background:linear-gradient(90deg,#17120c,#0d0e0e)}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #493b2a;background:#12110e;font-size:17px}.notification-row b{display:block;color:#d1b07c;font-size:10px}.notification-row p{margin:4px 0;color:#9a9287;font-size:9px}.notification-row small{color:#625d56;font-size:7px}.notification-row em{color:#e0ad63;border:1px solid #71512e;background:#1a1209;font-size:7px;font-style:normal;padding:3px 6px}.notifications-empty{text-align:center;padding:32px;color:#716b62}.notifications-empty span,.notifications-empty b{display:block}.notifications-empty span{font-size:25px}.notifications-empty b{margin:7px 0;color:#a58b65}.notifications-empty.compact{padding:15px}.dash-notification-preview{margin-top:12px}.dash-notification-list{display:grid;gap:5px;margin-bottom:10px}.dash-notification{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #24221e}.dash-notification.unread{background:#13100c}.dash-notification b,.dash-notification small{display:block}.dash-notification b{color:#b99a6d;font-size:9px}.dash-notification small{color:#777068;font-size:8px;margin-top:2px}.dash-notification time{color:#625c53;font-size:7px}@media(max-width:650px){.notification-hero,.notification-toolbar{align-items:stretch;flex-direction:column}.notification-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.notification-row{grid-template-columns:38px 1fr}.notification-row em{grid-column:2;justify-self:start}}

/* V0.16.0.0 — Criminal Careers */
#careerMenuBadge{float:right;color:#d7a75f;font-style:normal;font-size:7px;border:1px solid #674b2c;padding:1px 4px;background:#181108}
.career-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px;margin-bottom:12px;border:1px solid #654b2d;background:linear-gradient(110deg,#1a130c,#0b0c0c);box-shadow:inset 0 1px rgba(255,255,255,.02)}.career-hero small{color:#987346;font-size:8px;letter-spacing:1.7px}.career-hero h1{margin:4px 0;color:#ecd7ad;font-size:27px}.career-hero p{margin:0;color:#8b8378;font-size:10px}.career-active{min-width:185px;padding:13px;border:1px solid #63492c;background:#100f0c}.career-active small,.career-active b,.career-active span{display:block}.career-active b{margin:5px 0;color:#dfb16e}.career-active span{color:#786d5f;font-size:8px}
.career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.career-card{padding:16px;border:1px solid #393127;background:linear-gradient(145deg,#11110f,#0b0c0c);position:relative}.career-card.active{border-color:#80603a;box-shadow:inset 0 0 25px rgba(163,111,48,.08)}.career-card-head{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px}.career-card-head>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #51402d;background:#15120e;font-size:21px}.career-card-head small{color:#796a58;font-size:7px;letter-spacing:1.1px}.career-card-head h2{margin:3px 0 0;color:#dcb478;font-size:17px}.career-card-head em{font-style:normal;color:#9cc08e;border:1px solid #4b6645;background:#0e160d;padding:3px 6px;font-size:7px}.career-card p{min-height:31px;color:#8e877d;font-size:9px;line-height:1.5}.career-bonuses{display:grid;gap:4px;margin:12px 0}.career-bonuses span{color:#a58d69;font-size:8px}.career-card button{width:100%;margin-top:5px}.career-card button:disabled{opacity:.42;cursor:not-allowed}.career-info{margin-top:10px}.career-progression{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#30281e;margin-bottom:10px}.career-progression>div{padding:13px;background:#0d0e0e}.career-progression small,.career-progression b{display:block}.career-progression small{color:#70675b;font-size:7px}.career-progression b{margin-top:4px;color:#d5ab6e;font-size:14px}
@media(max-width:720px){.career-grid{grid-template-columns:1fr}.career-hero{align-items:stretch;flex-direction:column}.career-active{min-width:0}.career-progression{grid-template-columns:1fr 1fr}}
\n/* V0.16.1.0 — Career Progression & Perks */
.career-perk-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.career-perk{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid #3b3329;background:#0d0e0e}.career-perk>span{color:#c99a59;font-size:8px;letter-spacing:.7px}.career-perk b,.career-perk small{display:block}.career-perk b{color:#cdb080;font-size:9px}.career-perk small{color:#756f67;font-size:7px;margin-top:3px}.career-perk em{font-style:normal;font-size:6px;padding:3px 5px}.career-perk.unlocked{border-color:#586d45;background:linear-gradient(90deg,#10150e,#0d0e0e)}.career-perk.unlocked em{color:#9bc086;border:1px solid #4d6742}.career-perk.locked{opacity:.58}.career-perk.locked em{color:#776d60;border:1px solid #40382e}@media(max-width:650px){.career-perk-tree{grid-template-columns:1fr}}\n
/* V0.16.1.2 — Career XP progress feedback */
.career-xp-panel{margin-bottom:10px;padding:14px;border:1px solid #57442d;background:linear-gradient(90deg,#15110d,#0c0d0d)}.career-xp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:10px}.career-xp-head small,.career-xp-head b,.career-xp-head strong,.career-xp-head span{display:block}.career-xp-head small{color:#776b5d;font-size:7px;letter-spacing:1.1px}.career-xp-head b{margin-top:4px;color:#deb06c;font-size:16px}.career-xp-head>div:last-child{text-align:right}.career-xp-head strong{color:#d8c19b;font-size:11px}.career-xp-head span{margin-top:3px;color:#71685d;font-size:7px}.career-xp-track{height:11px;border:1px solid #4e3e2b;background:#080909;overflow:hidden;box-shadow:inset 0 0 7px #000}.career-xp-track i{display:block;height:100%;background:linear-gradient(90deg,#72512c,#bd8847,#ddb068);box-shadow:0 0 12px rgba(202,146,75,.22);transition:width .35s ease-out}
@media(max-width:600px){.career-xp-head{align-items:flex-start;flex-direction:column}.career-xp-head>div:last-child{text-align:left}}

/* V0.16.1.3 — distinct Career Progression block in successful result screens */
.result-career-panel{border-top:1px solid #5c4329;border-bottom:1px solid #34291d;padding:14px 22px 16px;background:linear-gradient(105deg,#171109,#0c0d0c 72%);box-shadow:inset 4px 0 0 #8b6331}.result-career-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.result-career-title small,.result-career-title b{display:block}.result-career-title small{color:#907047;font-size:7px;letter-spacing:1.5px}.result-career-title b{margin-top:3px;color:#e2b56f;font-size:14px}.result-career-title>span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #75542f;background:#151008;font-size:15px}.result-career-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid #4b3926;background:#0b0c0b}.result-career-stats>div{padding:9px 12px}.result-career-stats>div+div{border-left:1px solid #4b3926}.result-career-stats small,.result-career-stats b{display:block}.result-career-stats small{color:#776a5a;font-size:7px}.result-career-stats b{margin-top:3px;color:#dcb06b;font-size:16px}.result-career-progress-head{display:flex;justify-content:space-between;margin:10px 1px 5px}.result-career-progress-head b{color:#ddc294;font-size:9px}.result-career-progress-head span{color:#796d5e;font-size:7px}.result-career-track{height:8px;border:1px solid #544027;background:#080909;overflow:hidden}.result-career-track i{display:block;height:100%;background:linear-gradient(90deg,#76532b,#c38c49,#e2b369);box-shadow:0 0 10px rgba(213,158,80,.2);transition:width .4s ease-out}@media(max-width:600px){.result-career-progress-head{display:grid;gap:3px}}

/* V0.16.2.0 — Career Skill Trees */
.career-skill-tree{display:grid;grid-template-columns:1fr 14px 1fr 14px 1fr 14px 1fr;align-items:center;margin:13px 0 15px}.career-skill-node{min-width:0;padding:9px 7px;border:1px solid #302b24;background:#0b0c0c;text-align:center;position:relative}.career-skill-node>span{display:grid;place-items:center;width:24px;height:24px;margin:0 auto 5px;border:1px solid #43382b;background:#11100e;color:#5e574e}.career-skill-node small,.career-skill-node b,.career-skill-node em,.career-skill-node strong{display:block}.career-skill-node small{color:#655e55;font-size:6px}.career-skill-node b{margin-top:2px;color:#7b746a;font-size:8px}.career-skill-node em{min-height:20px;margin-top:3px;color:#5d5851;font-size:6px;font-style:normal}.career-skill-node strong{margin-top:5px;color:#57534d;font-size:6px}.career-skill-node.unlocked{border-color:#735431;background:linear-gradient(145deg,#171109,#0d0d0c);box-shadow:inset 0 -2px #815b2d}.career-skill-node.unlocked>span{border-color:#886337;color:#e0ae65;background:#1b1309;box-shadow:0 0 12px rgba(195,139,68,.14)}.career-skill-node.unlocked b{color:#d7ad70}.career-skill-node.unlocked em{color:#a48a67}.career-skill-node.unlocked strong{color:#82a97a}.career-skill-tree>i{height:1px;background:#332c23}.career-skill-tree>i.unlocked{background:#916839;box-shadow:0 0 5px rgba(190,137,69,.2)}
@media(max-width:900px){.career-skill-tree{grid-template-columns:1fr}.career-skill-tree>i{width:1px;height:10px;margin:auto}.career-skill-node em{min-height:0}}

/* V0.16.3.0 Career Challenges & Mastery */
.career-challenges{margin-top:10px;padding:15px;border:1px solid #4d3c28;background:linear-gradient(145deg,#11100d,#0a0b0b)}.career-challenge-head,.career-challenge-progress{display:flex;justify-content:space-between;align-items:center;gap:12px}.career-challenge-head small,.career-challenge-head b{display:block}.career-challenge-head small{color:#806b50;font-size:7px;letter-spacing:1.4px}.career-challenge-head b{margin-top:3px;color:#d9b075;font-size:14px}.career-challenge-head strong{font-size:7px;color:#a58b65;border:1px solid #59442c;padding:4px 7px}.career-challenge-head strong.mastered{color:#dfb46e;border-color:#856236;box-shadow:0 0 12px rgba(190,137,69,.13)}.career-challenge-progress{margin:13px 1px 5px}.career-challenge-progress span{color:#c6aa80;font-size:9px}.career-challenge-progress em{color:#70675c;font-size:7px;font-style:normal}.career-challenge-track{height:9px;border:1px solid #4b3a27;background:#070808;overflow:hidden}.career-challenge-track i{display:block;height:100%;background:linear-gradient(90deg,#694923,#ad783a,#d6a45e);transition:width .4s ease}.career-tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.career-tier{padding:10px;border:1px solid #292722;background:#0b0c0c}.career-tier small,.career-tier b,.career-tier span,.career-tier em{display:block}.career-tier small{color:#635d55;font-size:6px}.career-tier b{margin:3px 0 6px;color:#82786a;font-size:9px}.career-tier span{color:#6d665e;font-size:7px;margin-top:2px}.career-tier em{margin-top:7px;color:#625c54;font-size:6px;font-style:normal}.career-tier.current{border-color:#725432;background:#151009}.career-tier.current b{color:#d5aa6b}.career-tier.current em{color:#c08d4e}.career-tier.complete{border-color:#40563c;background:#0d130d}.career-tier.complete b{color:#9fbd94}.career-tier.complete em{color:#7fa374}.career-tier.locked{opacity:.52}@media(max-width:650px){.career-tier-grid{grid-template-columns:1fr}.career-challenge-progress,.career-challenge-head{align-items:flex-start;flex-direction:column}}

/* V0.16.3.1 — Owner Discord Update Publisher */
.owner-discord-compose{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:12px}.owner-discord-compose label{display:grid;gap:5px}.owner-discord-compose label>span{color:#9b815e;font-size:7px;letter-spacing:1px}.owner-discord-compose input,.owner-discord-compose textarea{width:100%;box-sizing:border-box;border:1px solid #493a2a;background:#0b0c0c;color:#d8c7ad;padding:10px;font:inherit;outline:none}.owner-discord-compose input:focus,.owner-discord-compose textarea:focus{border-color:#8b6539;box-shadow:0 0 0 1px #8b6539}.owner-discord-message{grid-column:1/-1}.owner-discord-message textarea{min-height:210px;resize:vertical;line-height:1.5}.owner-discord-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #332a20;padding-top:10px}.owner-discord-actions span{color:#6f675d;font-size:7px}@media(max-width:700px){.owner-discord-compose{grid-template-columns:1fr}.owner-discord-message,.owner-discord-actions{grid-column:1}.owner-discord-actions{align-items:stretch;flex-direction:column}}

/* V0.17.1.0 — Crime Family Foundations */
.family-hero{padding:22px;border:1px solid #594128;background:linear-gradient(115deg,#1a110a,#0b0c0c 70%);box-shadow:inset 4px 0 #8e612f;margin-bottom:10px}.family-hero>small{color:#9c7444;font-size:7px;letter-spacing:1.6px}.family-hero h1{margin:5px 0;color:#dfb16e;font-size:24px}.family-hero p{color:#82786c;max-width:720px}.family-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px;border:1px solid #493724;background:#090a0a}.family-hero-stats>div{padding:10px 12px}.family-hero-stats>div+div{border-left:1px solid #382d21}.family-hero-stats small,.family-hero-stats b{display:block}.family-hero-stats small{color:#6e6459;font-size:6px}.family-hero-stats b{margin-top:3px;color:#d2aa72}.family-xp-track{height:7px;background:#080909;border:1px solid #4a3824;margin-top:9px}.family-xp-track i{display:block;height:100%;background:linear-gradient(90deg,#73502b,#d49a50)}.family-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:10px}.family-create-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:10px}.family-create-grid label{display:grid;gap:5px}.family-create-grid .wide{grid-column:1/-1}.family-create-grid span{font-size:7px;color:#8d7455}.family-create-grid input,.family-create-grid textarea,.family-donate input,.family-member select{border:1px solid #493a2a;background:#0a0b0b;color:#d6c2a5;padding:9px;box-sizing:border-box}.family-create-grid textarea{min-height:90px;resize:vertical}.family-roster{display:grid;gap:5px}.family-member{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:9px;border:1px solid #302a22;background:#0b0c0c}.family-member b,.family-member small{display:block}.family-member b{color:#d4ad76}.family-member small{color:#6c645b;font-size:6px;margin-top:2px}.family-member>span{color:#9d7a4c;font-size:7px}.family-donate{display:flex;gap:7px}.family-donate input{min-width:0;flex:1}.family-subhead{margin-top:17px!important}.family-activity{display:grid;gap:5px}.family-activity>div{padding:8px;border-left:2px solid #5f4529;background:#0b0c0c}.family-activity b,.family-activity span,.family-activity small{display:block}.family-activity b{color:#a98b63;font-size:7px}.family-activity span{color:#8a8176;font-size:8px;margin:2px 0}.family-activity small{color:#55514c;font-size:6px}@media(max-width:800px){.family-columns,.family-create-grid{grid-template-columns:1fr}.family-create-grid .wide{grid-column:1}.family-hero-stats{grid-template-columns:1fr 1fr}.family-member{grid-template-columns:1fr auto}.family-member select{grid-column:1/-1}}

/* V0.17.1.1 — Family HQ interaction/readability fix */
.family-create{position:relative;z-index:2;background:#0d0e0d!important}.family-create h2{color:#d9b06f!important}.family-create-grid label>span{color:#a98b63!important}.family-create-grid input,.family-create-grid textarea{position:relative;z-index:3;background:#090a0a!important;color:#e0d0b8!important;border-color:#5a452e!important;opacity:1!important;pointer-events:auto!important}.family-create-grid input::placeholder,.family-create-grid textarea::placeholder{color:#665e54!important;opacity:1}.family-create [data-family-create]{position:relative;z-index:3;pointer-events:auto!important;opacity:1!important;color:#f3e5ce!important;border-color:#93612e!important;background:linear-gradient(#a86b2c,#674019)!important;cursor:pointer!important}.family-create [data-family-create]:hover{filter:brightness(1.15)}

/* V0.17.1.2 — Family HQ layout / treasury / roster cleanup */
.family-columns{align-items:start;grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr)!important;gap:12px!important}
.family-columns>.box{min-width:0!important;overflow:hidden!important;padding:0!important;background:#0c0d0d!important;border:1px solid #5b4228!important}
.family-columns>.box>h2{margin:0!important;padding:12px 14px!important;border-bottom:1px solid #493724!important;background:linear-gradient(90deg,#14100b,#0d0e0d)!important;color:#dfb46f!important;text-align:left!important;font-size:13px!important}
.family-roster{padding:10px!important}
.family-member{min-height:42px!important;padding:10px 12px!important;border-color:#3d3226!important}
.family-member b{font-size:12px!important}.family-member small{margin-top:4px!important;font-size:7px!important;line-height:1.4!important}
.family-member>span{padding:4px 7px!important;border:1px solid #463723!important;background:#12100c!important;color:#c49354!important}
.family-donate{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;padding:10px 12px!important}
.family-donate input{display:block!important;width:100%!important;min-width:0!important;height:38px!important;padding:0 10px!important;border:1px solid #59442e!important;background:#080909!important;color:#ead8bd!important;font-size:11px!important;line-height:38px!important;box-sizing:border-box!important}
.family-donate input::placeholder{color:#70675e!important}
.family-donate .button{height:38px!important;min-width:138px!important;margin:0!important;padding:0 14px!important;white-space:nowrap!important}
.family-subhead{margin:0!important;padding:11px 14px!important;border-top:1px solid #493724!important;border-bottom:1px solid #382e23!important;background:#0e0e0d!important;color:#c99b5d!important;text-align:left!important;font-size:11px!important}
.family-activity{padding:8px 12px 12px!important}.family-activity>div{padding:8px 9px!important}
.family-activity b{font-size:8px!important}.family-activity span{font-size:8px!important;line-height:1.4!important}.family-activity small{margin-top:3px!important}
.family-hero-stats>div{min-width:0!important}.family-hero-stats b{font-size:15px!important;overflow-wrap:anywhere}
@media(max-width:980px){.family-columns{grid-template-columns:1fr!important}}
@media(max-width:520px){.family-donate{grid-template-columns:1fr!important}.family-donate .button{width:100%!important}.family-hero-stats{grid-template-columns:1fr 1fr!important}}

/* V0.17.1.3 — recruit players by character name */
#familyInviteName{text-transform:none!important;letter-spacing:.2px!important}

/* V0.17.1.4 — visible Family invitation cards */
.family-invite{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:14px 16px!important;border:1px solid #8a6030!important;background:linear-gradient(100deg,#1a1209,#0c0d0d 75%)!important;box-shadow:inset 4px 0 #b57a36!important}.family-invite small{color:#b17f43;font-size:7px;letter-spacing:1.3px}.family-invite h2{margin:3px 0!important;color:#e2b36e!important}.family-invite p{margin:0;color:#83786b;font-size:8px}.family-invite-actions{display:flex;gap:7px;flex-shrink:0}@media(max-width:600px){.family-invite{align-items:stretch!important;flex-direction:column!important}.family-invite-actions{display:grid;grid-template-columns:1fr 1fr}}

/* V0.17.1.5 — Family readability + treasury action fix */
.family-hero-stats{min-height:72px!important}
.family-hero-stats>div{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:12px 15px!important}
.family-hero-stats small{font-size:9px!important;line-height:1.2!important;letter-spacing:.5px!important;color:#a78962!important}
.family-hero-stats b{margin-top:6px!important;font-size:20px!important;line-height:1!important;color:#e4b56e!important}
.family-member{min-height:54px!important}
.family-member b{font-size:14px!important;line-height:1.2!important}
.family-member small{margin-top:6px!important;font-size:9px!important;line-height:1.45!important;color:#a18c70!important}
.family-member>span{font-size:8px!important}
.family-xp-track{height:9px!important}

/* V0.17.2.0 — Family Management & Communication */
.family-directory{margin-top:10px}.family-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.family-directory article,.family-applications article{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #3d3226;background:#0b0c0c}.family-directory small,.family-applications small{color:#7f6b51;font-size:7px}.family-directory h3{margin:3px 0;color:#d9ad70}.family-directory p,.family-applications p{margin:3px 0;color:#8e8274;font-size:9px}.family-directory article>div:last-child{display:grid;align-content:center;justify-items:end;gap:7px}.family-directory article>div:last-child>b{font-size:7px;color:#a47b48}.family-kick{border:1px solid #60332c;background:#1b0d0b;color:#b76c61;padding:5px 7px;font-size:6px;cursor:pointer}.family-leave{padding:10px}.family-settings{display:grid;gap:7px;padding:10px 12px}.family-settings textarea,.family-settings select,.family-chat-send input{box-sizing:border-box;width:100%;border:1px solid #59442e;background:#080909;color:#e1cfb4;padding:9px}.family-settings textarea{min-height:75px;resize:vertical}.family-applications{margin-top:10px}.family-applications article{margin:8px 10px}.family-applications article>div:last-child{display:flex;align-items:center;gap:6px}.family-chat-box{margin-top:10px!important}.family-chat-box>h2 small{float:right;color:#7e6b52;font-size:6px}.family-chat-log{height:260px;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:5px;background:#080909}.family-chat-log>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:8px;border:1px solid #2f2921;background:#0d0e0d}.family-chat-log b{color:#d1a76e;font-size:9px}.family-chat-log span{color:#b5a896;font-size:9px;overflow-wrap:anywhere}.family-chat-log small{color:#5e5851;font-size:6px}.family-chat-send{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid #443522}.family-chat-send .button{min-width:100px}.family-member{grid-template-columns:1fr auto auto auto!important}
@media(max-width:800px){.family-directory-grid{grid-template-columns:1fr}.family-chat-log>div{grid-template-columns:1fr}.family-member{grid-template-columns:1fr auto!important}.family-member select,.family-member .family-kick{grid-column:auto}.family-applications article{flex-direction:column}.family-chat-send{grid-template-columns:1fr}}

/* V0.17.3.0 — Family Headquarters Facilities */
.family-hero-stats em{display:block;margin-top:5px;color:#675d51;font-size:6px;font-style:normal;letter-spacing:.4px}.family-member-work{color:#806e57!important;font-size:7px!important}.family-facilities{margin-top:10px!important}.family-facilities>h2 small{float:right;color:#806b4d;font-size:6px}.family-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.family-facility-grid article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #423526;background:linear-gradient(120deg,#10100e,#090a0a)}.family-facility-grid article.locked{opacity:.5;filter:saturate(.4)}.family-facility-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #624727;background:#171008;font-size:19px}.family-facility-main small{color:#76654f;font-size:6px;letter-spacing:.8px}.family-facility-main h3{margin:2px 0;color:#d7aa6c;font-size:11px}.family-facility-main h3 em{color:#887052;font-size:7px;font-style:normal}.family-facility-main p{margin:0;color:#82776a;font-size:8px;line-height:1.4}.facility-pips{display:flex;gap:3px;margin-top:7px}.facility-pips i{width:22px;height:4px;border:1px solid #3d342a;background:#080909}.facility-pips i.on{border-color:#8b6030;background:#b77c39}.family-facility-buy{display:grid;justify-items:end;gap:6px}.family-facility-buy>b{color:#bd925b;font-size:8px}.family-facility-buy .button{min-width:88px!important;padding:6px 8px!important;font-size:7px!important}@media(max-width:900px){.family-facility-grid{grid-template-columns:1fr}}@media(max-width:520px){.family-facility-grid article{grid-template-columns:36px 1fr}.family-facility-buy{grid-column:1/-1;justify-items:stretch}.family-facility-buy .button{width:100%}}

/* V0.17.3.2 — Family sidebar integration + silent live refresh */
.family-sidebar-panel h2{display:flex!important;align-items:center!important;gap:6px!important}.family-sidebar-panel h2 small{margin-left:auto;color:#a97c43;font-size:7px}.family-sidebar-panel>button{display:block;width:100%;padding:10px!important;text-align:left!important;border:0!important;background:linear-gradient(135deg,#171008,#0c0d0d)!important;color:inherit!important;cursor:pointer!important}.family-sidebar-panel>button:hover{filter:brightness(1.12)}.family-sidebar-panel>button strong{display:block;color:#dfb16c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-sidebar-panel>button>span{display:flex;justify-content:space-between;margin-top:5px}.family-sidebar-panel>button b,.family-sidebar-panel>button em{color:#8d775b;font-size:7px;font-style:normal}.family-side-xp{display:block;height:5px;margin-top:7px;border:1px solid #493824;background:#070808;overflow:hidden}.family-side-xp u{display:block;height:100%;background:linear-gradient(90deg,#795128,#d69b4d);text-decoration:none;transition:width .25s ease}.family-side-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3a2e22}.family-side-stats>div{min-width:0;padding:8px}.family-side-stats>div+div{border-left:1px solid #3a2e22}.family-side-stats small,.family-side-stats b{display:block}.family-side-stats small{color:#675e54;font-size:6px}.family-side-stats b{margin-top:3px;color:#b99667;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* V0.17.3.3 — full HQ facilities moved into Family sidebar */
.family-side-facilities-head{display:flex;justify-content:space-between;align-items:center;padding:8px 9px;border-top:1px solid #493824;border-bottom:1px solid #34291e;background:#0b0c0c}.family-side-facilities-head span{color:#c39558;font-size:7px;font-weight:700;letter-spacing:.7px}.family-side-facilities-head small{color:#665a4d;font-size:6px}.family-side-facilities{max-height:390px;overflow-y:auto;background:#080909}.family-side-facility{padding:8px;border-bottom:1px solid #29241e}.family-side-facility>div:first-child{display:flex;align-items:center;gap:7px}.family-side-facility>div:first-child>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid #493723;background:#130f0a;font-size:13px}.family-side-facility p{min-width:0;margin:0}.family-side-facility p b,.family-side-facility p small{display:block}.family-side-facility p b{color:#cba16b;font-size:8px}.family-side-facility p small{margin-top:2px;color:#716456;font-size:6px}.family-side-facility.locked{opacity:.45}.family-side-facility>em{display:block;margin-top:5px;color:#695c4d;font-size:6px;font-style:normal;text-align:right}.family-side-upgrade{display:flex!important;justify-content:flex-end;align-items:center!important;gap:6px!important;margin-top:6px}.family-side-upgrade small{color:#987344;font-size:7px}.family-side-upgrade button{border:1px solid #73502c;background:#1b1209;color:#d7a766;padding:4px 6px;font-size:6px;cursor:pointer}.family-side-upgrade button:hover{background:#2a1a0d}

/* V0.17.3.4 — Facilities positioned beneath Member Roster */
.family-roster-facilities{margin:8px 10px 10px;border:1px solid #4b3927;background:#090a0a}.family-roster-facilities-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-bottom:1px solid #3d3023;background:linear-gradient(90deg,#151008,#0c0d0d)}.family-roster-facilities-head h3{margin:0;color:#d5aa6e;font-size:10px}.family-roster-facilities-head small{color:#75644f;font-size:6px}.family-roster-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}.family-roster-facility-grid article{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;border:1px solid #332b22;background:#0d0e0d}.family-roster-facility-grid article.locked{opacity:.48}.frf-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #4e3923;background:#171008;font-size:13px}.frf-info{min-width:0}.frf-info b,.frf-info small{display:block}.frf-info b{color:#cba16c;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frf-info small{margin-top:2px;color:#71665a;font-size:5.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frf-pips{display:flex;gap:2px;margin-top:5px}.frf-pips i{height:3px;flex:1;max-width:18px;border:1px solid #382f26;background:#080909}.frf-pips i.on{border-color:#7c552e;background:#a66f34}.frf-action{display:grid;justify-items:end;gap:4px}.frf-action strong,.frf-action em{color:#a98556;font-size:6px;font-style:normal;white-space:nowrap}.frf-action button{border:1px solid #75502b;background:#1b1209;color:#d5a363;padding:4px 5px;font-size:5.5px;cursor:pointer}.frf-action button:hover{background:#2b1b0d}@media(max-width:1150px){.family-roster-facility-grid{grid-template-columns:1fr}}@media(max-width:520px){.family-roster-facilities-head{align-items:flex-start;flex-direction:column;gap:3px}.family-roster-facility-grid article{grid-template-columns:28px 1fr}.frf-action{grid-column:1/-1;justify-items:stretch}.frf-action button{width:100%}}

/* V0.17.3.5 — Family HQ facility readability */
.family-roster-facilities-head{padding:12px 12px!important}
.family-roster-facilities-head h3{font-size:14px!important;line-height:1.2!important;letter-spacing:.35px!important}
.family-roster-facilities-head small{font-size:9px!important;line-height:1.2!important;letter-spacing:.45px!important;color:#a98a64!important}
.family-roster-facility-grid article{min-height:58px!important;padding:10px!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important}
.frf-icon{width:36px!important;height:36px!important;font-size:17px!important}
.frf-info b{font-size:11px!important;line-height:1.25!important;color:#dfb277!important}
.frf-info small{margin-top:4px!important;font-size:8px!important;line-height:1.3!important;color:#9b8973!important}
.frf-pips{margin-top:7px!important;gap:3px!important}
.frf-pips i{height:5px!important;max-width:23px!important}
.frf-action{gap:6px!important}
.frf-action strong,.frf-action em{font-size:8px!important;line-height:1.2!important}
.frf-action button{padding:6px 8px!important;font-size:7px!important;min-width:70px!important}
@media(max-width:520px){.family-roster-facility-grid article{grid-template-columns:36px 1fr!important}}

/* V0.17.3.6 — Facility hover/focus information */
.family-roster-facility-grid article{position:relative;outline:none}.family-roster-facility-grid article:hover,.family-roster-facility-grid article:focus-visible{border-color:#8a6032!important;background:#12100c!important;z-index:20}.frf-tooltip{display:none;position:absolute;left:8px;right:8px;top:calc(100% + 5px);z-index:100;padding:10px 11px;border:1px solid #8b6236;background:#090a0a;box-shadow:0 10px 24px rgba(0,0,0,.75);pointer-events:none}.family-roster-facility-grid article:hover .frf-tooltip,.family-roster-facility-grid article:focus-visible .frf-tooltip{display:block}.frf-tooltip strong{display:block;color:#e0b476;font-size:10px}.frf-tooltip p{margin:5px 0 7px;color:#b7a791;font-size:9px;line-height:1.45}.frf-tooltip small{display:block;padding-top:6px;border-top:1px solid #352c22;color:#947652;font-size:7px}.family-roster-facility-grid article:nth-last-child(-n+2) .frf-tooltip{top:auto;bottom:calc(100% + 5px)}

/* V0.17.4.0 — Family Rankings & Weekly Competition */
.rankings-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.family-ranking-week{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #4c3927;background:#100d09;color:#b98c52;font-size:8px}.family-ranking-week b{color:#dfb16c}.family-ranking-table td:nth-child(2) b{display:block;color:#dbad70;font-size:10px}.family-ranking-table td:nth-child(2) small{display:block;margin-top:3px;color:#776d62;font-size:7px;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.rankings-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.rankings-category-grid{grid-template-columns:1fr!important}}
