@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101010;--panel:#191919;--panel2:#202020;--line:#333;--text:#f3f0eb;--muted:#aaa49b;--red:#c43d36;--red2:#8e2421;--gold:#d9b36c}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.5}.background-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,#64211e35,transparent 55%)}.shell{position:relative;width:min(100% - 32px,520px);margin:0 auto;padding:34px 0 22px}.brand{display:flex;align-items:center;gap:14px;margin:0 0 28px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #9c3933;background:linear-gradient(145deg,#5c1e1b,#1d1111);font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;color:#f6d8b0;box-shadow:0 0 30px #8e242122}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#d06b62;margin:0 0 5px}.brand h1{font-family:'Barlow Condensed',sans-serif;font-size:30px;letter-spacing:1px;line-height:1;margin:0;font-weight:800}.brand h1 span{color:#bcb5aa}.panel{background:linear-gradient(145deg,#1b1b1b,#151515);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 18px 50px #0003}.panel-heading h2,.welcome-row h2{font-family:'Barlow Condensed',sans-serif;font-size:31px;line-height:1.1;margin:7px 0 8px}.muted{color:var(--muted);font-size:13px;margin:0}.tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#101010;border:1px solid #2b2b2b;border-radius:5px;margin:24px 0 22px}.tab{background:transparent;border:0;color:var(--muted);padding:11px 8px;font:600 13px Inter;cursor:pointer;border-radius:3px}.tab.active{background:#303030;color:white;box-shadow:inset 0 -2px var(--red)}form{display:flex;flex-direction:column}label{font-size:12px;font-weight:600;margin:0 0 7px}input{width:100%;padding:13px 12px;background:#101010;border:1px solid #3a3a3a;border-radius:4px;color:white;font:14px Inter;outline:none;margin:0 0 17px}input:focus{border-color:#b44a43;box-shadow:0 0 0 3px #b44a431c}.primary-button{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding:14px 16px;background:linear-gradient(90deg,var(--red2),var(--red));border:1px solid #d3544c;border-radius:4px;color:white;font:800 12px Inter;letter-spacing:1px;cursor:pointer}.primary-button:disabled{opacity:.6;cursor:wait}.primary-button span{font-size:19px}.message{font-size:12px;min-height:18px;margin:-6px 0 12px;color:#ff8b81}.fine-print{font-size:10px;color:#777;text-align:center;margin:20px 0 0}.hidden{display:none!important}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px}.welcome-row h2{margin:4px 0}.quiet-button{border:1px solid #444;background:#1b1b1b;color:#ddd;border-radius:4px;padding:9px 12px;font-size:12px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-card{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.stat-icon{font-size:18px;color:var(--gold)}.stat-card p{font-size:11px;color:var(--muted);margin:8px 0 2px}.stat-card strong{font-family:'Barlow Condensed',sans-serif;font-size:26px;letter-spacing:.3px}.next-panel{margin-top:14px}.next-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:25px;margin:8px 0}.next-panel>p:not(.eyebrow){line-height:1.7}.status-line{display:flex;align-items:center;gap:8px;border-top:1px solid #333;margin-top:20px;padding-top:15px;font-size:12px;color:#c6c0b7}.status-dot{width:7px;height:7px;border-radius:50%;background:#69bd7b;box-shadow:0 0 10px #69bd7b66}footer{text-align:center;color:#666;font-size:9px;letter-spacing:2px;margin-top:28px}footer span{color:var(--red);padding:0 5px}@media(min-width:600px){.shell{padding-top:52px}.panel{padding:28px}}@media(max-width:360px){.panel{padding:18px}.brand h1{font-size:27px}}

.crime-panel{margin-top:16px}.crime-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:5px 0 8px}.crime-list{display:grid;gap:10px;margin-top:20px}.crime-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#111;border:1px solid #333;border-radius:5px}.crime-item strong{display:block;font-size:13px;margin-bottom:4px}.crime-item .muted{font-size:11px}.crime-item button{min-width:74px}.crime-item button:disabled{opacity:.55;cursor:not-allowed}.crime-message{min-height:20px;color:#e7bd81;font-size:12px;margin:14px 0}.crime-panel #next-rank{padding-top:10px;border-top:1px solid #333}

.bank-panel{margin-top:16px}.bank-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:5px 0 8px}.bank-wealth{padding:14px;background:#111;border:1px solid #333;border-radius:5px;color:#bcb5aa;font-size:13px}.bank-wealth strong{color:#e5bc78;font-size:19px;margin-left:6px}.bank-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bank-actions button{margin:0;justify-content:center;min-height:44px;font-weight:700}.bank-panel h4{font-size:13px;margin:18px 0 8px}.bank-history{border-top:1px solid #333;padding-top:8px}.bank-history p{font-size:11px;color:#aaa49b;padding:6px 0;margin:0;border-bottom:1px solid #292929}

.hospital-panel{margin-top:16px}.hospital-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:5px 0 8px}.health-track{height:11px;border:1px solid #444;background:#0c0c0c;border-radius:6px;overflow:hidden;margin:20px 0 9px}.health-fill{height:100%;width:100%;background:linear-gradient(90deg,#9b2929,#db6054);transition:width .25s}.hospital-button{width:100%;margin-top:12px}.hospital-button:disabled{opacity:.45;cursor:not-allowed}

.inventory-panel{margin-top:16px}.inventory-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:5px 0 8px}.inventory-panel h4{font-size:14px;margin:22px 0 0}.inventory-panel .crime-item button{min-width:65px}

