/* Living Stand: clear controls around a scene that can be watched or worked. */
.game.hands-on-game.immersive-counter { max-width:760px; }
.immersive-counter .topbar { padding:8px 16px 5px; gap:12px; border:0; }
.immersive-counter .brand { font-size:1.1rem; max-width:155px; letter-spacing:-.025em; }
.immersive-counter .cash small { font-size:.55rem; color:var(--muted); }
.immersive-counter .cash strong { font-size:1.55rem; font-variant-numeric:tabular-nums; }
.immersive-counter .shift-control { font-size:.67rem; border-radius:9px; }
.immersive-counter .shift-control:hover { background:var(--surface); }
.immersive-counter .utility { padding:0 16px 5px; min-height:32px; }
.immersive-counter .utility > span { font-size:.66rem; }
.immersive-counter .journey-strip button { font-size:.66rem; min-height:30px; }
.immersive-counter .reserve-label { font-size:.58rem; }
.immersive-counter .reserve-values { font-size:.67rem; }
.immersive-counter .world-top { top:10px; left:14px; right:14px; }
.immersive-counter .world-top button { min-height:40px; padding:7px 11px; border-radius:12px; font-size:.78rem; }
.immersive-counter .world-top .location-pill { max-width:calc(100% - 100px); }
.immersive-counter .world-tools { gap:6px; }
.immersive-counter .world-tools #map-button { display:none; }
.immersive-counter .stand-views {
 position:absolute; top:61px; left:14px; right:14px; z-index:6; display:flex; gap:3px;
 max-width:390px; margin:auto; padding:4px; border-radius:15px;
 background:#fbf6e9; border:1px solid #e8e1cd; box-shadow:0 3px 12px #254d3110;
}
.stand-views button {
 display:flex; flex:1; align-items:center; justify-content:center; gap:6px; min-width:0;
 min-height:36px; padding:6px 8px; border:0; border-radius:11px; background:transparent;
 color:#647262; font:600 .75rem/1.2 system-ui,sans-serif; box-shadow:none;
}
.stand-views button svg { width:17px; height:17px; flex-shrink:0; }
.stand-views [aria-pressed=true] { background:#244b39; color:#fff9e7; box-shadow:0 2px 4px #15392720; }
.stand-views button:focus-visible { outline:3px solid #c09527; outline-offset:2px; }
.immersive-counter #neighborhood-label {
 top:116px; left:14px; right:14px; max-height:27px; min-height:27px; margin:0; padding:5px 9px;
 max-width:calc(100% - 28px)!important; font-size:.64rem; line-height:1.3;
 background:#fbf6e9; color:#405f49; border-radius:7px; box-shadow:none;
}
.immersive-counter .counter-speech {
 top:auto; bottom:calc(52% + 8px); left:14px; max-width:65%; max-height:42px; overflow:hidden; padding:5px 9px; border:0; border-left:3px solid #e9c64e;
 border-radius:5px 10px 10px 5px; background:#fff7df; color:#244b39; box-shadow:0 2px 6px #294b2a12;
}
.immersive-counter .counter-speech small { font:700 .65rem/1.3 system-ui,sans-serif; letter-spacing:0; color:#365d41; }
.immersive-counter .counter-speech p { margin:2px 0 0; font:500 .72rem/1.3 system-ui,sans-serif; -webkit-line-clamp:1; }
.immersive-counter .camera-away { display:none!important; }
.immersive-counter .scene-wrap #counter-inventory { top:55%; left:14px; right:14px; min-height:42px; gap:4px; }
.immersive-counter .touch-active .scene-wrap #counter-inventory { top:48%; }
.immersive-counter #counter-inventory button {
 padding:5px 9px; min-height:42px; border-radius:9px; color:#344e37; background:#fff5dc;
 box-shadow:0 2px 0 #786b3f12; font-size:.76rem;
}
.immersive-counter #counter-inventory .counter-stock { min-width:91px; text-align:left; }
.immersive-counter #counter-inventory .counter-price { font:600 .93rem system-ui,sans-serif; }
.immersive-counter #counter-inventory small { font-size:.59rem; line-height:1.3; }
.immersive-counter .scene-wrap #hands-on { inset:calc(48% + 48px) 4% 5px; }
.immersive-counter .touch-station { grid-template-rows:36px minmax(60px,1fr) 34px; max-width:650px; }
.immersive-counter .touch-caption h2 { font:700 .94rem/1.25 system-ui,sans-serif; }
.immersive-counter .touch-caption p { font-size:.7rem; }
.immersive-counter .touch-step { padding-top:1px; }
.immersive-counter .touch-surface { min-height:60px; }
.immersive-counter .touch-footer { min-height:34px; }
.immersive-counter .touch-alternative { min-height:34px; font-size:.66rem!important; }
.immersive-counter .touch-readout { font-size:.65rem; }
.immersive-counter #counter-idle-caption { top:66%; font:650 1.02rem/1.35 system-ui,sans-serif; }
.immersive-counter .counter-idle-actions { top:77%; left:8%; right:8%; }
.immersive-counter .counter-idle-actions button.primary { background:#f3d34e; color:#183e2d; border:1px solid #ffe399; box-shadow:0 3px 0 #83692b30; font-size:.88rem; min-height:48px; }
.immersive-counter .camera-resume {
 position:absolute; bottom:14px; left:14px; right:14px; z-index:5; width:calc(100% - 28px);
 display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:66px;
 padding:11px 14px; border:1px solid #38664e; border-radius:15px; background:#244b39; color:#fff7dc;
 text-align:left; box-shadow:0 5px 15px #274a3522;
}
.camera-resume b,.camera-resume small { display:block; }
.camera-resume b { font:650 .91rem/1.25 system-ui,sans-serif; margin-top:3px; }
.camera-resume small { font:400 .68rem/1.3 system-ui,sans-serif; color:#d2dfbd; }
.camera-resume .resume-label { display:flex; align-items:center; gap:7px; font:650 .78rem system-ui,sans-serif; color:#f4d66f; white-space:nowrap; }
.camera-resume .resume-label svg { width:17px; height:17px; }
body:has(.immersive-counter) #app-update-banner:is([data-phase=ready],[data-phase=downloading]) { position:absolute; width:1px; height:1px; padding:0; margin:0; border:0; overflow:hidden; white-space:nowrap; clip-path:inset(50%); left:0; right:auto; }
.immersive-counter[data-camera=street] #counter-inventory,
.immersive-counter[data-camera=overhead] #counter-inventory,
.immersive-counter[data-camera=street] .counter-idle-actions,
.immersive-counter[data-camera=overhead] .counter-idle-actions,
.immersive-counter[data-camera=street] #counter-idle-caption,
.immersive-counter[data-camera=overhead] #counter-idle-caption { display:none; }
.immersive-counter #counter-stations { min-height:51px; padding:5px 10px; border-top:0; }
.immersive-counter #counter-stations button { min-height:41px; border-radius:11px; }
.immersive-counter #counter-stations b { font-size:.78rem; }
.bottom-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.immersive-counter .bottom-nav button { min-height:49px; font-size:.67rem; padding:5px 2px; }
.immersive-counter .bottom-nav button[aria-current=page] { color:var(--ink); }
.immersive-counter .bottom-nav svg { width:20px; height:20px; }
.sheet { border-radius:23px 23px 0 0; }
.sheet-header { padding:17px 19px 12px; gap:12px; }
.sheet-header h2 { font:650 1.25rem/1.25 system-ui,sans-serif; letter-spacing:-.025em; }
.sheet-header button { min-width:40px; min-height:40px; border-radius:50%; }
.sheet .sheet-context { font-size:.68rem; margin:0 0 15px; color:var(--muted); }
.sheet-body { padding:15px 19px 23px; }
.sheet button.full { min-height:44px; border-radius:11px; font-size:.85rem; }
.sheet .settings-tabs { padding:0 19px; gap:5px; }
.sheet .settings-tabs button { border-radius:10px; font-size:.8rem; }
.sheet .settings-done { margin-top:14px; }
.sheet form h3 { margin-top:17px; font-size:.93rem; }
.sheet .grocery-item { padding:8px 10px; gap:10px; border-radius:12px; }
.sheet .grocery-item h2 { font:650 .92rem system-ui,sans-serif; }
.sheet .grocery-item p { font-size:.69rem; }
.sheet .grocery-item small { font-size:.63rem; }
.sheet .grocery-item input { min-height:40px; }
.sheet .grocery-checkout { position:sticky; bottom:-23px; padding:10px 0 16px; background:var(--paper); border-top:1px solid var(--line); z-index:2; }
.sheet .grocery-checkout .basket-total { margin:0 0 9px; padding:5px 0; border:0; font-size:.73rem; }
.sheet .grocery-checkout .basket-total strong { font:700 1rem system-ui,sans-serif; }
.sheet .grocery-checkout button { margin:0; }
.sheet .basket-options { font-size:.75rem; padding:7px 0; }
.immersive-counter .page { padding:22px 18px 30px; }
.immersive-counter .page h1 { font:650 1.6rem/1.15 system-ui,sans-serif; letter-spacing:-.035em; margin:10px 0 14px; }
.immersive-counter .page h2 { font:650 1.2rem/1.3 system-ui,sans-serif; letter-spacing:-.02em; }
.immersive-counter .page .eyebrow { font-size:.65rem; letter-spacing:.1em; }
.immersive-counter .page > p { font-size:.85rem; line-height:1.5; }
.immersive-counter .page .card { padding:17px; border-radius:17px; margin-bottom:14px; }
.immersive-counter .page .metric { border-radius:13px; padding:15px; }
.immersive-counter .page .metric span { font-size:.76rem; }
.immersive-counter .page .metric strong { font:600 1.7rem/1.2 system-ui,sans-serif; letter-spacing:-.035em; }
.immersive-counter .page button { border-radius:11px; min-height:44px; font-size:.86rem; }
.text-large .immersive-counter .page h1 { font-size:1.6rem; }
.contrast .stand-views,.contrast .camera-resume,.contrast .counter-speech { border:2px solid currentColor; }
@media(min-width:700px) { .immersive-counter .stand-views { max-width:420px; } }
@media(max-width:360px) {
 .immersive-counter .topbar { padding-inline:11px; gap:6px; }
 .immersive-counter .brand { font-size:.94rem; }
 .immersive-counter .cash strong { font-size:1.35rem; }
 .immersive-counter .stand-views { left:10px; right:10px; }
 .stand-views button { font-size:.68rem; padding-inline:4px; gap:4px; }
 .immersive-counter #neighborhood-label { left:10px; right:10px; max-width:calc(100% - 20px)!important; }
 .immersive-counter .reserve-label { font-size:.52rem; }
}
@media(max-height:700px) {
 .immersive-counter .touch-station { grid-template-rows:32px minmax(50px,1fr) 31px; }
 .immersive-counter .touch-caption h2 { font-size:.82rem; }
 .immersive-counter .touch-caption p { font-size:.64rem; }
 .immersive-counter .counter-speech { top:auto; max-width:56%; max-height:36px; }
 .immersive-counter .counter-speech p { font-size:.66rem; }
 .immersive-counter .stand-views { top:55px; }
 .immersive-counter #neighborhood-label { top:107px; }
 .immersive-counter #counter-inventory button { min-height:40px; }
}
@media(max-height:620px) { .immersive-counter .owner-world .scene-wrap { height:460px; min-height:460px; } }
.text-large .immersive-counter .stand-views { max-width:calc(100% - 28px); }
.text-large .stand-views button { font-size:.72rem; }
.text-large .immersive-counter #neighborhood-label { top:calc(61px + 3.25rem); }
.text-large .immersive-counter .touch-station { grid-template-rows:64px minmax(90px,1fr) 48px; }
.text-large .immersive-counter .touch-caption h2 { font-size:1rem; }
.text-large .immersive-counter .touch-caption p { font-size:.8rem; }
.text-large .immersive-counter #counter-inventory button { min-height:50px; font-size:.7rem; }
.text-large .immersive-counter .scene-wrap #hands-on { top:calc(48% + 65px); }
.text-large .immersive-counter .counter-speech { top:auto; max-height:56px; }
.text-large .camera-resume { min-height:80px; }
