/* Generated compatibility styles. Edit ui-system.css for interface changes. */
/* styles.css */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#202725;--paper:#eeecdf;--gold:#f5c665;--green:#a2c28a;--world-image:url('./assets/factory-peeling.webp');font-family:Heebo,Arial,sans-serif;color:var(--paper);background:#141b19;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;touch-action:manipulation;user-select:none}button:disabled{cursor:default}button:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}svg{width:22px;height:22px;fill:currentColor;display:block;flex:none}button>svg{pointer-events:none}button[hidden],[hidden]{display:none!important}h1,h2,p{margin:0}em{font-style:normal}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.game-app{width:100%;height:100vh;height:100dvh;display:grid;grid-template-rows:62px 48px minmax(0,1fr) auto;position:relative;background:var(--world-image) center / cover no-repeat;isolation:isolate;padding-top:env(safe-area-inset-top)}.game-app::before{content:"";position:absolute;inset:0;background:linear-gradient(#17211c80,#17211c00 40%,#17211c88);z-index:-1}.game-topbar{display:flex;justify-content:space-between;align-items:center;padding:7px max(24px,env(safe-area-inset-right)) 3px max(24px,env(safe-area-inset-left));background:linear-gradient(#202725f5,#202725c9);gap:12px;z-index:3}.run-heading{display:flex;align-items:center;gap:16px;min-width:0}.brand-logo{width:75px;height:38px;object-fit:contain}.run-divider{height:30px;width:1px;background:#e4e5d52e}.run-heading>div{display:flex;flex-direction:column;line-height:1.2;gap:3px}.run-eyebrow{font-size:11px;color:#c0c8b9}.run-heading strong{font-size:18px;white-space:nowrap}.utility-actions{display:flex;gap:5px}.icon-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border:1px solid #a3af9d38;color:#e8ecdf;background:#242d28a6;border-radius:7px;transition:background .15s,transform .15s}.icon-button:hover{background:#475247}.icon-button:active{transform:translateY(2px)}.icon-button:disabled{opacity:.35}.pause-button{background:#d0d3c4;color:var(--ink)}.hud{display:flex;justify-content:space-between;align-items:center;padding:3px 28px 9px;gap:15px;background:linear-gradient(#202725c9,#20272500);position:relative;z-index:2}.score-readout{display:flex;align-items:baseline;gap:9px;min-width:170px}.score-readout>span{font-size:11px;color:#d0d4c7}.score-readout>strong{font-size:29px;letter-spacing:-.5px;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px #141b19}.combo-value{font-size:15px;color:var(--gold);font-family:Arial,sans-serif;direction:ltr;min-width:32px}.station-rail{display:flex;align-items:center;gap:12px;font-size:12px;color:#b0b8a9}.station-rail>i{width:28px;height:1px;background:#c3c7b346}.station{display:flex;align-items:center;gap:6px}.station::before{content:"";width:6px;height:6px;border:1px solid #aab29f;border-radius:50%}.station.current{color:var(--gold);font-weight:800}.station.current::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 9px #eec36770}.station.done{color:var(--green)}.station.done::before{background:var(--green);border-color:var(--green)}.hud-health{display:flex;align-items:center;gap:20px}.lives{display:flex;gap:5px;direction:ltr}.lives svg{width:16px;height:18px;color:#e36b5d;filter:drop-shadow(0 2px #171e19)}.lives svg.lost{color:#83907d5e;filter:none}.hud-health>strong{font-size:24px;font-family:Arial,sans-serif;font-weight:700;font-variant-numeric:tabular-nums;min-width:57px;direction:ltr}.hud-health.urgent>strong{color:#ff9882}.game-world{position:relative;overflow:hidden;min-height:0;z-index:1}.game-world::before{content:"";position:absolute;inset:0;background:linear-gradient(#18221d10,#18221d00 80%,#18221d45);pointer-events:none;z-index:1}.game-world canvas{width:100%;height:100%;display:block;object-fit:contain;touch-action:none;position:relative;z-index:0}.world-light{position:absolute;left:22%;top:0;width:50%;height:70%;background:radial-gradient(ellipse at top,#eef0bd18,transparent 65%);pointer-events:none}.world-caption{position:absolute;left:24px;right:24px;bottom:12px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:1;font-size:11px;color:#ecebddbf;text-shadow:0 1px 3px #192119}.line-tag{font:10px Arial,sans-serif;letter-spacing:2px}.timing-cue{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:7px;min-height:30px;background:#1e2923e8;border:1px solid #b8bfa16b;padding:5px 13px;border-radius:4px;font-size:12px;white-space:nowrap;box-shadow:0 3px 10px #0002;pointer-events:none}.timing-dot{height:7px;width:7px;background:#8a9b80;border-radius:50%}.timing-cue.ready{background:#d9e0c2;color:#243422;border-color:#f0e8a7;font-weight:800;box-shadow:0 0 22px #cfdb8e38}.timing-cue.ready .timing-dot{background:#49773d;box-shadow:0 0 0 3px #7f9e5450}.timing-cue.perfect{border-color:var(--gold);background:var(--gold)}.timing-cue.waiting{opacity:.65}.game-toast{position:absolute;top:55px;left:50%;transform:translate(-50%,8px);color:var(--paper);background:#1d2824eb;border:1px solid #bfc7a93b;padding:8px 18px;font-size:14px;font-weight:700;pointer-events:none;opacity:0;transition:opacity .16s,transform .16s;z-index:7;width:max-content;max-width:85%;text-align:center;border-radius:4px}.game-toast.visible{opacity:1;transform:translate(-50%,0)}.game-toast.bad{background:#69352fec;color:#ffe2ce;border-color:#d86b5c}.game-toast.prime{color:var(--gold);border-color:var(--gold)}
.control-deck{z-index:4;background:linear-gradient(110deg,#9ca59a,#d0d2c3 38%,#b5bdb0 70%,#808d83);border-top:3px solid #e2e3d4;box-shadow:0 -7px 0 #27332b,0 -9px 0 #aab4a0,0 -18px 28px #101a2140;color:var(--ink);padding:9px max(24px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:relative}.control-deck::before,.control-deck::after{content:"";width:7px;height:7px;border-radius:50%;border:1px solid #38483b66;background:linear-gradient(135deg,#6f7b6b,#d0d7be);position:absolute;top:11px;left:9px}.control-deck::after{left:auto;right:9px}.deck-topline{display:flex;align-items:center;gap:12px;margin-bottom:8px;min-height:22px;font-size:12px}.order-readout{display:flex;gap:8px;align-items:center}.order-led{height:6px;width:6px;background:#587741;border-radius:50%;box-shadow:0 0 0 2px #71856133}.order-readout>strong{font-size:12px}.order-readout>span:last-child{font-size:12px;color:#495747;border-right:1px solid #52604c55;padding-right:8px}.task-progress{display:flex;align-items:center;gap:4px;direction:ltr;font-weight:700;color:#53614d}.task-progress>span:first-child{font-size:17px;color:#273923}.task-progress svg{height:17px;width:17px;margin-left:3px}.machine-health{display:flex;align-items:center;gap:4px;margin-right:auto}.machine-health>span{font-size:11px;color:#4e5c48;margin-left:4px}.machine-health>i{height:7px;width:7px;border-radius:1px;background:#5f7c48;border:1px solid #415934}.machine-health>i.damaged{background:#ba4738;border-color:#7d2c24}.deck-main{display:flex;gap:14px;align-items:stretch}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;flex:1;min-width:0}.action-button{position:relative;border:1px solid #18251e;border-bottom:4px solid #17241c;border-radius:7px;min-height:84px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#f2f0df,#cdd1ba);box-shadow:0 1px 0 #f9fbe5 inset,0 3px 0 #55634b69;color:#263523;transition:transform .08s,background .15s;overflow:hidden;min-width:0}.action-button:hover{background:linear-gradient(#fff9df,#dbe0bf)}.action-button>span:not(.product-art){display:flex;flex-direction:column;align-items:flex-start;gap:2px;position:relative;z-index:1}.action-button strong{font-size:15px;font-weight:800;white-space:nowrap;line-height:1.2}.action-button small{font-size:11px;line-height:1.3;color:#63705b}.action-button kbd{position:absolute;left:6px;bottom:5px;font:10px Arial,sans-serif;color:#5e6c5388}.action-button:active,.action-button.pressed{transform:translateY(3px);border-bottom-width:1px;margin-bottom:3px;box-shadow:inset 0 2px 7px #18251e36}.action-button:disabled{opacity:.55}.product-art{display:block;flex:none;height:48px;width:48px;background-image:url('./assets/products.webp');background-size:400% 200%;background-repeat:no-repeat;filter:drop-shadow(0 2px 0 #29332930)}.product-peel{background-position:0 0}.product-smiley{background-position:66.6667% 0}.product-mash{background-position:100% 0}.product-fries{background-position:0 100%}.product-reject{background-position:33.3333% 100%}.reject-button{color:#f4eadd;background:linear-gradient(#b84b3f,#92382f);border-color:#54241e;border-bottom-color:#4a211d;box-shadow:0 1px 0 #e58e6555 inset,0 3px 0 #603c2960}.reject-button:hover{background:linear-gradient(#ca5c48,#a14335)}.reject-button small,.reject-button kbd{color:#efc8b6}.reject-mark{position:absolute;right:30px;top:50%;transform:translateY(-50%);font:700 39px Arial,sans-serif;color:#f9e4c7b0;text-shadow:0 2px 0 #622f26;z-index:1;pointer-events:none}.controls.loading{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.controls.loading .action-button{grid-column:span 2;min-height:48px;order:1;padding:4px 9px}.controls.loading .action-button .product-art{height:29px;width:29px}.controls.loading .action-button strong{font-size:13px}.controls.loading .action-button small{display:none}.controls.loading .peel-button,.controls.loading .reject-button{grid-column:span 3;order:2;min-height:57px}.controls.loading .peel-button .product-art,.controls.loading .reject-button .product-art{height:39px;width:39px}.controls.loading .peel-button strong,.controls.loading .reject-button strong{font-size:15px}.controls.loading .peel-button small,.controls.loading .reject-button small{display:block;font-size:11px}.controls.loading .reject-button .product-art{background-image:url('./assets/v2/products-detail.webp');background-size:400% 100%;background-position:33.3333% 0}.controls.loading .reject-mark{right:calc(50% - 72px);font-size:32px}.action-button.selected{background:linear-gradient(#c6d3a9,#9bae84);border-color:#344c2d;box-shadow:0 0 0 1px #dbe4c1 inset,0 3px 0 #55634b69}.action-button.selected::after{content:"✓";position:absolute;left:6px;top:4px;font-size:12px;font-weight:900;color:#3d602f}.controls.packing{grid-template-columns:repeat(3,minmax(0,1fr))}.controls.packing .action-button{border-radius:9px 9px 14px 14px;background:linear-gradient(90deg,#e3ddca 2%,#f9f3df 12%,#e5dfc7 86%,#b8bba4 99%);border-top:5px double #91977c}.controls.packing .product-art{height:53px;width:53px}.controls:not(.loading):not(.packing) .action-button>.product-art{background-image:url('./assets/v2/bins.webp');background-size:400% 100%;height:65px;width:49px;background-position:0 0}.controls:not(.loading):not(.packing) .product-mash{background-position:33.3333% 0!important}.controls:not(.loading):not(.packing) .product-fries{background-position:66.6667% 0!important}.controls:not(.loading):not(.packing) .product-reject{background-position:100% 0!important}.controls:not(.loading):not(.packing) .reject-mark{display:none}.prime-module{width:265px;display:flex;flex-direction:column;justify-content:center;gap:8px}.prime-button{position:relative;display:flex;align-items:center;gap:10px;text-align:right;color:#cfd4bf;width:100%;min-height:68px;padding:10px 12px 14px;border:1px solid #161f16;border-bottom:4px solid #152016;border-radius:6px;background:linear-gradient(#3b4737,#283627);box-shadow:0 1px 0 #aeb59a3a inset,0 3px 0 #55634b69;overflow:hidden}.prime-button>svg{color:#a3aa86;width:29px;height:29px}.prime-button>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.prime-button strong{font-size:16px;line-height:1.1}.prime-button small{font-size:11px;color:#b0b99e;line-height:1.1}.prime-button>b{font:700 15px Arial,sans-serif;color:#c7ceb0}.prime-meter{position:absolute;left:7px;right:7px;height:4px;bottom:5px;background:#131d15;border-radius:1px;overflow:hidden;direction:ltr}.prime-meter>i{display:block;height:100%;width:0;background:#92a76e;transition:width .2s linear}.prime-module.ready .prime-button{background:linear-gradient(#e2b454,#c99c40);color:#302c1c;border-color:#605025;box-shadow:0 0 22px #fac65655,0 3px 0 #6b552f}.prime-module.ready .prime-button small,.prime-module.ready .prime-button>b,.prime-module.ready .prime-button>svg{color:#514422}.prime-module.ready .prime-meter>i{background:#fff0aa}.prime-module.active .prime-button{background:linear-gradient(#7f482b,#4e3329);border-color:#f5c665;color:#ffde94;box-shadow:0 0 24px #f5c66533}.prime-module.active .prime-meter>i{background:var(--gold)}.bag-tally{display:flex;align-items:center;gap:5px;font-size:11px;color:#52614b;min-height:18px;white-space:nowrap}.bag-tally>svg{height:15px;width:15px}.bag-tally>b{font-size:13px;color:#253920}.bag-tally>span:first-of-type{margin-left:auto}.bag-mini{display:flex;gap:1px;align-items:center}.bag-mini .product-art{width:16px;height:16px}.bag-mini>b{font-family:Arial,sans-serif;font-size:11px}.bag-mini.bump{animation:bag-bump .3s ease}.deck-hint{font-size:11px;color:#54624d;margin-top:5px;line-height:1.3}.tutorial-focus{outline:3px solid var(--gold)!important;outline-offset:3px;box-shadow:0 0 0 5px #5c4b2244,0 0 24px #ffd47780!important;z-index:6}.tutorial-coach{position:absolute;right:20px;top:13px;z-index:8;width:330px;padding:12px 12px 14px;display:flex;gap:10px;align-items:flex-start;border:1px solid #d5dabd;border-bottom:4px solid #87937b;border-radius:8px;color:#263623;background:#f0efdf;box-shadow:3px 5px 0 #18231d55}.coach-avatar{width:49px;height:57px;flex:none;background:#d3dbc3 url('./assets/david-normal.webp') center top / 100px auto no-repeat;border:1px solid #9aa68a;border-radius:5px}.coach-copy{flex:1;min-width:0}.coach-heading{display:flex;justify-content:space-between;align-items:center;height:17px;margin-bottom:5px;font-size:11px;font-weight:700;color:#7b866c}.coach-heading>button{font-size:11px;min-width:44px;min-height:44px;margin:-12px -5px -12px -9px;background:transparent;border:0;color:#69725f}.coach-copy>strong{font-size:15px;line-height:1.2;display:block}.coach-copy>p{font-size:12px;line-height:1.5;margin-top:5px;color:#4c5c42}.tutorial-dots{position:absolute;bottom:5px;left:12px;display:flex;gap:3px;direction:ltr}.tutorial-dots i{height:3px;width:13px;background:#bcc6ab}.tutorial-dots i.done{background:#697e50}.tutorial-dots i.current{background:#be8a31}.tutorial-start{margin-top:9px;min-height:48px!important;font-size:13px!important;padding:7px 12px!important}.is-tutorial .timing-cue{left:27%;top:13px}.is-tutorial .game-toast{top:auto;bottom:40px}.is-prime .game-app{box-shadow:inset 0 0 0 3px var(--gold)}.is-prime .game-topbar{background:linear-gradient(#3d2c20f5,#2a2b20cf)}
.phone-dialog{position:absolute;bottom:23px;left:20px;z-index:9;width:230px;padding:18px 11px 9px;border:4px solid #151f19;border-radius:23px;background:#dde5d3;color:#253820;box-shadow:4px 7px 0 #0a151c66,0 10px 24px #101d2326;transform-origin:bottom left;animation:phone-arrive .25s ease-out}.phone-notch{position:absolute;left:50%;top:4px;transform:translateX(-50%);height:4px;width:54px;border-radius:0 0 8px 8px;background:#151f19}.phone-top{display:flex;align-items:center;gap:7px;min-height:34px}.phone-contact-avatar{width:34px;height:34px;position:relative;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#bccdad;font-size:19px;font-weight:800;border:1px solid #a3b491;flex:none}.phone-contact-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}.phone-top>div{display:flex;flex-direction:column;gap:2px;flex:1}.phone-eyebrow{font-size:11px;color:#76836a;line-height:1}.phone-top strong{font-size:15px;line-height:1.1}.phone-countdown{font-size:12px;font-family:Arial,sans-serif;color:#af4435;white-space:nowrap;font-weight:700}.phone-minimize{width:29px;min-height:44px;background:transparent;color:#66745d;border:0;font-size:20px;margin:-5px 0 -5px -7px}.phone-message{font-size:12px;line-height:1.5;margin:9px 0;padding:9px;background:#f9f9ed;border:1px solid #c2ceb5;border-radius:8px 8px 2px 8px}.phone-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.phone-send,.phone-decline{min-height:49px;font-size:13px;line-height:1.2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 3px;border-radius:4px;border:1px solid #9aa98b;background:#e5ebda;color:#4e6043}.phone-send{color:#fff4e1;background:#a24035;border-color:#722d26;border-bottom-width:3px}.phone-send>strong{font:700 14px Arial,sans-serif;direction:ltr}.phone-disclaimer{display:block;font-size:11px;color:#7a866e;text-align:center;margin-top:7px}.phone-dialog.sent{background:#d9e8ca}.phone-dialog.expired,.phone-dialog.declined{background:#e9ddcd}.phone-dialog.sent .phone-countdown,.phone-dialog.expired .phone-countdown,.phone-dialog.declined .phone-countdown{display:none}.phone-dialog.minimized{width:230px}.phone-dialog.minimized .phone-content{display:none}.phone-dialog.minimized .phone-minimize{transform:rotate(180deg)}.phone-dialog.tutorial-focus{outline-offset:1px}.brawl-seized{position:absolute;bottom:12px;right:20px;z-index:2;background:#392c23de;color:#e7d8b9;border:1px solid #d6c69d36;border-radius:3px;padding:5px 9px;font-size:11px;transform:rotate(-2deg);pointer-events:none}.transition-banner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#14241de6;z-index:12;gap:8px;color:var(--paper);text-align:center}.transition-banner>span:first-child{font-size:12px;color:var(--gold);letter-spacing:1px}.transition-banner>strong{font-size:clamp(32px,4vw,58px);line-height:1.1;font-weight:900}.transition-banner>p{font-size:14px;color:#c1cbb4}.transition-line{height:3px;width:150px;background:var(--gold);margin-top:16px;animation:transition-progress 1.7s linear}
.screen-overlay{position:fixed;inset:0;z-index:30;width:100%;height:100vh;height:100dvh;overflow:hidden}.intro-overlay{background:#1e2923;color:var(--paper);display:flex;align-items:center;padding:40px 12vw 40px 50px;isolation:isolate}.menu-scene{position:absolute;inset:0;background:linear-gradient(90deg,#1c292319,#1a251fd9 60%,#1d2822f2 100%),url('./assets/factory-peeling.webp') center / cover;z-index:-3}.menu-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#16221df0,transparent 45%,#17231c90);box-shadow:inset 0 0 100px #15231c}.menu-david{position:absolute;bottom:-26%;left:1%;height:125%;max-width:70%;object-fit:contain;object-position:bottom;z-index:-1;filter:drop-shadow(-25px 14px 0 #101d2344) drop-shadow(0 0 45px #e2bd5a1c);transform:rotate(-2deg)}.menu-sparks{position:absolute;width:47vw;height:47vw;max-height:90vh;left:0;bottom:1vh;z-index:-2;background:radial-gradient(ellipse,#d7be613a,transparent 67%);transform:skewY(-7deg)}.menu-hazard{position:absolute;top:0;left:0;right:0;height:7px;background:repeating-linear-gradient(-50deg,#d0b362 0 15px,#27352b 15px 30px)}.menu-panel{position:relative;width:430px;max-width:50%;padding-top:5px}.panel-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.4px;color:#aebca0}.panel-eyebrow>i{height:6px;width:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px #f7c76555}.menu-panel h1{font-size:clamp(62px,7.4vw,119px);line-height:.9;letter-spacing:-5px;font-weight:900;margin:28px 0 18px;position:relative;text-shadow:0 5px 0 #101d19}.menu-panel h1>span{color:#c2ceb0;font-size:.55em;display:inline-block;transform:rotate(-12deg) translateY(-6px);border-bottom:4px solid #b8c4a5;line-height:.75}.menu-panel h1>em{color:var(--gold);letter-spacing:-6px}.menu-panel h1>b{color:#c44c3f}.menu-tagline{font-size:23px;line-height:1.4;color:#bec8b0}.menu-tagline>strong{font-weight:600;color:#e8edda}.menu-buttons{display:flex;flex-direction:column;gap:10px;max-width:330px;margin-top:28px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;width:100%;padding:12px 20px;background:linear-gradient(#c45242,#a23831);border:1px solid #782c26;border-bottom:4px solid #672820;box-shadow:0 1px 0 #e18f6944 inset,0 4px 0 #111c1955;color:#fff1d8;font-weight:800;font-size:17px;border-radius:6px}.primary-button:hover{background:linear-gradient(#d45c48,#b84034)}.primary-button:active,.secondary-button:active{transform:translateY(2px)}.primary-button>svg{width:22px;height:22px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:10px 17px;background:#2031269c;border:1px solid #a1b18b6b;color:#d7dfca;font-size:13px;font-weight:700;border-radius:5px;width:100%}.secondary-button>span{font-size:11px;font-weight:400;color:#a9b69b}.secondary-button:hover{background:#34452e}.menu-bottom{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#9aa98e;margin-top:22px}.menu-bottom>span:last-child{color:#c8d4b9}.menu-tools{position:absolute;left:max(28px,env(safe-area-inset-left));top:max(25px,env(safe-area-inset-top));display:flex;gap:7px}.menu-edition{position:absolute;bottom:24px;left:29px;font:10px Arial,sans-serif;letter-spacing:2px;color:#bac5ae;display:flex;gap:18px;direction:ltr}.menu-edition>b{font-weight:400;color:#6d8066}.menu-brand{position:absolute;right:30px;bottom:20px;width:77px;height:43px;object-fit:contain;opacity:.75}.pause-overlay,.result-overlay{display:flex;align-items:center;justify-content:center;background:#13211de8;backdrop-filter:blur(7px);padding:24px}.modal-panel{width:min(380px,100%);position:relative;z-index:1}.modal-panel h2{font-size:52px;line-height:1.02;letter-spacing:-2px;font-weight:900;margin:16px 0}.modal-panel h2 em{color:var(--gold)}.modal-panel>p{font-size:14px;line-height:1.6;color:#b9c6ac;margin-bottom:24px}.modal-panel>.secondary-button{margin-top:10px}.text-button{display:block;min-height:44px;padding:10px 12px;background:transparent;border:0;color:#b0bf9f;font-size:12px;margin:8px auto 0}.text-button:hover{color:#fff1d8}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #9caf873b;border-bottom:1px solid #9caf873b;padding:18px 0;margin:8px 0 25px}.result-metrics>div{display:flex;flex-direction:column;gap:4px}.result-metrics span{font-size:11px;color:#aebd9e}.result-metrics strong{font-size:31px;font-weight:800;line-height:1.1;color:#ecebd6;font-variant-numeric:tabular-nums}.result-metrics>div:first-child strong{color:var(--gold)}.result-david{position:absolute;left:-7%;bottom:-40%;height:135%;width:50%;background:url('./assets/david-prime.webp') left bottom / contain no-repeat;opacity:.12;pointer-events:none}.help-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:30px;border:1px solid #9dae89;border-bottom:4px solid #61754f;border-radius:9px;background:#e9eddb;color:#293a23;box-shadow:0 20px 60px #111d2144}.help-dialog::backdrop{background:#112019de;backdrop-filter:blur(6px)}.dialog-close{position:absolute;left:12px;top:12px;color:#506546;background:transparent;border-color:#9caf874d}.help-dialog .panel-eyebrow{color:#738867;font-size:11px}.help-dialog h2{font-size:34px;line-height:1.1;letter-spacing:-1px;margin:18px 0 10px}.help-dialog>p{font-size:13px;line-height:1.6;color:#607451}.help-steps{list-style:none;padding:0;margin:22px 0;display:flex;flex-direction:column;gap:17px}.help-steps>li{display:flex;gap:13px;font-size:12px;line-height:1.5}.help-steps>li>b{font:700 14px Arial,sans-serif;color:#8a9f77;border:1px solid #b7c5a6;width:29px;height:29px;display:grid;place-items:center;flex:none}.help-steps strong{display:block;font-size:14px;margin-bottom:2px}.help-prime{display:flex;gap:10px;align-items:center;border-top:1px solid #b6c1a3;padding-top:13px}.help-prime>svg{color:#ab8639;flex:none}.help-dialog .keyboard-note{font-size:11px;color:#899779;margin:13px 0 17px}.help-dialog .primary-button{font-size:14px}.help-dialog .text-button{color:#6c805d}.app-notice{position:fixed;z-index:100;left:50%;bottom:calc(25px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:12px 18px;background:#182a21f5;color:#eeedd8;border:1px solid #99ab7d;border-radius:6px;box-shadow:0 5px 20px #0004;max-width:calc(100% - 28px);font-size:13px;text-align:center;width:max-content;pointer-events:none}@keyframes phone-arrive{from{transform:translateY(100%) rotate(-7deg)}to{transform:translateY(0) rotate(0)}}@keyframes bag-bump{50%{transform:translateY(-5px)}}@keyframes transition-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1500px){.control-deck{padding-right:6vw;padding-left:6vw}.game-topbar,.hud{padding-left:3vw;padding-right:3vw}.controls{gap:14px}.controls.loading{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:78px}.controls.loading .action-button{grid-column:span 1;min-height:78px;order:1;flex-direction:column;gap:2px}.controls.loading .peel-button,.controls.loading .reject-button{grid-column:span 1;order:2;flex-direction:row}.controls.loading .peel-button{grid-column:span 2}.controls.loading .reject-button .product-art,.controls.loading .reject-mark{display:none}.prime-module{width:305px}}
@media(max-width:900px){.game-app{grid-template-rows:58px 48px minmax(0,1fr) auto}.game-topbar{padding:5px 14px}.brand-logo{width:60px;height:32px}.run-heading{gap:10px}.run-heading strong{font-size:15px}.run-eyebrow{font-size:11px}.hud{padding:3px 18px 9px}.score-readout{min-width:140px;gap:6px}.score-readout>strong{font-size:26px}.station-rail{gap:8px;font-size:11px}.station-rail>i{width:15px}.hud-health{gap:13px}.hud-health>strong{font-size:22px}.lives{gap:3px}.lives svg{width:13px;height:15px}.control-deck{padding-right:14px;padding-left:14px}.deck-main{gap:9px}.prime-module{width:200px}.prime-button{padding-left:9px;padding-right:9px;gap:6px;min-height:67px}.prime-button>svg{width:22px;height:22px}.prime-button strong{font-size:14px}.prime-button small{font-size:11px}.prime-button>b{font-size:13px}.bag-mini{display:none}.bag-tally>span:first-of-type{margin-left:0}.action-button{padding:7px;gap:5px;flex-direction:column}.action-button>span:not(.product-art){align-items:center}.action-button strong{font-size:13px}.action-button small{font-size:11px}.action-button>.product-art{height:37px;width:37px}.reject-mark{right:calc(50% - 17px);top:32%;font-size:31px}.controls.loading .action-button{flex-direction:row}.controls.loading .peel-button,.controls.loading .reject-button{min-height:57px}.controls.loading .peel-button strong,.controls.loading .reject-button strong{font-size:13px}.controls.loading .peel-button>.product-art,.controls.loading .reject-button>.product-art{height:33px;width:33px}.controls.loading .reject-mark{right:calc(50% - 62px);top:50%}.tutorial-coach{width:290px;right:13px;top:9px;padding:10px 10px 13px;gap:8px}.coach-avatar{width:43px;height:53px;background-size:92px auto}.coach-copy>strong{font-size:14px}.coach-copy>p{font-size:12px}.is-tutorial .timing-cue{left:24%;top:9px}.menu-panel{max-width:53%}.intro-overlay{padding-right:8vw}.menu-david{left:-3%;bottom:-12%;height:107%;max-width:72%}.menu-panel h1{font-size:clamp(65px,10vw,97px)}.menu-tagline{font-size:20px}.menu-buttons{margin-top:23px}.menu-bottom{margin-top:18px}.menu-brand{right:20px;bottom:18px}.menu-edition{left:20px;bottom:22px;font-size:8px}}
@media(max-width:600px) and (orientation:portrait){.game-app{grid-template-rows:58px 66px minmax(0,1fr) auto;background-position:63% center}.game-topbar{padding:5px 9px 3px;gap:6px}.run-heading{gap:7px}.brand-logo{width:44px;height:30px}.run-divider{display:none}.run-heading>div{gap:3px}.run-eyebrow{font-size:10px}.run-heading strong{font-size:12px}.utility-actions{gap:1px}.utility-actions .icon-button{width:44px;min-width:44px;height:44px;border-color:#a3af9d25;background:#202c2290;border-radius:5px}.utility-actions .icon-button svg{width:18px;height:18px}.utility-actions .pause-button{background:#c4ceae;color:#293e26}.hud{padding:2px 13px 9px;gap:5px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:30px 21px;align-items:center}.score-readout{min-width:0;gap:7px}.score-readout>span{font-size:11px}.score-readout>strong{font-size:27px}.combo-value{font-size:13px}.hud-health{justify-self:end;gap:11px}.hud-health>strong{font-size:22px;min-width:48px}.lives{gap:3px}.lives svg{height:13px;width:12px}.station-rail{grid-row:2;grid-column:1 / -1;justify-content:center;gap:12px;font-size:11px;color:#c1cbb3}.station-rail>i{width:33px}.station::before{height:5px;width:5px}.world-caption{bottom:7px;left:13px;right:13px;font-size:10px}.line-tag{display:none}.timing-cue{top:auto;bottom:3px;min-height:28px;font-size:11px;padding:4px 10px;border-radius:4px}.timing-dot{height:5px;width:5px}.game-toast{top:12px;font-size:12px;padding:7px 12px;max-width:88%}.control-deck{padding:8px 11px calc(8px + env(safe-area-inset-bottom));border-top-width:2px;box-shadow:0 -5px 0 #27332b,0 -7px 0 #aab4a0,0 -15px 25px #101a2138}.control-deck::before,.control-deck::after{top:9px;height:5px;width:5px;left:4px}.control-deck::after{left:auto;right:4px}.deck-topline{gap:7px;margin-bottom:7px;min-height:21px}.order-readout{gap:5px;flex:1;min-width:0}.order-readout>strong{font-size:12px;white-space:nowrap}.order-readout>span:last-child{font-size:11px;padding-right:5px;white-space:nowrap}.order-led{height:5px;width:5px;flex:none}.task-progress{gap:2px;font-size:11px}.task-progress>span:first-child{font-size:15px}.task-progress svg{width:13px;height:13px;margin-left:1px}.machine-health{gap:3px;margin-right:0}.machine-health>span{display:none}.machine-health>i{height:6px;width:6px}.deck-main{flex-direction:column;gap:9px}.controls{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.action-button{min-height:88px;padding:6px 3px 7px;border-radius:5px;gap:4px}.action-button>.product-art{height:34px;width:34px}.action-button strong{font-size:12px;white-space:normal;text-align:center}.action-button small,.action-button kbd{display:none}.reject-mark{top:31%;right:calc(50% - 15px);font-size:31px}.controls.loading{gap:6px}.controls.loading .action-button{min-height:48px;gap:5px;padding:4px 6px}.controls.loading .action-button>.product-art{height:26px;width:26px}.controls.loading .action-button strong{font-size:12px}.controls.loading .peel-button,.controls.loading .reject-button{min-height:58px;gap:7px}.controls.loading .peel-button strong,.controls.loading .reject-button strong{font-size:13px}.controls.loading .peel-button small,.controls.loading .reject-button small{display:none}.controls.loading .peel-button>.product-art,.controls.loading .reject-button>.product-art{height:34px;width:34px}.controls.loading .reject-mark{right:calc(50% - 62px);font-size:31px;top:50%}.controls.packing .action-button{min-height:80px;flex-direction:row;gap:5px}.controls.packing .product-art{height:35px;width:35px}.controls.packing .action-button strong{font-size:13px}.controls:not(.loading):not(.packing) .action-button>.product-art{height:57px;width:43px}.prime-module{width:100%;flex-direction:row;align-items:center;gap:10px}.prime-button{min-height:48px;padding:6px 10px 10px;gap:7px;flex:1;border-bottom-width:3px}.prime-button>svg{width:22px;height:22px}.prime-button>span:nth-child(2){gap:2px}.prime-button strong{font-size:13px}.prime-button small{font-size:11px}.prime-button>b{font-size:13px}.prime-meter{bottom:4px;height:3px;left:6px;right:6px}.bag-tally{max-width:80px;display:grid;grid-template-columns:18px 1fr;gap:1px 4px;line-height:1.1}.bag-tally>svg{width:17px;height:17px}.bag-tally>b{font-size:16px}.bag-tally>span:first-of-type{grid-column:1 / -1;font-size:11px;margin-top:2px}.deck-hint{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px;line-height:1.3;min-height:14px}.tutorial-coach{top:9px;left:12px;right:12px;width:auto;padding:10px 11px 14px;gap:9px;max-height:158px}.coach-avatar{width:43px;height:52px;background-size:92px auto}.coach-copy>strong{font-size:14px}.coach-copy>p{font-size:12px;line-height:1.45;margin-top:4px}.coach-heading{font-size:11px;margin-bottom:4px}.coach-heading>button{font-size:11px}.tutorial-dots{bottom:5px}.tutorial-dots i{width:14px;height:3px}.is-tutorial .timing-cue{top:auto;bottom:3px;left:50%;font-size:11px}.is-tutorial .game-toast{top:auto;bottom:39px;font-size:11px;padding:6px 9px}.tutorial-start{margin-top:7px;font-size:12px!important;min-height:48px!important}.phone-dialog{left:10px;bottom:34px;width:191px;border-width:3px;border-radius:19px;padding:17px 9px 8px;box-shadow:3px 4px 0 #0a151c66}.phone-dialog.minimized{width:191px}.phone-top{gap:6px;min-height:31px}.phone-contact-avatar{height:30px;width:30px}.phone-eyebrow{font-size:11px}.phone-top strong{font-size:14px}.phone-countdown{font-size:11px}.phone-minimize{font-size:18px;width:23px;min-height:44px}.phone-message{font-size:12px;padding:8px;margin:8px 0;line-height:1.45}.phone-choices{gap:5px}.phone-send,.phone-decline{font-size:12px;min-height:48px}.phone-send>strong{font-size:13px}.phone-disclaimer{font-size:11px;margin-top:6px}.brawl-seized{bottom:34px;right:10px;font-size:11px;max-width:140px;padding:5px 7px}.intro-overlay{padding:90px 27px 42px;align-items:center}.menu-panel{max-width:100%;width:100%;padding-top:0;z-index:2}.menu-scene{background:linear-gradient(0deg,#16251bf0 2%,#1c2d23a8 45%,#1a251f66 100%),url('./assets/factory-peeling.webp') 64% center / cover}.menu-david{height:71%;bottom:-11%;left:-20%;max-width:90%;object-fit:contain;opacity:.9;transform:rotate(-4deg);z-index:-1;filter:drop-shadow(-15px 5px 0 #101d2355)}.menu-sparks{width:110vw;height:110vw;left:-36%;bottom:4%;max-height:none;background:radial-gradient(ellipse,#c9b05639,transparent 67%)}.menu-panel>.panel-eyebrow{font-size:11px;color:#bcc8ab;margin-bottom:24px}.menu-panel h1{font-size:clamp(67px,20vw,93px);line-height:.87;letter-spacing:-4px;margin:0 0 19px;text-shadow:0 4px 0 #14231b;max-width:270px}.menu-panel h1>em{letter-spacing:-5px}.menu-panel h1>span{border-bottom-width:3px}.menu-tagline{font-size:17px;line-height:1.4;max-width:180px;color:#b4c2a5;text-shadow:0 1px 3px #15231b}.menu-tagline>strong{font-weight:500}.menu-buttons{margin-top:28px;max-width:100%;gap:10px;position:relative;z-index:4}.menu-start{min-height:57px;font-size:17px;background:linear-gradient(#cb5846,#a93e34)}.menu-buttons .secondary-button{min-height:48px;font-size:13px;justify-content:space-between;background:#1e3026e8;border-color:#8ca67677;padding:10px 15px}.menu-buttons .secondary-button>span{font-size:11px}.menu-bottom{margin-top:17px;gap:5px;font-size:11px;color:#94a786;position:relative;z-index:3}.menu-bottom>span:last-child{font-size:11px;color:#c2d0b1}.menu-tools{left:16px;top:calc(17px + env(safe-area-inset-top));gap:6px}.menu-tools .icon-button{width:44px;height:44px;background:#1c2d24b3}.menu-brand{right:22px;bottom:18px;height:31px;width:57px}.menu-edition{left:20px;bottom:27px;font-size:7px;letter-spacing:1.4px;gap:10px}.modal-panel h2{font-size:45px;margin:16px 0}.modal-panel>p{font-size:13px;margin-bottom:22px}.modal-panel{width:min(340px,100%)}.pause-overlay,.result-overlay{padding:25px}.result-metrics{gap:8px;padding:17px 0;margin:7px 0 23px}.result-metrics span{font-size:11px}.result-metrics strong{font-size:27px}.result-david{width:90%;left:-35%;height:110%;bottom:-25%;opacity:.11}.modal-panel .primary-button{font-size:15px;min-height:53px}.modal-panel .secondary-button{font-size:12px;min-height:48px}.help-dialog{padding:26px 23px 20px;max-height:calc(100dvh - 30px)}.help-dialog h2{font-size:29px;margin:20px 0 9px}.help-dialog>p{font-size:12px}.help-steps{margin:18px 0;gap:15px}.help-steps>li{font-size:12px;gap:11px}.help-steps strong{font-size:13px}.help-dialog .primary-button{font-size:13px;min-height:48px}.help-dialog .keyboard-note{font-size:11px;margin:12px 0}.transition-banner>strong{font-size:35px}.transition-banner>p{font-size:12px;padding:0 20px}.app-notice{font-size:12px}}
@media(max-height:740px) and (max-width:600px) and (orientation:portrait){.game-app{grid-template-rows:54px 58px minmax(0,1fr) auto}.game-topbar{padding-top:3px;padding-bottom:2px}.run-eyebrow{font-size:9px}.brand-logo{width:40px}.run-heading{gap:5px}.hud{grid-template-rows:28px 18px;padding-top:0;padding-bottom:7px}.station-rail{font-size:11px;gap:11px}.score-readout>strong{font-size:25px}.hud-health>strong{font-size:21px}.control-deck{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.deck-topline{min-height:20px;margin-bottom:5px}.deck-main{gap:7px}.controls.loading{gap:5px}.controls.loading .action-button{min-height:48px}.controls.loading .peel-button,.controls.loading .reject-button{min-height:52px}.controls.loading .peel-button>.product-art,.controls.loading .reject-button>.product-art{height:29px;width:29px}.prime-button{min-height:48px}.prime-button small{display:none}.deck-hint{font-size:11px;margin-top:4px;min-height:14px}.tutorial-coach{padding:8px 9px 12px;gap:7px;top:5px}.coach-avatar{height:46px;width:38px;background-size:83px auto}.coach-copy>strong{font-size:13px}.coach-copy>p{font-size:12px;line-height:1.4;margin-top:3px}.coach-heading{font-size:11px;margin-bottom:4px}.tutorial-dots i{height:2px;width:12px}.intro-overlay{padding-top:70px;padding-bottom:43px}.menu-panel>.panel-eyebrow{margin-bottom:18px;font-size:11px}.menu-panel h1{font-size:clamp(64px,18.5vw,80px);margin-bottom:14px}.menu-tagline{font-size:15px}.menu-buttons{margin-top:22px;gap:9px}.menu-start{min-height:52px;font-size:15px}.menu-buttons .secondary-button{min-height:48px;font-size:12px}.menu-buttons .secondary-button>span{font-size:11px}.menu-bottom{margin-top:13px;font-size:11px}.menu-david{height:69%;bottom:-8%;left:-16%;max-width:82%}.menu-brand{bottom:12px;width:49px;height:28px}.menu-edition{bottom:21px;font-size:6px}.menu-tools{top:calc(14px + env(safe-area-inset-top))}.phone-dialog{width:185px;bottom:32px;left:8px;padding:15px 8px 7px}.phone-dialog.minimized{width:185px}.phone-contact-avatar{width:27px;height:27px}.phone-top strong{font-size:13px}.phone-eyebrow{font-size:11px}.phone-message{font-size:12px;padding:7px;margin:7px 0}.phone-send,.phone-decline{font-size:12px;min-height:48px}.phone-send>strong{font-size:12px}.phone-disclaimer{font-size:11px}.phone-countdown{font-size:11px}.phone-top{gap:5px}.brawl-seized{bottom:32px;font-size:11px;max-width:130px}.world-caption{display:none}.tutorial-start{font-size:12px!important;min-height:48px!important;margin-top:5px}}
@media(max-width:375px) and (orientation:portrait){.game-topbar{padding-left:6px;padding-right:6px}.run-heading{gap:4px}.brand-logo{width:32px}.run-heading strong{font-size:11px}.run-eyebrow{font-size:9px}.controls.loading .peel-button strong,.controls.loading .reject-button strong{font-size:12px}.controls.loading .action-button strong{font-size:12px}.controls.loading .action-button>.product-art{height:23px;width:23px}.order-readout>strong{font-size:11px}.order-readout>span:last-child{font-size:11px}.deck-topline{gap:5px}.control-deck{padding-left:10px;padding-right:10px}.menu-panel h1{font-size:70px}.menu-panel>.panel-eyebrow{font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.game-app{grid-template-rows:44px 32px minmax(0,1fr) auto}.game-topbar{padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.run-heading strong{font-size:13px}.run-eyebrow{font-size:11px}.brand-logo{height:29px;width:58px}.icon-button{width:44px;height:44px;min-width:44px}.hud{padding:0 18px 3px}.score-readout>strong{font-size:23px}.score-readout>span{font-size:11px}.hud-health>strong{font-size:20px}.station-rail{font-size:11px}.control-deck{padding:5px max(15px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}.deck-topline{min-height:19px;margin-bottom:5px}.order-readout>strong,.order-readout>span:last-child{font-size:11px}.deck-hint{display:none}.controls{gap:6px}.action-button{min-height:54px;flex-direction:row;padding:4px 6px;gap:4px}.action-button>.product-art{width:28px;height:28px}.action-button strong{font-size:12px}.action-button small,.action-button kbd{display:none}.controls.loading{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:54px;gap:5px}.controls.loading .action-button{grid-column:span 1;min-height:54px;order:1;flex-direction:column;gap:2px;padding:3px}.controls.loading .action-button .product-art{width:24px;height:24px}.controls.loading .action-button strong{font-size:12px}.controls.loading .peel-button,.controls.loading .reject-button{grid-column:span 1;min-height:54px;order:2;flex-direction:row}.controls.loading .peel-button{grid-column:span 2}.controls.loading .peel-button strong,.controls.loading .reject-button strong{font-size:12px}.controls.loading .peel-button small,.controls.loading .reject-button small,.controls.loading .reject-button .product-art,.controls.loading .reject-mark{display:none}.controls:not(.loading):not(.packing) .action-button>.product-art{height:40px;width:30px}.prime-module{width:177px;gap:4px}.prime-button{min-height:54px;padding:5px 7px 11px;gap:5px}.prime-button>svg{width:20px;height:20px}.prime-button strong{font-size:12px}.prime-button small{display:none}.prime-button>b{font-size:12px}.bag-tally{display:none}.reject-mark{right:14px;font-size:27px;top:50%}.tutorial-coach{width:278px;top:7px;right:12px;padding:8px 9px 12px}.coach-avatar{width:34px;height:43px;background-size:76px auto}.coach-copy>strong{font-size:13px}.coach-copy>p{font-size:12px;line-height:1.4;margin-top:3px}.coach-heading{font-size:11px;margin-bottom:4px}.tutorial-dots i{height:2px;width:12px}.is-tutorial .timing-cue{top:7px;left:24%;font-size:11px;min-height:25px;padding:4px 8px}.world-caption{display:none}.game-toast{font-size:12px;top:8px}.is-tutorial .game-toast{bottom:10px;top:auto}.phone-dialog{width:205px;bottom:7px;left:max(10px,env(safe-area-inset-left));padding:15px 9px 7px;border-width:3px;border-radius:18px}.phone-dialog.minimized{width:205px}.phone-message{font-size:12px;padding:7px;margin:7px 0}.phone-contact-avatar{width:27px;height:27px}.phone-top strong{font-size:13px}.phone-eyebrow,.phone-countdown{font-size:11px}.phone-send,.phone-decline{font-size:12px;min-height:48px}.phone-send strong{font-size:12px}.phone-disclaimer{font-size:11px;margin-top:5px}.brawl-seized{font-size:11px;bottom:8px}.intro-overlay{padding:35px 11vw 30px 25px}.menu-panel{width:330px;max-width:52%}.menu-panel>.panel-eyebrow{font-size:11px}.menu-panel h1{font-size:57px;margin:16px 0 12px;letter-spacing:-3px}.menu-panel h1>em{letter-spacing:-4px}.menu-tagline{font-size:14px;line-height:1.25}.menu-buttons{margin-top:16px;gap:7px;max-width:265px}.menu-start{min-height:48px;padding:8px 12px;font-size:13px}.menu-buttons .secondary-button{min-height:48px;padding:7px 11px;font-size:12px}.menu-buttons .secondary-button>span{font-size:11px}.menu-bottom{font-size:11px;margin-top:10px;gap:3px}.menu-david{height:112%;bottom:-25%;left:1%;max-width:58%}.menu-tools{top:max(12px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.menu-tools .icon-button{width:44px;height:44px}.menu-brand{height:28px;width:48px;bottom:12px;right:14px}.menu-edition{font-size:6px;bottom:15px;left:15px;gap:10px}.modal-panel{max-width:450px;width:450px}.modal-panel h2{font-size:31px;margin:12px 0}.modal-panel h2 br{display:none}.modal-panel>p{font-size:12px;margin-bottom:14px}.modal-panel>.panel-eyebrow{font-size:11px}.modal-panel .primary-button{min-height:48px;font-size:13px;padding:8px 14px}.modal-panel .secondary-button{min-height:48px;font-size:12px;padding:7px 12px;margin-top:7px}.modal-panel .text-button{min-height:44px;font-size:12px;margin-top:0;padding:7px}.result-metrics{padding:9px 0;margin:4px 0 13px}.result-metrics span{font-size:11px}.result-metrics strong{font-size:23px}.help-dialog{max-height:calc(100dvh - 24px)}.tutorial-start{font-size:12px!important;min-height:48px!important;padding:7px 10px!important;margin-top:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.menu-david{transform:none}.tutorial-focus{box-shadow:0 0 0 5px #5c4b2244!important}}
@media(max-width:600px) and (orientation:portrait){.world-caption{display:none}}
/* Each room has its own physical activity: a sorting bench and a filling table. */
.sorting-workspace,.packing-workspace{position:absolute;z-index:3;left:50%;top:52%;transform:translate(-50%,-50%);width:min(720px,calc(100% - 48px));text-align:center}.bench-heading{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:13px;color:#faf1d8;text-shadow:0 2px 3px #17251b}.bench-heading>span{font-size:12px;font-weight:500;color:#e5e9cf;background:#263d29c9;padding:5px 10px;border:1px solid #b5be994d;border-radius:3px}.sorting-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-height:135px;align-items:center;direction:rtl}.sort-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:135px;background:radial-gradient(ellipse,#d6d3b440,#6a77512b);border:2px solid #e2ddbe46;border-bottom:4px solid #243a2355;border-radius:50% 50% 12px 12px;color:#f4f0d4;text-shadow:0 1px 2px #17241a;touch-action:none;box-shadow:inset 0 0 15px #1424151a;user-select:none;padding:9px;transition:transform .12s,background .12s}.sort-choice .product-art{height:83px;width:83px;filter:drop-shadow(2px 6px 2px #17251c66)}.product-sweet{background-position:33.3333% 100%}.sort-choice>strong{font-size:13px;line-height:1.1;pointer-events:none}.sort-choice.selected{border-color:var(--gold);background:radial-gradient(ellipse,#ead48c69,#c6bb7d33);transform:translateY(-5px);box-shadow:0 0 20px #e2b96033}.sort-choice.selected::after{content:"✓";position:absolute;top:4px;left:8px;font:700 15px Arial,sans-serif;color:var(--gold)}.sort-choice.dragging{opacity:.3}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.95;transform:rotate(-5deg);box-shadow:0 8px 18px #111c1955;border-color:var(--gold);background:#879665d9}.drop-active{outline:3px solid var(--gold);outline-offset:3px;filter:brightness(1.14)}.bench-hint{font-size:12px;color:#f0edd0;margin-top:13px;text-shadow:0 1px 4px #15241b;background:#1d332471;display:inline-block;padding:5px 10px;border-radius:3px}.packing-workspace{width:420px;max-width:calc(100% - 36px);top:51%}.pack-order{display:inline-grid;grid-template-columns:1fr auto;align-items:center;gap:3px 15px;text-align:right;min-width:220px;padding:10px 15px;background:#f3edcf;border:2px solid #bcb68f;box-shadow:3px 4px 0 #16271c55;transform:rotate(-2deg);color:#31482a;border-radius:3px}.pack-order>span{font-size:11px;color:#80906d}.pack-order>strong{grid-column:1;font-size:22px;line-height:1.15}.pack-order>b{grid-column:2;grid-row:1 / 3;font:700 20px Arial,sans-serif;direction:ltr;color:#74845e;padding-right:12px;border-right:1px solid #a3b08888}.open-bag{width:220px;height:211px;background:url('./assets/v2/open-bag.webp') center / contain no-repeat;position:relative;margin:14px auto 0;filter:drop-shadow(3px 10px 3px #182c1e55)}.bag-contents{position:absolute;left:25%;right:25%;top:24%;bottom:25%;display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:0;transform:rotate(-4deg)}.bag-contents .product-art{width:44px;height:44px;margin:-2px;filter:drop-shadow(0 2px #543d2f44)}.empty-bag-label{position:absolute;top:41%;left:23%;width:54%;font-size:12px;color:#8e896a;transform:rotate(-4deg)}.bag-ready .pack-order{border-color:var(--gold);background:#f5e4a8}.bag-ready .pack-order>b{color:#45652e}.packing-workspace .bench-hint{margin-top:9px}.packing-actions{display:flex;flex-direction:column;justify-content:center;gap:7px;width:165px;flex:none}.undo-button,.seal-button{min-height:48px;border-radius:5px;padding:7px 12px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-weight:700;font-size:13px;line-height:1.1;border:1px solid #526247;border-bottom:3px solid #3d5034;background:#c1cba9;color:#3c5030;box-shadow:0 2px 0 #55634b44}.undo-button>span{font:23px Arial,sans-serif}.seal-button{background:linear-gradient(#b94d3b,#91382d);color:#f8e7c7;border-color:#663026;border-bottom-color:#56291f}.seal-button.ready{background:linear-gradient(#e5be68,#c49742);color:#463a21;border-color:#74613a;border-bottom-color:#65532f;box-shadow:0 0 15px #ffcb6b50}.undo-button:disabled,.seal-button:disabled{opacity:.5;cursor:default}.controls.packing .action-button{background:radial-gradient(ellipse,#f6edce,#c0c7a4);border-radius:50% 50% 8px 8px;border-top:2px solid #eff3d9}.controls.packing .action-button small{display:block}.controls.packing .product-art{width:50px;height:50px}.prime-module.ready .prime-button strong{font-size:18px}.prime-module.ready .prime-button>svg{color:#fff4bf;filter:drop-shadow(0 0 5px #fff1c0)}
.phone-pill{position:absolute;left:15px;bottom:16px;z-index:9;display:flex;align-items:center;gap:8px;min-height:54px;width:191px;padding:7px 10px;border:2px solid #202c22;border-bottom:4px solid #142419;border-radius:9px;background:#dce4ca;color:#32492a;box-shadow:3px 4px 0 #0f211b44;text-align:right}.phone-pill>img{width:31px;height:31px;object-fit:cover;object-position:center 25%;border-radius:50%;border:1px solid #9daf88}.phone-pill>span:not(.pill-notification){display:flex;flex-direction:column;gap:2px;flex:1}.phone-pill strong{font-size:13px;line-height:1.1}.phone-pill small{font-size:11px;color:#6c7d5b}.phone-pill>b{font:700 12px Arial,sans-serif;color:#ab4938;white-space:nowrap}.pill-notification{position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;border:2px solid #dce4ca;background:#b44c38}.phone-dialog{width:210px;max-height:calc(100% - 18px);overflow-y:auto;scrollbar-width:none;bottom:12px}.phone-dialog::-webkit-scrollbar{display:none}.phone-top{position:sticky;top:-2px;background:inherit;z-index:2}.phone-minimize{width:44px;min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid #b6c3a344;border-radius:4px;margin:-4px 0 -4px -4px;align-self:center}.phone-minimize>svg{width:18px;height:18px}.phone-top>div{min-width:0}.phone-countdown{font-size:11px}.phone-contact-avatar{width:27px;height:27px}.phone-choices{grid-template-columns:1fr 1fr}.phone-defer{grid-column:1 / -1;min-height:48px;border-radius:4px;border:1px solid #8da179;border-bottom:3px solid #647c50;background:#c4d5ac;color:#3b552c;font-size:12px;font-weight:700;padding:7px 4px}.phone-dialog.deferred{background:#d8e5c9}.phone-dialog.deferred .phone-countdown{display:none}.phone-disclaimer{font-size:11px;line-height:1.3}.phone-dialog .phone-eyebrow{font-size:10px}.phone-dialog .phone-top strong{font-size:13px}
@media(max-width:900px){.sorting-workspace{width:min(590px,calc(100% - 32px))}.sorting-tray{gap:10px}.sort-choice{min-height:110px;padding:7px;gap:6px}.sort-choice .product-art{height:66px;width:66px}.bench-heading{font-size:15px;margin-bottom:10px}.bench-hint{font-size:11px;margin-top:10px}.packing-actions{width:145px}.undo-button,.seal-button{font-size:12px;padding:7px 8px}.packing-workspace{width:350px}.open-bag{height:180px;width:190px}.pack-order>strong{font-size:20px}.pack-order>b{font-size:18px}.controls.packing .action-button{flex-direction:column}.controls.packing .action-button small{display:none}}
@media(max-width:600px) and (orientation:portrait){.sorting-workspace{width:calc(100% - 24px);top:53%}.sorting-tray{gap:5px;min-height:104px}.sort-choice{padding:5px 3px;gap:8px;min-height:104px;border-bottom-width:3px;border-radius:45% 45% 9px 9px}.sort-choice .product-art{height:56px;width:56px}.sort-choice>strong{font-size:11px;line-height:1.15}.sort-choice.selected::after{font-size:12px;top:5px;left:4px}.bench-heading{font-size:13px;margin-bottom:9px;padding:0 4px}.bench-heading>span{font-size:11px;padding:4px 7px}.bench-hint{font-size:11px;margin-top:9px;padding:5px 7px;line-height:1.3}.is-tutorial .sorting-workspace{top:auto;bottom:35px;transform:translateX(-50%)}.is-tutorial .bench-heading{font-size:12px;margin-bottom:7px}.is-tutorial .sort-choice{min-height:92px;gap:6px}.is-tutorial .sort-choice .product-art{height:49px;width:49px}.is-tutorial .bench-hint{font-size:11px;margin-top:6px;max-width:100%}.packing-workspace{max-width:calc(100% - 24px);width:340px;top:50%}.pack-order{padding:8px 12px;min-width:205px}.pack-order>strong{font-size:18px}.pack-order>span{font-size:11px}.pack-order>b{font-size:17px}.open-bag{height:163px;width:180px;margin-top:10px}.bag-contents .product-art{width:35px;height:35px}.empty-bag-label{font-size:11px}.packing-workspace .bench-hint{font-size:11px;margin-top:7px;max-width:95%}.is-tutorial .packing-workspace{top:auto;bottom:16px;transform:translateX(-50%)}.is-tutorial .open-bag{height:132px;width:146px;margin-top:7px}.is-tutorial .packing-workspace .bench-hint{display:none}.is-tutorial .pack-order{padding:6px 10px;min-width:190px}.is-tutorial .pack-order>strong{font-size:16px}.is-tutorial .pack-order>b{font-size:16px}.packing-actions{width:100%;flex-direction:row;gap:6px;order:0;margin-top:-1px}.undo-button,.seal-button{flex:1;min-height:48px;font-size:12px;padding:7px 12px}.controls.packing .action-button{min-height:66px;flex-direction:row;border-top-width:2px}.controls.packing .action-button small{display:none}.controls.packing .product-art{height:35px;width:35px}.prime-module.ready .prime-button strong{font-size:15px}.prime-module.ready .prime-button{min-height:55px}.phone-pill{left:10px;bottom:10px;width:178px;min-height:52px;padding:6px 9px;gap:7px}.phone-pill>img{height:29px;width:29px}.phone-pill strong{font-size:12px}.phone-pill small{font-size:11px}.phone-pill>b{font-size:11px}.phone-dialog{left:8px;bottom:8px;width:185px;padding:15px 7px 7px;max-height:calc(100% - 16px)}.phone-top{gap:4px}.phone-contact-avatar{width:24px;height:24px}.phone-dialog .phone-top strong{font-size:12px}.phone-dialog .phone-eyebrow{font-size:10px}.phone-countdown{font-size:11px}.phone-minimize{width:44px;min-width:44px;min-height:44px}.phone-message{font-size:12px;padding:7px}.phone-send,.phone-decline,.phone-defer{min-height:48px;font-size:12px}.phone-disclaimer{font-size:11px}.is-sorting .deck-hint,.is-packing .deck-hint{font-size:11px}}
@media(max-height:740px) and (max-width:600px) and (orientation:portrait){.is-tutorial .sorting-workspace{bottom:20px}.is-tutorial .sort-choice{min-height:83px;gap:5px}.is-tutorial .sort-choice .product-art{height:43px;width:43px}.is-tutorial .bench-heading{margin-bottom:6px;font-size:12px}.is-tutorial .bench-hint{font-size:11px}.is-tutorial .packing-workspace{bottom:8px}.is-tutorial .open-bag{height:109px;width:124px;margin-top:5px}.is-tutorial .pack-order{padding:5px 9px}.is-tutorial .pack-order>strong{font-size:15px}.is-tutorial .bag-contents .product-art{width:28px;height:28px}.packing-workspace .open-bag{height:145px;width:164px}.is-tutorial .packing-workspace .open-bag{height:109px;width:124px}.phone-pill{width:170px;min-height:48px;bottom:8px}.phone-dialog{max-height:calc(100% - 14px)}}
@media(max-height:600px) and (orientation:landscape){.sorting-workspace{width:430px;max-width:65%;top:53%}.sorting-tray{gap:7px;min-height:93px}.sort-choice{min-height:93px;padding:5px;gap:5px}.sort-choice .product-art{height:52px;width:52px}.sort-choice>strong{font-size:11px}.bench-heading{font-size:13px;margin-bottom:7px}.bench-heading>span{font-size:11px;padding:3px 7px}.bench-hint{font-size:11px;margin-top:7px;padding:4px 7px}.is-tutorial .sorting-workspace{left:30%;top:53%;width:400px;max-width:52%}.is-tutorial .sorting-workspace .bench-heading{font-size:12px}.is-tutorial .sorting-workspace .sort-choice{min-height:87px}.is-tutorial .sorting-workspace .sort-choice .product-art{width:45px;height:45px}.is-tutorial .bench-hint{font-size:11px}.packing-workspace{width:290px;top:50%}.pack-order{min-width:210px;padding:6px 10px;gap:2px 12px}.pack-order>strong{font-size:17px}.pack-order>b{font-size:17px}.pack-order>span{font-size:11px}.open-bag{height:116px;width:135px;margin-top:7px}.bag-contents .product-art{width:29px;height:29px}.empty-bag-label{font-size:11px}.packing-workspace .bench-hint{font-size:11px;margin-top:5px}.is-tutorial .packing-workspace{left:31%;width:275px}.is-tutorial .packing-workspace .bench-hint{display:none}.is-tutorial .open-bag{height:109px;width:127px}.packing-actions{width:125px;gap:5px}.undo-button,.seal-button{min-height:48px;font-size:12px;padding:5px 7px}.packing-actions .undo-button{display:none}.packing-actions .seal-button{min-height:54px}.controls.packing .action-button{min-height:54px;flex-direction:row;border-top-width:2px}.controls.packing .product-art{width:30px;height:30px}.controls.packing .action-button small{display:none}.prime-module.ready .prime-button strong{font-size:14px}.phone-pill{width:175px;min-height:48px;left:max(10px,env(safe-area-inset-left));bottom:8px;padding:5px 8px;gap:6px}.phone-pill>img{width:28px;height:28px}.phone-pill strong{font-size:12px}.phone-pill small,.phone-pill>b{font-size:11px}.phone-dialog{width:210px;max-height:calc(100% - 12px);left:max(8px,env(safe-area-inset-left));bottom:6px;padding:13px 7px 6px}.phone-message{font-size:12px;line-height:1.3;margin:6px 0;padding:6px}.phone-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.phone-defer{grid-column:auto}.phone-send,.phone-decline,.phone-defer{min-height:48px;font-size:12px;padding:4px 2px}.phone-send>strong{font-size:11px}.phone-disclaimer{font-size:11px;margin-top:4px}.phone-top{gap:4px}.phone-dialog .phone-contact-avatar{display:none}.phone-dialog .phone-top strong{font-size:12px}}

/* journey.css */
/* The factory controls are objects inside one scene, never a footer toolbar. */
html,body{height:100%;overflow:hidden;background:#19221f}body{overscroll-behavior:none}.game-app{display:block;position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden}.game-world{position:absolute;inset:0;overflow:hidden}.game-topbar{position:absolute;top:0;left:0;right:0;height:54px;background:linear-gradient(#18211fdd,transparent);z-index:8;padding:4px 14px}.hud{position:absolute;top:52px;left:0;right:0;height:40px;z-index:7;background:none;padding:0 18px}.game-topbar .brand-logo{width:75px}.run-eyebrow{display:none}.run-heading strong{font-size:15px}.utility-actions .icon-button{width:44px;height:44px;min-width:44px}.world-stage-frame{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(100%,calc((100dvh - 104px) * 1.6666667));aspect-ratio:5/3;overflow:visible}.world-stage-frame canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.world-caption,.world-light,.world-caption .line-tag{display:none}.interior-brand-sign{position:absolute;top:2%;left:3%;width:clamp(70px,10%,120px);max-height:50px;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 2px 1px #0008);pointer-events:none;z-index:3}.scene-objects{position:absolute!important;inset:0!important;display:block!important;border:0!important;background:none!important;box-shadow:none!important;padding:0!important;pointer-events:none;z-index:4}.scene-objects::before,.scene-objects::after{display:none}.deck-main{display:contents}.deck-topline{position:absolute;top:5%;left:16%;width:32%;max-width:300px;background:#eee8d6;color:#25312a;transform:rotate(-2deg);padding:7px 10px;display:flex;flex-wrap:wrap;gap:5px;box-shadow:2px 4px 0 #0003;border:1px solid #7f8a71;font-size:12px;pointer-events:auto}.order-readout{display:flex;flex-wrap:wrap;gap:3px 8px}.order-readout>strong{font-size:13px}.order-led,.task-progress svg{display:none}.task-progress{font-size:13px;margin-right:auto}.machine-health{font-size:11px}.deck-hint{display:none}.scene-objects .controls{position:absolute;inset:0;display:block!important;pointer-events:none}.scene-objects .action-button{position:absolute!important;margin:0!important;min-width:64px;min-height:48px;pointer-events:auto;touch-action:none;display:flex;flex-direction:column!important;align-items:center;justify-content:center;gap:1px;padding:3px!important;border:0!important;background:none!important;box-shadow:none!important;color:#fff7dc;transform:translate(-50%,-50%);text-shadow:0 1px 3px #000}.scene-objects .action-button kbd,.scene-objects .action-button small,.scene-objects .reject-mark{display:none!important}.scene-objects .action-button strong{font-size:12px!important;background:#243029b8;padding:2px 5px;border-radius:2px;white-space:nowrap}.scene-objects .action-button:hover,.scene-objects .action-button:focus-visible{filter:brightness(1.15)}.scene-objects .action-button.pressed{transform:translate(-50%,-46%) scale(.96)}.scene-objects .action-button>.product-art{height:clamp(44px,8vw,90px)!important;width:clamp(40px,7vw,82px)!important;filter:drop-shadow(1px 4px 1px #0006)}.scene-objects .controls.loading .action-button[data-action=smiley]{left:83%;top:22%;width:15%;height:12%}.scene-objects .controls.loading .action-button[data-action=mash]{left:83%;top:46%;width:15%;height:12%}.scene-objects .controls.loading .action-button[data-action=fries]{left:83%;top:70%;width:15%;height:12%}.scene-objects .controls.loading .action-button[data-action=smiley],.scene-objects .controls.loading .action-button[data-action=mash],.scene-objects .controls.loading .action-button[data-action=fries]{background:linear-gradient(110deg,#62746e,#9aa599)!important;border:3px ridge #aab2a0!important;border-radius:4px;box-shadow:2px 3px 0 #12261b88!important;flex-direction:row!important}.scene-objects .controls.loading .action-button.selected{border-color:#f9cf62!important;box-shadow:0 0 12px #f4c75b88!important}.scene-objects .controls.loading .action-button>.product-art{height:32px!important;width:32px!important}.scene-objects .controls.loading .peel-button{left:56.5%;top:60.8%;width:22%;height:23%;pointer-events:none;background:none!important;border:2px dashed #d9d7a96b!important;border-radius:12px;color:transparent!important}.scene-objects .controls.loading .peel-button>*{opacity:0}.scene-objects .controls.loading .peel-button.tutorial-focus{outline:3px solid #f7d269;outline-offset:5px}.scene-objects .controls.loading .reject-button{left:12%;top:77%;width:12%;height:20%;background:none!important;border:0!important}.scene-objects .controls.loading .reject-button>.product-art{display:block!important;background:url('./assets/v2/bins.webp') 100% 0 / 400% 100%;height:75px!important;width:60px!important}.scene-objects .controls:not(.loading):not(.packing) .action-button{width:14%;height:28%}.scene-objects .controls:not(.loading):not(.packing) [data-action=smiley]{left:10%;top:36%}.scene-objects .controls:not(.loading):not(.packing) [data-action=mash]{left:10%;top:78%}.scene-objects .controls:not(.loading):not(.packing) [data-action=fries]{left:90%;top:36%}.scene-objects .controls:not(.loading):not(.packing) [data-action=reject]{left:90%;top:78%}.scene-objects .controls:not(.loading):not(.packing) .action-button>.product-art{height:clamp(58px,12vw,130px)!important;width:clamp(48px,9vw,100px)!important}.scene-objects .controls.packing .action-button{left:12%;width:16%;height:25%;border-radius:50%!important;background:radial-gradient(ellipse,#eee5c6,#a5ae99 60%,#738178 65%,transparent 68%)!important}.scene-objects .controls.packing [data-action=smiley]{top:24%}.scene-objects .controls.packing [data-action=mash]{top:53%}.scene-objects .controls.packing [data-action=fries]{top:82%}.scene-objects .controls.packing .action-button>.product-art{width:clamp(42px,7vw,70px)!important;height:clamp(42px,7vw,70px)!important}.packing-actions{position:absolute!important;right:5%;top:25%;width:20%;height:55%;display:flex;flex-direction:column;justify-content:space-between;gap:6px;pointer-events:auto}.seal-button,.undo-button{min-height:48px!important;font-size:13px!important;padding:8px!important;border-radius:3px!important;box-shadow:3px 4px 0 #16241e55}.seal-button{background:#873b30!important;border:4px ridge #a5aea0!important}.undo-button{background:#a3afa1!important;border:2px solid #647568!important}.prime-module{position:absolute!important;left:53%;top:3%;width:clamp(110px,19%,205px)!important;display:block!important;pointer-events:auto;transform:rotate(2deg);z-index:8}.prime-button{height:56px;min-height:48px!important;padding:6px!important;border:3px ridge #868b64!important;border-radius:4px!important;box-shadow:2px 3px 0 #0a1c1188!important;background:#3b483a!important;gap:4px}.prime-button>svg{width:22px!important;height:22px!important}.prime-button strong{font-size:13px!important}.prime-button small{display:none}.prime-button>b{font-size:13px!important}.prime-module .bag-tally{display:none}.is-prime .scene-objects .controls{inset:0}.is-prime .prime-module{opacity:.75}.sorting-workspace,.is-tutorial .sorting-workspace{left:50%!important;top:53%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:47%!important;max-width:520px!important;pointer-events:none}.bench-heading{font-size:14px;color:#2a3d30;text-shadow:none}.bench-heading>strong{display:none}.sorting-tray{grid-template-columns:1fr 1fr!important;gap:8px!important;min-height:0!important}.sort-choice,.is-tutorial .sort-choice{min-height:64px!important;height:clamp(68px,14vw,140px)!important;padding:2px!important;border:2px solid transparent!important;background:none!important;box-shadow:none!important;pointer-events:auto;touch-action:none}.sort-choice .product-art,.is-tutorial .sort-choice .product-art{width:clamp(48px,8vw,92px)!important;height:clamp(48px,8vw,92px)!important}.sort-choice strong{font-size:12px;color:#263a2b;background:#f1ecd3b3;border-radius:2px;padding:1px 5px}.sort-choice.selected{border:2px dashed #8c4b24!important;background:#f5e6a82e!important}.bench-hint{display:none!important}.packing-workspace,.is-tutorial .packing-workspace{left:51%!important;top:57%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:43%!important;max-width:410px!important;pointer-events:none}.pack-order{font-size:12px;max-width:240px;margin:auto;background:#eee8ce;box-shadow:2px 3px 0 #0003;transform:rotate(2deg);padding:5px;color:#2b3e2c}.pack-order strong{font-size:16px}.packing-workspace .open-bag,.is-tutorial .packing-workspace .open-bag{height:clamp(98px,19vw,240px)!important;width:clamp(102px,20vw,240px)!important;margin:6px auto 0!important}.bag-contents{z-index:2}.bag-logo{position:absolute;bottom:13%;left:50%;transform:translateX(-50%);width:32%;z-index:1}.empty-bag-label{font-size:11px}.timing-cue{top:auto!important;bottom:12%!important;left:56.5%!important;transform:translateX(-50%)!important;font-size:12px!important;white-space:nowrap;padding:5px 9px!important;min-height:26px;pointer-events:none}.tutorial-coach{position:fixed!important;left:12px!important;right:auto!important;top:96px!important;bottom:auto!important;transform:none!important;width:min(340px,calc(100vw - 24px))!important;max-width:none!important;z-index:22!important}.tutorial-coach strong{font-size:16px!important}.tutorial-coach p{font-size:13px!important}.tutorial-coach .coach-avatar{width:54px!important;min-width:54px!important}.game-toast{position:fixed!important;top:91px!important;bottom:auto!important;left:50%!important;transform:translateX(-50%)!important;z-index:28}.phone-pill{position:fixed!important;bottom:max(16px,env(safe-area-inset-bottom))!important;left:12px!important;top:auto!important;z-index:25;min-height:48px!important;max-width:185px!important}.phone-dialog{position:fixed!important;bottom:max(16px,env(safe-area-inset-bottom))!important;left:12px!important;top:auto!important;max-height:min(430px,70dvh)!important;width:min(260px,calc(100vw - 24px))!important;z-index:30!important;overflow:auto}.phone-minimize{min-width:44px!important;min-height:44px!important}.phone-choice button,.phone-send,.phone-decline,.phone-defer{min-height:44px!important;font-size:13px!important}.brawl-seized{position:fixed!important;right:12px;bottom:10px;left:auto!important;max-width:190px;font-size:11px;z-index:9}.journey-active .intro-overlay,.journey-active .result-overlay,.journey-active .pause-overlay,.journey-active .transition-banner{display:none!important}.journey-active .game-topbar,.journey-active .hud,.journey-active .game-world{visibility:hidden}.journey-layer{position:absolute;inset:0;z-index:40;background:#1d2925;overflow:hidden}.story-backdrop{position:absolute;inset:-3%;background-size:cover;background-position:center;filter:brightness(.65) saturate(.8)}.story-vignette{position:absolute;inset:0;background:linear-gradient(#101b2770,transparent 40%,#101b27a8)}.story-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,calc(100dvh * 1.6666667));aspect-ratio:5/3;background:inherit}.story-frame::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0e1a1d77,transparent 35%,transparent 70%,#101b1d55);z-index:0}.journey-layer .story-backdrop{background-size:100% 100%;inset:0}.journey-hud{position:absolute;top:max(10px,env(safe-area-inset-top));left:12px;z-index:55;display:flex;gap:8px;align-items:flex-start}.map-object,.wallet-object{min-height:44px;border:1px solid #b6c7ac88;border-radius:3px;padding:5px 12px;background:#23342cea;box-shadow:2px 3px 0 #06160a44;color:#f4ecd5;font-size:13px;display:flex;align-items:center;gap:8px}.map-object>span{font-size:25px;line-height:1}.wallet-object{flex-direction:column;gap:0;transform:rotate(-2deg);background:#e7dec2;color:#33412b;border-color:#978d6a}.wallet-object small{font-size:10px}.wallet-object bdi{font-family:Arial,sans-serif;font-size:18px;font-weight:800;color:#943b33}.map-title,.place-card{position:absolute;right:4%;top:6%;color:#fff5dc;text-align:right;max-width:60%;text-shadow:0 2px 3px #0d211b}.map-title span,.place-card span{font-size:12px;letter-spacing:.03em;color:#e6ce9a}.map-title h1{font-size:clamp(26px,4.5vw,60px);line-height:1;margin:5px 0 9px}.map-title p,.place-card p{font-size:clamp(12px,1.5vw,17px);line-height:1.5;margin:5px 0}.place-card h2{font-size:clamp(26px,4.5vw,56px);margin:3px 0;line-height:1.1}.map-route{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#e1d4a1;stroke-width:7;stroke-dasharray:8 10;filter:drop-shadow(0 2px 0 #475433);pointer-events:none}.map-location,.locked-location,.scene-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:none;color:#fff7df;text-shadow:0 2px 3px #071b13;touch-action:manipulation;min-width:64px;min-height:54px;padding:4px;cursor:pointer;z-index:2}.map-location>i{font-style:normal;font-size:60px;line-height:1;color:#fff1b9;filter:drop-shadow(1px 3px 0 #314329)}.map-location strong{font-size:clamp(14px,2.2vw,23px);background:#293c31dd;padding:4px 12px;white-space:nowrap;border:1px solid #f1e7b666;box-shadow:3px 4px 0 #132b1b66}.map-location small{font-size:11px;background:#213c2edd;padding:3px 8px;color:#e9d297;white-space:nowrap}.factory-location{min-width:115px}.factory-location .story-tapugan{position:static;width:112px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 2px #172619)}.map-stars{display:flex;gap:3px;font-size:19px;color:#8a9384}.map-stars .earned{color:#f5cf5b}.locked-location{opacity:.85;filter:saturate(.4);min-width:70px}.locked-location>span{font-size:24px;color:#d4d5bf;border:2px solid #b6bba0;background:#596653c9;width:35px;height:35px;border-radius:5px}.locked-location strong{font-size:12px;background:#33452edb;padding:2px 5px;white-space:nowrap}.locked-location small{font-size:10px;white-space:nowrap}.map-ending-collection{position:absolute;bottom:2%;right:3%;display:flex;align-items:center;gap:6px;color:#f2e7ca;background:#243629cf;padding:7px 12px;border:1px solid #f1e6b44d;font-size:11px}.map-ending-collection i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border:1px solid #d8d0ae;color:#a1ac94}.map-ending-collection .found{color:#f6d46b;background:#76603d}.scene-hotspot{border:2px solid #f9e8b199;border-radius:8px;background:#172d2470;min-width:65px;min-height:48px}.scene-hotspot>span{font-size:30px}.scene-hotspot small{font-size:12px;white-space:nowrap;background:#152c23d1;padding:2px 6px}.alarm-hotspot{background:#151f20;border:3px ridge #808c86;padding:4px 9px;box-shadow:3px 4px 0 #07101b66}.alarm-hotspot .digital-alarm{font-family:monospace;font-size:clamp(23px,3.5vw,38px);color:#e48e69;letter-spacing:-1px}.alarm-hotspot.done .digital-alarm{color:#a4c59b}.door-hotspot{width:12%;height:32%;background:#f5ebc111;border:2px dashed #d9e2bb88}.optional-hotspot{border-color:#cbd5ae55;min-width:48px;min-height:48px}.optional-hotspot>span{font-size:23px}.seat-hotspot{min-width:120px;min-height:100px}.scene-note{position:absolute;bottom:2%;right:3%;font-size:12px;color:#f3e6c0;background:#182b23be;padding:6px 12px}.journey-hint{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:12px 18px;z-index:30;background:#f0e6c9;color:#34402c;border:1px solid #8e9d71;box-shadow:4px 4px 0 #0005;font-size:15px;text-align:center}.story-tapugan.shuttle-brand{position:absolute;right:13%;top:37%;width:110px;transform:rotate(5deg)}.factory-campus{position:absolute;inset:8% 6%;background:#1c3025ec;border:2px solid #99a88c;box-shadow:9px 9px 0 #11281c77;color:#f3e8c7;text-align:center;padding:3%}.factory-campus>.story-tapugan{width:125px;max-height:55px;object-fit:contain;display:block;margin:0 auto 5px}.factory-campus>span{font-size:12px;color:#c4d2af}.factory-campus h2{font-size:clamp(23px,3.5vw,45px);margin:3px}.factory-campus p{font-size:12px;margin:4px}.factory-stage-plan{display:flex;justify-content:center;gap:4%;margin-top:3%}.factory-station-object{width:28%;max-width:220px;min-height:150px;border:0;border-top:4px ridge #9cae8c;background:linear-gradient(#82947d,#506b57);box-shadow:5px 6px 0 #102b1c;color:#fff3d2;position:relative;padding:8px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}.station-object-number{position:absolute;left:4px;top:3px;font-family:monospace;font-size:13px;color:#d6dfbb}.station-object-art{width:80%;height:80px;background-position:center;background-repeat:no-repeat;background-size:contain}.station-art-0{background-image:url('./assets/v2/machine.webp')}.station-art-1{background-image:url('./assets/v2/bins.webp');background-size:400% 100%;background-position:33% 0}.station-art-2{background-image:url('./assets/v2/open-bag.webp')}.factory-station-object strong{font-size:clamp(11px,1.7vw,18px)}.factory-station-object small{font-size:10px}.factory-station-object.locked{filter:grayscale(1);opacity:.5}.factory-station-object.next{outline:3px solid #f1d77f;outline-offset:5px}.report-stars{display:flex;gap:5px;color:#849578;font-size:23px;justify-content:center}.report-stars .earned{color:#efca55;filter:drop-shadow(0 2px 0 #75602c)}.paper-map-return{border:0;color:#d5dfbb;background:transparent;font-size:13px;min-height:44px;margin-top:8px}.report-scene{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse,#5c7157,#172e23)}.shift-report{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 100px);overflow:auto;background:#ede5c9;padding:25px 30px;color:#2e4230;box-shadow:9px 10px 0 #09271770;border:1px solid #b6bc98;text-align:center;transform:rotate(-1deg)}.shift-report>.story-tapugan{width:110px;display:block;margin:auto}.report-kicker{font-size:12px;color:#68744f}.shift-report h2{font-size:30px;line-height:1.1;margin:10px}.shift-report>p{font-size:14px;margin:5px}.report-stars.large{font-size:60px;gap:15px;margin:10px 0 15px}.report-stars.large .earned{animation:star-pop .55s both}.report-stars.large span:nth-child(2){animation-delay:.12s}.report-stars.large span:nth-child(3){animation-delay:.24s}.star-reasons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;font-size:11px;color:#6c7755;margin-bottom:18px}.payline{display:flex;justify-content:space-between;padding:11px 0;border-top:1px dashed #9daa84;font-size:14px}.payline bdi{color:#477048;font-size:20px;font-weight:800}.payline.balance bdi{color:#a44b3b}.report-joke{font-size:12px!important;color:#6b7755}.report-stamp{min-height:50px;border:3px double #733f2b;box-shadow:2px 3px 0 #6c654b33;color:#8b4d32;background:transparent;transform:rotate(2deg);font-size:18px;font-weight:800;padding:10px 24px;margin-top:13px;display:inline-flex;align-items:center;gap:15px}.ending-caption{position:absolute;right:4%;top:4%;max-width:60%;color:#fff4d5;text-shadow:0 2px 3px #17231b}.ending-caption>span{font-size:12px;color:#e0c28a}.ending-caption h2{font-size:clamp(24px,3.7vw,48px);line-height:1.1;margin:7px 0}.ending-caption p{font-size:clamp(12px,1.7vw,18px);margin:6px 0}.ending-found{display:inline-block;padding:5px 10px;border:1px solid #e2d3a27d;background:#20382dc4;margin-top:6px}.bed-phone-message{position:absolute;left:52%;top:64%;transform:rotate(-4deg);width:37%;min-height:95px;background:#253d34;color:#f4ecd6;border:4px solid #101c1c;border-radius:13px;box-shadow:3px 5px 0 #0006;padding:12px;text-align:right;display:flex;flex-direction:column;gap:5px}.bed-phone-message span{font-size:10px;color:#adbda6}.bed-phone-message strong{font-size:15px}.bed-phone-message small{font-size:10px;color:#bdd1ab}.bed-alarm-next{position:absolute;left:9%;top:77%;border:3px ridge #6e8174;background:#182621;color:#eccb8a;padding:8px 12px;display:flex;flex-direction:column;box-shadow:4px 4px 0 #081b15;min-height:60px}.bed-alarm-next span{font-family:monospace;font-size:28px}.bed-alarm-next small{font-size:11px}.ending-world-map{position:absolute;bottom:3%;right:3%;background:#213b2eaa;color:#eee6cc;border:1px solid #b9c9a377;min-height:44px;padding:5px 14px;font-size:13px}.fictional-exit-poll{position:absolute;right:8%;top:37%;width:25%;background:#142c55;color:white;padding:9px;transform:perspective(400px) rotateY(-8deg);display:flex;flex-direction:column;gap:5px;font-size:11px}.fictional-exit-poll strong{font-size:15px}.fictional-exit-poll span{display:flex;align-items:center;gap:5px}.fictional-exit-poll i{display:inline-block;height:10px;width:var(--bar);background:#e0b957}.fictional-exit-poll small{font-size:8px;color:#b4c8db}.fold-game-caption{position:absolute;left:51%;top:69%;max-width:40%;background:#163d48d9;color:#d4eedb;padding:9px;transform:rotate(2deg);font-size:13px;display:flex;flex-direction:column;gap:4px}.fold-game-caption span{font-family:monospace;font-size:11px;color:#b8dda5}.account-book{width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 45px);background:#e8dfc0;color:#2e4130;border:1px solid #8e9b75;padding:26px}.account-book::backdrop{background:#10241bd4}.book-close{position:absolute;top:5px;left:5px;background:none;border:0;min-width:44px;min-height:44px;font-size:26px}.account-book h2{font-size:30px;line-height:1.1;margin:12px 0}.book-balance{font-size:32px;color:#a34536}.account-book ul{padding:0;list-style:none}.account-book li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed #a2ab86;padding:9px 0;font-size:13px}.account-book li small{display:block;color:#80876a;font-size:10px}.account-book .debit{color:#9b4c3b}.account-book .credit{color:#4d7344}.account-book>p{font-size:11px;color:#727d5a}.pulsing{animation:object-pulse 1.8s ease-in-out infinite}.rattle{animation:rattle .3s}.voice-audition{display:flex;gap:6px;flex-wrap:wrap}.voice-audition button{min-height:44px;padding:6px 10px}.scene-objects [hidden],.journey-layer [hidden]{display:none!important}
@keyframes object-pulse{50%{filter:drop-shadow(0 0 7px #f6d887)}}@keyframes rattle{25%{translate:-4px}75%{translate:4px}}@keyframes star-pop{from{opacity:0;scale:.3;rotate:-25deg}to{opacity:1;scale:1;rotate:0}}
@media(max-width:600px){.game-topbar{height:50px;padding:3px 5px}.game-topbar .brand-logo{width:53px}.utility-actions{gap:0!important}.utility-actions .icon-button{min-width:36px;width:36px;height:44px}.run-heading strong{font-size:12px}.hud{top:50px;height:38px;padding:0 10px}.station-rail{font-size:11px}.world-stage-frame{top:56%;width:100%}.journey-hud{top:87px;left:8px;gap:5px}.journey-active .journey-hud{top:max(10px,env(safe-area-inset-top))}.wallet-object{padding:4px 8px;min-height:44px}.wallet-object bdi{font-size:15px}.map-object{font-size:11px;padding:4px 7px}.map-object>span{font-size:20px}.scene-objects .controls.loading .action-button>.product-art{width:24px!important;height:24px!important}.scene-objects .controls.loading .action-button{min-width:64px!important}.scene-objects .action-button strong{font-size:10px!important}.deck-topline{left:15%;top:-9%;width:36%;padding:4px 6px;gap:0}.order-readout>strong{font-size:10px}.order-readout>span{font-size:11px}.machine-health{font-size:9px}.task-progress{font-size:12px}.interior-brand-sign{width:54px;max-height:30px;left:1%;top:-5%}.prime-module{top:-9%;left:55%;width:42%!important;max-width:162px}.prime-button strong,.prime-button>b{font-size:11px!important}.prime-button{height:49px!important}.scene-objects .controls.loading .reject-button>.product-art{height:60px!important;width:48px!important}.scene-objects .controls:not(.loading):not(.packing) .action-button>.product-art{height:66px!important;width:52px!important}.scene-objects .controls.packing .action-button>.product-art{width:39px!important;height:39px!important}.scene-objects .controls.packing .action-button{min-height:57px!important}.packing-actions{right:2%;top:25%;width:23%;height:65%}.seal-button,.undo-button{font-size:11px!important;min-height:48px!important}.sort-choice,.is-tutorial .sort-choice{height:68px!important}.sort-choice .product-art,.is-tutorial .sort-choice .product-art{width:45px!important;height:45px!important}.sort-choice strong{font-size:10px}.sorting-workspace,.is-tutorial .sorting-workspace{width:45%!important;top:53%!important}.bench-heading{font-size:11px}.pack-order{padding:3px;font-size:10px}.pack-order strong{font-size:12px}.pack-order b{font-size:15px}.empty-bag-label{font-size:9px}.packing-workspace,.is-tutorial .packing-workspace{top:52%!important;width:41%!important}.tutorial-coach{top:140px!important;left:8px!important;width:calc(100vw - 16px)!important;padding:8px!important;min-height:0!important}.tutorial-coach .coach-avatar{width:42px!important;min-width:42px!important;height:54px!important}.tutorial-coach strong{font-size:14px!important}.tutorial-coach p{font-size:12px!important;line-height:1.4}.tutorial-dots{display:none}.tutorial-coach .coach-heading{font-size:10px}.tutorial-start{min-height:44px}.story-frame{width:100vw;top:49%}.map-title,.place-card{top:-54%;right:5%;max-width:90%;text-shadow:0 2px 4px #071d11}.map-title h1{font-size:38px}.map-title p,.place-card p{font-size:14px}.place-card h2{font-size:42px}.map-location strong{font-size:13px;padding:4px 6px}.map-location small{font-size:9px}.map-location>i{font-size:38px}.factory-location .story-tapugan{width:75px;height:40px}.factory-location{min-width:90px}.map-stars{font-size:15px}.locked-location>span{width:28px;height:28px;font-size:19px}.locked-location strong{font-size:10px}.locked-location small{font-size:8px}.locked-location{min-width:60px;min-height:48px}.map-ending-collection{bottom:-38%;right:5%;font-size:12px}.scene-hotspot small{font-size:10px}.alarm-hotspot{min-width:75px}.alarm-hotspot .digital-alarm{font-size:25px}.door-hotspot{min-width:48px;min-height:74px}.optional-hotspot{min-width:48px;min-height:48px}.scene-note{bottom:-35%;font-size:13px;right:5%}.seat-hotspot{min-height:64px;min-width:105px}.journey-hint{font-size:13px;bottom:16px}.story-tapugan.shuttle-brand{width:75px;right:10%}.factory-campus{inset:-60% 4% -65%;padding:25px 10px}.factory-campus h2{font-size:30px}.factory-campus>p{font-size:12px;max-width:240px;margin:10px auto}.factory-stage-plan{gap:8px;flex-wrap:wrap;margin-top:20px}.factory-station-object{width:44%;min-height:157px}.factory-station-object strong{font-size:13px}.factory-station-object small{font-size:10px}.factory-station-object.next{outline-offset:2px}.report-stars.large{font-size:50px}.shift-report{padding:18px 20px;margin-top:45px;max-height:calc(100dvh - 100px)}.shift-report h2{font-size:28px}.payline{font-size:13px}.ending-caption{right:5%;top:-52%;max-width:90%}.ending-caption h2{font-size:30px}.ending-caption p{font-size:14px}.ending-found{font-size:11px!important}.bed-phone-message{left:37%;top:61%;width:60%;padding:8px;min-height:80px}.bed-phone-message strong{font-size:12px}.bed-alarm-next{left:6%;top:105%;min-height:60px}.bed-alarm-next span{font-size:25px}.ending-world-map{bottom:-38%;right:5%}.fictional-exit-poll{font-size:8px;padding:4px;right:7%;top:37%;width:27%}.fictional-exit-poll strong{font-size:10px}.fictional-exit-poll small{display:none}.fold-game-caption{font-size:11px;left:45%;max-width:52%;top:73%;padding:6px}.fold-game-caption span{font-size:9px}}
@media(max-height:720px) and (max-width:600px){.tutorial-coach{top:134px!important}.tutorial-coach p{margin:4px 0}.world-stage-frame{top:65%}.map-title,.place-card{top:-38%}.map-title h1{font-size:31px}.map-ending-collection{bottom:-24%}.factory-campus{inset:-40% 4% -42%;padding-top:14px}.factory-campus h2{font-size:25px}.factory-stage-plan{margin-top:10px}.factory-station-object{min-height:132px}.station-object-art{height:55px}.ending-caption{top:-39%}.ending-caption h2{font-size:27px}.ending-world-map{bottom:-32%}.bed-alarm-next{top:105%}}
@media(max-height:500px) and (orientation:landscape){.game-topbar{height:44px}.hud{top:42px;height:30px}.journey-hud{top:4px;left:5px}.journey-hud .wallet-object{display:none}.game-topbar .run-heading{margin-left:90px}.world-stage-frame{top:60%;width:min(87vw,calc((100dvh - 75px) * 1.6666667))}.tutorial-coach{top:82px!important;left:7px!important;width:230px!important;padding:6px!important}.tutorial-coach p{font-size:11px!important}.tutorial-coach strong{font-size:12px!important}.coach-avatar{display:none!important}.story-frame{width:min(95vw,calc(100dvh * 1.6666667));top:50%}.map-title h1{font-size:29px}.map-title p,.place-card p{font-size:12px}.map-location>i{font-size:38px}.map-location strong{font-size:14px}.factory-location .story-tapugan{height:38px;width:78px}.map-title{top:4%}.factory-campus{inset:5% 5%;padding:8px}.factory-campus h2{font-size:24px}.factory-campus>.story-tapugan{height:35px;width:88px}.factory-campus p{font-size:10px}.factory-stage-plan{margin-top:10px}.factory-station-object{min-height:140px;gap:2px;padding:5px}.station-object-art{height:55px}.report-stars.large{font-size:38px;margin:4px}.shift-report{padding:12px 25px;max-height:calc(100dvh - 20px);margin-top:0}.shift-report h2{font-size:24px;margin:5px}.shift-report>.story-tapugan{width:80px;height:35px;object-fit:contain}.star-reasons{margin-bottom:7px}.payline{padding:6px}.report-stamp{min-height:44px;margin-top:4px;padding:6px 18px}.ending-caption h2{font-size:25px}.ending-caption p{font-size:12px}.bed-alarm-next{top:76%;min-height:48px;padding:3px 9px}.bed-alarm-next span{font-size:22px}.bed-phone-message{min-height:70px;padding:7px}.bed-phone-message strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pulsing,.rattle,.report-stars.large .earned{animation:none!important}}

/* Align scene art and object hit areas in one coordinate system. */
.story-art{position:absolute;inset:0;background-position:center;background-size:100% 100%;z-index:-1;pointer-events:none}.story-frame{isolation:isolate;aspect-ratio:3/2;width:min(100vw,calc(100dvh * 1.5))}.journey-layer .story-backdrop{background-size:cover;filter:blur(12px) brightness(.35) saturate(.6);inset:-4%}.story-frame::before{z-index:0}.story-frame>.place-card,.story-frame>.map-title,.story-frame>.ending-caption{z-index:3}.story-frame>.scene-note,.story-frame>.map-ending-collection{z-index:2}@media(max-width:600px){.story-frame{width:100vw}}@media(max-height:500px) and (orientation:landscape){.story-frame{width:min(95vw,calc(100dvh * 1.5))}}

.journey-tools{display:flex;gap:3px;position:fixed;top:max(10px,env(safe-area-inset-top));right:10px}.journey-tools button{height:44px;width:44px;padding:9px;border:1px solid #afbea077;border-radius:3px;background:#21392ddd;color:#eee4c5}.journey-tools svg{width:100%;height:100%;fill:currentColor}.journey-tools{display:none}.journey-active .journey-tools{display:flex}@media(max-width:600px){.journey-tools{right:5px;gap:1px}.journey-tools button{width:36px}}

/* reactions.css */
/* Three equal transparent portrait cells: bro, surprised, unsure. */
#tutorialCoach{--david-expression:0%}
#tutorialCoach[data-emotion=surprised]{--david-expression:50%}
#tutorialCoach[data-emotion=unsure]{--david-expression:100%}
#tutorialCoach .coach-avatar{background-image:url('./assets/v4/david-reactions.webp');background-color:#ccd1bb;background-repeat:no-repeat;background-position:var(--david-expression) center;background-size:300% 100%;border-radius:4px}
.game-toast.has-voice{padding-inline-start:58px;min-height:48px;display:flex;align-items:center;justify-content:center}
.game-toast.has-voice::before{content:'';position:absolute;inset-inline-start:3px;bottom:0;width:47px;height:50px;background:url('./assets/v4/david-reactions.webp') 0 center/300% 100% no-repeat;pointer-events:none}
.game-toast.has-voice[data-emotion=surprised]::before{background-position:50% center}
.game-toast.has-voice[data-emotion=unsure]::before{background-position:100% center}
@media(max-width:600px){.game-toast.has-voice{padding-inline-start:48px;min-height:42px}.game-toast.has-voice::before{width:38px;height:43px}}

/* upgrade.css */
/* V4: illustrated factory selection and a resizable, non-modal SMS prop. */
.factory-heading{position:absolute;right:3%;top:3%;color:#f6ecd0;text-shadow:0 2px 4px #12251b;z-index:3}
.factory-heading>span{font-size:12px;color:#e4c88c}
.factory-heading h2{font-size:clamp(25px,3.5vw,44px);margin:5px 0;line-height:1.1}
.factory-heading p{font-size:13px;margin:6px 0}
.factory-wall-logo{position:absolute;left:50%;top:14.6%;transform:translate(-50%,-50%);width:15%;height:9%;object-fit:contain;z-index:2}
.factory-floor-stations{position:absolute;inset:0}
.factory-room{position:absolute;left:var(--x);top:49%;transform:translate(-50%,-50%);width:26%;height:43%;min-height:80px;border:2px solid transparent;background:transparent;border-radius:6px;touch-action:manipulation;color:#f3e9c7;padding:0;z-index:2}
.factory-room.next{border:2px dashed #ffe3a5;box-shadow:0 0 0 3px #132b1840}
.factory-room:hover:not(:disabled),.factory-room:focus-visible{background:#f2cc6a22;border-color:#ffe3a5;outline:2px solid #fff3cf;outline-offset:3px}
.factory-room-label{position:absolute;left:50%;top:105%;transform:translateX(-50%);width:max-content;max-width:115%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 10px;background:#24372ce8;border:1px solid #b4bf947a;box-shadow:2px 3px 0 #11241c66}
.factory-room-label>b{position:absolute;right:4px;top:-16px;background:#e7dab5;color:#39462b;padding:2px 5px;font:700 12px monospace}
.factory-room-label strong{font-size:clamp(12px,1.7vw,20px);white-space:nowrap}
.factory-room-label .report-stars{font-size:20px}
.factory-room-label small{font-size:11px;line-height:1.25;max-width:180px}
.factory-room.locked{filter:saturate(.3);opacity:.65}
.factory-room.locked .factory-room-label::before{content:'▣';position:absolute;top:-27px;font-size:22px;color:#f8edcc}
.factory-exit{position:absolute;right:3%;bottom:2%;min-height:44px;padding:7px 14px;background:#e8dfc0;color:#344731;border:1px solid #8e987a;border-radius:2px;font-size:13px;box-shadow:2px 3px 0 #15251c66;z-index:3}
.phone-dialog{width:270px!important;max-width:calc(100vw - 24px);padding:5px!important;border-style:solid!important;border-color:transparent!important;border-width:22px 20px 17px!important;border-image-source:url('./assets/v4/phone-prop.webp');border-image-slice:12% 14% 12% 14% fill;border-image-repeat:stretch;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(3px 5px 3px #081c2860);overflow:visible!important;max-height:70dvh;transform:none!important;animation:none!important;z-index:30!important}
.phone-notch{display:none}
.phone-top{position:relative;top:0;background:none;min-height:44px;gap:5px}
.phone-dialog .phone-contact-avatar{display:grid;width:29px;height:29px}
.phone-dialog .phone-top strong{font-size:13px}
.phone-dialog .phone-eyebrow{font-size:10px}
.phone-minimize{min-height:44px;min-width:44px;flex:none}
.phone-message{font-size:12px;line-height:1.4;padding:7px;margin:6px 0;background:#e0e7d2;border-color:#afba9b}
.phone-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}
.phone-send,.phone-defer{grid-column:auto;min-height:48px;font-size:12px;padding:5px 4px}
.phone-disclaimer{font-size:10px;line-height:1.25;margin-top:5px}
@media(max-width:600px){
  .factory-heading{right:5%;top:-50%;max-width:90%}
  .factory-heading h2{font-size:34px}
  .factory-heading p{font-size:13px}
  .factory-room{height:42%;width:27%}
  .factory-room-label{padding:5px 4px;max-width:116%;min-width:92px}
  .factory-room-label strong{font-size:11px}
  .factory-room-label .report-stars{font-size:17px}
  .factory-room-label small{font-size:9px}
  .factory-exit{bottom:-41%;right:5%}
}
@media(max-width:600px) and (max-height:720px){
  .factory-heading{top:-40%}.factory-heading h2{font-size:29px}
  .factory-exit{bottom:-31%}
  .phone-dialog{top:140px!important;bottom:auto!important}
  .phone-open .tutorial-coach{opacity:.15;pointer-events:none}
}
@media(max-height:500px) and (orientation:landscape){
  .factory-heading{top:1%;right:2%}.factory-heading h2{font-size:24px}.factory-heading p{font-size:11px}
  .factory-room-label{padding:4px 6px}.factory-room-label strong{font-size:13px}.factory-room-label small{font-size:9px}.factory-room-label .report-stars{font-size:16px}
  .factory-exit{bottom:0;min-height:44px;font-size:12px}
  .phone-dialog{width:188px!important;border-width:18px 13px 14px!important;padding:3px!important;bottom:8px!important;top:auto!important;left:4px!important;max-height:calc(100dvh - 70px)}
  .phone-dialog .phone-contact-avatar{display:none}.phone-message{font-size:11px;line-height:1.25;padding:5px}
  .phone-dialog .phone-top strong{font-size:12px}.phone-countdown{font-size:10px}.phone-choices{gap:4px}
  .phone-send,.phone-defer{font-size:11px}.phone-send>strong{font-size:11px}.phone-disclaimer{font-size:9px}
}

/* finishing.css */
/* Actual food trays and a separate animated sealer prop. */
.scene-objects .controls.packing .action-button{width:19%;height:28%;left:12%;background-color:transparent!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;border-radius:0!important;filter:drop-shadow(1px 4px 2px #15251c66)}
.scene-objects .controls.packing [data-action=smiley]{background-image:url('./assets/v5/tray-smiley.webp')!important}
.scene-objects .controls.packing [data-action=mash]{background-image:url('./assets/v5/tray-mash.webp')!important}
.scene-objects .controls.packing [data-action=fries]{background-image:url('./assets/v5/tray-fries.webp')!important}
.scene-objects .controls.packing .action-button>.product-art{display:none!important}
.scene-objects .controls.packing .action-button strong{position:absolute;bottom:-3px;padding:2px 6px;background:#eee5c8;color:#2a3c2a;text-shadow:none;border:1px solid #899977;transform:rotate(-2deg)}
.packing-actions{inset:0!important;width:100%!important;height:100%!important;display:block;pointer-events:none}
#sealPackButton{position:absolute;right:0;top:31%;width:31%;height:auto!important;aspect-ratio:3/2;min-height:70px!important;border:0!important;padding:0!important;background:url('./assets/v5/pack-sealer.webp') center/contain no-repeat!important;box-shadow:none!important;pointer-events:auto;filter:drop-shadow(1px 4px 2px #12291c66);transition:transform .1s}
#sealPackButton>svg{display:none}
#sealPackButton .sealer-label{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#eee5c9;color:#32432b;border:1px solid #899375;padding:4px 7px;border-radius:2px;font-size:13px}
#sealPackButton::after{content:'';position:absolute;left:77%;top:30%;width:6%;aspect-ratio:1;border-radius:50%;background:#8b3429;border:1px solid #41221d}
#sealPackButton.ready::after{background:#90bf65;box-shadow:0 0 9px #b7e985}
#sealPackButton.pressed,#sealPackButton:active{transform:translateY(3px) rotate(.8deg)}
#undoPackButton{display:block!important;position:absolute;right:3%;top:77%;width:23%;min-height:48px;pointer-events:auto}
.production-card{padding:7px 0 10px;border-top:1px dashed #a0ad87;color:#33452d;text-align:center}
.production-card>strong{font-size:15px}.production-card>div{display:flex;justify-content:center;gap:24px;margin-top:4px}
.ending-production{display:block;font-size:12px;margin-top:6px;color:#f4e0ad}
.production-card>div>span{display:grid;grid-template-columns:32px 20px;align-items:center;gap:2px;font-size:18px}
.production-card .product-art{width:32px;height:32px}.production-card small{grid-column:1/3;font-size:10px}
.shift-report .report-stamp{position:sticky;bottom:0;z-index:2;background:#e8dfc0;box-shadow:0 -5px 12px #e8dfc0}
.story-frame>.production-card.compact{position:absolute;left:4%;top:4%;padding:9px;background:#eee3c2ed;border:1px solid #7c8b6c;transform:rotate(-2deg);z-index:3}
.production-card.compact>strong{font-size:13px}.production-card.compact>div{gap:9px}
@media(max-width:600px){#sealPackButton .sealer-label{font-size:11px;padding:3px 5px}.scene-objects .controls.packing .action-button{min-height:56px!important}.production-card>div{gap:18px}.story-frame>.production-card.compact{top:104%;left:40%;padding:6px}.production-card.compact>strong{font-size:11px}.production-card.compact .product-art{width:23px;height:23px}.production-card.compact>div>span{grid-template-columns:23px 15px;font-size:15px}}
@media(max-height:500px) and (orientation:landscape){.production-card{padding:3px 0}.production-card>strong{font-size:12px}.production-card .product-art{width:24px;height:24px}.production-card>div{gap:12px;margin-top:0}.production-card>div>span{grid-template-columns:24px 17px;font-size:15px}.production-card small{font-size:9px}.story-frame>.production-card.compact{left:3%;top:4%;padding:5px}.production-card.compact>div{gap:5px}.production-card.compact>strong{font-size:11px}}

/* immersive-game.css */
/* V6 factory: one task, physical touch targets, and a calm status hierarchy. */
.immersive-game .scene-objects .controls.loading .action-button{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
body.immersive-game .game-world::before{content:'';position:absolute;inset:0;background:linear-gradient(#121d23dd,transparent 32%,transparent 72%,#101c2380);pointer-events:none;z-index:1}
.immersive-game .game-topbar{height:50px;padding-inline:18px;background:linear-gradient(#101a20d9,transparent);z-index:12}
.immersive-game .game-topbar .run-heading strong{font-size:14px;letter-spacing:.01em}
.immersive-game .game-topbar .brand-logo{width:69px;max-height:38px}
.immersive-game .utility-actions{gap:2px}
.immersive-game .utility-actions .icon-button{border:0;background:none;box-shadow:none;border-radius:50%;width:44px;height:44px;min-width:44px;color:#e4e1ce}
.immersive-game .utility-actions .icon-button:hover{background:none;color:#fff4ca}
.immersive-game .utility-actions #shareButton,.immersive-game .utility-actions #fullscreenButton{display:none}
.immersive-game .hud{top:50px;height:38px;display:flex;gap:22px;align-items:center;background:none;border:0;padding:0 20px;z-index:9}
.immersive-game .score-readout{min-width:115px;gap:7px}.immersive-game .score-readout>strong{font-size:24px}.immersive-game .score-readout>span{font-size:11px;color:#c0c6b5}
.immersive-game .station-rail{margin-inline:auto;font-size:11px;gap:10px}.immersive-game .station-rail>i{width:22px}
.immersive-game .hud-health{gap:11px}.immersive-game .hud-health>strong{font-size:21px}
.immersive-game .world-stage-frame{top:57%;width:min(100%,calc((100dvh - 178px) * 1.6666667));z-index:2}
.immersive-game .work-instruction{position:absolute;top:99px;left:50%;transform:translateX(-50%);width:min(860px,calc(100% - 42px));z-index:10;color:#f1edd9;pointer-events:none;text-shadow:0 2px 3px #102019;direction:rtl}
.immersive-game .work-goal{display:flex;align-items:center;gap:12px}
.immersive-game #workStationNumber{font:700 11px Arial,sans-serif;color:#c0bb94;border-bottom:2px solid #c2ad71;padding-block:4px;align-self:center}
.immersive-game #workGoal{font-size:clamp(19px,2.3vw,29px);line-height:1.22;margin:0;font-weight:800;flex:1;letter-spacing:-.02em}
.immersive-game #workCount{font:700 20px Arial,sans-serif;direction:ltr;color:#e7c888;white-space:nowrap}
.immersive-game #workNext{margin:7px 25px 0 0;font-size:14px;line-height:1.4;color:#d4d7c5;min-height:20px}
.immersive-game .work-instruction.cue-now #workNext{color:#bfe59e}
.immersive-game .work-progress{height:2px;background:#bdc6a82c;margin:12px 25px 0 0;overflow:hidden;direction:rtl}
.immersive-game .work-progress i{display:block;height:100%;background:#d3b575;transition:width .2s}
.immersive-game .work-goal .machine-health{flex:none;display:flex;align-items:center;gap:4px;margin:0;color:#b8c4aa;white-space:nowrap}
.immersive-game .work-goal .machine-health>span{font-size:10px;color:#b8c4aa;display:inline;margin-inline-end:3px}
.immersive-game .work-goal .machine-health>i{width:7px;height:7px;border-radius:50%;background:#b9ce8c;border:1px solid #dbe7b6;box-shadow:0 0 5px #adcb6b66}
.immersive-game .work-goal .machine-health>i.damaged{background:#6c3933;border-color:#8e4b40;box-shadow:none}
.immersive-game .deck-topline,.immersive-game .timing-cue,.immersive-game .interior-brand-sign,.immersive-game .deck-hint{display:none!important}
/* The only illuminated states belong to useful objects, never to rectangle hitboxes. */
.immersive-game .scene-objects .action-button{overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;min-width:48px!important;min-height:48px!important;transition:filter .12s,transform .1s}
.immersive-game .scene-objects .action-button>span:not(.product-art),.immersive-game .scene-objects .action-button strong,.immersive-game .scene-objects .action-button small,.immersive-game .scene-objects .action-button kbd,.immersive-game .scene-objects .action-button .reject-mark{display:none!important}
.immersive-game .scene-objects .action-button:hover{background:none!important;filter:brightness(1.08)}
.immersive-game .scene-objects .action-button:focus-visible{outline:2px solid #e9ce87;outline-offset:3px}
.immersive-game .scene-objects .action-button.selected::after{display:none}
.immersive-game .scene-objects .action-button.pressed{transform:translate(-50%,-47%) scale(.96)}
.immersive-game .scene-objects .controls.loading::before{content:'';position:absolute;left:77%;top:15%;width:16%;height:66%;background:linear-gradient(100deg,#48534e,#a5aca0 32%,#66746b 80%,#4d5a53);border:2px solid #35443b;border-radius:9px;box-shadow:2px 4px 0 #162a2266,inset 0 1px #dbe0c4;pointer-events:none}
.immersive-game .scene-objects .controls.loading .action-button[data-action=smiley],.immersive-game .scene-objects .controls.loading .action-button[data-action=mash],.immersive-game .scene-objects .controls.loading .action-button[data-action=fries]{left:85%;width:clamp(48px,8vw,75px);height:clamp(48px,8vw,75px);aspect-ratio:1;border-radius:50%!important;background:radial-gradient(circle at 40% 32%,#737e70 35%,#35443d 61%,#172c23 64%,#bac1aa 69%,#43564b 74%)!important;border:0!important;box-shadow:1px 3px 1px #12271a80!important;display:grid!important;place-items:center}
.immersive-game .scene-objects .controls.loading [data-action=smiley]{top:27%}.immersive-game .scene-objects .controls.loading [data-action=mash]{top:49%}.immersive-game .scene-objects .controls.loading [data-action=fries]{top:71%}
.immersive-game .scene-objects .controls.loading .action-button>.product-art{width:61%!important;height:61%!important;filter:drop-shadow(0 1px 0 #0005);margin-top:-2px}
.immersive-game .scene-objects .controls.loading .action-button.selected::before{content:'';position:absolute;width:8px;height:8px;right:3px;top:2px;border-radius:50%;border:1px solid #586641;background:#b9d377;box-shadow:0 0 7px #d5e6a7}
.immersive-game .scene-objects .controls.loading .action-button.next-object{filter:drop-shadow(0 0 5px #efca7ca0)}
.immersive-game .scene-objects .controls.loading .peel-button{border:0!important;outline:0!important}
.immersive-game .scene-objects .controls.loading .reject-button{left:11%;top:77%;width:15%;height:24%}
.immersive-game .scene-objects .controls.loading .reject-button>.product-art{width:100%!important;height:100%!important;background-image:url('./assets/v2/bins.webp');background-position:100% 0!important;background-size:400% 100%;filter:drop-shadow(1px 4px 2px #14221e66)}
.immersive-game .scene-objects .controls:not(.loading):not(.packing) .action-button{width:16%;height:32%}
.immersive-game .scene-objects .controls:not(.loading):not(.packing) .action-button>.product-art{width:100%!important;height:100%!important;filter:drop-shadow(2px 5px 2px #10291b66)}
.immersive-game .scene-objects .controls:not(.loading):not(.packing) .next-object{filter:drop-shadow(0 0 6px #f9d58e)}
.immersive-game .sorting-workspace,.immersive-game .is-tutorial .sorting-workspace{width:47%!important;top:54%!important}
.immersive-game .sorting-workspace .bench-heading{display:none}
.immersive-game .sorting-tray{gap:9px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.immersive-game .sort-choice,.immersive-game.is-tutorial .sort-choice{border:0!important;background:transparent!important;box-shadow:none!important;min-height:64px!important;height:clamp(68px,13vw,140px)!important;border-radius:50%;padding:0!important;overflow:visible;transform:none}
.immersive-game .sort-choice.selected{border:0!important;background:transparent!important;transform:translateY(-4px);filter:drop-shadow(0 0 4px #f1c882)}
.immersive-game .sort-choice.selected::after{content:'';inset:12% 6%;border:2px solid #8f5a2b;border-radius:50%;background:none!important;pointer-events:none}
.immersive-game .sort-choice .product-art,.immersive-game.is-tutorial .sort-choice .product-art{width:clamp(52px,9vw,102px)!important;height:clamp(52px,9vw,102px)!important;filter:drop-shadow(2px 5px 2px #273a2566)}
.immersive-game .drag-ghost{border:0!important;background:none!important;box-shadow:none!important;filter:drop-shadow(3px 8px 3px #12332088)}
.immersive-game .scene-objects .drop-active{outline:0!important;filter:drop-shadow(0 0 7px #e8cb7d)!important}
/* Packing works on food, bag, and the sealer handle. Undo lives on the bag. */
.immersive-game .packing-workspace,.immersive-game.is-tutorial .packing-workspace{width:42%!important;top:53%!important}
.immersive-game .pack-order{display:none!important}
.immersive-game .packing-workspace .open-bag,.immersive-game.is-tutorial .packing-workspace .open-bag{height:clamp(128px,23vw,270px)!important;width:clamp(128px,23vw,270px)!important;margin:0 auto!important;pointer-events:none}
.immersive-game .bag-contents{top:23%;left:23%;right:23%;bottom:33%}.immersive-game .bag-contents .product-art{height:clamp(26px,4vw,45px);width:clamp(26px,4vw,45px)}
.immersive-game .open-bag #packQuantity{position:absolute;left:50%;bottom:24%;transform:translateX(-50%) rotate(-4deg);color:#5a623b;font:800 clamp(14px,2vw,22px) Arial,sans-serif;direction:ltr;z-index:4;text-shadow:none}
.immersive-game .bag-logo{bottom:8%;width:27%}.immersive-game .empty-bag-label{display:none!important}
.immersive-game .scene-objects .controls.packing .action-button{width:20%;height:29%;min-height:56px!important;left:12%;filter:drop-shadow(1px 4px 2px #15251c66)}
.immersive-game .scene-objects .controls.packing .action-button.next-object{filter:drop-shadow(0 0 5px #e7cb7c)}
.immersive-game #sealPackButton{top:37%;right:0;width:30%;min-height:70px!important;aspect-ratio:3/2;filter:drop-shadow(2px 4px 2px #142b2277)}
.immersive-game #sealPackButton .sealer-label{display:none!important}
.immersive-game #sealPackButton.ready{filter:drop-shadow(0 0 6px #c0cf7b)}
.immersive-game #sealPackButton:disabled{opacity:.75}
.immersive-game #undoPackButton{display:grid!important;place-items:center;position:absolute!important;inset:auto!important;left:50%!important;bottom:-3%!important;top:auto!important;right:auto!important;transform:translateX(-50%) rotate(-4deg);height:44px;min-height:44px;width:56px;padding:0!important;border:0!important;border-radius:50%!important;background:none!important;box-shadow:none!important;color:#7f4e2d;pointer-events:auto;z-index:5;text-shadow:0 1px #f0e8ca}
.immersive-game #undoPackButton>span{font-size:33px;line-height:1}.immersive-game #undoPackButton:disabled{opacity:.15;pointer-events:none}.immersive-game #undoPackButton:active{transform:translateX(-50%) rotate(-12deg)}
/* Prime is a compact character badge, not another row of buttons. */
.immersive-game #primeModule{position:absolute!important;left:auto!important;right:21px;top:auto!important;bottom:max(18px,env(safe-area-inset-bottom));width:76px!important;max-width:none;transform:none!important;z-index:14}
.immersive-game #primeButton{display:block;width:76px;height:76px!important;min-height:76px!important;padding:0!important;border:0!important;border-radius:50%!important;background:conic-gradient(#e7c66c var(--prime-charge,0deg),#475549 0)!important;box-shadow:0 3px 3px #0c191d77!important;overflow:visible;opacity:1}
.immersive-game .prime-portrait{display:block;position:absolute;inset:5px;border:2px solid #253d2d;border-radius:50%;background:#344b3a url('./assets/david-normal.webp') center 15%/125% auto no-repeat;overflow:hidden}
.immersive-game #primeButton>svg{display:none}.immersive-game #primeButton>span:not(.prime-portrait):not(.prime-meter){position:absolute;top:100%;right:50%;transform:translateX(50%);width:max-content;max-width:110px;padding-top:5px;text-align:center}
.immersive-game #primeButton strong{font-size:11px!important;color:#ded8b8;text-shadow:0 1px #14271b;display:block}.immersive-game #primeButton>b{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font:700 11px Arial,sans-serif;background:#243b2c;color:#e9dfb5;border-radius:8px;padding:1px 5px}
.immersive-game #primeMeter{display:none}.immersive-game #primeModule .bag-tally{display:none}
.immersive-game #primeModule.ready #primeButton{box-shadow:0 0 14px #e6c65e66,0 3px 3px #0c191d77!important}.immersive-game #primeModule.ready .prime-portrait,.immersive-game #primeModule.active .prime-portrait{background-image:url('./assets/david-prime.webp');background-size:145%;background-position:center 10%}.immersive-game #primeModule.ready #primeButton strong{color:#f6d684}
/* The minimized SMS is itself a little phone, with an unread light. */
.immersive-game #openPhoneButton{left:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:77px;min-height:112px!important;max-width:77px!important;border:0;padding:19px 9px 15px;background:url('./assets/v4/phone-prop.webp') center/100% 100% no-repeat;box-shadow:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:3px;transform:rotate(-6deg);overflow:visible;filter:drop-shadow(2px 4px 2px #091d2266)}
.immersive-game #openPhoneButton>img{width:31px;height:31px;border-radius:50%;border:1px solid #9eaf8e}.immersive-game #openPhoneButton>span:not(.pill-notification){flex:none;gap:1px;text-align:center}.immersive-game #openPhoneButton strong{font-size:11px}.immersive-game #openPhoneButton small{font-size:9px}.immersive-game #openPhoneButton>b{font-size:10px}.immersive-game #openPhoneButton .pill-notification{top:8px;right:5px;width:11px;height:11px;background:#b64330;border-color:#e9d5a6}
.immersive-game #phoneDialog{width:244px!important;left:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;top:auto!important;max-height:300px!important;z-index:30!important}
.immersive-game #phoneDialog .phone-top{min-height:40px}.immersive-game #phoneDialog .phone-message{margin-block:4px;font-size:12px;line-height:1.35}.immersive-game #phoneDialog .phone-disclaimer{font-size:9px}
.immersive-game #phoneDialog .phone-send,.immersive-game #phoneDialog .phone-defer{min-height:44px;font-size:12px}
.immersive-game #phoneDialog .phone-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.immersive-game .game-toast{top:auto!important;bottom:20px!important;border:0;box-shadow:none;background:none!important;color:#eee5bc;font-size:17px;text-shadow:0 2px 4px #102619;max-width:calc(100% - 190px);pointer-events:none}
.immersive-game .tutorial-coach{top:103px!important;left:50%!important;transform:translateX(-50%)!important;width:min(620px,calc(100% - 30px))!important;max-width:none!important;padding:0 0 11px!important;border:0;border-bottom:1px solid #bec7a855;border-radius:0;background:none;box-shadow:none;color:#eee6cb;text-shadow:0 1px 3px #0c241c;gap:10px}
.immersive-game .tutorial-coach .coach-copy strong{color:#eee6cb;font-size:20px!important}.immersive-game .tutorial-coach .coach-copy p{color:#d2d6bf;font-size:13px!important;max-width:490px;line-height:1.4}.immersive-game .tutorial-coach .coach-heading{color:#bdbf9b}.immersive-game .tutorial-coach .coach-heading button{color:#d9d7bc}.immersive-game .tutorial-coach .coach-avatar{border:0;background-color:transparent;filter:drop-shadow(0 2px 1px #091b1b77);border-radius:0}
.immersive-game .tutorial-focus{outline:0!important;box-shadow:none!important;filter:drop-shadow(0 0 6px #efd184)!important}
@media(max-width:600px) and (orientation:portrait){
 .immersive-game .game-topbar{padding:3px 10px;height:48px}.immersive-game .game-topbar .brand-logo{width:55px}.immersive-game .run-heading{gap:7px}.immersive-game .run-heading strong{font-size:12px!important}.immersive-game .utility-actions .icon-button{width:40px;min-width:40px}
 .immersive-game .hud{top:48px;height:36px;padding:0 14px;gap:8px;display:flex}.immersive-game .score-readout{min-width:85px}.immersive-game .score-readout>strong{font-size:22px}.immersive-game .station-rail{gap:5px;font-size:10px;grid-row:auto;grid-column:auto}.immersive-game .station-rail>i{width:8px}.immersive-game .station::before{display:none}.immersive-game .hud-health{gap:6px}.immersive-game .hud-health>strong{font-size:18px}.immersive-game .lives{gap:2px}.immersive-game .lives svg{width:9px;height:11px}
 .immersive-game .work-instruction{top:104px;width:calc(100% - 34px)}.immersive-game .work-goal{gap:8px;flex-wrap:wrap}.immersive-game #workGoal{font-size:22px;max-width:calc(100% - 81px)}.immersive-game #workCount{font-size:18px}.immersive-game #workNext{font-size:13px;margin:8px 0 0;line-height:1.5;min-height:39px}.immersive-game .work-progress{margin:11px 0 0}.immersive-game .work-goal .machine-health{position:absolute;top:-16px;left:0;gap:4px}.immersive-game .work-goal .machine-health>span{font-size:9px}
 .immersive-game .world-stage-frame{top:54%;width:100%}.immersive-game.is-tutorial .world-stage-frame{top:57%}
 .immersive-game .scene-objects .controls.loading .action-button>.product-art{width:60%!important;height:60%!important}.immersive-game .scene-objects .controls.loading .reject-button>.product-art{width:100%!important;height:100%!important}
 .immersive-game .sorting-tray{gap:8px!important}.immersive-game .sort-choice,.immersive-game.is-tutorial .sort-choice{height:68px!important;min-height:64px!important}.immersive-game .sort-choice .product-art,.immersive-game.is-tutorial .sort-choice .product-art{width:54px!important;height:54px!important}
 .immersive-game .packing-workspace .open-bag,.immersive-game.is-tutorial .packing-workspace .open-bag{width:133px!important;height:143px!important}.immersive-game .bag-contents .product-art{width:27px;height:27px}.immersive-game #sealPackButton{width:31%;top:37%}.immersive-game #primeModule{right:18px;bottom:max(34px,env(safe-area-inset-bottom));width:66px!important}.immersive-game #primeButton{height:66px!important;min-height:66px!important;width:66px}.immersive-game #phoneDialog{width:230px!important;border-width:19px 17px 16px!important;max-height:270px!important}.immersive-game #openPhoneButton{left:14px!important;bottom:18px!important}
 .immersive-game .tutorial-coach{top:106px!important;width:calc(100% - 30px)!important}.immersive-game .tutorial-coach .coach-copy strong{font-size:19px!important}.immersive-game .tutorial-coach .coach-copy p{font-size:13px!important}.immersive-game .tutorial-coach .coach-avatar{display:block!important;width:42px!important;min-width:42px!important;height:58px!important}
 .immersive-game .game-toast{bottom:159px!important;font-size:15px;max-width:calc(100% - 32px)}
}
@media(max-width:600px) and (max-height:720px) and (orientation:portrait){
 .immersive-game .work-instruction{top:94px}.immersive-game #workGoal{font-size:20px}.immersive-game #workNext{min-height:35px;font-size:12px;line-height:1.4;margin-top:6px}.immersive-game .work-progress{margin-top:7px}.immersive-game .world-stage-frame{top:52%}.immersive-game.is-tutorial .world-stage-frame{top:56%}.immersive-game .tutorial-coach{top:99px!important}.immersive-game .tutorial-coach .coach-copy strong{font-size:17px!important}.immersive-game .tutorial-coach .coach-copy p{font-size:12px!important}.immersive-game #phoneDialog{width:221px!important;border-width:15px 15px 13px!important;bottom:6px!important}.immersive-game #phoneDialog .phone-disclaimer{display:none}.immersive-game #phoneDialog .phone-contact-avatar{display:none}.immersive-game #phoneDialog .phone-top{min-height:33px}.immersive-game #phoneDialog .phone-message{font-size:11px;line-height:1.25;padding:5px}.immersive-game #phoneDialog .phone-minimize{min-height:44px;min-width:44px}.immersive-game #primeModule{bottom:29px}.immersive-game #openPhoneButton{bottom:8px!important;min-height:100px!important;width:70px;max-width:70px!important}.immersive-game .game-toast{bottom:130px!important}
}
@media(max-height:500px) and (orientation:landscape){
 .immersive-game .game-topbar{height:43px;padding:0 12px}.immersive-game .game-topbar .run-heading{margin-left:0}.immersive-game .game-topbar .brand-logo{width:55px}.immersive-game .utility-actions .icon-button{width:40px;min-width:40px;height:40px}.immersive-game .hud{top:42px;height:28px;padding:0 18px}.immersive-game .score-readout>strong{font-size:19px}.immersive-game .hud-health>strong{font-size:18px}.immersive-game .station-rail{margin-inline:auto}
 .immersive-game .work-instruction{top:78px;width:235px;left:auto;right:18px;transform:none}.immersive-game .work-goal{gap:6px;flex-wrap:wrap}.immersive-game #workStationNumber{font-size:9px}.immersive-game #workGoal{font-size:18px;max-width:182px;flex:auto}.immersive-game #workCount{font-size:16px}.immersive-game #workNext{font-size:12px;margin:7px 0 0;line-height:1.4;min-height:0}.immersive-game .work-progress{margin:9px 0 0}.immersive-game .work-goal .machine-health{margin-top:1px;margin-inline-start:auto}.immersive-game .work-goal .machine-health>span{font-size:9px}
 .immersive-game .world-stage-frame{top:59%;left:38%;width:min(67vw,calc((100dvh - 90px) * 1.6666667));transform:translate(-50%,-50%)}
 .immersive-game #primeModule{right:25px;bottom:31px;width:65px!important}.immersive-game #primeButton{width:65px;height:65px!important;min-height:65px!important}.immersive-game #openPhoneButton{left:auto!important;right:112px;bottom:17px!important;min-height:93px!important;width:64px;max-width:64px!important;padding:16px 6px 10px}.immersive-game #openPhoneButton>img{width:24px;height:24px}.immersive-game #openPhoneButton small{display:none}.immersive-game #phoneDialog{left:auto!important;right:20px;bottom:6px!important;width:223px!important;border-width:16px 14px 14px!important;max-height:270px!important}.immersive-game #phoneDialog .phone-contact-avatar{display:none}.immersive-game #phoneDialog .phone-disclaimer{display:none}.immersive-game #phoneDialog .phone-message{font-size:11px}
 .immersive-game .tutorial-coach{top:81px!important;width:232px!important;left:auto!important;right:17px!important;transform:none!important;padding:0 0 8px!important}.immersive-game .tutorial-coach .coach-copy strong{font-size:16px!important}.immersive-game .tutorial-coach .coach-copy p{font-size:12px!important}.immersive-game .tutorial-coach .coach-avatar{display:none!important}.immersive-game .tutorial-start{min-height:44px!important;font-size:12px!important;margin-top:6px}
 .immersive-game .game-toast{bottom:7px!important;left:35%!important;max-width:50%;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.immersive-game .scene-objects .action-button,.immersive-game .work-progress i{transition:none}.immersive-game .sort-choice.selected{transform:none}}
/* Target count always names what is being completed. */
.immersive-game .work-instruction[data-station='2'] #workCount::after{content:'שקיות';display:block;text-align:center;font:400 9px Arial,sans-serif;color:#c1c6ae;direction:rtl;margin-top:3px}
.immersive-game .work-instruction[data-station='1'] #workCount::after{content:'מוצרים';display:block;text-align:center;font:400 9px Arial,sans-serif;color:#c1c6ae;direction:rtl;margin-top:3px}
.immersive-game.is-prime #workCount::after{display:none!important}
/* Prime changes the worker's power, never the active workbench or its controls. */
.immersive-game.is-prime #primeModule{opacity:1}.immersive-game.is-prime #primeButton{background:#edcf77!important;box-shadow:0 0 20px #ffd8787a!important}.immersive-game.is-prime #primeButton>b{background:#6c5427;color:#fff3be}.immersive-game.is-prime .work-progress i{background:#ffdd78}.immersive-game.is-prime .work-instruction #workNext{color:#f1d895}.immersive-game.is-prime #workCount::after{display:block!important}
.immersive-game #phoneDialog{overflow-y:auto!important}
.immersive-game.phone-open .tutorial-coach{opacity:1;pointer-events:auto}
@media(max-height:500px) and (orientation:landscape){.immersive-game.phone-open .world-stage-frame{width:min(67vw,calc((100dvh - 90px) * 1.6666667),calc(100vw - 260px));left:calc((100vw - 260px)/2 + 12px)}}

/* immersive-journey.css */
/* V6: the world is the interface. Hit regions and artwork share one camera. */
.journey-layer{background:#151e23}
.journey-layer .story-backdrop{inset:0;background-size:cover;filter:blur(14px) brightness(.35) saturate(.7);transform:scale(1.05)}
.journey-layer .story-vignette{background:linear-gradient(#0b141b99,transparent 30%,transparent 75%,#0b141b99);pointer-events:none}
.story-frame{overflow:visible}
.story-frame::before{background:linear-gradient(#0b141b55,transparent 30%,transparent 80%,#0b141b44)}
.home-room,.world-map-scene{aspect-ratio:2/3;width:min(100vw,calc(100dvh * .6666667));top:50%}
.scene-brief{position:fixed;z-index:6;top:calc(50% - 50dvh + max(75px,env(safe-area-inset-top)));right:calc(50% - 50vw + 22px);left:calc(50% - 50vw + 22px);max-width:680px;color:#fff1d5;text-align:right;text-shadow:0 2px 5px #071116,0 0 16px #071116;pointer-events:none}
.scene-brief>span{font-size:12px;color:#d8be91;letter-spacing:.02em}
.scene-brief h1{font-size:clamp(23px,3.2vw,40px);line-height:1.15;margin:7px 0 8px;font-weight:850;letter-spacing:-.025em}
.scene-brief p{font-size:14px;line-height:1.5;margin:0;max-width:480px;color:#f1dfbf}
.room-object{position:absolute;padding:0;min-width:48px;min-height:48px;border:0;background:transparent;box-shadow:none;border-radius:0;z-index:3;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}
.room-object:hover,.room-object:active{background:transparent;box-shadow:none}
.room-object:focus-visible{outline:2px dashed #ffdc87;outline-offset:3px;border-radius:18px}
.room-object:disabled{cursor:default;opacity:1}
.room-object.current-object::after,.factory-room.next::after,.destination-next::after{content:'';position:absolute;left:50%;top:100%;width:14px;height:14px;transform:translate(-50%,12px) rotate(45deg);border-right:3px solid #ffe3a2;border-bottom:3px solid #ffe3a2;filter:drop-shadow(0 0 5px #080e10);animation:object-pointer 1.5s ease-in-out infinite;pointer-events:none}
.alarm-object{left:71.78%;top:40.75%;width:11.04%;height:4.17%;transform:translate(-50%,-50%)}
.clock-digits{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76%;height:62%;font:700 clamp(11px,2.7vw,20px)/1 'Courier New',monospace;letter-spacing:-.08em;direction:ltr;color:#d6ead0;text-shadow:0 0 5px #b9f0a9;white-space:nowrap;pointer-events:none}
.alarm-object.ringing .clock-digits{color:#f5a16d;animation:clock-ring .7s steps(2,end) infinite;text-shadow:0 0 8px #ffa26c}
.alarm-object.current-object::after{top:75%;width:10px;height:10px}
.door-object{left:89%;top:5%;width:11%;height:40%}
.door-object.current-object{background:linear-gradient(90deg,transparent 80%,#ffe3a550);box-shadow:inset -3px 0 5px #ffe3a599}
.door-object.current-object::after{top:55%;left:35%;transform:rotate(135deg);animation:none}
.remote-object{left:21%;top:78.39%;width:25.49%;height:9.11%;transform:rotate(8deg);border-radius:30%}
.mobile-object{left:67.38%;top:79.3%;width:21.29%;height:10.03%;transform:rotate(-7deg);border-radius:15%}
.chosen-object::after{content:'✓';position:absolute;right:4%;top:-12px;color:#dbefb3;font-size:24px;text-shadow:0 2px 4px #071719}
.sleep-breath{position:absolute;left:45%;top:31%;color:#c9dbdf;font:italic 24px Georgia,serif;opacity:.65;animation:sleep-drift 3s ease-in-out infinite;pointer-events:none}
.sleep-breath>span{font-size:18px;position:relative;top:-14px;left:5px}
.shuttle-seat{left:52%;top:47%;width:43%;height:42%;border-radius:45% 40% 15% 15%}
.shuttle-room .story-tapugan.shuttle-brand{width:12%;right:11%;top:34%}
.journey-hud{left:14px;top:max(12px,env(safe-area-inset-top));gap:10px;align-items:center}
body[data-journey=factory] .journey-hud{display:none}
.journey-hud .map-object,.journey-hud .wallet-object{border:0;background:transparent;box-shadow:none;transform:none;padding:4px;color:#f4e6cb;min-height:44px;text-shadow:0 2px 4px #07151d}
.journey-hud .map-object{font-size:0;min-width:44px}
.journey-hud .map-object>span{font-size:29px}
.journey-hud .wallet-object small{font-size:9px;color:#dac7a8}
.journey-hud .wallet-object bdi{font-size:16px;color:#f3ad95}
body[data-journey=home] .journey-hud>.map-object,body[data-journey=home] .journey-hud>.wallet-object,body[data-journey=shuttle] .journey-hud>.wallet-object{display:none}
.journey-tools{right:10px;gap:2px}
.journey-tools button{border:0!important;background:transparent!important;box-shadow:none!important;width:40px!important;height:44px;padding:10px;color:#f0e2c7;filter:drop-shadow(0 2px 2px #10222c)}
.journey-hint{bottom:max(24px,env(safe-area-inset-bottom));background:linear-gradient(90deg,transparent,#12232bea 12%,#12232bea 88%,transparent);color:#f5e5c8;border:0;box-shadow:none;padding:13px 25px;font-size:15px;line-height:1.4;max-width:100%;border-radius:0}
.world-map-scene .map-location{width:29%;height:16%;background:none;border:0;box-shadow:none;padding:0;text-shadow:0 2px 3px #15202b,0 0 7px #15202b;justify-content:flex-end;gap:2px;z-index:4}
.world-map-scene .map-location:hover{background:none;box-shadow:none;filter:brightness(1.12)}
.world-map-scene .map-location .destination-name{font-size:15px;font-weight:850;white-space:nowrap}
.world-map-scene .map-location .destination-status{font-size:11px;color:#fff0bd;white-space:nowrap}
.world-map-scene .factory-location .story-tapugan{position:absolute;left:50%;top:8%;transform:translateX(-50%);width:72%;height:25%;margin:0;filter:drop-shadow(0 1px 1px #162920)}
.world-map-scene .destination-next::after{top:7%;left:50%;transform:translateX(-50%) rotate(45deg)}
.world-map-scene .locked-location{width:23%;min-width:70px;min-height:66px;padding:2px;opacity:1;filter:none;color:#ffe5bb;background:none;border:0;text-shadow:0 2px 3px #20272d,0 0 5px #20272d;gap:1px}
.physical-lock{width:26px;height:30px;fill:#e7bf73;stroke:#4e3b22;stroke-width:2.5;stroke-linejoin:round;filter:drop-shadow(0 2px 3px #19212b)}
.physical-lock>path:first-child{fill:none;stroke:#eee0bc;stroke-width:4}
.world-map-scene .locked-location strong{font-size:17px;line-height:1;background:none;padding:0;color:#fff0d4;font-weight:900}
.world-map-scene .locked-location small{font-size:11px;color:#ffe1ab;white-space:nowrap}
.world-map-scene .map-ending-collection{background:none;border:0;bottom:-5%;right:3%;padding:0;text-shadow:0 2px 3px #17212b}
.world-map-scene .map-ending-collection i{border:0;background:none}
.factory-hub .factory-room{border:0!important;background:transparent!important;box-shadow:none!important;top:43%;height:50%;width:29%;border-radius:0;filter:none;opacity:1}
.factory-hub .factory-room:hover:not(:disabled){filter:drop-shadow(0 0 5px #ffe3a585);outline:0;background:transparent!important}
.factory-hub .factory-room:focus-visible{outline:2px dashed #ffe3a5;outline-offset:4px}
.factory-hub .station-floor-name{position:absolute;bottom:-15%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:clamp(13px,1.7vw,21px);font-weight:800;text-shadow:0 2px 4px #172723}
.factory-hub .factory-room>.report-stars{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);font-size:21px}
.factory-hub .factory-room.next::after{top:42%;width:20px;height:20px}
.factory-hub .station-lock{display:flex;align-items:center;justify-content:center;flex-direction:column;position:absolute;inset:25% 5%;color:#fff0ce;text-shadow:0 2px 4px #10201b;gap:4px}
.factory-hub .station-lock strong{font-size:24px}
.factory-hub .station-lock .physical-lock{width:35px;height:40px}
.factory-hub .factory-room.locked::before{content:'';position:absolute;left:0;right:0;top:58%;height:10px;background:repeating-linear-gradient(45deg,#d6b558 0 10px,#4d4a3d 10px 20px);box-shadow:0 2px 3px #0006;transform:rotate(-5deg)}
.factory-hub .factory-exit{border:0;box-shadow:none;background:none;color:#f8e9c5;font-size:32px;bottom:-25%;right:3%;min-width:48px;min-height:48px;text-shadow:0 2px 3px #13231c}
.factory-wall-logo{top:14.6%}
.story-frame .place-card,.story-frame .scene-note{display:none}
.ending-caption{background:none!important;border:0!important;box-shadow:none!important}
.ending-found,.fold-game-caption{background:none;border:0;box-shadow:none;text-shadow:0 2px 3px #11221c}
@keyframes object-pointer{50%{translate:0 5px;opacity:.45}}
@keyframes clock-ring{50%{opacity:.45}}
@keyframes sleep-drift{50%{translate:0 -8px;opacity:.25}}
@media(min-width:700px){.home-room .scene-brief,.world-map-scene .scene-brief{left:8%;right:calc(50% - 46vw);top:calc(50% - 50dvh + 100px);max-width:330px}.world-map-scene .map-ending-collection{bottom:2%}.world-map-scene .locked-location strong{font-size:20px}}
@media(max-height:720px) and (max-width:600px){.scene-brief{top:calc(50% - 50dvh + 65px)}.scene-brief h1{font-size:22px}.scene-brief p{font-size:12px}.home-room,.world-map-scene{width:min(100vw,calc((100dvh - 32px) * .6666667));top:52%}.world-map-scene .map-ending-collection{bottom:-3%;font-size:10px}.world-map-scene .locked-location strong{font-size:15px}}
@media(max-height:500px) and (orientation:landscape){.scene-brief{top:calc(50% - 50dvh + 55px);max-width:270px}.scene-brief h1{font-size:23px}.scene-brief p{font-size:12px}.home-room,.world-map-scene{width:calc(100dvh * .6666667);top:50%}.home-room .scene-brief,.world-map-scene .scene-brief{right:calc(50% - 47vw);left:auto;max-width:245px;top:calc(50% - 50dvh + 75px)}.clock-digits{font-size:11px}.world-map-scene .locked-location{min-height:44px;min-width:48px;gap:0}.world-map-scene .physical-lock{height:18px;width:17px}.world-map-scene .locked-location strong{font-size:11px}.world-map-scene .locked-location small{font-size:8px}.world-map-scene .map-location .destination-name{font-size:11px}.world-map-scene .map-location .destination-status{font-size:8px}.world-map-scene .map-ending-collection{right:calc(50% + 150px);bottom:8%;width:180px;flex-wrap:wrap}.factory-hub .scene-brief{top:0;right:2%;max-width:100%;left:auto}.factory-hub .scene-brief h1{font-size:22px}.factory-hub .scene-brief>span,.factory-hub .scene-brief p{font-size:11px}.factory-hub .factory-exit{bottom:0}.factory-hub .station-floor-name{font-size:14px}.factory-hub .factory-room>.report-stars{font-size:16px}}
@media(prefers-reduced-motion:reduce){.room-object.current-object::after,.factory-room.next::after,.destination-next::after,.alarm-object.ringing .clock-digits,.sleep-breath{animation:none}}
/* The bedroom camera fills a phone; right alignment keeps clock, phone and door visible. */
@media(orientation:portrait) and (max-width:600px){
 .home-room{width:max(100vw,calc(100dvh * .6666667));left:auto;right:0;top:50%;transform:translateY(-50%)}
 .home-room>.scene-brief{top:max(80px,calc(env(safe-area-inset-top) + 60px));right:22px;left:auto;width:calc(100vw - 44px);max-width:none}
 .home-room .clock-digits{font-size:15px}
}
/* A tall physical factory overview replaces the tiny horizontal stage picker. */
.factory-hub{aspect-ratio:2/3;width:min(100vw,calc(100dvh * .6666667));top:50%}
.factory-hub .factory-room{left:var(--x);top:var(--y);width:54%;height:25%}
.factory-hub .station-floor-name{bottom:8%;font-size:16px}
.factory-hub .factory-room>.report-stars{bottom:-1%;font-size:17px}
.factory-hub .factory-wall-logo{left:72%;top:8%;width:20%;height:5%}
.factory-hub .factory-exit{display:none}
.factory-hub .factory-room.next::after{top:45%}
@media(orientation:portrait) and (max-width:600px){
 .factory-hub{width:max(100vw,calc(100dvh * .6666667));left:auto;right:0;top:50%;transform:translateY(-50%)}
 .factory-hub>.scene-brief{top:max(70px,calc(env(safe-area-inset-top) + 55px));right:18px;left:auto;width:calc(100vw - 36px);max-width:none}
 .factory-hub .scene-brief h1{font-size:23px}.factory-hub .scene-brief p{font-size:12px}
 .factory-hub .factory-wall-logo{display:block;top:7%;height:4%}
 .factory-hub .factory-room{width:54%;height:25%}
 .factory-hub .station-lock .physical-lock{width:31px;height:36px}
 .factory-hub .station-lock strong{font-size:22px}
}
@media(orientation:landscape) and (max-height:500px){
 .factory-hub>.scene-brief{right:calc(50% - 47vw);left:auto;top:calc(50% - 50dvh + 75px);width:240px;max-width:240px}
 .factory-hub .station-floor-name{font-size:11px}.factory-hub .factory-room>.report-stars{font-size:11px}
 .factory-hub .station-lock .physical-lock{width:22px;height:25px}.factory-hub .station-lock strong{font-size:15px}
}

/* screen.css */
/* One contained, landscape game screen; every game layer uses this coordinate space. */
html,body{width:100%;height:100%;height:100dvh;overflow:hidden;background:#080e13}
body{display:flex;align-items:center;justify-content:center;margin:0}
body #gameApp{position:relative!important;inset:auto!important;width:min(100vw,calc(100dvh * 16 / 9))!important;height:min(100dvh,calc(100vw * 9 / 16))!important;max-width:100vw;max-height:100dvh;min-height:0!important;aspect-ratio:16/9;container-type:size;padding:0;overflow:hidden;background:#15262f;box-shadow:0 0 100px #000a}
body #gameApp::before{background:none}
body #gameApp .app-notice{position:absolute;bottom:4%;left:50%;max-width:80%;background:#172e35e8;border:0;box-shadow:none;color:#eee5c5;font-size:clamp(12px,1.5cqw,24px)}
body #gameApp #tutorialCoach{overflow-x:hidden}
body #gameApp #tutorialCoach .coach-copy{min-width:0;overflow-wrap:break-word}
body #gameApp #tutorialCoach .coach-heading button{margin-left:0}
body #gameApp .pause-overlay .modal-panel{width:min(55cqw,680px);max-height:90cqh;overflow-y:auto;padding:clamp(16px,4cqh,40px)}
body #gameApp .pause-overlay .modal-panel h2{font-size:clamp(28px,4.2cqw,60px);line-height:1.1}
body #gameApp #pauseTitle{letter-spacing:-.02em;line-height:1.15}
body #gameApp #resumeButton{background:#d6b978;color:#172b30;border:1px solid #e9d29a;box-shadow:0 3px 0 #7c693f}
body #gameApp .pause-overlay .modal-panel p{font-size:clamp(12px,1.5cqw,22px);line-height:1.4;margin:8px 0 14px}
body #gameApp .pause-overlay .modal-panel>button{min-height:44px;font-size:clamp(12px,1.6cqw,24px);padding:8px 15px}
.orientation-guard{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:30px;background:radial-gradient(ellipse at 50% 35%,#263e45,#0e1921 70%);color:#f5ebcd;text-align:center}
.orientation-guard svg{width:120px;height:96px;fill:none;stroke:#dfc28b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.orientation-guard strong{font-size:28px}.orientation-guard p{font-size:16px;line-height:1.6;color:#bacdca}.orientation-guard>span{font-size:11px;color:#92a9a8;letter-spacing:.07em}
@media(orientation:portrait) and (max-width:900px){.orientation-guard{display:flex}}
/* Home, shuttle, map and factory share the full 16:9 scene, rather than portrait islands. */
body #gameApp .story-frame{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;max-width:none;isolation:isolate}
body #gameApp .story-art{background-size:100% 100%;background-position:center;z-index:-1}
body #gameApp .story-backdrop{display:none}
body #gameApp .story-vignette{background:linear-gradient(#08182080,transparent 35%,transparent 75%,#08182070);pointer-events:none}
body #gameApp .scene-brief{position:absolute;top:15%;right:3%;left:auto;width:52%;max-width:none;padding:0;z-index:5;pointer-events:none}
body #gameApp .scene-brief>span{font-size:clamp(10px,1.2cqw,20px)}
body #gameApp .scene-brief h1{font-size:clamp(21px,3cqw,54px);line-height:1.15;margin:5px 0 7px}
body #gameApp .scene-brief p{font-size:clamp(12px,1.5cqw,25px);line-height:1.4;max-width:none}
body #gameApp .journey-hud{position:absolute;top:2%;left:2%;right:2%;width:auto;gap:8px;direction:ltr;pointer-events:none}
body #gameApp .journey-hud button{pointer-events:auto;direction:rtl}
body #gameApp .journey-hud .wallet-object bdi{font-size:clamp(14px,1.7cqw,27px)}
body[data-journey=map] #gameApp .wallet-object,body[data-journey=factory-map] #gameApp .wallet-object,body[data-journey=ending] #gameApp .wallet-object{display:flex}
body #gameApp .journey-tools{position:absolute;top:0;left:auto;right:0;display:flex;width:148px;direction:rtl}
body #gameApp .journey-tools button{width:44px!important;height:44px!important;min-height:44px}
body[data-journey=title] #gameApp .journey-hud>.map-object,body[data-journey=title] #gameApp .journey-hud>.wallet-object{display:none}
body #gameApp .journey-hint{position:absolute;bottom:4%;font-size:clamp(12px,1.5cqw,25px);max-width:85%;padding:8px 20px}
body #gameApp .room-object{min-width:44px;min-height:44px}
body #gameApp .home-room .alarm-object{left:68.9%;top:58.1%;width:10%;height:8.5%;transform:translate(-50%,-50%)}
body #gameApp .clock-digits{font-size:clamp(11px,1.7cqw,27px);width:54%;height:40%;letter-spacing:-.08em}
body #gameApp .home-room .door-object{left:88%;top:14%;width:12%;height:54%}
body #gameApp .home-room .remote-object{left:24.5%;top:82%;width:17%;height:12%;transform:rotate(9deg)}
body #gameApp .home-room .mobile-object{left:71.9%;top:54.8%;width:7%;height:11.2%;transform:rotate(-7deg)}
body #gameApp .sleep-breath{left:40%;top:29%;font-size:clamp(18px,2.4cqw,42px)}
body #gameApp .shuttle-seat{left:53%;top:48%;width:42%;height:45%}
body #gameApp .shuttle-room .scene-brief{top:16%;right:4%;width:52%}
body #gameApp .world-map-scene .scene-brief{top:3%;right:23%;width:55%;text-align:center}
body #gameApp .world-map-scene .map-location{width:22%;height:25%}
body #gameApp .world-map-scene .map-location .destination-name{font-size:clamp(15px,2cqw,34px)}
body #gameApp .world-map-scene .map-location .destination-status{font-size:clamp(10px,1.3cqw,21px)}
body #gameApp .world-map-scene .locked-location{width:13%;height:15%;min-width:58px;min-height:50px}
body #gameApp .world-map-scene .physical-lock{width:clamp(18px,2.6cqw,44px);height:clamp(21px,3cqw,51px)}
body #gameApp .world-map-scene .locked-location strong{font-size:clamp(13px,1.8cqw,30px)}
body #gameApp .world-map-scene .locked-location small{font-size:clamp(10px,1.2cqw,20px)}
body #gameApp .world-map-scene .map-ending-collection{right:3%;bottom:3%;width:auto;max-width:none;flex-wrap:nowrap;font-size:clamp(10px,1.1cqw,18px)}
body #gameApp .factory-hub .scene-brief{top:14%;right:3%;width:57%}
body #gameApp .factory-hub .factory-room{left:var(--x);top:var(--y);width:28%;height:48%}
body #gameApp .factory-hub .factory-wall-logo{display:block;left:50%;top:14.6%;width:17%;height:9%;z-index:2}
body #gameApp .factory-hub .station-floor-name{bottom:-9%;font-size:clamp(13px,1.8cqw,29px)}
body #gameApp .factory-hub .factory-room>.report-stars{bottom:-22%;font-size:clamp(15px,2.1cqw,36px)}
body #gameApp .factory-hub .station-lock strong{font-size:clamp(20px,3cqw,48px)}
body #gameApp .factory-hub .station-lock .physical-lock{width:clamp(30px,4.2cqw,65px);height:clamp(34px,4.7cqw,74px)}
/* A game title, with one clear primary action and a quieter practice option. */
body #gameApp .title-scene::before{background:linear-gradient(90deg,transparent 27%,#09172255 49%,#091722ba 100%)}
.title-copy{position:absolute;right:7%;top:16%;width:37%;height:75%;z-index:5;text-align:right;display:flex;flex-direction:column;align-items:flex-start}
.title-kicker{font-size:clamp(11px,1.4cqw,23px);font-weight:600;color:#c6c7ad;letter-spacing:.1em}
.game-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:.91;font-weight:950;letter-spacing:-.075em;margin:4% 0 0;text-shadow:0 .04em 0 #08131a,0 .07em .08em #0009;transform:rotate(-2deg)}
.game-wordmark>span{font-size:clamp(35px,7cqw,125px);color:#f0e7ca}
.game-wordmark>strong{font-size:clamp(58px,10.5cqw,195px);color:#e7c272;position:relative}
.title-dot{color:#d88c60;margin-right:4px}
.title-tagline{font-size:clamp(13px,2cqw,34px);line-height:1.35;color:#a9bdc1;margin:6% 0 7%}
.title-tagline b{color:#f0e6c8;font-weight:600}
.title-begin{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:clamp(10px,1.6cqh,22px) clamp(15px,2cqw,35px);border:1px solid #f1d391;background:#ddbd79;color:#1b2930;font-size:clamp(17px,2.2cqw,36px);font-weight:850;box-shadow:0 4px 0 #7f683c,inset 0 1px #fff0b6;border-radius:3px;transition:filter .15s,transform .12s}
.title-begin svg{width:clamp(18px,2.4cqw,36px);height:clamp(18px,2.4cqw,36px)}
.title-begin:hover{filter:brightness(1.08)}.title-begin:active{transform:translateY(3px);box-shadow:0 1px 0 #7f683c}
.title-training{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 2px;background:none;border:0;color:#e4dfc9;min-height:44px;font-size:clamp(12px,1.5cqw,25px)}
.title-training span{font-size:clamp(10px,1cqw,17px);color:#96afb0}
.title-save{margin-top:auto;color:#91a8a9;font-size:clamp(9px,1.1cqw,18px);white-space:nowrap}
.title-brand{position:absolute;left:4%;top:5%;width:11%;height:8%;object-fit:contain;z-index:4;filter:drop-shadow(0 2px 3px #0b1c22)}
.title-edition{position:absolute;left:4%;bottom:4%;z-index:4;color:#a0a9a4;font:500 clamp(9px,1cqw,17px) Arial,sans-serif;letter-spacing:.1em;direction:ltr}.title-edition b{color:#d5c294;letter-spacing:.15em;margin-left:8px}
.title-grain{position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 8cqw #07141a77}
/* SMS deliberately interrupts and covers a part of the current workbench. */
body #gameApp #phoneDialog{position:absolute!important;left:auto!important;right:12%!important;top:auto!important;bottom:5%!important;width:clamp(230px,32cqw,490px)!important;max-width:70%;max-height:86cqh!important;min-height:0;padding:5px!important;border-width:clamp(17px,2.5cqh,30px) clamp(16px,2.2cqw,30px) clamp(14px,2.1cqh,24px)!important;overflow-y:auto!important;z-index:35!important;transform:none!important;filter:drop-shadow(0 10px 10px #02111cc9)!important}
body #gameApp #phoneDialog .phone-top{position:sticky;top:0;z-index:1;background:#f4f0d9;min-height:44px;padding:0;gap:4px}
body #gameApp #phoneDialog .phone-contact-avatar{display:grid;width:clamp(26px,4cqh,44px);height:clamp(26px,4cqh,44px)}
body #gameApp #phoneDialog .phone-top strong{font-size:clamp(13px,1.8cqw,26px)}
body #gameApp #phoneDialog .phone-eyebrow{font-size:clamp(9px,1.1cqw,17px)}
body #gameApp #phoneDialog .phone-countdown{font-size:clamp(10px,1.3cqw,20px);color:#a84d3b}
body #gameApp #phoneDialog #minimizePhoneButton{width:44px;height:44px;min-width:44px;min-height:44px;padding:11px;background:transparent;color:#304b48;border:0}
body #gameApp #phoneDialog .phone-message{font-size:clamp(12px,1.6cqw,24px);line-height:1.4;margin:7px 0;padding:8px;border:1px solid #b3bfa4;background:#dce5ce}
body #gameApp #phoneDialog.sent .phone-message{font-size:clamp(22px,3.4cqw,48px);text-align:center;background:#e5eccd;color:#2e5139;min-height:60px}
body #gameApp #phoneDialog .phone-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
body #gameApp #phoneDialog .phone-send,body #gameApp #phoneDialog .phone-defer{min-height:44px;font-size:clamp(12px,1.5cqw,23px);padding:7px 3px}
body #gameApp #phoneDialog .phone-send strong{font-size:inherit}
body #gameApp #phoneDialog .phone-disclaimer{display:block;font-size:clamp(8px,.9cqw,14px);line-height:1.2;text-align:center;color:#7b8769;margin-top:5px}
body #gameApp #openPhoneButton{position:absolute!important;left:auto!important;right:15%!important;top:auto!important;bottom:3%!important;width:clamp(64px,8.2cqw,110px)!important;max-width:none!important;min-height:94px!important;padding:17px 7px 12px!important;z-index:26!important}
body #gameApp #openPhoneButton small{display:block;font-size:clamp(9px,1cqw,16px)}
body #gameApp #openPhoneButton strong{font-size:clamp(11px,1.3cqw,20px)}
body #gameApp #openPhoneButton>b{font-size:clamp(10px,1.2cqw,19px)}
body #gameApp #openPhoneButton>img{width:clamp(24px,4cqh,45px);height:clamp(24px,4cqh,45px)}
body #gameApp.phone-arrival #phoneDialog{animation:sms-burst .55s cubic-bezier(.14,.77,.19,1.05)!important}
body #gameApp.phone-arrival #gameCanvas{animation:notification-tap .32s linear}
@keyframes sms-burst{0%{translate:14cqw 35cqh;rotate:12deg;opacity:0}65%{translate:-1cqw -1cqh;rotate:-2deg;opacity:1}100%{translate:0 0;rotate:0;opacity:1}}
@keyframes notification-tap{25%{translate:2px 0}75%{translate:-2px 0}}
body #gameApp .ending-caption{top:14%;right:4%;max-width:56%}
body #gameApp .ending-caption h2{font-size:clamp(24px,3.8cqw,62px)}
body #gameApp .ending-caption p{font-size:clamp(12px,1.6cqw,26px)}
body #gameApp .ending-world-map{bottom:4%;right:4%;min-height:44px}
body #gameApp .bed-alarm-next{left:7%;top:auto;bottom:6%;min-height:50px;font-size:13px}
body #gameApp .shift-report{max-height:91cqh;width:min(58cqw,720px);margin:0;padding:clamp(14px,3cqh,32px) clamp(20px,3cqw,42px);transform:rotate(-.7deg)}
body #gameApp .shift-report h2{font-size:clamp(24px,3cqw,42px)}
body #gameApp .shift-report>.story-tapugan{width:clamp(70px,10cqw,140px);max-height:6cqh;object-fit:contain}
body #gameApp .report-stars.large{font-size:clamp(34px,6.7cqh,64px);margin:4px 0 8px}
body #gameApp .payline{padding:6px 0;font-size:clamp(12px,1.5cqw,21px)}
body #gameApp .payline bdi{font-size:clamp(17px,2cqw,28px)}
body #gameApp .report-stamp{font-size:clamp(15px,1.8cqw,25px);min-height:44px}
@media(prefers-reduced-motion:reduce){body #gameApp.phone-arrival #phoneDialog,body #gameApp.phone-arrival #gameCanvas{animation:none!important}.title-begin{transition:none}}

/* premium.css */
/* V8: one camera, one objective, physical objects and a clear career. */
.ar-opening{position:absolute;inset:0;z-index:150;background:#030608;display:grid;place-items:center;transition:opacity .45s;isolation:isolate}
.ar-start{display:flex;align-items:center;flex-direction:column;gap:2cqh;background:transparent;border:0;color:#d5dfe4;width:100%;height:100%;justify-content:center;cursor:pointer}
.ar-mark{position:relative;width:clamp(65px,11cqw,190px);aspect-ratio:1;display:block;filter:drop-shadow(0 0 18px #6bcedb18)}
.ar-mark img{width:100%;height:100%;object-fit:contain}
.ar-studio{font:500 clamp(10px,1.1cqw,20px) Arial,sans-serif;letter-spacing:.35em;margin-top:1cqh;direction:ltr}
.ar-start small{position:absolute;bottom:12%;font-size:clamp(11px,1.3cqw,20px);color:#7f929e}
.ar-playing .ar-start small{opacity:0}.ar-playing .ar-mark{animation:ar-reveal 2.7s both}.ar-playing .ar-studio{animation:ar-caption 2.7s both}
.ar-skip{position:absolute;bottom:6%;right:4%;background:transparent;border:0;color:#84949e;font-size:clamp(10px,1.1cqw,18px);min-height:32px}
.ar-out{opacity:0;pointer-events:none}
@keyframes ar-reveal{0%{opacity:0;transform:scale(.9);filter:blur(8px)}18%{opacity:1;filter:blur(0) drop-shadow(2px 0 0 #00d6e8aa)}24%{filter:drop-shadow(-2px 0 0 #ff213855)}36%,75%{transform:scale(1);opacity:1;filter:drop-shadow(0 0 22px #65ddeb22)}100%{opacity:0;transform:scale(1.025)}}
@keyframes ar-caption{0%,15%{opacity:0;letter-spacing:.5em}35%,75%{opacity:1;letter-spacing:.35em}100%{opacity:0}}
body #gameApp .title-copy{top:17%;height:75%;right:7%;width:37%;align-items:stretch}
body #gameApp .game-wordmark{margin:1cqh 0 0;line-height:1;transform:none;letter-spacing:-.065em}
body #gameApp .game-wordmark>strong{font-size:clamp(45px,9.5cqw,168px);color:#eee4c8;white-space:nowrap}
.title-subtitle{margin:0;color:#e2bd70;font-size:clamp(18px,3.6cqw,60px);line-height:1.25;font-weight:850;letter-spacing:-.04em}
body #gameApp .title-tagline{font-size:clamp(10px,1.35cqw,24px);margin:2cqh 0 4cqh;color:#b8c6c8;line-height:1.3}
.title-menu{display:flex;flex-direction:column;gap:.65cqh;width:85%}
body #gameApp .title-begin{min-height:0;padding:1.5cqh 1.7cqw;font-size:clamp(13px,1.9cqw,34px);height:7.5cqh}
.menu-option{position:relative;text-align:right;background:transparent;border:0;padding:.8cqh 1.7cqw;color:#bdcdd0;font-size:clamp(11px,1.55cqw,28px);height:5.5cqh;transition:color .18s,translate .18s}
.menu-option:hover,.menu-option:focus-visible{color:#fff0cd;translate:-.5cqw 0}.menu-option::before{content:'‹';position:absolute;right:0;opacity:0}.menu-option:hover::before,.menu-option:focus-visible::before{opacity:1}
body #gameApp .title-save{font-size:clamp(8px,1cqw,17px);margin-top:2.5cqh;white-space:normal;color:#879ea7}
body[data-journey=title] #gameApp .journey-hud{display:none}
.menu-sheet{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:#050e17bf;backdrop-filter:blur(8px);padding:4cqh;color:#eee5cf}
.menu-sheet>div{width:49cqw;max-height:90cqh;overflow:auto;padding:4cqh 4cqw;background:linear-gradient(135deg,#203541,#101e2b);border-top:2px solid #d7b67a;box-shadow:0 18px 70px #0008}
.sheet-eyebrow{font-size:clamp(9px,1.1cqw,19px);letter-spacing:.08em;color:#c4ab7a}
.menu-sheet h2{font-size:clamp(21px,3.5cqw,60px);line-height:1.12;letter-spacing:-.045em;margin:1.5cqh 0 2cqh}
.menu-sheet p{font-size:clamp(11px,1.5cqw,25px);line-height:1.65;color:#b7c8ce;margin:0 0 3cqh}
.menu-sheet button{width:100%;min-height:0;height:auto;padding:1.7cqh 1.5cqw;margin-top:1cqh;font-size:clamp(11px,1.5cqw,25px);border-radius:2px}
.sheet-primary{background:#dec083;color:#172c37;border:1px solid #f2d99b;font-weight:800}.sheet-secondary{background:transparent;border:1px solid #58707c;color:#e4d9bd}.sheet-back{background:transparent;color:#a6b8c1;border:0}
.setting-row{display:flex;justify-content:space-between;gap:1cqw;text-align:right;background:transparent!important;border:0;border-bottom:1px solid #a3bbca22;color:#e7e2cf}.setting-row b{font-weight:500;color:#dfbf7e}
body #gameApp .journey-hud{align-items:start;gap:1cqw;top:2.5%;left:2%;right:2%;z-index:55}
body #gameApp .journey-hud>.map-object{font-size:clamp(10px,1.25cqw,22px);min-height:0;height:6cqh;padding:.8cqh 1cqw}
body #gameApp .journey-hud .wallet-object{padding:.6cqh 1cqw;min-height:0;height:6cqh;background:#0f202bc9;border:0;box-shadow:none}
body #gameApp .wallet-object small{font-size:clamp(7px,.8cqw,14px)}
body #gameApp .journey-hud .wallet-object bdi{font-size:clamp(11px,1.4cqw,24px)}
body #gameApp .journey-tools{width:auto;gap:.3cqw}
body #gameApp .journey-tools button{width:5cqh!important;height:5cqh!important;min-height:0!important;min-width:0;padding:1cqh}
.career-object{width:20cqw;border:0;background:#10202acc;box-shadow:none;color:#e7dab9;display:flex;flex-direction:column;gap:.45cqh;padding:.7cqh 1cqw;text-align:right;cursor:pointer;min-height:0}
.career-object strong{font-size:clamp(10px,1.15cqw,21px);line-height:1.15}.career-object small{font-size:clamp(7px,.8cqw,14px);color:#8fa9b3}
.career-track{display:block;height:.5cqh;min-height:2px;background:#67828a30;overflow:hidden;width:100%}.career-track i{display:block;height:100%;background:#d9bc79;transition:width .4s}
body[data-journey=factory] #gameApp .career-object{display:none}
body #gameApp .scene-brief{top:13%;right:4%;width:49%;text-shadow:0 2px 5px #07131ddb;pointer-events:none}
body #gameApp .scene-brief h1{font-size:clamp(15px,2.5cqw,44px);margin:1cqh 0}
body #gameApp .scene-brief p{display:none}
body #gameApp .scene-brief>span{font-size:clamp(8px,1cqw,18px);color:#ddd2b0}
body #gameApp .world-map-scene .scene-brief{top:auto;bottom:3%;right:24%;width:52%;text-align:center}
body #gameApp .world-map-scene .scene-brief h1{font-size:clamp(14px,2cqw,34px)}
body #gameApp .room-object{min-height:0;min-width:0;border:0!important;outline:none;transition:backdrop-filter .15s,box-shadow .15s;cursor:pointer;background:transparent!important}
body #gameApp .room-object:not(:disabled):hover,body #gameApp .room-object:not(:disabled):focus-visible{backdrop-filter:brightness(1.3) saturate(1.1);box-shadow:0 0 2cqw #e9d19577,inset 0 0 1.5cqw #f1dba333}
body #gameApp .home-room .remote-object,body #gameApp .home-room .mobile-object,body #gameApp .home-room .alarm-object{border-radius:30%}
body #gameApp .home-room .door-object{border-radius:25% 0 0 0}
body #gameApp .clock-digits{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;color:#f7a552;text-shadow:0 0 4px #fb8937}
body #gameApp .home-room .current-object:not(:hover){animation:physical-beckon 2.8s infinite}
body #gameApp .room-object::after{content:none!important}
@keyframes physical-beckon{50%{box-shadow:0 0 1cqw #e3cc8c55;backdrop-filter:brightness(1.12)}}
body #gameApp .world-map-scene .map-location{isolation:isolate;border:0;background:none;box-shadow:none;transition:translate .2s;overflow:visible}
body #gameApp .world-map-scene .map-location::before{content:'';position:absolute;inset:0;z-index:-1;background-image:url('./assets/v8/world-map.webp');opacity:0;pointer-events:none;transition:opacity .2s,filter .2s;background-size:454.545% 400%}
body #gameApp .factory-location::before{background-position:89.7436% 52.6667%}
body #gameApp .home-location::before{background-position:14.1026% 59.3333%}
body #gameApp .world-map-scene .map-location:hover::before,body #gameApp .world-map-scene .map-location:focus-visible::before{opacity:1;filter:brightness(1.2) drop-shadow(0 0 15px #ffe1a8)}
body #gameApp .world-map-scene .destination-name{font-size:clamp(12px,1.6cqw,28px);color:#f6e7bb;text-shadow:0 2px 4px #09131c,0 0 12px #09131c}
body #gameApp .world-map-scene .destination-status{font-size:clamp(8px,1cqw,18px);color:#f1e4c4;text-shadow:0 2px 5px #101a20}
body #gameApp .world-map-scene .locked-location{background:#07131c9c;backdrop-filter:grayscale(1) brightness(.5);border:0;border-radius:20% 20% 35% 35%;box-shadow:none}
body #gameApp .world-map-scene .locked-location strong{color:#d6dce0;font-size:clamp(12px,1.7cqw,29px)}
body #gameApp .factory-hub .scene-brief{top:13%;right:3%;width:38%}
body #gameApp .factory-hub .scene-brief h1{font-size:clamp(14px,2.4cqw,40px)}
body #gameApp .factory-hub .factory-room{top:55%;height:49%;width:28%;border:0;background:none;box-shadow:none!important;filter:none}
body #gameApp .factory-hub .factory-room.locked{background:#07121b66;backdrop-filter:grayscale(.9) brightness(.6);border-radius:12%;opacity:.8;cursor:default}
.station-later{position:absolute;bottom:-8%;left:0;right:0;font-size:clamp(8px,1cqw,17px);color:#a7b4ba}
body #gameApp .factory-hub .factory-room.next{backdrop-filter:brightness(1.08);animation:machine-invite 2.2s infinite}
body #gameApp .factory-hub .factory-room:not(:disabled):hover,body #gameApp .factory-hub .factory-room:not(:disabled):focus-visible{backdrop-filter:brightness(1.25);filter:drop-shadow(0 0 14px #e4cc9c)}
body #gameApp .factory-hub .station-floor-name{bottom:-8%;font-size:clamp(12px,1.6cqw,28px);text-shadow:0 1px 4px #111}
body #gameApp .factory-hub .factory-room>.report-stars{bottom:-20%;font-size:clamp(12px,1.8cqw,30px)}
@keyframes machine-invite{50%{box-shadow:0 0 3cqw #f2dd8d55;backdrop-filter:brightness(1.17)}}
body #gameApp .factory-hub::after{content:'';position:absolute;left:8%;top:30%;width:13%;height:15%;background:radial-gradient(ellipse,#eef7ec29,transparent 70%);filter:blur(10px);pointer-events:none;animation:factory-steam 4s infinite}
@keyframes factory-steam{to{transform:translateY(-3cqh);opacity:0}}
body #gameApp #phoneDialog{right:4%!important;width:clamp(150px,24cqw,420px)!important;max-width:46%;height:76cqh!important;max-height:82cqh!important;border-width:2cqh 1.2cqw!important;bottom:4%!important;display:flex!important;flex-direction:column;background:#f3f0dc!important;border-radius:2.5cqw!important;box-shadow:inset 0 0 0 2px #1f313b}
body #gameApp #phoneDialog[hidden]{display:none!important}
body #gameApp #phoneDialog .phone-content{display:flex;flex:1;flex-direction:column;gap:1cqh;min-height:0}
body #gameApp #phoneDialog .phone-choices{margin-top:auto;margin-bottom:2cqh}
body #gameApp #phoneDialog .phone-top{min-height:0;height:8cqh}
body #gameApp #phoneDialog #minimizePhoneButton{width:6cqh;height:6cqh;min-height:0;min-width:0;padding:1.4cqh}
body #gameApp #phoneDialog .phone-message{font-size:clamp(10px,1.45cqw,24px);padding:1cqh;margin:1cqh 0}
body #gameApp #phoneDialog .phone-send,body #gameApp #phoneDialog .phone-defer{min-height:0;padding:1.6cqh .5cqw;font-size:clamp(10px,1.4cqw,23px)}
body #gameApp #phoneDialog .phone-disclaimer{display:none}
body #gameApp #openPhoneButton{right:3%!important;min-height:0!important;height:15cqh!important;width:9cqw!important;padding:2cqh .6cqw!important}
body #gameApp #openPhoneButton>img{width:4cqh;height:4cqh}
body #gameApp .work-instruction{right:2.7%;width:20%;top:19%;padding:0;background:none;border:0;box-shadow:none;text-align:right}
body #gameApp .work-instruction h1{font-size:clamp(14px,2.2cqw,36px);line-height:1.25;margin:1cqh 0;color:#eee4c7}
body #gameApp .work-instruction p{font-size:clamp(9px,1.2cqw,20px);line-height:1.55;color:#9eb2b9}
body #gameApp .work-instruction .work-station-label{font-size:clamp(8px,.9cqw,16px)}
body #gameApp .world-caption,body #gameApp .bench-hint,body #gameApp .bench-heading,body #gameApp .deck-hint{display:none!important}
body #gameApp .game-toast{max-width:55%;font-size:clamp(10px,1.3cqw,22px);padding:1cqh 1cqw}
body #gameApp .shift-report{display:grid;grid-template-columns:1fr 1fr;column-gap:3cqw;row-gap:.5cqh;width:76cqw;max-height:93cqh;padding:3cqh 3cqw;transform:none;overflow:auto}
body #gameApp .shift-report>.story-tapugan,body #gameApp .shift-report>.report-kicker,body #gameApp .shift-report>h2,body #gameApp .shift-report>p,body #gameApp .shift-report>.report-stamp{grid-column:1/-1}
body #gameApp .shift-report>h2{font-size:clamp(20px,3.3cqw,55px);margin:.5cqh 0}
body #gameApp .shift-report>.report-kicker{font-size:clamp(8px,1cqw,18px)}
body #gameApp .shift-report>p{font-size:clamp(10px,1.2cqw,21px);margin:.3cqh 0}
body #gameApp .shift-report .report-stars.large{grid-column:1;font-size:clamp(28px,5cqw,72px);margin:0}
body #gameApp .shift-report .star-reasons{grid-column:1;grid-row:auto;font-size:clamp(8px,1cqw,17px);gap:.5cqh}
body #gameApp .shift-report .career-award{grid-column:2;grid-row:5/8;align-self:center;text-align:right;padding:1.5cqh 1.3cqw;border-right:2px solid #aa9364;display:flex;flex-direction:column;gap:.7cqh}
.career-award>span,.career-award small{font-size:clamp(8px,1cqw,17px);color:#6b786d}.career-award>strong{font-size:clamp(17px,2.4cqw,40px);color:#294641}.career-award>b{font-size:clamp(12px,1.5cqw,25px);color:#52745a}.career-award.promoted>span{color:#a57228;font-weight:900}
body #gameApp .shift-report .payline{font-size:clamp(10px,1.3cqw,22px);padding:1cqh 0}
body #gameApp .shift-report .payline bdi{font-size:clamp(14px,1.8cqw,30px)}
body #gameApp .shift-report .production-card{grid-column:1/-1;padding:1cqh;font-size:clamp(8px,1cqw,16px)}
body #gameApp .shift-report .production-card>div{gap:2cqw;display:flex;justify-content:center}
body #gameApp .shift-report .production-card .product-art{width:5cqw!important;height:5cqw!important}
body #gameApp .shift-report .production-card small{font-size:clamp(8px,1cqw,16px)}
body #gameApp .report-stamp{font-size:clamp(13px,1.7cqw,29px);padding:1.5cqh;min-height:0}
.career-ladder{list-style:none;padding:0;margin:2cqh 0;display:flex;flex-direction:column;gap:1cqh}.career-ladder li{display:flex;align-items:center;gap:1cqw;padding:1cqh;color:#71858d;border-bottom:1px solid #ffffff12}.career-ladder li>span{flex:1}.career-ladder b{color:#647d8c}.career-ladder .rank-earned{color:#e4dcc8}.career-ladder .rank-current{background:#c8ab6b17;border-right:2px solid #d9bd7f;color:#f3d494}
.reduced-motion *, .reduced-motion *::before,.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@container(max-width:600px){
 body #gameApp .title-copy{top:11%;height:84%;right:5%;width:42%}
 body #gameApp .title-kicker{font-size:1.9cqw}
 body #gameApp .game-wordmark>strong{font-size:9.8cqw}
 body #gameApp .title-subtitle{font-size:4cqw}
 body #gameApp .title-tagline,body #gameApp .title-edition{display:none}
 body #gameApp .title-menu{margin-top:3cqh;width:90%;gap:0}
 body #gameApp .title-begin{height:9cqh;padding:.6cqh 2cqw;font-size:2.9cqw;min-height:0}
 body #gameApp .title-begin svg{height:3cqw;width:3cqw}
 body #gameApp .menu-option{height:7.5cqh;padding:.8cqh 2cqw;font-size:2.8cqw;min-height:0}
 body #gameApp .title-save{font-size:1.8cqw;margin-top:1.5cqh}
 body #gameApp .menu-sheet>div{width:77cqw;padding:3cqh 4cqw}
 body #gameApp .menu-sheet h2{font-size:5cqw;margin:1cqh 0}
 body #gameApp .menu-sheet p{font-size:2.6cqw;margin-bottom:1.5cqh;line-height:1.4}
 body #gameApp .menu-sheet button{font-size:2.8cqw;padding:1.3cqh 2cqw;margin-top:.5cqh}
}
@media(prefers-reduced-motion:reduce){.ar-playing .ar-mark,.ar-playing .ar-studio{animation:none}.room-object,.factory-room{animation:none!important}}

body #gameApp .product-sweet{background:url('./assets/v8/sweet-potato-fries.webp') center/contain no-repeat!important}

/* Meta information appears only where it helps choose a destination or assess a result. */
body #gameApp .journey-hud .wallet-object,body #gameApp .journey-hud .career-object{background:none;box-shadow:none;text-shadow:0 1px 3px #061b22,0 0 7px #061b22}
body #gameApp .journey-hud .career-object small{color:#d4ddce}
body[data-journey=stage-result] #gameApp .journey-hud{display:none}
body[data-journey=home] #gameApp .career-object,body[data-journey=shuttle] #gameApp .career-object{display:none}

/* playfeel.css */
/* V9: the factory is the entire 16:9 camera. All hit targets use the same frame. */
body.immersive-game #gameApp{background:#182224}
body.immersive-game #gameStage{background:#182224}
body.immersive-game #gameStage::before{inset:0;background:linear-gradient(#07101572,transparent 14%);z-index:5;pointer-events:none}
body.immersive-game .world-stage-frame,
body.immersive-game.is-tutorial .world-stage-frame,
body.immersive-game.phone-open .world-stage-frame{
 left:0;top:0;width:100%;height:100%;aspect-ratio:auto;
 transform:none;max-width:none;overflow:visible;z-index:2;
}
body.immersive-game .world-stage-frame #gameCanvas{
 inset:0;width:100%;height:100%;object-fit:fill;border:0;box-shadow:none;z-index:0;
 -webkit-mask-image:none;mask-image:none;
}
/* A thin HUD floats over the room; it never reserves space for an explanation. */
body.immersive-game .game-topbar{top:1.5%;height:6%;min-height:0;padding:0 2%;gap:2%;background:none;z-index:8}
body.immersive-game .game-topbar .run-heading{gap:0;margin:0}
body.immersive-game .game-topbar .run-heading>div,body.immersive-game .game-topbar .run-divider{display:none}
body.immersive-game .game-topbar .brand-logo{width:7cqw;height:5.5cqh;max-height:none;filter:drop-shadow(0 2px 3px #000b)}
body.immersive-game .game-topbar .utility-actions{gap:.5cqw}
body.immersive-game .game-topbar .utility-actions .icon-button{width:4cqw;height:6cqh;min-width:0;min-height:0;padding:.8cqh;background:none;border:0;box-shadow:none;filter:drop-shadow(0 1px 2px #000b)}
body.immersive-game .game-topbar .utility-actions .icon-button svg{width:2.2cqw;height:3.8cqh}
body.immersive-game .hud{top:1.5%;left:23%;right:18%;height:6%;padding:0;gap:1%;display:flex;align-items:center;z-index:8;text-shadow:0 1px 4px #000}
body.immersive-game .score-readout{min-width:0;gap:.7cqw}
body.immersive-game .score-readout>span,body.immersive-game .station-rail{display:none}
body.immersive-game .score-readout>strong{font:800 clamp(15px,2.1cqw,38px)/1 Arial,sans-serif}
body.immersive-game .score-readout .combo-value{font-size:clamp(10px,1.2cqw,21px);min-width:0;color:#ffe4a0}
body.immersive-game .hud-health{gap:1cqw;margin-inline-start:auto}
body.immersive-game .hud-health>strong{font:800 clamp(14px,1.8cqw,32px)/1 Arial,sans-serif;min-width:0}
body.immersive-game .lives{gap:.3cqw}
body.immersive-game .lives svg{width:1.1cqw;height:1.5cqw;min-width:0}
/* A little work order attached to the actual back wall / clipboard. */
body.immersive-game #workInstruction{
 position:absolute;top:14%;left:53%;right:auto;width:21%;max-width:none;
 transform:translateX(-50%) rotate(-1deg);z-index:6;padding:1.4cqh 1.2cqw 1.1cqh;
 border:2px solid #6c7772;border-radius:3px;background:linear-gradient(115deg,#d4d8c9,#b9c4ba 48%,#a2aea6);
 box-shadow:2px 4px 3px #0e17194d,inset 0 1px #e9e8d1;text-align:center;color:#2c413c;
}
body.immersive-game #workInstruction::before,body.immersive-game #workInstruction::after{content:'';position:absolute;top:.7cqh;width:.45cqw;height:.45cqw;background:#667974;border-radius:50%;box-shadow:inset 0 1px 1px #152e32}
body.immersive-game #workInstruction::before{left:.6cqw}body.immersive-game #workInstruction::after{right:.6cqw}
body.immersive-game #workInstruction .work-goal{display:flex;align-items:center;justify-content:space-between;gap:.7cqw}
body.immersive-game #workStationNumber{display:none}
body.immersive-game #gameApp #workInstruction #workGoal{font-family:inherit;font-weight:800;font-size:clamp(10px,1.25cqw,23px);line-height:1.2;color:#354a42;margin:0;letter-spacing:0;flex:1;text-align:right;text-shadow:none}
body.immersive-game #workInstruction *{text-shadow:none}
body.immersive-game #workCount{font:800 clamp(12px,1.4cqw,25px)/1.1 Arial,sans-serif;color:#354a42;text-align:left;grid-area:auto}
body.immersive-game #workCount::after{content:none!important}
body.immersive-game #workInstruction .order-pictograms{display:flex;align-items:center;justify-content:center;gap:1cqw;min-height:0}
body.immersive-game #workInstruction .order-pictograms:empty{display:none}
.order-token{display:flex;align-items:center;gap:.5cqw;direction:ltr;color:#293e34}
body.immersive-game #workInstruction .order-token .product-art{display:block!important;width:4.3cqw!important;height:7cqh!important;margin:.5cqh 0;filter:drop-shadow(0 1px 1px #626d5b44)}
.order-token>b{font:900 clamp(19px,2.7cqw,48px)/1 Arial,sans-serif}.order-token small{font-size:.6em;font-weight:500;margin-right:.2cqw}
body.immersive-game #gameApp #workInstruction #workNext{margin:.8cqh 0 0;font-size:clamp(8px,1cqw,18px);line-height:1.25;min-height:0;color:#42594f;white-space:nowrap}
body.immersive-game #workInstruction .work-progress{margin:1cqh 0 0;height:.45cqh;background:#4a62522b;border-radius:0}
body.immersive-game #workInstruction .work-progress i{background:#6d8e5e}
body.immersive-game #workInstruction.cue-now{box-shadow:2px 4px 3px #0e17194d,inset 0 0 8px #bddf8a}
body.immersive-game #workInstruction.cue-now #workGoal{color:#29472a}
body.immersive-game #workInstruction .machine-health{position:absolute;top:calc(100% + .8cqh);left:50%;transform:translateX(-50%);margin:0;display:flex;gap:.5cqw;background:#364b44;padding:.55cqh .8cqw;border:1px solid #6e8272;border-radius:2px}
body.immersive-game #workInstruction .machine-health>span{display:none}
body.immersive-game #workInstruction .machine-health>i{width:.7cqw;height:.7cqw;box-shadow:0 0 3px #c2d98c55}
body.immersive-game #workInstruction[data-station='1']{left:49%;top:11%;width:21%;background:#e5dcb7;border-color:#9c987d;transform:translateX(-50%) rotate(1deg)}
body.immersive-game #workInstruction[data-station='1'] .work-progress{margin-top:.8cqh}
body.immersive-game #workInstruction[data-station='2']{left:45%;top:10%;width:24%;background:#e8dfbd;border-color:#9e9b83;transform:translateX(-50%) rotate(-2deg);padding-top:2cqh}
body.immersive-game #workInstruction[data-station='2'] .order-clip{display:block;position:absolute;top:-.9cqh;left:35%;width:30%;height:2cqh;background:linear-gradient(#9aa59b,#566d68);border:1px solid #415952;box-shadow:0 2px 2px #192f2355;border-radius:3px}
body.immersive-game #workInstruction.order-wrong{border-color:#ad604d}
body.immersive-game #workInstruction.order-ready #workNext{color:#4b6c35;font-weight:800}
/* Artwork, not labelled hitboxes. Hover only changes the object itself. */
body.immersive-game .scene-objects .action-button{min-width:48px!important;min-height:48px!important;isolation:isolate;-webkit-tap-highlight-color:transparent}
body.immersive-game .scene-objects .controls.loading .peel-button{pointer-events:auto;border:0!important;border-radius:0!important}
body.immersive-game .scene-objects .controls.loading .peel-button:hover{backdrop-filter:brightness(1.08)}
body.immersive-game .scene-objects .reject-button::before,body.immersive-game .scene-objects .reject-button::after{content:none!important;display:none!important}
body.immersive-game .scene-objects .action-button:hover{filter:brightness(1.08)}
body.immersive-game .scene-objects .action-button:active,
body.immersive-game .scene-objects .action-button.pressed{transform:translate(-50%,-47%) scale(.95);filter:brightness(1.12)}
body.immersive-game .scene-objects .action-button:focus-visible{outline:2px solid #f1d497!important;outline-offset:3px;filter:brightness(1.08)}
body.immersive-game .scene-objects .controls.loading .action-button[data-action=smiley],
body.immersive-game .scene-objects .controls.loading .action-button[data-action=mash],
body.immersive-game .scene-objects .controls.loading .action-button[data-action=fries]{width:clamp(48px,5.2cqw,90px);height:clamp(48px,5.2cqw,90px);left:85%}
body.immersive-game .scene-objects .controls.loading .reject-button{left:11%;top:77%;width:15%;height:24%}
body.immersive-game .scene-objects .controls.loading .reject-button>.product-art{width:100%!important;height:100%!important}
body.immersive-game .scene-objects .controls:not(.loading):not(.packing) .action-button{width:16%;height:32%}
body.immersive-game .scene-objects .controls:not(.loading):not(.packing) .action-button>.product-art{width:100%!important;height:100%!important}
body.immersive-game #sortingWorkspace{left:50%!important;top:54%!important;width:45%!important;max-width:none!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
body.immersive-game #sortingTray{gap:clamp(7px,2cqh,20px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.immersive-game #sortingTray .sort-choice{height:clamp(64px,16cqh,170px)!important;min-height:64px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
body.immersive-game #sortingTray .sort-choice .product-art{width:clamp(51px,13.8cqh,145px)!important;height:clamp(51px,13.8cqh,145px)!important}
body.immersive-game #sortingTray .sort-choice.selected{filter:drop-shadow(0 0 5px #efd293);transform:translateY(-3px)}
body.immersive-game #sortingTray .sort-choice.selected::after{inset:9% 6%;border:2px solid #b77e41;border-radius:50%;background:none;content:''}
body.immersive-game #sortingTray .sort-choice:active{filter:brightness(1.15);transform:scale(.94)}
body.immersive-game .scene-objects .drop-active{filter:brightness(1.18) drop-shadow(0 0 7px #e8cb7d)!important;outline:0!important}
body.immersive-game #packingWorkspace{left:51%!important;top:53%!important;width:42%!important;max-width:none!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
body.immersive-game #packingWorkspace .open-bag{width:clamp(128px,29cqh,310px)!important;height:clamp(143px,32cqh,340px)!important;margin:0 auto!important}
body.immersive-game #packingWorkspace .bag-contents .product-art{width:clamp(27px,6.6cqh,68px);height:clamp(27px,6.6cqh,68px)}
body.immersive-game #packingWorkspace #packQuantity{font-size:clamp(15px,2.4cqw,36px)}
body.immersive-game .scene-objects .controls.packing .action-button{left:12%;width:20%;height:29%;min-height:56px!important}
body.immersive-game #sealPackButton{top:1%;right:0;left:auto;width:42%;height:31%!important;aspect-ratio:auto;min-height:0!important;transform:none;background:none!important;box-shadow:none!important;opacity:1!important;filter:none;border:0!important;border-radius:4%!important}
body.immersive-game #sealPackButton .sealer-label{display:none!important}
body.immersive-game #sealPackButton::before{content:none!important}
body.immersive-game #sealPackButton::after{left:88%;top:81%;width:1.6cqw;background:#873b30;border:1px solid #3c4b42;box-shadow:0 1px 2px #172c27}
body.immersive-game #sealPackButton.ready::after{background:#a6c87a;box-shadow:0 0 12px #c2e593}
body.immersive-game #sealPackButton:hover:not(:disabled),body.immersive-game #sealPackButton:focus-visible{backdrop-filter:brightness(1.13);box-shadow:0 0 1cqw #f0d38a77!important}
body.immersive-game #sealPackButton.next-object{animation:sealer-ready 1.4s ease-in-out infinite}
@keyframes sealer-ready{50%{backdrop-filter:brightness(1.1)}}
body.immersive-game #sealPackButton:active,
body.immersive-game #sealPackButton.pressed{transform:translateY(3px) rotate(.8deg);filter:brightness(1.1) drop-shadow(1px 2px 2px #142b2277)}
body.immersive-game #undoPackButton{display:grid!important;min-width:44px!important;width:clamp(48px,5cqw,80px)!important;height:clamp(44px,7cqh,75px)!important;min-height:44px!important;bottom:-4%!important}
body.immersive-game #undoPackButton>span{font-size:clamp(33px,4.2cqw,58px)}
/* David teaches from inside the scene, one short line at a time. */
body.immersive-game #tutorialCoach{position:absolute!important;top:auto!important;left:3%!important;right:auto!important;bottom:3%!important;width:32%!important;max-width:none!important;max-height:31%;transform:rotate(-1deg)!important;padding:1.4cqh 1.3cqw!important;border:1px solid #b5bca4;background:#e4e4cce8;box-shadow:0 3px 6px #152c2766;display:block;overflow-y:auto;scrollbar-width:thin;border-radius:3px;color:#294139;z-index:22!important}
body.immersive-game #tutorialCoach .coach-avatar,body.immersive-game #tutorialCoach .tutorial-dots{display:none!important}
body.immersive-game #tutorialCoach .coach-heading{margin:0 0 .8cqh;height:auto;min-height:0;gap:.5cqw;align-items:center;font-size:clamp(8px,.9cqw,16px);color:#647a63}
body.immersive-game #tutorialCoach .coach-heading button{min-height:0;min-width:0;height:3cqh;font-size:clamp(8px,.9cqw,16px);margin:0;padding:0;color:#5c725d}
body.immersive-game #tutorialCoach .coach-copy strong{font-size:clamp(12px,1.5cqw,27px)!important;line-height:1.15;color:#294139}
body.immersive-game #tutorialCoach .coach-copy p{font-size:clamp(9px,1.1cqw,20px)!important;line-height:1.35;margin:.8cqh 0 0;max-width:none;color:#405d4d}
body.immersive-game #tutorialContinueButton{font-size:clamp(10px,1.2cqw,21px)!important;line-height:1.1;min-height:0!important;width:100%;padding:1cqh!important;margin-top:1cqh;border-radius:2px;gap:5px}
body.immersive-game #gameToast{position:absolute!important;top:auto!important;bottom:2%!important;left:50%!important;transform:translateX(-50%)!important;max-width:62%;padding:4px 8px;font-size:clamp(13px,1.6cqw,25px);line-height:1.25;pointer-events:none}
body.immersive-game #gameToast.has-voice{padding-inline-start:clamp(45px,5cqw,80px);min-height:clamp(40px,8cqh,80px)}
body.immersive-game #gameToast.has-voice::before{width:clamp(37px,4.5cqw,73px);height:clamp(40px,8cqh,80px)}
body.immersive-game #brawlSeizedBadge{position:absolute!important;right:2.5%;bottom:1.3%;max-width:22%;background:none;border:0;box-shadow:none;padding:0;font-size:clamp(10px,1.1cqw,18px);text-align:center;white-space:normal}
/* Receipts are physical paper; celebratory stars stay readable at phone scale. */
body.immersive-game .report-scene{background:linear-gradient(#081a2480,#081a2480),var(--world-image) center/cover no-repeat}
body.immersive-game .shift-report{box-shadow:8px 12px 0 #0a191e55,0 16px 36px #07181b44;border-color:#c2baa0}
body.immersive-game .shift-report .report-stamp{min-height:48px}
@media(prefers-reduced-motion:reduce){
 body.immersive-game .scene-objects .action-button,
 body.immersive-game #sortingTray .sort-choice,
 body.immersive-game #primeButton{transition:none}
 body.immersive-game #sortingTray .sort-choice.selected{transform:none}
}

/* actor.css */
/* V9: David stands in each workshop, behind the physical workbench controls. */
body.actor-mounted #primeModule{display:none!important}
body.actor-mounted #davidActor{
 --actor-left:11%;--actor-width:22%;--actor-bottom:42%;
 position:absolute;left:var(--actor-left);right:auto;top:auto;bottom:var(--actor-bottom);
 width:var(--actor-width);aspect-ratio:1;z-index:2;
 direction:rtl;isolation:isolate;pointer-events:none;
}
body.actor-mounted #davidActor[data-station='1']{--actor-left:76%;--actor-width:19%;--actor-bottom:58%}
body.actor-mounted #davidActor[data-station='2']{--actor-left:77%;--actor-width:21%;--actor-bottom:0%}
body.actor-mounted #davidActor[hidden]{display:none!important}
#davidActor .actor-visual{position:absolute;inset:0;transform-origin:50% 95%;transition:filter .25s}
body.actor-mounted #davidActor #primeButton{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 min-width:0!important;min-height:0!important;max-width:none!important;aspect-ratio:1!important;
 padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
 background:none!important;box-shadow:none!important;overflow:visible!important;
 transform:none!important;opacity:1!important;pointer-events:none;outline:none!important;
}
body.actor-mounted #davidActor.ready #primeButton{pointer-events:auto;cursor:pointer}
#davidActor .actor-image{
 display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;
 filter:drop-shadow(0 4px 3px #0a1d2277);transform-origin:50% 92%;
 -webkit-mask-image:linear-gradient(#000 0 98.5%,transparent 100%);
 mask-image:linear-gradient(#000 0 98.5%,transparent 100%);
 animation:actor-breathe 3.5s ease-in-out infinite;user-select:none;-webkit-user-drag:none;
}
#davidActor .actor-image-previous{position:absolute;inset:0;pointer-events:none;animation:none!important}
#davidActor .actor-image-previous.pose-leaving{animation:actor-pose-leave .24s ease-out forwards!important}
#davidActor .actor-image-previous[hidden]{display:none!important}
#davidActor .actor-charge{
 position:absolute;left:21%;right:21%;bottom:98%;height:clamp(12px,2.2cqh,22px);
 display:flex;justify-content:space-between;align-items:flex-start;
 font:700 clamp(8px,.8cqw,14px)/1 Arial,sans-serif;color:#d9e6da;
 z-index:3;text-shadow:0 1px 2px #10292c;pointer-events:none;
}
#davidActor .actor-charge-name{font-weight:500;letter-spacing:.015em}
#davidActor .actor-charge-value{direction:ltr}
#davidActor #primePercent{position:static!important;background:none!important;border:0!important;
 transform:none!important;padding:0!important;font:inherit!important;color:inherit!important}
body.actor-mounted #davidActor #primeMeter{
 display:block!important;position:absolute!important;inset:auto 0 0!important;
 width:100%!important;height:clamp(3px,.55cqh,6px)!important;overflow:hidden;
 background:#172d32;border:1px solid #8aafa266;border-radius:4px;
 direction:ltr;box-shadow:0 1px 2px #071f2555;
}
#davidActor #primeFill{display:block;height:100%;background:linear-gradient(90deg,#9fbeb1,#e8d288);transition:width .16s linear}
#davidActor[data-charge='25'] .actor-image{filter:drop-shadow(0 0 3px #abc7b522) drop-shadow(0 4px 3px #0a1d2277)}
#davidActor[data-charge='50'] .actor-image{filter:drop-shadow(0 0 5px #adc8a955) drop-shadow(0 4px 3px #0a1d2277)}
#davidActor[data-charge='75'] .actor-image{filter:drop-shadow(0 0 7px #e4c76c66) drop-shadow(0 4px 3px #0a1d2277)}
#davidActor .actor-aura{position:absolute;inset:0 -5% -3%;background:radial-gradient(ellipse at 50% 58%,#ffd57844,transparent 66%);opacity:0;transition:opacity .3s;pointer-events:none}
#davidActor[data-charge='75'] .actor-aura{opacity:.3}
#davidActor.ready .actor-aura,#davidActor.active .actor-aura{opacity:1;animation:actor-aura 1.1s ease-in-out infinite alternate}
#davidActor.ready .actor-image{animation:actor-charge .12s linear infinite;filter:drop-shadow(0 0 8px #eac35d88)}
#davidActor.ready .actor-charge{color:#ffe6a1}
#davidActor.ready #primeFill{background:#ffe59a;box-shadow:0 0 8px #ffd571}
#davidActor .actor-ready-call{display:none;position:absolute;top:94%;left:-10%;right:-10%;margin:0;
 color:#f5d88c;text-shadow:1px 2px #173039,-1px -1px #173039,0 0 8px #ffc94255;
 font-size:clamp(12px,1.65cqw,26px);font-weight:900;text-align:center;line-height:1.15;white-space:nowrap;
}
#davidActor.ready .actor-ready-call{display:block;animation:actor-call 1.1s ease-in-out infinite}
#davidActor.active .actor-charge{color:#ffe8a4}
#davidActor.active #primeFill{background:linear-gradient(90deg,#c1f0e2,#ffdf81)}
#davidActor.active .actor-image{filter:drop-shadow(0 0 12px #f7c95c99);animation:actor-power .65s ease-in-out infinite alternate}
#davidActor.on-phone .actor-image{animation:actor-phone 2.2s ease-in-out infinite;filter:drop-shadow(0 4px 3px #0a1d2277)}
/* A message changes his arm pose, never his position or camera scale. */
body.actor-mounted #davidActor.on-phone{z-index:2}
#davidActor.on-phone.panicked .actor-image{animation:actor-anxious-breath .6s ease-in-out infinite;transform-origin:50% 90%}
#davidActor .actor-sweat{display:none;position:absolute;left:43%;top:15%;width:8%;height:21%;pointer-events:none;z-index:5}
#davidActor.panicked .actor-sweat{display:block}
#davidActor .actor-sweat i{position:absolute;left:0;top:0;width:24%;height:15%;background:#a9d8e0;border:1px solid #46727b;border-radius:70% 0 70% 70%;rotate:-45deg;opacity:0;animation:actor-sweat-drop 1.6s ease-in 2}
#davidActor .actor-sweat i:nth-child(2){left:45%;top:5%;animation-delay:.65s;width:18%;height:11%}
#davidActor .actor-panic-line{display:none;position:absolute;left:-39%;top:12%;width:75%;margin:0;padding:5% 6%;z-index:5;background:#f3e2b9;color:#6b4935;box-shadow:1px 2px 0 #4a523d99;border:1px solid #9c916b;border-radius:37% 32% 35% 12%;font:600 clamp(8px,1.15cqw,19px)/1.15 var(--game-display,Arial,sans-serif);text-align:center;rotate:-6deg;pointer-events:none}
#davidActor.panicked.panic-arrival .actor-panic-line{display:block;animation:actor-panic-utterance 2.6s ease both}
#davidActor.phone-raising .actor-image{animation:actor-reach-phone .38s ease-out,actor-phone 2.2s .38s ease-in-out infinite}
#davidActor.phone-lowering .actor-image{animation:actor-pocket-phone .32s ease-out,actor-breathe 3.5s .32s ease-in-out infinite}
#davidActor[data-reaction='success'] .actor-visual{animation:actor-success .3s ease-out}
#davidActor[data-reaction='hurt'] .actor-visual{animation:actor-hurt .43s ease-out}
#davidActor.resting .actor-image{animation-play-state:paused}
body.actor-mounted #davidActor #primeButton:focus-visible{outline:2px solid #ffe9ab!important;outline-offset:-12px!important;border-radius:42% 42% 12% 12%!important}
@media(hover:hover){
 body.actor-mounted #davidActor.ready #primeButton:hover .actor-image{filter:brightness(1.12) drop-shadow(0 0 12px #ffe387aa);transform:translateY(-3px) scale(1.025)}
}
body.actor-mounted #davidActor.ready #primeButton:active .actor-image{transform:scale(.97);filter:brightness(1.2) drop-shadow(0 0 15px #ffe9baaa)}
#gameApp.prime-charge-arrival #gameStage{animation:actor-screen-charge .45s ease-out}
/* Rejection is station-specific: magnetic inspection versus a food reject chute. */
.reject-tool{position:absolute;inset:0;display:block!important;pointer-events:none;filter:drop-shadow(1px 5px 2px #10272c66);background:url('./assets/v8/sweet-reject-chute.webp') center/contain no-repeat}
body.immersive-game .scene-objects .controls .reject-button>.reject-tool{display:block!important}
.reject-tool svg{width:100%;height:100%;overflow:visible;visibility:hidden}
.reject-tool .metal-magnet{display:none}
body.immersive-game .scene-objects .controls .reject-button>.product-art,
body.immersive-game .scene-objects .controls .reject-button>.reject-mark{display:none!important}
.controls.loading .reject-tool .metal-magnet{display:block}
.controls.loading .reject-tool .sweet-chute{display:none}
.controls.loading .reject-tool{background-image:url('./assets/v8/metal-magnet.webp')}
body.immersive-game .scene-objects .controls.loading .reject-button{left:11%;top:77%;width:15%;height:24%;overflow:visible!important}
@media(hover:hover){
 body.immersive-game .scene-objects .action-button:hover:not(:disabled) .reject-tool{filter:brightness(1.14) drop-shadow(0 0 8px #dce4af);transform:rotate(-3deg)}
 body.immersive-game .scene-objects .action-button:hover:not(:disabled)>.product-art,
 body.immersive-game #sortingTray .sort-choice:hover:not(:disabled)>.product-art{filter:brightness(1.12) drop-shadow(0 0 6px #f0db95aa)}
}
@keyframes actor-breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1.3px) scaleY(1.008)}}
@keyframes actor-pose-leave{from{opacity:1}to{opacity:0}}
@keyframes actor-charge{0%,100%{transform:translate(0,0)}25%{transform:translate(-.6px,.3px)}75%{transform:translate(.6px,-.3px)}}
@keyframes actor-call{0%,100%{color:#f5d88c;transform:translateY(0)}50%{color:#c1f0e2;transform:translateY(-2px)}}
@keyframes actor-aura{to{transform:scale(1.08,1.03);opacity:.65}}
@keyframes actor-power{to{transform:translateY(-2px) scale(1.008);filter:drop-shadow(0 0 17px #ffe395aa)}}
@keyframes actor-phone{0%,100%{transform:rotate(0)}55%{transform:rotate(-.55deg) translateY(-1px)}}
@keyframes actor-anxious-breath{0%,100%{transform:scaleY(1) rotate(0)}30%{transform:scaleY(1.006) rotate(-.2deg)}65%{transform:scaleY(1.002) rotate(.2deg)}}
@keyframes actor-sweat-drop{5%{opacity:.9;translate:0 0}80%{opacity:0;translate:-12% 95%}100%{opacity:0}}
@keyframes actor-panic-utterance{0%{opacity:0;scale:.9}12%,82%{opacity:1;scale:1}100%{opacity:0}}
@keyframes actor-reach-phone{from{opacity:.6;filter:drop-shadow(0 4px 3px #0a1d2277)}to{opacity:1;filter:drop-shadow(0 4px 3px #0a1d2277)}}
@keyframes actor-pocket-phone{from{opacity:.65}to{opacity:1}}
@keyframes actor-success{35%{transform:translateY(-4px) rotate(-1deg)}to{transform:none}}
@keyframes actor-hurt{20%,60%{transform:translateX(3px)}40%,80%{transform:translateX(-3px)}to{transform:none}}
@keyframes actor-screen-charge{10%,45%{transform:translateX(1.5px)}25%,65%{transform:translateX(-1.5px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){
 #davidActor *,#gameApp.prime-charge-arrival #gameStage{animation:none!important;transition:none!important}
}

/* theme-v10.css */
@font-face{font-family:'Fredoka Game';src:url('./assets/v10/font-fredoka.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Rubik Game';src:url('./assets/v10/font-rubik.ttf') format('truetype');font-weight:300 900;font-style:normal;font-display:swap}
:root{--game-font:'Rubik Game',Arial,sans-serif;--font-game:var(--game-font);--game-display:'Fredoka Game','Rubik Game',sans-serif;--potato-gold:#edc06a;--potato-light:#ffedbd;--factory-teal:#2f5555;--factory-rust:#914a34}
body,body #gameApp{font-family:var(--game-font);font-synthesis:none}
body #gameApp h1,body #gameApp h2,body #gameApp h3,body #gameApp button{font-family:var(--game-display);font-weight:600}
body #gameApp p,body #gameApp small,body #gameApp .phone-dialog,body #gameApp .phone-dialog button{font-family:var(--game-font)}
body #gameApp button{letter-spacing:0}
body #gameApp .scene-brief h1,body #gameApp .shift-report h2{font-family:var(--game-display);font-weight:600;letter-spacing:-.02em}
body #gameApp #scoreValue,body #gameApp #timeValue,body #gameApp .report-stamp{font-family:var(--game-display)!important}
body #gameApp .work-instruction h1{font-family:var(--game-display)!important;font-weight:600!important}
body #gameApp .hud,body #gameApp .journey-hud{font-variant-numeric:tabular-nums}

/* The factory is the title screen. Only the small menu uses a metal backing. */
body #gameApp .title-scene{overflow:hidden;background:#152e36;perspective:1000px}
body #gameApp .title-scene .story-art{inset:-1.5%;background-size:100% 100%;animation:title-room-breathe 12s ease-in-out infinite alternate}
body #gameApp .title-scene::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 15%,#0a20270a 39%,#0a202760 67%,#0a202788 100%)}
body #gameApp .title-scene::after{content:'';position:absolute;left:3%;bottom:14%;width:38%;height:24%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 23% 95%,#eff9e41a,transparent 45%),radial-gradient(ellipse at 58% 95%,#eff9e415,transparent 50%);filter:blur(1cqw);animation:title-steam-drift 7s ease-in-out infinite}
body #gameApp .scene-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}
body #gameApp .title-loop{object-position:center;filter:saturate(.96) contrast(1.015)}
body #gameApp .title-copy{position:absolute!important;left:auto!important;right:4.8%!important;top:8%!important;bottom:auto!important;width:42%!important;height:85%!important;z-index:5;display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:0;perspective:800px;isolation:isolate}
body #gameApp .title-kicker{align-self:center;display:flex;align-items:center;gap:.8cqw;margin:0 0 .2cqh;font:500 clamp(7px,.9cqw,17px)/1.2 var(--game-font);letter-spacing:.12em;color:#d4d9c2;text-shadow:0 1px 3px #09242b}
body #gameApp .title-kicker::before,body #gameApp .title-kicker::after{content:'';width:1.8cqw;height:1px;background:linear-gradient(90deg,transparent,#d1c793)}
body #gameApp .title-kicker::after{rotate:180deg}
body #gameApp .game-wordmark{display:block!important;position:relative!important;flex:none;margin:0!important;padding:0!important;width:100%!important;line-height:1!important;font-size:0!important;letter-spacing:0!important;text-shadow:none!important;transform:none;animation:title-sign-enter .75s cubic-bezier(.18,.8,.25,1.15) both}
body #gameApp .title-logo-image{display:block;width:108%;height:auto;max-width:none;aspect-ratio:2/1;object-fit:contain;margin:0 -4%;filter:drop-shadow(0 .6cqh .4cqh #081d2699);transform-origin:50% 52%;animation:title-sign-sway 5.5s .8s ease-in-out infinite;user-select:none;-webkit-user-drag:none}
body #gameApp .game-wordmark::after{content:'';position:absolute;inset:12% -4% 12%;pointer-events:none;background:linear-gradient(112deg,transparent 42%,#fff4c800 44%,#fff4c81a 48%,transparent 54%);mix-blend-mode:screen;opacity:0;animation:title-logo-glint 8s 1.8s ease-in-out infinite;clip-path:polygon(3% 21%,97% 20%,100% 91%,0 94%)}
body #gameApp .title-tagline{margin:.4cqh 0 2.7cqh!important;align-self:center;font-family:var(--game-display)!important;font-size:clamp(10px,1.6cqw,29px)!important;font-weight:500;line-height:1.25;color:#f5e8bb;text-shadow:0 2px 3px #09252b;letter-spacing:0}
body #gameApp .title-menu{position:relative;display:grid!important;grid-template-columns:1fr 1fr;gap:.9cqh .65cqw;align-self:center;width:90%!important;margin:0!important;padding:1.4cqh .8cqw 1.3cqh;isolation:isolate}
body #gameApp .title-menu::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,#9ca58a22,transparent 25%,#061c25a6 80%),repeating-linear-gradient(2deg,#5c73680b 0 1px,#122c3309 1px 3px),#29494ca8;border:1px solid #9aa78b3b;border-radius:.55cqh;box-shadow:0 .6cqh 1.4cqh #061b2599,inset 0 1px #dbe2bf26;clip-path:polygon(2% 0,98% 0,100% 8%,100% 93%,98% 100%,2% 100%,0 93%,0 8%)}
body #gameApp .title-begin{grid-column:1/-1;position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:.8cqw;width:100%;height:10cqh!important;min-height:0!important;margin:0!important;padding:1.1cqh 1.25cqw!important;background:linear-gradient(115deg,#ffdda1,#edc575 40%,#d9a650)!important;color:#3d422b!important;border:1px solid #d7b568;border-bottom:3px solid #9d6b38;border-radius:.6cqh .9cqh .6cqh .7cqh;font-family:var(--game-display)!important;font-size:clamp(13px,2.5cqw,44px)!important;font-weight:600;text-shadow:0 1px #fff0bd;box-shadow:inset 0 1px #fff1c8,0 .35cqh 0 #503f2a,0 .5cqh .7cqh #061d2666;transition:translate .14s,filter .14s,rotate .14s;cursor:pointer}
body #gameApp .title-begin::before{content:'';flex:none;width:3.4cqw;height:5.8cqh;background:url('./assets/v10/potato-stars.webp') center/contain no-repeat;filter:drop-shadow(0 1px 1px #976e3970);rotate:-13deg;transition:rotate .18s}
body #gameApp .title-begin svg{flex:none;width:2cqw!important;height:3.5cqh!important;min-width:10px;color:#6f663a;filter:drop-shadow(0 1px #fff0b8)}
body #gameApp .title-begin:active{translate:0 .35cqh;box-shadow:inset 0 1px #fff1c8,0 1px 0 #503f2a;filter:brightness(1.05)}
body #gameApp .menu-option{display:flex!important;position:relative;align-items:center;justify-content:center;gap:.8cqw;height:6.6cqh!important;min-height:0!important;margin:0;padding:.8cqh .8cqw!important;border:1px solid #a6af8d55;border-bottom:2px solid #142d32;border-radius:.45cqh;background:linear-gradient(120deg,#53736aeb,#314f51e8)!important;color:#e6e7cb;text-align:center;font:500 clamp(11px,1.65cqw,29px)/1 var(--game-display)!important;box-shadow:inset 0 1px #d7dbb626;transition:filter .14s,translate .14s;clip-path:polygon(4% 0,96% 0,100% 16%,100% 84%,96% 100%,4% 100%,0 84%,0 16%)}
body #gameApp .menu-option::before{content:'•';position:static;display:grid;place-items:center;opacity:1!important;font-size:1.4em;color:#c6cda9;line-height:1;width:1.8cqw;height:2.8cqh;transition:rotate .2s}
body #gameApp .menu-option[data-journey=settings]::before{content:'⚙';font-family:Arial,sans-serif;font-size:1.2em}
body #gameApp .menu-option[data-journey=exit]::before{content:'↪';font-family:Arial,sans-serif;font-size:1.25em}
body #gameApp .menu-option[data-journey=new-game]{grid-column:1/-1;height:5.8cqh!important;background:linear-gradient(110deg,#416867d9,#2b4f54d9)!important;font-size:clamp(10px,1.45cqw,25px)!important}
body #gameApp .menu-option[data-journey=new-game]::before{content:'';background:url('./assets/v10/potato-stars.webp') center/contain no-repeat;width:1.8cqw;height:3.1cqh;filter:saturate(.6)}
body #gameApp .menu-option:active{translate:0 .3cqh;filter:brightness(1.13)}
body #gameApp .title-save{align-self:center;margin:1.8cqh 0 0!important;font-family:var(--game-font)!important;font-size:clamp(7px,1cqw,18px)!important;font-weight:400;line-height:1.35;max-width:100%;color:#c2cdb9;white-space:normal!important;text-align:center;text-shadow:0 1px 3px #061c26}
body #gameApp .title-brand{left:3.2%;top:4%;width:9.5%;height:7.5%;object-fit:contain;filter:drop-shadow(0 .4cqh .3cqh #08202c88)}
body #gameApp .title-edition{left:3.2%;bottom:3%;color:#bac6b299;font-size:clamp(6px,.7cqw,12px);letter-spacing:.08em}
body #gameApp .title-edition b{color:#cbbd88;font-weight:500}
body #gameApp .title-grain{box-shadow:inset 0 0 5cqw #061a242e}

body #gameApp .menu-sheet{background:#061a248a;backdrop-filter:blur(6px)}
body #gameApp .menu-sheet>div{padding:3.5cqh 3.2cqw;width:51cqw;background:linear-gradient(112deg,#f1e6c6,#ded5b4 70%,#d2c9a8);border:1px solid #a8a384;border-top:1cqh solid #4a6960;border-radius:.6cqh .6cqh 1.3cqh .6cqh;box-shadow:0 .6cqh 0 #8b8d6d,0 2cqh 5cqw #071b2799;color:#334c3d}
body #gameApp .menu-sheet h2{color:#365541;font-family:var(--game-display)!important;letter-spacing:-.02em;font-weight:600;font-size:clamp(22px,3.4cqw,58px);margin:1.1cqh 0 1.8cqh}
body #gameApp .menu-sheet .sheet-eyebrow{color:#97733d;font-family:var(--game-font);letter-spacing:0;font-weight:700}
body #gameApp .menu-sheet p{color:#657052;font-size:clamp(11px,1.45cqw,24px);line-height:1.5;margin-bottom:2cqh}
body #gameApp .menu-sheet button{border-radius:.6cqh;box-shadow:0 2px 0 #58654a33;font-family:var(--game-display)!important;font-weight:500}
body #gameApp .menu-sheet .sheet-primary{background:linear-gradient(#617e54,#476a49);color:#fff0c7;border-color:#405c3e;box-shadow:0 3px 0 #334d35}
body #gameApp .menu-sheet .sheet-secondary{background:#c8c9a699;color:#526543;border:1px solid #929d78}
body #gameApp .menu-sheet .sheet-back{background:none;color:#7e805c;box-shadow:none}
body #gameApp .menu-sheet .setting-row{color:#3d5844;border-bottom:1px solid #98a17d66;box-shadow:none}
body #gameApp .menu-sheet .setting-row b{color:#926533}
body #gameApp .menu-sheet .career-ladder li{color:#879176;border-color:#a9af8b66}
body #gameApp .menu-sheet .career-ladder .rank-earned{color:#526b45}
body #gameApp .menu-sheet .career-ladder .rank-current{background:#b3bd8e44;color:#3b603b;border-right:2px solid #6d874e}
body #gameApp .menu-sheet .career-ladder b{color:#78895c}

/* A restrained, small studio ident: two etched rings and a single light sweep. */
body #gameApp .ar-opening{background:#03090d;overflow:hidden;transition:opacity .48s ease;z-index:150}
.ar-halo{position:absolute;left:50%;top:46%;width:42%;height:62%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#2a6c7120,transparent 65%);pointer-events:none;opacity:.45}
.ar-horizon{position:absolute;left:19%;right:19%;top:66%;height:1px;background:linear-gradient(90deg,transparent,#5c8e8d38,transparent);opacity:0;pointer-events:none}
body #gameApp .ar-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2.7cqh;background:none;color:#d9e6e4;border:0;box-shadow:none;padding:0;cursor:pointer}
.ar-emblem{position:relative;display:block;width:11cqw;height:11cqw;max-width:190px;max-height:190px;aspect-ratio:1;isolation:isolate}
body #gameApp .ar-mark{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:1;filter:drop-shadow(0 0 1.5cqw #8ce4e21a);transform:none}
body #gameApp .ar-mark img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.ar-orbit{position:absolute;inset:-17%;border:1px solid #7da9a340;border-radius:50%;pointer-events:none;opacity:.3}
.ar-orbit-two{inset:-27%;border-color:#607e7d15;transform:rotate(-28deg) scaleY(.94)}
.ar-orbit-one::after{content:'';position:absolute;left:50%;top:-.2cqw;width:.32cqw;height:.32cqw;min-width:2px;min-height:2px;border-radius:50%;background:#a5e2d4;box-shadow:0 0 .6cqw #7dded9,0 0 1cqw #7dded988;opacity:0}
.ar-logo-sweep{position:absolute;inset:-9%;background:linear-gradient(110deg,transparent 35%,#b5f1e200 43%,#b5f1e278 49%,#b5f1e200 55%,transparent 62%);mix-blend-mode:screen;border-radius:50%;opacity:0;pointer-events:none}
body #gameApp .ar-studio{font:500 clamp(8px,1.08cqw,19px)/1.2 var(--game-font);letter-spacing:.33em;direction:ltr;color:#b8c8c6;margin:2.5cqh 0 0;padding-left:.33em;opacity:.85}
body #gameApp .ar-start small{position:absolute;bottom:12%;display:flex;align-items:center;gap:.7cqw;color:#6e8d91;font:400 clamp(9px,1.2cqw,21px)/1.2 var(--game-font);letter-spacing:0}
.ar-start small i{width:.45cqw;height:.45cqw;min-width:3px;min-height:3px;background:#9abdac;border-radius:50%;box-shadow:0 0 .7cqw #7bb6a244;animation:ar-invitation 2s ease-in-out infinite}
body #gameApp .ar-skip{position:absolute;right:3%;bottom:5%;padding:.7cqh 1cqw;border:0;background:none;color:#7e969b;font:400 clamp(8px,1cqw,18px)/1.2 var(--game-font);min-height:0;box-shadow:none;z-index:3}
body #gameApp .ar-skip:hover{color:#d4e0cf}
body #gameApp .ar-playing .ar-mark{animation:ar-premium-mark 2.65s cubic-bezier(.2,.7,.3,1) both!important}
body #gameApp .ar-playing .ar-studio{animation:ar-premium-caption 2.65s ease both!important}
body #gameApp .ar-playing .ar-orbit-one{animation:ar-ring-turn 2.65s ease-out both}
body #gameApp .ar-playing .ar-orbit-one::after{animation:ar-ring-dot 2.65s ease-out both}
body #gameApp .ar-playing .ar-orbit-two{animation:ar-outer-ring 2.65s ease-out both}
body #gameApp .ar-playing .ar-logo-sweep{animation:ar-sweep-light 1.1s .3s ease-in-out both}
body #gameApp .ar-playing .ar-halo{animation:ar-glow-breathe 2.65s ease-out both}
body #gameApp .ar-playing .ar-horizon{animation:ar-ground-line 2.65s ease-out both}
body #gameApp .ar-playing .ar-start small{opacity:0;transition:opacity .15s}
body #gameApp .ar-out{opacity:0;pointer-events:none}

@keyframes title-room-breathe{to{transform:scale(1.025) translateX(.25%)}}
@keyframes title-steam-drift{0%,100%{opacity:.35;transform:translateY(1cqh)}55%{opacity:.75;transform:translateY(-2cqh)}}
@keyframes title-sign-enter{from{opacity:0;transform:translateY(-2.5cqh) rotate(-2deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes title-sign-sway{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-.65cqh) rotate(.35deg)}}
@keyframes title-logo-glint{0%,70%,100%{opacity:0;translate:-10% 0}76%{opacity:.7}86%{opacity:0;translate:10% 0}}
@keyframes ar-invitation{50%{opacity:.35}}
@keyframes ar-premium-mark{0%{opacity:0;transform:scale(.88);filter:blur(5px)}20%{opacity:1;transform:scale(1.015);filter:blur(0) drop-shadow(1px 0 #70e0dc55)}35%,78%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 1.5cqw #7ecbcb26)}100%{opacity:.95;transform:scale(1.018);filter:drop-shadow(0 0 2cqw #7ecbcb08)}}
@keyframes ar-premium-caption{0%,15%{opacity:0;translate:0 .8cqh;letter-spacing:.44em}40%,90%{opacity:.9;translate:0 0;letter-spacing:.33em}100%{opacity:.7}}
@keyframes ar-ring-turn{0%{opacity:0;rotate:-160deg;scale:.9}25%{opacity:.5}75%{opacity:.4}100%{opacity:.08;rotate:90deg;scale:1.02}}
@keyframes ar-ring-dot{0%,10%{opacity:0}25%,65%{opacity:.8}100%{opacity:0}}
@keyframes ar-outer-ring{0%{opacity:0;transform:rotate(-45deg) scale(.9,.84)}35%{opacity:.3}100%{opacity:0;transform:rotate(20deg) scale(1.1,1.04)}}
@keyframes ar-sweep-light{0%{opacity:0;translate:-40% 0}35%{opacity:.55}100%{opacity:0;translate:40% 0}}
@keyframes ar-glow-breathe{0%{opacity:.1;scale:.8}50%{opacity:.9;scale:1}100%{opacity:.25;scale:1.1}}
@keyframes ar-ground-line{0%,25%{opacity:0;scale:.5 1}55%{opacity:.5;scale:1 1}100%{opacity:.1}}
@media(hover:hover){body #gameApp .title-begin:hover{filter:brightness(1.07);translate:0 -.35cqh;rotate:-.3deg}body #gameApp .title-begin:hover::before{rotate:4deg}body #gameApp .menu-option:hover,body #gameApp .menu-option:focus-visible{filter:brightness(1.17);translate:0 -.18cqh;color:#fff0c7}body #gameApp .menu-option:hover::before{rotate:-12deg}body #gameApp .title-copy:hover .title-logo-image{filter:drop-shadow(0 .7cqh .4cqh #081d2699) drop-shadow(0 0 1cqw #ffcf641a)}}
@container(max-width:600px){body #gameApp .title-copy{right:3.5%!important;top:8%!important;width:44%!important;height:86%!important}body #gameApp .title-kicker{font-size:1.25cqw}body #gameApp .title-tagline{display:block!important;font-size:1.8cqw!important;margin:.7cqh 0 2cqh!important}body #gameApp .title-menu{width:94%!important;padding:1.2cqh .8cqw;gap:1cqh .65cqw}body #gameApp .title-begin{height:10.5cqh!important;font-size:2.8cqw!important}body #gameApp .menu-option{font-size:2cqw!important;height:7.4cqh!important}body #gameApp .menu-option[data-journey=new-game]{height:6.2cqh!important;font-size:1.8cqw!important}body #gameApp .title-save{font-size:1.25cqw!important;margin-top:1.7cqh!important}body #gameApp .title-edition{display:none}body #gameApp .menu-sheet>div{width:76cqw;padding:3cqh 4cqw}body #gameApp .menu-sheet h2{font-size:4.6cqw}body #gameApp .menu-sheet p{font-size:2.4cqw}body #gameApp .menu-sheet button{font-size:2.8cqw}}
@media(prefers-reduced-motion:reduce){body #gameApp .title-scene .story-art,body #gameApp .title-scene::after,body #gameApp .game-wordmark,body #gameApp .title-logo-image,body #gameApp .game-wordmark::after,body #gameApp .ar-mark,body #gameApp .ar-studio,body #gameApp .ar-orbit,body #gameApp .ar-orbit::after,body #gameApp .ar-logo-sweep,body #gameApp .ar-halo,body #gameApp .ar-horizon,body #gameApp .ar-start small i{animation:none!important;transition:none!important}}
body.reduced-motion #gameApp .title-scene .story-art,body.reduced-motion #gameApp .title-scene::after,body.reduced-motion #gameApp .game-wordmark,body.reduced-motion #gameApp .title-logo-image,body.reduced-motion #gameApp .game-wordmark::after,body #gameApp .ar-reduced .ar-mark,body #gameApp .ar-reduced .ar-studio,body #gameApp .ar-reduced .ar-orbit,body #gameApp .ar-reduced .ar-orbit::after,body #gameApp .ar-reduced .ar-logo-sweep,body #gameApp .ar-reduced .ar-halo,body #gameApp .ar-reduced .ar-horizon,body #gameApp .ar-reduced .ar-start small i{animation:none!important;transition:none!important}

/* journey-v10.css */
/* V10: scenery is interactive, transitions have a physical beginning and end. */
body #gameApp .journey-layer { background:#101916; }
body #gameApp.journey-transitioning > :not(.journey-iris) { pointer-events:none!important; }
.journey-iris { position:absolute;inset:0;z-index:180;pointer-events:auto; }
.journey-iris svg { display:block;width:100%;height:100%; }
.wordmark-accessible { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important; }
.journey-iris.waiting { pointer-events:none; }
.journey-iris .iris-mask-hole { r:1200px; }
.journey-iris.closing .iris-mask-hole { animation:iris-shut .44s cubic-bezier(.45,0,.85,.5) forwards; }
.journey-iris.opening .iris-mask-hole { animation:iris-open .46s cubic-bezier(.15,.5,.35,1) forwards; }
@keyframes iris-shut { from{r:1200px}to{r:0px} }
@keyframes iris-open { from{r:0px}to{r:1200px} }
body #gameApp .room-object,
body #gameApp .room-object:not(:disabled):hover,
body #gameApp .room-object:not(:disabled):focus-visible,
body #gameApp .home-room .current-object:not(:hover),
body #gameApp .factory-hub .factory-room,
body #gameApp .factory-hub .factory-room.next,
body #gameApp .factory-hub .factory-room:not(:disabled):hover,
body #gameApp .factory-hub .factory-room:not(:disabled):focus-visible,
body #gameApp .world-map-scene .map-location {
 background:none!important;box-shadow:none!important;backdrop-filter:none!important;
 border:0!important;outline:0!important;animation:none;filter:none;
}
body #gameApp .room-object:focus-visible .object-skin,
body #gameApp .room-object:not(:disabled):hover .object-skin,
body #gameApp .map-location:hover .object-skin,
body #gameApp .map-location:focus-visible .object-skin,
body #gameApp .factory-room:not(:disabled):hover .object-skin,
body #gameApp .factory-room:not(:disabled):focus-visible .object-skin {
 opacity:1;filter:brightness(1.25) saturate(1.1) drop-shadow(0 0 .65cqw #ffd88a99);
}
body #gameApp .object-skin { position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;pointer-events:none;overflow:visible;transition:opacity .18s,filter .18s; }
body #gameApp .home-room .remote-object { transform:none;border-radius:0; }
body #gameApp .home-room .alarm-object { border-radius:0; }
body #gameApp .home-room .alarm-object .clock-digits { z-index:2; }
body #gameApp .home-room .alarm-object.ringing .object-skin { opacity:1;animation:alarm-case 1.6s ease-in-out infinite; }
@keyframes alarm-case { 50%{filter:brightness(1.17) drop-shadow(0 0 .3cqw #eea65299)} }
body #gameApp .home-room.awake .story-art { background-image:url('./assets/story/home-morning.webp')!important;background-size:cover!important;background-position:center!important; }
body #gameApp .home-room.awake .alarm-object { left:68.85%;top:50.5%;width:8.7%;height:7%; }
body #gameApp .home-room.awake .remote-object { left:24.5%;top:80.5%;width:17%;height:13%; }
body #gameApp .home-room.awake .mobile-object { left:72%;top:48%;width:7%;height:10%; }
body #gameApp .home-room .door-stage { position:absolute;left:80.3%;top:0;width:19.7%;height:80.5%;perspective:60cqw;pointer-events:none;display:none;z-index:2;overflow:hidden; }
body #gameApp .home-room.awake .door-stage { display:block; }
.door-corridor { position:absolute;inset:0;background:none;box-shadow:none; }
.door-corridor::after { content:none; }
.door-surface { position:absolute;inset:0;transform-origin:100% 50%;backface-visibility:hidden;background:#bb8d52 url('./assets/v10/bedroom-awake.webp') 100% 0 / 540.54% 129.366% no-repeat;box-shadow:inset .25cqw 0 .2cqw #61442c77;transition:filter .2s; }
.door-surface::before { content:none; }
.door-handle { display:none; }
body #gameApp .home-room .door-object { left:80.3%;top:0;width:19.7%;height:80.5%;transform:none;z-index:3;border-radius:0; }
.door-foreground { position:absolute;left:87%;top:64%;width:13%;height:16%;z-index:4;pointer-events:none; }
body #gameApp .door-foreground .object-skin { opacity:1;filter:none; }
body #gameApp .home-room:has(.door-object:hover) .door-surface,
body #gameApp .home-room:has(.door-object:focus-visible) .door-surface { filter:brightness(1.12) drop-shadow(0 0 .5cqw #ffcc7380); }
.door-opening .door-surface { animation:bedroom-door-open .78s cubic-bezier(.2,.6,.3,1) forwards; }
@keyframes bedroom-door-open { to{transform:rotateY(83deg);filter:brightness(.73)} }
.bedroom-fold { position:absolute;inset:28% 0 40% 12%;display:flex;gap:2%;padding:5%;background:#151d23;border:.15cqw solid #74818a;border-radius:9%;box-shadow:.1cqw .5cqh .4cqw #14212499;transform:rotate(12deg);transition:filter .2s,transform .2s; }
.bedroom-fold>i { flex:1;background:linear-gradient(145deg,#5196a0,#253e6a 40%,#b56c4a);border-radius:4%; }
.bedroom-fold>b { position:absolute;inset:auto 5% 10%;font:600 clamp(5px,.6cqw,11px)/1 Arial,sans-serif;color:#e5f7f4;text-align:center;direction:ltr; }
.mobile-object:hover .bedroom-fold,.mobile-object:focus-visible .bedroom-fold { filter:brightness(1.4) drop-shadow(0 0 .5cqw #d8f4e4);transform:rotate(9deg) translateY(-.4cqh); }
.tv-tuning .story-art { animation:tv-room-flicker .7s steps(8); }
@keyframes tv-room-flicker { 0%,30%,60%{filter:brightness(1.08) hue-rotate(4deg)}15%,45%,75%{filter:brightness(.9) hue-rotate(-4deg)} }
/* Hover skins are clipped to the buildings and machines, not a rectangular tile. */
body #gameApp .world-map-scene .map-location::before,
body #gameApp .factory-hub .factory-room::before,
body #gameApp .factory-hub .factory-room::after { content:none!important; }
body #gameApp .world-map-scene .home-location { left:16.8%;top:30.8%;width:13%;height:25.5%;transform:none; }
body #gameApp .world-map-scene .factory-location { left:60.6%;top:28.8%;width:39.4%;height:37.5%;transform:none; }
body #gameApp .world-map-scene .map-location .destination-name { position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:clamp(10px,1.55cqw,27px);background:none;padding:0;color:#fff1cc;text-shadow:0 2px 0 #55422f,0 0 .5cqw #172a22; }
body #gameApp .world-map-scene .map-location .destination-status { position:absolute;left:0;right:0;bottom:-9%;text-align:center;font-size:clamp(7px,.95cqw,17px); }
body #gameApp .world-map-scene .home-location .destination-name { bottom:7%;font-size:clamp(9px,1.2cqw,21px);transform:rotate(-3deg); }
body #gameApp .world-map-scene .home-location .destination-status { bottom:-2%; }
body #gameApp .world-map-scene .destination-next .object-skin { opacity:1;animation:building-breath 2.8s ease-in-out infinite; }
@keyframes building-breath { 50%{filter:brightness(1.12) drop-shadow(0 0 .4cqw #f7d89688)} }
.home-window-light { position:absolute;left:38%;top:51%;width:8%;height:8%;background:#e9bd7470;box-shadow:0 0 1cqw #ecc67b66;mix-blend-mode:screen;animation:home-lamp 4s ease-in-out infinite;pointer-events:none; }
@keyframes home-lamp { 50%{opacity:.5} }
body #gameApp .world-map-scene .locked-location { background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;filter:drop-shadow(0 .4cqh .25cqw #10262588); }
body #gameApp .world-map-scene .locked-location .physical-lock { fill:#33413fe8;stroke:#dfd3b8;filter:drop-shadow(0 .4cqh .1cqw #25332a99); }
body #gameApp .world-map-scene .locked-location strong { color:#f2e5cd;font-size:clamp(13px,1.9cqw,34px);text-shadow:0 2px 0 #25332a; }
body #gameApp .world-map-scene .locked-location small { color:#e5e0cb;font-size:clamp(8px,1cqw,18px);text-shadow:0 1px 3px #172821; }
.map-cloud { position:absolute;width:16%;height:6%;border-radius:50%;background:#fff4dc44;filter:blur(1cqw);pointer-events:none;z-index:1;animation:map-cloud-drift 24s linear infinite; }
.map-cloud.cloud-one { left:3%;top:16%; }.map-cloud.cloud-two { left:68%;top:6%;width:23%;animation-duration:34s;animation-delay:-8s; }
@keyframes map-cloud-drift { from{translate:-4cqw 0}to{translate:18cqw 0} }
body #gameApp .factory-hub .factory-room { left:var(--skin-x);top:var(--skin-y);width:var(--skin-w);height:var(--skin-h);transform:none;border-radius:0;overflow:visible; }
body #gameApp .factory-hub .factory-room.next .object-skin { opacity:1;animation:building-breath 2.6s ease-in-out infinite; }
body #gameApp .factory-hub .factory-room.locked { opacity:1; }
body #gameApp .factory-hub .factory-room.locked .object-skin { opacity:1;filter:grayscale(1) brightness(.46); }
body #gameApp .factory-hub .station-floor-name { bottom:1%;left:0;right:0;text-align:center;font-size:clamp(10px,1.5cqw,26px);background:none;text-shadow:0 2px 3px #142621; }
body #gameApp .factory-hub .factory-room>.report-stars { bottom:-12%;left:0;right:0;justify-content:center; }
body #gameApp .factory-hub .factory-room>.station-lock { position:absolute;inset:27% 0 auto;gap:.5cqh; }
body #gameApp .factory-hub .station-lock strong { font-size:clamp(14px,2.2cqw,38px); }
body #gameApp .factory-hub .station-lock .physical-lock { width:4cqw;height:7cqh; }
/* Board first; only then does David appear in the travelling bus. */
body #gameApp .morning-stop .story-art { background-image:url('./assets/v10/home-bus-stop.webp'),url('./assets/v10/bus-stop.webp'),url('./assets/v8/world-map.webp')!important; }
body #gameApp .return-stop .story-art { background-image:url('./assets/v10/bus-stop.webp'),url('./assets/v8/factory-floor.webp')!important; }
body #gameApp .bus-stop-room .board-bus { transform:none;clip-path:none; }
body #gameApp .bus-stop-room.return-stop .board-bus { left:36%;top:3%;width:64%;height:97%; }
body #gameApp .bus-stop-room.morning-stop .board-bus { left:48%;top:0;width:52%;height:100%; }
.board-bus .bus-door-light { position:absolute;left:53%;top:17%;width:20%;height:80%;border-radius:15% 10% 3% 3%;background:linear-gradient(90deg,transparent,#f7e5af11,transparent);transition:background .2s;clip-path:polygon(4% 8%,96% 0,99% 100%,0 94%); }
.morning-stop .board-bus .bus-door-light { left:42%;top:20%;width:25%;height:77%; }
body #gameApp .board-bus:hover .object-skin,body #gameApp .board-bus:focus-visible .object-skin { opacity:1;filter:brightness(1.13) drop-shadow(0 0 .4cqw #f5d18a88); }
.board-bus:hover .bus-door-light,.board-bus:focus-visible .bus-door-light { background:linear-gradient(90deg,#ecd7a600,#f6de9c88,#ecd7a600);filter:drop-shadow(0 0 1cqw #ffe6a5); }
.board-bus small { position:absolute;left:35%;bottom:4%;font-size:clamp(10px,1.6cqw,28px);color:#fff1d1;text-shadow:0 2px 4px #1a2525;opacity:0;transition:opacity .18s; }
.board-bus:hover small,.board-bus:focus-visible small { opacity:1; }
.bus-stop-dust { position:absolute;left:37%;bottom:11%;width:50%;height:2%;background:#dcbf8b22;filter:blur(.7cqw);animation:stop-dust 3s ease-in-out infinite;pointer-events:none; }
@keyframes stop-dust { 50%{translate:1cqw 0;opacity:.3} }
body #gameApp .bus-in-motion .story-art { animation:bus-sway 1.6s ease-in-out infinite;transform:scale(1.025); }
@keyframes bus-sway { 0%,100%{transform:scale(1.025) translateY(-.15%)}35%{transform:scale(1.025) translate(.15%,.35%)}70%{transform:scale(1.025) translate(-.1%,-.2%)} }
.ride-film { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0; }
.map-paused-film,.world-route-video { position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:0; }
body #gameApp .world-map-scene .map-location,body #gameApp .world-map-scene .locked-location,body #gameApp .world-map-scene .map-ending-collection { z-index:3; }
body #gameApp .map-route-scene .scene-brief { bottom:5%; }
.map-travel-destination { position:absolute;bottom:13%;left:12%;color:#fff2ce;text-shadow:0 2px 4px #15271e;font-size:clamp(11px,1.7cqw,30px); }
.route-factory .map-travel-destination { left:auto;right:10%; }
.ride-window-motion { position:absolute;inset:0;pointer-events:none;clip-path:polygon(69% 0,100% 0,100% 77%,68% 48%);background:repeating-linear-gradient(100deg,transparent 0 12%,#cfaa6318 13% 18%,transparent 19% 31%);background-size:250% 100%;mix-blend-mode:screen;animation:ride-scenery 2s linear infinite; }
@keyframes ride-scenery { to{background-position:-150% 0} }
.ride-light-pass { position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,#fff1b00e 35%,transparent 52%);background-size:200% 100%;animation:ride-light 3.4s linear infinite; }
@keyframes ride-light { from{background-position:-150% 0}to{background-position:150% 0} }
.ride-route { position:absolute;left:35%;bottom:6%;width:32%;display:flex;align-items:center;gap:1cqw;color:#fff1c8;font-size:clamp(9px,1.3cqw,22px);text-shadow:0 2px 4px #182e2e; }
.ride-route i { flex:1;height:.5cqh;background:#223b3899;position:relative;border-radius:2cqh; }
.ride-route i::after { content:'';position:absolute;right:0;top:0;height:100%;background:#e8c57c;animation:ride-route-progress 3.4s linear forwards; }
@keyframes ride-route-progress { from{width:0}to{width:100%} }
.ride-skip { position:absolute;left:3%;bottom:4%;padding:.8cqh 1cqw;background:none;border:0;color:#e5ddc3;font-size:clamp(9px,1.1cqw,20px);text-shadow:0 1px 4px #182e2e; }
/* Four comic frames are revealed in story order. */
body #gameApp .comic-scene .story-art { filter:brightness(.3) blur(.3cqw); }
.shift-comic { position:absolute;inset:8% 6% 3%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:1.5cqh; }
.shift-comic>header { text-align:center;color:#fff0c7; }
.shift-comic>header>span { font-size:clamp(8px,1cqw,18px);letter-spacing:.1em;color:#d7b57b; }
.shift-comic h1 { font-size:clamp(19px,3cqw,52px);margin:0;line-height:1.15;text-shadow:0 2px 0 #111d1e; }
.comic-panels { display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1cqw;min-height:0;direction:ltr; }
.comic-panel { margin:0;position:relative;overflow:hidden;border:.35cqw solid #e7d3a9;background:#233a36;box-shadow:.4cqw .5cqh 0 #080f10;transform:rotate(calc((var(--panel-index) - 1.5) * -.35deg));opacity:0;animation:comic-panel-reveal .42s cubic-bezier(.2,.8,.3,1.2) calc(var(--panel-index) * .65s) forwards; }
@keyframes comic-panel-reveal { from{opacity:0;translate:0 1cqh;scale:.98}to{opacity:1;translate:0 0;scale:1} }
.comic-panel-art { position:absolute;inset:0;background-image:url('./assets/v10/shift-comic.webp');background-size:200% 200%;background-repeat:no-repeat; }
.comic-panel figcaption { position:absolute;right:2%;bottom:4%;max-width:91%;padding:.4cqh .7cqw;display:flex;align-items:center;gap:.6cqw;background:#efe1bc;color:#283b31;transform:rotate(-1deg);font-size:clamp(8px,1.25cqw,22px);font-weight:700;direction:rtl;box-shadow:.2cqw .3cqh 0 #192a2788; }
.comic-panel figcaption>b { color:#9d5e30;font-size:1.2em; }
.comic-continue,.recap-continue { justify-self:center;min-height:0;min-width:28%;border:1px solid #ead4a6;border-bottom:.45cqh solid #956d3e;border-radius:.25cqw;padding:1cqh 2cqw;background:linear-gradient(#edd395,#d7af68);color:#293d31;font-family:inherit;font-weight:850;font-size:clamp(12px,1.8cqw,31px);box-shadow:0 .5cqh 0 #152a2766;transition:filter .15s,transform .12s; }
.comic-continue:disabled { opacity:.45;cursor:default; }
.comic-continue:not(:disabled):hover,.recap-continue:hover { filter:brightness(1.12);transform:translateY(-.3cqh); }
.comic-continue:active,.recap-continue:active { transform:translateY(.4cqh); }
.comic-reveal { position:absolute;bottom:0;left:0;font-size:clamp(8px,1cqw,18px);background:none;border:0;color:#c8cbb9;padding:1cqh; }
.all-revealed .comic-panel { animation:none;opacity:1; }
/* The reward symbol is a potato cut into a star, reused on the career receipts. */
body #gameApp .report-stars { display:flex;align-items:center;gap:.6cqw;direction:ltr; }
body #gameApp .report-stars .potato-award { position:relative;display:block;width:2.3cqw;height:4.3cqh;color:transparent;transform:none;filter:grayscale(1) brightness(.5);opacity:.7; }
.potato-award>img { display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1; }
.potato-award>i { position:absolute;inset:12%;z-index:0;background:#bc9b55;clip-path:polygon(50% 0,62% 33%,98% 37%,72% 61%,79% 98%,50% 79%,21% 98%,28% 61%,2% 37%,38% 33%); }
body #gameApp .report-stars .potato-award.earned { opacity:1;filter:drop-shadow(0 .3cqh .15cqw #75533288); }
body #gameApp .report-stars.large .potato-award { width:6cqw;height:10cqh; }
body #gameApp .report-stars.large .potato-award.earned { animation:potato-reward .5s cubic-bezier(.2,.9,.3,1.3) calc(.12s + var(--award-index) * .15s) both; }
@keyframes potato-reward { from{opacity:0;transform:translateY(-1.5cqh) rotate(-12deg) scale(1.4)}to{opacity:1;transform:none} }
/* A real end-of-day payslip: performance, money and promotion have separate places. */
body #gameApp .day-recap-scene .story-art { filter:brightness(.33) blur(.25cqw); }
.day-recap { position:absolute;inset:7% 9% 4%;display:grid;place-items:center; }
.recap-paper { position:relative;width:100%;height:100%;max-height:100%;padding:2.5cqh 3cqw 2cqh;background:linear-gradient(110deg,#ece1bd,#e1d2a7 70%,#d9c89b);border:.12cqw solid #ad9d73;box-shadow:.7cqw 1cqh 0 #15221a99,0 2cqh 5cqw #09171677;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) auto;column-gap:3cqw;row-gap:1cqh;color:#314735;isolation:isolate;overflow:auto; }
.recap-paper::before { content:'';position:absolute;left:37%;top:-1.6cqh;width:26%;height:2.5cqh;background:linear-gradient(#9da998,#536b60);border:1px solid #344d44;border-radius:.4cqw;box-shadow:0 .3cqh .3cqh #304b4d55;z-index:2; }
.recap-paper>header { grid-column:1/-1;position:relative;text-align:right;padding-left:14cqw; }
.recap-paper>header>.story-tapugan { position:absolute;top:0;left:0;width:11cqw;height:7cqh;object-fit:contain; }
.recap-paper>header>span { display:block;font-size:clamp(8px,1.05cqw,18px);color:#7b815b;letter-spacing:.05em; }
.recap-paper h1 { font-size:clamp(18px,2.7cqw,47px);line-height:1.12;margin:.4cqh 0;color:#304b36; }
.recap-paper header p { font-size:clamp(9px,1.1cqw,20px);margin:.5cqh 0;color:#6b7653; }
.day-medals { grid-column:1;align-self:start;display:flex;align-items:center;gap:1.5cqw;margin:0 0 1cqh; }
.day-medals>span { font-size:clamp(8px,1cqw,18px);width:8cqw;line-height:1.3;color:#7b7953; }
.recap-ledger { grid-column:1;display:flex;flex-direction:column;gap:.6cqh;align-self:end; }
.recap-ledger>div { display:flex;align-items:center;justify-content:space-between;gap:1cqw;border-bottom:1px dashed #aaa17a;padding:.6cqh 0;font-size:clamp(10px,1.25cqw,22px); }
.recap-ledger bdi { direction:rtl;font-weight:800;font-size:clamp(12px,1.55cqw,28px);white-space:nowrap; }
.recap-ledger .credit { color:#527245; }.recap-ledger .debit { color:#9d6143; }
.recap-ledger .recap-total { border-bottom:0;border-top:.2cqw solid #8c946a;padding-top:1cqh; }
.recap-total bdi { color:#934f3b; }
.recap-career { grid-column:2;grid-row:2/4;border-right:1px solid #b9ae83;padding:2cqh 2cqw 0 0;display:flex;flex-direction:column;justify-content:center;gap:.9cqh;min-width:0; }
.recap-career>span { font-size:clamp(8px,1.05cqw,18px);color:#7e815a; }
.recap-career>strong { font-size:clamp(18px,2.7cqw,47px);line-height:1.1;color:#3e5e3a; }
.recap-career>b { font-size:clamp(11px,1.6cqw,28px);color:#9a7138; }
.recap-career>small { font-size:clamp(9px,1.15cqw,20px);line-height:1.35;color:#6a7753; }
.has-promotion>strong { animation:promotion-stamp .7s .4s both; }
@keyframes promotion-stamp { from{opacity:0;transform:scale(1.25) rotate(-5deg)}to{opacity:1;transform:none} }
.ceo-journey { position:relative;margin:1.5cqh .5cqw .5cqh;height:.7cqh;min-height:3px;background:#818a5e44;direction:ltr; }
.ceo-journey>i { display:block;height:100%;background:linear-gradient(90deg,#a69552,#517344);transition:width .7s; }
.ceo-journey>span { position:absolute;top:50%;width:.75cqw;height:.75cqw;border-radius:50%;border:.15cqw solid #aaa47d;background:#d9cfa9;transform:translate(-50%,-50%); }
.ceo-journey>span.passed { background:#557649;border-color:#a0b173; }
.ceo-journey-labels { display:flex;align-items:center;justify-content:space-between;gap:.5cqw;direction:ltr;font-size:clamp(7px,.9cqw,16px);color:#6d7b57; }
.ceo-journey-labels>b { font-size:clamp(10px,1.4cqw,24px);font-variant-numeric:tabular-nums;color:#455d3d; }
.recap-paper>footer { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:2cqw;border-top:1px solid #c4b98f;padding-top:1cqh; }
.recap-paper>footer p { margin:0;font-size:clamp(9px,1.15cqw,20px);max-width:49%;line-height:1.3;color:#7c7854; }
.recap-paper .recap-continue { min-width:37%;padding:1.2cqh 1.5cqw;font-size:clamp(11px,1.6cqw,28px); }
body[data-journey=day-summary] .journey-hud .wallet-object,body[data-journey=day-summary] .journey-hud .career-object,body[data-journey=comic] .journey-hud .wallet-object,body[data-journey=comic] .journey-hud .career-object { display:none!important; }
body #gameApp .shift-report .career-award>small { line-height:1.25; }
body #gameApp .shift-report .report-joke { color:#787d59; }
body #gameApp .ending-camera .story-art { background-image:url('./assets/v10/ending-camera.webp'),url('./assets/story/ending-camera.webp')!important; }
.fold-model-identity { direction:ltr;display:flex;align-items:center;gap:.5cqw;font-weight:700; }
.fold-model-identity>i { height:1.8cqh;width:.2cqw;background:#8495a6;box-shadow:.2cqw 0 #d5e7ed55; }
body #gameApp .bed-phone-message { border:solid #202c35;border-width:1cqh .65cqw 1.4cqh;border-radius:1.2cqw;box-shadow:inset .15cqw 0 #82949d,inset -.15cqw 0 #121a21,0 .6cqh 1cqw #0a182177;background:linear-gradient(90deg,#152d43 49.3%,#040c14 49.8%,#040c14 50.2%,#19374e 50.7%); }
.fold-bezel-mark { position:absolute;left:43%;top:58%;width:9%;height:2%;color:#aebdca;font:600 clamp(5px,.55cqw,10px)/1 Arial,sans-serif;direction:ltr;transform:rotate(-1deg);text-align:center;letter-spacing:.08em;pointer-events:none; }
@media(max-width:600px) { .day-recap{inset:8% 4% 3%}.recap-paper{padding:2.5cqh 2cqw;column-gap:2cqw;row-gap:.6cqh}.recap-paper h1{font-size:clamp(15px,2.7cqw,25px)}.recap-paper>header{padding-left:11cqw}.recap-paper>header>.story-tapugan{width:9cqw;height:5cqh}.recap-career{padding:1cqh 1.5cqw 0 0;gap:.6cqh}.recap-career>strong{font-size:clamp(15px,2.7cqw,24px)}.recap-ledger>div{padding:.4cqh 0}.recap-paper>footer{padding-top:.5cqh}.comic-panel figcaption{font-size:clamp(8px,1.25cqw,13px)} }
@media(prefers-reduced-motion:reduce) { .journey-iris *,.door-opening .door-surface,.bus-in-motion .story-art,.map-cloud,.home-window-light,.map-location .object-skin,.factory-room .object-skin,.ride-window-motion,.ride-light-pass,.ride-route i::after,.comic-panel,.potato-award.earned,.has-promotion>strong{animation:none!important}.comic-panel{opacity:1}.door-opening .door-surface{transform:rotateY(83deg)} }
body.reduced-motion .journey-iris *,body.reduced-motion .door-surface,body.reduced-motion .map-cloud,body.reduced-motion .home-window-light,body.reduced-motion .object-skin,body.reduced-motion .bus-in-motion .story-art,body.reduced-motion .ride-window-motion,body.reduced-motion .ride-light-pass,body.reduced-motion .ride-route i::after,body.reduced-motion .comic-panel,body.reduced-motion .potato-award.earned,body.reduced-motion .has-promotion>strong { animation:none!important; }
body.reduced-motion .comic-panel { opacity:1; }

/* ui-v10.css */
/* V10: tactile objects, a folding handset and one calm visual hierarchy. */
body #gameApp button{font-family:inherit;-webkit-tap-highlight-color:transparent}
body #gameApp .game-topbar .icon-button{border-radius:50%!important;transition:filter .14s,scale .14s}
body #gameApp .game-topbar .icon-button:hover{filter:brightness(1.22) drop-shadow(0 0 4px #f8e8a755)}
body #gameApp .game-topbar .icon-button:active{scale:.9}
body #gameApp .hud-health>strong,body #gameApp .score-readout>strong{font-variant-numeric:tabular-nums;letter-spacing:.015em}
body #gameApp .hud-health>strong{color:#f7edce}
body #gameApp .score-readout>strong{color:#fff0c2;text-shadow:0 2px 0 #594d32,0 3px 7px #09202a}
body #gameApp .combo-value{color:#f2ce69;rotate:-5deg;font-weight:900}
body #gameApp .hud-health.urgent>strong{color:#f5b17b;animation:clock-tick .7s ease-in-out infinite}
body #gameApp .work-instruction h1,body #gameApp #workNext,body #gameApp .actor-charge{font-family:inherit!important}

/* A focus treatment follows alpha artwork. No luminous rectangular targets. */
body.immersive-game .scene-objects .action-button,
body.immersive-game .scene-objects .action-button.selected,
body.immersive-game .scene-objects .action-button.next-object,
body.immersive-game .scene-objects .action-button.tutorial-focus{
 border-color:transparent!important;outline:0!important;outline-offset:0!important;
 box-shadow:none!important;background-color:transparent!important;backdrop-filter:none!important;
}
body.immersive-game .scene-objects .action-button.selected::after{content:none!important}
body.immersive-game .scene-objects .action-button:focus-visible,
body.immersive-game .scene-objects .action-button:hover,
body.immersive-game .scene-objects .action-button.next-object{outline:0!important;box-shadow:none!important;filter:none}
body.immersive-game .scene-objects .action-button .product-art,
body.immersive-game .scene-objects .action-button .reject-tool{transition:filter .15s,scale .15s;transform-origin:50% 70%}
body.immersive-game .scene-objects .action-button:focus-visible .product-art,
body.immersive-game .scene-objects .action-button:focus-visible .reject-tool,
body.immersive-game .scene-objects .action-button.next-object .product-art,
body.immersive-game .scene-objects .action-button.next-object .reject-tool,
body.immersive-game .scene-objects .action-button.selected .product-art{
 filter:brightness(1.1) drop-shadow(0 0 4px #f6d68f) drop-shadow(0 3px 2px #18373266)!important;
}
body.immersive-game .scene-objects .controls.loading .peel-button{clip-path:ellipse(48% 49% at 50% 50%)}
body.immersive-game .scene-objects .controls.loading .peel-button:focus-visible,
body.immersive-game .scene-objects .controls.loading .peel-button:hover{backdrop-filter:brightness(1.12)!important}
body.immersive-game .scene-objects .action-button.pressed .product-art,
body.immersive-game .scene-objects .action-button.pressed .reject-tool{animation:object-contact .18s ease-out}
body.immersive-game #sortingTray .sort-choice:focus-visible{outline:none!important}
body.immersive-game #sortingTray .sort-choice:focus-visible .product-art{filter:brightness(1.2) drop-shadow(0 0 5px #f7df9a)!important}
body.immersive-game #sortingTray .sort-choice::after{content:none!important}
body.immersive-game #sortingTray .sort-choice.dragging{cursor:grabbing}
body.immersive-game #sortingTray .sort-choice.dragging .product-art{filter:brightness(1.09) drop-shadow(3px 11px 5px #172a2166)!important}
body.immersive-game #tutorialCoach{border-radius:2px 3px 9px 3px;box-shadow:1px 3px 0 #7d7c5f,0 5px 16px #0c28234d}
body.immersive-game #tutorialCoach .coach-heading{color:#8e673e}
body.immersive-game #tutorialCoach .coach-copy strong{font-weight:900}

/* Fold 8 open: two joined screen halves, a physical hinge and dark metal rim. */
body #gameApp #phoneDialog{
 --phone-ink:#233c3b;
 position:absolute!important;inset:auto!important;left:2%!important;right:auto!important;
 top:12%!important;bottom:auto!important;width:31cqw!important;height:52cqh!important;
 max-width:none!important;max-height:none!important;min-height:0!important;
 padding:2.5cqh 1.25cqw 2cqh!important;border:.55cqh solid #152125!important;
 border-image:none!important;border-radius:2cqh!important;overflow:hidden!important;
 display:flex!important;flex-direction:column;isolation:isolate;
 background:linear-gradient(105deg,#e2e9dc 0%,#eef0df 49.3%,#c6cebf 49.7%,#e3e5d5 50.3%,#f1f0de 100%)!important;
 color:var(--phone-ink);box-shadow:inset 0 0 0 1px #a7b2a3,0 .7cqh 0 #080f14,0 1.4cqh 2.6cqh #04131c88!important;
 filter:none!important;transform-origin:3% 96%;perspective:500px;pointer-events:auto;z-index:35!important;
}
body #gameApp #phoneDialog[hidden]{display:none!important}
body #gameApp #phoneDialog::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:5;border-radius:inherit;box-shadow:inset .25cqw 0 .4cqw #ffffff2e,inset -.15cqw 0 .4cqw #061e2544}
body #gameApp #phoneDialog .phone-fold-seam{position:absolute;left:49.8%;top:.6%;bottom:.6%;width:.4%;z-index:-1;background:linear-gradient(90deg,#899e8d66,#ffffff8c,#899e8d66);pointer-events:none}
body #gameApp #phoneDialog .phone-notch{position:absolute;left:auto;right:9%;top:.8cqh;width:.55cqh;height:.55cqh;min-width:2px;min-height:2px;border:1px solid #768579;border-radius:50%;transform:none;background:#172d30;z-index:6}
body #gameApp #phoneDialog .phone-device-name{position:absolute;bottom:.55cqh;left:50%;transform:translateX(-50%);color:#66786e;font:700 clamp(5px,.6cqw,11px)/1 Arial,sans-serif;letter-spacing:.24em;direction:ltr;white-space:nowrap}
body #gameApp #phoneDialog .phone-top{position:relative!important;top:auto;flex:none;min-height:0;height:8.5cqh!important;gap:.55cqw;background:none!important;padding:0 0 1cqh!important;border-bottom:1px solid #a1b19c66}
body #gameApp #phoneDialog .phone-top strong{font-family:inherit;font-size:clamp(11px,1.65cqw,28px);font-weight:900;color:#294238}
body #gameApp #phoneDialog .phone-eyebrow{font-family:inherit;font-size:clamp(8px,.95cqw,17px);font-weight:600;color:#7a896b}
body #gameApp #phoneDialog .phone-contact-avatar{display:grid!important;width:5.2cqh!important;height:5.2cqh!important;flex:none;border:2px solid #faf4d5;background:#cbd6b7;box-shadow:0 2px 4px #142b2533}
body #gameApp #phoneDialog .phone-countdown{font-family:inherit;font-size:clamp(10px,1.3cqw,23px);font-weight:900;font-variant-numeric:tabular-nums;color:#a05a37}
body #gameApp #phoneDialog #minimizePhoneButton{width:5cqh!important;height:5cqh!important;min-width:0!important;min-height:0!important;padding:1cqh!important;margin:0;background:#cad5c322;border:0;border-radius:50%;color:#35544a}
body #gameApp #phoneDialog #minimizePhoneButton:hover{background:#b7c5ad66}
body #gameApp #phoneDialog .phone-content{display:flex;flex:1;flex-direction:column;gap:.7cqh;min-height:0;padding-top:1.6cqh}
body #gameApp #phoneDialog .phone-message{font-family:inherit;font-size:clamp(10px,1.5cqw,25px)!important;line-height:1.36;margin:0!important;padding:1.7cqh 1cqw!important;border:1px solid #bdcaaa!important;border-radius:1.4cqh 1.4cqh .3cqh 1.4cqh;background:#fffcebdb!important;color:#314a38;box-shadow:0 2px 0 #a1b18d33;overflow-wrap:break-word}
body #gameApp #phoneDialog .phone-choices{display:grid!important;grid-template-columns:1.1fr 1fr!important;gap:.7cqw;margin-top:auto!important;margin-bottom:.8cqh!important}
body #gameApp #phoneDialog .phone-send,body #gameApp #phoneDialog .phone-defer{height:9cqh!important;min-height:0!important;display:flex;align-items:center;justify-content:center;gap:.3cqh;flex-direction:column;border:1px solid #6d785a;border-bottom:3px solid #536044;border-radius:1.3cqh;font-family:inherit;font-size:clamp(10px,1.35cqw,23px)!important;font-weight:800;padding:.7cqh .4cqw!important;transition:filter .14s,translate .14s}
body #gameApp #phoneDialog .phone-send{background:linear-gradient(#638560,#496d4c)!important;color:#fff5d6!important;border-color:#446245;box-shadow:inset 0 1px #a1b992}
body #gameApp #phoneDialog .phone-send strong{font-family:inherit;font-size:clamp(11px,1.6cqw,27px);line-height:1.1}
body #gameApp #phoneDialog .phone-defer{background:linear-gradient(#eee6c9,#d7d8b8)!important;color:#5b6245!important;border-color:#9caa83;border-bottom-color:#899878}
body #gameApp #phoneDialog .phone-send:hover,body #gameApp #phoneDialog .phone-defer:hover{filter:brightness(1.08)}
body #gameApp #phoneDialog .phone-send:active,body #gameApp #phoneDialog .phone-defer:active{translate:0 2px;border-bottom-width:1px}
body #gameApp #phoneDialog .phone-disclaimer{display:none!important}
body #gameApp #phoneDialog.sent .phone-message,body #gameApp #phoneDialog.deferred .phone-message{margin:auto 0!important;text-align:center;background:#d4e5b6!important;border-color:#a8bd8d!important;font-size:clamp(13px,2cqw,35px)!important;color:#42603e;font-weight:900;min-height:0}
body #gameApp #phoneDialog.sent .phone-message{font-size:clamp(22px,3cqw,52px)!important}
body #gameApp.phone-arrival #phoneDialog{animation:fold-unfold .5s cubic-bezier(.15,.8,.25,1.1)!important}
body #gameApp #phoneDialog.fold-away:not([hidden]){pointer-events:none;animation:fold-reply 1s ease-in-out forwards!important}
body #gameApp #phoneDialog.deferred.fold-away:not([hidden]){animation-duration:1.4s!important}

/* Closed Fold 8 docks outside all sorting-basket hit rectangles. */
body #gameApp #openPhoneButton{
 position:absolute!important;inset:auto!important;left:.8%!important;right:auto!important;top:auto!important;bottom:1%!important;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqh;
 width:6cqw!important;height:14cqh!important;min-width:0!important;min-height:0!important;max-width:none!important;
 padding:1.3cqh .35cqw 1.5cqh!important;border:.4cqh solid #1a282b;border-radius:1.3cqh;
 background:linear-gradient(100deg,#273d43 0%,#1d3037 88%,#63736f 91%,#15252c 95%)!important;
 color:#f2eccf;box-shadow:inset 0 0 0 1px #82958b66,0 .4cqh .6cqh #04151b88;
 filter:none!important;transform-origin:20% 100%;overflow:visible!important;z-index:26!important;
 animation:fold-dock .24s ease-out;
}
body #gameApp #openPhoneButton[hidden]{display:none!important}
body #gameApp #openPhoneButton>img{width:4.5cqh!important;height:4.5cqh!important;min-height:0;border:1px solid #e9edcc;border-radius:50%;object-fit:cover}
body #gameApp #openPhoneButton>span:not(.fold-cover-name):not(.pill-notification){display:block;width:100%;text-align:center;line-height:1}
body #gameApp #openPhoneButton strong{display:block;font-family:inherit;font-size:clamp(7px,.95cqw,17px);font-weight:800;line-height:1.1}
body #gameApp #openPhoneButton #phonePillText{display:none!important}
body #gameApp #openPhoneButton>b{position:absolute;top:-1.1cqh;right:-.45cqw;padding:.5cqh .35cqw;border:1px solid #f6d79e;background:#9b4938;color:#fff4d8;border-radius:1.3cqh;font-family:inherit;font-size:clamp(6px,.8cqw,14px);font-weight:800;line-height:1.1;white-space:nowrap;box-shadow:0 2px 2px #15212555}
body #gameApp #openPhoneButton.reply-ready>b{background:#5b7552;border-color:#c9dea2}
body #gameApp #openPhoneButton .fold-cover-name{position:absolute;bottom:.6cqh;left:50%;transform:translateX(-50%);color:#91a497;font:600 clamp(4px,.48cqw,9px)/1 Arial,sans-serif;letter-spacing:.07em;direction:ltr;white-space:nowrap}
body #gameApp #openPhoneButton .pill-notification{display:none}
body #gameApp #openPhoneButton.pending{animation:fold-dock .24s ease-out,fold-reminder 2.8s .24s ease-in-out infinite}
body #gameApp #openPhoneButton:hover,body #gameApp #openPhoneButton:focus-visible{outline:none!important;filter:brightness(1.15) drop-shadow(0 0 5px #d9cc8b88)!important}
body #gameApp #openPhoneButton:active{scale:.94}
body #gameApp .brawl-seized{max-width:17%!important;bottom:1%!important;right:1%!important;left:auto!important;opacity:.7}

body #gameApp .pause-overlay{background:#0b1b2299;backdrop-filter:blur(4px)}
body #gameApp .pause-overlay .modal-panel{background:#e8dfbd;color:#344638;border:1px solid #b1aa87;border-radius:3px 3px 12px 3px;box-shadow:1px 5px 0 #807e60,0 14px 44px #081e27aa;rotate:-1deg}
body #gameApp .pause-overlay .modal-panel h2{color:#355041;font-family:inherit;letter-spacing:-.04em;font-weight:950}
body #gameApp .pause-overlay .modal-panel p{color:#6c7659}
body #gameApp .pause-overlay .modal-panel>button{font-family:inherit;font-weight:800;border-radius:6px 9px 6px 5px}
@keyframes object-contact{40%{scale:.92;filter:brightness(1.16)}to{scale:1}}
@keyframes clock-tick{50%{scale:1.04;color:#f6cc7b}}
@keyframes fold-unfold{0%{opacity:0;transform:perspective(500px) translate(-3cqw,16cqh) rotate(-9deg) rotateY(-62deg) scale(.7)}65%{opacity:1;transform:perspective(500px) rotate(1.5deg) rotateY(8deg) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes fold-reply{0%,65%{opacity:1;transform:none}100%{opacity:0;transform:perspective(500px) translate(-2cqw,23cqh) rotate(-8deg) rotateY(-60deg) scale(.28)}}
@keyframes fold-dock{from{opacity:0;translate:0 6cqh;rotate:-8deg}to{opacity:1;translate:0 0;rotate:0}}
@keyframes fold-reminder{0%,85%,100%{rotate:0}90%{rotate:-4deg}95%{rotate:4deg}}
@media(hover:hover){
 body.immersive-game .scene-objects .action-button:hover:not(:disabled) .product-art,
 body.immersive-game .scene-objects .action-button:hover:not(:disabled) .reject-tool{filter:brightness(1.12) drop-shadow(0 0 5px #edd39399)!important;scale:1.025}
}
@media(prefers-reduced-motion:reduce){
 body #gameApp #phoneDialog,body #gameApp #openPhoneButton,body #gameApp .hud-health>strong,
 body.immersive-game .scene-objects .action-button .product-art{animation:none!important;transition:none!important}
}

/* gameplay-v10.css */
/* V10 tabletop and packing props. Positions use the engine's 1000 × 600 scene. */
body.immersive-game #gameApp #sortingWorkspace {
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  transform:none!important;pointer-events:none;z-index:5;padding:0!important;margin:0!important;
}
body.immersive-game #gameApp #sortingWorkspace>.bench-heading,
body.immersive-game #gameApp #sortingWorkspace>.bench-hint {display:none!important}
body.immersive-game #gameApp #sortingTray {
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
  min-height:0!important;margin:0!important;padding:0!important;pointer-events:none;overflow:visible!important;
  border:0!important;background:none!important;box-shadow:none!important;
}
body.immersive-game #gameApp #sortingTray .sort-choice {
  position:absolute!important;margin:0!important;padding:0!important;min-width:0!important;min-height:0!important;
  max-width:none!important;max-height:none!important;border:0!important;box-shadow:none!important;
  background:none!important;border-radius:50%!important;overflow:visible!important;pointer-events:auto;touch-action:none;
  transform:translate(-50%,-50%) rotate(var(--sort-turn,0rad))!important;transform-origin:center;
  transition:filter .12s!important;filter:drop-shadow(.25cqw .65cqh .25cqh #163c2d66);cursor:grab;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:3;
}
body.immersive-game #gameApp #sortingTray .sort-choice::before,
body.immersive-game #gameApp #sortingTray .sort-choice::after {display:none!important;content:none!important}
body.immersive-game #gameApp #sortingTray .sort-choice .product-art {
  display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;margin:0!important;
  pointer-events:none;background-image:url('./assets/products.webp')!important;background-size:400% 200%!important;
  filter:none!important;transform:none!important;opacity:1!important;
}
body.immersive-game #gameApp #sortingTray .sort-choice .product-sweet {
  background-image:url('./assets/v8/sweet-potato-fries.webp')!important;background-position:center!important;background-size:contain!important;
}
body.immersive-game #gameApp #sortingTray .sort-choice:hover,
body.immersive-game #gameApp #sortingTray .sort-choice:focus-visible {outline:0!important;filter:brightness(1.13) drop-shadow(0 0 .7cqw #edcc78)!important}
body.immersive-game #gameApp #sortingTray .sort-choice.dragging {
  z-index:40!important;cursor:grabbing;filter:brightness(1.08) drop-shadow(.6cqw 1.3cqh .5cqh #152f3277)!important;
  opacity:1!important;
}
/* Baskets sit on the front edge of the table. The orange object is a chute. */
body.immersive-game #gameApp #controls .sort-basket-object {display:none!important}
body.immersive-game.is-sorting #gameApp #controls .action-button {
  position:absolute!important;left:var(--basket-x)!important;top:var(--basket-y)!important;width:18%!important;height:21.6667%!important;
  min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;
  transform:translate(-50%,-50%)!important;background:none!important;border:0!important;box-shadow:none!important;
  border-radius:40%!important;pointer-events:auto;z-index:4;touch-action:none;
}
body.immersive-game.is-sorting #gameApp #controls .action-button>.product-art,
body.immersive-game.is-sorting #gameApp #controls .action-button>.reject-tool {display:none!important}
body.immersive-game.is-sorting #gameApp #controls .action-button>.sort-basket-object {
  display:block!important;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
  filter:drop-shadow(.3cqw .8cqh .25cqh #18332955);transition:filter .12s,transform .12s;
}
body.immersive-game.is-sorting #gameApp #controls .sort-basket-object>svg {width:100%;height:100%;overflow:visible}
body.immersive-game.is-sorting #gameApp #controls .basket-food {
  display:block!important;position:absolute!important;left:34%!important;top:22%!important;width:32%!important;height:44%!important;
  background-image:url('./assets/products.webp')!important;background-size:400% 200%!important;
  filter:drop-shadow(0 2px 0 #31523566)!important;transform:rotate(-5deg);opacity:1!important;
}
body.immersive-game.is-sorting #gameApp #controls .basket-food.product-smiley {background-position:66.6667% 0!important}
body.immersive-game.is-sorting #gameApp #controls .basket-food.product-mash {background-position:100% 0!important}
body.immersive-game.is-sorting #gameApp #controls .basket-food.product-fries {background-position:0 100%!important}
body.immersive-game.is-sorting #gameApp #controls [data-action='reject'] .basket-food {
  top:13%!important;left:42%!important;width:30%!important;height:40%!important;
  background-image:url('./assets/v8/sweet-potato-fries.webp')!important;background-size:contain!important;background-position:center!important;
}
body.immersive-game.is-sorting #gameApp #controls .basket-count {
  position:absolute;left:39%;bottom:11%;font:850 clamp(9px,1.2cqw,24px)/1 var(--game-font,Arial,sans-serif);
  color:#233f2d;background:#cbd7b9;border:1px solid #627963;border-radius:2px;padding:.35cqh .45cqw;direction:ltr;
  transform:rotate(-3deg);text-shadow:0 1px #e7edcf;box-shadow:0 1px 1px #19382344;
}
body.immersive-game.is-sorting #gameApp #controls [data-action='reject'] .basket-count {left:38%;bottom:0;background:#ddb274;color:#603f29}
body.immersive-game.is-sorting #gameApp #controls .action-button:hover>.sort-basket-object,
body.immersive-game.is-sorting #gameApp #controls .action-button.drop-active>.sort-basket-object,
body.immersive-game.is-sorting #gameApp #controls .action-button:focus-visible>.sort-basket-object {filter:brightness(1.15) drop-shadow(0 0 .7cqw #ead198)!important;transform:translateY(-1.2cqh)}
body.immersive-game.is-sorting #gameApp #controls .action-button:focus-visible {outline:none!important}
body.immersive-game.is-sorting #gameApp #controls .action-button.basket-full>.sort-basket-object {filter:brightness(1.08) saturate(1.15)}
body.immersive-game.is-sorting #gameApp #workInstruction {left:48%;top:10%;width:25%}
/* Packing uses retained prop artwork rather than CSS backgrounds inherited from another station. */
body.immersive-game.is-packing #gameApp #packingWorkspace {
  position:absolute!important;left:53%!important;top:68%!important;right:auto!important;bottom:auto!important;
  width:29%!important;height:54%!important;max-width:none!important;margin:0!important;padding:0!important;
  transform:translate(-50%,-50%)!important;z-index:5;pointer-events:none;overflow:visible!important;
}
body.immersive-game.is-packing #gameApp #packingWorkspace .open-bag {
  position:absolute;inset:0;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;background:url('./assets/v2/open-bag.webp') center/contain no-repeat!important;
  opacity:1!important;visibility:visible!important;overflow:visible!important;filter:drop-shadow(.25cqw 1cqh .4cqh #20382566);
}
body.immersive-game.is-packing #gameApp #packingWorkspace .bag-contents {
  position:absolute!important;left:22%!important;right:22%!important;top:22%!important;bottom:34%!important;
  display:flex!important;flex-wrap:wrap!important;align-items:center;align-content:center;justify-content:center;
  gap:0!important;opacity:1!important;visibility:visible!important;z-index:2;pointer-events:none;
}
body.immersive-game.is-packing #gameApp #packingWorkspace .bag-contents>.product-art {
  display:block!important;position:relative!important;flex:none!important;width:5.1cqw!important;height:8.5cqh!important;
  margin:-.2cqh!important;padding:0!important;background-image:url('./assets/products.webp')!important;background-size:400% 200%!important;
  opacity:1!important;visibility:visible!important;transform:rotate(-3deg);filter:drop-shadow(0 .35cqh .1cqh #543c2755)!important;
}
body.immersive-game.is-packing #gameApp #packingWorkspace #packQuantity {
  left:50%!important;bottom:23%!important;font-size:clamp(12px,2cqw,34px)!important;z-index:4;opacity:1!important;visibility:visible!important;
}
body.immersive-game.is-packing #gameApp #packingWorkspace .bag-logo {position:absolute;left:36%;bottom:10%;width:28%;height:auto;opacity:1!important;z-index:3}
body.immersive-game.is-packing #gameApp #controls.packing .action-button {
  position:absolute!important;left:20%!important;width:25%!important;height:20%!important;min-height:0!important;min-width:0!important;
  padding:0!important;margin:0!important;transform:translate(-50%,-50%)!important;overflow:visible!important;
  border:0!important;box-shadow:none!important;background-color:transparent!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;
  filter:drop-shadow(.2cqw .7cqh .3cqh #16362366);pointer-events:auto;
}
body.immersive-game.is-packing #gameApp #controls.packing [data-action='smiley'] {top:39%!important;background-image:url('./assets/v5/tray-smiley.webp')!important}
body.immersive-game.is-packing #gameApp #controls.packing [data-action='mash'] {top:62%!important;background-image:url('./assets/v5/tray-mash.webp')!important}
body.immersive-game.is-packing #gameApp #controls.packing [data-action='fries'] {top:85%!important;background-image:url('./assets/v5/tray-fries.webp')!important}
body.immersive-game.is-packing #gameApp #controls.packing .action-button>.product-art,
body.immersive-game.is-packing #gameApp #controls.packing .action-button>.sort-basket-object {display:none!important}
body.immersive-game.is-packing #gameApp #controls.packing .action-button:hover,
body.immersive-game.is-packing #gameApp #controls.packing .action-button:focus-visible {filter:brightness(1.16) drop-shadow(0 0 .55cqw #edd292)!important;outline:0!important}
body.immersive-game.is-packing #gameApp #packingActions {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none;margin:0!important;padding:0!important;z-index:6}
body.immersive-game.is-packing #gameApp #sealPackButton {position:absolute!important;left:76%!important;top:26%!important;right:auto!important;bottom:auto!important;width:20%!important;height:23%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;transform:translate(-50%,-50%)!important;pointer-events:auto;overflow:visible!important;opacity:1!important;filter:drop-shadow(.25cqw .6cqh .25cqh #15362b66)}
body.immersive-game.is-packing #gameApp #sealPackButton .sealer-physical-object {display:block!important;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 .35cqh .2cqh #1d342844)}
body.immersive-game.is-packing #gameApp #sealPackButton .sealer-physical-object svg {width:100%;height:100%}
body.immersive-game.is-packing #gameApp #sealPackButton::after {display:none!important}
body.immersive-game.is-packing #gameApp #sealPackButton:hover:not(:disabled),
body.immersive-game.is-packing #gameApp #sealPackButton:focus-visible {outline:0!important;backdrop-filter:none!important;box-shadow:none!important;filter:brightness(1.17) drop-shadow(0 0 .7cqw #e1d49a)!important}
body.immersive-game.is-packing #gameApp #sealPackButton:disabled {filter:grayscale(.35) brightness(.8)!important}
body.immersive-game.is-packing #gameApp #sealPackButton.ready .sealer-physical-object {filter:drop-shadow(0 0 .5cqw #b4d97d)}
body.immersive-game.is-packing #gameApp #undoPackButton {position:absolute!important;left:83%!important;top:66%!important;right:auto!important;bottom:auto!important;width:20%!important;height:18%!important;min-height:0!important;min-width:0!important;margin:0!important;transform:translate(-50%,-50%) rotate(-5deg)!important;z-index:7;pointer-events:auto}
body.immersive-game.is-packing #gameApp #undoPackButton>span {font-size:clamp(20px,3.8cqw,65px)!important;line-height:1;text-shadow:0 1px #f3e2a8}
body.immersive-game.is-packing #gameApp #packingWorkspace.bag-filling .open-bag {animation:bag-fill-v10 .22s ease-out}
body.immersive-game.is-packing #gameApp #packingWorkspace.bag-sealed .open-bag {animation:bag-seal-v10 .45s ease-out}
@keyframes bag-fill-v10 {35%{transform:scale(1.035,.97) rotate(-1deg)}100%{transform:none}}
@keyframes bag-seal-v10 {25%{transform:translateY(-1.6cqh) rotate(2deg)}65%{transform:scale(.97,1.025)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){body.immersive-game #gameApp #sortingTray .sort-choice,body.immersive-game #gameApp #controls .sort-basket-object{transition:none!important}body.immersive-game.is-packing #gameApp #packingWorkspace .open-bag{animation:none!important}}

/* journey-v11.css */
/* One continuous trip: David's cabin and the route share the same three seconds. */
body #gameApp .unified-ride { overflow:hidden;background:#172b2b; }
body #gameApp .unified-ride .world-route-video { inset:0;width:100%;height:100%;object-fit:cover;z-index:0; }
body #gameApp .ride-cabin { position:absolute;left:3%;top:28%;width:35%;aspect-ratio:16/9;z-index:3;overflow:hidden;background:#1b2b28 url('./assets/v8/shuttle.webp') center/cover;border:.18cqw solid #d9c895;border-radius:.65cqw;box-shadow:0 .7cqw 2.1cqw #041c2488;transform:rotate(-1deg); }
body #gameApp .ride-cabin .ride-film { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
body #gameApp .ride-cabin-tag { position:absolute;left:0;right:0;bottom:0;padding:.6cqh .8cqw;background:linear-gradient(0deg,#102525e8,#10252500);color:#faf2d0;font:500 clamp(7px,1.05cqw,18px)/1.5 var(--game-font);text-align:right; }
body #gameApp .ride-cabin-tag i { display:inline-block;width:.4cqw;height:.4cqw;min-width:3px;min-height:3px;background:#c6e69b;border-radius:50%;margin-right:.5cqw;box-shadow:0 0 .6cqw #d9f3a2; }
body #gameApp .ride-itinerary { position:absolute;right:4%;bottom:7%;width:49%;z-index:4;text-align:right;padding:1.4cqh 1.4cqw 1.1cqh;background:linear-gradient(135deg,#193b3bea,#10282cf5);border-top:1px solid #e1c88788;border-bottom:.2cqh solid #061b1c;box-shadow:0 .7cqh 1.8cqw #0c232c55;clip-path:polygon(1% 0,99% 0,100% 9%,100% 92%,99% 100%,1% 100%,0 91%,0 9%); }
body #gameApp .ride-kicker { display:block;color:#c9d6c3;font:400 clamp(6px,.9cqw,16px)/1.4 var(--game-font); }
body #gameApp .ride-itinerary-stops { display:flex;align-items:center;gap:1cqw;color:#f4e4b6;margin:.6cqh 0;white-space:nowrap;font:500 clamp(8px,1.5cqw,26px)/1.4 var(--game-display); }
body #gameApp .ride-itinerary-stops > span { color:#aabeb3;font-size:.76em; }
body #gameApp .ride-itinerary-stops > i { flex:1;height:1px;min-width:1.5cqw;background:linear-gradient(90deg,#edce82,#829c8e);position:relative; }
body #gameApp .ride-itinerary-stops > i::after { content:'‹';position:absolute;left:0;top:50%;transform:translateY(-56%);font-style:normal;color:#efd48f; }
body #gameApp .ride-itinerary p { margin:.4cqh 0!important;font:400 clamp(6px,.95cqw,17px)/1.3 var(--game-font);color:#ccd8c4; }
body #gameApp .ride-progress { height:.45cqh;min-height:2px;margin:1.3cqh 0 .6cqh;background:#062225;border-radius:2px;overflow:hidden;direction:rtl; }
body #gameApp .ride-progress i { display:block;height:100%;width:0;background:linear-gradient(90deg,#a0c68f,#f2d18a);animation:ride-progress-fill 3s linear forwards;box-shadow:0 0 .8cqw #e6db9b; }
body #gameApp .ride-arrival-status { display:block;font:500 clamp(6px,.85cqw,15px)/1.3 var(--game-font);color:#c8d7b7; }
body #gameApp .unified-ride.ride-paused .ride-progress i { animation-play-state:paused; }
body #gameApp .unified-ride.ride-arrived .ride-progress i { width:100%;animation:none; }
body #gameApp .unified-ride.ride-arrived .ride-arrival-status { color:#f5e2a3; }
body #gameApp .unified-ride .ride-skip { right:auto;left:3%;bottom:7%;font-size:clamp(7px,1cqw,18px);background:#173c3a99;color:#e1e2bb;border:1px solid #d5d4ac33;border-radius:.5cqw;padding:.65cqh .9cqw;min-height:0; }
@keyframes ride-progress-fill { to{width:100%} }

/* Career information describes the actual earned abilities rather than fake map access. */
.account-book .career-total { display:flex;align-items:baseline;gap:.7rem;margin:-.3rem 0 .8rem;color:#d8b96c; }
.account-book .career-total strong { font-size:1.4rem;direction:ltr; }
.account-book .career-total span { font-size:.78rem;opacity:.75; }
.account-book .career-with-unlocks li { grid-template-columns:1.8rem 1fr auto;align-items:center;min-height:3.4rem; }
.account-book .career-with-unlocks li > span { display:flex;flex-direction:column;gap:.22rem; }
.account-book .career-with-unlocks em { font:400 .7rem/1.4 var(--game-font);font-style:normal;color:#a5b3a3;opacity:.85; }
.account-book .career-with-unlocks .rank-current em,.account-book .career-with-unlocks .rank-earned em { color:#c6d2b1; }
.account-book .career-next-unlock { padding:.6rem .85rem;margin:.8rem 0;border-inline-start:2px solid #d4b76a;background:#30483c88;display:flex;flex-direction:column;gap:.25rem; }
.account-book .career-next-unlock > span { font-size:.65rem;color:#bdc8b0; }
.account-book .career-next-unlock strong { color:#ead99b; }
.account-book .career-next-unlock small { color:#b5c4a9;font-size:.7rem; }
.account-book .career-map-note { font-size:.68rem;opacity:.65; }
.career-new-unlock { display:flex;align-items:center;gap:.6cqw;margin:.8cqh 0;padding:.6cqh .8cqw;border-inline-start:2px solid #caa151;background:#e6c97c20;text-align:right; }
.career-new-unlock > span { font-size:clamp(6px,.65cqw,12px);color:#9a7034;white-space:nowrap; }
.career-new-unlock strong { display:block;font-size:clamp(8px,.9cqw,17px);color:#4d6647; }
.career-new-unlock small { display:block;font-size:clamp(6px,.65cqw,12px);line-height:1.3;color:#69795a; }
.career-new-unlock-list { display:grid;gap:.2cqh; }
/* The CEO reward is a room in the factory, reached through earned career access. */
body #gameApp .ceo-office-room { overflow:hidden; }
body #gameApp .ceo-office-room .office-achievement { position:absolute;top:4%;left:30%;width:37%;z-index:3;text-align:center;color:#f4e7c0;pointer-events:none;text-shadow:0 1px 4px #122b29cc; }
body #gameApp .office-achievement > span { display:block;font:400 clamp(6px,.8cqw,15px)/1.3 var(--game-font);letter-spacing:.08em;color:#e9d6a3; }
body #gameApp .office-achievement h1 { margin:.6cqh 0 .5cqh;font:600 clamp(13px,2.5cqw,45px)/1.15 var(--game-display); }
body #gameApp .office-achievement small { font:400 clamp(6px,.8cqw,15px)/1.4 var(--game-font); }
body #gameApp .ceo-office-room .office-exit { left:4%;top:8%;width:18%;height:60%;right:auto;bottom:auto;min-width:0;min-height:0;transform:none; }
body #gameApp .ceo-office-room .office-title { left:15%;top:70%;width:22%;height:11%;right:auto;bottom:auto;min-width:0;min-height:0;transform:none; }
body #gameApp .ceo-office-room .room-object small { display:block;position:absolute;left:5%;right:5%;bottom:4%;padding:.35cqh .45cqw;color:#eee5c3;background:#1e3836a8;border-radius:.2cqw;font:500 clamp(7px,1cqw,18px)/1.3 var(--game-display);white-space:nowrap;pointer-events:none;box-shadow:0 1px 2px #152c2888; }
body #gameApp .ceo-office-room .office-title small { bottom:-19%;left:14%;right:4%;font-size:clamp(6px,.8cqw,15px); }
body #gameApp .ceo-office-room .office-brand { position:absolute!important;left:49%!important;top:86%!important;right:auto!important;bottom:auto!important;width:8%!important;height:7%!important;max-width:none;max-height:none;object-fit:contain;transform:rotate(-1deg);z-index:3;filter:drop-shadow(0 1px 1px #1c292955); }
body[data-journey="ceo-office"] #gameApp .journey-hud > .map-object,
body[data-journey="ceo-office"] #gameApp .journey-hud > .wallet-object,
body[data-journey="ceo-office"] #gameApp .journey-hud > .career-object { display:none!important; }
.account-book .office-entry { display:block;width:100%;margin:.7rem 0 0;padding:.75rem 1rem;min-height:44px;background:linear-gradient(135deg,#e6ce8c,#b29c61);border:1px solid #e7d9a5;border-radius:.3rem;box-shadow:0 3px 0 #4b5e44;color:#294d39;font:600 .95rem/1.3 var(--game-display);cursor:pointer; }
.account-book .office-entry:hover,.account-book .office-entry:focus-visible { filter:brightness(1.08);outline:2px solid #e6dab0;outline-offset:3px; }
body.reduced-motion #gameApp .ride-progress i { animation:none;width:100%; }
@media(prefers-reduced-motion:reduce){body #gameApp .ride-progress i{animation:none;width:100%}}

/* presentation-v11.css */
/* Keep the moving factory visibly above its still poster at every breakpoint. */
body #gameApp .title-scene>.story-art{z-index:0;animation:none}
body #gameApp .title-scene>.title-loop{z-index:1;opacity:1;visibility:visible;object-fit:cover}
body #gameApp .title-scene::before,body #gameApp .title-scene::after{z-index:2}
body #gameApp .title-copy,body #gameApp .title-brand{z-index:5}
body #gameApp .title-logo-image{animation:title-logo-float-v11 6s ease-in-out infinite;filter:drop-shadow(0 .7cqh .4cqh #081d2699)}
body #gameApp .title-motion-toggle{position:absolute;left:3%;top:14%;z-index:8;display:flex;align-items:center;gap:.5cqw;padding:.5cqh .7cqw;border:1px solid #d9d5a055;background:#193c47c9;color:#f2e8bb;border-radius:50px;box-shadow:none;font-size:1.4cqw;min-height:0}
body #gameApp .title-motion-toggle small{font-size:1.05cqw}
body #gameApp .title-motion-toggle[hidden]{display:none!important}
@keyframes title-logo-float-v11{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-1.1cqh) rotate(.3deg)}}
@media(prefers-reduced-motion:reduce){body #gameApp .title-logo-image{animation:none!important}}
body.reduced-motion #gameApp .title-logo-image{animation:none!important}

/* interaction-v11.css */
/* V11 inputs belong to the workbench, not to Safari's page gestures. */
body.immersive-game #gameApp #worldStageFrame,
body.immersive-game #gameApp #worldStageFrame button,
body.immersive-game #gameApp #worldStageFrame canvas,
body.immersive-game #gameApp #worldStageFrame .product-art {
  touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;
}
body.immersive-game #gameApp #worldStageFrame img,
body.immersive-game #gameApp #worldStageFrame svg {pointer-events:none;-webkit-user-drag:none}

/* A previous mobile height !important overrode each body's dimensions. Width
   now drives a square screen-space sprite, independent of the 1000×600 camera. */
body.immersive-game #gameApp #sortingTray .sort-choice {
  height:auto!important;aspect-ratio:1!important;min-height:0!important;max-height:none!important;
  padding:0!important;will-change:left,top,transform;contain:layout style;
}
body.immersive-game #gameApp #sortingTray .sort-choice>.product-art {
  width:100%!important;height:100%!important;inset:0!important;background-repeat:no-repeat!important;
  transition:filter .12s,scale .12s,translate .12s!important;transform-origin:center;
}
body.immersive-game #gameApp #sortingTray .sort-choice.dragging>.product-art {
  scale:1.13;translate:0 -.7cqh;filter:brightness(1.09) drop-shadow(0 1.4cqh .5cqh #142f2b66)!important;
}
body.immersive-game #gameApp #controls .basket-food {
  height:auto!important;aspect-ratio:1!important;background-repeat:no-repeat!important;
}
body.immersive-game.is-sorting #gameApp #controls .action-button.drop-active>.sort-basket-object {
  filter:brightness(1.2) drop-shadow(0 0 .5cqw #f3dc9d)!important;transform:translateY(-.6cqh) scale(1.035)!important;
}
body.immersive-game.is-sorting #gameApp #controls .action-button.drop-landed>.sort-basket-object {animation:basket-catch-v11 .34s ease-out}

/* Atlas cells stay square on the order card and inside the bag too. */
body.immersive-game #gameApp #workInstruction .order-token .product-art {
  width:4.8cqw!important;height:4.8cqw!important;aspect-ratio:1!important;flex:none;
}
body.immersive-game.is-packing #gameApp #workInstruction {left:46%!important;top:11%!important;width:28%!important}
body.immersive-game.is-packing #gameApp #packingWorkspace {top:67%!important;height:54%!important;z-index:6!important}
body.immersive-game.is-packing #gameApp #packingWorkspace .bag-contents {
  left:21%!important;right:21%!important;top:24%!important;bottom:32%!important;
  transform:none!important;align-content:center!important;gap:.2cqw!important;overflow:visible;
}
body.immersive-game.is-packing #gameApp #packingWorkspace .bag-contents>.product-art {
  width:var(--bag-food-size,4.5cqw)!important;height:var(--bag-food-size,4.5cqw)!important;aspect-ratio:1!important;
  flex:0 0 var(--bag-food-size,4.5cqw)!important;margin:0!important;transform:rotate(var(--food-turn,-3deg));
}
body.immersive-game.is-packing #gameApp #controls.packing .action-button {height:21%!important;width:24%!important;left:20%!important}
body.immersive-game.is-packing #gameApp #packingWorkspace.bag-overfilled #packQuantity {color:#9d4234!important;text-shadow:0 1px #fff1c2!important}

/* The correction is a stitched pull-tab on the bag lip, not a hidden toolbar. */
body.immersive-game.is-packing #gameApp #undoPackButton {
  display:flex!important;align-items:center!important;justify-content:center!important;gap:.2cqw!important;
  position:absolute!important;inset:auto!important;left:99%!important;top:43%!important;bottom:auto!important;right:auto!important;
  width:42%!important;height:27%!important;min-width:44px!important;min-height:44px!important;max-width:none!important;
  padding:.3cqh .4cqw!important;margin:0!important;transform:translate(-50%,-50%) rotate(5deg)!important;
  border:1px solid #a8966c!important;border-bottom:3px solid #827650!important;border-radius:4% 22% 18% 5%!important;
  background:linear-gradient(115deg,#f2eacb,#d4caa4 75%,#b2a078)!important;box-shadow:0 .7cqh .5cqh #352a1c44!important;
  color:#625134!important;opacity:1!important;pointer-events:auto!important;z-index:12!important;overflow:visible!important;cursor:pointer;
  text-shadow:0 1px #fff3cd!important;filter:none!important;transition:filter .14s,scale .12s;
}
body.immersive-game.is-packing #gameApp #undoPackButton::before {content:'';position:absolute;left:4%;top:9%;bottom:9%;width:1px;background:#a4906177;box-shadow:2px 0 #fff3d888}
body.immersive-game.is-packing #gameApp #undoPackButton>.bag-undo-arrow {display:block!important;flex:none;font:500 clamp(22px,4cqw,62px)/.9 Arial,sans-serif!important;transform:rotate(-7deg)}
body.immersive-game.is-packing #gameApp #undoPackButton>strong {display:block!important;font:700 clamp(8px,1.05cqw,19px)/1.08 var(--game-font)!important;text-align:center;white-space:nowrap}
body.immersive-game.is-packing #gameApp #undoPackButton .undo-tab-stitch {position:absolute;inset:7%;border:1px dashed #94835a66;border-radius:inherit;pointer-events:none}
body.immersive-game.is-packing #gameApp #undoPackButton:disabled {opacity:.32!important;pointer-events:none!important;filter:grayscale(.6)!important}
body.immersive-game.is-packing #gameApp #undoPackButton.undo-needed {border-color:#a76645!important;box-shadow:0 .7cqh .5cqh #352a1c44,0 0 .8cqw #edb46a77!important}
body.immersive-game.is-packing #gameApp #undoPackButton:hover:not(:disabled),
body.immersive-game.is-packing #gameApp #undoPackButton:focus-visible {outline:0!important;filter:brightness(1.1) drop-shadow(0 0 .4cqw #ecd295)!important}
body.immersive-game.is-packing #gameApp #undoPackButton:active:not(:disabled) {scale:.94}

/* Bolted pressure glass below the physical inlet. The centre stays touchable. */
body.immersive-game #gameApp .machine-pressure {
  position:absolute;left:56.5%;top:76.5%;width:26%;height:9%;transform:translate(-50%,-50%);z-index:7;
  padding:.9cqh 1.35cqw .5cqh;border:1px solid #4e625c;border-bottom:2px solid #324a45;border-radius:.8cqh;
  background:linear-gradient(105deg,#9eada0,#627d71 38%,#344f48);box-shadow:0 .5cqh .4cqh #10231e55,inset 0 1px #e0e5c255;
  pointer-events:none;direction:ltr;color:#f0edd0;
}
body.immersive-game #gameApp .machine-pressure[hidden] {display:none!important}
.machine-pressure .pressure-glass {position:relative;height:3.4cqh;min-height:5px;overflow:hidden;border:1px solid #152c27;border-radius:.35cqh;background:linear-gradient(#1a302a,#2c4335);box-shadow:inset 0 .4cqh .3cqh #0c171d99}
.machine-pressure .pressure-safe-band {position:absolute;left:var(--pressure-band-start,57%);width:var(--pressure-band-width,23%);top:0;bottom:0;background:#81b264;box-shadow:inset 0 0 2px #b8e58a}
.machine-pressure .pressure-perfect-band {position:absolute;left:var(--pressure-perfect-start,64%);width:var(--pressure-perfect-width,9%);top:0;bottom:0;background:#c7dd7b}
.machine-pressure .pressure-ticks {position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 9.4%,#e3e8c233 9.5% 10%);opacity:.45}
.machine-pressure .pressure-needle {position:absolute;left:var(--pressure-value,0%);top:-10%;bottom:-10%;width:.25cqw;min-width:2px;transform:translateX(-50%);background:#fff2c2;box-shadow:0 0 .4cqw #fff0b488;transition:left .11s linear;z-index:2}
.machine-pressure #machinePressureCaption {margin:.55cqh 0 0;color:#dfe6ce;text-align:center;font:600 clamp(7px,.95cqw,17px)/1 var(--game-font);white-space:nowrap;text-shadow:0 1px #183d2c}
.machine-pressure .pressure-bolt {position:absolute;top:27%;width:.4cqw;height:.4cqw;border-radius:50%;background:#c4c9aa;box-shadow:inset 0 1px #ecedcf,0 1px #233d31}
.pressure-bolt-left {left:.45cqw}.pressure-bolt-right {right:.45cqw}
.machine-pressure[data-quality='good'] .pressure-glass,.machine-pressure[data-quality='perfect'] .pressure-glass {box-shadow:inset 0 .4cqh .3cqh #0c171d55,0 0 .5cqw #c8de78aa}
.machine-pressure[data-quality='high'] .pressure-needle {background:#eeaa75;box-shadow:0 0 .5cqw #f2a267}
body.immersive-game #gameApp .scene-objects .peel-button.feeding {backdrop-filter:brightness(1.14)!important}

/* Power is visible around the whole camera; the work remains unobscured. */
body #gameApp .prime-screen-effects {position:absolute;inset:0;z-index:22;overflow:hidden;pointer-events:none!important;isolation:isolate;contain:strict}
body #gameApp .prime-screen-effects[hidden] {display:none!important}
.prime-edge-aura {position:absolute;inset:0;border:.45cqh solid #ffe19c99;box-shadow:inset 0 0 2cqw #eec64b88,inset 0 0 6cqw #35bbc444;background:radial-gradient(ellipse at center,transparent 52%,#d5b65b0f 72%,#ffe1a34d 100%);animation:prime-camera-aura-v11 1.9s ease-in-out infinite alternate}
.prime-energy-streaks {position:absolute;inset:0;background:linear-gradient(64deg,transparent 0 5%,#f6dcad22 5.1% 5.4%,transparent 5.5% 94%,#c8f2ea22 94.1% 94.4%,transparent 94.5%),linear-gradient(-63deg,transparent 0 4%,#95d5d12b 4.1% 4.4%,transparent 4.5% 95%,#f7d88c33 95.1% 95.4%,transparent 95.5%);opacity:.6;animation:prime-streak-v11 1.2s ease-in-out infinite alternate}
.prime-arrival-flare {position:absolute;inset:0;background:radial-gradient(ellipse at 62% 43%,#fff2c688,transparent 72%);opacity:0}
.prime-arrival-word {position:absolute;top:29%;left:50%;transform:translate(-50%,-50%) rotate(-5deg);opacity:0;white-space:nowrap;color:#fff2ba;font:700 clamp(24px,7cqw,120px)/1 var(--game-display);-webkit-text-stroke:.06cqw #735423;text-shadow:0 .6cqh 0 #735423,0 1cqh 1cqw #19382999}
body #gameApp.prime-burst .prime-arrival-flare {animation:prime-flash-v11 .48s ease-out both}
body #gameApp.prime-burst .prime-arrival-word {animation:prime-title-v11 .9s ease-out both}
body #gameApp.prime-burst #worldStageFrame {animation:prime-kick-v11 .34s ease-out}
@keyframes basket-catch-v11 {35%{transform:translateY(.7cqh) scale(1.04,.97)}70%{transform:translateY(-.3cqh)}100%{transform:none}}
@keyframes prime-camera-aura-v11 {to{box-shadow:inset 0 0 2.8cqw #ffd55caa,inset 0 0 6.5cqw #37c8d155;opacity:.78}}
@keyframes prime-streak-v11 {to{opacity:.3;transform:scale(1.02)}}
@keyframes prime-flash-v11 {0%{opacity:0}15%{opacity:.5}100%{opacity:0}}
@keyframes prime-title-v11 {0%{opacity:0;scale:.84}15%,55%{opacity:1;scale:1}100%{opacity:0;scale:1.035;translate:0 -2cqh}}
@keyframes prime-kick-v11 {0%,100%{translate:0}15%{translate:2px -1px}35%{translate:-2px 1px}55%{translate:1px -1px}75%{translate:-1px 0}}
body.reduced-motion #gameApp .prime-screen-effects *,body.reduced-motion #gameApp.prime-burst #worldStageFrame,
body.reduced-motion #gameApp .pressure-needle,body.reduced-motion #gameApp .sort-choice .product-art {animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
  body #gameApp .prime-screen-effects *,body #gameApp.prime-burst #worldStageFrame,
  body #gameApp .pressure-needle,body #gameApp .sort-choice .product-art {animation:none!important;transition:none!important}
}

/* journey-v12.css */
/* V12: one readable UI family; the illustrated logo supplies the display lettering. */
body #gameApp .title-v12 button,
body #gameApp .menu-sheet button,
body #gameApp .menu-sheet h2,
body #gameApp .home-guide h1,
.account-book,.account-book button,.account-book h2 { font-family:var(--game-font)!important;font-synthesis:none; }
body #gameApp .title-v12 .title-copy { right:4.5%!important;top:9%!important;width:43%!important;height:85%!important;justify-content:flex-start;gap:0; }
body #gameApp .title-v12 .game-wordmark { width:100%!important;animation:none; }
body #gameApp .title-v12 .title-logo-image { width:100%;margin:0;object-fit:contain;aspect-ratio:2/1;animation:none;filter:drop-shadow(0 .6cqh .5cqh #071c2a88); }
body #gameApp .title-v12 .game-wordmark::after { display:none; }
body #gameApp .title-v12 .title-menu { display:grid!important;grid-template-columns:1fr;width:88%!important;gap:1.1cqh;margin:.7cqh auto 0!important;padding:0; }
body #gameApp .title-v12 .title-menu::before { display:none; }
body #gameApp .title-v12 .title-begin { display:flex!important;align-items:center;justify-content:center;gap:1.3cqw;height:clamp(44px,9.7cqh,72px)!important;min-height:44px!important;padding:1.1cqh 1.4cqw!important;border:1px solid #eed294;border-bottom:3px solid #9f773d;border-radius:.7cqw;background:linear-gradient(110deg,#f4d78e,#e2b95f)!important;box-shadow:0 .4cqh 0 #172f3288,inset 0 1px #fff0b7;color:#283d31!important;font-size:clamp(14px,2cqw,30px)!important;font-weight:600!important;line-height:1.15;letter-spacing:0;text-shadow:none;rotate:0!important;transform:none!important; }
body #gameApp .title-v12 .title-begin::before { display:none; }
body #gameApp .title-v12 .title-begin svg { width:clamp(17px,2cqw,28px)!important;height:clamp(17px,2cqw,28px)!important;min-width:17px;color:#42543a;filter:none; }
body #gameApp .title-v12 button svg,
body #gameApp .settings-sheet svg { fill:none!important;stroke:currentColor!important;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
body #gameApp .title-v12 .title-begin svg path { fill:currentColor!important;stroke:none!important; }
body #gameApp .title-v12 .title-secondary { display:grid;grid-template-columns:1fr 1fr;gap:1cqw; }
body #gameApp .title-v12 .menu-option { grid-column:auto;height:44px!important;min-height:44px!important;margin:0;padding:.6cqh 1cqw!important;display:flex!important;gap:.65cqw;justify-content:center;border:1px solid #b4c6a83d;border-bottom:1px solid #b4c6a83d;border-radius:.55cqw;clip-path:none!important;background:#21454ad9!important;color:#dce2ce;font-size:clamp(13px,1.35cqw,21px)!important;font-weight:400!important;line-height:1.1;box-shadow:none;rotate:0!important;transform:none!important; }
body #gameApp .title-v12 .menu-option::before { display:none!important; }
body #gameApp .title-v12 .menu-option svg { width:clamp(18px,1.6cqw,25px);height:clamp(18px,1.6cqw,25px);flex:none;color:#b8cbb7; }
body #gameApp .title-v12 .menu-restart { grid-column:1/-1;height:44px!important;background:none!important;border:0!important;box-shadow:none;color:#c3d0bd;font-size:clamp(12px,1.2cqw,19px)!important; }
body #gameApp .title-v12 .title-begin:hover,
body #gameApp .title-v12 .menu-option:hover { filter:brightness(1.1);translate:none;rotate:0!important; }
body #gameApp .title-v12 button:focus-visible { outline:2px solid #e9d79f;outline-offset:3px; }
body #gameApp .title-v12 .title-save { margin:1.6cqh 0 0!important;color:#bacdbf;font-size:clamp(11px,1.05cqw,16px)!important;font-weight:400;line-height:1.35; }
body #gameApp .title-v12 .title-edition { color:#bfd0bd77;letter-spacing:0;font-family:var(--game-font);font-size:10px;bottom:3%; }

/* Studio intro remains the original quiet mark and chime. */
body #gameApp .ar-opening { background:#060f14; }
body #gameApp .ar-opening .ar-studio { font-family:var(--game-font)!important;font-weight:500;font-size:clamp(11px,1.05cqw,18px);letter-spacing:.2em;color:#bed1cb; }
body #gameApp .ar-opening .ar-start small { font-family:var(--game-font)!important;font-weight:400;color:#b4c8bd;font-size:clamp(11px,1.1cqw,18px); }

/* Settings and start prompts are parts of the same small game popup. */
body #gameApp .menu-sheet { position:absolute;inset:0;display:grid;place-items:center;padding:3cqh 2cqw;background:#04161ac9;backdrop-filter:blur(6px); }
body #gameApp .menu-sheet > div { width:min(56cqw,640px);min-width:min(320px,92cqw);max-width:92cqw;max-height:88cqh;overflow:auto;overscroll-behavior:contain;padding:3cqh 2.5cqw;border:1px solid #8da58d55;border-top:2px solid #d1b66f;border-radius:1.1cqw;background:linear-gradient(145deg,#23433f,#142f32);box-shadow:0 1cqh 4cqw #03111799;color:#e7e7cd; }
body #gameApp .menu-sheet h2 { font-size:clamp(20px,2.5cqw,36px)!important;font-weight:600!important;line-height:1.2;letter-spacing:0;margin:0 0 2cqh;color:#f1e5bd; }
body #gameApp .menu-sheet .sheet-eyebrow { display:block;margin:0 0 1cqh;font:400 clamp(11px,1cqw,16px)/1.3 var(--game-font);color:#aabfac;letter-spacing:0; }
body #gameApp .menu-sheet p { font:400 clamp(13px,1.3cqw,20px)/1.55 var(--game-font);color:#bdccbb;margin:1.2cqh 0 2cqh; }
body #gameApp .menu-sheet button { min-height:44px;padding:1.3cqh 1.5cqw;border-radius:.6cqw;font-size:clamp(13px,1.4cqw,22px);font-weight:500;line-height:1.25;letter-spacing:0;box-shadow:none; }
body #gameApp .menu-sheet .sheet-primary { color:#273d31;background:#e4c477;border:1px solid #f2d999;box-shadow:0 2px 0 #0d2425; }
body #gameApp .menu-sheet .sheet-secondary { color:#e1e3cc;background:#31544b;border:1px solid #a9b69855; }
body #gameApp .menu-sheet .sheet-back { color:#b9cbbb;background:none;border:0;box-shadow:none;font-weight:400; }
body #gameApp .menu-sheet button:hover { filter:brightness(1.08); }
body #gameApp .menu-sheet button:focus-visible { outline:2px solid #e5d49b;outline-offset:3px; }
body #gameApp .menu-sheet h2:focus { outline:none; }
body #gameApp .settings-sheet > div { width:min(53cqw,610px); }
body #gameApp .settings-sheet .sheet-heading { display:flex;align-items:center;justify-content:space-between;gap:1cqw;margin:0 0 1.8cqh; }
body #gameApp .settings-sheet .sheet-heading h2 { margin:0; }
body #gameApp .settings-sheet .sheet-close { display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:#0e292b55;color:#cbd8c4;box-shadow:none; }
body #gameApp .settings-sheet .sheet-close svg { width:22px;height:22px; }
body #gameApp .settings-sheet .settings-group { border-top:1px solid #9bb59b2e;border-bottom:1px solid #9bb59b2e; }
body #gameApp .settings-sheet .setting-row { display:flex;align-items:center;gap:clamp(8px,1.15cqw,18px);width:100%;min-height:58px;padding:1.1cqh 0;border:0;border-bottom:1px solid #9bb59b24;border-radius:0;background:none;color:#e4e4cd;text-align:right; }
body #gameApp .settings-sheet .setting-row:last-child { border-bottom:0; }
body #gameApp .settings-sheet .setting-symbol { display:grid;place-items:center;width:24px;flex:none;color:#b6c9ad; }
body #gameApp .settings-sheet .setting-symbol svg { display:block;width:23px;height:23px; }
body #gameApp .settings-sheet .setting-copy { display:flex;flex:1;flex-direction:column;gap:3px; }
body #gameApp .settings-sheet .setting-copy strong,
body #gameApp .settings-sheet .setting-training strong { display:block;color:#ecebd4;font:500 clamp(14px,1.5cqw,22px)/1.25 var(--game-font); }
body #gameApp .settings-sheet .setting-copy small,
body #gameApp .settings-sheet .setting-training small { display:block;color:#a8beac;font:400 clamp(11px,1cqw,16px)/1.3 var(--game-font); }
body #gameApp .settings-sheet .setting-state { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
body #gameApp .settings-sheet .setting-toggle { position:relative;display:block;flex:none;width:40px;height:23px;border:1px solid #9eb59d55;border-radius:14px;background:#102c2d;transition:background .15s; }
body #gameApp .settings-sheet .setting-toggle i { position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#7e9a8b;transition:transform .15s,background .15s; }
body #gameApp .settings-sheet .setting-row[aria-checked="true"] .setting-toggle { background:#cfb66c;border-color:#e2ce8c; }
body #gameApp .settings-sheet .setting-row[aria-checked="true"] .setting-toggle i { transform:translateX(17px);background:#344d3e; }
body #gameApp .settings-sheet .setting-training { display:flex;align-items:center;gap:clamp(8px,1.15cqw,18px);width:100%;min-height:58px;margin:1.7cqh 0;padding:1.1cqh 1cqw;border:1px solid #b8c69e2b;border-radius:.6cqw;background:#304c3d66;text-align:right; }
body #gameApp .settings-sheet .setting-training > span:nth-child(2) { flex:1; }
body #gameApp .settings-sheet .setting-training > b { font:400 24px/1 var(--game-font);color:#c8d1aa; }
body #gameApp .settings-sheet .sheet-back { width:100%;min-height:44px;margin:0;color:#273d31;background:#e4c477;border:1px solid #f2d999;font-weight:500; }

/* Rahum's small speech bubble replaces the bedroom's free-floating text banner. */
body #gameApp .home-guide { position:absolute;left:50%;top:5.5%;width:30%;display:flex;align-items:center;gap:1.2cqw;z-index:6;pointer-events:none; }
body #gameApp .home-guide-avatar { display:grid;place-items:center;flex:none;width:clamp(30px,5cqw,64px);height:clamp(30px,5cqw,64px);padding:.3cqw;border:1px solid #d2d8bd88;border-radius:50%;background:#07171b;box-shadow:0 .3cqh .6cqw #11252055; }
body #gameApp .home-guide-avatar img { display:block;width:100%;height:100%;object-fit:contain;border-radius:50%; }
body #gameApp .home-guide-bubble { position:relative;flex:1;padding:1.25cqh 1.2cqw;border:1px solid #b1af8d;border-radius:1cqw;background:#f0e8cfff;box-shadow:0 .4cqh 1cqw #10272b44;color:#304a39; }
body #gameApp .home-guide-bubble::before { content:'';position:absolute;right:-.55cqw;top:45%;width:1cqw;height:1cqw;background:#f0e8cf;border-top:1px solid #b1af8d;border-right:1px solid #b1af8d;transform:rotate(45deg); }
body #gameApp .home-guide-speaker { display:flex;align-items:center;gap:.5cqw;font:500 clamp(10px,1cqw,16px)/1.3 var(--game-font);color:#7b815f; }
body #gameApp .home-guide-speaker i { display:block;width:3px;height:3px;border-radius:50%;background:#a0a585; }
body #gameApp .home-guide-message { margin:.55cqh 0 0!important;color:#304a39;font-size:clamp(12px,1.4cqw,22px)!important;font-weight:500!important;line-height:1.3;letter-spacing:0;text-shadow:none; }
body #gameApp .home-guide.guide-alarm .home-guide-avatar { border-color:#dbc478; }

/* Match the career/account sheets to the same Rubik-based popup language. */
.account-book { color:#dce2cb;background:linear-gradient(145deg,#23433f,#142f32);border:1px solid #91a48955;border-top:2px solid #cfb975;border-radius:10px;box-shadow:0 10px 45px #03101799; }
.account-book::backdrop { background:#04161ab8;backdrop-filter:blur(5px); }
.account-book h2 { color:#f0e4bc;font-weight:600!important;font-size:clamp(20px,2.1vw,32px);line-height:1.2;letter-spacing:0; }
.account-book p { font:400 13px/1.5 var(--game-font);color:#aebfac; }
.account-book .career-total { margin:0 0 14px;gap:8px; }
.account-book .career-total strong { font:500 23px/1.2 var(--game-font);color:#e6cf8d; }
.account-book .career-total span { font-size:12px;color:#a8baa7; }
.account-book .career-with-unlocks li { min-height:58px;border-bottom:1px solid #a5bb9e24; }
.account-book .career-with-unlocks li > b { font:500 13px/1 var(--game-font); }
.account-book .career-with-unlocks li > span { font:500 14px/1.3 var(--game-font); }
.account-book .career-with-unlocks li > small { font:400 12px/1.3 var(--game-font); }
.account-book .career-with-unlocks em { font:400 11px/1.4 var(--game-font); }
.account-book .career-next-unlock { border-color:#d4bd76;background:#34523e66; }
.account-book .career-next-unlock > span,.account-book .career-next-unlock small { font-size:11px; }
.account-book .career-next-unlock strong { font-weight:500;font-size:15px; }
.account-book .office-entry { min-height:44px;font:500 14px/1.3 var(--game-font);background:#e4c477; }
.account-book .book-close { display:grid;place-items:center;width:44px;height:44px;min-height:44px;background:#0d292c66;border:0;border-radius:50%;color:#cfdbc8;font:400 24px/1 var(--game-font); }
.account-book .career-map-note { font-size:11px; }

/* Short 16:9 stages keep full touch targets by collapsing secondary labels. */
@container(max-height:320px) {
 body #gameApp .title-v12 .title-copy { top:4%!important;height:92%!important;width:46%!important;right:3%!important; }
 body #gameApp .title-v12 .title-menu { width:94%!important;grid-template-columns:1fr 1fr;gap:4px;margin:0 auto!important; }
 body #gameApp .title-v12 .title-menu.has-save { grid-template-columns:repeat(3,1fr); }
 body #gameApp .title-v12 .title-begin { grid-column:1/-1;height:44px!important;font-size:12px!important;gap:7px;padding:5px!important; }
 body #gameApp .title-v12 .title-secondary { display:contents; }
 body #gameApp .title-v12 .menu-option,body #gameApp .title-v12 .menu-restart { grid-column:auto;height:44px!important;min-height:44px!important;padding:6px!important;background:#21454ad9!important;border:1px solid #b4c6a83d!important; }
 body #gameApp .title-v12 .menu-option > span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
 body #gameApp .title-v12 .menu-option svg { width:20px;height:20px; }
 body #gameApp .title-v12 .title-save,body #gameApp .title-v12 .title-edition { display:none; }
 body #gameApp .home-guide { left:48%;top:4%;width:34%;gap:5px; }
 body #gameApp .home-guide-avatar { width:28px;height:28px; }
 body #gameApp .home-guide-speaker { display:none; }
 body #gameApp .home-guide-bubble { padding:5px 7px; }
 body #gameApp .home-guide-message { font-size:11px!important;margin:0!important; }
}
@media(prefers-reduced-motion:reduce){.setting-toggle,.setting-toggle i{transition:none!important}}

/* Keep bounded short-stage dialogs from exposing a desktop-style white rail. */
body #gameApp .menu-sheet>div,.account-book,body .help-dialog {scrollbar-width:thin;scrollbar-color:#78988a #173738}
body #gameApp .menu-sheet>div::-webkit-scrollbar,.account-book::-webkit-scrollbar,body .help-dialog::-webkit-scrollbar {width:4px;height:4px}
body #gameApp .menu-sheet>div::-webkit-scrollbar-track,.account-book::-webkit-scrollbar-track,body .help-dialog::-webkit-scrollbar-track {background:transparent}
body #gameApp .menu-sheet>div::-webkit-scrollbar-thumb,.account-book::-webkit-scrollbar-thumb,body .help-dialog::-webkit-scrollbar-thumb {background:#78988a;border-radius:4px}

/* ui-v12.css */
/* V12: one quiet UI hierarchy. Rubik carries instructions; display lettering
   stays with the game's brand and Prime moment. */
body.immersive-game #gameApp .hud,
body.immersive-game #gameApp #workInstruction,
body.immersive-game #gameApp #tutorialCoach,
body.immersive-game #gameApp #phoneDialog,
body.immersive-game #gameApp #openPhoneButton {font-family:'Rubik Game',Arial,sans-serif!important;font-synthesis:none}
body.immersive-game #gameApp .hud #scoreValue,
body.immersive-game #gameApp .hud #timeValue {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:600!important;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
body.immersive-game #gameApp #workInstruction #workGoal {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(10px,1.1cqw,18px)!important;font-weight:500!important;letter-spacing:0!important;line-height:1.25!important}
body.immersive-game #gameApp #workInstruction #workCount {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(12px,1.45cqw,24px)!important;font-weight:600!important;font-variant-numeric:tabular-nums}
body.immersive-game #gameApp #workInstruction .order-token>b {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:600!important;font-size:clamp(17px,2.25cqw,36px)!important;letter-spacing:-.03em}
body.immersive-game #gameApp #workInstruction #workNext {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(9px,1.05cqw,17px)!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0;white-space:normal!important}
body.immersive-game #gameApp #tutorialCoach .coach-copy strong {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:600!important;letter-spacing:-.015em;font-size:clamp(12px,1.55cqw,23px)!important;line-height:1.2}
body.immersive-game #gameApp #tutorialCoach .coach-copy p {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:400!important;font-size:clamp(10px,1.15cqw,18px)!important;line-height:1.45!important}
body.immersive-game #gameApp #tutorialCoach .coach-heading {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:400;letter-spacing:0;font-size:clamp(8px,.8cqw,13px)}
body.immersive-game #gameApp #tutorialCoach #skipTutorialButton {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:500;letter-spacing:0}
/* During the SMS lesson the phone explains its own choices. Keep David's
   coaching paper wholly in the left lane instead of beneath the handset. */
body.phone-open.immersive-game #gameApp #tutorialCoach {left:2cqw!important;width:28cqw!important;max-width:28cqw!important;transform:none!important}
body.immersive-game.is-sorting #gameApp #tutorialCoach {left:3cqw!important;top:12cqh!important;right:auto!important;bottom:auto!important;width:28cqw!important;max-width:28cqw!important;min-height:0!important;max-height:min(90px,40cqh)!important;padding:1cqh 1cqw!important;transform:none!important;overflow-y:auto;scrollbar-width:thin}
body.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy {min-width:0;width:100%;white-space:normal;overflow-wrap:break-word}
body.immersive-game.is-sorting #gameApp #tutorialCoach .coach-heading {margin-bottom:.45cqh!important}
body.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy p {margin-top:.45cqh!important;line-height:1.35!important}

/* A foldable handset rises from bottom-centre. Its box starts at33.5% of the
   stage, to the right of David's peeling pose (11–33%) and left of both other
   poses (76%+). No minimum width can silently cross those boundaries. */
body #gameApp #phoneDialog {
  --phone-ink:#243344;--phone-blue:#376fd0;
  position:absolute!important;inset:auto!important;left:50.5%!important;right:auto!important;top:auto!important;bottom:3cqh!important;
  width:34cqw!important;max-width:38cqw!important;min-width:0!important;height:61cqh!important;max-height:90cqh!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;padding:1cqh .65cqw 2.5cqh!important;margin:0!important;
  border:.45cqh solid #17202a!important;border-bottom-width:.7cqh!important;border-radius:2.5cqh!important;
  background:#f5f7fa!important;color:var(--phone-ink)!important;overflow:hidden!important;
  box-shadow:inset 0 0 0 1px #a1a9b2,0 .65cqh 0 #070d14,0 1.5cqh 3.8cqh #04121b77!important;
  transform:translateX(-50%)!important;transform-origin:50% 100%!important;perspective:600px;isolation:isolate;z-index:35!important;
  font-family:'Rubik Game',Arial,sans-serif!important;text-shadow:none!important;filter:none!important;pointer-events:auto;
}
body #gameApp #phoneDialog[hidden] {display:none!important}
body #gameApp #phoneDialog::before {inset:0;border-radius:inherit;box-shadow:inset .2cqw 0 .25cqw #ffffff7a,inset -.15cqw 0 .3cqw #1c2b3c22;z-index:6;pointer-events:none}
body #gameApp #phoneDialog .phone-fold-seam {left:49.85%;top:1%;bottom:1%;width:.3%;background:linear-gradient(90deg,#283d5512,#ffffff33,#283d550d);opacity:.55;z-index:1;pointer-events:none}
body #gameApp #phoneDialog .phone-notch {left:50%!important;right:auto!important;top:1cqh!important;width:.65cqh!important;height:.65cqh!important;min-width:3px!important;min-height:3px!important;border:1px solid #697b8b!important;border-radius:50%;transform:translateX(-50%)!important;background:#172432!important;z-index:7}
body #gameApp #phoneDialog .phone-system-status {position:relative;display:flex;align-items:center;justify-content:space-between;direction:ltr;flex:none;height:3cqh;min-height:11px;margin:0 .55cqw .4cqh;color:#253342;font:500 clamp(8px,.85cqw,12px)/1 'Rubik Game',Arial,sans-serif;letter-spacing:-.02em;pointer-events:none}
body #gameApp #phoneDialog .phone-system-status svg {display:block;width:5cqw;height:1.6cqh;min-height:8px;max-height:14px;fill:none;color:#253342}
body #gameApp #phoneDialog .phone-top {position:relative!important;display:grid!important;grid-template-columns:clamp(22px,4.8cqh,34px) minmax(0,1fr) auto 44px;align-items:center;direction:rtl;gap:.6cqw;flex:none;top:auto!important;height:10cqh!important;min-height:44px!important;padding:0 .4cqw .7cqh!important;margin:0!important;border:0!important;border-bottom:1px solid #dfe5ed!important;background:transparent!important}
body #gameApp #phoneDialog .phone-top::after {content:'';position:absolute;left:0;bottom:-1px;height:2px;width:var(--sms-time-left,100%);background:#7d9ac7;opacity:.55;transition:width .12s linear;pointer-events:none}
body #gameApp #phoneDialog.sms-urgent .phone-top::after {background:#bd6559;opacity:.8}
body #gameApp #phoneDialog .phone-top>div {display:flex;flex-direction:column-reverse;gap:.35cqh;min-width:0;align-items:flex-start}
body #gameApp #phoneDialog .phone-top strong {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:600!important;font-size:clamp(12px,1.6cqw,22px)!important;line-height:1.1;color:#243344!important;white-space:nowrap;letter-spacing:-.02em}
body #gameApp #phoneDialog .phone-eyebrow {display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(8px,.9cqw,13px)!important;line-height:1.2;font-weight:400!important;color:#778493!important;letter-spacing:0}
body #gameApp #phoneDialog .phone-contact-avatar {display:grid!important;width:clamp(22px,4.8cqh,34px)!important;height:clamp(22px,4.8cqh,34px)!important;min-width:0!important;min-height:0!important;aspect-ratio:1;flex:none;border:0!important;border-radius:50%!important;background:#dbe3ec!important;box-shadow:none!important;overflow:hidden}
body #gameApp #phoneDialog .phone-contact-avatar>span {display:none!important}
body #gameApp #phoneDialog .phone-contact-avatar img {display:block!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center;filter:none;border-radius:50%}
body #gameApp #phoneDialog .phone-countdown {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:500!important;font-size:clamp(10px,1cqw,15px)!important;line-height:1;font-variant-numeric:tabular-nums;color:#647b9d!important;white-space:nowrap;padding:0!important;border:0!important;background:none!important}
body #gameApp #phoneDialog.sms-urgent .phone-countdown {color:#b35b4e!important}
body #gameApp #phoneDialog #minimizePhoneButton {display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:none!important;max-height:none!important;margin:0!important;padding:10px!important;align-self:center;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:none!important;cursor:pointer;color:#536b89!important;touch-action:manipulation}
body #gameApp #phoneDialog #minimizePhoneButton svg {width:22px!important;height:22px!important;pointer-events:none}
body #gameApp #phoneDialog #minimizePhoneButton:hover,body #gameApp #phoneDialog #minimizePhoneButton:focus-visible {background:#e3eaf5!important;color:#2d5997!important;outline:0!important}
body #gameApp #phoneDialog #minimizePhoneButton:active {background:#d6e2f3!important;scale:.94}
body #gameApp #phoneDialog .phone-content {display:flex!important;flex:1!important;flex-direction:column!important;gap:1cqh!important;min-height:0!important;padding:.9cqh .4cqw .3cqh!important;overflow:hidden!important}
body #gameApp #phoneDialog .phone-chat-date {display:block;flex:none;align-self:center;margin:0;color:#9aa4b1;font:400 clamp(8px,.75cqw,11px)/1.2 'Rubik Game',Arial,sans-serif;letter-spacing:0;pointer-events:none}
body #gameApp #phoneDialog .phone-message {display:block!important;flex:0 1 auto!important;align-self:flex-start;width:94%!important;min-height:0!important;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  margin:0!important;padding:1.35cqh 1.1cqw!important;border:0!important;border-radius:1.8cqh 1.8cqh .5cqh 1.8cqh!important;
  background:#e8edf3!important;box-shadow:none!important;color:#243344!important;text-align:right!important;direction:rtl;font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(10.5px,1.3cqw,19px)!important;line-height:1.48!important;font-weight:400!important;letter-spacing:0;overflow-wrap:break-word;word-break:normal;text-shadow:none!important}
body #gameApp #phoneDialog .phone-choices {display:grid!important;grid-template-columns:1.1fr 1fr!important;gap:.6cqw!important;align-items:end!important;flex:none!important;margin-top:auto!important;margin-bottom:0!important;padding-top:.5cqh!important}
body #gameApp #phoneDialog .phone-send,body #gameApp #phoneDialog .phone-defer {display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:2px!important;height:max(44px,8.8cqh)!important;min-height:44px!important;min-width:0!important;width:100%!important;padding:4px .45cqw!important;
  font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(10.5px,1.1cqw,16px)!important;line-height:1.15!important;font-weight:500!important;letter-spacing:0!important;text-align:center!important;text-shadow:none!important;
  border:1px solid transparent!important;border-bottom-width:1px!important;border-radius:1.4cqh!important;box-shadow:none!important;transition:background .15s,scale .12s;cursor:pointer;touch-action:manipulation}
body #gameApp #phoneDialog .phone-send {background:#3974d6!important;color:#fff!important;border-color:#3974d6!important}
body #gameApp #phoneDialog .phone-send strong {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(11px,1.25cqw,18px)!important;line-height:1.1!important;font-weight:600!important;letter-spacing:0;color:inherit!important}
body #gameApp #phoneDialog .phone-defer {background:#fff!important;color:#47668f!important;border-color:#d7e1ef!important}
body #gameApp #phoneDialog .phone-send:hover,body #gameApp #phoneDialog .phone-send:focus-visible {background:#2e65c2!important;filter:none!important;outline:2px solid #9bbbe9!important;outline-offset:1px}
body #gameApp #phoneDialog .phone-defer:hover,body #gameApp #phoneDialog .phone-defer:focus-visible {background:#edf3fc!important;filter:none!important;outline:2px solid #c0d2eb!important;outline-offset:1px}
body #gameApp #phoneDialog .phone-send:active,body #gameApp #phoneDialog .phone-defer:active {translate:0 0!important;scale:.97;border-bottom-width:1px!important}
body #gameApp #phoneDialog .phone-disclaimer {display:none!important}
body #gameApp #phoneDialog.sent .phone-message,body #gameApp #phoneDialog.deferred .phone-message,body #gameApp #phoneDialog.expired .phone-message {margin:0!important;min-height:0!important;align-self:flex-start;background:#e5edf9!important;border:0!important;font-size:clamp(12px,1.5cqw,21px)!important;font-weight:400!important;line-height:1.45!important;text-align:right!important;color:#29476d!important}
body #gameApp #phoneDialog.sent .phone-message {font-weight:500!important}
body #gameApp #phoneDialog .phone-home-indicator {position:absolute;left:50%;bottom:1.1cqh;width:14%;height:.35cqh;min-height:2px;transform:translateX(-50%);border-radius:4px;background:#23344366;pointer-events:none}
body #gameApp #phoneDialog .phone-device-name {left:50%!important;bottom:.28cqh!important;color:#6b7b8a!important;font:500 clamp(5px,.52cqw,8px)/1 'Rubik Game',Arial,sans-serif!important;letter-spacing:.13em!important;direction:ltr}

/* Both surprise and reply follow the same vertical path, rather than crossing
   David's body. Existing ID-bound reply timers continue to own minimization. */
body #gameApp.phone-arrival #phoneDialog,body #gameApp #phoneDialog.phone-reopen {animation:phone-rise-v12 .52s cubic-bezier(.2,.8,.25,1)!important}
body #gameApp #phoneDialog.fold-away:not([hidden]) {pointer-events:none;animation:phone-dismiss-v12 1s ease-in forwards!important}
body #gameApp #phoneDialog.deferred.fold-away:not([hidden]) {animation-duration:1.4s!important}
@keyframes phone-rise-v12 {0%{opacity:0;transform:translate(-50%,110%) rotateX(8deg) scale(.98)}30%{opacity:1}100%{opacity:1;transform:translate(-50%,0) rotateX(0) scale(1)}}
@keyframes phone-dismiss-v12 {0%,65%{opacity:1;transform:translate(-50%,0) rotateX(0)}100%{opacity:0;transform:translate(-50%,115%) rotateX(9deg)}}

/* The cover-screen dock remains outside the four basket rectangles. */
body #gameApp #openPhoneButton {left:.15%!important;bottom:1.5cqh!important;top:auto!important;right:auto!important;width:6.2cqw!important;height:14.5cqh!important;min-width:44px!important;min-height:44px!important;padding:1cqh .4cqw 1.4cqh!important;gap:.4cqh!important;
  border:.35cqh solid #17212c!important;border-radius:1.1cqh!important;background:linear-gradient(100deg,#263648,#17212c 86%,#607082 90%,#182431)!important;box-shadow:inset 0 0 0 1px #75839366,0 .45cqh .8cqh #06121d66!important;color:#edf2f9!important;font-family:'Rubik Game',Arial,sans-serif!important;transform:none!important;rotate:0deg!important;animation:phone-cover-arrival-v12 .22s ease-out!important}
body #gameApp #openPhoneButton>img {width:4.2cqh!important;height:4.2cqh!important;min-width:15px;min-height:15px;border:1px solid #94a7bd!important;object-fit:cover}
body #gameApp #openPhoneButton strong {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(8px,.8cqw,12px)!important;line-height:1.1!important;font-weight:500!important;color:#e8eff8!important}
body #gameApp #openPhoneButton>b {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(7px,.75cqw,11px)!important;font-weight:500!important;border:1px solid #b2c8e8!important;background:#3e6da9!important;color:#fff!important;border-radius:99px!important;padding:.35cqh .4cqw!important;box-shadow:none!important;top:-1cqh!important;right:-.45cqw!important}
body #gameApp #openPhoneButton .fold-cover-name {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(4px,.43cqw,7px)!important;letter-spacing:.08em;color:#8b9bb0!important}
body #gameApp #openPhoneButton.reply-ready>b {background:#537185!important;border-color:#b9cad5!important}
body #gameApp #openPhoneButton.pending {animation:phone-cover-arrival-v12 .22s ease-out,phone-cover-reminder-v12 2.8s .22s ease-in-out infinite!important}
@keyframes phone-cover-arrival-v12 {from{opacity:0}to{opacity:1}}
@keyframes phone-cover-reminder-v12 {0%,80%,100%{filter:brightness(1)}88%{filter:brightness(1.18)}94%{filter:brightness(1)}}

/* A narrow letterboxed stage needs a taller phone, not a wider one. Choices
   remain side by side with44px hit areas, and a compact header retains its
   photograph, name, timer and full-size minimize action. */
@container (max-width:600px) {
  body.phone-open.immersive-game #gameApp #tutorialCoach .coach-copy p {display:none!important}
  body #gameApp #phoneDialog {height:80cqh!important;bottom:3cqh!important;padding:1cqh 1cqw 3cqh!important;border-width:1px!important;border-bottom-width:2px!important;border-radius:8px!important}
  body #gameApp #phoneDialog .phone-system-status {height:10px;min-height:10px;margin:0 2px 1px;font-size:7px}
  body #gameApp #phoneDialog .phone-system-status svg {width:28px;height:8px;min-height:0}
  body #gameApp #phoneDialog .phone-notch {top:4px!important;width:3px!important;height:3px!important;min-width:0!important;min-height:0!important;border:0!important}
  body #gameApp #phoneDialog .phone-top {grid-template-columns:18px minmax(0,1fr) 44px;grid-template-rows:22px 20px;column-gap:3px;row-gap:0;height:44px!important;padding:0 1px!important;min-height:44px!important}
  body #gameApp #phoneDialog .phone-contact-avatar {grid-column:1;grid-row:1;width:18px!important;height:18px!important}
  body #gameApp #phoneDialog .phone-top>div {grid-column:2;grid-row:1;gap:0}
  body #gameApp #phoneDialog .phone-top strong {font-size:12px!important;line-height:1!important}
  body #gameApp #phoneDialog .phone-eyebrow {display:none!important}
  body #gameApp #phoneDialog .phone-countdown {grid-column:1/3;grid-row:2;font-size:9px!important;justify-self:start;align-self:center;padding-right:1px!important}
  body #gameApp #phoneDialog #minimizePhoneButton {grid-column:3;grid-row:1/3;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:11px!important}
  body #gameApp #phoneDialog .phone-content {gap:4px!important;padding:5px 1px 0!important}
  body #gameApp #phoneDialog .phone-chat-date {display:none!important}
  body #gameApp #phoneDialog .phone-message {width:100%!important;font-size:10.5px!important;line-height:1.32!important;padding:6px 5px!important;border-radius:6px 6px 2px 6px!important;min-height:0!important}
  body #gameApp #phoneDialog .phone-choices {gap:4px!important;padding-top:0!important}
  body #gameApp #phoneDialog .phone-send,body #gameApp #phoneDialog .phone-defer {height:44px!important;min-height:44px!important;font-size:10.5px!important;line-height:1.05!important;padding:4px 1px!important;border-radius:6px!important}
  body #gameApp #phoneDialog .phone-send strong {font-size:10.5px!important;line-height:1.05!important}
  body #gameApp #phoneDialog.sent .phone-message,body #gameApp #phoneDialog.deferred .phone-message,body #gameApp #phoneDialog.expired .phone-message {font-size:11px!important;line-height:1.4!important}
  body #gameApp #phoneDialog .phone-home-indicator {height:2px;bottom:4px}
  body #gameApp #phoneDialog .phone-device-name {display:none!important}
}
@container (max-width:650px) {
  body #gameApp #openPhoneButton {left:50.5%!important;top:.5cqh!important;bottom:auto!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:4px 3px 7px!important;transform:translateX(-50%)!important;border-width:1px!important;border-radius:6px!important;gap:1px!important}
  body #gameApp #openPhoneButton>img {width:15px!important;height:15px!important;min-width:0;min-height:0}
  body #gameApp #openPhoneButton strong {font-size:7px!important}
  body #gameApp #openPhoneButton .fold-cover-name {bottom:2px!important;font-size:4px!important}
  body #gameApp #openPhoneButton>b {top:-1px!important;right:-5px!important;font-size:7px!important;padding:2px 3px!important}
}
@container (max-height:320px) {
  body.immersive-game.is-sorting #gameApp #tutorialCoach {left:2cqw!important;top:20cqh!important;width:23cqw!important;max-width:23cqw!important;max-height:min(90px,40cqh)!important}
  body.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy strong {display:none!important}
  body.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy p {display:block!important}
  body.phone-open.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy strong {display:block!important}
  body.phone-open.immersive-game.is-sorting #gameApp #tutorialCoach .coach-copy p {display:none!important}
}

/* Help lives outside the contained game stage; keep its text and scrolling
   independent of cqw so a phone can read it comfortably while the line rests. */
body .help-dialog {font-family:'Rubik Game',Arial,sans-serif!important;font-synthesis:none;width:min(580px,90vw)!important;max-width:90vw!important;max-height:86dvh!important;overflow:auto!important;overscroll-behavior:contain;margin:auto!important;padding:26px 26px 20px!important;
  border:1px solid #aeb5a5!important;border-bottom:3px solid #7a8978!important;border-radius:6px!important;background:#eeeadd!important;color:#2b3d38!important;box-shadow:0 18px 50px #04121c66!important;text-align:right;direction:rtl}
body .help-dialog::backdrop {background:#0c1b26c4;backdrop-filter:blur(4px)}
body .help-dialog #closeHelpButton {position:absolute;top:9px;left:9px;right:auto!important;display:grid;place-items:center;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:11px!important;border:0!important;box-shadow:none!important;background:none!important;color:#5e736a!important;border-radius:50%!important}
body .help-dialog #closeHelpButton:hover,body .help-dialog #closeHelpButton:focus-visible {background:#dce1d3!important;outline:0!important}
body .help-dialog .panel-eyebrow {font-family:inherit!important;color:#7b897e!important;font-size:11px!important;font-weight:500;letter-spacing:0!important;padding-left:40px}
body .help-dialog h2 {font-family:inherit!important;font-weight:600!important;font-size:28px!important;line-height:1.2!important;letter-spacing:-.025em!important;color:#2c443b!important;margin:14px 0 10px!important}
body .help-dialog>p {font-family:inherit!important;font-weight:400!important;font-size:13px!important;line-height:1.6!important;color:#65736a!important}
body .help-dialog .help-steps {gap:16px!important;margin:20px 0!important}
body .help-dialog .help-steps>li {font-family:inherit!important;font-size:12px!important;line-height:1.6!important;gap:14px!important;color:#617167!important}
body .help-dialog .help-steps>li>b {font-family:inherit!important;font-weight:500!important;font-size:12px!important;border:0!important;background:none!important;color:#9a9e85!important;width:24px!important;height:24px!important;align-self:start}
body .help-dialog .help-steps strong {font-family:inherit!important;font-size:14px!important;font-weight:600!important;color:#334b40!important;margin-bottom:3px!important}
body .help-dialog .help-prime {border-top:1px solid #c9cebc!important;padding-top:15px!important}
body .help-dialog .help-prime>svg {color:#a78b52!important}
body .help-dialog .keyboard-note {font-size:11px!important;line-height:1.6!important;color:#8c9488!important;margin:15px 0!important}
body .help-dialog #helpTrainButton,body .help-dialog #gotItButton {font-family:inherit!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;min-height:44px!important;border-radius:5px!important;box-shadow:none!important;padding:10px 14px!important}
body .help-dialog #helpTrainButton {background:#365b50!important;color:#f1f1e4!important;border:1px solid #294c40!important}
body .help-dialog #helpTrainButton:hover {background:#2d5046!important}
body .help-dialog #gotItButton {color:#738275!important;background:none!important;border:0!important}
body #gameApp #pauseOverlay .modal-panel,body #gameApp #resultOverlay .modal-panel {font-family:'Rubik Game',Arial,sans-serif!important;width:min(68cqw,580px)!important;max-width:88cqw!important;max-height:84cqh!important;overflow:auto!important;overscroll-behavior:contain;padding:clamp(18px,3cqh,28px)!important;rotate:0!important;
  border:1px solid #aab5a5!important;border-bottom:3px solid #788777!important;border-radius:6px!important;background:#eeeadd!important;box-shadow:0 2cqh 5cqw #04121d77!important;color:#2c443b!important}
body #gameApp #pauseOverlay .modal-panel h2,body #gameApp #resultOverlay .modal-panel h2 {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:600!important;font-size:clamp(23px,3.5cqw,42px)!important;line-height:1.18!important;letter-spacing:-.035em!important;color:#2c443b!important}
body #gameApp #pauseOverlay .modal-panel p,body #gameApp #resultOverlay .modal-panel p {font-family:'Rubik Game',Arial,sans-serif!important;font-weight:400!important;font-size:clamp(11px,1.25cqw,17px)!important;line-height:1.5!important;color:#738174!important}
body #gameApp #pauseOverlay .modal-panel button,body #gameApp #resultOverlay .modal-panel button {font-family:'Rubik Game',Arial,sans-serif!important;font-size:clamp(12px,1.35cqw,18px)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;min-height:44px!important;border-radius:5px!important;box-shadow:none!important}
body #gameApp #pauseOverlay #resumeButton,body #gameApp #resultOverlay #replayButton {background:#365b50!important;color:#f1f1e4!important;border:1px solid #294c40!important}
body #gameApp #pauseOverlay .modal-panel .text-button,body #gameApp #resultOverlay .modal-panel .text-button {color:#738275!important;background:none!important;border:0!important}
@media(max-width:600px){body .help-dialog {padding:22px 20px 18px!important}body .help-dialog h2 {font-size:24px!important}body .help-dialog>p {font-size:12px!important}}
body.reduced-motion #gameApp #phoneDialog,body.reduced-motion #gameApp #openPhoneButton {animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){body #gameApp #phoneDialog,body #gameApp #openPhoneButton {animation:none!important;transition:none!important}}

/* packing-v13.css */
/* V13: production ticket, no new interaction layer over the workbench. */
.packing-plan {display:none;pointer-events:none}
body.immersive-game.is-packing.playing:not(.journey-active):not(.is-tutorial) #gameApp .packing-plan:not([hidden]) {display:flex;flex-direction:column;gap:.8cqh;position:absolute;left:2%;top:8%;width:23%;padding:1.2cqh .8cqw;box-sizing:border-box;z-index:7;background:#eee6ccf5;border:1px solid #9e9472;border-radius:.5cqw;box-shadow:0 .6cqh 1.4cqh #152d3144;color:#35483e;direction:rtl;font:600 1.1cqw/1.25 var(--game-font)}
.packing-plan small {display:block;font-size:.95cqw;color:#64664e}
.plan-products {display:flex;gap:.6cqw;align-items:center;min-height:4cqh}
body.immersive-game #gameApp .packing-plan .plan-product {display:flex;align-items:center;gap:.2cqw;direction:ltr}
body.immersive-game #gameApp .packing-plan .product-art {position:static!important;display:block!important;width:2.8cqw!important;height:2.8cqw!important;aspect-ratio:1;flex:none;transform:none!important}
.plan-product.done {color:#28764c}
.plan-next {border-top:1px dashed #aaa17b;padding-top:.7cqh;opacity:.8}
.plan-chain {border-top:1px solid #c5bd9c;padding-top:.8cqh}
.plan-chain.corrected {color:#965437}
.chain-pips {display:flex;gap:.4cqw;margin:.6cqh 0}
.chain-pips i {width:1.6cqw;height:.65cqh;background:#bdb99e;border-radius:1cqw}
.chain-pips i.lit {background:#438662;box-shadow:0 0 .4cqw #82bc7e}
@media(prefers-reduced-motion:no-preference){.plan-product.done {animation:ticket-check .22s ease-out}@keyframes ticket-check{50%{scale:1.13}}}

/* dispatch.css */
/* V14 route puzzle: a new responsibility after the production shift. */
.dispatch-room {direction:rtl;color:#f2ebd0;font-family:var(--game-font);}
.dispatch-room .story-art {filter:brightness(.7)}
.dispatch-head {position:absolute;top:4%;right:5%;left:5%;display:flex;align-items:center;justify-content:space-between;gap:2cqw}
.dispatch-head h1 {font:700 2.3cqw/1.1 var(--game-font);margin:0}.dispatch-head p {font:500 1.15cqw/1.3 var(--game-font);margin:.5cqh 0}
.dispatch-stats {font:700 1.4cqw/1.5 var(--game-font);background:#173b39e8;padding:.6cqh 1cqw;border-radius:.5cqw}
.dispatch-grid {position:absolute;left:17%;top:22%;width:60%;height:63%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,1fr);direction:ltr;gap:.3cqw;outline:.3cqw solid #d0b759;background:#203c3bba;box-shadow:0 1cqh 2cqh #10232288}
.dispatch-cell {position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:#9bafa233;border:1px solid #d3ddbf38;border-radius:.3cqw;overflow:visible}
.dispatch-cell.wall {background:repeating-linear-gradient(0deg,#526c63 0 25%,#c0b996 25% 30%);box-shadow:inset 0 0 0 .3cqw #263f3a}
.dispatch-cell.dock {background:#2b936b88;border:2px dashed #a9edac;color:#fff;font:700 1cqw var(--game-font)}
.dispatch-cell img {position:absolute;width:95%;height:95%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 .4cqh .2cqh #142c2b88)}
.dispatch-cell .cargo-label {position:absolute;right:0;top:0;border-radius:50%;background:#162d2bf5;color:#fff;padding:.15cqw .4cqw;font:700 1cqw var(--game-font);z-index:2}
.dispatch-cell.target {background:#edc96466;box-shadow:inset 0 0 0 .25cqw #f7d675}
.dispatch-cell.forklift img {width:135%;height:135%;z-index:4;max-width:none;filter:drop-shadow(0 .6cqh .25cqh #0b2119aa)}
.dispatch-cell.forklift[data-facing='right'] img {transform:scaleX(-1)}
.dispatch-cell.forklift.loaded:after {content:'●';position:absolute;right:0;bottom:0;color:#f1d56d;font-size:2cqw;z-index:5}
.dispatch-side {position:absolute;right:2%;top:28%;width:18%;text-align:center;background:#183b36ee;padding:1cqh .7cqw;border:1px solid #b8b17d;border-radius:.6cqw;box-sizing:border-box}
.dispatch-side p {font:600 1.15cqw/1.4 var(--game-font);min-height:8cqh;margin:0 0 1cqh}
.dispatch-pad {display:grid;grid-template-columns:repeat(3,1fr);gap:.4cqw;direction:ltr}.dispatch-pad button {padding:0;min-width:0;min-height:28px;height:6cqh;background:#e1c985;color:#17332c;border:1px solid #7e794c;border-radius:.5cqw;font:700 2cqw var(--game-font);touch-action:manipulation}.dispatch-pad [data-drive='up'] {grid-column:2}.dispatch-pad [data-drive='left'] {grid-column:1}
.dispatch-reset,.dispatch-leave {margin-top:1cqh;width:100%;min-height:28px;padding:.5cqh .3cqw;border-radius:.4cqw;border:1px solid #aaa276;background:#e8ddba;color:#253d32;font:600 1.1cqw var(--game-font)}
.dispatch-result {position:absolute;left:23%;top:32%;width:45%;padding:2cqh 2cqw;background:#153b35f5;border:2px solid #e3c471;border-radius:1cqw;text-align:center;z-index:10;box-sizing:border-box}.dispatch-result h2 {font:700 2.5cqw var(--game-font)}.dispatch-result p {font:500 1.5cqw/1.4 var(--game-font)}.dispatch-result button {min-height:32px;background:#e6c776;border:0;border-radius:.5cqw;padding:1cqh 2cqw;font:700 1.4cqw var(--game-font);color:#16372c}
.dispatch-entry {display:flex;gap:1cqw;align-items:center;justify-content:center;margin:1cqh 0;padding:1cqh 1cqw;background:#214f43;color:#fff2c5;border:1px solid #b8b37d;border-radius:.6cqw;font:600 1.2cqw var(--game-font);cursor:pointer}.dispatch-entry img {width:6cqw;height:5cqw;object-fit:contain}.dispatch-entry:disabled {opacity:.65;cursor:default}
@media(prefers-reduced-motion:no-preference){.dispatch-cell.target {animation:cargo-glow 1.3s ease-in-out infinite}@keyframes cargo-glow{50%{box-shadow:inset 0 0 0 .25cqw #fff1ac,0 0 1cqw #e8bd58}}}

body[data-journey="dispatch"] .journey-hud {display:none!important}
.dispatch-head {left:17%;right:23%;top:6%}

/* campaign-v15.css */
/* Clean dialogue belongs to people, never the studio logo. */
body #gameApp .home-guide-avatar,body #gameApp .home-guide-speaker,body #gameApp .coach-avatar {display:none!important}
body #gameApp .home-guide {gap:0!important;direction:rtl}
body #gameApp .home-guide-bubble {background:#fbf6e9f5!important;color:#254039!important;border:1px solid #abb7a3!important;border-radius:12px!important;box-shadow:0 3px 12px #102b2430!important}
body #gameApp .home-guide-bubble:before {display:none!important}
body #gameApp .tutorial-coach {grid-template-columns:1fr!important}
.campaign-strip {position:absolute;left:46%;top:1.2%;width:25%;z-index:22;padding:.5cqh .7cqw;box-sizing:border-box;border:1px solid #819b7a66;border-radius:.5cqw;background:#193e35ef;color:#f5ecc9;direction:rtl;pointer-events:none;font:600 1cqw/1.35 var(--game-font)}
.campaign-strip b {display:block;font-size:1.15cqw}.campaign-strip .week-pips {display:flex;gap:.3cqw;margin:.4cqh 0}.week-pips i {height:.4cqh;flex:1;background:#627c67;border-radius:.2cqw}.week-pips i.passed {background:#d5bd70}.week-pips i.today {background:#e9f2d0;box-shadow:0 0 .3cqw #c0da93}
body.journey-active:not([data-journey='factory-map']) .campaign-strip {display:none}
body[data-journey='factory-map'] .campaign-strip {top:auto;bottom:2%;left:35%;width:30%}
.rahum-dialogue {position:absolute;right:5%;top:13%;width:43%;max-height:80%;overflow:auto;box-sizing:border-box;direction:rtl;background:#f7f2e5f5;color:#283c35;padding:2.5cqh 2cqw;border:1px solid #bec5af;border-radius:1cqw;box-shadow:0 1cqh 3cqh #10251e66}
.rahum-dialogue h1 {font:700 2.1cqw/1.2 var(--game-font);margin:0 0 1cqh}.rahum-dialogue p {font:500 1.5cqw/1.55 var(--game-font);margin:.8cqh 0 1.2cqh}.rahum-dialogue .quest-title {display:block;color:#557447;font:700 1.25cqw var(--game-font)}
.rahum-options {display:grid;gap:.7cqh}.rahum-options button {min-height:32px;padding:.8cqh .8cqw;text-align:right;background:#e9e7d8;border:1px solid #bdc4ad;border-radius:.5cqw;color:#294134;font:600 1.25cqw/1.2 var(--game-font)}.rahum-options button.quest-start {background:#315f43;color:#fff4d2;border-color:#315f43;font-weight:700}.rahum-options button:focus-visible {outline:3px solid #d3ac50;outline-offset:1px}
.rahum-dialogue .quest-footer {font-size:1cqw;margin:.9cqh 0 0;color:#65715b}
.dispatch-talk {margin-top:1cqh;min-height:32px;background:#dbe7bd;color:#294134;border:1px solid #a7be8c;border-radius:.4cqw;padding:.5cqh;width:100%;font:600 1.15cqw var(--game-font)}
.dispatch-npc {position:absolute;width:13%;left:2%;bottom:4%;height:38%;pointer-events:none;object-fit:contain;filter:drop-shadow(0 .8cqh .5cqh #142c2b88)}
body[data-journey='rahum'] .journey-hud {display:none!important}
.campaign-ending {position:absolute;right:7%;top:18%;width:43%;box-sizing:border-box;padding:2cqh 2cqw;direction:rtl;background:#173b32ed;color:#f3ebce;border:1px solid #c4b77f;border-radius:1cqw}.campaign-ending h1 {font:700 3cqw/1.15 var(--game-font)}.campaign-ending p {font:500 1.5cqw/1.5 var(--game-font)}.campaign-ending button {display:block;margin-top:1cqh;padding:1cqh 1.5cqw;min-height:36px;background:#e6c773;color:#233a2c;border:0;border-radius:.5cqw;font:700 1.4cqw var(--game-font)}
.week-brief {display:block;font:600 1.1cqw/1.4 var(--game-font);color:#557447;margin:.6cqh 0}
@container(max-height:320px){.rahum-dialogue {top:8%;max-height:87%;padding:1cqh 1cqw}.rahum-dialogue p {font-size:max(8px,1.5cqw)}.rahum-options {gap:3px}.rahum-options button {min-height:28px;font-size:max(8px,1.25cqw);padding:3px 5px}.rahum-dialogue h1 {font-size:max(11px,2.1cqw)}}

.week-quest-board{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}.week-quest-board li{padding:9px;border:1px solid #adbca6;border-radius:6px;display:grid;gap:3px}.week-quest-board li.quest-today{background:#dfe9c9;border-color:#55794b}.week-quest-board span{font-size:12px;line-height:1.4}
body[data-journey="campaign-end"] .journey-hud {display:none!important}

/* factory-v17.css */
/* Room UI uses one bounded 16:9 coordinate system and shared panels. */
.life-heading{position:absolute;left:35%;top:2%;width:35%;direction:rtl;color:#fff4d6;background:#183d35e8;padding:.7cqh 1cqw;border-radius:.5cqw;text-align:center;pointer-events:none;z-index:4}.life-heading h1{font:700 1.7cqw var(--game-font);margin:0}.life-heading p,.life-heading>span{font:500 1cqw var(--game-font);margin:.3cqh 0}
.factory-room-v17{position:absolute;border:0;background:transparent;color:#f6f1d8;padding:0;cursor:pointer;z-index:3;touch-action:manipulation}.factory-room-v17>span{position:absolute;bottom:4%;left:5%;right:5%;display:grid;gap:.3cqh;background:#183c34eb;border:1px solid #c4c6a077;padding:.7cqh .5cqw;border-radius:.5cqw;box-shadow:0 .4cqh .8cqh #11271d66}.factory-room-v17 strong{font:700 1.45cqw var(--game-font)}.factory-room-v17 small{font:500 1cqw/1.2 var(--game-font)}.factory-room-v17:hover>span,.factory-room-v17:focus-visible>span{background:#3b6646;outline:2px solid #f0d284}.factory-room-v17.room-locked{background:#101d22a8;cursor:default;filter:grayscale(.6)}
.hub-rahum{position:absolute;left:8%;top:4%;width:30%;height:60%;background:url('./assets/v16/rahum-worker.png') center/contain no-repeat;filter:drop-shadow(0 0 .4cqw #eedc88)}.hub-exit{position:absolute;left:40%;bottom:2%;width:21%;z-index:5}
body[data-journey='factory-map'] .campaign-strip{display:none!important}.life-paper{position:absolute;right:4%;top:12%;width:48%;max-height:84%;overflow:auto;box-sizing:border-box;padding:1.6cqh 1.5cqw;direction:rtl;color:#243e34;background:#f5f0dff7;border:1px solid #b1bea5;border-radius:.8cqw;box-shadow:0 1cqh 3cqh #12251e66;font:500 1.2cqw/1.45 var(--game-font)}.life-paper h1{font:700 2.1cqw/1.15 var(--game-font);margin:.5cqh 0 1cqh}.life-paper p{margin:.6cqh 0 1cqh}.life-paper button{min-height:32px;cursor:pointer;font:600 1.15cqw/1.25 var(--game-font);border:1px solid #a9b79e;border-radius:.45cqw;padding:.7cqh .7cqw;color:#294332;background:#e9e8d7}.life-paper button:disabled{opacity:.45;cursor:default}.life-paper button:focus-visible{outline:3px solid #b88b25;outline-offset:1px}.life-primary{background:#345f42!important;color:#fff2ca!important}.life-back{min-height:32px;padding:.6cqh 1cqw;font:600 1.1cqw var(--game-font);color:#f7eacb;background:#244f3f;border:1px solid #adb18a;border-radius:.4cqw;cursor:pointer}
.meal-choices{display:grid;gap:.7cqh}.meal-choices button{display:flex;align-items:center;gap:1cqw;text-align:right}.meal-choices button span{display:grid;gap:.4cqh}.meal-choices small{font-size:1.05cqw}.meal-art{display:block;flex:none;width:5cqw;height:5cqw;background-image:url('./assets/v17/food-sheet.png');background-size:200% 200%;background-repeat:no-repeat}.meal-0{background-position:0 0}.meal-1{background-position:100% 0}.meal-2{background-position:0 100%}.meal-3{display:none}.cafe-menu>.life-primary{width:100%;margin-top:1cqh}
.shop-menu{left:10%;right:auto;width:80%;top:12%;text-align:center}.bag-buy{display:flex;align-items:center;justify-content:center;margin:auto;gap:1cqw}.squishy-art{display:inline-block;width:4.5cqw;height:4.5cqw;flex:none;background-image:url('./assets/v17/squishy-sheet.png');background-size:400% 200%;background-position:var(--sx) var(--sy);background-repeat:no-repeat}.squishy-collection{display:grid;grid-template-columns:repeat(7,1fr);gap:.5cqw;margin:1cqh 0}.squishy-collection>div{display:flex;align-items:center;flex-direction:column;background:#e5e5d4;border:1px solid #bdc6b0;padding:.5cqh;border-radius:.4cqw}.squishy-collection strong{font-size:1cqw}.squishy-collection small{font-size:.9cqw}.undiscovered .squishy-art{filter:grayscale(1);opacity:.35}.unbox-overlay{position:absolute;inset:9% 13%;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#183e35fa;border:2px solid #cab76d;border-radius:1cqw;direction:rtl;color:#fff0c5;text-align:center;font:600 1.5cqw var(--game-font);box-shadow:0 0 0 30cqw #101a1670}.unbox-overlay h2{font:700 3cqw var(--game-font);margin:1cqh}.unbox-bag{background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:inherit;font:600 1.4cqw var(--game-font)}.unbox-bag>.squishy-art,.unboxed-item{width:18cqw;height:18cqw}.unbox-overlay>.life-primary{border:1px solid #d5bf6e;border-radius:.5cqw;padding:1cqh 2cqw;min-height:36px;font:600 1.4cqw var(--game-font)}.rare-reveal{background:radial-gradient(circle,#715e20,#193e34 75%)}
.rahum-pose{position:absolute;left:0;bottom:0;width:38%;height:100%;background-image:url('./assets/v17/rahum-poses.png');background-size:200% 200%;background-repeat:no-repeat;pointer-events:none}.pose-0{background-position:0 0}.pose-1{background-position:100% 0}.pose-2{background-position:0 100%}.pose-3{background-position:100% 100%}.npc-menu{width:49%;top:8%;max-height:89%}.npc-options{display:grid;gap:.45cqh}.npc-options button{text-align:right}.relation-track{height:.7cqh;background:#c4ceb5;border-radius:1cqw;margin:.4cqh 0}.relation-track>i{display:block;height:100%;background:#5b8659;border-radius:inherit}.life-feedback{color:#51713b;font-weight:700!important}.gift-options{margin:1cqh 0;display:flex;gap:.4cqw;flex-wrap:wrap}.gift-options>strong,.gift-options>small{width:100%;font-size:1cqw}.gift-options button{display:flex;align-items:center;gap:.3cqw;font-size:.95cqw}.gift-options .squishy-art{width:2.8cqw;height:2.8cqw}.npc-perk{font-size:.95cqw;display:block;margin-bottom:.7cqh}
.quality-menu{left:25%;right:auto;width:50%;top:12%}.quality-sample{display:flex;gap:1.5cqw;align-items:center;background:#dce6cf;padding:1cqh;border-radius:.5cqw}.quality-sample>.product-art{display:block;width:8cqw;height:8cqw;flex:none}.quality-sample dl{display:grid;grid-template-columns:1fr 1fr;gap:.3cqh 1cqw;margin:0}.quality-sample dt,.quality-sample dd{margin:0}.quality-actions{display:flex;gap:1cqw;margin:1cqh 0}.quality-actions button{flex:1}.quality-actions button:first-child{background:#476f45;color:#fff}.quality-menu>.life-back{display:block;margin-top:1cqh}
body[data-journey='cafeteria'] .journey-hud,body[data-journey='shop'] .journey-hud,body[data-journey='quality'] .journey-hud{display:none!important}
@media(prefers-reduced-motion:no-preference){.hub-rahum{animation:npc-idle-v17 2.6s ease-in-out infinite}.unbox-bag .squishy-art{animation:bag-wiggle-v17 .65s ease-in-out infinite alternate}.unboxed-item{animation:unbox-pop-v17 .45s ease-out}@keyframes npc-idle-v17{50%{translate:0 -.5cqh}}@keyframes bag-wiggle-v17{to{rotate:7deg;scale:1.05}}@keyframes unbox-pop-v17{from{scale:.2;rotate:-20deg}to{scale:1;rotate:0}}}
@container(max-height:320px){.life-paper{top:8%;max-height:90%;padding:.8cqh 1cqw}.life-paper h1{font-size:max(11px,2cqw)}.life-paper,.life-paper button{font-size:max(8px,1.15cqw)}.life-paper button{min-height:28px}.npc-options{gap:2px}.npc-menu>p{font-size:8px;margin:3px 0}.gift-options{margin:4px 0}.npc-perk{font-size:7px}}

/* bedroom-v17.css */
/* Hotspots align to the ORIGINAL morning image; no cloned image fragments. */
body #gameApp .home-room .door-stage,body #gameApp .home-room .door-foreground,body #gameApp .home-room .object-skin{display:none!important}
body #gameApp .home-room.awake .alarm-object{left:64.5%!important;top:47%!important;width:8.7%!important;height:7%!important;min-width:0!important;min-height:0!important}
body #gameApp .home-room.asleep .alarm-object{left:63.9%!important;top:53.85%!important;width:10%!important;height:8.5%!important;min-width:0!important;min-height:0!important}
body #gameApp .home-room .clock-digits{position:absolute!important;left:9%!important;top:22%!important;width:80%!important;height:55%!important;display:flex!important;align-items:center;justify-content:center;font:600 1.1cqw/1 monospace!important;letter-spacing:.08cqw;color:#e4bb79;background:#13201a;pointer-events:none;transform:none!important}
body #gameApp .home-room .door-object{left:85.2%!important;top:0!important;width:14.8%!important;height:80%!important;background:none!important;box-shadow:none!important;clip-path:polygon(8% 0,100% 0,100% 100%,0 92%);}
body #gameApp .home-room .remote-object{left:24.5%!important;top:80.5%!important;width:17%!important;height:13%!important;min-width:0!important;min-height:0!important;clip-path:polygon(0 5%,83% 29%,100% 70%,85% 100%,3% 37%);}
body #gameApp .home-room .mobile-object{left:73%!important;top:50.7%!important;width:7.8%!important;height:6.5%!important;min-width:0!important;min-height:0!important;transform:rotate(14deg)!important}
body #gameApp .home-room .mobile-object .bedroom-fold{inset:0!important;display:flex;gap:3%;padding:4%;background:#17202a;border:1px solid #9aa9ac;border-radius:9%;transform:none!important;box-shadow:0 .25cqh .25cqh #0a1c1c66}
body #gameApp .home-room .bedroom-fold>i{flex:1;border-radius:5%;background:linear-gradient(130deg,#477d90,#1d2945)}body #gameApp .home-room .bedroom-fold>b{display:none!important}
body #gameApp .home-room .room-object:hover:not(:disabled),body #gameApp .home-room .room-object:focus-visible{background:#ffe4a22b!important;filter:drop-shadow(0 0 .4cqw #f0d58c);outline:0!important}
.room-light-toggle{position:absolute;right:3%;top:16%;width:4%;height:7%;min-height:28px;min-width:28px;background:#e1d9bc;border:2px solid #777965;border-radius:.3cqw;color:#465344;font:700 1.4cqw var(--game-font);z-index:5;cursor:pointer}
.home-room.room-dark .story-art{filter:brightness(.38) saturate(.65)!important}.home-room.room-dark .room-light-toggle{background:#9fa68c}.door-glow{position:absolute;left:85.2%;top:0;width:14.8%;height:80%;pointer-events:none;opacity:0;z-index:2;background:linear-gradient(90deg,#211b12,#f5d594);clip-path:polygon(8% 0,100% 0,100% 100%,0 92%)}
.home-phone-popup{position:absolute;inset:3%;z-index:50;box-sizing:border-box;display:flex;direction:rtl;background:#111b24;border:5px solid #46525a;border-radius:2cqw;padding:1.2cqh;box-shadow:0 0 0 30cqw #0c171bd9;color:#e4edf0;font:500 1.3cqw/1.4 var(--game-font)}.fold-hinge{width:1%;background:linear-gradient(90deg,#65777c,#17242c,#77878a);margin:0 1%;border-radius:1cqw;order:1}.fold-contact-list{width:28%;order:0;background:#1d303b;border-radius:1cqw;padding:1.4cqh 1cqw}.fold-contact-list h2{font:700 2.4cqw var(--game-font)}.fold-contact-list p{padding:1cqh .5cqw;background:#304a56;border-radius:.5cqw}.fold-thread{flex:1;order:2;position:relative;padding:1cqh 1cqw;display:flex;flex-direction:column;gap:1cqh}.fold-thread h2{font:700 2cqw var(--game-font);margin:0}.fold-model{font:600 1cqw var(--game-font);color:#afbec8;direction:ltr}.fold-message{background:#edf1f3;color:#21333e;padding:1.4cqh 1.2cqw;border-radius:1cqw;max-width:90%}.fold-reply{background:#2f76c4;align-self:flex-end;max-width:90%;padding:1cqh;border-radius:1cqw}.fold-choices{display:flex;gap:1cqw;margin-top:auto}.fold-choices button,.fold-close,.fold-plan{min-height:44px;border-radius:.6cqw;border:1px solid #95a9b7;background:#355b75;color:#fff;padding:1cqh 1cqw;font:600 1.3cqw var(--game-font);cursor:pointer}.fold-close{position:absolute;top:1%;left:1%;z-index:4;min-width:44px;padding:.2cqh}.fold-plan{background:#34484c}.fold-countdown{font-size:1cqw;color:#d6ae7b}.fold-thread p{margin:0}.home-phone-alert{position:absolute;right:-20%;top:-30%;border-radius:50%;background:#d35d45;color:#fff;font:700 1cqw var(--game-font);padding:.15cqw .5cqw;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.home-room.awake .story-art{animation:bedroom-breathe-v17 5s ease-in-out infinite}.home-room.door-opening .door-glow{animation:door-gleam-v17 .78s ease-out forwards}.home-phone-alert{animation:home-alert-v17 1.4s ease-in-out infinite}.home-room .bedroom-fold{transition:filter .2s,scale .2s}@keyframes bedroom-breathe-v17{50%{filter:brightness(1.025)}}@keyframes door-gleam-v17{from{opacity:0;clip-path:polygon(8% 0,13% 0,13% 94%,8% 92%)}to{opacity:.94;clip-path:polygon(8% 0,100% 0,100% 100%,0 92%)}}@keyframes home-alert-v17{50%{scale:1.15;filter:brightness(1.2)}}}
@container(max-height:320px){.home-phone-popup{inset:1%;border-width:3px}.fold-thread{gap:3px}.fold-thread h2{font-size:max(10px,2cqw)}.fold-message,.fold-reply{font-size:max(8px,1.3cqw);padding:4px 6px}.fold-choices button,.fold-plan{font-size:9px;padding:3px;min-height:44px}.fold-contact-list{font-size:8px;padding:6px}.fold-contact-list h2{font-size:12px}.fold-model{font-size:7px}}

body #gameApp .home-room.asleep .mobile-object{visibility:hidden}.home-room .alarm-object:before{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;width:100%;height:100%;min-width:44px;min-height:44px}

body #gameApp .home-room .alarm-object{transform:none!important}body #gameApp .home-room .clock-digits{left:15%!important;top:12%!important;width:74%!important} .room-light-toggle{right:auto;left:75.7%;top:18.2%;width:2.6%;height:6%}body:has(.home-phone-popup) .journey-hud,body:has(.home-phone-popup) .journey-tools{display:none!important}
body #gameApp .home-room.asleep .room-light-toggle{top:28%;left:75.7%;height:5.5%}

/* experience-v18.css */
/* One hierarchy: context / next action / optional exploration. */
body[data-journey='factory-map'] .journey-hud,body[data-journey='planning'] .journey-hud{display:none!important}
.factory-life-hub>.story-art{opacity:.12}.shift-top{position:absolute;inset:0 0 auto;height:8%;display:flex;align-items:center;justify-content:space-between;padding:0 2%;background:#173c38;color:#fff2d0;direction:rtl;font:600 1.25cqw var(--game-font)}
.factory-life-hub .factory-rooms{position:absolute;left:1%;top:10%;width:67%;height:87%;background:url('./assets/v17/factory-map.webp') center/100% 100% no-repeat;border-radius:1cqw;box-shadow:0 1cqh 3cqh #061e2566}.factory-life-hub .factory-room-v17>span{left:1%;right:1%;background:#153d37ed;bottom:0;padding:.6cqh .3cqw}.factory-room-v17 strong{font-size:1.25cqw!important}.factory-room-v17 small{font-size:.9cqw!important}.factory-room-v17:disabled{opacity:.45}.factory-room-v17.room-next>span{background:#ebce82;color:#173d38;border:2px solid #ffedb5}.factory-room-v17:hover>span{translate:0 -.4cqh}
.shift-director{position:absolute;right:1%;top:10%;width:29%;height:87%;box-sizing:border-box;padding:1.6cqh 1.5cqw;background:#f4efdd;border-radius:1cqw;direction:rtl;font:500 1.15cqw/1.45 var(--game-font);overflow:auto;color:#24413b}.shift-director h1{font-size:2cqw;line-height:1.15;margin:.8cqh 0}.shift-director h2{font-size:1.4cqw;margin:.7cqh 0}.shift-director p{margin:.9cqh 0}.shift-director hr{border:0;border-top:1px solid #c1c5ae;margin:1.8cqh 0}.shift-director small{color:#657b67}.shift-director button{width:100%;font:600 1.2cqw var(--game-font);min-height:40px;border:1px solid #a6b59c;border-radius:.6cqw;padding:.8cqh;cursor:pointer}.shift-cert{background:#e2e7d3;padding:.7cqh;border-radius:.4cqw}
.plan-menu{left:15%;right:auto;width:70%;top:16%;text-align:center}.contract-offers{display:flex;gap:2cqw;margin:2cqh 0}.contract-offers button{flex:1;padding:2cqh;text-align:right}.contract-offers strong{font-size:1.9cqw}.contract-offers b{color:#456d43}.contract-offers p{min-height:8cqh}
.shop-menu{top:4%;left:5%;width:90%;max-height:92%;box-sizing:border-box;overflow:auto}.shop-menu h1{font-size:2.3cqw}.shop-menu h2{font-size:1.5cqw;margin:.8cqh 0}.shop-menu p{margin:.5cqh 0;font-size:1.05cqw}.upgrade-shop{display:flex;gap:1cqw;margin:1cqh 0}.upgrade-shop button{flex:1;display:grid;gap:.7cqh;text-align:right}.upgrade-shop small{font-size:1cqw}.upgrade-shop strong{font-size:1.25cqw}.upgrade-shop b{font-size:1cqw;color:#53724a}.shop-menu .squishy-collection{margin:.5cqh 0}.shop-menu .squishy-art{width:3.4cqw;height:3.4cqw}.shop-menu .bag-buy{padding:.5cqh 2cqw}
.rahum-room .rahum-pose{display:none}.rahum-room .npc-menu{top:9%;right:3%;width:45%;max-height:84%;background:#f5f0dfee;border:1px solid #aec1a0;box-shadow:0 .5cqh 3cqh #13262e33;border-radius:1cqw}.rahum-room .npc-menu h1{font-size:2cqw}.npc-options button{min-height:34px}.npc-menu>p{font-size:1.15cqw}.npc-options button:first-child{background:#e5e9d4}
body #gameApp .home-room.awake .story-art{animation:none!important}.home-room .home-actions{position:absolute;bottom:3%;left:3%;display:flex;gap:.6cqw;z-index:8}.home-actions button{border:1px solid #dac891;background:#183d35ed;color:#fff0c9;border-radius:.5cqw;padding:1cqh 1.2cqw;min-height:40px;font:600 1.2cqw var(--game-font);cursor:pointer}.home-actions button:disabled{opacity:.45}.home-room .home-guide{left:3%!important;right:auto!important;top:3%!important;width:42%!important}.home-room .home-guide-bubble{background:#f3edda!important}.home-room .home-guide-message{font-size:1.6cqw!important}.home-prop{position:absolute;display:block;background-image:url('./assets/v18/bedroom-props.png');background-size:200% 200%;background-repeat:no-repeat;pointer-events:none}.home-door{left:83%;top:0;width:17%;height:79%;background-position:0 0;transform-origin:10% 50%;transition:filter .4s}.door-opening .home-door{background-position:100% 0;filter:brightness(1.1)}.home-clock{left:64%;top:44%;width:9%;height:12%;background-position:0 100%}.home-fold{left:72.5%;top:50%;width:7%;height:8%;background-position:100% 100%}body #gameApp .home-room.awake .mobile-object .bedroom-fold{display:none!important}body #gameApp .home-room.awake .alarm-object{top:47.5%!important;left:65%!important;width:7%!important;height:5%!important}body #gameApp .home-room.awake .clock-digits{font-size:.9cqw!important;left:8%!important;top:0!important;width:84%!important;background:#172323!important}
.fold-message small,.fold-reply small{display:block;font-size:1cqw;color:#80958d;margin-bottom:.6cqh}.fold-message.elnatan-reply{background:#edf1e8;align-self:flex-start}.david-reply{align-self:flex-end}.fold-choices small{display:block;font-size:.85cqw;font-weight:400;max-width:23cqw;margin-top:.6cqh}.home-phone-popup{inset:8% 13%;box-shadow:0 0 0 30cqw #0c171bd9}.fold-contact-list{width:23%}.fold-contact-list h2{font-size:1.8cqw}.fold-plan{font-size:1.1cqw}.fold-thread{min-width:0}.fold-choices{margin-top:2cqh}.fold-thread .fold-countdown{margin-top:.5cqh}.fold-thread h2{margin-bottom:1cqh}
/* SMS stays closed on arrival: the notification is the only unsolicited overlay. */
body #gameApp #phoneDialog{width:36%!important;left:3%!important;right:auto!important;top:12%!important;bottom:auto!important;height:auto!important;max-height:76%!important;transform:none!important;overflow:auto!important;border-radius:1.1cqw!important;padding:1.2cqh 1cqw!important;box-shadow:0 1cqh 4cqh #10282c66!important}.phone-message:before{content:'אלנתן';display:block;font-size:.8em;color:#667f8d;margin-bottom:.4cqh}body #gameApp #phoneDialog .phone-choices button{min-height:44px!important}.phone-dialog .phone-system-status,.phone-dialog .phone-device-name,.phone-dialog .phone-home-indicator{display:none!important}body #gameApp #phoneDialog .phone-content{padding:1cqh 0!important}body #gameApp #phoneDialog .phone-message{font-size:1.35cqw!important;width:100%!important;box-sizing:border-box}body #gameApp #openPhoneButton{left:3%!important;top:10%!important;bottom:auto!important;transform:none!important;width:12%!important;height:8%!important;min-height:44px!important}.phone-open .david-actor{opacity:.7}
@container(max-height:340px){.shift-director{font-size:1.05cqw}.shift-director button{min-height:28px}.shift-director hr{margin:.6cqh 0}.npc-options button{min-height:26px}.home-actions button{min-height:30px}.home-phone-popup{inset:2% 8%}.fold-message,.fold-reply{padding:5px!important}.fold-choices{margin-top:4px;gap:4px}.fold-choices small{font-size:8px}.fold-thread{gap:4px}.fold-thread h2{margin-bottom:0}.upgrade-shop button{min-height:28px}}

.home-prop{background-size:100% 100%;background-position:center}.home-door{background-image:url('./assets/v18/door-closed.png');left:82%;top:-3%;width:18%;height:81%}.door-opening .home-door{background-image:url('./assets/v18/door-open.png');background-position:center}.home-clock{background-image:url('./assets/v18/alarm.png');left:64.5%;top:54.5%;width:8.7%;height:8%}.home-fold{background-image:url('./assets/v18/fold.png');left:73.6%;top:58.5%;width:6.7%;height:4.3%}body #gameApp .home-room.awake .alarm-object{left:65.5%!important;top:56.8%!important;width:6.7%!important;height:3.8%!important}body #gameApp .home-room.awake .mobile-object{left:73.6%!important;top:58.5%!important;width:6.7%!important;height:5%!important;transform:none!important}.home-room.awake .room-light-toggle{left:75.7%;top:28%;height:5%}.home-room.awake .door-glow{display:none}

.upgrade-shop button:disabled{opacity:.72}.home-room.awake .room-light-toggle{top:27.5%!important;left:75.7%!important}
body #gameApp .home-room.awake .story-art{background-image:url('./assets/v18/bedroom-clean.webp')!important;background-size:100% 100%!important}.home-clock{top:58.4%}.home-fold{top:63.2%}body #gameApp .home-room.awake .alarm-object{top:60.6%!important}body #gameApp .home-room.awake .mobile-object{top:63.2%!important}

body #gameApp .home-room.awake .story-art{background-image:url('./assets/v18/bedroom-blank.webp')!important}.home-prop{z-index:2}.home-clock{left:64.5%;top:56.5%;width:8.7%;height:8%}.home-fold{left:73.6%;top:61.1%;width:6.7%;height:4.3%}body #gameApp .home-room.awake .alarm-object{top:58.4%!important;left:65.7%!important;width:6.2%!important;height:3.5%!important;z-index:4}body #gameApp .home-room.awake .mobile-object{top:61.1%!important;z-index:4}.home-door{left:82%;top:0;width:18%;height:78%;z-index:2}.home-room.room-dark .home-prop{filter:brightness(.35)}body #gameApp .home-room .room-light-toggle{z-index:5}.home-room.awake .room-light-toggle{left:75.8%!important;top:27.4%!important}

.home-door{top:4%}.fold-choices button:first-child{max-width:25cqw}.home-phone-popup small{line-height:1.3}
.home-room .home-actions{left:auto;right:3%}body #gameApp .home-room.awake .remote-object{left:25%;top:87%;width:18%;height:12%}
.home-boots{left:86%;top:74%;width:14%;height:16%;z-index:3;background-image:url('./assets/v18/boots.png')}

/* victory-v19.css */
body[data-journey='campaign-end'] .journey-hud,body[data-journey='ceo-office'] .journey-hud{display:none!important}.victory-room>.story-art{background-size:100% 100%!important;filter:none!important}.ceo-victory{position:absolute;left:3%;top:6%;width:33%;max-height:88%;box-sizing:border-box;overflow:auto;direction:rtl;padding:2cqh 2cqw;background:linear-gradient(145deg,#102f34ed,#183c3be0);border:1px solid #d6ba75;border-radius:1cqw;color:#fff2cf;font:500 1.3cqw/1.5 var(--game-font);box-shadow:0 1cqh 4cqh #102d2b55;z-index:4}.victory-kicker{font-size:1.05cqw;color:#d9bf80;letter-spacing:.03em}.ceo-victory h1{font:800 4.8cqw/1.05 var(--game-font);margin:1.4cqh 0 1cqh;letter-spacing:-.1cqw}.ceo-victory h1 em{font-style:normal;color:#efcf80}.ceo-victory>p{margin:1.4cqh 0}.victory-stats{display:flex;justify-content:space-between;gap:.5cqw;border-top:1px solid #d8c18a55;border-bottom:1px solid #d8c18a55;padding:1.7cqh 0;margin:1.6cqh 0}.victory-stats>div{flex:1;text-align:center}.victory-stats dt{font-size:.95cqw;color:#d3d7bb}.victory-stats dd{font-size:2.3cqw;line-height:1.2;font-weight:700;margin:.6cqh 0 0}.victory-stats small{display:block;font-size:.85cqw;font-weight:400}.ceo-victory .victory-quote{color:#e6cb89;font-size:1.2cqw}.ceo-victory button,.victory-back,.office-nav button{font:600 1.25cqw var(--game-font);cursor:pointer;min-height:40px;border:1px solid #c8bd94;border-radius:.5cqw;padding:1cqh 1cqw}.victory-primary{display:block;width:100%;background:#e6c575;color:#173b35}.victory-secondary{display:flex;gap:.7cqw;margin-top:1cqh}.victory-secondary button{flex:1;background:transparent;color:#e5e7ce}.ceo-victory button:focus-visible,.victory-back:focus-visible{outline:3px solid #fff2bf;outline-offset:3px}.victory-back{position:absolute;left:3%;bottom:4%;z-index:5;background:#163e38ed;color:#fff0c4}.victory-back[hidden]{display:none}.victory-room.view-office .ceo-victory{display:none}.victory-sparkles{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.victory-sparkles i{position:absolute;left:var(--x);top:-4%;width:.5cqw;height:1.1cqw;background:#ebce83;opacity:0;rotate:var(--turn);border-radius:.1cqw}.victory-sparkles i:nth-child(3n){background:#88b8a0}.office-nav{position:absolute;left:3%;bottom:4%;display:flex;gap:1cqw}.office-nav button{background:#173d36e8;color:#f6e6bb}body #gameApp .ceo-office-room .office-achievement{left:3%;top:4%;width:32%;text-align:right;background:#173d36db;padding:1.3cqh;border:1px solid #d0bb82;border-radius:.5cqw}body #gameApp .ceo-office-room .office-achievement h1{font-size:2.5cqw}
@media(prefers-reduced-motion:no-preference){.ceo-victory{animation:ceo-certificate-in .65s ease-out}.victory-sparkles i{animation:ceo-confetti 3.2s var(--delay) ease-out 1}@keyframes ceo-certificate-in{from{opacity:0;translate:0 2cqh}to{opacity:1;translate:0 0}}@keyframes ceo-confetti{0%{top:-4%;opacity:0}12%{opacity:.9}80%{opacity:.8}100%{top:105%;opacity:0;rotate:calc(var(--turn) + 240deg)}}}body.reduced-motion .ceo-victory,body.reduced-motion .victory-sparkles i{animation:none!important}
@container(max-height:340px){.ceo-victory{top:3%;max-height:94%;padding:1cqh 1.3cqw}.ceo-victory h1{font-size:4cqw;margin:.5cqh 0}.ceo-victory>p{margin:.5cqh 0;font-size:1.15cqw}.victory-stats{padding:.6cqh 0;margin:.6cqh 0}.ceo-victory button{min-height:30px;font-size:1.1cqw;padding:.6cqh}.victory-secondary{margin-top:.5cqh}.victory-quote{display:none}}

/* hub-v20.css */
/* V20: the factory is the game surface; profile/currency are persistent HUD. */
body #gameApp .factory-life-hub>.story-art{opacity:1!important;filter:brightness(.92)!important;background-size:100% 100%!important}.mobile-hub{position:absolute;inset:0;direction:rtl;font-family:var(--game-font);color:#123341;background:linear-gradient(#10263170,transparent 24%,transparent 72%,#10263199)}.mobile-hub button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-hub button:focus-visible,.player-sheet20 button:focus-visible,.quest-sheet20 button:focus-visible{outline:3px solid #ffd276;outline-offset:3px}.mobile-hub svg,.player-sheet20 svg{width:2cqw;height:2cqw;flex:none}
.player-hud{position:absolute;inset:1.8% 2% auto;display:flex;align-items:flex-start;justify-content:space-between;gap:2cqw;z-index:10;pointer-events:none}.player-hud>*{pointer-events:auto}.player-chip{display:flex;align-items:center;gap:.8cqw;position:relative;background:#f8fbfff5;border:2px solid #fff;border-radius:1.8cqw;padding:.5cqh .7cqw .5cqh 1.6cqw;color:#193446;box-shadow:0 .6cqh 0 #122f4550,0 1cqh 2cqh #122b3e22;width:25cqw;text-align:right}.david-avatar20{width:5cqw;height:5cqw;object-fit:cover;object-position:center 18%;background:linear-gradient(140deg,#83d7d3,#c5efe7);border-radius:1.3cqw;flex:none;border:2px solid #fff;box-sizing:border-box}.player-chip>span{display:block;flex:1;min-width:0}.player-chip b{font-size:1.65cqw;line-height:1.1}.player-chip small{display:block;font-size:1cqw;color:#678193}.player-chip strong{display:block;font-size:.8cqw;color:#668097;font-weight:500;margin-top:.2cqh}.xp20{display:block;height:.65cqh;background:#dce8ee;border-radius:2cqw;overflow:hidden;margin-top:.5cqh}.xp20 em{height:100%;display:block;background:linear-gradient(90deg,#3d9bd9,#58d7d3);border-radius:inherit}.profile-plus{position:absolute;left:-.6cqw;top:34%;display:grid;place-items:center;width:1.6cqw;height:1.6cqw;border-radius:50%;border:2px solid white;background:#358ebf;color:#fff;font-size:1.5cqw;font-style:normal}
.money-hud{display:flex;gap:.9cqw;padding-top:.8cqh}.money-hud button{display:flex;align-items:center;gap:.6cqw;border:1px solid #ffffff80;background:#163949ed;color:#fff;border-radius:1.3cqw;padding:.8cqh 1.2cqw;box-shadow:0 .5cqh 0 #102b3c55;min-width:11.7cqw;text-align:right}.money-hud small{display:block;color:#b6d3dd;font-size:.85cqw}.money-hud b,.money-hud bdi{display:block;font-size:1.8cqw;line-height:1.1;font-weight:700;white-space:nowrap}.money-hud em{font-size:1.1cqw;font-style:normal}.money-hud .cash-chip{background:#fcfff8f5;color:#1a654a;border:2px solid #fff}.cash-chip small{color:#638b73}.cash-chip svg{background:#cdf0cf;padding:.5cqw;border-radius:.8cqw;width:2cqw;height:2cqw;color:#2c8759}.bank-chip bdi{color:#ffb9aa;font-size:1.4cqw}.bank-chip svg{color:#b3cad7}.day-chip{background:#143443ec;padding:.9cqh 1.3cqw;border:1px solid #e5f8ff55;border-radius:1.3cqw;color:#eef8ff;font-size:1.2cqw;box-shadow:0 .5cqh 0 #102d3955;margin-top:.8cqh}.day-chip span>b{font-size:1.6cqw;color:#ffcf77}.day-chip>div{display:flex;gap:.35cqw;margin-top:.6cqh}.day-chip i{height:.5cqh;flex:1;background:#56717e;border-radius:99px}.day-chip i.past{background:#68d4bd}.day-chip i.today{background:#ffce7c;box-shadow:0 0 1cqw #ffcf7777}
.room-pins20{position:absolute;inset:0;z-index:3}.room-pin20{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border:0;background:transparent;color:#264958;touch-action:manipulation}.pin-symbol{position:absolute;left:50%;top:46%;translate:-50% -50%;width:4.3cqw;height:4.3cqw;display:grid;place-items:center;background:linear-gradient(#fff,#e6f3f8);border:3px solid #fff;border-radius:1.4cqw;box-shadow:0 .7cqh 0 #385965,0 1cqh 2cqh #123b4b55;transition:scale .15s}.pin-symbol svg{width:2.7cqw;height:2.7cqw}.pin-caption{position:absolute;left:50%;bottom:2%;translate:-50% 0;display:grid;gap:.2cqh;white-space:nowrap;min-width:10cqw;padding:.7cqh 1cqw;border-radius:1cqw;background:#f9fcfff2;border:1px solid #fff;box-shadow:0 .5cqh 1cqh #153d5055}.pin-caption b{font-size:1.25cqw}.pin-caption small{font-size:.85cqw;color:#6c8793}.next-pin .pin-symbol{background:linear-gradient(#ffdc8a,#ffba64);color:#623f24;box-shadow:0 .7cqh 0 #9c5e39,0 0 2cqw #ffd38280}.next-pin .pin-caption{border:2px solid #ffcb75}.next-pin .pin-caption small{color:#ac6229;font-weight:700}.locked-pin .pin-symbol{background:#3e5369;border-color:#718697;color:#d0dde6;box-shadow:0 .5cqh 0 #233b50}.locked-pin .pin-caption{background:#233c50ed;color:#dce8ee;border-color:#718697}.locked-pin .pin-caption small{color:#b9cbd6}.room-pin20:not(:disabled):hover .pin-symbol{scale:1.08}
.hub-dock20{position:absolute;bottom:2%;left:2%;right:2%;height:10.5%;display:flex;align-items:stretch;justify-content:space-between;direction:ltr;gap:1.4cqw;z-index:8}.shift-steps20{display:flex;align-items:center;gap:1.5cqw;direction:rtl;background:#163a48f0;border:1px solid #d6f1ff66;border-radius:1.5cqw;padding:.5cqh 1.2cqw;width:24%;box-sizing:border-box;justify-content:space-around;color:#aec9d5}.shift-steps20 span{display:grid;place-items:center;gap:.3cqh}.shift-steps20 b{display:grid;place-items:center;background:#36596a;color:#b6d1de;border:1px solid #668292;border-radius:50%;height:2cqw;width:2cqw;font-size:1cqw}.shift-steps20 small{font-size:.85cqw}.shift-steps20 .done b{background:#63c9a7;color:#124b3a}.shift-steps20 .current b{background:#ffcc79;color:#5d3b20;border-color:#ffe0a8}.shift-steps20 .current small{color:#fff3cf}.hub-tabs20{display:flex;background:#f7fbfff2;border:2px solid #fff;border-radius:1.5cqw;padding:.4cqh .5cqw;min-width:23%;box-shadow:0 .6cqh 0 #12334455;direction:rtl}.hub-tabs20 button{position:relative;display:grid;place-items:center;gap:.3cqh;flex:1;padding:.3cqh .8cqw;border:0;background:transparent;border-radius:1cqw;color:#79909f;font-size:.9cqw}.hub-tabs20 button.active{background:#e0f0f6;color:#247da0}.hub-tabs20 svg{width:1.8cqw;height:1.8cqw}.nav-dot{position:absolute;right:25%;top:5%;width:.7cqw;height:.7cqw;border:2px solid white;border-radius:50%;background:#f38a61}.play-cta20{width:34%;display:flex;align-items:center;justify-content:space-between;direction:rtl;background:linear-gradient(#ffc97a,#ffad61);color:#4b3024;border:2px solid #ffdfab;border-radius:1.5cqw;box-shadow:0 .7cqh 0 #a86842,0 1cqh 2cqh #152e3f66;padding:.6cqh 1.5cqw;text-align:right}.play-cta20 small{display:block;font-size:.85cqw;color:#906348}.play-cta20 b{font-size:1.6cqw;line-height:1.2}.play-cta20>i{font-size:3.3cqw;font-style:normal;line-height:1}.play-cta20:hover{filter:brightness(1.06)}
.cash-hunt20{position:absolute;inset:0;pointer-events:none;z-index:5}.cash-find20{position:absolute;width:3.3cqw;height:3.3cqw;background:transparent;border:0;pointer-events:auto;padding:0;min-width:30px;min-height:30px}.mini-banknote{position:absolute;left:5%;top:35%;display:grid;place-items:center;background:#9ace99;border:2px solid #35654a;box-shadow:inset 0 0 0 2px #dcf0b0,0 3px 2px #132f3d66;border-radius:.2cqw;width:2.1cqw;height:1.2cqw;font:bold .85cqw Arial;color:#2b5c43;rotate:-16deg;font-style:normal}.find-spark{position:absolute;right:0;top:0;color:#fff0ab;font-style:normal;font-size:1.35cqw;text-shadow:0 0 .6cqw #eeb35c}.find-guide20{position:absolute;left:2.5%;top:15%;display:flex;align-items:center;gap:.5cqw;background:#173b49dd;color:#fff3d4;border:1px solid #f4d79d66;border-radius:1cqw;padding:.7cqh .9cqw;z-index:6;pointer-events:none}.find-guide20 svg{width:1.5cqw;height:1.5cqw;color:#ffcf79}.find-guide20 span{display:grid}.find-guide20 b{font-size:.95cqw}.find-guide20 small{font-size:.8cqw;color:#c1d6d7}
body #gameApp .profile-room20>.story-art{filter:blur(4px) brightness(.4)!important}.player-sheet20,.quest-sheet20{position:absolute;inset:5% 15%;background:#f7fbff;color:#244255;border:2px solid #fff;border-radius:1.8cqw;box-shadow:0 2cqh 8cqh #10263599;box-sizing:border-box;padding:2cqh 2cqw;direction:rtl;font:500 1.15cqw/1.4 var(--game-font);overflow:auto}.sheet-close20{position:absolute;left:1%;top:2%;width:3cqw;height:3cqw;min-width:32px;min-height:32px;border:0;border-radius:50%;background:#e6eef4;color:#476377;font-size:2cqw;cursor:pointer;z-index:2}.player-sheet20>header{display:flex;align-items:center;gap:1.4cqw;padding-bottom:1cqh}.player-sheet20 .david-avatar20{width:8cqw;height:8cqw;border-radius:1.7cqw;box-shadow:0 .5cqh 0 #b5d6dc}.player-sheet20 h1{font-size:3cqw;margin:0;line-height:1.1}.player-sheet20 header small{font-size:1cqw;color:#7e96a6}.player-sheet20 header b{color:#337a96;font-size:1.4cqw}.player-level20{margin-right:auto;font-size:1.2cqw;font-style:normal;border-radius:99px;background:#e5edf6;padding:.6cqh 1cqw}.profile-xp20{margin:1cqh 0}.profile-xp20>span{display:flex;justify-content:space-between;font-size:1cqw;color:#617c8f}.profile-xp20>div{height:1.2cqh;border-radius:99px;background:#ddeaf1;margin-top:.5cqh;overflow:hidden}.profile-xp20 i{display:block;height:100%;background:linear-gradient(90deg,#398cc7,#5cd0c6);border-radius:inherit}.profile-funds20{display:flex;gap:1cqw;margin-top:1.3cqh}.profile-funds20 button{display:grid;grid-template-columns:3cqw 1fr;gap:.1cqh 1cqw;text-align:right;border:1px solid #d5e5e8;background:#e5f5e9;color:#246746;border-radius:1cqw;padding:1cqh 1cqw;flex:1;font:inherit;cursor:pointer}.profile-funds20 button+button{background:#f4e8e7;color:#9d5356}.profile-funds20 svg{grid-row:1/3;align-self:center}.profile-funds20 small{font-size:.95cqw}.profile-funds20 b,.profile-funds20 bdi{font-size:1.7cqw;font-weight:700}.profile-tip20{font-size:1cqw;color:#6b8191;margin:.8cqh 0}.profile-grid20{display:grid;grid-template-columns:1fr 1fr;gap:1.5cqw}.profile-grid20 section{padding:1cqh 1cqw;background:#edf3f8;border-radius:1cqw}.profile-grid20 h2{font-size:1.5cqw;margin:.3cqh 0}.profile-grid20 p{display:grid;gap:.2cqh;margin:1cqh 0;font-size:1.1cqw}.profile-grid20 small{font-size:.85cqw;color:#768d9d}.profile-grid20 .missing{color:#93a6b3}.profile-grid20 .owned{color:#287d60}.profile-grid20 button{background:#2b8bac;color:#fff;padding:.7cqh 1cqw;border:0;border-radius:.6cqw;font:600 1cqw var(--game-font);cursor:pointer}.cash-toast20{position:absolute;left:50%;top:16%;translate:-50% 0;z-index:30;direction:rtl;background:#f4fff2;color:#2c7351;border:2px solid #a2d5a2;border-radius:1.2cqw;padding:1cqh 2cqw;font:700 1.6cqw var(--game-font);box-shadow:0 .8cqh 2cqh #193b3f55;pointer-events:none}
.quest-sheet20{inset:12% 13%;padding:2.4cqh 2.5cqw}.quest-sheet20 header>small{color:#438fa6;font-weight:700}.quest-sheet20 h1{font-size:2.6cqw;margin:.5cqh 0}.quest-sheet20 header>p{font-size:1.1cqw;color:#738a99;margin:.5cqh 0}.quest-cards20{display:flex;gap:1.8cqw;margin:2cqh 0}.quest-cards20 button{flex:1;text-align:right;background:linear-gradient(145deg,#fff,#eaf4fa);border:2px solid #d8e6f0;border-radius:1.3cqw;padding:1.5cqh 1.5cqw;font:500 1.2cqw var(--game-font);cursor:pointer;color:#29485b;box-shadow:0 .6cqh 0 #b9d2de}.quest-cards20 button.selected{border-color:#4dbea6;background:#edfff7}.quest-cards20 .quest-icon20{display:grid;place-items:center;width:3.5cqw;height:3.5cqw;border-radius:1cqw;background:#deecff;color:#3d7bb8;margin-bottom:1cqh}.quest-icon20 svg{width:2.4cqw;height:2.4cqw}.quest-cards20 strong{font-size:1.6cqw}.quest-cards20 p{min-height:6cqh;color:#718898;font-size:1.1cqw}.quest-cards20 .reward-pills20{display:flex;gap:.5cqw;margin:1.3cqh 0}.reward-pills20 b{font-size:1cqw;background:#d9f0df;color:#34704c;padding:.4cqh .7cqw;border-radius:99px}.reward-pills20 b+b{background:#e1eaf8;color:#4e74a0}.quest-choice20{display:block;background:#3c96b2;color:white;border-radius:.6cqw;padding:.7cqh;text-align:center;font-weight:700}.quest-cards20 button:disabled{cursor:default}.quest-cards20 button:disabled:not(.selected){opacity:.6}.quest-footer20{display:flex;align-items:center;justify-content:space-between;color:#7b8e9c;font-size:1cqw}.quest-footer20 button{padding:.8cqh 1.4cqw;border:0;background:#1e526a;color:#fff;border-radius:.7cqw;font:600 1.1cqw var(--game-font);cursor:pointer}
@media(prefers-reduced-motion:no-preference){.next-pin .pin-symbol{animation:next-pin20 2.3s ease-in-out infinite}.find-spark{animation:find-spark20 2s ease-in-out infinite}.cash-toast20{animation:cash-pop20 .28s ease-out}@keyframes next-pin20{50%{translate:-50% -56%}}@keyframes find-spark20{0%,100%{opacity:.45;scale:.8}50%{opacity:1;scale:1.2}}@keyframes cash-pop20{from{opacity:0;translate:-50% 1cqh;scale:.8}to{opacity:1;translate:-50% 0;scale:1}}}body.reduced-motion .pin-symbol,body.reduced-motion .find-spark{animation:none!important}
@container(max-height:340px){.player-sheet20{inset:2% 10%;padding:1cqh 1.5cqw}.player-sheet20 .david-avatar20{width:6cqw;height:6cqw}.player-sheet20 h1{font-size:2.6cqw}.profile-grid20 p{margin:.5cqh 0}.profile-grid20 h2{font-size:1.25cqw}.profile-tip20{font-size:.9cqw;margin:.3cqh 0}.profile-funds20{margin-top:.5cqh}.profile-xp20{margin:.5cqh 0}.profile-grid20 small{font-size:.8cqw}.quest-sheet20{inset:3% 10%}.quest-cards20{margin:1cqh 0}.quest-cards20 p{min-height:4cqh}.cash-find20{min-width:28px;min-height:28px}}

body[data-journey='profile'] .journey-hud{display:none!important}body .account-book{background:#f5faff!important;color:#2b485b!important;border:2px solid white!important;border-radius:20px!important;font-family:var(--game-font)!important}body .account-book h3{color:#418799;margin:15px 0 4px}body .account-book .book-balance{color:#bb6570!important}

.mobile-hub svg,.mobile-hub svg path,.mobile-hub svg circle,.mobile-hub svg rect,.player-sheet20 svg,.player-sheet20 svg path,.player-sheet20 svg circle,.player-sheet20 svg rect,.quest-sheet20 svg,.quest-sheet20 svg path{fill:none!important;stroke:currentColor!important}.room-pin20[data-room="quality"] .pin-caption,.room-pin20[data-room="shop"] .pin-caption{bottom:14%}.cash-find20{min-width:44px;min-height:44px}.profile-collection20{margin-top:1.4cqh}.profile-collection20 h2{font-size:1.3cqw;margin:.5cqh 0}.profile-collection20 h2 small{font-size:.9cqw;color:#8297a7;margin-right:.7cqw}.profile-collection20>div{display:flex;gap:.7cqw}.profile-collection20 figure{flex:1;min-width:0;margin:0;display:grid;place-items:center;border:1px solid #dfebf0;border-radius:.8cqw;background:#edf4f8;padding:.4cqh .2cqw}.profile-collection20 figure>i{display:block;background:url('./assets/v17/squishy-sheet.png') var(--sx) var(--sy)/400% 200% no-repeat;width:3.5cqw;height:3.5cqw}.profile-collection20 .not-found>i{filter:grayscale(1);opacity:.25}.profile-collection20 figcaption{font-size:.75cqw;text-align:center;color:#6d8395}.profile-collection20 figcaption small{display:block;font-size:.7cqw}.profile-collection20 .found{background:#e3f6eb;border-color:#93d5b1}.player-chip strong bdi,.day-chip bdi,.profile-xp20 bdi{direction:ltr;unicode-bidi:isolate}.profile-grid20 .missing{color:#718b9b}@container(max-height:340px){.profile-collection20{margin-top:.6cqh}.profile-collection20 figure>i{width:2.6cqw;height:2.6cqw}.profile-collection20 h2{font-size:1.1cqw;margin:.2cqh 0}}
@container(max-width:850px){.player-chip b{font-size:clamp(11px,1.65cqw,18px)}.player-chip small{font-size:9px}.player-chip strong{font-size:8px}.money-hud small{font-size:8px}.money-hud b{font-size:14px}.money-hud bdi{font-size:12px}.day-chip{font-size:10px}.day-chip span>b{font-size:13px}.pin-caption b{font-size:11px}.pin-caption small{font-size:9px}.pin-caption{padding:4px 7px}.find-guide20 b{font-size:10px}.find-guide20 small{font-size:8px}.find-guide20{top:19%}.hub-tabs20 button{font-size:9px}.hub-tabs20 svg{width:16px;height:16px}.play-cta20 b{font-size:12px}.play-cta20 small{font-size:8px}.shift-steps20 small{font-size:9px}.shift-steps20 b{font-size:10px;width:18px;height:18px}.profile-grid20 p{font-size:11px}.profile-grid20 small,.profile-tip20{font-size:9px}.player-sheet20 header small{font-size:9px}.profile-funds20 small{font-size:9px}.profile-funds20 b,.profile-funds20 bdi{font-size:13px}.quest-cards20 p{font-size:11px}.quest-cards20 strong{font-size:13px}.reward-pills20 b,.quest-footer20{font-size:10px}.profile-collection20 figcaption{font-size:8px}}