/* Responsive game navigation */
.shell:has(#game-view:not(.hidden)){width:min(100% - 28px,1180px)}
.game-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:18px;align-items:start;margin-top:14px}
.game-sidebar{background:#191919;border:1px solid #333;border-radius:7px;padding:14px;position:sticky;top:12px}
.nav-group{font-size:10px;letter-spacing:1.6px;color:#d06b62;margin:18px 8px 6px;font-weight:800}
.nav-group:first-child{margin-top:0}
.nav-link{display:block;width:100%;text-align:left;border:0;border-radius:4px;background:transparent;color:#c8c3ba;padding:10px 11px;cursor:pointer;font:600 12px Inter}
.nav-link:hover,.nav-link.active{background:#34201e;color:white}
.game-content{min-width:0}
.game-page .panel,.game-content>.panel{margin-top:0}
.game-content>.panel:not(.hidden){margin-bottom:14px}
.game-page{margin-bottom:14px}
.game-page .panel h3{font-family:'Barlow Condensed',sans-serif;font-size:27px;margin:5px 0 10px}
.menu-toggle{display:none}
.business-card{background:#111;border:1px solid #333;border-radius:5px;padding:14px;display:grid;gap:9px}
.business-card strong{font-size:14px}
.business-card button{justify-self:start}
.bid-form{display:flex;flex-direction:row;gap:8px}
.bid-form input{margin:0;min-width:0;flex:1}
@media(max-width:720px){
 .game-layout{display:block}
 .menu-toggle{display:block;margin:0 0 12px}
 .game-sidebar{display:none;position:static;margin-bottom:14px}
 .game-sidebar.open{display:block}
}

/* Mobile slide-out sidebar */
.menu-backdrop[hidden]{display:none!important}
@media(max-width:720px){
 .menu-toggle{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:12px;z-index:1001;margin:0;background:#252020;border:1px solid #76504b;box-shadow:0 4px 18px #0008}
 .game-layout{margin-top:18px}
 .menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#000a;z-index:1002}
 .game-sidebar{display:block;position:fixed;top:0;bottom:0;left:0;width:min(76vw,240px);max-width:240px;overflow-y:auto;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top,0px) + 28px) 14px 30px;border-radius:0;z-index:1003;transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s ease;box-shadow:8px 0 30px #0008}
 .game-sidebar.open{display:block;transform:translateX(0);visibility:visible}
 body.menu-open{overflow:hidden}
 .shell:has(#game-view:not(.hidden)){padding-top:66px}
}

/* Permanent left navigation on all screen sizes */
.menu-toggle,.menu-backdrop{display:none!important}
body.menu-open{overflow:auto}
.game-layout{display:grid!important;grid-template-columns:215px minmax(0,1fr)!important;gap:14px}
.game-sidebar,.game-sidebar.open{display:block!important;position:sticky!important;top:8px!important;bottom:auto!important;left:auto!important;width:auto!important;max-width:none!important;transform:none!important;visibility:visible!important;transition:none!important;box-shadow:none!important;overflow-y:auto;max-height:calc(100dvh - 16px)}
@media(max-width:720px){
 .shell:has(#game-view:not(.hidden)){width:calc(100% - 12px);padding-top:20px}
 .game-layout{grid-template-columns:112px minmax(0,1fr)!important;gap:7px;margin-top:12px}
 .game-sidebar,.game-sidebar.open{padding:10px 4px!important;border-radius:5px!important}
 .nav-group{font-size:8px;letter-spacing:.5px;margin:14px 4px 4px;overflow-wrap:anywhere}
 .nav-link{font-size:10px;padding:9px 5px;overflow-wrap:anywhere;line-height:1.25}
 .game-content .panel{padding:12px}
 .game-content h3{font-size:21px!important;overflow-wrap:anywhere}
 .game-content .crime-item{flex-wrap:wrap;padding:9px;gap:8px}
 .game-content .crime-item button{min-width:0}
 .game-content .bank-actions{grid-template-columns:1fr}
 .game-content .bid-form{flex-wrap:wrap}
 .game-content .bid-form input{width:100%;flex-basis:100%}
 .game-content .primary-button{font-size:10px;letter-spacing:0;padding:11px 8px}
 .game-content input{padding:10px 8px;min-width:0}
 .game-content .bank-wealth{padding:9px;overflow-wrap:anywhere}
 .game-content .bank-wealth strong{display:block;margin:4px 0 0}
 .game-content .crime-item .muted{overflow-wrap:anywhere}
}

/* Compact player status header */
.brand{margin-bottom:12px;gap:10px}
.brand-title{min-width:0;flex:1}
.brand .top-logout{margin-left:auto;white-space:nowrap;align-self:center;font-size:11px;padding:8px 10px}
#auth-view:not(.hidden)~*{}
.player-strip{display:flex;align-items:center;gap:16px;padding:12px 14px;background:#171717;border:1px solid #333;border-radius:7px;margin-bottom:10px}
.player-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 185px}
.player-avatar{width:34px;height:34px;border-radius:50%;border:1px solid #9c3933;background:#361a19;display:grid;place-items:center;font-family:'Barlow Condensed',sans-serif;color:#e5bc78;font-weight:800;font-size:14px;flex-shrink:0}
.player-name-block{min-width:0}
.player-name-block h2{font-family:'Barlow Condensed',sans-serif;font-size:24px;line-height:1.1;margin:0;overflow:hidden;text-overflow:ellipsis}
.player-name-block .muted{font-size:10px;margin-top:4px;overflow-wrap:anywhere}
.player-strip .stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:0;flex:1;min-width:0}
.player-strip .stat-card{min-width:0;padding:7px 5px;text-align:center;border-radius:4px}
.player-strip .stat-icon{font-size:13px}
.player-strip .stat-card p{font-size:9px;margin:2px 0 0}
.player-strip .stat-card strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:17px;line-height:1.2;overflow-wrap:anywhere}
@media(max-width:720px){
 .brand{margin-bottom:8px}
 .brand-mark{width:35px;height:35px;font-size:18px;flex-shrink:0}
 .brand h1{font-size:21px}
 .brand .eyebrow{font-size:7px;letter-spacing:1px}
 .brand .top-logout{padding:6px 7px;font-size:10px}
 .player-strip{display:block;padding:9px 7px;margin-bottom:8px}
 .player-identity{margin-bottom:8px;gap:8px}
 .player-avatar{width:27px;height:27px;font-size:12px}
 .player-name-block h2{font-size:20px}
 .player-strip .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .player-strip .stat-card{padding:5px 2px}
 .player-strip .stat-icon{display:none}
 .player-strip .stat-card p{font-size:9px}
 .player-strip .stat-card strong{font-size:15px}
 .game-layout{margin-top:8px}
}
#auth-view:not(.hidden)~#game-view.hidden{}
.shell:has(#auth-view:not(.hidden)) .top-logout{display:none}

/* Sidebar starts beside, not below, the compact player header */
.game-layout{align-items:start}
.game-content>.player-strip{width:100%;min-width:0;box-sizing:border-box;margin-bottom:10px}
.game-content>.player-strip .player-identity{flex-basis:150px}
@media(max-width:900px){
 .game-content>.player-strip{display:block;padding:8px}
 .game-content>.player-strip .player-identity{margin-bottom:8px}
 .game-content>.player-strip .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .game-content>.player-strip .stat-card{padding:5px 2px}
 .game-content>.player-strip .stat-icon{display:none}
}
@media(max-width:720px){
 .game-layout{margin-top:5px}
 .game-content>.player-strip{padding:7px 5px;margin-bottom:8px}
 .game-content>.player-strip .player-avatar{width:24px;height:24px}
 .game-content>.player-strip .player-name-block h2{font-size:19px}
 .game-content>.player-strip .stat-card p{font-size:8px}
 .game-content>.player-strip .stat-card strong{font-size:14px}
}

/* Five compact stats after moving XP progress into the rank label */
.player-strip .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.game-content>.player-strip .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.player-name-block #rank-line{color:#d7ad65;font-weight:650;font-variant-numeric:tabular-nums}

/* Six compact player stats, including current city */
.player-strip .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:900px){.game-content>.player-strip .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
#header-city{font-size:clamp(11px,1.5vw,17px);overflow-wrap:anywhere}

/* Mafia-inspired compact game interface */
:root{--gold:#f5a900}
body{background:#0c0c0d}
.shell:has(#game-view:not(.hidden)){width:min(100% - 16px,1280px)}
.game-sidebar{background:#101011;border-color:#272727}
.nav-group{color:#ae8457}
.nav-link.active{background:#2c2114;color:#ffb52d;box-shadow:inset 3px 0 #f5a900}
.player-strip{background:#121213;border-color:#262626;border-radius:10px}
.player-avatar{border-color:#db8a17;background:#32210b;color:#ffb52d}
.player-name-block #rank-line{color:#ffb52d}
.game-content .crime-panel{background:#101011;border-color:#272727;padding:18px}
.crime-panel .eyebrow{color:#bc8546}
.crime-list{gap:0;border:1px solid #292929;border-radius:10px;overflow:hidden;background:#171718}
.crime-list .crime-item{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:12px;border:0;border-bottom:1px solid #090909;border-radius:0;background:#19191a;padding:13px 15px;min-height:70px}
.crime-list .crime-item:nth-child(even){background:#141415}
.crime-list .crime-item:last-child{border-bottom:0}
.crime-item strong{font-size:14px;font-weight:600;color:#e5e3df;margin:0 0 5px}
.crime-item .muted{font-size:10px;color:#8d8b88;line-height:1.45}
.crime-chance{white-space:nowrap;font-size:13px;color:#b8b4af;font-variant-numeric:tabular-nums}
.crime-item .crime-action{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;background:#a96908;border:2px solid #f4a300;color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.crime-item .crime-action:disabled{background:#39342c;border-color:#77613a;color:#b9aa90;opacity:.75;cursor:not-allowed;font-size:11px}
@media(max-width:720px){
 .game-layout{grid-template-columns:82px minmax(0,1fr)!important;gap:6px}
 .game-sidebar,.game-sidebar.open{padding:8px 3px!important}
 .nav-link{font-size:9px;padding:9px 4px}
 .nav-group{font-size:7px;letter-spacing:0;margin-left:3px}
 .game-content .crime-panel{padding:9px}
 .crime-list .crime-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;padding:11px 8px;min-height:74px}
 .crime-item strong{font-size:12px}
 .crime-item .muted{font-size:9px}
 .crime-chance{grid-column:1;grid-row:2;font-size:11px;color:#d2a256}
 .crime-item .crime-action{grid-column:2;grid-row:1 / span 2;width:40px;height:40px;min-width:40px}
}

/* Floating game notifications, replacing inline action feedback */
#game-view .crime-message{display:none!important}
.toast-region{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translateX(-50%);width:min(92vw,650px);z-index:3000;pointer-events:none}
.game-toast{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:12px;align-items:center;background:#141414;border:1px solid #363636;border-left:6px solid #36b535;border-radius:9px;box-shadow:0 15px 45px #000c;padding:16px 15px 16px 18px;color:#f2eeee;pointer-events:auto;animation:toast-enter .18s ease-out}
.game-toast.toast-error{border-left-color:#db4949}
.toast-heading{display:block;color:#50ca48;font-size:12px;letter-spacing:2px;font-weight:800;margin-bottom:7px}
.toast-error .toast-heading{color:#f36a64}
.game-toast p{font-size:15px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.toast-close{align-self:start;border:0;background:transparent;color:#a5a5a5;font-size:30px;line-height:1;cursor:pointer;padding:0}
@keyframes toast-enter{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.toast-region{top:calc(env(safe-area-inset-top,0px) + 12px)}.game-toast{padding:12px 10px 12px 13px}.game-toast p{font-size:13px}}

/* Success-rate colors for Crimes and Car Theft */
.crime-chance.chance-low{color:#ef5555!important}
.crime-chance.chance-medium{color:#f0c347!important}
.crime-chance.chance-high{color:#48c774!important}

/* Locked activities remain visible, but cannot be attempted until the required rank. */
.crime-item.crime-locked{opacity:.55}
.crime-item.crime-locked .crime-action{cursor:not-allowed;filter:grayscale(1)}
.crime-requirement{display:block;font-size:11px;color:#e0ac6c;margin-top:4px}


/* Jail: approved compact dark layout; bounty immediately beside breakout. */
.jail-panel{background:#101011;border-color:#292929;padding:16px}
.jail-status{display:flex;flex-direction:column;gap:5px;padding:16px;background:#1c1712;border:1px solid #4e351a;border-radius:8px;margin-bottom:12px}
.jail-eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:#bca17f}
.jail-status strong{font-size:19px;color:#56c86a}
.jail-status p{font-size:11px;color:#aaa;margin:0}
.jail-status.is-locked{background:#231514;border-color:#823b36}
.jail-status.is-locked strong{color:#f0756b}
.jail-bounty-form{padding:12px;border:1px solid #43331f;border-radius:7px;background:#191611;margin-bottom:12px}
.jail-bounty-form label{display:block;font-size:11px;color:#d3b687}
.jail-bounty-controls{display:flex;gap:8px;align-items:start}
.jail-bounty-controls input{flex:1;min-width:0;margin:0}
.jail-bounty-form .muted{font-size:10px;margin-top:8px}
.jail-skill{color:#cba363;font-size:11px;margin:12px 0}
.jail-table{border:1px solid #303030;border-radius:8px;overflow:hidden}
.jail-table-heading{display:flex;justify-content:space-between;align-items:center;padding:13px;gap:8px}
.jail-table-heading strong{font-size:14px}
.jail-table-heading span{font-size:10px;color:#999}
.jail-table-labels,.jail-prisoner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1.4fr);gap:7px;align-items:center}
.jail-table-labels{padding:9px 12px;background:#1b1b1b;color:#a5a5a5;font-size:9px;font-weight:700}
.jail-prisoner{padding:12px;background:#19150f;border-top:1px solid #262626;min-height:55px}
.jail-prisoner:nth-child(even){background:#111}
.jail-prisoner strong{font-size:11px;overflow-wrap:anywhere}
.jail-time{font-size:11px;color:#b5b5b5;font-variant-numeric:tabular-nums}
.jail-bounty-action{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.jail-bounty-amount{font-size:11px;font-weight:700;color:#efb03d;white-space:nowrap}
.jail-breakout-button{background:#2c2925;border:1px solid #5c4425;border-radius:4px;color:#f2ae3b;font-size:9px;font-weight:800;padding:9px 7px;cursor:pointer;white-space:nowrap}
.jail-breakout-button:disabled{opacity:.4;cursor:not-allowed}
.jail-empty{font-size:12px;color:#aaa;padding:18px;margin:0}
body.is-jailed .nav-link:not([data-page="jail"]){opacity:.32;cursor:not-allowed}
@media(max-width:720px){
 .game-content .jail-panel{padding:8px}
 .jail-status{padding:11px}
 .jail-table-heading{padding:10px 7px}
 .jail-table-labels,.jail-prisoner{grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1.5fr);gap:3px}
 .jail-table-labels{padding:8px 5px;font-size:7px}
 .jail-prisoner{padding:9px 5px}
 .jail-prisoner strong,.jail-time,.jail-bounty-amount{font-size:9px}
 .jail-breakout-button{font-size:7px;padding:7px 4px}
 .jail-bounty-controls{flex-wrap:wrap}
 .jail-bounty-controls input{width:100%;flex-basis:100%}
}

/* Kill, equipment, backfire and protection */
.combat-panel{margin-top:16px}
.combat-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:27px;margin:0 0 7px}
.combat-panel h4{font-size:14px;margin:22px 0 12px;color:#d9b36c}
.combat-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.combat-info span{background:#111;border:1px solid #35302a;border-radius:6px;padding:12px;color:#aaa49b;font-size:12px;min-width:0}
.combat-info strong{display:block;color:#f1b85a;font-size:17px;margin-top:4px;overflow-wrap:anywhere}
.combat-panel form{margin-top:14px}
.combat-panel form .quiet-button{margin-bottom:14px;align-self:flex-start}
.combat-panel form .primary-button{width:100%}
.combat-panel #kill-target-details{margin:0 0 15px}
.combat-catalog{display:grid;gap:9px}
.combat-shop-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111;border:1px solid #36302b;border-radius:6px;padding:12px}
.combat-shop-item strong{font-size:13px}
.combat-shop-item .muted{font-size:11px;margin-top:3px}
.combat-shop-item button{flex-shrink:0;padding:9px 11px;font-size:11px}
.combat-shop-item button:disabled{opacity:.5}
.combat-protection-status{color:#f1b85a;font-weight:700;margin:18px 0}

.garage-cars{display:grid;gap:10px;margin:14px 0}.garage-car{display:flex;gap:12px;align-items:center;background:#181818;border:1px solid #34302b;border-radius:8px;padding:10px}.garage-picture{width:105px;height:78px;flex-shrink:0;background:#24201b;border-radius:6px;display:grid;place-items:center;font-size:38px;overflow:hidden}.garage-picture img{width:100%;height:100%;object-fit:cover}.garage-car>div:nth-child(2){min-width:0;flex:1}.garage-car strong{font-size:13px}.garage-car p{font-size:11px;margin:5px 0}.garage-actions{display:flex;flex-wrap:wrap;gap:6px}.garage-actions button{font-size:10px;padding:7px 9px}#garage-upgrade{margin-top:10px}@media(max-width:720px){.garage-picture{width:65px;height:58px;font-size:25px}.garage-car{gap:7px;padding:7px}.garage-actions button{padding:6px;font-size:9px}}

/* Collapsible sidebar groups: Overview remains permanently visible. */
.game-sidebar .nav-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;border:0;background:transparent;cursor:pointer;padding:8px 7px;border-radius:4px;font-family:inherit}
.game-sidebar .nav-group-toggle:hover{background:#29221a}
.game-sidebar .nav-chevron{font-size:13px;transition:transform .16s ease;color:#e4aa45}
.game-sidebar .nav-group-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(90deg)}
.game-sidebar .nav-section[hidden]{display:none!important}
.game-sidebar .nav-section{padding-left:5px}
@media(max-width:720px){.game-sidebar .nav-group-toggle{padding:8px 3px;font-size:7px}.game-sidebar .nav-chevron{font-size:10px}.game-sidebar .nav-section{padding-left:2px}}

/* Compact live cooldown labels in the Crimes sidebar. */
.game-sidebar .nav-link-timed{display:flex;align-items:center;justify-content:space-between;gap:4px}
.game-sidebar .nav-link-timed>span:first-child{min-width:0}
.game-sidebar .nav-cooldown{flex-shrink:0;white-space:nowrap;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.15px}
.game-sidebar .nav-cooldown.nav-waiting{color:#ff5757}
.game-sidebar .nav-cooldown.nav-ready{color:#43ce76}
@media(max-width:720px){.game-sidebar .nav-cooldown{font-size:8px}.game-sidebar .nav-link-timed{gap:2px}}

.auction-create-form{display:grid;gap:10px;margin:14px 0 24px;padding:14px;background:#171717;border:1px solid #3a332c;border-radius:8px}
.auction-create-form label{font-size:12px;font-weight:700;color:#d6c4a7}
.auction-create-form input,.auction-create-form select{width:100%;min-width:0;background:#101010;color:#f2f2f2;border:1px solid #494949;border-radius:6px;padding:11px;font:inherit}
.auction-create-form [hidden]{display:none!important}
.auction-create-form .muted{margin:4px 0 0}
.auction-create-form button{width:100%;margin-top:4px}

/* Compact auction layout and separate Create / Active views */
.auction-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 12px}
.auction-tab{min-width:0;padding:11px 5px;background:#191919;color:#c8bda9;border:1px solid #39332b;border-radius:6px;font:700 12px Inter,sans-serif;cursor:pointer}
.auction-tab.active{background:#382716;border-color:#c58b35;color:#ffbd5c}
.auction-tab-panel[hidden]{display:none!important}
.auction-tab-panel h4{margin:16px 0 10px}
#auction-create-panel .auction-create-form{gap:7px;margin:0;padding:10px 11px 12px}
#auction-create-panel .auction-create-form label{font-size:11px;margin:0}
#auction-create-panel .auction-create-form input,#auction-create-panel .auction-create-form select{padding:8px 10px;font-size:13px;min-height:36px}
#auction-create-panel .auction-create-form .muted{font-size:10px;margin:2px 0 0}
#auction-create-panel .auction-create-form button{padding:9px;margin-top:3px;font-size:11px}
#auction-create-panel #auction-quantity-wrap,#auction-create-panel #auction-location-wrap{display:grid;gap:4px}
@media(max-width:720px){.auction-tabs{gap:4px}.auction-tab{font-size:10px;padding:9px 3px}#auction-create-panel .auction-create-form{padding:9px;gap:6px}}

.auction-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.auction-listing{padding:12px;margin-bottom:10px}
.auction-listing-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.auction-listing-header strong{min-width:0;overflow-wrap:anywhere}
.auction-countdown{color:#f2ad4e;white-space:nowrap;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.auction-bid-info{color:#f5f5f5;font-weight:700;margin:8px 0 3px}
.auction-listing .muted{margin:5px 0;font-size:12px}
.auction-listing .bid-form{margin-top:10px}
@media(max-width:720px){.auction-tab{font-size:9px;padding:9px 2px}.auction-countdown{font-size:9px}.auction-listing{padding:9px}}

/* Active Auctions category filters */
.auction-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:12px 0}
.auction-filter{min-width:0;padding:10px 3px;background:#202020;border:1px solid #444;border-radius:6px;color:#d2c7b7;font-size:11px;font-weight:700;cursor:pointer}
.auction-filter.active{background:#382716;color:#ffbd5c;border-color:#c58b35}
#auction-business-group[hidden],#auction-bullet-group[hidden]{display:none!important}
@media(max-width:720px){.auction-filter{font-size:9px;padding:9px 2px}}

/* Auctions as compact rows rather than large cards */
.auction-rows{display:flex;flex-direction:column;gap:0}
.auction-rows .auction-listing,#my-auction-list .auction-listing{background:transparent;border:0;border-bottom:1px solid #393939;border-radius:0;box-shadow:none;margin:0;padding:10px 2px}
.auction-listing .auction-listing-header{align-items:center}
.auction-listing .auction-listing-header strong{font-size:13px}
.auction-listing .muted{font-size:11px;margin:3px 0}
.auction-listing .auction-bid-info{font-size:12px;margin:5px 0 2px}
.auction-listing .bid-form{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.auction-listing .bid-form input{flex:1 1 110px;min-width:0;padding:7px;font-size:12px}
.auction-listing .bid-form button{flex:0 0 auto;padding:7px 10px;font-size:11px}
.auction-own-label{display:inline-block;color:#e6a348;font-size:10px;font-weight:700;margin-left:4px}
.auction-empty{color:#aaa;font-size:13px;margin:14px 0 4px}
.auction-empty[hidden]{display:none!important}

/* Player mail */
.header-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.header-actions .quiet-button{white-space:nowrap}
#mail-button[hidden],.mail-badge[hidden]{display:none!important}
.mail-badge{display:inline-block;min-width:17px;padding:1px 4px;margin-left:3px;border-radius:10px;background:#b6342d;color:white;font-size:10px;font-weight:800;text-align:center}
.mail-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:16px}
.mail-tab{padding:10px 4px;background:#242424;color:#ccc;border:1px solid #444;border-radius:5px;cursor:pointer;font-weight:700}
.mail-tab.active{background:#382716;color:#ffbd5c;border-color:#c58b35}
.mail-panel [hidden]{display:none!important}
.mail-list{display:flex;flex-direction:column;gap:0}
.mail-item{border-bottom:1px solid #393939;padding:9px 0}
.mail-item summary{cursor:pointer;display:flex;flex-direction:column;gap:3px;font-size:13px}
.mail-item summary span{color:#aaa;font-size:11px}
.mail-unread-item summary strong{color:#ffbd5c}
.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:12px 0}
.mail-item button{margin:0 6px 5px 0;padding:7px 12px;font-size:11px}
#mail-form textarea{width:100%;background:#101010;border:1px solid #444;border-radius:5px;color:white;font:13px Inter,sans-serif;padding:10px;resize:vertical;margin-bottom:12px}
#mail-form input{margin-bottom:12px}
@media(max-width:720px){.header-actions{gap:4px}.header-actions .quiet-button{padding:8px 6px;font-size:11px}.mail-tab{font-size:11px}}

/* Black Market category tabs and equipment illustrations */
.market-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:18px 0 16px}
.market-tab{min-width:0;padding:10px 3px;background:#242424;color:#bbb;border:1px solid #454545;border-radius:5px;cursor:pointer;font-size:clamp(9px,1.9vw,12px);font-weight:700;overflow-wrap:anywhere}
.market-tab.active{background:#382716;border-color:#c58b35;color:#ffbd5c}
.market-tab-panel[hidden]{display:none!important}
.combat-shop-item{gap:10px}
.market-item-picture{width:56px;height:56px;flex:0 0 56px;padding:5px;border:1px solid #3d3931;border-radius:7px;background:linear-gradient(135deg,#292821,#121313)}
.combat-shop-item>div{flex:1;min-width:0}
.combat-shop-item>button{flex-shrink:0}
@media(max-width:420px){.market-item-picture{width:43px;height:43px;flex-basis:43px;padding:3px}.combat-shop-item{gap:7px}.market-tab{font-size:9px;padding:9px 2px}}

.transport-icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border:1px solid #3d3931;border-radius:7px;background:linear-gradient(135deg,#292821,#121313);font-size:30px}
@media(max-width:420px){.transport-icon{width:43px;height:43px;flex-basis:43px;font-size:24px}}

/* Credit Store */
.credit-balance{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:#e5b968;margin:5px 0 20px}
.credit-store-list{display:grid;gap:8px;margin:12px 0 24px}
.credit-pack-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#121212;border:1px solid #363636;border-radius:6px}
.credit-pack-row strong{font-size:13px}
.credit-pack-row .muted{font-size:11px;margin-top:3px}
.credit-pack-row button{flex-shrink:0;font-size:10px}
.credit-pack-row button:disabled{opacity:.55;cursor:not-allowed}

.credit-store-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 16px}
.credit-store-tab{padding:12px 6px;background:#171717;color:#aaa;border:1px solid #3a3a3a;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.credit-store-tab.active{color:#f1b84c;background:#2d2214;border-color:#d99b27;box-shadow:inset 0 -2px 0 #d99b27}
.credit-store-panel[hidden]{display:none!important}
@media(max-width:480px){.credit-store-tabs{gap:4px}.credit-store-tab{font-size:10px;padding:11px 3px}}

.brand-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.server-clock{display:inline-block;white-space:nowrap;font:600 12px Inter,system-ui,sans-serif;letter-spacing:.3px;color:var(--gold);font-variant-numeric:tabular-nums}
@media(max-width:700px){.brand-title-row{gap:7px}.server-clock{font-size:10px}}


/* Shooting Range */
.shooting-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.shooting-metric{background:#191919;border:1px solid #414141;border-radius:9px;padding:20px 16px;min-width:0;display:flex;flex-direction:column;gap:10px}
.shooting-label{font-size:15px;color:#e5e5e5}
.shooting-metric strong{color:#f7b83f;font-size:clamp(25px,4vw,38px);font-weight:800;line-height:1.15}
.shooting-progress{height:9px;background:#363636;border-radius:20px;overflow:hidden;margin-top:4px}
#shooting-progress-fill{height:100%;width:0;background:#f7b83f;border-radius:20px;transition:width .3s ease}
.shooting-train-button{width:100%;min-height:56px;font-weight:800;letter-spacing:.02em}
.shooting-train-button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:430px){.shooting-metrics{gap:9px}.shooting-metric{padding:15px 10px}.shooting-label{font-size:13px}.shooting-metric strong{font-size:24px}}


/* Shared player identities, kept separate from the large profile portrait. */
.player-name-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;vertical-align:middle;color:inherit;text-decoration:none;font:inherit;line-height:1.3;cursor:pointer}
.player-name-link>span{overflow-wrap:anywhere;min-width:0}
.player-name-avatar{display:block;width:24px!important;height:24px!important;min-width:24px;object-fit:cover;border-radius:50%;border:1px solid #c69a47;background:#292011;flex:0 0 24px}
.player-name-link:hover>span{text-decoration:underline;color:#f1c86c}
.player-name-link:focus-visible{outline:2px solid #efc96f;outline-offset:3px;border-radius:4px}
#welcome-name .player-name-avatar{width:34px!important;height:34px!important;min-width:34px;flex-basis:34px}
#welcome-name .player-name-link{gap:9px}
.crime-item strong:has(.player-name-link){min-width:0}
.chat-username:has(.player-name-link){display:inline-flex;align-items:center}
/* Public player profiles */
.public-profile{max-width:780px;margin:auto}
.profile-top{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.public-avatar{width:100px;height:100px;object-fit:cover;border-radius:50%;border:2px solid #bb862c;background:#252525}
.profile-top h2{margin:0 0 8px;font-size:clamp(24px,4vw,34px)}
.profile-actions{display:flex;gap:10px;margin:16px 0 20px;flex-wrap:wrap;align-items:center}
.profile-send-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:390px}
.profile-send-actions button,.profile-transfer-form button[type="submit"]{min-height:40px;padding:8px 9px;border:1px solid #e7bd62;border-radius:7px;background:linear-gradient(135deg,#f6d987,#c38b29);color:#211706;font-size:12px;font-weight:750;line-height:1.2;box-shadow:inset 0 1px 0 #ffe9ac66,0 2px 7px #0005}
.profile-send-actions button:hover,.profile-transfer-form button[type="submit"]:hover{background:linear-gradient(135deg,#ffe5a2,#daa441)}
.profile-send-actions button:focus-visible,.profile-transfer-form button:focus-visible{outline:2px solid #ffe1a0;outline-offset:3px}
.profile-send-actions button:disabled{opacity:.5;cursor:not-allowed}
.profile-actions #public-contact{min-height:36px;padding:6px 10px;font-size:12px;background:transparent;color:#d6b66d;border:1px solid #76603a}
.profile-transfer-form{border:1px solid #8c6a30;border-radius:9px;background:#211b10;padding:12px;margin:0 0 20px}
.profile-transfer-form[hidden],.profile-send-actions button[hidden]{display:none}
.profile-transfer-form label{display:block;color:#f3d48e;font-size:13px;margin-bottom:8px}
.profile-transfer-inputs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.profile-transfer-inputs input{min-width:100px;flex:1;width:100px}
.profile-transfer-inputs button{min-height:40px;padding:8px 12px;font-size:12px}
.public-profile h3{color:#d79b40;border-bottom:1px solid #39302a;padding-bottom:10px;margin:25px 0 8px}
.profile-detail{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #333;padding:14px 0}
.profile-detail span{color:#a5a5a5}
.profile-detail strong{color:#e8e8e8}
#public-bio{white-space:pre-wrap;overflow-wrap:anywhere}
#public-edit label{display:block;margin:12px 0}
#public-edit textarea,#public-edit select{display:block;width:100%;margin-top:8px}
#public-profile-message{color:#d79b40}

.mail-contact-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #393939}.mail-contact-row button:first-child{margin-right:auto;color:#e9ac43;font-weight:700}.mail-contact-row button{min-height:40px}#mail-contact-select{width:100%;max-width:100%;margin:8px 0 15px}.mail-tabs{flex-wrap:wrap}


/* Drug Market */
.drug-market-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.drug-market-overview>div{border:1px solid #45403a;border-radius:9px;padding:14px;background:#1d1d1d;display:flex;flex-direction:column;gap:8px;min-width:0}
.drug-market-overview span,.drug-market-detail span{color:#aaa;font-size:13px}
.drug-market-overview strong{font-size:clamp(15px,2.6vw,22px);overflow-wrap:anywhere}
.drug-market-card{border:1px solid #443b30;background:#1c1c1c;border-radius:10px;padding:16px;margin:12px 0}
.drug-market-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#e9b24f;font-size:17px}
.drug-market-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.drug-market-detail>div{display:flex;flex-direction:column;gap:5px}
.drug-market-actions{display:flex;gap:9px;align-items:center}
.drug-market-actions input{width:100%;min-width:0;flex:1}
.drug-market-actions button{min-width:72px}
.drug-profit{color:#61c98b!important}.drug-loss{color:#f07777!important}
@media(max-width:480px){.drug-market-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.drug-market-overview>div:last-child{grid-column:1/-1}.drug-market-card{padding:12px}.drug-market-actions button{min-width:60px;padding:10px}}


.drug-market-popup-overlay{position:fixed;z-index:9999;top:calc(env(safe-area-inset-top, 0px) + 76px);left:50%;transform:translateX(-50%);width:min(92vw,370px);pointer-events:none}
.drug-market-popup{display:flex;flex-direction:column;gap:5px;padding:13px 16px;border:1px solid #a47a36;border-radius:9px;background:#202020;box-shadow:0 6px 24px #0009;text-align:center;color:#eee;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.drug-market-popup strong{font-size:15px}


/* Compact Drug Market: keep trade controls visible without excessive scrolling */
[data-page-panel="drugmarket"] .drug-market-overview{margin:10px 0;gap:7px}
[data-page-panel="drugmarket"] .drug-market-overview>div{padding:9px;gap:3px}
[data-page-panel="drugmarket"] .drug-market-card{padding:11px 13px;margin:7px 0;border-radius:8px}
[data-page-panel="drugmarket"] .drug-market-heading{font-size:15px;gap:8px}
[data-page-panel="drugmarket"] .drug-market-detail{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}
[data-page-panel="drugmarket"] .drug-market-detail>div{gap:3px;min-width:0}
[data-page-panel="drugmarket"] .drug-market-detail span{font-size:11px;line-height:1.25}
[data-page-panel="drugmarket"] .drug-market-detail strong{font-size:13px;overflow-wrap:anywhere}
[data-page-panel="drugmarket"] .drug-market-actions{gap:7px}
[data-page-panel="drugmarket"] .drug-market-actions input{padding:8px;min-height:36px}
[data-page-panel="drugmarket"] .drug-market-actions button{padding:8px 10px;min-height:36px}
@media(max-width:650px){
 [data-page-panel="drugmarket"] .drug-market-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin:8px 0}
 [data-page-panel="drugmarket"] .drug-market-detail>div{flex-direction:row;align-items:center;justify-content:space-between;gap:5px}
 [data-page-panel="drugmarket"] .drug-market-detail span{font-size:11px}
 [data-page-panel="drugmarket"] .drug-market-detail strong{font-size:12px}
 [data-page-panel="drugmarket"] .drug-market-card{padding:10px;margin:6px 0}
 [data-page-panel="drugmarket"] .drug-market-actions button{min-width:50px}
}


/* Drug Market action colors */
[data-page-panel="drugmarket"] .drug-market-actions .drug-buy-button{background:#217d47!important;border:1px solid #3da66b!important;color:#fff!important;font-weight:700}
[data-page-panel="drugmarket"] .drug-market-actions .drug-buy-button:hover:not(:disabled){background:#2a9956!important}
[data-page-panel="drugmarket"] .drug-market-actions .drug-sell-button{background:#a52d2d!important;border:1px solid #cf5050!important;color:#fff!important;font-weight:700}
[data-page-panel="drugmarket"] .drug-market-actions .drug-sell-button:hover:not(:disabled){background:#be3838!important}

/* Destructive protection action */
#protection-cancel:not(.hidden){background:#a52d2d!important;border:1px solid #cf5050!important;color:#fff!important;font-weight:700}
#protection-cancel:not(.hidden):hover{background:#be3838!important}

/* Readable dynamic transaction totals on narrow screens */
.drug-market-actions{flex-wrap:wrap}
.drug-market-actions .drug-trade-button{white-space:normal;overflow-wrap:anywhere;line-height:1.3;flex:1 1 145px;min-width:0}
.drug-market-actions input{flex:1 1 100%;min-width:0}
#local-bullets-form button,#bank-form button,#backfire-form button,.bid-form button,.credit-pack-row button,.combat-shop-item button,.garage-actions button{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
@media(max-width:650px){.drug-market-actions .drug-trade-button{font-size:11px;padding:9px 5px!important}.credit-pack-row button{max-width:48%;font-size:11px}.combat-shop-item button{max-width:52%;font-size:11px}}


/* Global transaction semantics: green purchases/upgrades, red sales/cancellations. */
button.transaction-buy:not(:disabled){background:#217d47!important;border-color:#3da66b!important;color:#fff!important;font-weight:700}
button.transaction-buy:hover:not(:disabled){background:#2a9956!important}
button.transaction-sell:not(:disabled){background:#a52d2d!important;border-color:#cf5050!important;color:#fff!important;font-weight:700}
button.transaction-sell:hover:not(:disabled){background:#be3838!important}
button.transaction-buy:disabled{background:#1b3928!important;border-color:#315640!important;color:#98bca6!important}
button.transaction-sell:disabled{background:#3a2222!important;border-color:#593535!important;color:#c29a9a!important}


/* Airport: prevent button overflow on narrow mobile screens. */
#airport-cities .airport-city-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:12px 14px}
#airport-cities .airport-city-row>strong{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:clamp(13px,3.6vw,16px)}
#airport-cities .airport-city-row>button{flex:0 0 auto;max-width:52%;min-width:0;min-height:42px;padding:9px 12px;border-radius:8px;font-size:12px;font-weight:700;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal;letter-spacing:0}
#airport-cities .airport-travel-button{background:#217d47!important;border:1px solid #3da66b!important;color:#fff!important}
#airport-cities .airport-travel-button:not(:disabled):hover{background:#2a9956!important}
#airport-cities .airport-travel-button:disabled{background:#1b3928!important;border-color:#315640!important;color:#a6c6b0!important;opacity:1}
#airport-cities .airport-current-button,#airport-cities .airport-current-button:disabled{background:#a52d2d!important;border:1px solid #cf5050!important;color:#fff!important;opacity:1}
@media(max-width:420px){#airport-cities .airport-city-row{padding:10px;gap:7px}#airport-cities .airport-city-row>button{padding:9px 8px;font-size:11px}}

/* Bank transaction actions: deposit is green, withdrawal is red. */
#bank-form .bank-deposit{background:#238c45!important;border-color:#31ad59!important;color:#fff!important}
#bank-form .bank-deposit:hover{background:#2aa554!important}
#bank-form .bank-withdraw{background:#a52c2b!important;border-color:#c84540!important;color:#fff!important}
#bank-form .bank-withdraw:hover{background:#bc3835!important}

/* Social chat */
.chat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.chat-tabs button.active{border-color:#d9b36c;color:#f4c96d;background:#33291c}
.chat-messages{height:min(52dvh,440px);min-height:240px;overflow-y:auto;overscroll-behavior:contain;background:#111;border:1px solid #383838;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}
.chat-message{border-bottom:1px solid #292929;padding-bottom:9px;overflow-wrap:anywhere}
.chat-meta{display:flex;align-items:center;gap:10px;margin-bottom:3px}
.chat-meta small{color:#aaa}
.chat-username{background:transparent;border:0;color:#e5bc78;font-weight:700;padding:0;cursor:pointer}
.chat-body{font-size:13px;white-space:pre-wrap}
.chat-compose{display:flex;gap:8px;align-items:flex-start}
.chat-compose input{min-width:0;flex:1;margin:0}
.chat-compose button{min-height:44px;margin:0}
/* Mobile: reclaim the 112px permanently visible sidebar for actual gameplay. */
@media(max-width:720px){
 .shell:has(#game-view:not(.hidden)){width:calc(100% - 20px);padding-top:65px}
 .game-layout{display:block!important;grid-template-columns:none!important;gap:0!important}
 .menu-toggle{display:block!important;position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 10px);left:10px;z-index:1005}
 .menu-backdrop:not([hidden]){display:block!important;position:fixed;inset:0;background:#000b;z-index:1003}
 .game-sidebar,.game-sidebar.open{display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:min(76vw,240px)!important;max-width:240px!important;max-height:100dvh!important;overflow-y:auto!important;transform:translateX(-105%)!important;visibility:hidden!important;transition:transform .2s ease,visibility .2s ease!important;z-index:1004!important;padding:calc(env(safe-area-inset-top,0px) + 70px) 14px 28px!important}
 .game-sidebar.open{transform:translateX(0)!important;visibility:visible!important}
 .nav-group{font-size:11px;letter-spacing:1px;margin:18px 8px 6px}
 .nav-link{font-size:14px;padding:12px 10px;line-height:1.35}
 body.menu-open{overflow:hidden!important}
 .game-content{min-width:0;width:100%}
 .game-content .panel{padding:14px}
 .game-content .bank-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chat-compose{flex-wrap:wrap}
 .chat-compose button{width:100%;justify-content:center}
 .crime-item{min-width:0}
}

/* Clearly distinguish selected leaderboard group and ranking. */
[data-page-panel="leaderboards"] button.active{background:#9b6b20!important;border:2px solid #f5c45e!important;color:#fff9e9!important;font-weight:800!important;box-shadow:inset 0 0 0 1px #f7d68a44,0 0 0 2px #c08a3440!important}
[data-page-panel="leaderboards"] button:not(.active){background:#202020;border:1px solid #555;color:#d1cdc5}
[data-page-panel="leaderboards"] button{min-height:42px;transition:background .15s ease,border-color .15s ease}

/* Guide mission cards: compact, readable, touch-friendly. */
.mission-card{background:linear-gradient(155deg,#22201d,#171717 75%);border:1px solid #4c4130;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:13px;min-width:0}
.mission-card.mission-ready{border-color:#d5a64c;box-shadow:0 0 0 1px #d5a64c33}
.mission-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.mission-title{font-size:18px;line-height:1.35;color:#f6e9d2}
.mission-status{font-size:10px;letter-spacing:.8px;font-weight:800;border:1px solid #615039;border-radius:20px;padding:6px 9px;color:#d2b681;white-space:nowrap}
.mission-status.is-ready{background:#173d29;border-color:#39935b;color:#7de0a2}
.mission-description{margin:0!important;font-size:14px;line-height:1.5}
.mission-progress{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#b7aea0}
.mission-progress strong{color:#f5d392;font-variant-numeric:tabular-nums}
.mission-progress-track{height:9px;background:#0e0e0e;border:1px solid #433b2f;border-radius:99px;overflow:hidden}
.mission-progress-fill{height:100%;background:linear-gradient(90deg,#a26b1f,#efc568);border-radius:99px;transition:width .3s ease}
.mission-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mission-reward{background:#111;border:1px solid #37332c;border-radius:9px;padding:10px 8px;display:flex;flex-direction:column;gap:4px;min-width:0}
.mission-reward small{font-size:10px;letter-spacing:.4px;color:#a6a095}
.mission-reward strong{font-size:15px;color:#f1d4a0;overflow-wrap:anywhere}
.mission-action{width:100%;min-height:48px;border-radius:9px;border:1px solid #ae874b;background:#342a1b;color:#f7dfae;font-weight:800;letter-spacing:.4px;cursor:pointer}
.mission-action.mission-claim{background:#247a45;border-color:#43b36a;color:white}
.mission-action:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:400px){.mission-card{padding:13px}.mission-title{font-size:16px}.mission-reward strong{font-size:13px}}

/* Persistent success confirmation after claiming a guide mission. */
#missions-message.mission-success-message{display:block;background:#173b28;border:1px solid #42ae70;border-radius:10px;color:#a3f4be;padding:14px 16px;margin-top:14px;font-weight:700;line-height:1.5}

/* Mobile drawer: vertical scrolling only; never allow sideways panning. */
@media(max-width:720px){
 .game-sidebar,.game-sidebar.open{
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-x:none!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;
 }
 .game-sidebar *{box-sizing:border-box;max-width:100%;min-width:0}
 .game-sidebar .nav-link{width:100%;white-space:normal;overflow-wrap:anywhere}
}

/* Black Market artwork: consistent compact cinematic thumbnails. */
.combat-shop-item .market-photo{display:block;flex:0 0 104px;width:104px;height:82px;object-fit:cover;object-position:center;border:1px solid #59472e;border-radius:9px;background:#141414}
.combat-shop-item .transport-photo{object-position:center}
@media(max-width:480px){.combat-shop-item .market-photo{flex-basis:88px;width:88px;height:74px}.combat-shop-item{gap:9px}}

/* Beta mobile layout: keep notifications clear of the fixed Menu control. */
@media(max-width:720px){
 .toast-region{top:calc(env(safe-area-inset-top,0px) + 65px);width:min(calc(100vw - 24px),460px)}
 .combat-shop-item:has(.transport-photo),.combat-shop-item:has(.transport-icon){display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:9px}
 .combat-shop-item:has(.transport-photo)>button,.combat-shop-item:has(.transport-icon)>button{grid-column:1/-1;width:100%;max-width:none;min-width:0}
 .combat-shop-item:has(.transport-photo)>div,.combat-shop-item:has(.transport-icon)>div{min-width:0;overflow-wrap:anywhere}
}

/* Blackjack casino */
.blackjack-table{background:linear-gradient(145deg,#12392e,#09251f);border:2px solid #8b7040;border-radius:18px;padding:20px 12px;margin:16px 0;text-align:center;color:#f8f4e8}
.blackjack-label{font-size:12px;letter-spacing:2px;font-weight:700;color:#e3c789;margin:12px 0}
.blackjack-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 20px}
.blackjack-card{display:inline-flex;align-items:center;justify-content:center;min-width:49px;height:70px;padding:0 5px;background:#fff;color:#182029;border-radius:7px;border:1px solid #ddd;font-weight:800;font-size:21px;box-shadow:0 2px 7px #0005}
.blackjack-card.blackjack-red{color:#bc2633}
.blackjack-card.blackjack-hidden{background:#482b3b;color:#d4b778;border:2px solid #d4b778}
.blackjack-hand{border:1px solid #ffffff30;border-radius:10px;margin:10px auto;padding:8px;max-width:450px}
.blackjack-hand.blackjack-active{border-color:#d9b56d;box-shadow:0 0 0 1px #d9b56d}
.blackjack-hand p{font-size:13px;color:#f6e4bb}
.blackjack-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.blackjack-actions button{min-height:46px}
#blackjack-betting{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
#blackjack-bet{max-width:180px}

#blackjack-actions[hidden],#blackjack-betting[hidden]{display:none!important}

#blackjack-deal{background:linear-gradient(135deg,#e9c77b,#a8792c)!important;border:1px solid #f5d998!important;color:#21180b!important;font-weight:800!important;min-width:160px;min-height:50px;box-shadow:0 3px 12px #b98b3640}
#blackjack-deal:disabled{opacity:.55;cursor:wait}

/* Premium Blackjack table: visual-only enhancement */
.blackjack-table{background:linear-gradient(155deg,#103d2d 0%,#092d22 60%,#08251e 100%);border:2px solid #98743c;border-radius:24px;padding:22px 14px 26px;box-shadow:inset 0 0 0 5px #123b2d,0 12px 28px #0004}
.blackjack-label{font-size:13px;letter-spacing:3px;color:#eac47b;text-transform:uppercase;margin:16px 0}
.blackjack-cards{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:0;margin:20px auto 25px;min-height:104px;padding:0 10px}
.blackjack-card{position:relative;flex:0 0 68px;width:68px;min-width:0;height:100px;padding:0;background:linear-gradient(140deg,#fff,#f4f4f1);border:1px solid #d8d8d8;border-radius:8px;color:#1b222b;box-shadow:0 3px 7px #0006;font-family:Georgia,serif;font-weight:700;font-size:20px}
.blackjack-card+.blackjack-card{margin-left:-20px}
.blackjack-card-corner{position:absolute;top:5px;left:6px;display:flex;flex-direction:column;align-items:center;line-height:1;gap:2px;font-size:19px}
.blackjack-card-corner span:last-child{font-size:15px}
.blackjack-card-bottom{top:auto;left:auto;bottom:5px;right:6px;transform:rotate(180deg)}
.blackjack-card-center{font-size:37px;line-height:1}
.blackjack-card.blackjack-red{color:#c92738}
.blackjack-card.blackjack-hidden{background:repeating-linear-gradient(45deg,#a66c36 0 5px,#d7a66d 5px 7px,#8b5429 7px 12px);border:4px solid #f4e6cb;box-shadow:inset 0 0 0 2px #905e31,0 3px 7px #0006}
.blackjack-hand{position:relative;background:#082c22a8;border:1px solid #ffffff2b;border-radius:17px;margin:14px auto;padding:12px 8px 4px;max-width:500px;min-height:165px}
.blackjack-hand.blackjack-active{border-color:#d9b56d;box-shadow:0 0 0 1px #d9b56d}
.blackjack-hand-info{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;font-size:13px!important;letter-spacing:1px;color:#e9c47b!important;margin:4px 10px!important}
.blackjack-score{font-size:20px;background:#103b2c;border:1px solid #427b5d;border-radius:999px;color:#a7ddba;padding:4px 12px}
.blackjack-outcome{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;border:2px solid currentColor;border-radius:12px;background:#101b19ed;padding:9px 18px;font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:2px;pointer-events:none}
.blackjack-win{color:#83db9d}.blackjack-loss{color:#e4777b}.blackjack-push{color:#eac47b}
#blackjack-dealer-score{color:#eac47b;font-weight:700;letter-spacing:1px}
@media(max-width:400px){.blackjack-card{flex-basis:60px;width:60px;height:90px}.blackjack-card+.blackjack-card{margin-left:-22px}.blackjack-card-center{font-size:31px}.blackjack-card-corner{font-size:17px}.blackjack-cards{min-height:92px}}

.blackjack-ownership{border:1px solid #98743c;border-radius:12px;padding:14px;margin:12px 0;background:#16251f;text-align:center}
.blackjack-ownership p{margin:0 0 10px;color:#eac47b;font-weight:700}
#blackjack-buy-casino{background:linear-gradient(135deg,#e9c77b,#a8792c);color:#21180b;border:1px solid #f5d998;font-weight:800;min-height:46px}
#blackjack-buy-casino:disabled{opacity:.6;cursor:not-allowed}
.blackjack-ownership[hidden],#blackjack-buy-casino[hidden]{display:none!important}

/* Casino takeover card, matching the compact bullet factory takeover UI */
.blackjack-ownership{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:18px;background:linear-gradient(120deg,#171713,#101111);border:1px solid #b98c36;border-radius:14px;text-align:left;box-shadow:inset 0 0 0 1px #cba04a22}
.blackjack-owner-details{display:flex;align-items:center;gap:13px;min-width:0}
.blackjack-owner-icon{flex:0 0 52px;height:52px;border:1px solid #80612a;border-radius:12px;display:grid;place-items:center;color:#e9b44e;background:#2a2415;font-size:30px}
.blackjack-owner-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.blackjack-owner-location{color:#bdb5a5;font-size:12px}
.blackjack-ownership #blackjack-owner-status{font-size:17px;font-weight:800;color:#f5f2ec;margin:0;line-height:1.25}
.blackjack-owner-price{color:#bdb5a5;font-size:14px}
#blackjack-owner-requirement{color:#a9a49c;font-size:11px;font-weight:800;letter-spacing:.5px}
.blackjack-ownership #blackjack-buy-casino{width:auto;max-width:100%;padding:12px 17px;white-space:normal;min-height:52px;border-radius:8px}
.blackjack-ownership #blackjack-owner-message{grid-column:1/-1;margin:0}
.blackjack-ownership #blackjack-owner-message:empty{display:none}
@media(max-width:540px){.blackjack-ownership{grid-template-columns:minmax(0,1fr);gap:12px}.blackjack-owner-icon{flex-basis:44px;height:44px;font-size:25px}.blackjack-ownership #blackjack-buy-casino{justify-self:stretch}}

.territory-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.territory-tab{padding:16px;text-align:left;white-space:normal}.territory-tab strong,.territory-tab span{display:block}.territory-tab span{font-size:.85em;margin-top:8px}
.territory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.territory-card,.territory-banner{border:1px solid #715a31;border-radius:14px;padding:20px;background:linear-gradient(135deg,#211c14,#111214)}
.territory-banner{margin-bottom:18px}.territory-card h4{font-size:1.5rem;margin:0 0 12px;color:#e9bd6b}.territory-buff,.territory-countdown,.territory-registered{color:#e9bd6b}
.territory-card small{display:block;color:#aaa}.territory-card button{margin:14px 0;width:100%}.territory-card ol{padding-left:24px}.territory-card li{margin:10px 0;overflow-wrap:anywhere}.territory-card li span{display:block;font-size:.85em}
.family-profile-link{color:#e9bd6b;text-decoration:underline;text-underline-offset:3px}.territory-guide{line-height:1.6}.territory-guide table{width:100%;border-collapse:collapse}.territory-guide th,.territory-guide td{text-align:left;padding:10px 6px;border-bottom:1px solid #40382a}.territory-guide h4{color:#e9bd6b;margin-top:28px}
@media(max-width:480px){.territory-tabs{grid-template-columns:1fr}.territory-card{padding:16px}.territory-guide td,.territory-guide th{font-size:.85em}}

/* Cinematic guide mission page — scoped to missions only */
[data-page-panel="missions"]{padding:0;overflow:hidden;border:1px solid #5d492d;background:#0d0e10}
.missions-hero{min-height:220px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 34%,#d17932 0%,#69351f 17%,transparent 48%),linear-gradient(130deg,#090c12 8%,#1d2530 50%,#17100d 100%)}
.missions-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d0e10 0%,transparent 70%),repeating-linear-gradient(90deg,transparent 0 35px,#0a0d12a0 36px 40px,transparent 41px 65px);opacity:.64}
.missions-hero:after{content:"♠";position:absolute;right:7%;top:-25px;font-size:225px;color:#e7a33e22;transform:rotate(-17deg);text-shadow:0 0 50px #e99b2533}
.missions-hero-content{position:relative;z-index:1;padding:30px 26px;width:100%}
.missions-kicker{font-size:11px;letter-spacing:.2em;font-weight:800;color:#e4aa4c}
.missions-hero h3{margin:9px 0;font-size:clamp(29px,5vw,49px);font-weight:950;letter-spacing:.04em;color:#eee8da;text-shadow:0 3px 10px #000}
.missions-hero h3 span{color:#e8ad47}
.missions-hero p{color:#e0d4c1;font-size:14px;margin:0}
.missions-content{padding:20px}
[data-page-panel="missions"] .crime-list{display:block}
[data-page-panel="missions"] .mission-cinematic{position:relative;display:flex;flex-direction:column;gap:17px;overflow:hidden;border:1px solid #665237;border-radius:17px;padding:26px 22px;background:radial-gradient(ellipse at 95% 12%,#ae632933 0%,transparent 45%),linear-gradient(145deg,#1c2027,#101215 68%);box-shadow:inset 0 1px #f1b44c22,0 12px 30px #0006}
.mission-cinematic:before{content:"";position:absolute;right:-45px;top:18px;width:210px;height:210px;border:1px solid #d79c3a21;border-radius:50%;box-shadow:0 0 0 27px #e9a94a0b,0 0 0 60px #e9a94a06;pointer-events:none}
.mission-cinematic>*{position:relative;z-index:1}
.mission-eyebrow{align-self:flex-start;padding:6px 11px;border:1px solid #ac782b;border-radius:6px;color:#f0bb5c;background:#291e0f;font-weight:800;letter-spacing:.06em;font-size:12px}
.mission-cinematic .mission-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.mission-cinematic .mission-title{font-size:clamp(21px,3.2vw,29px);font-weight:900;color:#fff}
.mission-cinematic .mission-description{font-size:15px;line-height:1.6;color:#d1c9bb}
.mission-cinematic .mission-progress{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#bcb6a9}
.mission-cinematic .mission-progress strong{font-size:15px;color:#fff}
.mission-cinematic .mission-progress-track{height:11px;border-radius:99px;background:#34363a;overflow:hidden}
.mission-cinematic .mission-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#aa6a19,#f5b949);box-shadow:0 0 12px #e6a53d70}
.mission-cinematic .mission-rewards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.mission-cinematic .mission-reward{border:1px solid #46413a;background:#0c0d10bb;border-radius:10px;padding:13px 11px;display:flex;flex-direction:column;gap:5px}
.mission-cinematic .mission-reward small{color:#c5b18d;font-size:11px;letter-spacing:.08em}
.mission-cinematic .mission-reward strong{color:#fff;font-size:18px}
.mission-cinematic .mission-action{width:100%;min-height:51px;border-radius:9px;border:1px solid #ffcf6c;background:linear-gradient(180deg,#f5bb4e,#c98520);color:#171007;font-size:15px;font-weight:900;letter-spacing:.07em;cursor:pointer;box-shadow:0 4px 20px #d48a2640}
.mission-cinematic .mission-action:disabled{opacity:.55;cursor:not-allowed}
.missions-journey{padding:24px 4px 4px;margin-top:15px;border-top:1px solid #3a3329}
.journey-heading{display:flex;justify-content:space-between;gap:12px;color:#e2d9c8;font-size:12px;letter-spacing:.06em}
.journey-heading span{color:#a69e91}
.journey-steps{display:flex;gap:10px;overflow-x:auto;padding:22px 0 6px}
.journey-step{flex:1;min-width:68px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:9px;color:#a39e96}
.journey-node{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;border:2px solid #454340;background:#111215;font-size:16px;font-weight:800}
.journey-step.is-current .journey-node{border-color:#f4b64a;color:#f4b64a;box-shadow:0 0 16px #edac4644}
.journey-step.is-complete .journey-node{border-color:#7eaa68;color:#a5d88b}
.journey-step small{font-size:11px;line-height:1.35}
@media(max-width:560px){.missions-hero{min-height:175px}.missions-hero-content{padding:24px 18px}.missions-content{padding:12px}.mission-cinematic{padding:18px 14px!important}.mission-cinematic .mission-title{font-size:21px}.journey-step{min-width:74px}}

/* Installed PWA launch screen: never delays the game after session readiness beyond 2 seconds. */
.mafia-splash[hidden]{display:none!important}
.mafia-splash{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#4d2920 0%,#171414 48%,#08090b 100%);color:#e8c88a;text-align:center;padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);box-sizing:border-box}
.mafia-splash:before{content:"";position:absolute;inset:25% -20% 0;background:repeating-linear-gradient(90deg,transparent 0 32px,#e4a95a13 33px 37px,transparent 38px 73px);mask-image:linear-gradient(transparent,#000 50%,transparent);opacity:.45;pointer-events:none}
.mafia-splash-art{position:relative;margin-top:-10vh}
.mafia-splash-men{display:flex;justify-content:center;align-items:end;gap:10px;height:115px;filter:drop-shadow(0 6px 12px #000)}
.mafia-splash-men span{display:block;position:relative;width:62px;height:85px;background:linear-gradient(#302c2b,#08090b);clip-path:polygon(25% 20%,14% 17%,15% 11%,33% 11%,40% 0,60% 0,67% 11%,85% 11%,86% 17%,75% 20%,69% 35%,95% 60%,100% 100%,0 100%,5% 60%,31% 35%);color:transparent}
.mafia-splash-men span:nth-child(2){width:82px;height:110px;background:linear-gradient(#40332b,#08090b)}
.mafia-splash-crown{font-size:48px;color:#d8a24c;text-shadow:0 0 22px #d69c4277}
.mafia-splash h1{font-family:Georgia,serif;font-size:clamp(36px,9vw,64px);letter-spacing:.07em;color:#e8c88a;text-shadow:0 3px 12px #000;margin:0}
.mafia-splash h1 em{display:block;font-size:.55em;font-style:normal;color:#c9473b;letter-spacing:.3em;margin-top:6px}
.mafia-splash-tag{font-size:11px;letter-spacing:.35em;color:#d7b984;margin-top:20px}
.mafia-splash-footer{position:absolute;bottom:max(8%,calc(env(safe-area-inset-bottom) + 34px));left:20px;right:20px;max-width:450px;margin:auto}
.mafia-splash-label{font-size:11px;letter-spacing:.25em;color:#c99643;font-weight:800}
.mafia-splash-footer p{min-height:3.5em;font-size:16px;line-height:1.6;color:#f4e4c9}

/* Final approved splash artwork; upload public/images/splash-art.webp to activate. */
.mafia-splash.artwork-ready{background:#090809 url('/images/splash-art.webp') center 37% / cover no-repeat}
.mafia-splash.artwork-ready:before{display:none}
.mafia-splash.artwork-ready .mafia-splash-art{visibility:hidden}
.mafia-splash-footer{background:linear-gradient(160deg,#1a100cdd,#080707f5);border:1px solid #b68b47;border-radius:14px;padding:15px 17px;box-shadow:0 8px 35px #000a}
@media(min-aspect-ratio:3/4){.mafia-splash{background-size:contain!important;background-color:#090809}}

/* Public family profiles: never render private treasury or armory balances. */
.family-profile-tabs,.family-war-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.family-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.family-profile-grid>div{background:#11171b;border:1px solid #57452c;border-radius:10px;padding:12px;color:#c8b99e;font-size:12px}
.family-profile-grid strong{display:block;color:#eec06c;font-size:18px;margin-top:5px;overflow-wrap:anywhere}
.family-war-card{border:1px solid #55442d;background:#11171b;border-radius:10px;padding:14px;margin:9px 0;overflow-wrap:anywhere}
.family-war-card strong{display:block;color:#e9bc65}.family-war-score{font-weight:700;font-size:20px;margin:8px 0}
.family-war-banner{border:1px solid #6a4d24;border-radius:10px;padding:14px;background:#181611}
.family-war-ranking{overflow-x:auto}.family-war-rank-row{display:grid;grid-template-columns:minmax(100px,2fr) minmax(90px,1fr) minmax(50px,1fr);gap:8px;padding:11px 5px;border-bottom:1px solid #493c2b;font-size:13px}
.family-directory-link{margin:4px;white-space:normal;max-width:100%;overflow-wrap:anywhere}
@media(max-width:390px){.family-profile-grid{gap:7px}.family-profile-grid>div{padding:9px}.family-war-rank-row{font-size:12px}}

/* Cinematic page banners: artwork is decorative, UI remains accessible. */
.game-page[data-page-panel="mail"]{--page-art:url("/images/page-backgrounds/mail.webp")}
.game-page[data-page-panel="leaderboards"]{--page-art:url("/images/page-backgrounds/leaderboards.webp")}
.game-page[data-page-panel="game-statistics"]{--page-art:url("/images/page-backgrounds/leaderboards.webp")}
.game-page[data-page-panel="myfamily"]{--page-art:url("/images/page-backgrounds/myfamily.webp")}
.game-page[data-page-panel="citycard"]{--page-art:url("/images/page-backgrounds/overview.webp")}
.game-page[data-page-panel="real-estates"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="news"]{--page-art:url("/images/page-backgrounds/overview.webp")}
.game-page[data-page-panel="support"]{--page-art:url("/images/page-backgrounds/help.webp")}
.game-page[data-page-panel="daily-events"]{--page-art:url("/images/page-backgrounds/leaderboards.webp")}
.game-page[data-page-panel="settings"]{--page-art:url("/images/page-backgrounds/profile.webp")}
.game-page[data-page-panel="hitlist"]{--page-art:url("/images/page-backgrounds/hitlist.webp")}
.game-page[data-page-panel="families"]{--page-art:url("/images/page-backgrounds/families.webp")}
.game-page[data-page-panel="chat"]{--page-art:url("/images/page-backgrounds/chat.webp")}
.game-page[data-page-panel="recruitment"]{--page-art:url("/images/page-backgrounds/chat.webp")}
.game-page[data-page-panel="creditstore"]{--page-art:url("/images/page-backgrounds/creditstore.webp")}
.game-page[data-page-panel="detectives"]{--page-art:url("/images/page-backgrounds/detectives.webp")}
.game-page[data-page-panel="garage"]{--page-art:url("/images/page-backgrounds/garage.webp")}
.game-page[data-page-panel="cartheft"]{--page-art:url("/images/page-backgrounds/cartheft.webp")}
.game-page[data-page-panel="organized"]{--page-art:url("/images/page-backgrounds/organized.webp")}
.game-page[data-page-panel="jail"]{--page-art:url("/images/page-backgrounds/jail.webp")}
.game-page[data-page-panel="casino"]{--page-art:url("/images/page-backgrounds/casino.webp")}
.game-page[data-page-panel="localfactory"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="blackmarket"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="shootingrange"]{--page-art:url("/images/page-backgrounds/shootingrange.webp")}
.game-page[data-page-panel="airport"]{--page-art:url("/images/page-backgrounds/airport.webp")}
.game-page[data-page-panel="businesses"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="factory"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="combat"]{--page-art:url("/images/page-backgrounds/combat.webp")}
.game-page[data-page-panel="backfire"]{--page-art:url("/images/page-backgrounds/combat.webp")}
.game-page[data-page-panel="protection"]{--page-art:url("/images/page-backgrounds/hitlist.webp")}
.game-page[data-page-panel="hospital"]{--page-art:url("/images/page-backgrounds/hospital.webp")}
.game-page[data-page-panel="bank"]{--page-art:url("/images/page-backgrounds/bank.webp")}
.game-page[data-page-panel="drugmarket"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="crimes"]{--page-art:url("/images/page-backgrounds/crimes.webp")}
.game-content > .panel[data-page-panel="hospital"]{--page-art:url("/images/page-backgrounds/hospital.webp")}
.game-content > .panel[data-page-panel="bank"]{--page-art:url("/images/page-backgrounds/bank.webp")}
.game-content > .panel[data-page-panel="drugmarket"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-content > .panel[data-page-panel="crimes"]{--page-art:url("/images/page-backgrounds/crimes.webp")}
.game-content > .panel[data-page-panel="profile-card"]{--page-art:url("/images/page-backgrounds/profile.webp")}


/* Cinematic page backgrounds: images are behind content, not separate banners. */
.game-page[data-page-panel]:not([data-page-panel="missions"]):not([data-page-panel="profile-card"]) > .panel:first-child,
.game-content > .panel[data-page-panel="hospital"],
.game-content > .panel[data-page-panel="bank"],
.game-content > .panel[data-page-panel="drugmarket"],
.game-content > .panel[data-page-panel="crimes"],
.game-content > .panel[data-page-panel="profile-card"]{
 background-image:linear-gradient(180deg,rgba(10,11,14,.65),rgba(10,11,14,.86) 45%,rgba(10,11,14,.92)),var(--page-art);
 background-size:cover;
 background-position:center top;
 background-repeat:no-repeat;
 background-color:#111216;
}
.game-page[data-page-panel]:not([data-page-panel="missions"]):not([data-page-panel="profile-card"]) > .panel:first-child::before,
.game-content > .panel[data-page-panel="hospital"]::before,
.game-content > .panel[data-page-panel="bank"]::before,
.game-content > .panel[data-page-panel="drugmarket"]::before,
.game-content > .panel[data-page-panel="crimes"]::before,
.game-content > .panel[data-page-panel="profile-card"]::before{content:none!important;display:none!important}

/* Gold is reserved for purchases paid with Credits or real money for Credits. */
button.credit-payment-button:not(:disabled){
 background:linear-gradient(135deg,#dba747 0%,#b98023 55%,#8e5d16 100%)!important;
 border:1px solid #f2c56c!important;
 color:#18120a!important;
 font-weight:800;
 box-shadow:inset 0 1px 0 #ffe2a377,0 2px 8px #0005;
}
button.credit-payment-button:hover:not(:disabled){
 background:linear-gradient(135deg,#f3c66e,#c48b2d)!important;
}
button.credit-payment-button:disabled{border-color:#9c7737;color:#c3a575}
/* Uniform Credit Store pack cards and purchase buttons at every screen width. */
[data-page-panel="creditstore"] .credit-store-list{
 grid-template-columns:minmax(0,1fr);
 gap:10px;
}
[data-page-panel="creditstore"] .credit-pack-row{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,44%);
 align-items:center;
 gap:12px;
 min-height:88px;
 padding:14px;
 box-sizing:border-box;
 width:100%;
}
[data-page-panel="creditstore"] .credit-pack-row>div{min-width:0}
[data-page-panel="creditstore"] .credit-pack-row button{
 width:100%;
 min-width:0;
 min-height:52px;
 height:100%;
 max-height:68px;
 box-sizing:border-box;
 display:flex;
 align-items:center;
 justify-content:center;
 text-align:center;
 white-space:normal;
 overflow-wrap:break-word;
 line-height:1.25;
 padding:10px 8px;
 font-size:clamp(10px,2.7vw,13px);
}
[data-page-panel="creditstore"] .credit-store-tab{
 min-width:0;
 min-height:48px;
 display:flex;
 align-items:center;
 justify-content:center;
 text-align:center;
}
@media(max-width:380px){
 [data-page-panel="creditstore"] .credit-pack-row{grid-template-columns:minmax(0,1fr) minmax(0,48%);gap:8px;padding:10px}
 [data-page-panel="creditstore"] .credit-pack-row button{font-size:10px}
}

/* Four Credit Store categories: balanced two-row layout on narrow screens. */
.credit-store-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:540px){.credit-store-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-store-tab{min-height:48px}}

/* Mafia News: compact global credit purchase announcement */
.mafia-news[hidden]{display:none!important}
.mafia-news{background:#0e0e12;border:1px solid #8d6528;border-radius:10px;padding:9px 12px;margin:8px 0 12px;color:#f2c46b;overflow:hidden}
.mafia-news-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1px;font-weight:800;margin-bottom:6px}
#mafia-news-close{border:0;background:transparent;color:#c6b8a0;font-size:22px;line-height:1;cursor:pointer;padding:3px 8px}
.mafia-news-viewport{overflow:hidden;white-space:nowrap}
#mafia-news-message{display:inline-block;white-space:nowrap;font-size:14px;font-weight:650;will-change:transform}
@keyframes mafia-news-scroll{from{transform:translateX(110vw)}to{transform:translateX(-110%)}}

/* Support tickets */
#support-form label{display:block;margin:12px 0;color:#d9b36c}
#support-form input,#support-form textarea,#support-form select,.support-reply textarea,.support-reply input{display:block;width:100%;margin:6px 0 12px;padding:10px;background:#161616;color:#f3f0eb;border:1px solid #555;border-radius:6px}
.support-ticket-button{display:block;width:100%;margin:8px 0;text-align:left;overflow-wrap:anywhere}
.support-message{padding:12px;margin:10px 0;border:1px solid #55452f;border-radius:8px;background:#191715;overflow-wrap:anywhere}
.support-thumbnail{max-width:180px;max-height:180px;object-fit:contain;margin:5px;border:1px solid #66522c;border-radius:5px}

/* Daily event schedule and readable leaderboards. */
.event-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.event-tabs button{margin:0;letter-spacing:0;flex:1 1 170px;justify-content:center;white-space:normal}
.event-schedule-status{padding:16px 18px;margin:18px 0;background:#101011ed;border:1px solid #4a3b2b;border-radius:10px}
.event-schedule-status strong{color:#e8c88c;font-size:16px}
.event-schedule-status p{margin:6px 0 0;color:#bdb6aa;font-size:13px}
.daily-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}
.daily-event-card{display:flex;flex-direction:column;gap:10px;text-align:left;min-width:0;padding:18px 16px;border:1px solid #444039;border-radius:10px;background:linear-gradient(145deg,#24201cee,#111213f5);color:#f4eee5;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.daily-event-card:hover,.daily-event-card:focus-visible{border-color:#e0b66d;outline:2px solid #e0b66d;outline-offset:2px}
.daily-event-card.is-selected{border-color:#d4a65d;box-shadow:inset 0 0 0 1px #d4a65d;background:linear-gradient(145deg,#453321f5,#181513f5)}
.daily-event-card.is-live .event-badge{color:#a6e5b4;background:#244c31}
.daily-event-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#d0b88d}
.event-badge{border-radius:4px;padding:3px 6px;background:#ffffff0c;color:#bdb8af;font-size:9px;font-weight:800;letter-spacing:.5px}
.daily-event-card>strong{font-family:'Barlow Condensed',sans-serif;font-size:24px;line-height:1.1}
.daily-event-rule{font-size:12px;line-height:1.5;color:#c9c1b6}
.daily-event-time{font-size:11px;color:#a59b8d;margin-top:auto;padding-top:6px}
.event-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #3a352f;border-radius:8px;background:#101011ed;margin:16px 0}
.event-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;text-align:left}
.event-table th,.event-table td{padding:12px 14px;border-bottom:1px solid #302c27}
.event-table th{color:#dabe8d;background:#221d17}
.event-table tr:last-child td{border-bottom:0}
.event-rewards{padding:14px 16px;background:#141414e8;border:1px solid #39342c;border-radius:8px}
.event-rewards summary{cursor:pointer;color:#e0c38e;font-weight:600}
.event-rewards ol{columns:2;gap:28px;padding-left:24px;font-size:13px}
.event-rewards li{padding:4px 0;break-inside:avoid}
@media(max-width:1000px){.daily-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.daily-event-grid{gap:8px}.daily-event-card{padding:14px 12px}.daily-event-card>strong{font-size:22px}.event-tabs button{flex-basis:100%;padding:12px}.event-rewards ol{columns:1}}

/* Author styles must preserve server-authorized navigation visibility. */
.game-sidebar .nav-link[hidden]{display:none!important}

/* Purchases with Credits or real money share the gold purchase treatment. */
.credit-payment-card{
 border:1px solid #bc913f!important;
 background:linear-gradient(135deg,#49351de8,#211b12f5 65%,#302314f5)!important;
 box-shadow:inset 0 1px 0 #f5d69424,0 4px 16px #0004;
}
.credit-payment-card h3,.credit-payment-card strong{color:#f0cd82}
button.credit-payment-button:disabled{
 background:linear-gradient(135deg,#806331,#574324)!important;
 border:1px solid #a1844e!important;
 color:#e2c995!important;
 opacity:.65;
 cursor:not-allowed;
}



.game-statistics-dead-card,.game-statistics-total-card{cursor:pointer}
.game-statistics-dead-card:hover,.game-statistics-dead-card[aria-expanded="true"],.game-statistics-total-card:hover,.game-statistics-total-card[aria-expanded="true"]{border-color:#d0a052;background:linear-gradient(135deg,#322719,#1c1915)}
.game-statistics-dead-card:focus-visible,.game-statistics-total-card:focus-visible{outline:2px solid #efc96f;outline-offset:3px}
.game-statistics-recent-kills{margin:18px 0;padding:16px;border:1px solid #795f34;border-radius:10px;background:#11110ff2}
.game-statistics-recent-kills h4{color:#edcf91;margin:0 0 14px;font-size:20px}
.recent-kills-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.recent-kill-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;padding:12px;background:#1b1a17;border:1px solid #4d4230;border-radius:8px}
.recent-kill-victim,.recent-kill-killer{display:flex;align-items:flex-start;flex-direction:column;gap:5px;min-width:0}
.recent-kill-row small{color:#aa9f8b;font-size:11px}
.recent-kill-victim .player-name-link{color:#eea69c}
.recent-kill-killer .player-name-link{color:#eac779}
.recent-kill-time{grid-column:1/-1;color:#a99c84;font-size:11px}
.recent-kill-backfire{border:1px solid #8a6137;border-radius:4px;padding:1px 6px;color:#e9b478;font-size:10px}
/* Detective hiring is a cash purchase. */
#detective-form .primary-button,#shooting-train{background:linear-gradient(135deg,#23864b,#176237);border-color:#48b76d;color:#fff}
#detective-form .primary-button:hover:not(:disabled),#shooting-train:hover:not(:disabled){background:linear-gradient(135deg,#2d9c59,#1d7542)}
#detective-form .primary-button:focus-visible,#shooting-train:focus-visible{outline:2px solid #86e6a5;outline-offset:3px}



/* Property artwork: reserve image space and scale to mobile cards. */
.real-estate-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin-bottom:18px;background:#171717}

/* Recruitment hub */
.recruitment-panel{min-width:0}
.recruitment-header{padding:4px 0 22px;border-bottom:1px solid #80633655}
.recruitment-eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:800;color:#d6af57}
.recruitment-header h3{font-size:2rem;margin:8px 0}
.recruitment-header p{max-width:560px;margin:0;line-height:1.6}
.recruitment-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.recruitment-stat{padding:18px 10px;background:linear-gradient(145deg,#25211a,#121416);border:1px solid #655136;border-radius:12px;text-align:center;min-width:0}
.recruitment-stat strong{display:block;color:#f0cd82;font-size:1.65rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.recruitment-stat span{display:block;color:#bfb7a8;font-size:.75rem;margin-top:5px}
.recruitment-invite{padding:20px;border:1px solid #4c4539;border-radius:14px;background:#101214ed}
.recruitment-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.recruitment-section-heading h3,.recruitment-section-heading h4{margin:0}
.recruitment-tag{color:#cfb77f;font-size:.63rem;letter-spacing:.1em;font-weight:700;border:1px solid #76613b;border-radius:5px;padding:5px 7px}
.recruitment-invite p{font-size:.85rem;line-height:1.5}
.recruitment-invite label{font-size:.8rem;color:#bfb7a8}
#referral-link{display:block;box-sizing:border-box;width:100%;min-width:0;font-size:.85rem;text-overflow:ellipsis}
.recruitment-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.recruitment-actions button{width:100%;min-height:44px;margin:0;padding:12px 8px;font-size:.8rem}
.recruitment-milestones,.recruitment-roster{margin-top:28px}
.recruitment-milestones>p{font-size:.85rem;line-height:1.5}
.recruitment-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.recruitment-reward.credit-payment-card{padding:16px;border-radius:12px;min-width:0;background:linear-gradient(145deg,#302517,#1b1813);border:1px solid #806236}
.recruitment-reward.is-next{border-color:#e3b653;box-shadow:inset 0 0 0 1px #e3b65355}
.recruitment-reward-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.recruitment-reward-target{font-size:.8rem;color:#e5d7bc}
.recruitment-reward-status{font-size:.58rem;letter-spacing:.06em;color:#a99d88;font-weight:800}
.is-next .recruitment-reward-status{color:#f3cb6f}
.is-claimed .recruitment-reward-status,.is-qualified{color:#75d89d}
.recruitment-reward-amount{display:flex;align-items:baseline;gap:7px;margin:18px 0 14px;color:#f0cd82}
.recruitment-reward-amount strong{font-size:1.8rem;line-height:1}
.recruitment-reward-amount span{font-size:.75rem}
.recruitment-progress{display:block;appearance:none;width:100%;height:6px;border:0;border-radius:5px;overflow:hidden;background:#4b402c;color:#d6af57}
.recruitment-progress::-webkit-progress-bar{background:#4b402c;border-radius:5px}
.recruitment-progress::-webkit-progress-value{background:linear-gradient(90deg,#ab7829,#f1ce77);border-radius:5px}
.recruitment-progress::-moz-progress-bar{background:#d6af57;border-radius:5px}
.recruitment-reward-progress{display:block;margin-top:9px;color:#b8ac96;font-size:.7rem}
.recruitment-recruits{display:grid;gap:10px;margin-top:14px}
.recruitment-empty{padding:24px 18px;text-align:center;border:1px dashed #5e5037;border-radius:12px;background:#111315dd}
.recruitment-empty strong{color:#e5d7bc}
.recruitment-empty p{font-size:.85rem;margin-bottom:0;line-height:1.6}
.recruitment-recruit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;background:#151719;border:1px solid #403d36;border-radius:10px}
.recruitment-recruit-status{font-size:.75rem;color:#b6ad9e}
.recruitment-recruit-status.is-qualified{color:#75d89d}
@media(min-width:900px){.recruitment-rewards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.recruitment-rewards{grid-template-columns:1fr}.recruitment-stat{padding:14px 5px}.recruitment-stat strong{font-size:1.3rem}.recruitment-stat span{font-size:.65rem}.recruitment-invite{padding:14px}}

.push-settings{padding:20px;margin:24px 0;background:#111416e8;border:1px solid #655136;border-radius:12px}
.push-settings h4{margin-top:0}.push-settings p{font-size:.85rem;line-height:1.6}
.push-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.push-actions button{min-height:44px;flex:1;margin:0;font-size:.8rem;padding:12px}

/* Compact settings rows override global full-width form inputs. */
[data-page-panel="settings"] .settings-option{display:flex;align-items:center;gap:12px;margin:0;padding:15px 0;border-bottom:1px solid #34312b;line-height:1.45;font-weight:500;cursor:pointer}
[data-page-panel="settings"] .settings-option input[type="checkbox"]{display:inline-block;flex:0 0 22px;width:22px;height:22px;margin:0;padding:0;accent-color:#d6ad55}
[data-page-panel="settings"] .push-settings{padding:20px;border:1px solid #6c5730;border-radius:14px;background:rgba(13,17,20,.96);margin-top:24px}
[data-page-panel="settings"] .push-settings h4{margin:0 0 10px}
[data-page-panel="settings"] .push-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
[data-page-panel="settings"] .push-actions button{flex:1 1 180px;min-height:48px}
[data-page-panel="settings"] #push-enable{background:linear-gradient(135deg,#21774a,#29975e);border:1px solid #43b879;color:#fff}
.nav-link[hidden]{display:none!important}

.lead-upgrades{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px}
button.lead-credit-button{background:linear-gradient(135deg,#ebba55,#916017)!important;border:1px solid #f4d483!important;color:#211600!important}
button.lead-cash-button{background:linear-gradient(135deg,#26714a,#195b38)!important;border:1px solid #4aa36b!important;color:#fff!important}
.factory-lead-panel{border-top:1px solid #6c5730;margin-top:20px;padding-top:12px}.factory-lead-panel h4{margin:12px 0}.lead-upgrades button:disabled{opacity:.45}


.lead-upgrades{grid-template-columns:minmax(0,1fr)}
.lead-mine-card{padding:20px;margin:18px 0;overflow:hidden}
.lead-mine-card h4{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;margin:12px 0}
.lead-capacity{color:var(--gold);font-weight:700;font-size:1.15rem}


.garage-level-card{padding:20px;margin:20px 0}.garage-level-card h4{font-family:"Barlow Condensed",sans-serif;font-size:1.6rem;margin:12px 0}
#garage-next-upgrade[hidden],#garage-level-image[hidden],#garage-max-level[hidden]{display:none!important}

/* Family dossiers: compact, mobile-first rows with existing game data. */
[data-page-panel="family-profile"],[data-page-panel="myfamily"],[data-page-panel="families"]{min-width:0;max-width:100%}
#family-profile-content,[data-page-panel="myfamily"]>.panel,[data-page-panel="families"]>.panel{min-width:0;overflow-wrap:anywhere}
.family-page-heading{display:flex;gap:16px;align-items:center;margin-bottom:20px;min-width:0}
.family-page-heading>div{min-width:0}.family-page-heading h3{margin:0;line-height:1.15;overflow-wrap:anywhere}
.family-page-heading #family-back{flex:0 0 48px;width:48px;min-height:56px;padding:6px;font-size:32px;margin:0;color:var(--gold);border-color:#70552c}
.family-eyebrow{display:block;font-size:10px;letter-spacing:1.6px;color:#b78b51;font-weight:700;margin-bottom:5px}
.family-section{border:1px solid #34312b;border-radius:12px;background:rgba(14,16,18,.96);overflow:hidden;margin:18px 0;min-width:0}
.family-section>h4{padding:13px 16px;margin:0;background:#1d1c1a;color:#c69a60;font-size:12px;letter-spacing:1.3px;text-transform:uppercase;border-bottom:1px solid #302c26}
.family-detail-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;border-bottom:1px solid #282622;font-size:14px;min-width:0}
.family-detail-row:last-child{border-bottom:0}.family-detail-row>span{color:#aaa49b;flex:0 1 45%}
.family-detail-row>div,.family-detail-row>strong{min-width:0;flex:1;text-align:right;font-weight:600;overflow-wrap:anywhere}
.family-detail-row .player-name-link{display:inline-flex;max-width:100%;white-space:normal;vertical-align:middle}
.family-detail-row .player-name-avatar{width:20px!important;height:20px!important;min-width:20px;flex-basis:20px}
.family-member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:15px 16px;border-bottom:1px solid #282622;min-width:0;font-size:14px}
.family-member-row:last-child{border-bottom:0}.family-member-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1 1 55%}
.family-member-name .player-name-link{min-width:0;max-width:100%;white-space:normal}.family-member-name .player-name-link span{overflow-wrap:anywhere}
.family-role{color:#bcb4a5;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}
.family-role-don,.family-role-underboss{color:#edb452}.family-role-consigliere{color:#c1a16d}.family-role-soldier{color:#80afc4}
.family-member-rank{color:#d3cfc8;text-align:right;font-size:12px;flex:0 1 40%;overflow-wrap:anywhere}
.family-member-row select{width:auto;max-width:100%;min-width:0}.family-member-row button{width:auto;min-height:40px;margin:0}
.family-profile-action{margin:14px 16px;max-width:calc(100% - 32px)}
.family-section .crime-item{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:14px 16px;border:0;border-bottom:1px solid #282622;border-radius:0;min-width:0}
.family-section .crime-item input{flex:1 1 120px;min-width:0}.family-section .crime-item button{flex:1 1 160px;width:auto}
.family-directory-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px;margin:12px 0;background:#141414;border:1px solid #383128;border-radius:10px}
.family-directory-row>span{flex:1 1 100%;min-width:0;font-size:14px}.family-directory-row button{width:auto;margin:0}

.family-activity-row{padding:12px 16px;margin:0;border-bottom:1px solid #282622;font-size:12px;line-height:1.6}.family-section>.family-activity-row:last-child{border-bottom:0}

/* Keep the tall mine cards in the document's scroll flow on mobile Safari.
   Only an actually open navigation drawer may lock this page. */
html:has([data-page-panel="lead-mine"]:not(.hidden)):not(:has(#game-sidebar.open)){
 overflow-y:auto;
}
body:has([data-page-panel="lead-mine"]:not(.hidden)):not(:has(#game-sidebar.open)){
 height:auto;
 max-height:none;
 overflow-y:auto!important;
}
[data-page-panel="lead-mine"],
[data-page-panel="lead-mine"]>.panel,
#lead-mine-content,
#lead-mine-content .lead-upgrades{
 height:auto;
 max-height:none;
 overflow:visible;
 min-width:0;
}
#lead-mine-content{
 padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));
}
#lead-mine-content .lead-mine-card{
 overflow:visible;
 touch-action:pan-y;
}
#lead-mine-content .real-estate-image{
 max-width:100%;
 height:auto;
 -webkit-user-drag:none;
}
#lead-mine-content button{
 min-height:44px;
 padding:12px 16px;
 border-radius:6px;
 font:700 12px Inter,system-ui,sans-serif;
 cursor:pointer;
}

/* Player bounties */
.hitlist-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}
.hitlist-tabs button{min-height:46px;padding:10px 6px;font-size:11px;white-space:normal}
.hitlist-tabs button.active{color:var(--gold);border-color:#b48a40;background:#302719}
#hitlist-content{min-width:0;padding-bottom:24px}
.hitlist-card{padding:16px;margin:14px 0;background:#101214e8;border:1px solid #57442d;border-radius:10px;min-width:0;overflow-wrap:anywhere}
.hitlist-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hitlist-card p{margin:8px 0}
.hitlist-reward{color:var(--gold);font-variant-numeric:tabular-nums;font-size:18px}
.hitlist-empty{padding:24px 0}
.hitlist-form{max-width:540px;margin:20px 0}
.hitlist-form input{font-size:16px}
.hitlist-place-button{min-height:48px;padding:12px 16px;border:1px solid #48a36c;border-radius:6px;background:linear-gradient(135deg,#26714a,#195b38);color:white;font-weight:700;cursor:pointer}
.hitlist-place-button:disabled{opacity:.5;cursor:wait}

.casino-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 24px}
.casino-tabs button{min-height:60px;font-size:14px;white-space:normal}
.casino-tabs button.active{color:var(--gold);border-color:#b98e43;background:#302719}
#casino-blackjack[hidden],#casino-lottery[hidden]{display:none!important}
.lottery-jackpot{border:1px solid #a17a35;border-radius:14px;background:radial-gradient(ellipse at top,#704b1f66,transparent 75%),#101112;padding:24px 16px;text-align:center;margin:20px 0}
.lottery-jackpot>strong{display:block;color:#efc570;font-family:"Barlow Condensed",sans-serif;font-size:clamp(32px,8vw,54px);overflow-wrap:anywhere}
.lottery-countdown{font-weight:700;color:#e6bf7c;font-variant-numeric:tabular-nums;margin:14px 0 6px}
.lottery-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}
.lottery-stats>div{padding:12px 6px;text-align:center;border:1px solid #3d362b;border-radius:8px;background:#111}
.lottery-stats span{display:block;font-size:10px;color:var(--muted)}
.lottery-stats strong{display:block;color:#efca81;overflow-wrap:anywhere;font-size:15px}
.lottery-form{margin:20px 0;max-width:540px}
.lottery-form input{font-size:16px;margin-bottom:0}
.lottery-total{font-size:20px;color:var(--gold);font-weight:700;margin:10px 0}
.lottery-buy-button{min-height:48px;border:1px solid #48a36c;border-radius:6px;background:linear-gradient(135deg,#26714a,#195b38);color:white;padding:12px 16px;font-weight:700;cursor:pointer}
.lottery-buy-button:disabled{opacity:.5;cursor:wait}
.lottery-history{display:grid;gap:8px;padding:16px;margin:12px 0;border:1px solid #57442d;border-radius:10px;background:#111315}
.lottery-history p{margin:0}.lottery-prize,.lottery-owner-payment{color:#efc570}

/* The app viewport pans vertically only; tall pages retain document scrolling. */
html,body{
 width:100%;
 max-width:100%;
 overflow-x:hidden;
 overscroll-behavior-x:none;
 touch-action:pan-y;
}
@supports(overflow:clip){
 html,body{overflow-x:clip}
}
.shell,.game-layout,.game-content,.game-page,.game-page>.panel{
 min-width:0;
 max-width:100%;
}
@media(max-width:900px){
 input,select,textarea{font-size:16px!important}
 .journey-steps{flex-wrap:wrap;overflow-x:visible}
 .family-war-ranking{overflow-x:visible}
 .family-war-rank-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);overflow-wrap:anywhere}
 .event-table-wrap{overflow-x:visible}
 .event-table-wrap table{width:100%;table-layout:fixed}
 .event-table-wrap th,.event-table-wrap td{min-width:0;overflow-wrap:anywhere;white-space:normal}
}

/* Compact casino: shared ownership strip, then game tabs and play controls. */
[data-page-panel="casino"]>.panel{padding:14px}
[data-page-panel="casino"]>.panel>h3{margin:0 0 8px}
[data-page-panel="casino"] .casino-tabs{margin:10px 0 12px;gap:8px}
[data-page-panel="casino"] .casino-tabs button{min-height:44px;padding:8px;font-size:13px}
[data-page-panel="casino"] .blackjack-ownership{display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;margin:8px 0;border-radius:8px}
[data-page-panel="casino"] .blackjack-owner-details{flex:1 1 170px;gap:8px}
[data-page-panel="casino"] .blackjack-owner-icon{flex:0 0 28px;height:28px;font-size:19px;border-radius:6px}
[data-page-panel="casino"] .blackjack-owner-copy{gap:1px}
[data-page-panel="casino"] .blackjack-owner-location{display:none}
[data-page-panel="casino"] #blackjack-owner-status{font-size:12px}
[data-page-panel="casino"] .blackjack-owner-price{font-size:11px}
[data-page-panel="casino"] #blackjack-owner-requirement{font-size:9px}
[data-page-panel="casino"] #blackjack-buy-casino{flex:0 1 auto;min-height:40px;padding:8px 10px;font-size:10px;margin:0}
#blackjack-location{font-size:11px;margin:0 0 6px}
#blackjack-betting{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:6px 10px;margin:8px 0}
#blackjack-betting label{grid-column:1/-1;margin:0;font-size:11px}
#blackjack-betting input{max-width:none;width:100%;margin:0;padding:9px}
#blackjack-betting #blackjack-deal{min-width:0;min-height:44px;margin:0;padding:9px 12px;justify-content:center}
[data-page-panel="casino"] .blackjack-table{padding:8px;margin:8px 0;border-radius:14px}
[data-page-panel="casino"] .blackjack-label{font-size:10px;letter-spacing:1px;margin:5px 0}
[data-page-panel="casino"] .blackjack-cards{min-height:74px;margin:6px auto;padding:0 4px}
[data-page-panel="casino"] .blackjack-card{flex-basis:48px;width:48px;height:70px;border-radius:6px}
[data-page-panel="casino"] .blackjack-card+.blackjack-card{margin-left:-14px}
[data-page-panel="casino"] .blackjack-card-corner{font-size:13px;top:4px;left:4px;gap:1px}
[data-page-panel="casino"] .blackjack-card-corner span:last-child{font-size:11px}
[data-page-panel="casino"] .blackjack-card-bottom{top:auto;left:auto;bottom:4px;right:4px}
[data-page-panel="casino"] .blackjack-card-center{font-size:25px}
[data-page-panel="casino"] .blackjack-hand{min-height:0;padding:6px;margin:6px auto;border-radius:10px}
[data-page-panel="casino"] .blackjack-hand-info{font-size:10px!important;letter-spacing:0;margin:0 3px!important}
[data-page-panel="casino"] .blackjack-score{font-size:14px;padding:2px 8px}
[data-page-panel="casino"] .blackjack-outcome{font-size:16px;padding:5px 10px;border-radius:8px}
#blackjack-message:empty{display:none}
#blackjack-message{margin:6px 0;font-size:11px;min-height:0}
[data-page-panel="casino"] .blackjack-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}
[data-page-panel="casino"] .blackjack-actions button{min-height:44px;padding:8px 3px;font-size:11px}

/* Family treasury amount fields */
.family-section .family-amount-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,.8fr);gap:10px;padding:14px 16px;align-items:center}
.family-section .family-amount-row input{width:100%;max-width:none;min-height:46px;margin:0;padding:12px 14px;border:1px solid #665236;border-radius:8px;background:#0c1013;font-size:16px;font-variant-numeric:tabular-nums}
.family-section .family-amount-row input::placeholder{color:#99958b}
.family-section .family-amount-row input:focus{border-color:#d9b36c;box-shadow:0 0 0 3px #d9b36c22}
.family-section .family-amount-row button{width:100%;min-height:46px;margin:0;padding:10px;border-radius:8px;white-space:normal;font-size:12px;font-weight:700;line-height:1.3}
.family-section .family-amount-row[data-action="deposit"] button{background:linear-gradient(135deg,#26714a,#195b38);border-color:#4aa36b;color:#fff}
.family-section .family-amount-row[data-action="withdraw"] button{background:linear-gradient(135deg,#7f302b,#53201e);border-color:#a95249;color:#fff}
@media(max-width:360px){.family-section .family-amount-row{grid-template-columns:minmax(0,1fr);gap:8px}}

/* Player directory */
.player-search-form{margin:16px 0}
.player-search-controls{display:flex;gap:10px;align-items:stretch}
.player-search-controls input{flex:1;min-width:0;min-height:48px;font-size:16px;border:1px solid #685335;border-radius:8px;padding:12px;background:#111;color:#eee}
.player-search-controls input:focus{outline:2px solid #d8af57;outline-offset:2px}
.player-search-controls button{min-height:48px;padding:10px 18px}
.player-search-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 12px;border-bottom:1px solid #39352d;background:rgba(15,15,15,.8);overflow-wrap:anywhere}
.player-search-link{color:#e4b85b;font-weight:700;min-width:0;padding:8px 0}
.player-search-row>span{text-align:right;font-size:14px}
@media(max-width:360px){.player-search-controls{flex-direction:column}.player-search-row{flex-wrap:wrap}}

/* Compact mission categories and limited rewards */
[data-page-panel="missions"] .missions-hero{min-height:104px}
[data-page-panel="missions"] .missions-hero-content{padding:16px 18px}
[data-page-panel="missions"] .missions-hero h3{font-size:30px;margin:5px 0}
[data-page-panel="missions"] .missions-hero p{font-size:13px}
[data-page-panel="missions"] .missions-content{padding:12px}
.missions-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.missions-tabs button{min-height:46px;padding:10px 6px;font-size:14px}
.missions-tabs button.active{color:#efc46d;border-color:#b98b35;background:#312615;box-shadow:inset 0 -3px #d6a447}
[data-page-panel="missions"] .mission-cinematic{padding:16px!important;border-radius:14px}
[data-page-panel="missions"] .mission-cinematic .mission-title{font-size:23px;margin:12px 0}
.limited-mission-card{border:1px solid #987536;border-radius:14px;padding:16px;background:radial-gradient(ellipse at top right,#76532235,transparent 65%),#121417}
.limited-mission-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.limited-slots{font-size:13px;color:#efc46d;background:#312615;border-radius:20px;padding:7px 10px;white-space:nowrap}
.limited-mission-card h4{font-size:26px;margin:14px 0 8px}
.limited-mission-card p{font-size:14px;line-height:1.5;margin:8px 0 14px}
.limited-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}
.limited-rewards>div{padding:12px 5px;border:1px solid #5c4b2e;border-radius:9px;text-align:center;min-width:0;background:#0d0e10}
.limited-rewards span{display:block;color:#aaa398;font-size:12px;margin-bottom:7px}
.limited-rewards strong{font-size:clamp(13px,3.5vw,20px);color:#edc576;overflow-wrap:anywhere}
.limited-mission-card progress{width:100%;height:9px;accent-color:#d6a447;display:block;margin:16px 0}
.limited-claim{width:100%;min-height:46px;background:#206c43!important;border:1px solid #479764!important;color:#fff!important}
.limited-claim:disabled{opacity:.5}

/* My Family: three compact, independent sections. */
.my-family-panel>h3{font-size:21px;margin-bottom:16px;overflow-wrap:anywhere}
.family-page-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:18px}
.family-page-tabs button{min-width:0;width:100%;padding:12px 6px;font-size:12px;line-height:1.35;white-space:normal}
.family-page-tabs button.active{background:#342819;border-color:#b48a46;color:#f0cb89}
.family-page-tabs button:focus-visible{outline:2px solid #e4ba71;outline-offset:2px}
.family-page-content[hidden]{display:none!important}
.family-page-content .family-section:first-child{margin-top:0}
.family-members-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}
.family-members-table th,.family-members-table td{padding:13px 10px;border-bottom:1px solid #302b25;overflow-wrap:anywhere;vertical-align:middle;font-size:12px}
.family-members-table th{color:#b8a78b;font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:#151515}
.family-members-table th:first-child{width:40%}
.family-members-table th:nth-child(2){width:27%}
.family-members-table th:nth-child(3){width:33%}
.family-members-table .player-name-link{max-width:100%;white-space:normal;font-size:12px}
.family-members-table .player-name-avatar{width:20px!important;height:20px!important;min-width:20px}
.family-members-table .family-role{font-size:10px}
.family-member-controls{display:flex;flex-wrap:wrap;gap:8px}
.family-member-controls select{flex:1 1 110px;min-width:0;width:auto;font-size:12px}
.family-member-controls button{flex:1 1 90px;min-width:0;width:auto;margin:0;padding:10px 8px;font-size:11px}
@media(max-width:380px){.family-page-tabs button{font-size:11px;padding:11px 4px}.family-members-table th,.family-members-table td{padding:11px 6px}}


.family-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.family-upgrade-card{min-width:0;overflow:hidden;border:1px solid #51412d;border-radius:10px;background:#191715}
.family-upgrade-card>img{display:block;width:100%;height:130px;object-fit:cover}
.family-upgrade-content{padding:12px}.family-upgrade-content h4{margin:0 0 6px;color:#e6c58f}
.family-upgrade-content p{font-size:12px;line-height:1.4;margin:0 0 10px;min-height:34px}
.family-upgrade-content .family-detail-row{padding:5px 0;font-size:12px;gap:8px}
.family-upgrade-content button{width:100%;margin-top:10px}.family-upgrade-content button:disabled{opacity:.5;cursor:default}
@media(max-width:520px){.family-upgrade-grid{grid-template-columns:1fr}.family-upgrade-card>img{height:120px}.family-page-tabs button{font-size:10px;padding:10px 3px}}
/* Family directory: compact dossiers in the game's charcoal and aged-gold palette. */
.families-directory .families-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.families-directory .families-directory-heading h3{margin:3px 0 4px;padding:0;border:0;background:none;font-size:28px;line-height:1.1}
.families-directory-heading p{margin:0;color:#aaa398;font-size:12px;line-height:1.45}
.families-directory .family-eyebrow{font-size:9px;letter-spacing:1.7px;color:#bd985e}
.families-count{flex:none;padding:7px 10px;border:1px solid #514331;border-radius:5px;background:#201b14;color:#d9bd8a;font-size:11px;font-weight:700}
.families-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}
.family-directory-card{min-width:0;overflow:hidden;padding:16px;background:linear-gradient(135deg,#211e18 0%,#151515 60%);border:1px solid #484034;border-radius:9px;box-shadow:0 7px 18px #0003}
.family-directory-card.is-own-family{border-color:#92703d;box-shadow:inset 0 2px #c69a55,0 7px 18px #0003}
.family-card-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.family-card-identity{min-width:0}
.family-card-crest{display:grid;place-items:center;flex:0 0 46px;height:51px;clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%);background:linear-gradient(145deg,#ad8646,#594124);color:#fff1c9;font-size:17px;font-weight:800;letter-spacing:1px;padding-bottom:5px}
.family-card-status{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#baa780}.is-own-family .family-card-status{color:#e0b968}
.family-directory-card .family-card-identity h4{margin:3px 0 0;color:#f2e7d4;font-size:22px;line-height:1.2;overflow-wrap:anywhere}
.family-card-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding-top:12px;border-top:1px solid #393229}
.family-card-details>div{min-width:0}.family-card-details>div:last-child{text-align:right}
.family-card-label{display:block;margin-bottom:6px;color:#9e978a;font-size:9px;letter-spacing:1.2px}
.family-card-details .player-name-link{font-size:13px;max-width:100%;overflow-wrap:anywhere}.family-card-details .player-name-avatar{width:22px;height:22px}.family-card-details strong{font-size:15px;color:#e8d6b6;font-variant-numeric:tabular-nums}
.family-card-capacity{height:4px;background:#302c25;border-radius:3px;margin:12px 0 14px;overflow:hidden}.family-card-capacity>span{display:block;height:100%;background:linear-gradient(90deg,#836235,#d2ab65);border-radius:inherit}
.family-card-actions{display:flex;gap:8px}.family-card-actions button{flex:1;min-width:0;width:auto;margin:0;min-height:40px;padding:9px 8px;font-size:12px;line-height:1.3;border-color:#544736;background:#25211b;color:#e0c99e;border-radius:5px;white-space:normal}
.family-card-actions button:hover{border-color:#b58b4d;background:#302719}.family-card-actions button:disabled{opacity:.45;cursor:default}
.family-card-actions button:focus-visible,.family-create-panel summary:focus-visible{outline:2px solid #d4af68;outline-offset:3px}
.family-create-panel{margin-top:16px;border:1px solid #443a2d;border-radius:7px;padding:12px;background:#171614}.family-create-panel summary{cursor:pointer;color:#d5bc8e;font-size:13px;font-weight:700}.family-create-panel p{font-size:12px;color:#aaa398;margin:10px 0}.family-create-panel form{display:flex;flex-wrap:wrap;gap:8px}.family-create-panel input{flex:1 1 160px;min-width:0;margin:0}.family-create-panel button{width:auto;margin:0;font-size:12px}
.families-empty{margin:0;padding:22px 16px;border:1px dashed #514331;border-radius:7px;color:#b6aa95;font-size:13px;text-align:center}
@media(max-width:420px){.family-directory-card{padding:13px}.families-directory .families-directory-heading h3{font-size:25px}.families-count{padding:6px 8px;font-size:10px}.family-card-top{margin-bottom:12px}.family-directory-card .family-card-identity h4{font-size:20px}}
.language-settings{padding:14px;margin:14px 0;border:1px solid #51412d;border-radius:8px;background:#181613}.language-settings h4{margin-top:0;color:#d9b875}.language-settings label{display:block;margin-bottom:8px;font-size:13px}.language-settings select{width:100%;min-height:44px;font-family:system-ui,sans-serif;font-size:16px;background:#111;color:#e8dcc8;border:1px solid #6c5635;border-radius:6px;padding:10px}.language-settings p{font-size:12px;line-height:1.5;margin-bottom:0}
html[lang="zh-CN"] body,html[lang="ru"] body{font-family:Inter,system-ui,sans-serif}html:not([lang="en"]) .nav-link{overflow-wrap:anywhere}html:not([lang="en"]) button{white-space:normal}html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3,html[lang="zh-CN"] h4{font-family:system-ui,sans-serif;letter-spacing:normal}

.game-page[data-page-panel="guide"]{--page-art:url("/images/page-backgrounds/help.webp")}
.game-page[data-page-panel="extortion"]{--page-art:url("/images/page-backgrounds/combat.webp")}
.game-page[data-page-panel="most-wanted"]{--page-art:url("/images/page-backgrounds/hitlist.webp")}
.game-page[data-page-panel="lead-mine"]{--page-art:url("/images/page-backgrounds/businesses.webp")}
.game-page[data-page-panel="player-search"]{--page-art:url("/images/page-backgrounds/detectives.webp")}
.game-page[data-page-panel="family-wars"]{--page-art:url("/images/page-backgrounds/families.webp")}
