/* STOCKCITY inventory system. Runtime token authority for all game menus and HUD. */
@font-face{font-family:Sora;src:url('/assets/sora.ttf') format('truetype');font-weight:100 800;font-display:swap}
:root{
  --menu-title:Sora,Manrope,sans-serif;
  --bg:#000000;--panel:#101010;--panel-deep:#060606;--line:#303030;--ink:#f1f3ed;--muted:#b3b3b3;
  --card-bg:#181818;--card-hover:#222222;--card-line:#393939;--text-quiet:#ababab;
  --menu-stage:#0b0b0b;--surface-sheen:linear-gradient(155deg,#ffffff06,transparent 42%);--stage-fill:radial-gradient(ellipse at 50% 85%,#ffffff0d,transparent 65%);--menu-lift:0 18px 64px #06060670;
  --radius:8px;--rail-width:210px;--rail-space:244px;--facility-panel-width:354px;
}
.button,.small-button{font:650 .875rem/1.35 var(--body);letter-spacing:0;min-height:44px;border-radius:8px;transition:background .16s,border-color .16s,color .16s}
.button:not(.primary),.small-button{background:#2d2d2d;border-color:#505050;color:var(--ink)}
.button:not(.primary):hover,.small-button:hover{background:#3f3f3f;border-color:#71808f;color:var(--ink)}
.button.primary{background:var(--accent);color:#152011;border-color:transparent}
.button.primary:hover{background:#cafb7e;border-color:transparent;color:#172011}
.button:active,.small-button:active{transform:translateY(1px)}
.button:disabled,.small-button:disabled{background:#2b2b2b;color:#a1adba;border-color:#434343;opacity:1;transform:none;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.modal-content .primary,#facility-panel .primary,#business-bar .primary{--accent:var(--green)}
.modal-content :is(h2,h3),#facility-heading h1,.city-heading h1,.upgrade-copy>strong,.upgrade-title>strong{font-family:var(--menu-title);font-weight:600;letter-spacing:-.025em;text-transform:none}

/* Vertical business rail: the city owns the centre of the screen. */
#business-bar{inset:18px 18px auto auto;width:var(--rail-width);min-height:0;max-height:calc(100dvh - var(--game-header-height) - 36px);overflow-y:auto;padding:18px 12px 12px;display:flex;flex-direction:column;align-items:stretch;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:14px;z-index:4}
#business-bar>*{flex-shrink:0}
#business-bar .credit-balance{min-width:0;margin:0;padding:0 8px 17px;border-bottom:1px solid var(--line)}
.credit-balance>span{font:500 .75rem/1.4 var(--body);color:var(--muted)}
.credit-balance>strong{font:600 1.65rem/1.3 var(--menu-title);letter-spacing:-.035em;overflow-wrap:anywhere}
#business-credits small{display:block;font:600 .75rem/1.5 var(--body);color:var(--green);letter-spacing:.04em;margin:4px 0 0}
#business-bar .payroll-summary{display:flex;order:2;gap:5px;margin:1px 6px 6px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.payroll-summary strong{font:500 .75rem/1.5 var(--body);color:var(--muted)}
.payroll-summary>span{font-size:.75rem;line-height:1.45;color:var(--text-quiet);max-width:none}
#business-bar .button,#business-bar .small-button{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:46px;padding:12px;font:600 .875rem/1.35 var(--body);text-align:left;white-space:normal}
#business-bar svg{width:19px;height:19px;stroke-width:1.6}
#business-bar #collect-all{order:1;justify-content:center;padding-inline:8px;font-size:.8125rem;margin-top:8px}
#business-bar #aftermarket-button{order:3}
#business-bar #portfolio-button{order:4}
#business-bar #season-button{order:5}
#business-bar #demo-lab-button{order:6;margin-top:8px;background:transparent}
#season-badge{margin-left:auto;font:600 .75rem var(--body);color:var(--green)}
body[data-mode=city] #viewport{inset:0 var(--rail-space) 0 0}
body[data-mode=city] .camera-dock,body[data-mode=facility] .camera-dock{top:18px;left:18px;right:auto;bottom:auto;padding:5px;background:var(--panel-deep);border:1px solid var(--line);border-radius:10px;box-shadow:none;max-width:calc(100% - 36px)}
.camera-dock .camera-caption{font:600 .75rem var(--body);letter-spacing:0;padding-inline:8px}
.camera-dock button{width:34px;min-height:36px;display:grid;place-items:center}
.camera-dock svg{width:18px;height:18px}
body[data-mode=city] .movement-help,body[data-mode=facility] .movement-help{top:68px;bottom:auto;left:20px;right:auto;text-align:left;font:.75rem/1.5 var(--body);background:#151515e8;padding:5px 9px;max-width:calc(100% - 40px)}
.city-heading{top:115px;left:28px;pointer-events:none}
.city-heading h1{font-size:1.6rem;line-height:1.3;margin:0}
.city-heading h1 span{display:block;font:400 .875rem/1.5 var(--body);color:var(--muted);margin-top:4px}
.city-services{top:auto;bottom:22px;right:18px}
.city-services .small-button{min-height:36px;font-size:.75rem;padding:6px 12px}
#business-intro{right:calc(var(--rail-space) + 18px);top:112px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
#business-intro>.eyebrow{display:none}
#business-intro>strong{font:600 1.125rem/1.5 var(--menu-title)}
.roster{right:var(--rail-space);left:18px;bottom:18px;gap:8px}
.roster-card{height:88px;border-radius:10px;background:#1c1c1cf5;border:1px solid var(--line);padding:10px}
.roster-card[aria-pressed=true]{border-color:var(--job-color);background:#2d2d2d}
.roster-text strong{font:600 .875rem/1.3 var(--menu-title)}
.roster-text small{font:650 .75rem/1.3 var(--body);color:var(--job-color)}
.roster-text em{font:.75rem/1.4 var(--body);color:var(--muted)}
.roster-photo{border-radius:6px;opacity:.85}
.city-status{right:var(--rail-space);bottom:118px;font-size:.75rem}
.job-detail{width:270px;left:26px;bottom:148px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#1c1c1cf2}
.job-detail h2{font:650 1.4rem/1.3 var(--menu-title);letter-spacing:-.025em}
.job-meta{font-size:.8125rem}.job-skill{font-size:.75rem;margin:14px 0 6px}
.job-quote{font-size:.875rem;line-height:1.5}.job-description{font-size:.8125rem;line-height:1.65}
.job-detail .button{width:100%;justify-content:space-between}.free-note{font-size:.75rem;line-height:1.5;letter-spacing:0}
.nearby-work{left:calc((100% - var(--rail-space))/2);bottom:151px;padding:8px 16px 8px 8px;gap:14px;background:var(--panel-deep);border-color:var(--green);color:var(--ink);border-radius:10px;font-size:.875rem;box-shadow:var(--menu-lift)}
.nearby-work kbd{display:grid;place-items:center;min-width:34px;height:34px;border-radius:5px;background:var(--green);color:#162211;font:700 1rem var(--menu-title)}
.nearby-work svg{width:18px;height:18px}

/* Facility controls share the same inventory composition. */
#facility-heading{top:0;left:0;right:calc(var(--rail-space) + var(--facility-panel-width) + 12px);min-height:78px;padding:14px 18px;gap:12px;background:var(--panel-deep)}
#facility-heading h1{font-size:1.125rem;line-height:1.45;letter-spacing:-.02em}
#facility-heading .eyebrow{font-size:.75rem;color:var(--muted)}
#facility-heading>.small-button{min-height:40px;font-size:.8125rem;padding:9px;white-space:normal}
#facility-recenter{display:none}
#facility-inspect{margin-left:auto}
#facility-panel{top:18px;right:var(--rail-space);bottom:18px;left:auto;width:var(--facility-panel-width);padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
body[data-mode=facility] #viewport{top:78px;left:0;right:calc(var(--rail-space) + var(--facility-panel-width) + 12px);bottom:0}
body[data-mode=facility].room-inspect #viewport,body[data-mode=facility].room-inspect #facility-heading{right:var(--rail-space)}
.facility-payroll{padding-bottom:18px}
.paycheck-value{margin:8px 0 14px;gap:8px}.paycheck-value strong{font:600 1.65rem/1.35 var(--menu-title);letter-spacing:-.03em}
.facility-counts{padding:16px 0;gap:8px}.facility-counts b{font:600 1.125rem/1.4 var(--menu-title)}
.facility-production{padding:18px 0}.facility-production .capacity-readout{font-size:.75rem}
#facility-bottleneck{background:#302b23;border:1px solid #63553f;border-radius:8px;font-size:.8125rem;line-height:1.6;padding:10px 12px;margin-top:10px}
#operations-section{padding:18px 0}.ops-heading h2{font:600 1rem/1.5 var(--menu-title)}
.care-check{background:var(--panel-deep);padding:12px;border-radius:8px;border:0;margin:12px 0 16px}
.care-check time{font:600 1.125rem var(--menu-title)}
.ops-tabs,.facility-sections{display:flex;gap:4px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:0;border-radius:0;margin-bottom:14px}
.ops-tabs button,.facility-sections button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font:600 .875rem/1.4 var(--body);padding:11px 6px;min-height:44px}
.ops-tabs button:hover,.facility-sections button:hover{background:#2c2c2c;color:var(--ink)}
.ops-tabs button[aria-pressed=true],.facility-sections button[aria-pressed=true]{border-color:var(--green);color:var(--ink);background:transparent}
.employee-list,.asset-list{max-height:450px;padding:2px;gap:10px}
.employee-row,.asset-row{grid-template-columns:78px minmax(0,1fr) 16px;background:var(--card-bg);border:1px solid var(--line);border-radius:12px;padding:12px;gap:10px}
.employee-row:hover,.asset-row:hover{background:var(--card-hover);border-color:#6d7d8d}
.employee-row .portrait-frame,.asset-thumbnail{display:flex;align-items:center;justify-content:center;min-width:0;width:78px;height:84px;border-radius:8px;background:var(--menu-stage);overflow:hidden}
.employee-row .employee-avatar,.asset-thumbnail .item-art{width:100%;height:100%;object-fit:contain;border:0;border-radius:0;background:transparent}
.employee-summary strong,.asset-summary strong{font:600 .875rem/1.45 var(--body);letter-spacing:0}
.employee-summary small,.asset-summary small{font-size:.75rem}.person-state{font:600 .75rem/1.5 var(--body);border-radius:4px;padding:3px 6px}
.employee-vitals{gap:10px;margin-top:5px}.compact-meter .meter-label{font-size:.75rem;gap:5px}.compact-meter .meter-label b{font:650 .8125rem var(--body)}
.asset-health{grid-column:1/-1}.asset-output{font-size:.75rem}
.ops-intro,.ops-legend{font-size:.8125rem;line-height:1.6}.ops-legend{color:var(--text-quiet)}
.upgrade{padding:0;margin:14px 0 18px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card-bg)}
.upgrade-art{height:140px;position:relative;display:grid;place-items:center;background:var(--menu-stage)}
.upgrade-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 10px #0005)}
.upgrade-copy{padding:15px}.upgrade-copy>strong,.upgrade-title>strong{font-size:.9375rem;line-height:1.5}
.upgrade-copy p{font:.875rem/1.6 var(--body);color:var(--muted);margin:8px 0 12px}
.upgrade-title{align-items:flex-start;gap:10px}.upgrade-title>span{font:.75rem/1.5 var(--body);color:var(--text-quiet);white-space:normal;text-align:right}
.upgrade-copy .upgrade-effects{font-size:.8125rem;font-weight:600;color:#d1dfa5}
.upgrade-copy .button{width:100%;justify-content:space-between;font-size:.875rem;padding:11px 12px;gap:12px}
.button-price{white-space:nowrap}.button-price small{font-size:.75rem;font-weight:500;color:var(--muted)}
.upgrade-copy .upgrade-help{font:.75rem/1.55 var(--body);margin-bottom:0;color:var(--text-quiet)}
.service-card{padding:0 15px 15px;overflow:hidden;background:var(--card-bg);border-radius:12px;border:1px solid var(--line)}
.service-portrait{height:148px;background:var(--menu-stage);margin:0 -15px 15px;display:grid;place-items:center}
.service-portrait img{width:100%;height:100%;object-fit:contain;background:transparent;border:0;border-radius:0}
.service-card-heading{gap:12px}.service-card-heading h3{font:600 .9375rem var(--menu-title)}
.service-card-heading>b{font:600 1.125rem var(--menu-title)}
.management-card{padding-top:6px}.management-card>.eyebrow{display:none}

/* One modal system, with compact headings and image-led detail screens. */
#game-dialog{width:min(1020px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);border:0;border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--menu-lift);padding:0;overflow:auto}
#game-dialog::backdrop{background:#090909b8;backdrop-filter:blur(5px)}
#game-dialog:not([data-view=aftermarket]):not([data-view=asset-detail]):not([data-view=market-preview]):not([data-view=briefing]):not([data-view=result]):not([data-view=facility-shop]){width:min(760px,calc(100vw - 40px))}
.modal-content{padding:30px;background:var(--panel)}
.modal-content h2,.business-modal h2{font:600 clamp(1.4rem,2.2vw,1.8rem)/1.3 var(--menu-title);letter-spacing:-.03em;margin:0 48px 14px 0;text-transform:none}
.modal-content .modal-kicker{display:none}
.modal-content>p,.business-modal>p,.modal-content.compact-modal>p:not(.modal-note):not(.modal-kicker){font:400 1rem/1.65 var(--body);color:var(--muted)}
.modal-content .modal-note{font:400 .75rem/1.6 var(--body)!important;color:var(--text-quiet);text-transform:none;letter-spacing:0!important;margin-top:22px}
.modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border:0;border-radius:8px;background:#343434;color:var(--muted);display:grid;place-items:center;z-index:5}
.modal-close:hover{background:#515151;color:var(--ink)}
.dialog-navigation{display:flex;align-items:center;gap:15px;padding:16px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:4}
.dialog-navigation>.small-button{background:transparent;border:0;padding:8px 0;font-size:.875rem;gap:10px;color:var(--ink)}
.dialog-navigation>.small-button:hover{color:var(--green)}
.dialog-navigation>span{font:600 .75rem var(--menu-title);color:var(--text-quiet);letter-spacing:.1em;margin-left:auto;margin-right:46px}
.dialog-navigation .modal-close{top:19px;right:20px}
.asset-detail,.purchase-detail{padding:0}
.detail-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.detail-stage{background:var(--panel-deep);padding:24px;min-width:0;border-right:1px solid var(--line)}
.detail-art{height:270px;display:grid;place-items:center;background:var(--menu-stage);border-radius:12px;position:relative;overflow:hidden}
.detail-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 13px #0007);border:0;border-radius:0;background:transparent}
.detail-identity{display:block;margin:22px 0 4px}
.detail-identity h2,.business-modal .detail-identity h2{font:600 1.45rem/1.35 var(--menu-title);margin:0;letter-spacing:-.025em;overflow-wrap:normal}
.detail-identity p{font:.875rem/1.5 var(--body);margin:10px 0 14px}
.detail-body{padding:24px;min-width:0}
.detail-section-title{font:600 1rem/1.4 var(--menu-title);margin:0 0 18px}
.wellbeing-grid{gap:14px;margin:0 0 22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.wellbeing-grid>.wellbeing-meter{background:transparent;border:0;border-radius:0;padding:0}
.wellbeing-grid .meter-label{font:.75rem/1.4 var(--body);min-height:72px;gap:7px}
.wellbeing-grid .meter-label b{font:600 1.5rem/1.25 var(--menu-title);letter-spacing:-.025em}
.wellbeing-grid .meter-label small{font:.75rem var(--body)}
.wellbeing-meter meter{height:6px;border-radius:3px}
.condition-display{background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 20px;border-radius:0}
.condition-display .meter-label b{font:600 1.5rem var(--menu-title)}
.condition-display p{font:.8125rem/1.6 var(--body)}
.summary-metrics{gap:12px;padding:16px 0;margin:18px 0}
.summary-metrics>div+div{padding-left:18px}
.summary-metrics strong{font:600 1.65rem/1.3 var(--menu-title)}
.summary-metrics span{font-size:.8125rem}.summary-metrics small{font-size:.75rem}
.care-actions{gap:12px;margin:18px 0}.care-option{min-width:145px}
.care-option button{min-height:58px;border-radius:8px}.care-option button small{font-size:.75rem}
.care-action-help{font-size:.75rem;line-height:1.55}
.record-details summary{font-size:.8125rem}.record-details .detail-stats{font-size:.75rem}
.resale-section{padding-top:18px}.resale-section h3{font:600 .9375rem/1.5 var(--menu-title)}
.resale-section p{font-size:.8125rem;line-height:1.65}.resale-section>.small-button{width:100%;justify-content:center}
.detail-stats{margin:18px 0;padding:3px 0}.detail-stats>div{padding:10px 0;font-size:.875rem}.detail-stats dd{font-size:.875rem;font-weight:650}
.purchase-explainer{font:.875rem/1.65 var(--body);color:var(--muted)}
.purchase-checkout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;margin-top:24px;border-top:1px solid var(--line)}
.purchase-checkout>div{display:flex;flex-direction:column;gap:4px}
.purchase-checkout span{font:.8125rem/1.5 var(--body);color:var(--muted)}
.purchase-checkout strong{font:600 1.8rem/1.4 var(--menu-title)}
.purchase-checkout strong small{font:500 .75rem var(--body);color:var(--muted)}
.purchase-checkout .primary{min-height:48px;font-size:.875rem;padding:12px 15px;gap:10px}
.license-art img{height:230px;filter:none;opacity:1}
.license-modal .detail-stats>div:first-child dd{color:var(--green)}
.settings-row strong{font-size:1rem}.settings-row small{font-size:.8125rem;line-height:1.6}
.settings-row input{accent-color:var(--green);width:22px;height:22px}
.how-steps{font-size:1rem;line-height:1.7}.how-controls span{font-size:.875rem;line-height:1.6}
.report-strip strong{font:600 1.25rem var(--menu-title)}
.report-strip span,.portfolio-table thead th{font-size:.75rem;letter-spacing:0}
.portfolio-table td,.portfolio-table th{font-size:.875rem;padding-block:18px}
.business-history li{font-size:.875rem}.business-history time{font-size:.75rem}
.season-goal h3,.demo-grid h3,.demo-restore h3{font:600 1rem/1.5 var(--menu-title)}
.season-goal p,.demo-grid p,.demo-restore p{font-size:.875rem;line-height:1.65}
.season-plaque strong{font:600 1rem var(--menu-title);letter-spacing:0}
.paycheck-receipt{border-top:0;max-width:none}.receipt-lines>div{font:600 1.125rem var(--menu-title)}

/* Marketplace: the product is the visual catalogue, immediately on screen. */
#game-dialog[data-view=aftermarket]{overflow:hidden}
.aftermarket-modal{height:min(820px,calc(100dvh - 40px));display:flex;flex-direction:column;padding:0;overflow:hidden}
.market-header{display:flex;align-items:center;gap:24px;padding:26px 72px 23px 28px;border-bottom:1px solid var(--line);flex-shrink:0}
.market-header h2{font-size:1.6rem;margin:0 0 6px;line-height:1.3}
.market-header p{font:.875rem/1.5 var(--body);color:var(--muted);margin:0}
.market-wallet{margin-left:auto;text-align:right;flex-shrink:0}
.market-wallet>span{display:block;font:.75rem/1.5 var(--body);color:var(--muted);margin-bottom:3px}
.market-wallet strong{font:600 1.125rem/1.4 var(--menu-title)}
.market-wallet small{font:500 .75rem var(--body);color:var(--text-quiet)}
.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 28px;flex-shrink:0}
.market-tabs{margin:0;border:0;flex:1;max-width:380px}
.market-tabs button{font-size:.875rem;padding:10px 12px;white-space:nowrap}
.market-filter{margin:0;gap:10px;font-size:.8125rem;flex-wrap:nowrap}
.market-filter select{max-width:180px;font-size:.8125rem;min-height:42px;background:var(--panel-deep);border-color:var(--line);border-radius:8px}
.market-filter>span{font-size:.75rem}
.market-list{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:6px 24px 24px 28px}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start}
.market-card{border:1px solid var(--line);border-radius:12px;background:var(--card-bg);overflow:hidden;min-width:0;transition:border-color .16s}
.market-card:hover{border-color:#7d8c9c}
.market-art{position:relative;display:block;width:100%;height:174px;background:var(--menu-stage);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 20px;overflow:hidden}
.market-art:hover{background:#404040}
.market-art:focus-visible{outline-offset:-4px}
.market-art img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;border:0;border-radius:0;filter:drop-shadow(0 12px 9px #0006);transition:transform .2s ease-out}
.market-art:hover img{transform:translateY(-3px) scale(1.025)}
.item-stock{position:absolute;top:12px;left:13px;z-index:1;font:700 .75rem var(--body);color:var(--item-accent);background:#161616db;padding:5px 6px;border-radius:4px}
.item-category{position:absolute;bottom:10px;left:13px;font:500 .75rem var(--body);color:#d4dce3;background:#161616db;padding:4px 6px;border-radius:4px}
.market-card-body{padding:16px}
.market-card h3{font:600 .9375rem/1.5 var(--menu-title);letter-spacing:-.02em;margin:0 0 10px;min-height:45px}
.market-condition{display:flex;justify-content:space-between;gap:8px;font:.75rem/1.5 var(--body);color:var(--text-quiet);padding-bottom:14px;border-bottom:1px solid var(--line)}
.market-condition b{font-weight:650;color:var(--ink);display:block;margin-top:2px}
.market-card-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}
.market-price{display:flex;flex-direction:column;gap:5px;min-width:0}
.market-price strong{font:600 1.25rem/1.3 var(--menu-title);letter-spacing:-.025em;white-space:nowrap}
.market-price small{font:500 .75rem var(--body);color:var(--text-quiet)}
.market-price>span{font:.75rem/1.5 var(--body);color:var(--text-quiet)}
.market-card-bottom .small-button{min-height:40px;padding:9px 12px;font-size:.8125rem;white-space:nowrap}
.market-footer{display:flex;align-items:center;gap:14px;padding:15px 28px;border-top:1px solid var(--line);flex-shrink:0;background:var(--panel-deep)}
.market-footer p{font:.75rem/1.6 var(--body);color:var(--text-quiet);margin:0}
.demo-exchange-tag{font:600 .75rem/1.5 var(--body);border:0;background:#343022;color:#e6d4a4;border-radius:4px;padding:4px 8px;white-space:nowrap}
.market-empty{grid-column:1/-1;padding:60px 30px}.market-empty strong{font:600 1.125rem/1.5 var(--menu-title)}
.market-empty p{font:.875rem/1.65 var(--body)}
.demo-sale-control{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:14px;padding:12px 0 0;border:0;border-top:1px solid var(--line);background:transparent;font-size:.75rem}
.demo-sale-control .small-button{font-size:.75rem;min-height:36px}

@media(max-width:1150px){
  :root{--rail-width:180px;--rail-space:210px;--facility-panel-width:322px}
  #business-bar{right:14px;padding:16px 10px 10px}.credit-balance>strong{font-size:1.4rem}
  #business-bar .button,#business-bar .small-button{font-size:.8125rem;padding:10px;gap:8px}
  #business-bar #collect-all{font-size:.75rem}
  #facility-panel{padding:16px}.camera-caption{display:none}
  #facility-heading{flex-wrap:wrap;gap:8px;min-height:92px}#facility-heading>div{min-width:0;flex:1}
  #facility-heading #facility-inspect{margin:0}
  body[data-mode=facility] #viewport{top:92px}
  .job-detail{width:245px;padding:15px}.job-description{display:none}
  .roster-photo{display:none}.roster-card{height:88px;padding:9px}
}
@media(max-width:900px){
  :root{--rail-width:92px;--rail-space:116px;--facility-panel-width:310px}
  #business-bar{right:12px;padding:12px 6px;gap:6px}
  #business-bar .credit-balance{padding:0 4px 10px;text-align:center}
  .credit-balance>span{font-size:.75rem}.credit-balance>strong{font-size:1.1rem}
  #business-credits small{font-size:.75rem}
  #business-bar .button,#business-bar .small-button{font-size:.75rem;padding:9px 3px;gap:5px;min-height:56px;flex-direction:column;justify-content:center;text-align:center}
  #business-bar #collect-all{font-size:.75rem;padding:10px 3px;gap:6px}
  #business-bar .payroll-summary{display:none}
  #business-bar #demo-lab-button{margin-top:0}
  #season-badge{margin:0;font-size:.75rem}
  #business-bar #season-button{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px}
  #season-button svg{grid-column:1/-1;justify-self:center}
  #business-intro{width:250px}
  .camera-dock .camera-caption{display:none}
  .camera-dock button{width:30px;min-height:34px}
  .detail-shell{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .detail-stage,.detail-body{padding:20px}.detail-art{height:230px}
  .wellbeing-grid{gap:10px}.wellbeing-grid .meter-label b{font-size:1.3rem}
  .market-toolbar{gap:12px;padding:14px 20px}.market-header{padding-left:20px}
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:20px;padding-right:16px}
  .market-filter>span{display:none}.market-tabs button{font-size:.8125rem;padding-inline:10px}
}
@media(max-width:650px){
  :root{--rail-width:82px;--rail-space:102px}
  #business-bar{position:fixed;top:calc(var(--game-header-height) + 10px);right:8px;width:var(--rail-width);max-height:calc(100dvh - var(--game-header-height) - 20px);overflow-y:auto;border-radius:10px}
  #business-bar .credit-balance{grid-column:auto!important;grid-row:auto;margin:0}
  .credit-balance>strong{font-size:.95rem;letter-spacing:-.025em}
  #business-bar .button,#business-bar .small-button{grid-row:auto;grid-column:auto!important;min-height:52px;white-space:normal}
  #business-bar #collect-all{grid-row:auto;grid-column:auto!important;margin-top:2px}
  #business-bar #season-button{min-height:55px;font-size:.75rem;gap:3px;padding:8px 3px}
  body[data-mode=city] #viewport{inset:0 var(--rail-space) 242px 0}
  body[data-mode=city] .camera-dock,body[data-mode=facility] .camera-dock{top:10px;left:10px;right:auto;bottom:auto;padding:3px;max-width:calc(100% - 20px);gap:0}
  .camera-dock button{width:30px;min-height:34px;flex-shrink:1}.camera-divider{margin-inline:2px}
  body[data-mode=city] .movement-help,body[data-mode=facility] .movement-help{top:57px;left:10px;right:10px;bottom:auto;font-size:.75rem;text-align:left;padding:4px 7px;max-width:none}
  .movement-help span{display:none}
  .city-heading{top:100px;left:18px}.city-heading h1{font-size:1.1rem}.city-heading h1 span{display:none}
  #business-intro{left:10px;right:var(--rail-space);top:135px;width:auto;max-width:none;padding:18px}
  #business-intro>strong{font-size:1rem}.intro-close{width:30px;height:30px}
  .city-services{bottom:12px;right:10px}.city-services .small-button{font-size:.75rem}
  .job-detail{bottom:130px;left:10px;right:var(--rail-space);width:auto;display:block;padding:12px;border-radius:10px}
  .job-meta{font-size:.75rem;margin-bottom:5px}.job-skill,.job-quote,.job-description,.free-note,.job-baseline{display:none}
  .job-detail h2{font-size:1.0625rem;line-height:1.4;margin:0 0 10px}.job-detail .button{font-size:.8125rem;min-height:42px;padding:9px 11px}
  .city-status{bottom:111px;left:12px;right:var(--rail-space);font-size:.75rem}
  .roster{bottom:10px;left:10px;right:var(--rail-space);display:flex;overflow-x:auto;padding-bottom:8px;scrollbar-gutter:auto;gap:7px}
  .roster-card{flex:0 0 126px;min-height:78px;height:auto;padding:10px;text-align:left}
  .roster-text strong{font-size:.8125rem;max-width:none}.roster-text small,.roster-text em{font-size:.75rem;line-height:1.4;display:block}
  .roster-photo{display:none}
  .nearby-work{left:calc((100% - var(--rail-space))/2);bottom:257px;font-size:.8125rem;white-space:normal;max-width:calc(100% - var(--rail-space) - 20px);padding:7px;gap:8px;min-width:0}
  .nearby-work kbd{min-width:30px;height:30px;font-size:.875rem}.nearby-work svg{display:none}
  body[data-mode=facility] #game-shell{height:auto;min-height:calc(100dvh - var(--game-header-height));padding-top:436px;overflow:visible}
  #facility-heading{top:0;left:0;right:var(--rail-space);padding:10px;min-height:116px;gap:8px;display:grid;grid-template-columns:1fr 1fr}
  #facility-heading>div{min-width:0;grid-column:1/-1;grid-row:2}
  #facility-heading #facility-city{grid-column:1;grid-row:1;justify-self:start}
  #facility-heading #facility-inspect{grid-column:2;grid-row:1;justify-self:end}
  #facility-heading h1{font-size:.875rem}#facility-heading .eyebrow{font-size:.75rem}
  #facility-heading>.small-button{font-size:.75rem;min-height:36px;padding:8px}
  #facility-heading #facility-inspect{margin-left:auto}
  body[data-mode=facility] #viewport{top:116px;left:0;right:var(--rail-space);bottom:auto;height:320px}
  #facility-panel{position:relative;inset:auto;width:auto;margin:0 var(--rail-space) 16px 10px;padding:14px;overflow:visible;border:1px solid var(--line);border-radius:12px}
  body[data-mode=facility].room-inspect #game-shell{height:calc(100dvh - var(--game-header-height));padding-top:0}
  body[data-mode=facility].room-inspect #viewport{height:calc(100dvh - var(--game-header-height) - 116px);min-height:250px;right:var(--rail-space)}
  body[data-mode=facility].room-inspect #facility-heading{right:var(--rail-space)}
  .paycheck-value strong{font-size:1.35rem}.paycheck-value{gap:5px}.facility-payroll .eyebrow{font-size:.8125rem;flex-wrap:wrap}
  .facility-counts{gap:5px}.facility-counts b{font-size:1rem}.facility-counts span{font-size:.75rem}
  .ops-heading{gap:8px}.ops-heading h2{font-size:.875rem}.ops-heading>span{font-size:.75rem}
  .care-check{gap:8px;padding:10px}.care-check time{font-size:1rem}.care-check small{font-size:.75rem}
  .ops-tabs button,.facility-sections button{font-size:.75rem;min-height:42px;padding-inline:4px}
  .employee-row,.asset-row{padding:10px;grid-template-columns:60px minmax(0,1fr) 10px;gap:8px}
  .employee-row .portrait-frame,.asset-thumbnail{width:60px;height:76px}
  .employee-summary strong,.asset-summary strong{font-size:.8125rem}
  .employee-vitals{gap:7px}.compact-meter .meter-label{font-size:.75rem;display:flex;flex-direction:column;align-items:flex-start}
  .employee-vitals .compact-meter b{font-size:.8125rem}
  .employee-list,.asset-list{max-height:none;overflow:visible;padding:0}
  .upgrade-art{height:134px}.upgrade-copy{padding:12px}.upgrade-copy>strong,.upgrade-title>strong{font-size:.875rem}
  .upgrade-copy .button{font-size:.8125rem;flex-wrap:wrap}
  #game-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}
  #game-dialog:not([data-view=aftermarket]):not([data-view=asset-detail]):not([data-view=market-preview]):not([data-view=briefing]):not([data-view=result]):not([data-view=facility-shop]){width:calc(100vw - 20px)}
  .modal-content{padding:24px 20px}.modal-content h2,.business-modal h2{font-size:1.4rem;line-height:1.35}
  .modal-close{right:15px;top:17px}
  .aftermarket-modal{height:calc(100dvh - 20px);padding:0}
  .market-header{padding:20px 58px 17px 18px;gap:10px;align-items:flex-start;flex-wrap:wrap}
  .market-header h2{font-size:1.35rem;margin:0 0 5px}.market-header p{font-size:.8125rem}
  .market-wallet{margin:0;display:flex;align-items:baseline;gap:8px;text-align:left}.market-wallet>span{font-size:.75rem}.market-wallet strong{font-size:.875rem}
  .market-toolbar{padding:8px 16px 14px;flex-wrap:wrap;gap:10px}
  .market-tabs{max-width:none;flex-basis:100%}.market-tabs button{font-size:.8125rem;padding:10px 8px}
  .market-filter{width:100%;justify-content:space-between}.market-filter select{max-width:220px;flex:1;font-size:.8125rem}
  .market-filter>span{display:block;font-size:.75rem}
  .market-list{padding:0 12px 16px 16px;gap:12px}
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-art{height:138px;padding:12px 8px}.item-stock{top:8px;left:8px;font-size:.75rem}.item-category{left:8px;bottom:8px;font-size:.75rem}
  .market-card-body{padding:12px}.market-card h3{font-size:.8125rem;line-height:1.5;min-height:40px}
  .market-condition{flex-direction:column;gap:4px;font-size:.75rem}.market-condition b{display:inline;margin:0 0 0 4px}
  .market-card-bottom{flex-direction:column;align-items:stretch;gap:10px}.market-price strong{font-size:1.125rem}.market-price>span{font-size:.75rem}
  .market-card-bottom .small-button{width:100%;justify-content:center}
  .market-footer{padding:12px 16px;gap:10px;align-items:flex-start}.market-footer p{font-size:.75rem;line-height:1.5}.demo-exchange-tag{font-size:.75rem}
  .asset-detail,.purchase-detail{padding:0}.dialog-navigation{padding:12px 16px;min-height:64px}.dialog-navigation>span{display:none}
  .dialog-navigation>.small-button{font-size:.8125rem;padding-right:38px}.dialog-navigation .modal-close{top:14px;right:14px}
  .detail-shell{grid-template-columns:1fr}.detail-stage{padding:18px;border-right:0;border-bottom:1px solid var(--line)}
  .detail-art{height:190px}.detail-identity{margin-top:16px}.detail-identity h2,.business-modal .detail-identity h2{font-size:1.3rem}
  .detail-body{padding:20px}.wellbeing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .wellbeing-grid .meter-label{font-size:.75rem;min-height:70px;flex-direction:column;align-items:flex-start}.wellbeing-grid .meter-label b{font-size:1.4rem}
  .purchase-checkout{gap:12px}.purchase-checkout strong{font-size:1.5rem}.purchase-checkout .primary{font-size:.8125rem;padding:11px}
  .care-option{min-width:130px}.care-option button{font-size:.8125rem}
  .listing-price-row{flex-wrap:wrap}#listing-price{flex:1;width:100%;min-width:90px}
  .license-art img{height:180px}
}
/* Tablets retain a useful room canvas; management moves below it before it can
   squeeze the room or its camera controls into a 200px strip. */
@media(min-width:651px) and (max-width:1000px){
  body[data-mode=facility]{overflow-y:auto}
  body[data-mode=facility] #game-shell{height:auto;min-height:calc(100dvh - var(--game-header-height));overflow:visible;padding-top:510px}
  body[data-mode=facility] #business-bar{position:fixed;top:calc(var(--game-header-height) + 18px)}
  #facility-heading{top:0;right:var(--rail-space);min-height:82px;padding:14px 18px;flex-wrap:nowrap}
  #facility-heading>div{min-width:0}#facility-heading #facility-inspect{margin-left:auto}
  body[data-mode=facility] #viewport{top:82px;right:var(--rail-space);height:410px;bottom:auto}
  #facility-panel{position:relative;inset:auto;width:auto;margin:0 var(--rail-space) 18px 18px;padding:24px;overflow:visible}
  .employee-list,.asset-list{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body[data-mode=facility].room-inspect #game-shell{height:calc(100dvh - var(--game-header-height));padding-top:0}
  body[data-mode=facility].room-inspect #viewport{height:calc(100dvh - var(--game-header-height) - 82px);min-height:300px}
}
@media(max-width:370px){
  .market-grid{grid-template-columns:1fr}.market-art{height:180px}.market-card h3{min-height:0;font-size:.9375rem}
  .market-condition{flex-direction:row}.market-card-bottom{flex-direction:row;align-items:center}.market-card-bottom .small-button{width:auto}
  .market-footer{flex-wrap:wrap}.camera-dock button{width:26px}.camera-divider{display:none}
  .employee-row,.asset-row{grid-template-columns:48px minmax(0,1fr);gap:7px}.employee-row .portrait-frame,.asset-thumbnail{width:48px}.row-arrow{display:none}
  .employee-vitals{grid-column:1/-1}.employee-summary strong,.asset-summary strong{font-size:.8125rem}
  .care-check{display:flex;flex-direction:column;align-items:flex-start}.care-check time{align-self:flex-end}
}
@media(prefers-reduced-motion:reduce){.market-art img,.market-card,.button,.small-button{transition:none}.market-art:hover img{transform:none}}
@media(forced-colors:active){.market-card,.employee-row,.asset-row,#business-bar,#facility-panel{border-color:CanvasText}.item-stock,.item-category,.demo-exchange-tag{color:CanvasText;background:Canvas}.nearby-work kbd{background:Highlight;color:HighlightText}}

/* Facility workspace: one summary, one navigation row, one content scroller. */
body[data-mode=facility]{--rail-space:18px;--facility-panel-width:392px}
body[data-mode=facility] #business-bar{display:none}
#facility-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:0;overflow:hidden;scrollbar-gutter:auto}
.facility-summary{padding:16px 18px 14px;background:var(--panel-deep);border-radius:13px 13px 0 0}
.facility-wallet{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.facility-wallet>span{font:.75rem/1.5 var(--body);color:var(--muted)}
.facility-wallet strong{font:600 .875rem/1.5 var(--menu-title);white-space:nowrap}
.facility-wallet small{font:500 .75rem var(--body);color:var(--muted)}
#facility-panel .facility-payroll{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:0;border:0}
#facility-panel .facility-payroll .eyebrow{grid-column:1/-1;color:var(--muted);font:500 .8125rem/1.5 var(--body)}
#facility-panel .paycheck-value{margin:0;gap:7px}
#facility-panel .paycheck-value strong{font:600 1.375rem/1.35 var(--menu-title);letter-spacing:-.025em}
#facility-panel .paycheck-value>span{font:650 .8125rem var(--body)}
#facility-panel .facility-payroll .button{width:auto;min-height:40px;padding:9px 12px;gap:12px;font-size:.8125rem}
#facility-panel .facility-payroll .button svg{width:16px;height:16px}
.facility-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--line)}
.facility-nav button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:600 .8125rem/1.4 var(--body);padding:14px 3px;min-height:46px;border-radius:0}
.facility-nav button:hover{background:var(--card-bg);color:var(--ink)}
.facility-nav button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--ink)}
.facility-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:18px}
#operations-section{padding:0;border:0}
.facility-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px}
.facility-section-heading h2{margin:0;font:600 .9375rem/1.5 var(--menu-title);letter-spacing:-.02em}
.facility-section-heading>span{font:.75rem/1.5 var(--body);color:var(--muted)}
.section-shop-link{width:100%;justify-content:space-between;min-height:40px;font-size:.8125rem;margin-bottom:8px;padding:10px 12px}
#facility-panel .facility-counts{padding:0 0 14px;margin-bottom:14px}
#facility-panel .facility-counts b{font:600 1.0625rem/1.4 var(--menu-title)}
#facility-panel .facility-counts span{font-size:.75rem;gap:4px}
#facility-panel .care-check{margin:0;padding:10px 12px;gap:10px}
#facility-panel .care-check>div>span{font:600 .8125rem/1.5 var(--body)}
#facility-panel .care-check small{font:.75rem/1.5 var(--body)}
#facility-panel .care-check time{font:600 1.125rem var(--menu-title)}
#facility-panel .facility-production{padding:18px 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px}
#facility-panel .production-header strong,#facility-panel .production-header>span{font:600 .9375rem/1.5 var(--body)}
#facility-panel .throughput{margin:10px 0;height:6px}
#facility-panel .capacity-readout,#facility-panel #facility-boost{font:.75rem/1.6 var(--body)}
#facility-panel #facility-bottleneck{font:.8125rem/1.6 var(--body)}
#facility-panel .employee-list,#facility-panel .asset-list{max-height:none;overflow:visible;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
#facility-panel .employee-row,#facility-panel .asset-row{grid-template-columns:64px minmax(0,1fr) 14px;padding:12px;gap:8px 12px;margin:0}
#facility-panel .portrait-frame,#facility-panel .asset-thumbnail{width:64px;height:68px}
#facility-panel .employee-summary strong,#facility-panel .asset-summary strong{font:650 .875rem/1.4 var(--body);letter-spacing:0}
#facility-panel .employee-summary small,#facility-panel .asset-summary small{font:.75rem/1.5 var(--body)}
#facility-panel .person-state{font:550 .75rem/1.4 var(--body);padding:3px 5px;align-self:flex-start}
#facility-panel .employee-vitals{gap:10px;padding-top:9px;margin-top:3px}
#facility-panel .employee-vitals .meter-label{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:3px;font:.75rem/1.4 var(--body)}
#facility-panel .employee-vitals .meter-label b{font:650 .75rem/1.4 var(--body);margin-left:auto}
#facility-panel .employee-vitals meter{height:5px;margin-top:4px}
#facility-panel .asset-health{padding-top:8px;margin-top:3px}
#facility-panel .ops-intro,#facility-panel .ops-legend{font:.75rem/1.65 var(--body);margin:10px 0 14px}
#facility-panel .ops-legend{margin:14px 0 0}
#facility-panel .upgrade{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:0;margin:0 0 12px}
#facility-panel .upgrade-art{height:86px;width:74px;margin:14px 0 0 12px;border-radius:8px}
#facility-panel .upgrade-copy{padding:14px 12px}
#facility-panel .upgrade-title{display:block}
#facility-panel .upgrade-title>strong,#facility-panel .upgrade-copy>strong{font:600 .875rem/1.5 var(--menu-title)}
#facility-panel .upgrade-title>span{display:block;text-align:left;font:.75rem/1.5 var(--body);margin-top:3px}
#facility-panel .upgrade-copy>p{font:.8125rem/1.6 var(--body);margin:7px 0 10px}
#facility-panel .upgrade-copy .upgrade-effects{font:.75rem/1.6 var(--body)}
#facility-panel .upgrade-copy .upgrade-help{font:.75rem/1.55 var(--body);margin-bottom:0}
#facility-panel .upgrade-copy .button{padding:9px 10px;font-size:.8125rem;min-height:40px;flex-wrap:wrap;gap:4px 8px}
#facility-panel .service-card{padding:12px;margin:12px 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 12px}
#facility-panel .service-portrait{grid-column:1;grid-row:1/3;width:64px;height:78px;margin:0;border-radius:8px}
#facility-panel .service-card-heading{grid-column:2;flex-wrap:wrap;gap:5px}
#facility-panel .service-card-heading h3{font:.875rem/1.5 var(--menu-title)}
#facility-panel .service-card-heading>b{font:600 .875rem/1.5 var(--menu-title)}
#facility-panel .service-card p{grid-column:2;margin:6px 0 12px;font:.8125rem/1.6 var(--body)}
#facility-panel .service-card>.small-button,#facility-panel .hired-service,#facility-panel .service-footnote{grid-column:1/-1}
#facility-panel .service-card>.small-button{min-height:40px;font-size:.8125rem}
#facility-panel .service-footnote{font-size:.75rem}
#facility-panel .management-card{padding:18px 0 0;border-top:1px solid var(--line);margin-top:18px}
#facility-panel .management-card>strong{font:600 .9375rem/1.5 var(--menu-title)}
#facility-panel .management-card>p{font:.8125rem/1.65 var(--body)}
#facility-panel .management-card .button{min-height:40px;font-size:.8125rem}
#facility-panel .demo-boundary{font:.75rem/1.5 var(--body);padding-top:14px;margin-top:18px}
.nearby-work{z-index:6;max-width:calc(100% - var(--rail-space) - 36px)}
.nearby-work>span{text-align:left;display:flex;flex-direction:column;gap:3px}
.nearby-work strong{font:600 .875rem/1.4 var(--body)}
.nearby-work small{font:.75rem/1.4 var(--body);color:var(--muted)}
@media(max-width:1000px){
  #facility-panel{display:block;overflow:visible;padding:0}
  .facility-scroll{overflow:visible;scrollbar-gutter:auto;padding:20px}
  .facility-summary{padding:18px 20px}
  .facility-nav{padding-inline:14px}
  .facility-nav button{font-size:.875rem;padding-block:14px}
  #facility-panel .employee-list,#facility-panel .asset-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  #facility-upgrades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
  #facility-panel .upgrade{margin:0}
}
@media(max-width:650px){
  body[data-mode=facility]{--rail-space:10px}
  #facility-heading{right:10px;min-height:108px}
  body[data-mode=facility] #viewport{top:108px;right:10px;height:320px}
  body[data-mode=facility] #game-shell{padding-top:428px}
  body[data-mode=facility].room-inspect #game-shell{padding-top:0}
  body[data-mode=facility].room-inspect #viewport{height:calc(100dvh - var(--game-header-height) - 108px)}
  #facility-panel{margin:0 10px 16px}
  .facility-summary{padding:14px 16px}
  .facility-scroll{padding:16px}
  .facility-nav{padding-inline:8px}.facility-nav button{font-size:.8125rem;min-height:46px;padding-block:12px}
  #facility-panel .employee-list,#facility-panel .asset-list,#facility-upgrades{grid-template-columns:1fr}
  #facility-panel .upgrade{grid-template-columns:88px minmax(0,1fr)}
  #facility-panel .paycheck-value strong{font-size:1.25rem}
  #facility-panel .facility-payroll .button{font-size:.8125rem;padding:9px 10px;gap:6px}
  .nearby-work{max-width:calc(100% - var(--rail-space) - 20px)}
  .nearby-work strong{font-size:.8125rem}.nearby-work small{font-size:.75rem}
}

/* Black metal inventory: surface finish supports the models, never the text. */
body,.topbar,#game-shell,.loader,.fatal-error{background-color:var(--bg)}
#business-bar,#facility-panel,.job-detail,#business-intro,.modal-content{background-color:var(--panel);background-image:var(--surface-sheen)}
.employee-row,.asset-row,.upgrade,.service-card{background-image:var(--surface-sheen);box-shadow:inset 0 1px #ffffff05}
.facility-summary,.market-header,.dialog-navigation{background-color:var(--panel-deep);background-image:var(--surface-sheen)}
.detail-art,.upgrade-art,.service-portrait,.portrait-frame,.asset-thumbnail{background-color:var(--menu-stage);background-image:var(--stage-fill)}
#game-dialog::backdrop{background:#000b}
:root{scrollbar-color:#555 #101010}
::selection{background:#b6fa43;color:#080808}
input{caret-color:var(--green)}
.facility-dismiss{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-deep);color:var(--muted);z-index:2}
.facility-dismiss:hover{color:var(--ink);background:var(--card-hover)}
.facility-dismiss svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.job-meta{padding-right:36px;min-height:28px;align-items:center}
.job-detail[hidden]{display:none!important}
.selected-notices{font:500 .75rem/1.6 var(--body);color:var(--muted);margin:0 0 12px}
.roster-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;height:auto;min-height:108px;align-items:center;background:var(--panel)}
.roster-card[aria-pressed=true]{background:var(--card-bg)}
.roster-text{min-width:0;gap:5px}
.facility-tags{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.facility-tags[hidden]{display:none}
.facility-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:4px;font:650 10px/1.2 var(--body);letter-spacing:0;white-space:nowrap}
.facility-tag[data-tone=paycheck]{color:#c8f68f;background:#263119}
.facility-tag[data-tone=care]{color:#ffd38b;background:#392b17}
.facility-tag[data-tone=critical]{color:#ffaaa0;background:#411e1a}
body[data-mode=city] .city-status{bottom:138px}
body[data-mode=city] .job-detail{bottom:165px}
body[data-mode=city] .nearby-work{bottom:165px}

/* Product rows keep identity, complete model, condition and price in one scan. */
.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.market-card{display:flex;flex-direction:column;min-width:0;background:var(--card-bg);background-image:var(--surface-sheen);border:1px solid var(--line);border-radius:12px}
.market-card:focus-within,.market-card:hover{border-color:#666}
.market-card-heading{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted);font:500 .6875rem/1.4 var(--body)}
.market-card-heading .item-stock{position:static;background:transparent;color:var(--item-accent);font:700 .75rem/1.4 var(--body);padding:0;letter-spacing:.035em}
.market-product{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(0,1.2fr);align-items:center;flex:1;min-width:0}
.market-art{height:170px;width:100%;min-width:0;padding:18px 8px;border:0;border-radius:0;background:var(--menu-stage);background-image:var(--stage-fill);align-self:stretch;display:grid;place-items:center}
.market-art:hover{background-color:#111}
.market-art img,.market-art .employee-avatar{width:100%;height:100%;max-height:134px;min-height:0;object-fit:contain;object-position:center;transform:none;filter:drop-shadow(0 8px 8px #0008);border:0;border-radius:0;background:transparent}
.market-art:hover img{transform:none}
.market-card-body{padding:14px;min-width:0}
.market-card h3{font:600 1rem/1.4 var(--menu-title);color:var(--ink);letter-spacing:-.025em;margin:0 0 4px;min-height:0;overflow-wrap:anywhere}
.market-employer{margin:0 0 14px;font:.75rem/1.5 var(--body);color:var(--muted)}
.market-condition{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;border:0;font:.6875rem/1.4 var(--body)}
.market-condition dt{color:var(--muted)}
.market-condition dd{margin:3px 0 0;color:var(--ink);font:650 .875rem/1.3 var(--body);font-variant-numeric:tabular-nums}
.market-condition dd[data-condition=used]{color:#ffd38b}.market-condition dd[data-condition=critical]{color:#ffaaa0}
.market-price{gap:3px}.market-price strong{font:600 1.25rem/1.3 var(--menu-title);letter-spacing:-.025em;color:var(--ink)}
.market-price small,.market-price>span{font:.6875rem/1.5 var(--body);color:var(--muted)}
.market-card-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:11px 14px;border-top:1px solid var(--line)}
.market-card-bottom>span{font:.6875rem/1.5 var(--body);color:var(--text-quiet)}
.market-card-bottom .small-button{flex-shrink:0;width:auto;min-height:38px;font-size:.75rem;padding:8px 10px}
.market-card .demo-sale-control{margin:0;padding:10px 14px}
.market-discovery{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;padding:0 28px 18px;flex-shrink:0}
.market-discovery label{display:flex;flex-direction:column;gap:6px;min-width:0;font:500 .75rem/1.4 var(--body);color:var(--muted)}
.market-discovery input,.market-discovery select{min-width:0;width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--panel-deep);color:var(--ink);font:.8125rem var(--body)}
.market-discovery input::placeholder{color:var(--text-quiet);opacity:1}
.market-tabs button{font-size:.8125rem}.market-toolbar{gap:12px;padding-block:12px}
.market-filter select{max-width:185px}
.art-unavailable{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:100%;padding:12px;text-align:center;color:var(--muted);font:.75rem/1.5 var(--body)}
.art-unavailable strong{color:var(--ink);font-weight:600}.art-unavailable small{font-size:.6875rem}
.detail-art img{padding:18px}
@media(max-width:1250px){.roster-photo{display:none}.roster-text{grid-column:1/-1}.roster-text strong{font-size:.8125rem}.roster-card{min-height:112px}.facility-tags{gap:3px}.facility-tag{font-size:10px}}
@media(max-width:700px){
  .market-grid{grid-template-columns:1fr}
  .market-header{padding:18px 58px 16px 18px}.market-header h2{font-size:1.35rem}
  .market-toolbar{flex-wrap:wrap;padding:10px 18px;gap:10px}.market-tabs{max-width:none;flex-basis:100%}
  .market-filter{width:100%;justify-content:space-between}.market-filter>span{display:block}
  .market-discovery{padding:0 18px 14px;grid-template-columns:minmax(0,1fr) 125px;gap:10px}
  .market-discovery label{font-size:.6875rem}.market-discovery input,.market-discovery select{font-size:.75rem;padding:10px}
  .market-list{padding:2px 14px 18px 18px}.market-product{grid-template-columns:minmax(100px,.85fr) minmax(0,1.4fr)}
  .market-card h3{font-size:.9375rem;min-height:0}.market-art{height:160px;padding:16px 8px}.market-art img{max-height:128px}
  .market-condition{display:grid;grid-template-columns:1fr 1fr}.market-card-bottom{flex-direction:row}
  .market-card-bottom .small-button{width:auto}.market-price strong{font-size:1.1875rem}
}
@media(max-width:650px){
  .roster-card{flex-basis:142px;min-height:112px;padding:10px}.roster-text em{display:block!important}
  body[data-mode=city] .city-status{bottom:144px}body[data-mode=city] .job-detail{bottom:164px;padding:12px}
  body[data-mode=city] .nearby-work{bottom:293px}
  .job-detail h2{padding-right:32px}.job-meta{padding-right:35px}.facility-dismiss{width:32px;height:32px;top:9px;right:9px}
  .selected-notices{font-size:.6875rem;line-height:1.4;margin:0 0 10px}
}
@media(max-height:620px){
  .market-header{padding-block:12px}.market-header p{display:none}.market-discovery{padding-bottom:10px}
  .market-footer{padding-block:8px}.market-toolbar{padding-block:6px}.aftermarket-modal{height:calc(100dvh - 20px)}
}

/* Facility aisles: natural-height rows, small complete models, stable named actions. */
.market-facilities{display:block;overflow-x:hidden}
.market-facility{display:block;margin:0 0 24px;min-width:0;height:auto}
.market-facility:last-child{margin-bottom:0}
.market-facility-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;padding:8px 0;border-bottom:1px solid var(--line)}
.market-facility-heading h3{margin:0;font:600 1rem/1.4 var(--menu-title);letter-spacing:-.02em}
.market-facility-heading h3 span{color:var(--item-accent);margin-right:8px}
.market-facility-heading>span{font:.75rem/1.5 var(--body);color:var(--muted);white-space:nowrap}
.market-facility-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-items:start;gap:12px;min-width:0}
.market-compact-item{display:block;height:auto;min-height:190px;max-height:none;overflow:visible;padding:12px;border-radius:10px}
.market-item-heading{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:10px;min-height:76px}
.market-compact-item .market-art{display:grid;width:68px;height:76px;min-height:76px;max-height:none;padding:5px;border:1px solid var(--line);border-radius:8px;align-self:center}
.market-compact-item .market-art img{width:100%;height:100%;min-height:0;max-height:64px;object-fit:contain;transform:none}
.market-compact-item .art-unavailable{font-size:.75rem;line-height:1.2;padding:2px;overflow-wrap:anywhere}
.market-compact-item .art-unavailable strong{display:none}
.market-item-name{min-width:0}
.market-item-name>span,.market-item-name>small{display:block;font:.75rem/1.4 var(--body);color:var(--muted)}
.market-compact-item h3{margin:4px 0;font:600 .875rem/1.45 var(--menu-title);letter-spacing:-.015em;overflow-wrap:normal;word-break:normal}
.market-item-stats{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin:12px 0;padding-top:10px;border-top:1px solid var(--line);font:.75rem/1.5 var(--body);color:var(--muted)}
.market-item-stats b{color:var(--ink);font-weight:650;margin-left:4px;font-variant-numeric:tabular-nums}
.market-item-checkout{display:flex;align-items:center;justify-content:space-between;gap:8px}
.market-compact-item .market-price strong{font:600 1.125rem/1.4 var(--menu-title)}
.market-compact-item .market-price small,.market-compact-item .market-price>span{font-size:.75rem}
.market-compact-item .small-button{min-height:40px;padding:8px 10px;font-size:.8125rem}
.market-compact-item .demo-sale-control{margin:12px 0 0;padding:8px;flex-wrap:wrap}
#facility-panel .employee-row{display:block;cursor:default}
#facility-panel .employee-row:hover{background-color:var(--card-bg);border-color:var(--line)}
#facility-panel .employee-profile{display:grid;grid-template-columns:64px minmax(0,1fr) 14px;align-items:center;gap:12px;width:100%;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;border-radius:6px}
#facility-panel .employee-profile:hover .employee-summary strong{color:var(--green)}
#facility-panel .employee-profile .row-arrow{display:block;color:var(--muted)}
#facility-panel .employee-row .employee-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;padding-top:10px}
.employee-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.employee-quick-actions .small-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:48px;padding:7px 8px;font:650 .875rem/1.35 var(--body)}
.employee-quick-actions small{font:400 .75rem/1.4 var(--body);color:var(--muted)}
.employee-quick-actions button:not(:disabled):hover{border-color:var(--green);background:var(--card-hover)}
.employee-care-note{display:block;margin-top:8px;font:.75rem/1.5 var(--body);color:var(--muted)}
.shop-back{display:block;margin:0 0 14px;padding:8px 0;min-height:40px;font:600 .8125rem/1.5 var(--body);color:var(--muted)}
.shop-back:hover{color:var(--ink)}
@media(max-width:950px){.market-facility-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.market-facility-items{grid-template-columns:1fr}.market-compact-item{min-height:0}.market-facility-heading h3{font-size:.9375rem}.market-facility{margin-bottom:20px}.market-compact-item .market-art{width:68px;height:76px}}

/* Facility progression and the dedicated STOCKCITY shop, September 10. */
:root{--z-world:1;--z-hud:20;--z-dropdown:30;--z-toast:90;--power-track:#30362a;--build-duration:2.6s}
.stock-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;background:var(--menu-stage);border:1px solid var(--line);border-radius:10px;padding:9px}
.stock-logo img{width:100%;height:100%;object-fit:contain;display:block}
.stock-logo-tesla{background:#c32630;border-color:#d94048}
.stock-logo-amazon{background:#fff;border-color:#fff}
.stock-logo-nvidia{padding:6px;background:#12190b}
.portfolio-table th[scope=row]{display:flex;align-items:center;gap:12px;min-width:190px}
.portfolio-identity{display:flex;flex-direction:column;gap:5px}
.building-hover{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:var(--z-hud);pointer-events:none;padding:10px 15px;border:1px solid var(--hover-color,var(--green));border-radius:8px;background:#0b0d0cf5;box-shadow:0 0 24px color-mix(in srgb,var(--hover-color) 18%,transparent);color:var(--ink);font:600 .875rem var(--body);white-space:nowrap}
#facility-panel .facility-summary{padding:14px 18px 12px}
#facility-panel .facility-wallet{padding-bottom:10px}
#facility-panel .facility-payroll{padding-top:11px;padding-bottom:12px}
#facility-panel .paycheck-value strong{font-size:1.5rem}
.facility-shop-launch{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid #637441;border-radius:10px;background:linear-gradient(120deg,#243216,#15200f);color:var(--ink);cursor:pointer;transition:background .16s,border-color .16s}
.facility-shop-launch:hover{background:#2e401d;border-color:var(--green)}
.facility-shop-launch>svg{width:22px;height:22px;color:var(--green);stroke:currentColor;fill:none}
.facility-shop-launch>svg:last-child{margin-left:auto;width:18px}
.facility-shop-launch span{font:650 .9375rem/1.3 var(--body)}
.facility-shop-launch small{display:block;color:#c2ceb5;font:400 .75rem/1.4 var(--body);margin-top:3px}
.facility-nav button{font-size:.8125rem;padding-inline:6px;min-height:46px}
.facility-level{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.level-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:43px;height:49px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:8px;font:600 .6875rem/1.2 var(--body)}
.level-badge b{font:650 1.4rem/1.25 var(--menu-title)}
.facility-level>div{flex:1;min-width:0}.facility-level strong{font:600 .875rem/1.4 var(--body)}
.facility-level>.text-button{font-size:.75rem;flex:none}.level-steps{display:flex;gap:4px;margin-top:7px;max-width:116px}.level-steps i{height:4px;flex:1;background:var(--line);border-radius:3px}.level-steps i.complete{background:var(--accent)}
.mining-power{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:18px;background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 75%),var(--panel-deep);border:1px solid var(--line);border-radius:12px}
.mining-power>div{display:flex;flex-direction:column;gap:6px}.mining-power>div>span{color:var(--muted);font:500 .875rem var(--body)}
#facility-power{font:600 2.6rem/1.05 var(--menu-title);letter-spacing:-.06em;color:var(--ink);font-variant-numeric:tabular-nums}
#facility-rate{width:100%;font-size:.8125rem;color:var(--muted);margin:10px 0 0}
.power-state{font:.75rem var(--body);color:var(--ops-amber);padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.power-state[data-active=true]{color:var(--green)}
#facility-panel .facility-counts{padding:17px 0;margin:0;border-bottom:1px solid var(--line)}
#facility-panel .facility-counts span{font-size:.75rem}.facility-production{margin-top:18px}
.power-capacity{display:grid;grid-template-columns:95px 1fr 34px;align-items:center;gap:10px;margin:12px 0;font-size:.8125rem}
.power-capacity>span{color:var(--muted)}.power-capacity>div{height:6px;border-radius:5px;background:var(--line);overflow:hidden}.power-capacity i{display:block;height:100%;background:#869279;border-radius:5px;transition:width .3s}.power-capacity i.limiting{background:var(--accent)}.power-capacity b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
#facility-bottleneck{font-size:.8125rem;line-height:1.55;margin-top:16px;padding:11px 12px;border:1px solid #665536;background:#282317;border-radius:8px;color:#f1d298}
#facility-boost{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin:11px 0 18px}
.facility-vital-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 0;gap:10px}
.facility-vital-summary>div{display:flex;flex-direction:column;gap:4px}.facility-vital-summary span{font-size:.75rem;color:var(--muted)}.facility-vital-summary strong{font:600 1rem var(--menu-title)}.vital-low{color:var(--ops-danger)}
#facility-panel details.management-card{padding:16px 0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.management-card summary{cursor:pointer;font:600 .875rem var(--body);min-height:30px}.management-card p{font-size:.8125rem;line-height:1.6}
#game-dialog[data-view=facility-shop]{width:min(1160px,calc(100vw - 48px));max-width:none;padding:0;border-radius:18px;background:var(--panel);overflow:hidden;border:1px solid #41483a;max-height:calc(100dvh - 48px)}
#game-dialog[data-view=facility-shop] #dialog-content{overflow:hidden}
.facility-shop{display:flex;flex-direction:column;height:min(830px,calc(100dvh - 50px));background:var(--panel);color:var(--ink);--accent:var(--green);font-family:var(--body)}
.shop-heading{position:relative;display:flex;align-items:center;gap:20px;padding:23px 76px 20px 26px;flex:none;background:var(--surface-sheen);border-bottom:1px solid var(--line)}
.shop-brand{display:flex;align-items:center;gap:14px}.shop-brand .stock-logo{width:54px;height:54px}
.shop-brand p{font-size:.8125rem;line-height:1.4;margin:0 0 4px;color:var(--shop-accent)}.shop-brand h2{font:600 1.65rem/1.2 var(--menu-title);letter-spacing:-.03em;margin:0}
.shop-balance{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:5px}.shop-balance>span{font-size:.75rem;color:var(--muted)}.shop-balance strong{font:600 1.3rem var(--menu-title)}.shop-balance small{font:500 .75rem var(--body);color:var(--muted)}
.shop-heading .modal-close{right:23px;top:27px}
.shop-intro{padding:12px 26px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.shop-power{display:inline-flex;align-items:center;gap:7px;color:var(--ink);white-space:nowrap}.shop-power i{width:6px;height:6px;background:var(--shop-accent);border-radius:50%;box-shadow:0 0 10px var(--shop-accent)}
.shop-toolbar{display:flex;align-items:center;gap:16px;padding:18px 26px;flex:none}
.shop-categories{display:flex;gap:5px;flex:1}.shop-categories button{font:600 .8125rem/1.4 var(--body);min-height:40px;padding:9px 13px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;white-space:nowrap}
.shop-categories button:hover{color:var(--ink);background:var(--card-bg)}.shop-categories button[aria-pressed=true]{background:#253218;color:var(--green);border-color:#4f6137}
.shop-search{position:relative;width:225px;flex:none}.shop-search input{width:100%;height:40px;background:var(--panel-deep);border:1px solid var(--line);border-radius:8px;padding:9px 34px 9px 12px;color:var(--ink);font:.8125rem var(--body)}
.shop-search button{position:absolute;right:5px;top:3px;min-width:32px;min-height:34px;color:var(--muted);background:none;border:0;cursor:pointer;font-size:22px}
.shop-catalog{padding:0 26px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:15px;overflow-y:auto;min-height:0;align-content:start;scrollbar-gutter:stable;overscroll-behavior:contain}
.shop-item{border:1px solid var(--card-line);background:var(--card-bg);border-radius:12px;overflow:hidden;transition:border-color .18s,background .18s;min-width:0}.shop-item:hover{border-color:color-mix(in srgb,var(--shop-accent) 65%,var(--line));background:#1c2118}
.shop-item-stage{height:170px;position:relative;background:var(--stage-fill),var(--menu-stage);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);padding:10px 24px 18px;overflow:hidden}
.shop-item-stage img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.shop-item:hover .shop-item-stage img{transform:translateY(-3px) scale(1.04)}
.shop-item-stage .facility-license-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shop-item-count{position:absolute;bottom:9px;left:12px;color:var(--muted);font:.6875rem var(--body);background:#0b0b0bcc;padding:4px 6px;border-radius:4px}
.shop-item-copy{padding:16px;display:flex;flex-direction:column}.shop-item h3{font:600 .9375rem/1.4 var(--menu-title);margin:0 0 8px;letter-spacing:-.02em}
.shop-item-copy>p:not(.shop-gain):not(.shop-item-help){font:.8125rem/1.55 var(--body);color:var(--muted);margin:0 0 12px;min-height:40px}
.shop-item-effect{font:600 .75rem/1.5 var(--body);color:var(--ink);min-height:36px}
.shop-gain{font:.75rem/1.5 var(--body);color:var(--muted);margin:10px 0 12px;min-height:36px}.shop-gain[data-positive=true]{color:var(--green)}
.shop-item .button{width:100%;justify-content:space-between;gap:8px;min-height:43px;padding:10px 12px;font-size:.8125rem}.shop-item .button strong{font-size:.875rem}.shop-item .button small{font-size:.6875rem;font-weight:500}
.shop-item-help{font:.6875rem/1.5 var(--body);color:var(--muted);margin:8px 0 0;min-height:32px}.shop-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 26px;border-top:1px solid var(--line);background:var(--panel-deep);font:.75rem/1.5 var(--body);color:var(--muted);flex:none}.shop-footer button{color:var(--ink);font-size:.8125rem;min-height:34px}.shop-empty{grid-column:1/-1;text-align:center;padding:70px 20px;min-height:300px}.shop-empty h3{font:600 1.2rem var(--menu-title)}.shop-empty p{color:var(--muted);font-size:.875rem}
#construction-notice{position:absolute;left:calc((100% - var(--facility-panel-width) - 52px)/2);bottom:30px;transform:translateX(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:14px;background:#0c100af5;border:1px solid #667b45;padding:17px 23px 20px;border-radius:12px;box-shadow:0 12px 35px #0008;min-width:320px;max-width:calc(100% - 36px);overflow:hidden;pointer-events:none}
.construction-emblem{font-size:27px;color:var(--green)}#construction-notice strong{display:block;font:600 .9375rem/1.4 var(--body)}#construction-notice span:not(.construction-emblem){display:block;font:.75rem/1.5 var(--body);color:var(--muted);margin-top:3px}
.construction-track{position:absolute;left:0;right:0;bottom:0;height:3px;background:#202b18}.construction-track i{height:100%;width:100%;display:block;background:var(--green);transform-origin:left;animation:construction-progress var(--build-duration) linear both}
@keyframes construction-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.city-services-launch{display:none}body[data-mode=facility] .city-services-launch{display:inline-flex}
@media(max-width:1100px){.shop-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-toolbar{align-items:stretch;flex-wrap:wrap}.shop-search{width:100%}.shop-categories{justify-content:space-between}.shop-item-stage{height:150px}}
@media(max-width:1000px){#construction-notice{position:fixed;left:50%;bottom:20px}.facility-shop-launch{max-width:none}.facility-summary{width:auto}}
@media(max-width:650px){#game-dialog[data-view=facility-shop]{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.facility-shop{height:calc(100dvh - 18px)}.shop-heading{padding:16px 46px 15px 15px;gap:10px}.shop-heading .modal-close{right:8px;top:17px}.shop-brand{gap:8px}.shop-brand h2{font-size:1.15rem}.shop-brand .stock-logo{width:36px;height:36px;padding:6px}.shop-brand p{font-size:.6875rem}.shop-balance strong{font-size:1rem}.shop-balance>span{font-size:.625rem}.shop-intro{padding:10px 15px}.shop-intro>span:last-child{display:none}.shop-toolbar{padding:12px 12px;gap:10px}.shop-categories{gap:2px}.shop-categories button{padding:8px;font-size:.75rem;white-space:normal}.shop-catalog{padding:0 12px 16px;gap:10px}.shop-item-stage{height:124px;padding:6px 10px 23px}.shop-item-copy{padding:11px}.shop-item h3{font-size:.875rem}.shop-item-copy>p:not(.shop-gain):not(.shop-item-help){font-size:.75rem;min-height:58px}.shop-item .button{flex-wrap:wrap;padding:8px;gap:5px}.shop-item-effect,.shop-gain{font-size:.6875rem}.shop-footer{padding:9px 14px;gap:8px;flex-wrap:wrap}.shop-footer>span:nth-child(2){display:none}.building-hover{top:108px;max-width:calc(100% - 20px);font-size:.75rem;white-space:normal}.facility-level strong{font-size:.9375rem}}
@media(max-width:370px){.shop-catalog{grid-template-columns:1fr}.shop-item-stage{height:160px}}
@media(prefers-reduced-motion:reduce){.shop-item-stage img,.power-capacity i{transition:none}.shop-item:hover .shop-item-stage img{transform:none}.construction-track i{animation:none}}
body.reduce-motion .shop-item-stage img,body.reduce-motion .power-capacity i{transition:none}body.reduce-motion .construction-track i{animation:none}
/* Authored select: the maintained component owns keyboard and popup behavior. */
wa-select.brand-select{display:block;min-width:0;width:100%;font:500 .875rem var(--body);--wa-form-control-height:42px;--wa-form-control-border-radius:8px;--wa-form-control-border-width:1px;--wa-form-control-background-color:var(--panel-deep);--wa-form-control-border-color:var(--line);--wa-form-control-border-color-hover:#718061;--wa-form-control-border-color-focus:var(--green);--wa-form-control-value-color:var(--ink);--wa-form-control-label-color:var(--muted);--wa-color-surface-raised:var(--panel);--wa-color-surface-default:var(--panel-deep);--wa-color-text-normal:var(--ink);--wa-color-text-quiet:var(--muted);--wa-color-neutral-border-normal:var(--line);--wa-color-neutral-fill-normal:var(--card-bg);--wa-color-brand-fill-loud:#b6fa43;--wa-color-brand-on-loud:#152011;--wa-border-radius-m:8px;--wa-font-family-body:var(--body);--wa-font-size-m:.875rem;--wa-form-control-padding-inline:12px;--wa-space-s:8px;--wa-space-m:12px;--wa-focus-ring-color:var(--green);--wa-focus-ring-width:2px;--wa-focus-ring-offset:2px}
wa-select.brand-select::part(form-control-label){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
wa-select.brand-select::part(combobox){height:42px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel-deep);color:var(--ink);padding:0 12px}
wa-select.brand-select::part(display-input){font:500 .875rem var(--body);color:var(--ink)}
wa-select.brand-select::part(listbox){background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px;box-shadow:0 12px 30px #0009;max-height:280px;font:500 .875rem var(--body)}
wa-select.brand-select svg{height:16px;width:16px;fill:none;stroke:currentColor;stroke-width:1.5}
wa-option{padding:11px 12px;border-radius:5px;min-height:42px;color:var(--ink);font:500 .875rem/1.4 var(--body);cursor:pointer}
wa-option:hover{background:#28351c;color:var(--ink)}
wa-option:state(selected),wa-option[selected]{color:var(--green);background:#1c2713}
wa-option:state(current){outline:1px solid var(--green);outline-offset:-1px;background:#28351c}
.market-filter wa-select{min-width:205px}.market-facility-heading h3{display:flex;align-items:center;gap:10px}.market-facility-heading .stock-logo{width:30px;height:30px;border-radius:7px;padding:5px}
.market-search-label{position:relative}.market-search-label input{padding-right:38px}.market-clear-search{position:absolute;right:5px;bottom:5px;background:transparent;border:0;font-size:22px;color:var(--muted);min-width:34px;min-height:34px;cursor:pointer}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 5px}.service-shortcut{display:flex;align-items:center;gap:13px;min-height:95px;padding:18px;text-align:left;color:var(--ink);background:var(--card-bg);border:1px solid var(--line);border-radius:12px;cursor:pointer}.service-shortcut:hover{border-color:var(--green);background:#20291a}.service-shortcut>svg{width:24px;height:24px;stroke:var(--green);fill:none;stroke-width:1.5}.service-shortcut>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:6px}.service-shortcut strong{font:600 .9375rem var(--menu-title)}.service-shortcut small{font:.8125rem/1.5 var(--body);color:var(--muted)}
@media(max-width:600px){.services-grid{grid-template-columns:1fr}.service-shortcut{min-height:80px}.city-services-launch{font-size:.75rem}}

wa-select.brand-select{--wa-form-control-activated-color:#28351c;--wa-color-neutral-on-normal:var(--ink);--wa-border-radius-s:5px;--wa-line-height-condensed:1.4}
wa-option{--current-text-color:var(--ink)}
.listing-error{color:#ffaaa0;font-size:.8125rem;margin-top:8px}

/* Keep primary game navigation visible without widening a phone viewport. */
.nav-buy-short,.nav-telegram-short{display:none}
@media(max-width:650px){.game-links{min-width:0}.game-links .nav-link,.game-links .nav-buy{padding-inline:8px;flex-shrink:0}.nav-buy-full,.nav-telegram-full{display:none}.nav-buy-short,.nav-telegram-short{display:inline}.shop-item-count,.shop-item-help,.shop-item .button small,.shop-brand p,.shop-item-effect,.shop-gain{font-size:.75rem}.shop-balance>span{font-size:.6875rem}}
@media(min-width:651px) and (max-height:800px){
 .shop-heading{padding-block:15px}.shop-brand .stock-logo{width:44px;height:44px}.shop-heading .modal-close{top:18px}
 .shop-toolbar{padding-block:10px}.shop-intro{padding-block:8px}.shop-footer{padding-block:9px}
 .shop-item-stage{height:110px}.shop-item-copy{padding:12px}.shop-item h3{margin-bottom:5px}
 .shop-item-copy>p:not(.shop-gain):not(.shop-item-help){font-size:.75rem;line-height:1.45;min-height:0;margin-bottom:7px}
 .shop-item-effect,.shop-gain,.shop-item-help{min-height:0}.shop-gain{margin:7px 0}.shop-item-help{font-size:.75rem;margin-top:6px}
}
@media(max-width:600px){
 .portfolio-table-wrap{overflow:visible}.portfolio-table,.portfolio-table tbody{display:block;width:100%;min-width:0}
 .portfolio-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .portfolio-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
 .portfolio-table th[scope=row]{grid-column:1/-1;min-width:0;padding:0;border:0}
 .portfolio-table td{padding:0;border:0;font-size:.875rem;text-align:left;white-space:normal}
 .portfolio-table td[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;color:var(--muted);margin-bottom:5px}
 .portfolio-table td:last-child{grid-column:1/-1}.portfolio-table td:last-child button{width:100%;min-height:42px}
}

/* Live referrals: the same lime action and native dialog as the facility shop. */
#business-bar .invite-launch,#facility-panel .invite-launch{min-height:54px;justify-content:center;text-align:center;font-weight:800;--accent:var(--green);border:1px solid var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}
#business-bar .invite-launch{order:-1;margin:4px 0 10px}
.invite-modal{max-width:760px}.invite-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0;border-block:1px solid var(--line);color:var(--ink)}
.invite-summary strong{color:var(--green)}.invite-codes{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin:16px 0 26px}
.invite-ticket{display:flex;align-items:center;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius);background:var(--card-bg)}
.invite-ticket[data-used=true]{border-left-color:var(--muted)}.invite-ticket>div{min-width:0;flex:1}.invite-ticket label{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;margin-bottom:8px}.invite-ticket label span{color:var(--muted)}
.invite-ticket input{display:block;min-width:0;width:100%;background:var(--panel-deep);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 8px;font:500 .7rem/1.4 monospace}.invite-ticket button{flex-shrink:0;min-width:54px;padding:10px}
.invite-input-row{display:flex;gap:8px;margin:10px 0}.invite-input-row input{min-width:0;flex:1;background:var(--panel-deep);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:14px;font:500 .9rem var(--body)}
#invite-entry-error,#invite-copy-status{min-height:1.5em;color:var(--ink)}#invite-entry-help{font-size:.85rem;line-height:1.6;color:var(--muted)}
.referral-reward{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:16px 0;border-bottom:1px solid var(--line)}.referral-reward img{width:32px;grid-row:1/4}.referral-reward small{color:var(--muted)}
@media(max-width:640px){.invite-codes{grid-template-columns:1fr}.invite-modal .modal-actions{flex-wrap:wrap}.invite-ticket input{font-size:.72rem}.invite-ticket{padding:12px}.invite-input-row{flex-wrap:wrap}.invite-input-row input{width:100%}}
@media(forced-colors:active){.invite-ticket,.invite-launch{border-color:ButtonText!important;box-shadow:none!important}}

/* Launch identity, wallet account and unavailable city services. */
.nav-icon-link{min-width:48px}.nav-icon-link .x-brand-icon{width:17px;height:17px;fill:currentColor;stroke:none}
.copy-ca-button{gap:8px!important;padding:7px 10px!important;border-color:#536342!important;background:linear-gradient(145deg,#171c14,#10130e)!important;box-shadow:inset 0 0 0 1px #b6fa4310}
.copy-ca-button>svg{width:17px;height:17px;stroke:var(--green)}.ca-copy-label{display:grid;text-align:left;line-height:1.05}.ca-copy-label b{font:700 .7rem var(--body);color:var(--ink)}.ca-copy-label small{margin-top:4px;color:var(--green);font:600 .55rem var(--mono);letter-spacing:.04em}
.copy-ca-button:hover,.copy-ca-button:focus-visible{border-color:var(--green)!important;background:#1d2718!important}.copy-ca-button[aria-disabled=true]{border-color:var(--line)!important;box-shadow:none;opacity:.78}.copy-ca-button[aria-disabled=true]>svg,.copy-ca-button[aria-disabled=true] .ca-copy-label small{color:var(--muted);stroke:var(--muted)}
.wallet-session{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;padding:10px;border:1px solid #536342;border-radius:10px;background:linear-gradient(145deg,#182015,#10130e);color:var(--ink);text-align:left;cursor:pointer;order:0}.wallet-session:hover{border-color:var(--green);background:#1d2718}.wallet-session>span:nth-child(2){display:grid;min-width:0;flex:1}.wallet-session small{color:var(--muted);font:500 .65rem/1.3 var(--body)}.wallet-session strong{overflow:hidden;text-overflow:ellipsis;color:var(--green);font:700 .78rem/1.5 var(--mono)}.wallet-session-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #b6fa4318,0 0 14px #b6fa4355;flex:none}.wallet-session-caret{color:var(--muted);font-size:1rem}
.wallet-session[hidden]{display:none!important}
.wallet-account{max-width:620px}.wallet-address-card{display:flex;align-items:center;gap:12px;margin:22px 0;padding:15px;border:1px solid #536342;border-radius:10px;background:#0b0e09}.wallet-address-card code{min-width:0;flex:1;overflow-wrap:anywhere;color:var(--green);font:600 .82rem/1.6 var(--mono)}.wallet-address-card .small-button{flex:none}.wallet-account .modal-actions{display:grid;grid-template-columns:1fr 1fr}
.coming-soon-control{justify-content:space-between!important;border-style:dashed!important}.coming-soon-control span{margin-left:auto;padding:4px 7px;border-radius:999px;background:#343a30;color:#c9d3c2;font:700 .58rem var(--body);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:900px){.copy-ca-button{padding-inline:8px!important}.ca-copy-label small{display:none}}
@media(max-width:650px){.nav-icon-link{min-width:38px}.nav-icon-link>span[aria-hidden]{display:none}.copy-ca-button>svg{width:16px!important;height:16px!important}.ca-copy-label b{font-size:.62rem}.wallet-account .modal-actions{grid-template-columns:1fr}.wallet-address-card{align-items:flex-start;flex-wrap:wrap}.wallet-address-card code{flex-basis:calc(100% - 28px)}}

/* An unavailable facility stays focusable so players can read Coming soon. */
.roster-card[data-coming-soon="true"] { --job-color: var(--muted, #b3b3b3); }
.roster-card[data-coming-soon="true"] .roster-photo { filter: grayscale(1); opacity: .55; }
.roster-card[data-coming-soon="true"] .roster-text em { color: var(--muted, #b3b3b3); }

.roster-card[data-coming-soon="true"] { filter: grayscale(1); }
#job-detail[data-coming-soon="true"] { --accent: #b3b3b3; }

/* Live access and rules use clear game cards instead of dense copy. */
#game-dialog[data-view=access-gate]{--accent:var(--green);width:min(860px,calc(100vw - 32px));background:linear-gradient(145deg,#171b14,#0d100c);border:1px solid #45513a;overflow:hidden}
.access-gate{padding:clamp(28px,5vw,56px);text-align:center;background:radial-gradient(circle at 50% -20%,#b8ff5c1e,transparent 48%)}.access-mark{width:190px;height:72px;margin:0 auto 24px;overflow:hidden;filter:drop-shadow(0 8px 18px #0009)}.access-mark img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.access-gate h2{max-width:620px;margin:0 auto 14px!important;font-size:clamp(2rem,5vw,3.4rem)!important;line-height:1.02!important}.access-lead{max-width:640px;margin:0 auto 30px!important;color:var(--muted);line-height:1.7}.access-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 auto 26px;text-align:left}.access-paths>div{padding:18px;border:1px solid var(--line);border-radius:10px;background:#10130e}.access-paths span{display:block;color:var(--green);font:.7rem var(--mono);letter-spacing:.12em}.access-paths strong,.access-paths small{display:block}.access-paths strong{margin:8px 0 5px}.access-paths small{color:var(--muted);line-height:1.45}.access-connect{width:100%;justify-content:center;min-height:54px}.access-referral{max-width:620px;margin:24px auto 0;font-size:.8125rem;color:var(--muted)}.access-referral strong{color:var(--ink)}
#game-dialog[data-view=how-live]{width:min(940px,calc(100vw - 32px))}.how-live{padding:clamp(26px,4vw,46px)}.how-live>h2{max-width:720px;font-size:clamp(2rem,4.8vw,3.5rem)!important;line-height:1.04!important}.how-lead{max-width:700px;font-size:1.05rem!important}.how-live-flow{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;padding:0}.how-live-flow li{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel-deep)}.how-live-flow li>span{color:var(--green);font:.72rem var(--mono);letter-spacing:.12em;padding-top:3px}.how-live-flow strong{font:600 1rem var(--menu-title)}.how-live-flow p{margin:7px 0 0;color:var(--muted);font-size:.84rem;line-height:1.6}.how-economy{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 18px}.how-economy>div{padding:16px 18px;border-right:1px solid var(--line)}.how-economy>div:last-child{border:0}.how-economy strong,.how-economy span{display:block}.how-economy strong{color:var(--green);font:600 1.25rem var(--menu-title)}.how-economy span{color:var(--muted);font-size:.75rem;margin-top:4px}.how-live .how-controls{margin:0}.how-live .modal-actions{margin-bottom:0}
@media(max-width:650px){.access-paths,.how-live-flow{grid-template-columns:1fr}.access-gate{padding:26px 18px}.access-gate h2{font-size:2rem!important}.how-live{padding:28px 18px}.how-economy{grid-template-columns:1fr}.how-economy>div{border-right:0;border-bottom:1px solid var(--line)}.how-economy>div:last-child{border-bottom:0}.how-live .modal-actions{display:grid}.how-live .modal-actions .button{width:100%}}
