/* Keep the complete panorama visible so percentage anchors track the artwork. */
.district-scene{aspect-ratio:1983/793;min-height:0!important;background-size:100% 100%;background-position:center;box-sizing:border-box}
.district-scene .building-pin{transform:translate(-50%,-100%);bottom:auto;right:auto;white-space:nowrap}
.district-scene .pin-warehouse{left:17%;top:calc(67% - 20px)}
.district-scene .pin-club{left:55%;top:calc(60% - 20px)}
.district-scene .pin-shell{left:75%;top:calc(86% - 20px)}
.district-scene .pin-garage{left:90%;top:calc(80% - 20px)}
.district-business-art.art-shell,.district-business-art.art-club{background-image:url('assets/distrikt.png');background-repeat:no-repeat}
.art-shell:before,.art-club:before{display:none}
.district-business-art.art-shell{background-size:auto 340%;background-position:79% 100%}
.district-business-art.art-club{background-size:auto 230%;background-position:55% 64%}
.navitem span{white-space:nowrap}.own-ranking{background:#3a2c1d}.own-ranking td{color:#ffe1bd}
.district-scene-title{top:12px;left:18px}.district-scene-title h1{font-size:clamp(26px,3.8vw,55px)}.district-scene-title p{font-size:clamp(10px,1.1vw,15px)}
@media(max-width:1000px){.district-scene .building-pin{font-size:11px;padding:5px 7px}.district-scene-title h1{font-size:32px}}
@media(max-width:700px){.district-scene-title{top:7px;left:9px}.district-scene-title h1{font-size:23px;margin-bottom:3px}.district-scene-title p{font-size:9px}.district-scene .building-pin{font-size:8px;padding:4px}.district-scene .building-pin i{height:7px}.district-scene .pin-shell{top:calc(86% - 12px)}.district-scene .pin-garage{top:calc(80% - 12px)}.district-scene .pin-club{top:calc(60% - 12px)}.district-scene .pin-warehouse{top:calc(67% - 12px)}.navitem span{font-size:11px}.district-business-art.art-shell{background-size:auto 290%}}

/* Sellers show the warehouse and merchandise scene rather than the gaming table. */
.scene-seller{background-position:0 72%;background-size:auto 120%}


/* One text scale for the whole instruction page, including lists and save controls. */
.guide-view #contentPage{font-family:Arial,sans-serif;font-size:15px;line-height:1.7}
.guide-view #contentPage p,.guide-view #contentPage li,.guide-view #contentPage ol,.guide-view #contentPage ul,.guide-view #contentPage .callout,.guide-view #contentPage label,.guide-view #contentPage input,.guide-view #contentPage button{font-family:inherit;font-size:15px;line-height:1.7}
.guide-view #contentPage strong,.guide-view #contentPage b,.guide-view #contentPage small{font-family:inherit;font-size:inherit;line-height:inherit}
.guide-view #contentPage h2,.guide-view #contentPage summary{font:700 18px/1.5 Georgia,serif;color:#f3dfc6}
.player-guide{margin-bottom:20px;max-width:1100px}
.player-guide details{border-top:1px solid #41494a;padding:16px 0}
.player-guide summary{cursor:pointer}
.player-guide p,.player-guide ul,.player-guide ol{margin:14px 0}
.player-guide li{margin:10px 0}
.guide-tip{border-left:3px solid #ef812b;background:#292119;padding:12px 16px}
.player-guide strong{color:#f4dfc5}
.player-guide .buttonrow{flex-wrap:wrap}
@media(max-width:700px){.player-guide ol,.player-guide ul{padding-left:22px}}

.topstats{min-width:0}.topstats .header-clock{white-space:nowrap}.header-clock time{display:block;font:22px Georgia,serif;color:#f2e4d0;font-variant-numeric:tabular-nums}.topstats>div{padding-left:clamp(8px,1.3vw,23px);padding-right:clamp(8px,1.3vw,23px)}@media(max-width:1000px){.header-clock time{font-size:17px}}@media(max-width:700px){.topstats .header-clock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.header-clock time{font-size:18px}}

.premium-owned{border:1px solid #926743;background:#29221b;padding:16px;margin:12px 0}.premium-owned h3{color:#ffab64;margin:0 0 12px}.premium-owned button{margin-top:12px}

/* Reserve clock space; the strong wrapper shares all header typography rules. */
.topstats .header-clock{flex-shrink:0}.header-clock time{font:inherit;color:inherit;font-variant-numeric:tabular-nums;font-kerning:auto;letter-spacing:normal;width:8ch;min-width:8ch;max-width:8ch;line-height:normal;white-space:nowrap;flex:0 0 auto}
@media(min-width:701px){.topstats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;justify-content:normal}.topstats>div{min-width:0}}

/* Seasonal decoration is independent of the original panorama and all controls. */
.halloween-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;user-select:none}

/* Raised panorama labels leave people, table and car visible at every scale. */
.district-scene .pin-warehouse{top:calc(57% - 20px)}.district-scene .pin-shell{top:calc(73% - 20px)}.district-scene .pin-garage{top:calc(67% - 20px)}
@media(max-width:700px){.district-scene .pin-warehouse{top:calc(57% - 12px)}.district-scene .pin-shell{top:calc(73% - 12px)}.district-scene .pin-garage{top:calc(67% - 12px)}}

.halloween-apparition{animation:window-apparition 18s ease-in-out infinite;transform-origin:center;pointer-events:none}@keyframes window-apparition{0%,30%,100%{opacity:.88}45%,80%{opacity:0}}@media(prefers-reduced-motion:reduce){.halloween-apparition{animation:none;opacity:.8}}

/* Matching illustrated personnel scenes and compact vehicle thumbnails. */
.scene-driver{background-position:100% 78%;background-size:auto 125%}.scene-thugs{background-image:url('assets/personnel-thugs.png');background-position:center;background-size:cover}.staff-layout>.raid-roster{display:block}.staff-layout>.raid-roster .buttonrow{margin-top:18px}.fleet-class-art{display:flex;align-items:center;gap:12px;font:18px Georgia,serif;min-width:240px}.fleet-class-art img{display:block;width:136px;height:84px;object-fit:contain;background:#111718;border:1px solid #41494a;flex-shrink:0}.fleet-summary td{vertical-align:middle}.fleet-summary .fleet-class-art+span{white-space:nowrap}@media(max-width:1000px){.scene-thugs{height:auto;aspect-ratio:3/2;background-size:contain;background-repeat:no-repeat}.scene-driver{background-size:auto 180%}.fleet-class-art{min-width:200px;font-size:16px;gap:9px}.fleet-class-art img{width:112px;height:72px}}@media(max-width:700px){.fleet-class-art{min-width:168px;font-size:14px}.fleet-class-art img{width:96px;height:64px}}
.staff-scene.scene-thugs{background-size:contain;background-repeat:no-repeat;background-color:#111719}

/* Distinct staff portraits match the existing hiring rows. */
.staff-avatar{display:block;width:72px;height:72px;object-fit:cover;border:1px solid #65503b;flex-shrink:0}.staff-hire-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.staff-hire-actions button{margin-left:0}.staff-scene.scene-driver{background-image:url('assets/personnel-garage.png');background-size:cover;background-position:center}.staff-row .staff-avatar+div{min-width:110px}@media(max-width:700px){.staff-avatar{width:64px;height:64px}.staff-hire-actions{width:100%;margin-left:0}.staff-hire-actions button{flex:1}}

/* Prominent first-step guidance across all pages while the bundle is available. */
#starterGuide{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;margin:0 0 22px;padding:24px;border:2px solid #f58a3b;background:linear-gradient(115deg,#35271c,#182023 75%);box-shadow:inset 5px 0 #f58a3b}#starterGuide[hidden]{display:none}.starter-guide-copy h2{font:27px/1.2 Georgia,serif;margin:10px 0;color:#ffe4c8}.starter-guide-copy p{font-size:14px;line-height:1.6;margin:10px 0}.starter-contents{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.starter-contents span{padding:7px 10px;border:1px solid #715338;background:#201d19;font-size:12px;color:#f2d4ad}.starter-warning{color:#ffd0a2}.starter-steps{display:flex;flex-wrap:wrap;gap:10px 26px;padding-left:20px;font-size:13px;color:#dcc8b2}.starter-guide-action{display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:center}.starter-guide-action>strong{font:32px Georgia,serif;color:#ffa04d}.starter-guide-action>span{font-size:13px;line-height:1.6;color:#ead7bf}.starter-guide-action>.primary{font-size:15px;padding:16px 12px}.starter-guide-action small{font-size:12px;line-height:1.5;color:#cbbba7}.staff-scene.scene-thugs{background-image:url('assets/personnel-thugs-wide.png');background-size:cover;background-position:center}@media(max-width:900px){#starterGuide{grid-template-columns:1fr;padding:18px;gap:12px}.starter-guide-action{max-width:440px;width:100%;justify-self:center}.starter-guide-copy h2{font-size:23px}}

.staff-scene.scene-thugs{height:auto;aspect-ratio:3/2;background-size:contain;background-repeat:no-repeat}

.sidebar .brand{padding:6px 8px;height:110px;display:flex;align-items:center;justify-content:center;background:#0e1112}.brand-logo{display:block;width:100%;height:auto;max-height:98px;object-fit:contain}@media(max-width:700px){.sidebar .brand{height:76px;padding:4px 12px}.brand-logo{width:220px;max-width:100%;max-height:68px}}

.spy-card .spy-avatar{display:block;width:72px;height:72px;min-height:0;object-fit:cover;border:1px solid #65503b;flex-shrink:0;align-self:center}.premium-spy-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:center}.premium-spy-art{display:block;width:240px;max-width:100%;height:auto;border:1px solid #65503b}@media(max-width:700px){.premium-spy-card{grid-template-columns:1fr;gap:16px}.premium-spy-art{width:180px;justify-self:center}}

.coin-wallet h2{font-size:32px;color:#f89a45;margin:8px 0}.coin-packages{margin-bottom:22px}.coin-packages b{font:20px Georgia,serif;color:#f7d2a6}.server-busy button[data-premium-buy]{pointer-events:none;opacity:.6}

.coin-package-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #41494a;margin-bottom:14px;border-radius:3px}

.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle;border:1px solid #ffffff40;flex-shrink:0}.presence-dot.is-online{background:#60c77a;box-shadow:0 0 5px #60c77a40}.presence-dot.is-offline{background:#e46b64}

.reputation-benefit{display:flex;flex-direction:column;gap:5px;margin:10px 0;padding:10px 12px;border:1px solid #536548;background:#202d24;font-size:12px}.reputation-benefit b,.reputation-pill{color:#c1dca9}.reputation-benefit span{color:#ded7c9}

/* City-specific complete panoramas avoid composition seams. */
.city-panorama-scene{background-image:none}.district-city-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:0}

/* Small utility link, outside the main navigation. */
.sidebottom .sidebar-small-link{display:block;width:auto;padding:3px 0;margin-top:3px;background:none;border:0;text-align:left;font:inherit;color:var(--muted);cursor:pointer}.sidebottom .sidebar-small-link:hover,.sidebottom .sidebar-small-link:focus-visible{color:var(--orange);text-decoration:underline}.patch-notes{max-width:1000px;display:grid;gap:18px}.patch-note time{font-size:12px;color:var(--orange)}.patch-note h2{font-size:22px;margin:8px 0 16px}.patch-note ul{padding-left:20px;margin:0;font-size:14px;line-height:1.65}.patch-note li+li{margin-top:8px}

/* Shared alpha decoration, scaled with the unchanged city panorama. Pins remain above it. */
.district-season-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;user-select:none}

.district-season-overlay .season-piece{position:absolute;inset:0;transform-origin:0 0;pointer-events:none}.season-piece img{width:100%;height:100%;object-fit:fill}

.manager-heading{display:flex;gap:16px;align-items:center}.manager-heading h2{margin:0 0 5px}.manager-heading small{display:block;margin-top:5px;color:var(--muted)}.warehouse-manager-panel{max-width:1000px}
.sectiontitle:has(.transport-plan-button){flex-wrap:wrap;gap:12px}.transport-plan-button{min-height:44px;white-space:normal}@media(max-width:600px){.transport-plan-button{width:100%}}

.bot-ranking .presence-dot{display:none}
.profile-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-layout form .field{margin:14px 0}.profile-layout .panel{min-width:0}@media(max-width:800px){.profile-layout{grid-template-columns:1fr}}

/* In-game support */
.ticket-alert{display:inline-flex!important;align-items:center;justify-content:center;background:#c62e2e;color:#fff;border-radius:50%;width:20px;height:20px;min-width:20px;margin-left:8px;font:700 15px/1 Arial,sans-serif;vertical-align:middle}
.ticket-layout{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:20px;align-items:start}.ticket-list{padding:16px}.ticket-list-item{display:block;width:100%;text-align:left;margin:8px 0;padding:14px;white-space:normal}.ticket-list-item>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-list-item b{overflow-wrap:anywhere}.ticket-list-item small{display:block;margin-top:8px;color:#b9b1a5}.ticket-list-item.active{border-color:#f58024;background:#39291e}.ticket-message{padding:16px;margin:12px 0;border:1px solid #414b4d;border-radius:4px;background:#11191b}.ticket-message.is-support{border-left:3px solid #f58024}.ticket-message>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.ticket-message time{font-size:12px;color:#b9b1a5}.ticket-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.ticket-message img{display:block;max-width:100%;max-height:280px;object-fit:contain;margin-top:14px}.ticket-form textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;background:#171b1c;color:#eee1c8;border:1px solid #505758;border-radius:3px;padding:12px;font:inherit;min-height:120px}.ticket-form input[type=file]{max-width:100%;font:inherit}.ticket-form{margin-top:20px}.ticket-status-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.ticket-status-actions .field{margin-bottom:0}.ticket-toolbar{flex-wrap:wrap;gap:12px}.ticket-thread h2{overflow-wrap:anywhere}.ticket-thread{min-width:0}
@media(max-width:850px){.ticket-layout{grid-template-columns:1fr}.ticket-list{max-height:330px;overflow:auto}.ticket-toolbar .primary{min-height:44px}.ticket-status-actions button{min-height:44px}}

.menu-order-panel{grid-column:1/-1}.menu-order-list{list-style:none;padding:0;margin:16px 0;max-height:440px;overflow:auto;border:1px solid #465052}.menu-order-list li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #384143}.menu-order-list li:last-child{border-bottom:0}.menu-order-list .menu-position{color:#f58a3b;min-width:25px;font-variant-numeric:tabular-nums}.menu-order-list .menu-label{flex:1}.menu-order-list button{min-width:44px;min-height:44px;padding:8px 12px}.menu-order-actions{display:flex;gap:12px;flex-wrap:wrap}.menu-order-list button:focus-visible{outline:2px solid #ffac68;outline-offset:2px}

.vehicle-sale-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.vehicle-sale-actions button{min-height:40px}.vehicle-sale-actions strong{color:#f9a25e;font-size:12px}

.vehicle-sale-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.vehicle-sale-actions button{min-height:40px}.vehicle-sale-actions strong{color:#f9a25e;font-size:12px}

/* Police events remain distinct from orange raid failures. */
.message.police{border-left:3px solid #65b7ff;padding-left:12px}.message.police p{color:#85c7ff}.thug-recovery{margin:10px 0;font-size:13px;line-height:1.7}.thug-recovery strong{display:block}.thug-recovery div{overflow-wrap:anywhere}
