/* The night-shift lobby: large character silhouettes, quiet chrome, readable type. */
:root{--menu-ink:#eceddc;--menu-sub:#b9c8bf;--menu-accent:#efc17b}
body{font-size:17px;color:var(--menu-ink)}
.viewport-grain{opacity:.045}
button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bce5b2;outline-offset:4px}
.hub-screen{position:relative;min-height:100dvh;overflow:hidden;background:#0b1721;padding:104px clamp(22px,4vw,70px) 28px}
.hub-background{opacity:.45;filter:saturate(.65)}
.hub-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b1721f5,#0c1922a8 50%,#0c19226b),linear-gradient(0deg,#09141e,transparent 55%)}
.hub-layout{position:relative;display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.5fr);gap:clamp(28px,5vw,86px);align-items:center;min-height:calc(100dvh - 190px);max-width:1600px;margin:auto}
.hub-navigation{min-width:0;padding:10px 0 30px}
.hub-studio{font:700 13px/1.5 Arial,sans-serif;letter-spacing:4px;color:#b8c5b6}
.hub-screen .game-title{font-size:clamp(34px,4.1vw,64px);line-height:1.25;color:#efe4c5;text-shadow:3px 3px #3c504a;margin:23px 0 0;letter-spacing:-1px}
.hub-screen .game-title span{font-size:.43em;letter-spacing:4px;color:#e7b273;text-shadow:2px 2px #23392f;margin-top:15px}
.hub-location{font:600 12px/1.5 Arial,sans-serif;letter-spacing:2px;color:#9aafa9;margin:23px 0 28px}
.hub-modes{display:grid;border-top:1px solid #79938c66}
.hub-modes button{display:flex;align-items:center;gap:17px;min-height:90px;text-align:left;border:0;border-bottom:1px solid #79938c66;background:linear-gradient(90deg,#203b3b66,transparent);padding:17px 18px 17px 12px;color:#eff0da}
.hub-modes button:hover,.hub-modes button:focus-visible{background:linear-gradient(90deg,#d2bd87,#d2bd87df);color:#112529}
.hub-mode-number{font:12px/1.3 Pixel,monospace;opacity:.65}
.hub-modes button>span:nth-child(2){flex:1;min-width:0}
.hub-modes b{font-size:clamp(18px,1.8vw,23px);letter-spacing:1px;font-weight:800;display:block}
.hub-modes small{display:block;font:15px/1.4 Arial,sans-serif;margin-top:6px;opacity:.76}
.hub-modes button>span:last-child{font-size:25px;font-weight:400}
.hub-secondary{display:flex;flex-wrap:wrap;gap:8px 17px;padding-top:18px}
.hub-secondary button{border:0;border-bottom:1px solid transparent;background:none;padding:10px 0;font-size:13px;letter-spacing:1px;font-weight:700;color:#c4d3c6;min-height:42px}
.hub-secondary button:hover{border-color:#e8c48c;color:#ffda98}
.hub-showcase{min-width:0;align-self:center;position:relative}
.hub-stage-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#d1ddcc;font:700 13px/1.5 Arial,sans-serif;letter-spacing:2px;margin-bottom:16px}
.hub-online-dot{font-size:11px;letter-spacing:1px;color:#9ec9a3}
.hub-online-dot:before{content:'';display:inline-block;width:6px;height:6px;background:#a5d3aa;margin-right:9px;box-shadow:0 0 12px #a4d3a7}
.hub-stage-actions{display:flex;gap:12px;margin-top:22px;justify-content:center}
.hub-stage-actions button{min-width:0;flex:1;max-width:280px}
.hub-footer{position:relative;display:flex;justify-content:space-between;gap:20px;max-width:1600px;margin:30px auto 0;border-top:1px solid #5c78744d;padding-top:16px;color:#9cafaa;font:12px/1.5 Arial,sans-serif;letter-spacing:1.2px}
.party-dock[hidden]{display:none!important}
.party-dock{position:fixed;z-index:18;bottom:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:12px clamp(18px,4vw,70px) max(12px,env(safe-area-inset-bottom));background:#10252af5;border-top:1px solid #628378;box-shadow:0 -10px 35px #07121b80;backdrop-filter:blur(12px)}
.party-dock-crew{flex:1;min-width:0;display:grid;gap:5px;font-size:14px;color:#b8ccc2}
.party-dock-crew>b{font-size:14px;letter-spacing:1px;color:#f2e3bd}.party-dock-crew>b span{color:#a2c69e;padding-left:10px}
.party-dock-crew>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.party-dock button{font-size:13px;min-height:44px;padding:12px 18px;box-shadow:none}
body.has-party-dock #app{padding-bottom:95px}
.party-dock-actions{display:flex;gap:10px;flex-shrink:0}.party-dock .party-dock-code{display:grid;gap:4px;min-width:0;text-align:left;background:none;border:0;color:#8eafa0;font:11px/1.4 Arial,sans-serif;padding:5px 12px}.party-dock-code code{color:#d1ddbd;font:12px/1.5 monospace;overflow-wrap:anywhere}.party-dock .party-dock-code:hover code{color:#f3d7a0}.party-dock-crew>span{white-space:normal;overflow-wrap:anywhere;line-height:1.5;max-width:420px}.street-party-note{display:block;max-width:450px;font:13px/1.7 Arial,sans-serif;color:#b6c9ae;margin:15px 0 0}.street-party-note:empty{display:none}
@media(max-width:900px){.party-dock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}.party-dock-crew{grid-column:1;grid-row:1}.party-dock .party-dock-code{grid-column:1;grid-row:2;padding:0;display:flex;align-items:center;gap:9px}.party-dock-code code{font-size:11px}.party-dock-actions{grid-column:2;grid-row:1/3}body.has-party-dock #app{padding-bottom:125px}}
@media(max-width:520px){.party-dock{gap:7px 10px;padding:10px 12px max(10px,env(safe-area-inset-bottom))}.party-dock-crew{grid-column:1/-1}.party-dock-crew>span{font-size:12px!important;line-height:1.35}.party-dock-actions{grid-row:2;grid-column:2;gap:6px}.party-dock-actions button{font-size:12px!important;padding:10px 8px!important;min-height:41px!important;white-space:nowrap}.party-dock .party-dock-code{display:grid;gap:2px;font-size:9px;max-width:165px}.party-dock-code code{font-size:10px;line-height:1.4}.party-dock .primary{max-width:none!important}body.has-party-dock #app{padding-bottom:150px}.street-party-note{font-size:13px}}
/* Pixel type remains for titles; instructions, options and amounts use legible text. */
.primary,.secondary{font-size:16px;line-height:1.3;min-height:48px;padding:15px 22px;letter-spacing:.5px}
.back{font:700 15px/1.5 Arial,sans-serif;letter-spacing:.8px;min-height:40px;margin-bottom:14px}
.screen-heading p,.modal p,.description,.future-note,.shop-note,.shop-count,.wardrobe .description,.pause-panel p{font:16px/1.6 Arial,sans-serif;color:#bccbc3}
.screen-heading h2{font-size:clamp(22px,2.8vw,34px)}
.screen-heading .status-tag,.status-tag,.subheading,.micro-label{font:700 13px/1.5 Arial,sans-serif;letter-spacing:1px}
.world-content p,.survival-content p,.street-brief>p{font:18px/1.65 Arial,sans-serif;color:#cad7cc;max-width:510px}
.world-progress,.street-record,.street-mechanic,.street-reward,.street-stats,.street-top>span{font:14px/1.5 Arial,sans-serif;letter-spacing:.5px}
.street-stats{gap:20px;flex-wrap:wrap}.street-mechanic{max-width:520px}.street-record{display:block;margin-top:18px}
.chapter-list button b{font:700 15px/1.4 Arial,sans-serif}.chapter-list button small{font:12px/1.3 Arial,sans-serif}
.chapter-list button{min-height:47px}.chapter-list button>span{font-size:13px}
.street-route button{min-width:45px;min-height:58px}.street-route button small{font-size:14px}
.street-enemies small{font:14px/1.4 Arial,sans-serif}.survival-coop{font:700 15px/1.5 Arial,sans-serif;padding:15px 0;min-height:46px}
.shop-layout{grid-template-columns:300px minmax(0,1fr)}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.tab{font:700 14px/1.3 Arial,sans-serif;min-height:43px}.item-card b{font-size:15px;white-space:normal;line-height:1.4}.item-card .item-price{font:700 14px/1.5 Arial,sans-serif}.selected-rarity,.animated-tag{font:12px/1.5 Arial,sans-serif}.wardrobe .reset-look{font:700 14px/1.5 Arial,sans-serif;min-height:40px}
.player-chip #playerName{font:700 14px/1.4 Arial,sans-serif;max-width:210px;letter-spacing:.5px}.utility-wallet{font:700 15px/1.4 Arial,sans-serif;min-height:42px;gap:9px}.utility-icon{width:42px;min-width:42px;height:42px;font-size:23px}.utility-right{gap:9px}
.modal h2{font-size:22px}.modal label,.setting label{font:700 14px/1.5 Arial,sans-serif}.modal input:not([type=range]):not([type=checkbox]),.modal select{font-size:16px;min-height:44px}.modal .primary,.modal .secondary{font-size:15px}
.settings-modal{width:min(980px,100%);max-width:980px}.settings-columns{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}
.audio-settings .setting label,.control-option-label{font:700 13px/1.5 Arial,sans-serif;letter-spacing:.5px}.audio-settings .setting output{font:700 13px/1.5 Arial,sans-serif}.control-settings .reset-controls{font:700 14px/1.5 Arial,sans-serif;min-height:42px}
.settings-section-title h3{font:800 15px/1.5 Arial,sans-serif;letter-spacing:.5px}.settings-section-title>span,.device-settings-note,.control-layout-note,.key-binding-row>span,.key-binding-help,.controls-help,.controls-feedback{font:13px/1.5 Arial,sans-serif}.control-segment button{font:700 14px/1.3 Arial,sans-serif;min-height:44px;padding:11px}.key-binding-row{grid-template-columns:90px minmax(0,1fr);min-height:47px}.binding-key>button:first-child{font:700 13px/1.4 Arial,sans-serif;min-height:35px;padding:8px 10px}.binding-key>.unbind-key{min-width:26px;font-size:17px}.add-binding{font-size:17px;min-width:33px;min-height:35px}.audio-settings #audioStatus,.audio-settings .audio-check .secondary,.privacy-link{font:14px/1.5 Arial,sans-serif}.settings-bottom .primary{font-size:15px;min-height:46px}.settings-bottom{position:relative}
.character-modal label,.starter-note,.character-help,.character-tab,.starter-type,.character-field>span{font-size:14px;line-height:1.5}.character-modal input,.character-modal select{font-size:16px}.character-types button{min-height:48px;font-size:13px}
#toast{font:15px/1.5 Arial,sans-serif;padding:14px 22px}.run-title{font-size:14px}.run-title small{font-size:11px}.run-hint{font:14px/1.5 Arial,sans-serif}.online-hud{font-size:12px}
@media(min-width:1600px){.hub-layout{grid-template-columns:380px minmax(0,1fr)}.hub-stage-actions{margin-top:30px}}
@media(max-width:1000px){.hub-screen{padding:100px 28px 24px}.hub-layout{gap:28px;grid-template-columns:270px minmax(0,1fr)}.hub-modes b{font-size:18px}.hub-modes button{padding-left:4px;gap:10px}.hub-modes small{font-size:14px}.hub-stage-actions{flex-wrap:wrap}.hub-stage-actions button{font-size:14px;padding:13px}.shop-layout{grid-template-columns:240px minmax(0,1fr)}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hub-screen{padding:90px 22px 24px}.hub-layout{display:flex;flex-direction:column;gap:20px;align-items:stretch}.hub-navigation{display:contents}.hub-studio{order:0;font-size:11px;letter-spacing:3px}.hub-screen .game-title{order:1;font-size:37px;margin:0;line-height:1.2}.hub-screen .game-title span{font-size:17px;margin-top:8px}.hub-location{display:none}.hub-showcase{order:2;width:100%}.hub-stage-heading{margin-bottom:9px;font-size:11px}.hub-online-dot{font-size:10px}.hub-stage-actions{margin-top:12px;gap:10px}.hub-stage-actions button{max-width:none;font-size:13px}.hub-modes{order:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0}.hub-modes button{display:block;min-height:99px;padding:13px;background:#142e34db;border:1px solid #607c7166}.hub-mode-number{display:none}.hub-modes b{font-size:16px;letter-spacing:.3px}.hub-modes small{font-size:13px}.hub-modes button>span:last-child{display:none}.hub-secondary{order:4;padding:0;justify-content:center}.hub-secondary button{font-size:12px}.hub-footer{font-size:10px;margin-top:18px}.hub-footer>span:last-child{text-align:right;max-width:60%}.player-chip #playerName{max-width:140px;font-size:12px}.utility-right{gap:5px}.utility-icon{min-width:37px;width:37px;height:39px}.utility-wallet{font-size:14px;min-width:53px;padding:6px}.settings-columns{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}.settings-modal{padding:23px}.key-binding-row{grid-template-columns:78px minmax(0,1fr)}.shop-layout{grid-template-columns:1fr}.wardrobe{position:relative;top:0;display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:20px}.wardrobe .avatar-stage{grid-column:1;grid-row:1/6;height:210px}.wardrobe>*{grid-column:2}.wardrobe .subheading{display:none}.wardrobe .description{min-height:0}.wardrobe .primary{margin-top:8px}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-note{display:none}.world-content,.survival-content{width:85%}.street-brief{width:85%}.street-enemies{display:none}}
@media(max-width:520px){.hub-screen{padding:85px 16px 22px}.hub-screen .game-title{font-size:31px}.hub-screen .game-title span{font-size:14px}.hub-layout{gap:16px}.hub-stage-actions .primary,.hub-stage-actions .secondary{font-size:12px;padding:12px 8px}.hub-modes{gap:0;grid-template-columns:1fr;border-top:1px solid #57766a}.hub-modes button{display:flex;min-height:72px;border:0;border-bottom:1px solid #57766a;padding:12px 10px;background:#142930a6}.hub-modes b{font-size:18px}.hub-modes small{font-size:14px;margin-top:4px}.hub-modes button>span:last-child{display:block}.hub-mode-number{display:block;font-size:10px;min-width:28px}.hub-secondary{gap:22px}.hub-stage-heading{letter-spacing:1px}.hub-online-dot{font-size:9px}.hub-online-dot:before{margin-right:5px}.hub-footer{font-size:10px}.player-chip #playerName{max-width:75px;font-size:11px}.player-chip{gap:6px}.player-chip canvas{max-width:26px}.player-chip .edit-glyph{display:none}.game-utilities{padding:10px 12px;height:65px}.utility-right{gap:3px}.utility-icon{width:33px;min-width:33px;height:37px;font-size:21px}.utility-wallet{font-size:13px;min-width:46px;gap:6px}.utility-wallet .coin-icon{width:11px;height:13px;border-width:2px}.party-dock{padding:10px 12px;gap:8px}.party-dock-crew>b{font-size:12px}.party-dock-crew>span{font-size:12px}.party-dock button{font-size:11px;padding:11px;min-height:41px}.party-dock .primary{padding:10px;max-width:90px}.primary,.secondary{font-size:15px}.back{font-size:14px}.world-content,.survival-content{padding-left:23px;padding-right:23px;width:100%}.world-content p,.survival-content p,.street-brief>p{font-size:17px}.street-brief{width:100%;padding-right:23px}.street-route{overflow-x:auto;justify-content:flex-start;gap:8px}.street-route button{flex:0 0 47px}.street-reward{font-size:12px;line-height:1.5;max-width:90%}.street-stats{font-size:13px;gap:12px}.screen-heading h2{font-size:22px}.screen-heading .status-tag{display:none}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe{grid-template-columns:100px minmax(0,1fr);padding:18px;gap:8px 14px}.wardrobe .avatar-stage{height:165px;margin:0}.wardrobe h3{font-size:19px}.wardrobe .description{font-size:14px}.wardrobe .primary{font-size:13px;padding:12px 8px}.selected-rarity{font-size:11px}.wardrobe-tools{grid-column:1/-1}.item-card b{font-size:14px}.item-card .item-price{font-size:13px}.settings-columns{display:flex}.settings-modal{padding:20px 17px}.settings-section-title h3{font-size:14px}.settings-section-title>span{font-size:12px}.control-segment button{font-size:13px}.control-layout-note,.device-settings-note{font-size:13px}.key-binding-row{grid-template-columns:74px minmax(0,1fr)}.key-binding-row>span{font-size:12px}.binding-key>button:first-child{font-size:12px;padding:8px}.audio-settings .audio-check .secondary,.audio-settings #audioStatus{font-size:14px}.run-hint{font-size:12px}.run-title{font-size:12px}.run-title small{font-size:10px}}
@media(max-height:600px) and (orientation:landscape){.hub-screen{padding-top:72px}.hub-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.3fr);gap:24px}.hub-navigation{display:block;padding:0}.hub-screen .game-title{font-size:30px;margin:9px 0}.hub-screen .game-title span{font-size:14px;margin-top:7px}.hub-location,.hub-footer{display:none}.hub-modes{display:grid;grid-template-columns:1fr;margin-top:17px;gap:0}.hub-modes button{display:flex;min-height:59px;padding:9px 10px;border:0;border-bottom:1px solid #57766a}.hub-modes small{font-size:12px;margin-top:4px}.hub-modes b{font-size:16px}.hub-modes button>span:last-child{display:block}.hub-secondary{justify-content:flex-start;gap:15px}.hub-secondary button{font-size:11px}.hub-stage-heading{font-size:10px}.hub-stage-actions button{font-size:12px;min-height:40px;padding:10px}.settings-modal .settings-section-title h3{font-size:14px}.settings-modal .control-segment button,.settings-modal .control-layout-note,.settings-modal .binding-key>button:first-child{font-size:12px}.settings-modal .settings-bottom .primary{font-size:14px}.game-utilities{height:57px}.world-content,.survival-content{padding-top:80px}}
.character-heading .micro-label{font:700 12px/1.5 Arial,sans-serif;letter-spacing:1px}.character-heading h2{font-size:20px}.character-type-name{font:700 17px/1.5 Arial,sans-serif}.character-preview>small{font:12px/1.5 Arial,sans-serif}.starter-types button>span{font:600 13px/1.4 Arial,sans-serif}.character-fields button,.character-options button{font:700 13px/1.4 Arial,sans-serif;min-height:42px}.character-note,.character-actions .character-note{font:14px/1.6 Arial,sans-serif;color:#b5c9bd}.character-actions .primary{font-size:14px;min-height:46px}.character-signin,.character-skip{font:700 14px/1.4 Arial,sans-serif;min-height:40px}
.account-save-summary b{font-size:20px}.account-save-summary span{font:700 12px/1.5 Arial,sans-serif}.account-save-summary b small{font-size:13px}.account-detail,.account-text-button,.account-footnote,.account-ready,.account-error{font:15px/1.6 Arial,sans-serif}.account-cta{font-size:16px!important;min-height:49px}
