/* World-first layout with contextual controls. */
body.play-shell{padding-bottom:58px;box-sizing:border-box}
.play-shell #game,.play-shell #screen{height:calc(100dvh - 58px)!important}
.play-shell .legacy-navigation{display:none!important}
.play-shell .play-view-switch{display:none!important}
.play-command{display:flex;align-items:center;gap:12px;padding:8px 14px;flex:none;background:var(--deck-bg);border-bottom:1px solid var(--deck-line);color:var(--deck-ink);z-index:4;position:relative;font:12px Arial,sans-serif}
.play-command button{font:600 12px/1.3 Arial,sans-serif;box-shadow:none;text-shadow:none;border:1px solid var(--deck-line);color:var(--deck-ink);background:transparent;border-radius:6px;min-height:38px;padding:8px 12px;cursor:pointer}
.play-result{white-space:nowrap}.play-result.is-loss{border-color:#bf6349;background:#bf634910}
.play-guidance{flex:1;text-align:left!important;background:var(--deck-accent)!important;color:var(--deck-on-accent)!important}
.object-label{display:flex;align-items:center;gap:8px;font-size:11px}.object-label select{max-width:220px;padding:8px;color:var(--deck-ink);background:var(--deck-bg);border:1px solid var(--deck-line);font:12px Arial,sans-serif;min-height:38px}
.play-dock{position:fixed;bottom:0;left:0;right:0;height:58px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));z-index:15;background:var(--deck-bg);border-top:1px solid var(--deck-line);padding:5px max(8px,env(safe-area-inset-left));gap:5px}
.play-dock button,.play-more button,.sheet-top button{font:600 12px Arial,sans-serif;color:var(--deck-ink);background:transparent;border:1px solid var(--deck-line);border-radius:5px;padding:8px;box-shadow:none;text-shadow:none;min-height:38px}
.play-dock button[aria-current=page],.play-dock button[aria-expanded=true]{background:var(--deck-accent);color:var(--deck-on-accent)}
.play-shell[data-mobile-view=world] aside{display:none!important}
.play-shell[data-mobile-view=controls] aside{display:flex!important;flex-direction:column;min-height:0}
.sheet-top{display:flex;justify-content:space-between;gap:10px;flex:none;padding:7px 12px;background:var(--deck-bg);border-bottom:1px solid var(--deck-line)}
.sheet-top button{min-height:30px;font-size:11px;padding:5px 9px}.sheet-top button:last-child{display:none}
.play-more{position:fixed;bottom:66px;right:12px;width:min(420px,calc(100vw - 24px));z-index:30;padding:18px;background:var(--deck-bg);color:var(--deck-ink);border:1px solid var(--deck-line);box-shadow:0 10px 50px #0005;border-radius:12px;font:14px Arial,sans-serif;max-height:75dvh;overflow:auto}
.play-more>button{float:right;min-height:30px;padding:5px 10px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0 12px}.more-grid button{min-height:44px}.play-more p{font-size:12px;line-height:1.5}
.play-feedback{position:fixed;bottom:72px;left:50%;transform:translateX(-50%);max-width:min(600px,90vw);padding:13px 18px;background:var(--deck-accent);color:var(--deck-on-accent);border:1px solid var(--deck-line);box-shadow:0 5px 24px #0004;border-radius:7px;font:600 13px/1.5 Arial,sans-serif;z-index:80;pointer-events:none}
.play-shell button:focus-visible,.play-shell select:focus-visible{outline:3px solid var(--deck-accent);outline-offset:2px}
.play-shell #toast{bottom:72px}
body.play-shell[data-game=venture-office] .modal:not(.onboarding){background:#082b3540;justify-content:flex-end;align-items:stretch;padding:12px 12px 70px}
body.play-shell[data-game=venture-office] .modal-card.with-deck{width:min(480px,100%);height:auto;max-height:100%;margin:0}
@media(max-width:760px),(max-width:1000px) and (max-height:540px){
 .play-command{padding:6px 9px;gap:5px;display:grid;grid-template-columns:1fr 1fr}.play-command button{min-height:32px;font-size:11px;padding:6px 8px}.play-guidance{grid-column:1/-1;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-label{font-size:0;justify-content:flex-end}.object-label select{width:100%;max-width:180px;min-height:32px;font-size:11px;padding:4px}
 .play-shell[data-mobile-view=controls] .body>.workspace,.play-shell[data-mobile-view=controls] .body>.left,.play-shell[data-mobile-view=controls] .hotel-world,.play-shell[data-mobile-view=controls] .workspace>main,.play-shell[data-mobile-view=controls] #world{display:flex!important;flex-direction:column;flex:1;min-height:0;width:100%;order:1}
 body.play-shell[data-mobile-view=controls] aside,body.play-shell[data-mobile-view=controls][data-game=venture-office] #panel{position:fixed!important;inset:auto 0 58px!important;z-index:12;width:100%!important;height:55dvh!important;max-height:calc(100dvh - 200px)!important;min-height:200px!important;border:1px solid var(--deck-line);border-radius:15px 15px 0 0;box-shadow:0 -8px 30px #0003;overflow:hidden!important;flex:none}
 body.play-shell.sheet-expanded[data-mobile-view=controls] aside,body.play-shell.sheet-expanded[data-mobile-view=controls][data-game=venture-office] #panel{height:calc(100dvh - 175px)!important;max-height:calc(100dvh - 175px)!important}
 .sheet-top button:last-child{display:block}.sheet-top{padding:5px 10px}.deck-heading h2{font-size:18px}.deck-tabs{padding:6px 10px}.deck-tabs button{min-height:32px}.deck-body{padding:10px 13px}
 body.play-shell[data-game=venture-office] #nav{display:none!important}body.play-shell[data-game=venture-office] header{display:none}
 body.play-shell[data-game=venture-office] .modal:not(.onboarding){align-items:flex-end;padding:0 0 58px;background:#082b3530}
 body.play-shell[data-game=venture-office] .modal-card.with-deck{height:65dvh;width:100%;max-height:calc(100dvh - 160px);border-radius:15px 15px 0 0}
 body.play-shell[data-game=toothpaste-tycoon] .jess,body.play-shell[data-game=cinema-tycoon] .manager,body.play-shell[data-game=cinema-tycoon] .day-ledger{display:none}
 body.play-shell[data-game=cinema-tycoon] canvas{flex:1;min-height:0;max-height:none;height:auto}
 body.play-shell[data-game=cinema-tycoon] .theater-heading{margin:10px 15px}.play-dock button{font-size:10px;padding:6px 2px}
}
@media(max-width:1000px) and (max-height:540px){
 .play-command{display:flex}.play-guidance{white-space:nowrap}.play-result{max-width:190px}.object-label{max-width:180px}
 body.play-shell[data-mobile-view=controls] aside,body.play-shell[data-mobile-view=controls][data-game=venture-office] #panel{left:auto!important;right:8px!important;width:52%!important;height:calc(100dvh - 145px)!important;max-height:calc(100dvh - 145px)!important;min-height:0!important}
 .sheet-top button:last-child{display:none}
}

.play-shell[data-game=grand-hotel]>main,.play-shell[data-game=harbor-co]>.workspace,.play-shell[data-game=ironworks]>.workspace{min-height:0}
.play-shell .sheet-top{flex-shrink:0}
.play-shell[data-game=venture-office] #panel-head{flex-shrink:0}
.play-shell #overlay,.play-shell #modal{z-index:100}
@media(max-width:760px) and (min-height:541px){
 body.play-shell[data-mobile-view=controls] .body>.workspace,body.play-shell[data-mobile-view=controls] .body>.left,body.play-shell[data-mobile-view=controls] .hotel-world,body.play-shell[data-mobile-view=controls] .workspace>main,body.play-shell[data-mobile-view=controls] #world{max-height:var(--context-scene-height,180px);min-height:0;flex:none!important}
 body.play-shell[data-mobile-view=controls] .scene-top,body.play-shell[data-mobile-view=controls] .production-strip,body.play-shell[data-mobile-view=controls] .theater-heading,body.play-shell[data-mobile-view=controls] .show-strip,body.play-shell[data-mobile-view=controls] .stock-strip,body.play-shell[data-mobile-view=controls] .fleet-strip,body.play-shell[data-mobile-view=controls] .scene-label,body.play-shell[data-mobile-view=controls] .hotel-objective,body.play-shell[data-mobile-view=controls] .world-badge,body.play-shell[data-mobile-view=controls] .chart-label,body.play-shell[data-mobile-view=controls] .vessel-telemetry,body.play-shell[data-mobile-view=controls] .map-key,body.play-shell[data-mobile-view=controls] .map-layers{display:none!important}
 body.play-shell[data-mobile-view=controls] canvas{min-height:0!important;max-height:var(--context-scene-height,180px)!important}
 body.play-shell[data-game=cinema-tycoon] .panel-heading,body.play-shell[data-game=toothpaste-tycoon] .panel-title{padding:7px 12px}
 body.play-shell[data-game=cinema-tycoon] .panel-heading h2,body.play-shell[data-game=toothpaste-tycoon] .panel-title h2{font-size:19px}
 body.play-shell[data-game=cinema-tycoon] .panel-heading small,body.play-shell[data-game=toothpaste-tycoon] .panel-title small{display:none}
}
.play-shell [data-control-section="Selected room"] .room-art{display:none}
.play-shell .room-details{margin:10px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.play-shell .room-details button{min-height:40px!important}
@media(max-width:760px),(max-width:1000px) and (max-height:540px){
 body.play-shell[data-game=grand-hotel]>footer,body.play-shell[data-game=harbor-co]>footer,body.play-shell[data-game=ironworks]>footer{position:fixed;left:0;right:0;bottom:58px;height:38px;min-height:38px;padding:4px 10px;z-index:20;background:var(--deck-bg);color:var(--deck-ink);border-top:1px solid var(--deck-line)}
 body.play-shell[data-game=grand-hotel]>footer small,body.play-shell[data-game=harbor-co]>footer small,body.play-shell[data-game=ironworks]>footer #saved{display:none}
 body.play-shell[data-mobile-view=controls][data-game=grand-hotel] aside,body.play-shell[data-mobile-view=controls][data-game=harbor-co] aside,body.play-shell[data-mobile-view=controls][data-game=ironworks] aside{bottom:96px!important}
 .play-shell .play-feedback{bottom:105px}
}
body.play-shell[data-game=venture-office] .office-session #date{display:block;font-size:9px;max-width:65px;line-height:1.4}
body.play-shell[data-game=venture-office] .office-session{gap:5px}
.play-shell .play-command .object-label{margin:0}
