/* UI ownership contract. Author interface changes here, not in historical CSS.
   Art/input coordinates remain in legacy-ui.css. Zones: header 0–14%,
   world 14–84%, action rail 84–100%; dialogs occupy the middle only. */
:root{--ui-font:'Rubik Game',Arial,sans-serif;--ui-ink:#203b48;--ui-muted:#6d8590;--ui-surface:#f6fafb;--ui-line:#d3e0e4;--ui-accent:#eec27a;--ui-accent-ink:#47371f;--ui-shadow:0 1cqh 4cqh #102c3640;--ui-radius:1.1cqw;--ui-safe:2cqw;--ui-top:14cqh;--ui-bottom:14cqh}
body.ui-v21 #gameApp{font-family:var(--ui-font);--game-display:var(--ui-font)}body.ui-v21 #gameApp button,body.ui-v21 #gameApp h1,body.ui-v21 #gameApp h2,body.ui-v21 #gameApp h3,body.ui-v21 #gameApp input{font-family:var(--ui-font)!important;letter-spacing:0!important}body.ui-v21 #gameApp button{font-synthesis:none;touch-action:manipulation}body.ui-v21 #gameApp button:focus-visible{outline:3px solid #e6b765!important;outline-offset:3px}body.ui-v21 #gameApp button:disabled{cursor:default}body.ui-v21 #gameApp [hidden]{display:none!important}
/* Single persistent header. The original timers keep their IDs and behavior. */
body.ui-v21 #gameApp .journey-hud,body.ui-v21 #gameApp .journey-tools,body.ui-v21 #gameApp .campaign-strip,body.ui-v21 #gameApp .game-topbar,body.ui-v21 #gameApp>.hud{display:none!important}.interface-header{position:absolute;left:0;right:0;top:0;height:12.5%;box-sizing:border-box;padding:1.4cqh 2cqw;display:flex;align-items:center;justify-content:space-between;gap:2cqw;direction:rtl;z-index:30;background:linear-gradient(#112f3bf5,#183a43ed);border-bottom:1px solid #e4f1f224;color:#edf5f4;font:500 1.1cqw var(--ui-font);box-shadow:0 .4cqh 1cqh #09222a33;pointer-events:none}.interface-header>*{pointer-events:auto}.interface-header[hidden]{display:none}.interface-player{display:flex;gap:1.2cqw;align-items:center;min-width:23%}.interface-player>button{display:flex;align-items:center;gap:.7cqw;border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:right}.interface-player>button:disabled{opacity:1}.interface-player img{width:4cqw;height:4cqw;object-fit:cover;border-radius:50%;background:#8abdb7;border:2px solid #f5f4df70}.interface-player b{font-size:1.25cqw;display:block}.interface-player small{font-size:.9cqw;display:block;color:#bed1d3;margin-top:.3cqh}.interface-cash{border-right:1px solid #8baeb44d;padding-right:1.2cqw;font-size:1.15cqw;color:#e7d3a6;white-space:nowrap}.interface-location{position:absolute;left:35%;right:35%;text-align:center;pointer-events:none}.interface-location small{display:block;font-size:.8cqw;color:#a6c3c6}.interface-location strong{display:block;font-size:1.7cqw;font-weight:600;margin-top:.2cqh}.interface-navigation{display:flex;align-items:center;gap:.6cqw;direction:rtl}.interface-navigation>button{display:grid;place-items:center;width:3.2cqw;height:3.2cqw;min-width:36px;min-height:36px;border:1px solid #c3dade4d;border-radius:.7cqw;background:#ffffff0d;color:#eef6f5;font:500 1.5cqw var(--ui-font);cursor:pointer}.interface-vitals{margin-left:.5cqw}.interface-vitals .hud-health{position:static!important;display:flex!important;align-items:center!important;gap:1cqw!important;padding:0!important;margin:0!important;width:auto!important;transform:none!important;background:none!important;border:0!important;box-shadow:none!important;flex-direction:row!important}.interface-vitals #timeValue{position:static!important;font:600 1.9cqw var(--ui-font)!important;background:none!important;padding:0!important;color:#f4ecd7!important;font-variant-numeric:tabular-nums;direction:ltr}.interface-vitals #livesValue{position:static!important;display:flex!important;gap:.2cqw!important}.interface-vitals #livesValue svg{width:1cqw!important;height:1cqw!important}.interface-vitals .urgent #timeValue{color:#ffbaaa!important}.interface-header[data-screen='factory'] .interface-location{display:none}.interface-header[data-screen='factory'] .interface-player{min-width:18%}
body.ui-v21:has(.home-phone-popup) #interfaceHeader,body.ui-v21:has(.menu-sheet) #interfaceHeader{pointer-events:none;filter:brightness(.65)}
/* Every scene uses the same calm bottom action rail. */
.ui-actionbar{position:absolute;left:0;right:0;bottom:0;height:13%;z-index:12;box-sizing:border-box;padding:1.5cqh 2cqw;display:flex;align-items:center;justify-content:space-between;gap:1.5cqw;direction:ltr;background:#173843f2;border-top:1px solid #c3d8d944;color:#dae7e8;box-shadow:0 -.4cqh 1cqh #0b252b22}.ui-actionbar>p{direction:rtl;text-align:center;flex:1;min-width:0;font:400 1.05cqw/1.4 var(--ui-font);color:#b8cdd0;margin:0}.ui-primary-action,.ui-secondary-action{box-sizing:border-box;min-height:44px;border-radius:.7cqw!important;padding:1.1cqh 1.6cqw;font:600 1.35cqw/1.3 var(--ui-font)!important;direction:rtl;border:1px solid transparent;cursor:pointer;box-shadow:none!important;transition:filter .15s,translate .15s}.ui-primary-action{background:var(--ui-accent)!important;color:var(--ui-accent-ink)!important;border-color:#f7d79f!important}.ui-secondary-action{background:#ffffff0b!important;color:#e2eded!important;border-color:#b9d3d64d!important}.ui-primary-action:hover{filter:brightness(1.05)}.ui-primary-action:active,.ui-secondary-action:active{translate:0 1px}.ui-primary-action:disabled{opacity:.45}.ui-secondary-actions{display:flex;align-items:center;gap:.6cqw;direction:rtl}.ui-secondary-actions>button{border:1px solid #b9d3d64d!important;border-radius:.6cqw!important;background:#ffffff09!important;color:#d7e6e8!important;min-height:40px;font:500 1.05cqw var(--ui-font)!important;padding:.8cqh .9cqw!important}.ui-actionbar>.ui-primary-action{min-width:26%}
/* Title: one decision first, save status second. */
body.ui-v21 #gameApp .clean-start .story-art{filter:none!important;background-size:100% 100%!important;animation:none!important}body.ui-v21 #gameApp .clean-start .title-loop{filter:none!important;opacity:.6!important}.start-content{position:absolute;right:6%;top:9%;width:36%;height:82%;display:flex;flex-direction:column;justify-content:center;direction:rtl;color:#eff5ed;text-align:center;z-index:5}.start-content h1{font-size:0;margin:0 auto 1.5cqh;width:94%;height:29cqh}.start-brand-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 .4cqh 1cqh #09212766)}.start-content>p{font:400 1.3cqw var(--ui-font);color:#c4d7d9;margin:0 0 2.8cqh}.start-content nav{display:grid;gap:1.2cqh;width:88%;margin:0 auto}.start-content nav>.ui-primary-action{min-height:7cqh;font-size:1.7cqw!important}.start-content nav>.ui-secondary-action{min-height:5.8cqh;background:#173943d9!important}.start-utilities{display:flex;justify-content:center;gap:1.6cqw;margin-top:.6cqh}.start-utilities button{font:500 1.05cqw var(--ui-font);padding:.8cqh 1cqw;border:0;background:none;color:#b8cdd0;min-height:36px}.start-save{display:block;font:400 1cqw var(--ui-font);color:#aec6c8;margin-top:2cqh}.start-signature{position:absolute;left:2%;bottom:2%;font:500 .75cqw var(--ui-font);color:#b8d0cf;letter-spacing:.1em}
/* Bedroom and map: art remains touchable, only one current instruction. */
body.ui-v21 #gameApp .home-guide,body.ui-v21 #gameApp .home-room .home-guide{display:none!important}body.ui-v21 #gameApp .home-room .home-actions{left:0!important;right:0!important;bottom:0!important;height:13%!important;gap:1.5cqw!important;display:flex!important;background:#173843f2!important}body.ui-v21 #gameApp .home-actions>.ui-primary-action{background:var(--ui-accent)!important;color:var(--ui-accent-ink)!important;border:1px solid #f7d79f!important;min-width:27%;min-height:44px}.home-room .home-actions .ui-secondary-actions{min-width:28%}.home-room .home-actions>p{font:400 1.05cqw var(--ui-font)}body.ui-v21 #gameApp .home-room .room-object{box-shadow:none!important;background:transparent!important;outline:0!important;animation:none!important}body.ui-v21 #gameApp .home-room .room-object.current-object::after{display:none!important}.home-room .home-fold,.home-room .home-clock{filter:drop-shadow(0 2px 1px #182d3133)}body.ui-v21 #gameApp .home-room.awake .story-art{animation:none!important}.home-phone-alert{animation:none!important;font-size:.8cqw!important}.room-light-toggle{font-size:1cqw!important;border:1px solid #948f76!important;box-shadow:none!important}.map-actionbar .ui-secondary-action{min-width:18%}body.ui-v21 #gameApp .world-map-scene>.scene-brief,body.ui-v21 #gameApp .world-map-scene>.map-ending-collection{display:none!important}body.ui-v21 #gameApp .map-location .destination-name{font-family:var(--ui-font)!important;font-size:1.4cqw!important;background:#f5faf5ed!important;border:1px solid #c5d8d8!important;color:#214550!important;border-radius:.6cqw!important;box-shadow:0 .3cqh 1cqh #153c3c33!important}body.ui-v21 #gameApp .map-location .destination-status{font:400 .9cqw var(--ui-font)!important;background:#224952de!important;border:0!important;border-radius:.4cqw!important}.map-location.destination-next{animation:none!important}body.ui-v21 #gameApp .journey-hint{position:absolute;top:15%;left:50%;right:auto;bottom:auto;translate:-50% 0;margin:0;max-width:65%;padding:1cqh 1.4cqw;border-radius:.7cqw;border:1px solid #e5d1aa;background:#f9f3e7fa;color:#29464b;font:500 1.25cqw/1.4 var(--ui-font);box-shadow:var(--ui-shadow);z-index:45}
/* Factory overview: same top and bottom zones, no second HUD. */
body.ui-v21 #gameApp .player-hud,body.ui-v21 #gameApp .find-guide20{display:none!important}body.ui-v21 #gameApp .mobile-hub{background:linear-gradient(#16364133,transparent 28%,transparent 75%,#14364033)}body.ui-v21 #gameApp .hub-dock20{left:0!important;right:0!important;bottom:0!important;height:13%!important;border-radius:0!important;padding:1.5cqh 2cqw!important;background:#173843f2!important;border-top:1px solid #c3d8d944;box-sizing:border-box;display:flex;align-items:center;gap:1.5cqw}.hub-dock20 .play-cta20{height:100%;min-height:44px;width:30%;min-width:26%;border-radius:.7cqw;background:var(--ui-accent);border:1px solid #f7d79f;box-shadow:none;padding:.5cqh 1.5cqw}.play-cta20 b{font-size:1.35cqw!important;font-weight:600}.play-cta20 small{font-size:.8cqw!important;font-weight:400}.play-cta20>i{font-size:2cqw!important}.hub-dock20 .hub-tabs20{background:none;border:0;box-shadow:none;border-radius:0;min-width:22%;padding:0;gap:.5cqw;order:-1;height:100%}.hub-tabs20 button[data-life='hub'],.hub-tabs20 button[data-life='exit']{display:none!important}.hub-tabs20 button{min-width:6cqw;border:1px solid #b9d3d64d;border-radius:.6cqw;color:#d5e6e8;background:#ffffff09;padding:.5cqh .8cqw;font-size:.95cqw}.hub-tabs20 svg{display:none!important}.hub-dock20 .shift-steps20{border:0;background:none;box-shadow:none;border-radius:0;width:25%;padding:0;order:0;gap:.8cqw}.shift-steps20 b{height:1.5cqw;width:1.5cqw;font-size:.8cqw;border:0}.shift-steps20 small{font-size:.85cqw}.room-pin20 .pin-symbol{width:3cqw;height:3cqw;border-width:1px;border-radius:50%;box-shadow:0 .3cqh 1cqh #153b4b44;animation:none!important;translate:-50% -50%!important}.room-pin20 .pin-symbol svg{width:1.7cqw;height:1.7cqw}.room-pin20 .pin-caption{padding:.6cqh .8cqw;border-radius:.6cqw;box-shadow:0 .2cqh .7cqh #16394633;min-width:0;border-width:1px!important}.pin-caption b{font:500 1.15cqw var(--ui-font)!important}.pin-caption small{font:400 .8cqw var(--ui-font)!important}.next-pin .pin-symbol{box-shadow:none;background:#f1cc8d;border-color:#fff2cd}.next-pin .pin-caption{border-color:#d9ad62;background:#fff7e4}.cash-find20{z-index:5}.cash-toast20{top:15%;font:600 1.35cqw var(--ui-font);border-width:1px;box-shadow:var(--ui-shadow);border-radius:.7cqw}
/* Shared panel tokens across settings, NPCs, shop, summaries and quests. */
body.ui-v21 #gameApp .menu-sheet{z-index:80;background:#10273199;backdrop-filter:blur(4px);padding:0}body.ui-v21 #gameApp .menu-sheet>div,body.ui-v21 #gameApp .modal-panel,body.ui-v21 .account-book,body.ui-v21 #gameApp .help-dialog{box-sizing:border-box;width:min(56cqw,720px);max-height:80cqh;overflow:auto;padding:3cqh 2.5cqw;background:var(--ui-surface)!important;color:var(--ui-ink)!important;border:1px solid #e8f1f2!important;border-radius:var(--ui-radius)!important;box-shadow:0 2cqh 8cqh #09242a55!important;font-family:var(--ui-font)!important;direction:rtl}body.ui-v21 #gameApp .menu-sheet h2,body.ui-v21 #gameApp .modal-panel h2,body.ui-v21 .account-book h2{font:600 2.4cqw/1.2 var(--ui-font)!important;margin:1cqh 0 2cqh!important}body.ui-v21 #gameApp .menu-sheet p,body.ui-v21 #gameApp .modal-panel p,body.ui-v21 .account-book p{font:400 1.2cqw/1.6 var(--ui-font)!important;color:var(--ui-muted)!important;margin:1cqh 0 2cqh!important}body.ui-v21 #gameApp .menu-sheet>div>button,body.ui-v21 #gameApp .modal-panel>button{min-height:44px!important;font:500 1.25cqw var(--ui-font)!important;border-radius:.65cqw!important;box-shadow:none!important;padding:1.1cqh 1.3cqw!important;margin:.8cqh 0!important}body.ui-v21 #gameApp .sheet-primary,body.ui-v21 #gameApp .primary-button,body.ui-v21 #gameApp .life-primary,body.ui-v21 #gameApp .recap-continue,body.ui-v21 #gameApp .report-stamp{background:var(--ui-accent)!important;color:var(--ui-accent-ink)!important;border:1px solid #dfb96f!important;box-shadow:none!important;border-radius:.65cqw!important;font-family:var(--ui-font)!important;font-weight:600!important}body.ui-v21 #gameApp .sheet-secondary,body.ui-v21 #gameApp .secondary-button{background:#e8f0f3!important;color:#355663!important;border:1px solid #cddde2!important;box-shadow:none!important}.interface-menu .sheet-secondary{display:block;width:100%}.interface-menu small{display:block;margin-top:2cqh;color:#7a919c;text-align:center;font-size:1cqw}.sheet-eyebrow,.panel-eyebrow{font:500 .95cqw var(--ui-font)!important;color:#72909b!important;letter-spacing:0!important}body.ui-v21 #gameApp .life-paper,body.ui-v21 #gameApp .player-sheet20,body.ui-v21 #gameApp .quest-sheet20{background:var(--ui-surface)!important;border:1px solid #dde8ec!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important;color:var(--ui-ink)!important;font-family:var(--ui-font)!important}body.ui-v21 #gameApp .life-paper{top:16%!important;max-height:68%!important;overflow:auto!important;padding:2.2cqh 1.8cqw!important}body.ui-v21 #gameApp .life-paper h1{font:600 2cqw/1.25 var(--ui-font)!important;margin:.5cqh 0 1cqh!important}body.ui-v21 #gameApp .life-paper p{font:400 1.15cqw/1.55 var(--ui-font)!important;color:#5b7884!important}.life-paper button{font:500 1.15cqw var(--ui-font)!important;min-height:40px!important;border-radius:.55cqw!important;box-shadow:none!important}.life-paper button:not(.life-primary):not(.life-back){background:#e9f1f4;color:#335563;border:1px solid #ccdde3}.life-paper .life-back{background:transparent!important;color:#587785!important;border:1px solid #bfd1d8!important}.life-paper small{line-height:1.4}.rahum-room .npc-menu{width:43%!important;right:3%!important}.npc-menu>.relation-track{height:.45cqh}.npc-options button{min-height:36px!important}.gift-options{margin:.8cqh 0}.life-paper .npc-perk{font-size:.85cqw!important}.profile-room20 .player-sheet20{inset:16% 15% 4%!important;padding:1.5cqh 1.8cqw!important}.player-sheet20 .david-avatar20{width:6cqw!important;height:6cqw!important;border-radius:50%!important;box-shadow:none!important}.player-sheet20 h1{font-size:2cqw!important}.profile-grid20 h2,.profile-collection20 h2{font-size:1.2cqw!important}.profile-grid20 p{margin:.7cqh 0}.profile-collection20 figure>i{width:2.7cqw;height:2.7cqw}.profile-funds20 button{border-radius:.6cqw;box-shadow:none}.quest-sheet20{inset:16% 16% 8%!important}.quest-sheet20 h1{font-size:2.2cqw!important}.quest-cards20{gap:1.2cqw;margin:1.3cqh 0}.quest-cards20 button{box-shadow:none!important;border-width:1px!important;border-radius:.8cqw!important;padding:1.4cqh 1.2cqw!important}.quest-cards20 strong{font-size:1.4cqw}.quest-cards20 .quest-icon20{width:2.8cqw;height:2.8cqw;background:#e2edf1}.quest-cards20 p{font-size:1.1cqw;min-height:4cqh}.quest-choice20{background:#335c6c!important;font-weight:500;padding:.7cqh}.quest-footer20 button{background:#335c6c!important;box-shadow:none}.shop-menu{left:12%!important;width:76%!important}.shop-menu h2{font-size:1.25cqw!important}.shop-menu>.upgrade-shop{margin:1cqh 0}.upgrade-shop strong{font-size:1.1cqw!important}.upgrade-shop small{font-size:.85cqw!important}.shop-menu .squishy-collection strong{font-size:.85cqw!important}.shop-menu .squishy-art{width:2.6cqw;height:2.6cqw}.cafe-menu .meal-art{width:4cqw;height:4cqw}.meal-choices small{font-size:1cqw!important}.quality-menu{width:52%!important;left:24%!important}.quality-sample{background:#e5eef0!important}.quality-actions button{min-height:44px!important}.unbox-overlay{z-index:60;background:#153b42f7!important;border:1px solid #d2c294!important;border-radius:1cqw!important;box-shadow:0 0 0 30cqw #0d262bbd!important}.unbox-overlay h2{font-size:2.5cqw!important}.sheet-close20,.book-close{border:0!important;box-shadow:none!important;background:#e5eef1!important;color:#486874!important;border-radius:50%!important}
/* Minigame HUD: no second score panel or instructions over the tabletop. */
body.ui-v21.immersive-game #gameApp #workInstruction{position:absolute!important;left:29%!important;right:auto!important;top:1.3%!important;width:43%!important;height:10.2%!important;padding:.3cqh .8cqw!important;box-sizing:border-box!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;text-align:center!important;z-index:32!important;pointer-events:none!important;color:#e9f2ee!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.25cqh!important}body.ui-v21.immersive-game #gameApp #workInstruction[hidden]{display:none!important}body.ui-v21 #gameApp #workInstruction .order-clip,body.ui-v21 #gameApp #workStationNumber{display:none!important}body.ui-v21 #gameApp #workInstruction .work-goal{display:flex!important;justify-content:center!important;align-items:center!important;gap:.8cqw!important;margin:0!important;min-height:0!important}.work-goal #workGoal{color:#e9f3f0!important;font:500 1.1cqw/1.2 var(--ui-font)!important}.work-goal #workCount{font:600 1.5cqw var(--ui-font)!important;color:#e5cb96!important;direction:ltr}.work-goal #machineHealth{position:static!important;display:flex!important;gap:.2cqw!important;background:none!important;margin:0!important;padding:0!important;width:auto!important;box-shadow:none!important;border:0!important}.work-goal #machineHealth>span{display:none!important}body.ui-v21 #gameApp #workInstruction #orderPictograms{display:flex!important;justify-content:center;gap:.7cqw;margin:0!important;padding:0!important;min-height:0!important}.order-pictograms .order-token{display:flex!important;align-items:center!important;gap:.25cqw!important;background:none!important;padding:0!important;border:0!important;box-shadow:none!important}.order-pictograms .product-art{width:1.8cqw!important;height:1.8cqw!important}.order-pictograms .order-token>b{font:600 1.1cqw var(--ui-font)!important;color:#f2dfb4!important}body.ui-v21 #gameApp #workNext{font:400 .95cqw/1.2 var(--ui-font)!important;color:#bcd3d4!important;margin:0!important;padding:0!important}.work-progress{display:none!important}body.ui-v21 #gameApp .score-readout,body.ui-v21 #gameApp .station-rail,body.ui-v21 #gameApp .deck-hint,body.ui-v21 #gameApp .world-caption,body.ui-v21 #gameApp .line-tag,body.ui-v21 #gameApp .interior-brand-sign{display:none!important}body.ui-v21 #gameApp #timingCue{display:none!important}body.ui-v21 #gameApp .actor-charge{background:#173a43ee!important;color:#e2eae8!important;border:1px solid #b8cfd155!important;border-radius:.5cqw!important;box-shadow:none!important;font:500 .9cqw var(--ui-font)!important;padding:.4cqh .5cqw!important}body.ui-v21 #gameApp #davidActor .actor-ready-call{background:#eec782!important;color:#4b3b22!important;border:0!important;border-radius:.5cqw!important;font:600 1cqw var(--ui-font)!important;box-shadow:none!important}body.ui-v21 #gameApp #davidActor.ready .actor-image{animation:none!important}body.ui-v21 #gameApp #machinePressure{box-shadow:0 .3cqh 1cqh #14373333!important}body.ui-v21 #gameApp #machinePressureCaption{font:500 .95cqw var(--ui-font)!important}body.ui-v21 #gameApp .packing-plan{top:16%!important;left:2%!important;background:#f3f7f4ed!important;box-shadow:none!important;border:1px solid #cadbd8!important;border-radius:.6cqw!important;font:500 .95cqw var(--ui-font)!important;width:21%!important}body.ui-v21 #gameApp .packing-plan small{font-size:.85cqw!important}
/* The game pause/help and messages obey the same visual language. */
body.ui-v21 #gameApp #pauseOverlay{z-index:70;background:#10293399;backdrop-filter:blur(4px)}body.ui-v21 #gameApp #pauseOverlay .modal-panel{width:46cqw!important;max-height:78cqh!important;box-sizing:border-box}body.ui-v21 #gameApp #pauseTitle{font-size:2.3cqw!important}body.ui-v21 #gameApp #pauseOverlay .text-button{font-size:1.05cqw!important;background:none!important;border:0!important;min-height:36px!important}.home-phone-popup{inset:16% 18% 9%!important;border-radius:1cqw!important;border:2px solid #526d76!important;box-shadow:0 0 0 40cqw #102830d9!important;padding:1cqh!important;z-index:70!important}.fold-contact-list{width:22%!important;padding:1cqh .8cqw!important}.fold-contact-list h2{font-size:1.5cqw!important}.fold-plan{font-size:.9cqw!important;min-height:36px!important;background:none!important;border-color:#6d8c9a!important}.fold-thread{padding:.8cqh 1cqw!important;gap:1cqh!important}.fold-thread h2{font-size:1.6cqw!important}.fold-message,.fold-reply{font:400 1.15cqw/1.5 var(--ui-font)!important;padding:1cqh .9cqw!important;border-radius:.7cqw!important}.fold-message small,.fold-reply small{font-size:.85cqw!important}.fold-reply small{color:#d5e7ec!important}.fold-choices button{font:500 1.1cqw var(--ui-font)!important;min-height:44px!important}.fold-close{min-width:36px!important;min-height:36px!important;width:3cqw!important;height:3cqw!important;border-radius:.5cqw!important}.fold-model{font-size:.8cqw!important}body.ui-v21 #gameApp #phoneDialog{z-index:50!important;left:2%!important;top:auto!important;bottom:17%!important;width:29%!important;max-height:65%!important;padding:1cqh!important;background:#edf4f4!important;border:1px solid #b9ced5!important;border-radius:.8cqw!important;box-shadow:var(--ui-shadow)!important}body.ui-v21 #gameApp #phoneDialog .phone-system-status,body.ui-v21 #gameApp #phoneDialog .phone-device-name,body.ui-v21 #gameApp #phoneDialog .phone-notch,body.ui-v21 #gameApp #phoneDialog .phone-contact-avatar{display:none!important}body.ui-v21 #gameApp #phoneDialog .phone-top{height:auto!important;display:flex!important;justify-content:space-between!important;padding:0!important;gap:.5cqw!important;min-height:36px!important;background:none!important}body.ui-v21 #gameApp #phoneDialog .phone-top strong{font:600 1.2cqw var(--ui-font)!important;color:#254a58!important}body.ui-v21 #gameApp #phoneDialog .phone-eyebrow{font-size:.8cqw!important;color:#658594!important}body.ui-v21 #gameApp #phoneDialog .phone-countdown{font-size:.95cqw!important;color:#9b6349!important}body.ui-v21 #gameApp #phoneDialog .phone-message{font:400 1.15cqw/1.5 var(--ui-font)!important;background:#fff!important;color:#315563!important;padding:.8cqh!important;border:1px solid #d3e1e6!important;border-radius:.6cqw!important}body.ui-v21 #gameApp #phoneDialog .phone-message:before{display:none!important}body.ui-v21 #gameApp #phoneDialog .phone-choices{display:flex!important;gap:.5cqw!important}body.ui-v21 #gameApp #phoneDialog .phone-choices button{font:500 1cqw var(--ui-font)!important;min-height:44px!important;flex:1;padding:.7cqh!important;border:1px solid #b9d0d8!important;box-shadow:none!important;border-radius:.5cqw!important}body.ui-v21 #gameApp #phoneDialog #sendMoneyButton{background:#d5e8e8!important;color:#285363!important}body.ui-v21 #gameApp #phoneDialog #deferMoneyButton{background:#f5e5cc!important;color:#755b37!important}body.ui-v21 #gameApp #openPhoneButton{position:absolute!important;left:2%!important;top:15.5%!important;bottom:auto!important;width:11%!important;height:6.5%!important;min-height:36px!important;min-width:0!important;background:#e7f0f1!important;border:1px solid #bad1d7!important;border-radius:.6cqw!important;box-shadow:none!important;padding:.4cqh .5cqw!important;transform:none!important}body.ui-v21 #gameApp #openPhoneButton .fold-cover-name{display:none!important}body.ui-v21 #gameApp #openPhoneButton>img{width:2.1cqw!important;height:2.1cqw!important;min-width:0!important;min-height:0!important}body.ui-v21 #gameApp #openPhoneButton strong{font-size:1cqw!important;color:#315461!important}body.ui-v21 #gameApp #openPhoneButton small{font-size:.8cqw!important}body.ui-v21 #gameApp #openPhoneButton>b{font-size:.7cqw!important}
/* Compact landscapes retain the hierarchy, with scroll inside sheets only. */
@container(max-height:360px){.interface-header{height:14%;padding:.8cqh 1.5cqw}.interface-player img{width:4cqw;height:4cqw}.interface-player b{font-size:11px}.interface-player small{font-size:8px}.interface-cash{font-size:10px}.interface-location strong{font-size:13px}.interface-location small{font-size:8px}.interface-navigation>button{min-width:32px;min-height:32px;font-size:14px}.interface-vitals #timeValue{font-size:15px!important}.interface-vitals #livesValue svg{width:8px!important;height:8px!important}.ui-actionbar{height:15%;padding:.8cqh 1.5cqw}.ui-primary-action,.ui-secondary-action{font-size:11px!important;min-height:34px!important}.ui-secondary-actions>button{font-size:9px!important;min-height:32px!important;padding:3px 6px!important}.ui-actionbar>p{font-size:8px}.start-content>p{font-size:11px}.start-content nav>.ui-primary-action{font-size:14px!important}.start-save{font-size:9px}.start-utilities button{font-size:10px}.home-room .home-actions>p{display:none!important}.home-room .home-actions .ui-secondary-actions{min-width:0}.profile-room20 .player-sheet20{inset:17% 10% 3%!important}.quest-sheet20{inset:17% 10% 5%!important}.life-paper p{font-size:10px!important}.life-paper button{font-size:10px!important;min-height:34px!important}body.ui-v21 #gameApp .menu-sheet>div,body.ui-v21 #gameApp .modal-panel{max-height:78cqh;padding:3cqh 3cqw}.menu-sheet h2{font-size:17px!important}.menu-sheet p{font-size:11px!important}.menu-sheet>div>button{font-size:11px!important;min-height:34px!important}body.ui-v21.immersive-game #gameApp #workInstruction{top:1%!important;height:12%!important;width:38%!important;left:29%!important;gap:1px!important}body.ui-v21 #gameApp #workGoal{font-size:9px!important}body.ui-v21 #gameApp #workCount{font-size:12px!important}body.ui-v21 #gameApp #workNext{font-size:8px!important}.order-pictograms .product-art{width:16px!important;height:16px!important}body.ui-v21 #gameApp .order-pictograms .order-token>b{font-size:10px!important}.interface-header[data-screen='factory'] .interface-player span{display:none}.interface-header[data-screen='factory'] .interface-player{min-width:8%}.interface-header[data-screen='factory'] .interface-navigation>button{min-width:30px;min-height:30px}body.ui-v21 #gameApp #phoneDialog{width:35%!important;max-height:68%!important;bottom:15%!important}body.ui-v21 #gameApp #phoneDialog .phone-message{font-size:10px!important}body.ui-v21 #gameApp #phoneDialog .phone-choices button{font-size:10px!important;min-height:40px!important}.fold-thread h2{font-size:12px!important}.fold-message,.fold-reply{font-size:10px!important}.fold-message small,.fold-reply small{font-size:8px!important}.fold-choices button{font-size:10px!important;min-height:40px!important}.fold-model{font-size:7px!important}.fold-contact-list p{font-size:9px!important}.fold-contact-list h2{font-size:12px!important}.fold-plan{font-size:8px!important}.fold-close{min-width:30px!important;min-height:30px!important}.home-phone-popup{inset:15% 10% 3%!important}.home-phone-popup .fold-choices{margin-top:1cqh!important}.hub-dock20 .play-cta20{min-height:34px!important}.play-cta20 b{font-size:11px!important}.play-cta20 small{font-size:8px!important}.hub-tabs20 button{font-size:10px!important}.shift-steps20 small{font-size:8px}.pin-caption b{font-size:10px!important}.pin-caption small{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.start-brand-logo,.ui-primary-action,.pin-symbol{animation:none!important;transition:none!important}}
body.ui-v21 #gameApp>#interfaceHeader{z-index:45}body.ui-v21 #gameApp>#workInstruction{z-index:46!important}body.ui-v21.journey-active #gameApp>#workInstruction{display:none!important}body.ui-v21:has(.menu-sheet) #interfaceHeader,body.ui-v21:has(.home-phone-popup) #interfaceHeader,body.ui-v21.phase-paused:not(.journey-active) #interfaceHeader{display:none!important}body.ui-v21 #gameApp .clean-start .title-loop{opacity:1!important}
body.ui-v21.immersive-game #gameApp>#workInstruction{z-index:46!important}body.ui-v21.immersive-game #gameApp #controls .action-button>span:not([class]){display:block!important;position:absolute;bottom:2%;left:0;right:0;pointer-events:none}body.ui-v21.immersive-game #gameApp #controls .action-button>span:not([class]) strong{display:block!important;font-size:1cqw!important;line-height:1.2;background:#153944df;color:#fff;border-radius:.4cqw;padding:.3cqh .3cqw}body.ui-v21.immersive-game #gameApp #controls .action-button[data-action="peel"]>span:not([class]){display:none!important}
body.ui-v21.immersive-game #gameApp #workInstruction .work-goal{position:static!important;display:flex!important;flex-direction:row!important;width:auto!important;height:auto!important;inset:auto!important;transform:none!important;justify-content:center!important;gap:.8cqw!important}body.ui-v21.immersive-game #gameApp #workInstruction .work-goal>*{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:auto!important}body.ui-v21.immersive-game #gameApp #workInstruction #workGoal{font:500 1cqw var(--ui-font)!important}body.ui-v21.immersive-game #gameApp #workInstruction #workCount{font:600 1.3cqw var(--ui-font)!important}body.ui-v21.immersive-game #gameApp #workInstruction #orderPictograms{position:static!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important}body.ui-v21.immersive-game #gameApp #workInstruction #orderPictograms .product-art{width:1.7cqw!important;height:1.7cqw!important}body.ui-v21.immersive-game #gameApp #workInstruction #orderPictograms .order-token>b{font:600 1.1cqw var(--ui-font)!important}body.ui-v21.immersive-game #gameApp #workInstruction #workNext{position:static!important;inset:auto!important;transform:none!important}
body.ui-v21.immersive-game #gameApp #workInstruction .work-goal>*{flex:0 0 auto!important;text-align:center!important}body.ui-v21.immersive-game #gameApp #workInstruction .work-goal{direction:rtl!important}
body.ui-v21 #gameApp #packingPlan{left:auto!important;right:1.5%!important;top:16%!important;width:12%!important;padding:.8cqh .7cqw!important;pointer-events:none}body.ui-v21 #gameApp #packingPlan .plan-current,body.ui-v21 #gameApp #packingPlan .plan-chain>small{display:none!important}body.ui-v21 #gameApp #packingPlan .plan-chain{padding-top:.6cqh!important;margin-top:.6cqh!important}body.ui-v21 #gameApp #packingPlan .plan-chain>span{font-size:.8cqw!important}
body.ui-v21 #gameApp .map-location .object-skin{opacity:0!important}body.ui-v21 #gameApp .map-location .destination-name{left:50%!important;right:auto!important;bottom:0!important;top:auto!important;transform:translateX(-50%)!important;width:max-content!important;max-width:22cqw!important;box-sizing:border-box;background:#f6fafbf5!important;border:1px solid #d3e0e4!important;border-radius:.6cqw!important;padding:.8cqh 1.2cqw!important;font:600 1.2cqw var(--ui-font)!important;color:#203b48!important;text-shadow:none!important;box-shadow:0 .3cqh 1cqh #15343b33!important}body.ui-v21 #gameApp .map-location .destination-status{display:none!important}body.ui-v21 #gameApp .map-location{animation:none!important}

/* V22: floating interface. No full-width header/footer bars. */
body.ui-v21 #gameApp>#interfaceHeader{background:none;border:0;box-shadow:none;pointer-events:none}
.interface-header .interface-player,.interface-header .interface-navigation,.interface-header .interface-location{background:#163945ed;border:1px solid #d5e4e52b;box-shadow:0 .4cqh 1.6cqh #071c2833;border-radius:1.1cqw;padding:.7cqh .8cqw;box-sizing:border-box}
.interface-header .interface-player{min-width:0}.interface-header .interface-location{left:40%;right:40%;top:2.1cqh}.interface-header .interface-location strong{font-size:1.3cqw}.interface-header .interface-location small{font-size:.7cqw}.interface-header .interface-navigation{gap:.5cqw}.interface-header .interface-navigation>button{border:0;background:none}
body.ui-v21 #gameApp .ui-actionbar,body.ui-v21 #gameApp .hub-dock20{background:none!important;border:0!important;box-shadow:none!important;pointer-events:none}
.ui-actionbar>*,.hub-dock20>*{pointer-events:auto}.ui-actionbar>p{background:#173843ed;border-radius:1cqw;padding:1cqh 1cqw}.ui-secondary-actions{background:#173843ed;border-radius:1cqw;padding:.5cqh .5cqw}.hub-tabs20{background:#173843ed!important;border-radius:1cqw;padding:.4cqh!important}.shift-steps20{background:#173843ed;border-radius:1cqw;padding:1cqh 1.4cqw}.hub-dock20 .play-cta20{box-shadow:0 .6cqh 2cqh #14333e55!important}
body.ui-v21.immersive-game #gameApp #workInstruction{background:#173843f0!important;border:1px solid #cddfe440!important;border-radius:1cqw!important;left:34%!important;width:32%!important;top:1.8%!important;height:10.5%!important}
body.ui-v21.arcade-feed #gameStage[data-station='0'] #controls [data-action='smiley'],body.ui-v21.arcade-feed #gameStage[data-station='0'] #controls [data-action='mash'],body.ui-v21.arcade-feed #gameStage[data-station='0'] #controls [data-action='fries']{display:none!important}
body.ui-v21.arcade-feed #gameStage[data-station='0'] #controls::before{display:none!important}
body.ui-v21.arcade-feed #gameStage[data-station='0'] #controls [data-action='peel']{opacity:.85!important}
body.ui-v21 #gameApp .ingredient-dragging .product-art{transform:translate(var(--drag-x),var(--drag-y)) scale(1.2)!important;z-index:70;filter:drop-shadow(0 10px 5px #102f3844);pointer-events:none}
body.ui-v21 #gameApp #packingWorkspace:has(+.x){outline:none}
/* A large story interruption blocks input while the engine freezes the station clock. */
.phone-david-reaction{display:none}
body.ui-v21.phone-cinematic #gameApp::after{content:'';position:absolute;inset:0;background:#081b27c9;backdrop-filter:blur(4px);z-index:70;pointer-events:auto}
body.ui-v21.phone-cinematic #gameApp #phoneDialog{display:block!important;position:absolute!important;inset:9% 8%!important;width:auto!important;max-width:none!important;max-height:none!important;height:auto!important;z-index:75!important;background:#173d4b!important;border:1px solid #86b5bb!important;border-radius:2cqw!important;box-shadow:0 2cqh 8cqh #0008!important;overflow:hidden!important;transform:none!important;padding:4cqh 3cqw!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-david-reaction{display:block;position:absolute;left:0;bottom:0;width:39%;height:92%;object-fit:contain;object-position:bottom;pointer-events:none}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-top,body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-content{position:relative!important;right:0!important;left:auto!important;top:auto!important;width:58%!important;margin:0 0 0 auto!important;box-sizing:border-box!important;padding:1cqh 1cqw!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-top{height:auto!important;min-height:10cqh!important;background:none!important;border:0!important;display:flex!important;gap:1cqw!important;align-items:center!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-content{background:none!important;max-height:58cqh!important;overflow:auto!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-message{font:500 2cqw/1.5 var(--ui-font)!important;padding:2.5cqh 1.5cqw!important;background:#edf5f5!important;color:#203b48!important;border:0!important;border-radius:1cqw!important;box-shadow:none!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-choices{display:flex;gap:1cqw;flex-wrap:wrap;margin-top:3cqh!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-choices button{font:600 1.4cqw var(--ui-font)!important;min-height:8cqh!important;border-radius:.8cqw!important;padding:1.5cqh 1.5cqw!important;flex:1}
body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneName{font-size:2cqw!important;color:#fff!important}body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneEyebrow{font-size:1cqw!important;color:#c6dadd!important}
body.ui-v21.phone-cinematic #gameApp #minimizePhoneButton,body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-system-status,body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-device-name,body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-home-indicator,body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-fold-seam{display:none!important}
body.ui-v21 #gameApp #openPhoneButton{top:auto!important;bottom:2%!important;left:2%!important;right:auto!important;z-index:50!important}
body.ui-v21.phone-cinematic #gameApp>#interfaceHeader,body.ui-v21.phone-cinematic #gameApp>#workInstruction{visibility:hidden!important}
/* Skippable cinematic with HTML captions: Hebrew stays sharp and editable. */
.prologue-player{position:absolute;inset:0;background:#081923;color:#fff;overflow:hidden}.prologue-player video,.prologue-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prologue-player video{z-index:2}.prologue-still{background-size:cover;background-position:center;animation:prologue-push 15s linear both}.prologue-story{position:absolute;inset:auto 8% 10%;z-index:3;text-align:right;direction:rtl;text-shadow:0 2px 8px #000}.prologue-story:before{content:'';position:absolute;inset:-6cqh -10cqw -12cqh;z-index:-1;background:linear-gradient(transparent,#071724ed)}.prologue-story span{font-size:1cqw;color:#e8c68d}.prologue-story h2{font-size:3.4cqw;margin:1cqh 0}.prologue-story p{font-size:1.8cqw;margin:1cqh 0}.prologue-player>button{position:absolute;left:3%;top:4%;z-index:4;background:#173843df;color:white;border:1px solid #d6e5e75c;border-radius:1cqw;padding:1cqh 1.5cqw;font-size:1.1cqw}.prologue-progress{position:absolute;bottom:0;left:0;right:0;height:.5cqh;z-index:5;background:#ffffff22}.prologue-progress i{display:block;width:var(--film-progress);height:100%;background:#eec27a}@keyframes prologue-push{from{transform:scale(1)}to{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.prologue-still{animation:none}}
body.ui-v21.phone-cinematic #gameApp::after{display:none!important}body.ui-v21.phone-cinematic #gameApp #phoneDialog{box-shadow:0 0 0 100vmax #081b27c9!important;filter:none!important;backdrop-filter:none!important}body.ui-v21.phone-cinematic #gameApp #phoneDialog #minimizePhoneButton{display:none!important}
body.ui-v21 #gameApp #phoneDialog #phoneChoices[hidden],body.ui-v21 #gameApp #phoneDialog[hidden]{display:none!important}body.ui-v21 #gameApp .phone-david-reaction{pointer-events:none}body.ui-v21 #gameApp #sealPackButton:not(:disabled)::after{content:"סוגרים שקית ✓";position:absolute;bottom:-3cqh;right:0;left:0;text-align:center;font:600 1.15cqw var(--ui-font);background:#eec27a;color:#47371f;border-radius:.6cqw;padding:.7cqh .5cqw;box-shadow:0 .4cqh 1cqh #17384333}

/* V23 recovery: the agreed four-option menu, optional help in the corner. */
body.ui-v21 #gameApp .classic-menu23{top:17%!important;right:8%!important;width:31%!important;bottom:auto!important}
body.ui-v21 #gameApp .classic-menu23 h1{margin:0 0 4cqh!important}
body.ui-v21 #gameApp .classic-menu23 .start-brand-logo{max-height:25cqh!important;width:100%!important;object-fit:contain}
body.ui-v21 #gameApp .classic-menu23 nav{display:flex!important;flex-direction:column!important;gap:1.2cqh!important}
body.ui-v21 #gameApp .classic-menu23 nav>button{width:100%!important;min-height:7cqh!important;border-radius:.8cqw!important;font:600 1.5cqw var(--ui-font)!important;padding:1.5cqh 2cqw!important}
body.ui-v21 #gameApp .classic-menu23 nav>button:disabled{opacity:.38!important}
body.ui-v21 #gameApp .classic-menu23 .start-save{margin-top:2cqh!important;display:block!important;font-size:.9cqw!important}
.title-help23{position:absolute;top:3%;left:2%;z-index:5;width:3.4cqw;min-width:36px;height:3.4cqw;min-height:36px;background:#173c48e8;color:#f4efdc;border:1px solid #d6e5e76b;border-radius:50%;font:600 1.5cqw var(--ui-font);cursor:pointer}
body.ui-v21 #gameApp .prologue-player>[data-prologue-play]{left:33%!important;top:44%!important;width:34%!important;background:#eec27a!important;color:#47371f!important;font-size:1.8cqw!important;box-shadow:0 0 0 100vmax #0a1c2b88}
.story-film-fallback23{position:absolute;inset:30% 12%;padding:3cqh 3cqw;background:#163a46ed;color:#fff;text-align:center;direction:rtl;border-radius:1cqw}.story-film-fallback23 h2{font-size:3cqw}.story-film-fallback23 p{font-size:1.5cqw}

body.ui-v21 #gameApp .classic-menu23 nav>button{font-size:clamp(13px,1.6cqw,22px)!important;min-height:clamp(34px,7cqh,56px)!important}.classic-menu23 .start-save{font-size:clamp(9px,.9cqw,13px)!important}
/* Potato gold, inked outlines and tactile illustrated controls, matching the logo. */
body.ui-v21 #gameApp .ui-primary-action,body.ui-v21 #gameApp .classic-menu23 nav>button,body.ui-v21 #gameApp .sheet-primary,body.ui-v21 #gameApp .life-primary,body.ui-v21 #gameApp .play-cta20,body.ui-v21 #gameApp .boss-finish{
 border:3px solid #462e22!important;border-bottom-width:6px!important;border-radius:24px 18px 23px 16px!important;box-shadow:0 4px 0 #160f1970,0 8px 18px #071d2b44!important;font-family:'Fredoka Game','Rubik Game',sans-serif!important;font-weight:600!important;transition:transform .16s cubic-bezier(.2,.9,.25,1.3),filter .16s,box-shadow .16s!important;position:relative;isolation:isolate
}
body.ui-v21 #gameApp .ui-primary-action,body.ui-v21 #gameApp .classic-menu23 nav>.ui-primary-action,body.ui-v21 #gameApp .sheet-primary,body.ui-v21 #gameApp .play-cta20{background:radial-gradient(ellipse at 9% 30%,#ac722c66 0 2px,transparent 3px),radial-gradient(ellipse at 89% 69%,#ac722c66 0 3px,transparent 4px),radial-gradient(ellipse at 81% 17%,#fff8bb99 0 5px,transparent 6px),linear-gradient(#ffe293,#e8a842)!important;color:#432f20!important;text-shadow:0 1px #fff2b9!important}
body.ui-v21 #gameApp .classic-menu23 nav>.ui-secondary-action{background:linear-gradient(#2d5960,#173b46)!important;color:#fff4d8!important;border-color:#0e252e!important;box-shadow:inset 0 2px #608786,0 4px 0 #081d2c70!important;text-shadow:1px 2px #0d252e!important}
body.ui-v21 #gameApp .classic-menu23 nav>button:hover:not(:disabled),body.ui-v21 #gameApp .ui-primary-action:hover:not(:disabled),body.ui-v21 #gameApp .play-cta20:hover:not(:disabled){transform:translateY(-3px) rotate(-.5deg)!important;filter:brightness(1.08)}
body.ui-v21 #gameApp .classic-menu23 nav>button:active:not(:disabled),body.ui-v21 #gameApp .ui-primary-action:active:not(:disabled){transform:translateY(3px) scale(.98)!important;border-bottom-width:3px!important}
body.ui-v21 #gameApp .classic-menu23 nav>button:focus-visible{outline:3px solid #ffdc76!important;outline-offset:5px!important}
body.ui-v21 #gameApp .classic-menu23 .ui-primary-action::before{content:'';position:absolute;left:4%;top:20%;height:60%;width:9%;background:url('./assets/v10/potato-stars.webp') center/contain no-repeat;transform:rotate(-12deg);filter:drop-shadow(1px 2px 0 #845120)}
body.ui-v21 #gameApp .interface-player,body.ui-v21 #gameApp .interface-navigation,body.ui-v21 #gameApp .interface-location,body.ui-v21.immersive-game #gameApp #workInstruction{border:2px solid #0d2630!important;border-bottom-width:4px!important;background:linear-gradient(#315963,#173b47)!important;box-shadow:inset 0 1px #60868b,0 3px 0 #071d2b66!important;border-radius:15px 9px 15px 9px!important}
body.ui-v21 #gameApp .interface-player img{border:3px solid #edc26d!important;box-shadow:0 2px #081e2e}
body.ui-v21 #gameApp #workGoal,body.ui-v21 #gameApp .interface-player b,body.ui-v21 #gameApp .interface-location strong{font-family:'Fredoka Game','Rubik Game',sans-serif!important;color:#fff0c4!important;text-shadow:1px 2px #0b2530}
body.ui-v21 #gameApp .pin-caption{border:2px solid #24413d!important;border-bottom-width:4px!important;border-radius:12px 8px 12px 8px!important;background:linear-gradient(#fff6d5,#ebdcb2)!important;color:#24413d!important}
body.ui-v21 #gameApp .pin-caption b{font-family:'Fredoka Game','Rubik Game',sans-serif!important;font-size:1.25cqw!important}
body.ui-v21 #gameApp .pin-symbol{border:2px solid #233e3b!important;box-shadow:0 3px 0 #17373588!important;background:#f8df98!important}
body.ui-v21 #gameApp .room-pin:hover:not(:disabled) .pin-symbol{transform:translateY(-4px) rotate(-7deg)!important}

/* Phone art is a real device. David and his comic reaction stay outside it. */
.fold-interior-art,#smsDavidStage{display:none}
body.ui-v21.phone-cinematic #gameApp #phoneDialog{inset:9% 1% 9% 37%!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:0 0 0 100vmax #081b27cb!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog::before,body.ui-v21.phone-cinematic #gameApp #phoneDialog::after{content:none!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog>.fold-interior-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;pointer-events:none}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-david-reaction{display:none!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-top{position:absolute!important;left:16%!important;right:16%!important;top:17%!important;width:auto!important;min-height:0!important;height:15%!important;padding:0!important;margin:0!important;z-index:2}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-content{position:absolute!important;left:16%!important;right:16%!important;top:34%!important;bottom:18%!important;width:auto!important;max-height:none!important;overflow:auto!important;padding:0!important;margin:0!important;z-index:2}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-contact-avatar{display:none!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneName{font:600 1.6cqw 'Fredoka Game'!important;color:#ffe4a1!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneEyebrow{font-size:.85cqw!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneCountdown{font-size:1.15cqw!important;color:#ffe4a1!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-chat-date{display:none!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-message{font:500 1.45cqw/1.45 'Rubik Game'!important;background:#fff0ce!important;border:2px solid #092735!important;border-radius:15px 15px 4px 15px!important;padding:1.2cqh 1cqw!important;color:#223c45!important;margin:0!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-choices{margin-top:1.5cqh!important;gap:.7cqw!important}
body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-choices button{font:600 1.15cqw 'Fredoka Game'!important;min-height:6cqh!important;border:2px solid #102a35!important;border-bottom-width:4px!important;border-radius:12px!important;flex:1;background:linear-gradient(#ffe7a3,#edbe66)!important;color:#3b2e20!important;padding:.9cqh .7cqw!important}
body.ui-v21.phone-cinematic #gameApp #smsDavidStage{display:block;position:absolute;left:1%;bottom:0;z-index:78;width:39%;height:78%;pointer-events:none}
#smsDavidStage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom}
#smsDavidStage>p{position:absolute;right:5%;top:0;margin:0;padding:1.5cqh 1.6cqw;background:#fff1ca;color:#3e3125;border:3px solid #392c24;border-radius:25px 25px 25px 3px;box-shadow:4px 5px #081f2c66;transform:rotate(-4deg);font:600 2.2cqw/1.15 'Fredoka Game';text-align:center;direction:rtl}
body.ui-v21 #gameApp #davidActor .actor-panic-line{display:block!important;pointer-events:none;opacity:0;position:absolute;right:-15%;top:5%;background:#fff0ca;color:#432f20;border:2px solid #3e2c22;border-radius:16px 16px 16px 3px;padding:1cqh 1cqw;font:600 1.4cqw/1.2 'Fredoka Game'!important;transform:rotate(-4deg)}
body.ui-v21 #gameApp #davidActor.panic-arrival .actor-panic-line{opacity:1}
body.ui-v21 #gameApp #openPhoneButton{border:2px solid #112b34!important;border-bottom-width:4px!important;box-shadow:0 4px #09212b66!important;border-radius:12px!important;background:linear-gradient(#315863,#153845)!important}

/* Stage three: fill → seal → physically dispatch. */
.dispatch-pack-dock{position:absolute;right:3%;top:42%;width:17%;height:16%;z-index:14;border:3px solid #284236;border-bottom:8px solid #594831;border-radius:7px;background:repeating-linear-gradient(0deg,#a7834d 0 16px,#80623c 17px 20px);color:#fff5d8;box-shadow:0 1cqh 1cqh #09212b44;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqh;font-family:'Fredoka Game'!important;cursor:pointer}
.dispatch-pack-dock>i{font-style:normal;font-size:2.5cqw;color:#e3cea2;line-height:1}.dispatch-pack-dock>b{font-size:1.4cqw;text-shadow:1px 2px #49371f}.dispatch-pack-dock>small{font-size:.7cqw;background:#24433add;padding:.3cqh .4cqw;border-radius:4px}
.dispatch-pack-dock:disabled{opacity:.62}.dispatch-pack-dock:not(:disabled){animation:shipping-ready .9s ease-in-out infinite alternate;outline:3px dashed #ffdb7a;outline-offset:5px}.dispatch-pack-dock.drop-active{filter:brightness(1.3);transform:scale(1.06)}
.await-dispatch .open-bag{cursor:grab;touch-action:none}.await-dispatch .open-bag::after{content:'אטום ✓';position:absolute;top:19%;left:17%;right:17%;z-index:8;background:#d7d8a9;color:#2c4539;border:2px dashed #647652;text-align:center;padding:.6cqh;font:600 1.4cqw 'Fredoka Game';transform:rotate(-3deg)}
.open-bag.shipping-drag{transform:translate(var(--ship-x),var(--ship-y)) rotate(5deg)!important;z-index:60!important;filter:drop-shadow(0 14px 12px #0b283a55);transition:none!important;cursor:grabbing}.await-dispatch #undoPackButton{display:none!important}
@keyframes shipping-ready{to{filter:brightness(1.15);translate:0 -3px}}

/* Prime QTE arena: all cinematic and combat input stays in this temporary layer. */
body.boss-active #gameApp #pauseOverlay,body.boss-active #gameApp>#interfaceHeader,body.boss-active #gameApp>#workInstruction,body.boss-active #gameApp #phoneDialog,body.boss-active #gameApp #openPhoneButton{display:none!important}
.prime-boss-layer{position:absolute;inset:0;z-index:110;overflow:hidden;background:#102f3d;font-family:'Fredoka Game','Rubik Game',sans-serif;color:#fff2c8;direction:rtl;isolation:isolate}
.boss-arena-art{position:absolute;inset:-1%;background:url('./assets/v24/arena.webp') center/cover;animation:boss-breathe 5s ease-in-out infinite alternate}
.boss-arena-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#071c2d22,transparent 60%,#071c2da8)}
.boss-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.boss-letterbox{position:absolute;left:0;right:0;height:10%;background:#05080e;z-index:8;pointer-events:none;transition:transform .3s ease}.boss-letterbox-top{top:0;transform:translateY(-105%)}.boss-letterbox-bottom{bottom:0;transform:translateY(105%)}[data-phase='intro'] .boss-letterbox{transform:translateY(0)}
.prime-comic-flash{position:absolute;inset:0;z-index:5;background:url('./assets/v24/prime-panels.webp') center/cover;opacity:0;pointer-events:none}[data-phase='intro'] .prime-comic-flash{animation:prime-comic-frames 8s linear both}
.boss-head{position:absolute;inset:2.5% 2% auto;display:flex;align-items:flex-start;justify-content:space-between;z-index:9;gap:2cqw;transition:opacity .3s}
.boss-head>div{background:#102e3de8;border:3px solid #0b1b25;border-bottom-width:5px;border-radius:15px 8px 15px 8px;padding:1cqh 1.3cqw;box-shadow:inset 0 1px #6f8b88}
.boss-head small{font-size:.8cqw;color:#bdd3cf}.boss-head h1{font:600 2cqw/1 'Fredoka Game';margin:.4cqh 0 .8cqh;text-shadow:2px 3px #142632;color:#ffdf7e}.boss-head [data-boss-hp]{display:flex;gap:.6cqw;direction:ltr}
.boss-potato-heart{display:block;width:2.8cqw;height:3.4cqh;border-radius:45% 55% 39% 61%;background:radial-gradient(circle at 25% 35%,#b37339 0 2px,transparent 3px),linear-gradient(#ffe795,#d79b45);border:2px solid #442e22;color:transparent;box-shadow:0 3px #071824}.boss-potato-heart.spent{filter:grayscale(1);opacity:.25}
.boss-player{display:flex;align-items:center;gap:1cqw}.boss-player img{width:4cqw;height:4cqw;border:3px solid #f0cd76;border-radius:50%}.boss-player b{font:600 2cqw 'Rubik Game';color:#ff9279;letter-spacing:.2cqw}
body.ui-v21 #gameApp #primeBossLayer button{font-family:'Fredoka Game'!important}
.boss-head>button{background:#183c4c;color:#ffdc80;border:2px solid #0c2531;border-bottom-width:4px;border-radius:10px;width:3.7cqw;height:3.7cqw;min-width:34px;min-height:34px;font-size:1.5cqw;cursor:pointer}
.boss-callout{position:absolute;top:16%;left:24%;right:24%;z-index:7;text-align:center;pointer-events:none}.boss-callout h2{font:600 2.5cqw/1.1 'Fredoka Game';margin:0;text-shadow:2px 3px #092533,-1px -1px #092533;color:#ffe59b}.boss-callout p{font:500 1.1cqw/1.4 'Rubik Game';margin:1cqh 0;color:#fff8e6;text-shadow:1px 2px 2px #08202f}
.boss-qte{position:absolute;left:43%;bottom:23%;width:14%;height:24%;z-index:7;display:grid;place-items:center;filter:drop-shadow(0 5px 2px #0a253b66)}
.boss-qte>span{font:700 6cqw/.9 'Rubik Game';color:#ffe08a;-webkit-text-stroke:2px #382b24;text-shadow:3px 5px #1d3039}.boss-qte>b{position:absolute;bottom:0;font:600 1.5cqw 'Rubik Game';color:#fff5d9;background:#163d4a;padding:.3cqh .6cqw;border-radius:7px}.boss-qte>i{position:absolute;inset:-7%;border:7px solid #f4ce79;border-bottom-color:#193b4c;border-radius:50%;transform:scale(var(--qte-left,1));opacity:.85;z-index:-1}
.boss-controls{position:absolute;bottom:3%;left:27%;right:27%;z-index:9;display:flex;gap:1cqw;direction:ltr}
.boss-controls>button{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(#fff1bf,#edbe63);color:#3e3023;border:3px solid #3e2e23;border-bottom-width:7px;border-radius:20px 14px 20px 14px;padding:1cqh .7cqw;box-shadow:0 5px #09253588;cursor:pointer;transition:transform .12s,filter .12s;min-height:10cqh}
.boss-controls>button>b{font:700 2.8cqw/.9 'Rubik Game'}.boss-controls>button>span{font-size:1.3cqw;margin-top:.5cqh}.boss-controls>button>small{font-size:.7cqw;opacity:.65}.boss-controls>button:disabled{filter:grayscale(.5);opacity:.7}.boss-controls>button.expected{box-shadow:0 0 0 3px #fff4ba,0 5px #09253588;animation:qte-select .6s ease-in-out infinite alternate}.boss-controls>button:active{transform:translateY(4px) scale(.97)}
.boss-skip{position:absolute;left:3%;top:12%;z-index:12;border:1px solid #b9c9ca;background:#163748da;color:#f4e6bc;border-radius:9px;padding:.8cqh 1cqw;font-size:.95cqw;cursor:pointer}
.boss-finish{position:absolute;bottom:8%;left:30%;right:30%;z-index:12;background:linear-gradient(#ffe9a6,#eabd60);color:#3e3023;padding:1.5cqh 1.7cqw;font-size:1.7cqw;cursor:pointer;min-height:9cqh}
.boss-pause-sheet{display:none;position:absolute;inset:0;z-index:20;background:#081d2ddd;backdrop-filter:blur(4px);align-items:center;justify-content:center;flex-direction:column;gap:2cqh}.boss-pause-sheet h2{font:600 3cqw 'Fredoka Game';color:#ffe399}.boss-pause-sheet button{border:2px solid #392c24;border-bottom-width:5px;border-radius:14px;padding:1.5cqh 2cqw;background:#edc87e;color:#392c24;font-size:1.5cqw;cursor:pointer}.is-paused .boss-pause-sheet{display:flex}
[data-phase='intro'] .boss-head{opacity:0;pointer-events:none}[data-phase='intro'] .boss-callout{top:auto;bottom:12%}[data-phase='intro'] .boss-callout h2{font-size:4cqw}
[data-phase='reaction'][data-result='hit'] .boss-arena-art{animation:boss-impact .45s ease-out}[data-phase='reaction'][data-result='miss'] .boss-arena-art{animation:boss-hurt .4s ease-in-out}
[data-phase='won'] .boss-callout,[data-phase='lost'] .boss-callout{top:31%;left:12%;right:12%;padding:3cqh;background:#0c283ad9;border:3px solid #edc774;border-radius:20px;box-shadow:0 0 0 100vmax #08223888}
[data-phase='won'] .boss-callout h2{font-size:4cqw}[data-phase='lost'] .boss-callout h2{font-size:3.2cqw}
@keyframes boss-breathe{to{transform:scale(1.015) translateY(-.4%)}}@keyframes qte-select{to{filter:brightness(1.15);translate:0 -4px}}@keyframes boss-impact{20%{transform:translateX(1.5%)}60%{transform:translateX(-1%)}}@keyframes boss-hurt{20%,60%{transform:translateX(-1%)}40%,80%{transform:translateX(1%)}}@keyframes prime-comic-frames{0%,18%,36%,100%{opacity:0}21%,32%{opacity:1}}
@media(prefers-reduced-motion:reduce){.boss-arena-art,.boss-controls>button.expected,.dispatch-pack-dock:not(:disabled),[data-phase='intro'] .prime-comic-flash{animation:none!important}body.ui-v21 #gameApp .classic-menu23 nav>button:hover{transform:none!important}}
@container(max-height:360px){.boss-callout h2{font-size:18px}.boss-callout p{font-size:10px}.boss-controls>button>span{font-size:12px}.boss-controls>button>b{font-size:22px}.boss-controls>button>small{display:none}.boss-head h1{font-size:16px}.boss-head small{font-size:8px}.boss-player b{font-size:14px}.boss-skip{font-size:10px}.boss-finish{font-size:14px!important}.dispatch-pack-dock>b{font-size:12px}.dispatch-pack-dock>small{font-size:7px}body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-message{font-size:12px!important}body.ui-v21.phone-cinematic #gameApp #phoneDialog .phone-choices button{font-size:11px!important;min-height:35px!important}body.ui-v21.phone-cinematic #gameApp #phoneDialog #phoneName{font-size:14px!important}#smsDavidStage>p{font-size:17px}}

/* Scope new controls above legacy game-wide button positioning. */
body.ui-v21 #gameApp #primeBossLayer .boss-finish{position:absolute!important;top:auto!important;bottom:8%!important;left:30%!important;right:30%!important;width:auto!important;border:3px solid #493525;border-bottom-width:7px;border-radius:18px 12px}
body.ui-v21 #gameApp #primeBossLayer .boss-skip{position:absolute!important}
body.boss-active #interfaceHeader,body.boss-active #workInstruction{visibility:hidden!important;pointer-events:none!important}
body.ui-v21 #gameApp #dispatchPackButton{position:absolute!important;top:42%!important;right:3%!important;left:auto!important;bottom:auto!important;width:17%!important;height:16%!important}

body.ui-v21.phone-cinematic #gameApp #phoneDialog{box-shadow:none!important}
body.ui-v21.phone-cinematic #worldStageFrame{filter:brightness(.28) saturate(.7)!important}
body.ui-v21.phone-cinematic #davidActor{visibility:hidden!important}

body.ui-v21 #gameApp #packingWorkspace.await-dispatch .open-bag{pointer-events:auto!important;touch-action:none!important;cursor:grab;z-index:12}
body.ui-v21 #gameApp #packingWorkspace.await-dispatch .open-bag>*{pointer-events:none!important}
body.ui-v21 #gameApp #packingWorkspace.await-dispatch .open-bag.shipping-drag{cursor:grabbing}

body.ui-v21 #gameApp #dispatchPackButton{background:url('./assets/v24/shipping-crate.webp') center/contain no-repeat!important;border:0!important;box-shadow:none!important;border-radius:0!important;outline:none!important;overflow:visible}
body.ui-v21 #gameApp #dispatchPackButton>i{display:none}
body.ui-v21 #gameApp #dispatchPackButton>b{position:absolute;top:54%;left:0;right:0;text-align:center;color:#3e3023;text-shadow:none;font-size:1.4cqw}
body.ui-v21 #gameApp #dispatchPackButton>small{position:absolute;top:76%;left:0;right:0;text-align:center;background:none;color:#183d43;padding:0;font-weight:600;font-size:.72cqw}
body.ui-v21 #gameApp #dispatchPackButton:not(:disabled){filter:drop-shadow(0 0 5px #ffdb7a)}
