/* Actions take priority; the existing city remains available below the task. */
.play-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr)}
.action-mission .mission-body{padding-top:1.25rem}
.action-deck{padding:1.1rem;background:#202c3c;border-left:3px solid #b6d7a0;border-radius:.5rem;margin:0 0 1rem}
.action-deck small{color:#bed0bc;font-variant-numeric:tabular-nums}
.action-card{font-size:1.2rem;line-height:1.5;min-height:4.5em;margin:.6rem 0 1rem;text-wrap:pretty}
.action-context{margin:.75rem 0 1.2rem;color:#b7c2d1}
.action-context summary{cursor:pointer;padding:.6rem 0}
.action-context .dialogue{font-size:1rem;margin-top:.5rem}
.action-instruction{font-size:.8rem;color:#b7c2d1;margin:.75rem 0}
.action-mission .choice[data-action="episode-choice"] small,.action-mission .choice[data-action="resolve"] small{display:none}
.action-mission .choice[aria-pressed=true]{outline:2px solid #b6d7a0;outline-offset:2px}
.action-confirm{background:#243647;padding:1rem;margin:1rem 0;border-radius:.75rem}
.action-confirm[hidden]{display:none}
.action-confirm p{line-height:1.5;color:#cbd6df}
.action-confirm button{margin:.35rem .4rem .1rem 0;min-height:44px}
.action-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:23rem;margin:1rem 0}
.action-keypad button{min-height:48px;border:1px solid #526276;background:#2c3a4d;color:#f2f3ed;border-radius:.5rem;font:inherit;font-size:1.2rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
.action-keypad button:active{transform:translateY(1px);background:#3b5065}
.action-mission button:focus-visible,.action-context summary:focus-visible{outline:3px solid #b6d7a0;outline-offset:3px}
@media(max-width:999px){.play-layout{display:flex;flex-direction:column}.play-layout>.mission{order:-1;width:100%;min-width:0}.world-heading,.mentor-tip,.world-bottom{display:none}.city-scene{max-height:240px;overflow:hidden}.action-mission .mission-body{padding:1rem}.action-card{font-size:1.1rem}.action-keypad{max-width:none}}
@media(prefers-reduced-motion:reduce){.action-mission *{scroll-behavior:auto;transition:none}}
.practical-board{display:grid;gap:1rem}.practical-board h2{font-size:1.5rem;margin:0}.practical-board p{font-size:.95rem;line-height:1.5;color:#c1cbd7;margin:0}.practical-board label{display:grid;gap:.4rem;font-size:.95rem}.practical-board input,.practical-board select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;background:#263548;color:#f2f3ed;border:1px solid #64748b;border-radius:.5rem;padding:.6rem;font:inherit}.practical-board .check-line{display:flex;align-items:center}.check-line input{width:22px;min-height:22px}.client-bubble,.contract-slip{padding:1rem;border-radius:.75rem;background:#304338;line-height:1.6}.contract-slip{display:grid;font-size:.9rem}.parts-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.part-bin{display:grid;gap:.5rem;padding:.7rem;background:#273548;border-radius:.7rem;min-width:0}.part-bin>span{font-size:2rem;color:#d6ed96}.part-bin>b{font-size:.9rem}.part-controls{display:flex;gap:.2rem;align-items:center}.part-controls button{background:#3b4c62;color:#fff;border:0;border-radius:.3rem;min-height:44px;padding:.3rem;min-width:36px;cursor:pointer}.part-controls input{text-align:center;padding:.2rem}.practical-meter{padding:.8rem;border-radius:.5rem;background:#344734;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.5}.team-limits{display:flex;gap:.7rem}.team-limits span{background:#344734;padding:.7rem;border-radius:.5rem}.job-card{padding:.8rem;background:#273548;border-radius:.6rem}.document-fields{display:grid;gap:.8rem}.practical-board button[type=submit]{width:100%;min-height:50px}.supplier-slot{display:grid;gap:.7rem}.practical-board :focus-visible{outline:3px solid #d6ed96;outline-offset:2px}@media(max-width:380px){.parts-grid{grid-template-columns:1fr}}
.mission-footer[hidden]{display:none}
.game-action-board{display:grid;gap:1rem}.game-precise{font-size:.85rem;color:#bac7d5}.game-precise summary{cursor:pointer;padding:.7rem 0}.stock-trays,.employee-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}.drag-piece,.drag-job{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.drag-piece{display:grid;justify-items:center;gap:.3rem;min-width:0;padding:.7rem;border:1px solid #546b7e;background:#2b3e4b;color:#eff4e7;border-radius:.6rem;font:inherit}.drag-piece>span{font-size:2rem;color:#d6ed96}.drag-piece b{font-size:.85rem}.drag-piece small{font-size:.7rem}.drag-piece:disabled{opacity:.4;cursor:default}.drag-piece.picked,.drag-job.picked{outline:3px solid #d6ed96;outline-offset:2px}.order-drop{border:2px dashed #76976b;border-radius:.9rem;background:#22372f;padding:1rem;text-align:center;transition:background .15s}.order-drop.has-defect{border-color:#db9478}.order-drop button,.employee-drop button[data-place],.jobs-pool button[data-place]{background:#374b50;color:#e6efde;border:1px solid #718a77;border-radius:.4rem;padding:.6rem;min-height:44px;font:inherit;font-size:.8rem;margin-top:.5rem}.return-stock{display:block;margin:.5rem auto!important}.order-counts{font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.assembly-scene{position:relative;height:125px;max-width:180px;margin:1rem auto}.assembly-housing{position:absolute;left:25%;top:40%;width:50%;height:45%;border:6px solid #759f94;border-radius:18px;opacity:.2;transform:translateX(-28px)}.assembly-light{position:absolute;left:33%;top:50%;width:34%;height:24%;border-radius:7px;background:#d4ef96;opacity:.15;transform:translateY(-25px)}.assembly-mount{position:absolute;left:38%;top:12%;width:24%;height:30%;border:6px solid #a0b5b6;border-bottom:0;border-radius:8px 8px 0 0;opacity:.2;transform:translateX(30px)}.assembly-scene>div{transition:transform .4s ease,opacity .4s ease,box-shadow .4s ease}.has-housing .assembly-housing,.has-light .assembly-light,.has-mount .assembly-mount{opacity:1;transform:translate(0)}.lamp-ready .assembly-light{box-shadow:0 0 35px 15px #d4ef9660}.drag-status{min-height:2.5em;font-size:.85rem!important}.drag-ghost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-115%) rotate(-4deg);max-width:190px;padding:.8rem;border:2px solid #d6ed96;border-radius:.6rem;background:#344735;color:#fff;box-shadow:0 10px 30px #121d2566;font:600 .9rem system-ui}.drop-hover{background:#3e583b!important;outline:3px solid #d6ed96;outline-offset:2px}.employee-drop,.jobs-pool{padding:.7rem;background:#283947;border-radius:.7rem;border:1px solid #567069;min-width:0}.employee-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.employee-heading>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:#729582;color:#111d18;font-weight:800}.employee-heading small{margin-left:auto}.employee-drop meter{display:block;width:100%;height:16px;margin:.5rem 0}.load-label{font-variant-numeric:tabular-nums;font-size:.75rem}.overloaded{border:2px solid #dc997d}.job-stack{display:grid;gap:.4rem;min-height:2.5rem;margin-top:.6rem}.drag-job{padding:.7rem .4rem;color:#eff5e8;background:#425a64;border:1px solid #819b9d;border-radius:.4rem;font:600 .8rem system-ui;min-height:48px;width:100%}.jobs-pool{border-style:dashed}.piece-arrived{animation:piece-land .4s ease}.client-character{display:flex;align-items:center;gap:.8rem;background:#283a46;padding:1rem;border-radius:.8rem}.client-portrait{position:relative;flex:0 0 75px;transition:transform .3s}.client-portrait svg{width:75px;height:75px;border-radius:1rem}.client-emotion{position:absolute;right:-2px;bottom:0;background:#dfbd7d;color:#1b242b;border-radius:50%;width:24px;height:24px;text-align:center;font-weight:800}.client-happy .client-emotion{background:#d6ed96}.client-happy .client-portrait{transform:rotate(-4deg)}.client-unsure .client-portrait{transform:rotate(3deg)}.client-reaction{margin-top:.4rem!important;font-size:.9rem!important}.client-accepted{display:flex;align-items:center;gap:.7rem;padding:.8rem;margin-bottom:1rem;background:#314a35;border-radius:.8rem;animation:piece-land .4s ease}.client-accepted svg{width:60px;height:60px}.client-accepted p{margin:0;font-size:.9rem;line-height:1.5}@keyframes piece-land{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.game-action-board *,.client-accepted{animation:none!important;transition:none!important;transform:none!important}}
/* Illustrated game layer, matching the existing mint / warm lime palette. */
.game-pictogram{display:inline-block;width:32px;height:32px;flex-shrink:0;vertical-align:middle}.rail-button .game-pictogram{width:26px;height:26px}.game-illustration{display:block;width:100%;height:auto;max-height:160px}.mission-art-panel{margin:0 0 1.2rem;border-radius:1rem;overflow:hidden}.warehouse-art{margin-bottom:.8rem}.document-art{border-radius:1rem;overflow:hidden}.game-stock{padding:.8rem;background:linear-gradient(150deg,#2d434d,#23333e);border:1px solid #56746e;border-radius:1rem}.game-stock>b{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#d6e6c6}.stock-trays{gap:.65rem}.drag-piece{position:relative;padding:.85rem .6rem;background:linear-gradient(155deg,#435e63,#30454f);border-color:#759293;box-shadow:inset 0 1px #dbeac022,0 5px 0 #192e38;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.drag-piece:hover:not(:disabled){transform:translateY(-3px);border-color:#c9df9c;box-shadow:inset 0 1px #dbeac033,0 8px 0 #192e38}.drag-piece:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #192e38}.drag-piece>span{height:65px;display:grid;place-items:center}.drag-piece .game-pictogram{width:68px;height:68px;filter:drop-shadow(0 6px 3px #17283255)}.drag-piece small{padding:.2rem .45rem;border-radius:.3rem;background:#182f39;color:#c1d6cf}.order-drop{position:relative;overflow:hidden;border-style:solid;background:radial-gradient(ellipse at 50% 36%,#4b6852 0,#243c35 65%);box-shadow:inset 0 0 0 5px #162e2a66}.order-drop:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#90b59c0a 1px,transparent 1px),linear-gradient(90deg,#90b59c0a 1px,transparent 1px);background-size:22px 22px}.order-drop>*{position:relative}.assembly-scene{height:170px;max-width:210px;filter:drop-shadow(0 12px 9px #10241e66)}.assembly-housing{border-radius:20px;border-color:#9fcdcc;background:linear-gradient(135deg,#6c9f9f,#456b78);box-shadow:inset 0 0 0 4px #345866}.assembly-light{background:linear-gradient(145deg,#f5f4bf,#c6e998);border:3px solid #e6edca;box-shadow:inset 0 0 0 3px #9ebf7d}.assembly-mount{border-color:#d0e2de;box-shadow:2px 0 #729399}.assembly-rays{inset:10px -20px -10px;background:radial-gradient(ellipse at center,#e4f8a635 0,transparent 65%);opacity:0;pointer-events:none}.lamp-ready .assembly-rays{opacity:1}.lamp-ready .assembly-light{box-shadow:0 0 25px 8px #d4ef9670,0 0 60px 16px #e0f7b330}.employee-drop{background:linear-gradient(150deg,#314854,#263b47);border-color:#59797b;box-shadow:0 4px 0 #142934}.employee-heading{justify-content:flex-start;gap:.55rem}.employee-heading>span{width:52px;height:52px;background:#45616a;border-radius:16px;box-shadow:0 3px 0 #172c36;overflow:hidden}.employee-heading>span svg{display:block;width:52px;height:52px}.employee-heading>span .game-pictogram{width:36px;height:36px}.employee-heading>b{font-size:.95rem}.employee-heading>small{padding:.2rem .35rem;border-radius:.3rem;background:#1b303c;font-size:.75rem}.drag-job{display:flex;gap:.4rem;align-items:center;text-align:left;background:linear-gradient(140deg,#506e75,#3d5867);border-color:#88aaa4;box-shadow:0 3px 0 #19313f}.drag-job .game-pictogram{width:28px;height:32px}.drag-job>span{font-size:.8rem}.drag-job small{display:block;font-size:.7rem;font-weight:400;margin-top:.3rem;color:#c7d9d2}.employee-drop.overloaded{background:linear-gradient(140deg,#5b443f,#3b3541);border-color:#d9a37e}.client-character{background:radial-gradient(ellipse at top left,#46645d,#273d4a 75%);border:1px solid #6b8c80;box-shadow:0 6px 0 #162b36;align-items:flex-start;padding:1.15rem}.client-portrait{flex-basis:88px}.client-portrait svg{width:88px;height:88px;box-shadow:0 5px 0 #192e38}.client-emotion{border:3px solid #293f45;box-sizing:content-box;width:26px;height:26px;line-height:26px}.client-character>div:last-child>b{font-size:1rem;color:#eff1d9}.client-reaction{color:#d6e3db!important}.client-happy .client-emotion{animation:reaction-pop .35s ease}.client-unsure .client-portrait svg{filter:saturate(.7)}.drag-ghost{display:flex;align-items:center;gap:.5rem;background:#3e5b56}.drag-ghost .game-pictogram{width:42px;height:42px}.piece-arrived{animation:delivery-bounce .45s ease}.illustration-float{animation:art-arrive .5s ease both}.art-spark{animation:spark-arrive .7s ease both}.mission .primary{box-shadow:0 4px 0 #719047;transition:transform .15s,box-shadow .15s,filter .15s}.mission .primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #719047}.mission .primary:disabled{box-shadow:none}@keyframes art-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spark-arrive{0%,30%{opacity:0}100%{opacity:1}}@keyframes delivery-bounce{0%{transform:scale(.97)}45%{transform:scale(1.015)}100%{transform:scale(1)}}@keyframes reaction-pop{from{transform:scale(.5) rotate(-15deg)}to{transform:scale(1) rotate(0)}}@media(max-width:460px){.mission-art-panel .game-illustration{max-height:130px}.employee-heading{display:grid;grid-template-columns:52px 1fr}.employee-heading>small{grid-column:2;margin-left:0;justify-self:start}.employee-heading>span{grid-row:span 2}.employee-grid{gap:.5rem}.employee-drop{padding:.6rem}.client-portrait{flex-basis:72px}.client-portrait svg{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){.mission *,.game-illustration *{animation:none!important;transition:none!important}.illustration-float{opacity:1;transform:none}.art-spark{opacity:1}}
.sound-controls{display:flex;gap:.35rem;margin-left:auto}.mission-top{flex-wrap:wrap;gap:.5rem}.sound-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#2c414c;color:#e4efd6;border:1px solid #607c76;border-radius:.5rem;padding:.35rem .6rem;font:600 .75rem system-ui;cursor:pointer}.sound-controls button[aria-pressed=true]{background:#3e573b;border-color:#c7dd9e}.sound-controls .game-pictogram{width:22px;height:22px}.sound-option{display:flex;align-items:center;gap:.7rem;line-height:1.5;margin:1rem 0}.sound-option input{width:22px;height:22px;flex-shrink:0}.sound-volume{display:grid;gap:.75rem;margin:1.4rem 0}.sound-volume input{width:100%;min-height:44px;accent-color:#cfe99e}.sound-volume output{font-variant-numeric:tabular-nums}#sound-settings button{min-height:44px}#sound-settings input:focus-visible,.sound-controls button:focus-visible{outline:3px solid #cfe99e;outline-offset:3px}
.sound-option{min-height:44px;margin:.6rem 0}

.scenario-board fieldset{border:1px solid #63717b;border-radius:16px;padding:14px;margin:18px 0;min-width:0}.scenario-art svg{width:100%;max-height:150px}.scenario-shelf,.scenario-chips{display:flex;flex-wrap:wrap;gap:8px}.scenario-token{touch-action:none;cursor:grab;background:#f2dfaa;color:#202c39;border:2px solid transparent;padding:12px;border-radius:10px;max-width:100%;white-space:normal}.scenario-token[aria-pressed=true],.scenario-chips [aria-pressed=true]{border:2px solid #8edbbf;box-shadow:0 0 0 3px #8edbbf33}.scenario-token.held{transform:scale(1.05);opacity:.7}.scenario-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.scenario-zone{min-height:105px;border:2px dashed #729a94;border-radius:12px;padding:10px;background:#263b41}.scenario-zone>div{display:flex;flex-direction:column;gap:6px;margin-top:8px}.scenario-counter{display:flex;align-items:center;justify-content:space-between;gap:12px}.scenario-counter output{font-size:28px;font-weight:700}.scenario-counter button{min-width:48px;min-height:48px}.scenario-chips button{padding:12px;border-radius:10px;border:2px solid #61717d}.company-growth{margin:10px 0 20px;padding:20px;background:#253b40;border:1px solid #5f8177;border-radius:20px}.company-growth h2{font-size:24px;margin:8px 0}.company-growth p,.company-growth small{color:#c0d0c9}.company-growth progress{width:100%;accent-color:#a9dfb0}.growth-tabs{display:flex;gap:8px;margin:14px 0}.growth-tabs button{flex:1;padding:10px;border:1px solid #63867a;border-radius:12px}.growth-tabs [aria-pressed=true]{background:#c7e7aa;color:#203831}.growth-city{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:12px;min-height:150px;background:linear-gradient(transparent,#699d6c44);padding:20px 0}.growth-building{display:flex;flex-direction:column;align-items:center;width:90px;min-height:calc(70px + var(--floors)*20px);background:#8bc0b0;color:#173731;padding:10px;border-radius:8px 8px 0 0;box-shadow:8px 6px #35595b;animation:district-rise .6s both}.growth-building svg,.growth-office svg,.growth-team svg{width:32px;height:32px}.growth-building b{font-size:12px}.growth-office,.growth-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.growth-office>div,.growth-team>div{padding:15px;background:#344c50;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;animation:district-rise .5s both}.growth-office{transform:perspective(800px) rotateX(8deg)}.city-scene[data-growth="6"]{filter:drop-shadow(0 0 18px #a2dca344)}@keyframes district-rise{from{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.growth-building,.growth-office>div,.growth-team>div{animation:none}}

.play-character-reaction{display:flex;gap:12px;align-items:center;padding:14px;background:#365449;border:1px solid #8bbd94;border-radius:16px;margin-bottom:16px;animation:district-rise .4s both}.play-character-reaction>svg{width:60px;min-width:60px;height:60px}.play-character-reaction p{margin:6px 0;font-size:14px}.zone-label{display:block;padding:8px;cursor:pointer}@media(prefers-reduced-motion:reduce){.play-character-reaction{animation:none}}

.living-map [data-city-building]{cursor:pointer;transition:filter .2s}.living-map [data-city-building]:hover,.living-map [data-city-building]:focus{filter:brightness(1.2);outline:none}.building-entry{position:absolute;display:flex;align-items:center;gap:6px;padding:9px 12px;min-height:44px;background:#213e40;border:1px solid #9cc8af;border-radius:12px;box-shadow:0 5px 16px #12252a88;font-size:12px}.building-entry svg{width:23px;height:23px}.building-entry em{font-size:10px;background:#d2ed8a;color:#243b30;padding:2px 5px;border-radius:5px;font-style:normal}.entry-office{left:23%;top:9%}.entry-warehouse{right:12%;top:24%}.entry-factory{left:20%;top:55%}.building-entry[aria-pressed=true]{background:#b9dba6;color:#213c33}.city-motion-toggle{position:absolute;right:8px;bottom:36px;background:#20383ee8;border:1px solid #74988a;border-radius:20px;padding:8px 12px;font-size:11px}.room-stage{min-width:0;border:1px solid #627d79;border-radius:24px;background:#233b41;overflow:hidden;align-self:start;scroll-margin-top:20px}.room-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:#2e4b4d}.room-header h2{font-size:28px}.room-header small{font-size:10px;letter-spacing:.08em}.room-overview{padding:10px 20px 16px;background:radial-gradient(ellipse at 50% 45%,#799b7955,transparent 70%)}.room-cutaway{display:block;width:100%;height:230px}.room-presence{display:flex;align-items:center;gap:10px;background:#1e3339;padding:10px;border-radius:14px}.room-presence>svg{width:44px;height:44px}.room-presence small{display:block;font-size:11px}.presence-dot{width:8px;height:8px;border-radius:50%;background:#cce68c;margin-left:auto;box-shadow:0 0 12px #cce68c77}.room-tabs{display:flex;gap:6px;padding:12px}.room-tabs button{display:flex;align-items:center;justify-content:center;flex:1;gap:6px;padding:10px 4px;border:1px solid #58756e;border-radius:10px;font-size:12px}.room-tabs svg{width:22px;height:22px}.room-tabs [aria-pressed=true]{background:#bdddaf;color:#223b35}.room-task #mission{border:0;border-radius:0;background:#222c3b}.room-next-action{padding:24px;display:grid;gap:14px}.room-next-action p{color:#bbceca}.room-worker{animation:room-work 2s ease-in-out infinite}.factory-belt{display:none}[data-room=factory] .factory-belt{display:block;animation:belt-work .8s linear infinite}.live-people{pointer-events:none}@keyframes room-work{50%{transform:translateY(-3px)}}@keyframes belt-work{50%{opacity:.65}}@media(max-width:1000px){.play-layout:has(.room-stage){display:flex;flex-direction:column}.play-layout:has(.room-stage)>.world{order:0;width:100%}.room-stage{order:1;width:100%}.living-map{max-width:650px;margin:auto}.world:has(+.room-stage) .world-heading h1{font-size:32px}.world:has(+.room-stage) .mentor-tip,.world:has(+.room-stage) .world-bottom{display:none}.world:has(+.room-stage) .company-growth{margin-bottom:12px}.room-cutaway{height:190px}.room-header{padding:15px}.building-entry{font-size:10px;padding:7px}.entry-office{left:13%;top:9%}.entry-warehouse{right:2%;top:23%}.entry-factory{left:12%;top:53%}.city-motion-toggle{bottom:28px;font-size:10px}}@media(prefers-reduced-motion:reduce){.room-worker,.factory-belt{animation:none}}

.city-growth-details{border-top:1px solid #58756b;margin:12px 0;padding:12px 0}.city-growth-details>summary{cursor:pointer;color:#c9e6b0;font-size:13px;padding:8px}.room-live-stats{display:flex;justify-content:space-between;gap:8px;padding:12px 18px;background:#1d3339;font-size:10px;color:#b5cec6}.room-live-stats b{display:block;color:#f1efdd;font-size:15px;font-variant-numeric:tabular-nums}.room-task #mission[hidden]{display:none}

.city-motion-paused .room-worker,.city-motion-paused .factory-belt{animation-play-state:paused}

.room-object-dock{position:relative;margin:8px -10px 16px;padding:18px 10px;border-radius:18px;background:linear-gradient(155deg,#446c6b 0 28%,#345456 28% 52%,#77947c 52%);border-bottom:10px solid #213f43}.object-scene{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.object-scene .game-stock,.object-scene .jobs-pool{background:transparent;border:0;padding:8px}.objects-assembly .stock-trays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:18px 8px 22px;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(50% - 12px),#b58e65 calc(50% - 12px),#b58e65 50%);border-left:8px solid #8d745a;border-right:8px solid #8d745a}.objects-assembly .drag-piece{background:#d3b98e;color:#263e3d;box-shadow:6px 5px #695941;border-radius:5px 5px 2px 2px;min-height:110px;border:2px solid #ead5aa;transform:perspective(500px) rotateY(-5deg)}.objects-assembly .drag-piece small{color:#3a504a}.objects-assembly .drag-piece svg{width:46px;height:46px}.objects-assembly .order-drop{margin:24px 12px 14px;background:#b68b62;color:#1f3939;border:0;border-bottom:14px solid #72553f;border-radius:8px;box-shadow:10px 10px #284347;position:relative}.objects-assembly .order-drop:after{content:'';position:absolute;bottom:-28px;left:12%;right:12%;height:14px;border-left:10px solid #735e47;border-right:10px solid #735e47}.objects-assembly .assembly-scene{background:#d8bf8b;border-radius:50%;box-shadow:inset 0 0 0 2px #876f51}.objects-assembly .order-drop button{color:#203e3a;border-color:#725f49}.objects-assembly .drag-status{padding:14px;background:#253e41;color:#e2edce;border-radius:12px;margin-top:26px}.room-object-dock[data-object-room=warehouse] .order-drop>b:before{content:'Комплектовочная зона · ';font-size:11px}.room-object-dock[data-object-room=factory] .game-stock>b:before{content:'Детали со склада · ';font-size:11px}.objects-team .employee-grid{gap:28px 12px;padding:20px 5px}.objects-team .employee-drop{background:#a1bcb0;color:#203b3b;border:2px solid #c2d3b4;border-bottom:12px solid #5b7970;border-radius:16px 16px 4px 4px;box-shadow:7px 7px #27484b;position:relative;padding-top:20px}.objects-team .employee-drop:before{content:'';display:block;width:48px;height:22px;position:absolute;right:9px;top:-15px;background:#b1e3c8;border:5px solid #284c58;border-bottom-width:8px;transform:skewY(-8deg)}.objects-team .employee-heading{flex-wrap:wrap;gap:6px}.objects-team .employee-heading>span{width:58px;height:58px}.objects-team .employee-heading small,.objects-team .load-label{color:#344f48}.objects-team .employee-drop button[data-place]{color:#193c35;border:1px solid #5c7d6b;background:#d4dfb8}.objects-team .drag-job{background:#f1ddae;color:#2a403b;box-shadow:2px 3px #7c8b68;transform:rotate(-2deg)}.objects-team .jobs-pool{padding:12px;background:#2d4b50;border-radius:12px;color:#edf2dd}.objects-team .overloaded{background:#e0a58a;border-color:#f6c6a8}.objects-scenario fieldset{background:#365455e8;box-shadow:5px 5px #1b3b3d66;border:1px solid #86aa95}.objects-scenario .scenario-shelf{padding:12px 8px;border-bottom:12px solid #a58b63;background:#54706a;border-radius:8px}.objects-scenario .scenario-zone{background:#9fb8a4;color:#203c39;border:2px solid #d2dcc0;border-bottom:10px solid #617d6b;box-shadow:4px 4px #213f4366}.objects-scenario .scenario-token{box-shadow:3px 3px #6b7f5c}.objects-scenario>h2,.objects-scenario>p,.objects-scenario>small{display:block;padding:8px;background:#243e43d9}.object-scene [hidden]{display:none!important}.object-scene button{min-height:44px}.room-task:has(.game-precise) .practical-board>h2,.room-task:has(.game-precise) .practical-board>.team-limits{display:none}@media(max-width:500px){.objects-team .employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objects-team .employee-drop{padding:16px 7px 10px}.objects-team .drag-job{font-size:12px}.objects-team .employee-heading{flex-direction:column}.objects-team .employee-drop button[data-place]{font-size:11px;padding:8px 4px}.objects-assembly .drag-piece{font-size:12px;padding:8px}.room-object-dock{margin-left:-10px;margin-right:-10px}}@media(prefers-reduced-motion:reduce){.objects-assembly .drag-piece,.objects-team .drag-job{transform:none}}

.object-fallback-submit{display:none}.object-submit{width:100%;margin-top:18px}.room-object-dock[data-object-room=warehouse] .object-submit{display:none}.room-object-dock[data-object-room=warehouse] .assembly-scene>*{visibility:hidden}.room-object-dock[data-object-room=warehouse] .assembly-scene:after{content:"";display:block;width:80px;height:60px;border:6px solid #4e766d;border-top:0;transform:skewY(-8deg);position:absolute;top:30%;left:30%;background:#c7b587}.room-object-dock[data-object-room=warehouse] .order-drop>b:before,.room-object-dock[data-object-room=factory] .game-stock>b:before{content:none}

.execution-theatre{background:#244447;border:1px solid #7c9e86;border-radius:18px;padding:14px;margin-bottom:18px}.execution-top{display:flex;justify-content:space-between;gap:8px}.execution-top span{font-size:10px;color:#b8cdc2}.execution-theatre>svg{width:100%;display:block;margin:10px 0}.execution-theatre text{font:12px sans-serif;fill:#eff0d0;letter-spacing:2px}.execution-steps{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:5px}.execution-steps li{font-size:10px;padding:5px 7px;border-radius:5px;color:#c1cec0;background:#325658}.execution-steps [aria-current=true]{color:#203c33;background:#d2e49b}.execution-steps .done{opacity:.65}.execution-caption{margin:12px 0;font-weight:650}.execution-facts{display:flex;gap:8px;flex-wrap:wrap}.execution-facts span{font-size:11px;background:#3b5e56;padding:6px;border-radius:6px}.execution-reaction{margin:12px 0;color:#e4dfb5}.execution-controls{display:flex;gap:6px;flex-wrap:wrap}.execution-controls button{font-size:11px;padding:9px}.process-worker{transform:translate(180px,190px)}.carried-box,.process-box,.process-lamp,.process-client{opacity:0}.execution-theatre[data-phase=carry] .process-worker{animation:carry-parts 2s ease-in-out infinite}.execution-theatre[data-phase=carry] .carried-box{opacity:1}.execution-theatre[data-phase=build] .process-worker,.execution-theatre[data-phase=repair] .process-worker{transform:translate(290px,200px);animation:work-lamp .5s ease-in-out infinite}.execution-theatre[data-phase=build] .process-lamp,.execution-theatre[data-phase=inspect] .process-lamp,.execution-theatre[data-phase=repair] .process-lamp{opacity:1}.execution-theatre[data-phase=inspect] .process-worker{transform:translate(350px,205px)}.execution-theatre[data-phase=pack] .process-box,.execution-theatre[data-phase=arrive] .process-box,.execution-theatre[data-phase=react] .process-box{opacity:1}.execution-theatre[data-phase=pack] .process-worker{transform:translate(425px,217px);animation:pack-order .6s ease-in-out infinite}.execution-theatre[data-phase=arrive] .process-client{opacity:1;animation:client-arrive 2s ease-out both}.execution-theatre[data-phase=react] .process-client{opacity:1}.execution-theatre[data-mood=upset] .client-mouth{transform:translateY(362px) scaleY(-1)}.execution-theatre[data-mood=upset] .execution-reaction{color:#ffcfb6}.process-paused *,.process-stopped *{animation-play-state:paused!important}@keyframes carry-parts{from{transform:translate(130px,193px)}to{transform:translate(280px,200px)}}@keyframes work-lamp{50%{transform:translate(294px,198px) rotate(1deg)}}@keyframes pack-order{50%{transform:translate(420px,213px)}}@keyframes client-arrive{from{transform:translateX(140px)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.execution-theatre *{animation:none!important}}

.execution-theatre[data-kind=team] .carried-box{fill:#f4dfb1;transform:scaleY(.3)}.execution-theatre[data-kind=team] .process-client{display:none}.execution-theatre[data-phase=accept] .process-worker{animation:accept-task 1s ease-in-out infinite}@keyframes accept-task{50%{transform:translate(180px,185px)}}
.incident-panel{background:#27484a;border:2px solid #c5db9e;border-radius:18px;padding:16px;margin-bottom:18px}.incident-panel header{display:block;padding:0;background:transparent}.incident-panel header b{font-size:13px;color:#d5e5b2}.incident-panel p{font-size:13px;margin:12px 0}.incident-panel details{font-size:12px;margin-top:12px}.incident-scene{position:relative;margin:14px 0}.incident-scene svg{width:100%}.incident-locations{display:flex;gap:6px}.incident-problem{flex:1;border:1px solid #c3bd8d;background:#b9cba5;color:#233e3b;border-radius:8px;padding:8px;font-size:10px;min-width:0}.incident-problem:not(:disabled){touch-action:none;cursor:grab;background:#f2d69c;box-shadow:0 0 0 3px #d6b77855}.incident-problem b{display:block;font-size:22px}.incident-carried{outline:4px solid #dfed9a;transform:scale(1.06)}.incident-crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.incident-crew button{border:2px solid #698e7e;border-radius:12px;background:#395e58;display:flex;align-items:center;flex-direction:column;padding:10px 4px;gap:5px;font-size:12px}.incident-crew svg{width:48px;height:48px}.incident-crew small{font-size:10px}.incident-crew [aria-pressed=true]{border-color:#e4eca2;background:#587647}.incident-work{width:100%;margin-top:8px}.incident-preview{padding:10px;background:#1e393d;border-radius:8px}#mission .choices[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.incident-carried{transform:none}}
.incident-crew [aria-pressed=true] svg{animation:incident-worker 1.2s ease-in-out infinite}.incident-panel header{animation:incident-update .4s ease-out}.city-motion-paused .incident-crew svg{animation-play-state:paused}@keyframes incident-worker{50%{transform:translateY(-3px)}}@keyframes incident-update{from{opacity:.5}to{opacity:1}}@media(prefers-reduced-motion:reduce){.incident-crew svg,.incident-panel header{animation:none!important}}
.operational-floor{background:linear-gradient(150deg,#557b6b 35%,#849f79 35% 70%,#43685d 70%);padding:20px;border-radius:12px;margin:16px 0;min-height:170px;display:flex;align-items:center;gap:12px}.operation-problem{touch-action:none;cursor:grab;background:#e5cf98;color:#254239;padding:14px;max-width:55%;border-radius:8px;box-shadow:7px 7px #304c42}.operation-problem span{display:block;font-size:28px}.operational-floor>p{background:#263f3ce8;padding:12px;border-radius:8px}.operation-panel .incident-crew button{font-size:11px}.operation-execute{width:100%}.operation-panel .op-totals{color:#deeba8}.room-object-dock[hidden],#mission[hidden]{display:none!important}
.consequence-stage{position:relative;min-width:0;margin:12px -10px 10px;background:#41665c;border-radius:16px;overflow:hidden}.consequence-scene{display:block;width:100%;min-height:210px}.scene-unit path{stroke:#6b7c5c;stroke-width:1;fill:#d2b985}.scene-unit text{fill:#243e38;font:18px sans-serif}.unit-ready path{fill:#d7e4a4}.unit-risk path{fill:#dcaa82}.scene-location{font:10px sans-serif;fill:#e2e9cb;letter-spacing:1px}.mood-mouth{display:none;fill:none;stroke:#9d6052;stroke-width:2.5;stroke-linecap:round}.consequence-stage[data-mood=happy] .mood-happy,.consequence-stage[data-mood=calm] .mood-calm,.consequence-stage[data-mood=upset] .mood-upset,.consequence-stage[data-mood=waiting] .mood-waiting{display:block}.client-brows{opacity:0}.consequence-stage[data-mood=upset] .client-brows{opacity:1}.scene-carrier{opacity:0}.consequence-counters{display:flex;justify-content:space-around;padding:10px 5px;background:#24483f;font-size:11px;color:#c5dac4}.consequence-counters b{display:block;font-size:22px;color:#ecedcf;font-variant-numeric:tabular-nums}.scene-speech{display:flex;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;background:#2f5149;min-height:70px}.scene-speech b{color:#dce8ac;font-size:11px}.scene-replay{display:block;font-size:11px;margin:8px 12px;padding:8px;border:1px solid #92aa83;border-radius:8px}.scene-action-playing[data-actor=careful] .worker-careful,.scene-action-playing[data-actor=express] .worker-express,.scene-action-playing[data-actor=skip] .worker-skip{animation:scene-worker-task 1.6s ease-in-out 1}.scene-action-playing .scene-carrier{animation:scene-carry-task 1.6s ease-in-out 1}.scene-action-playing[data-quality=unverified] .scene-carrier{animation:scene-skip-task 1.6s ease-in-out 1}.scene-action-playing .scene-client{animation:scene-client-nod .6s 2}.operation-panel .consequence-stage .operation-problem{position:absolute;top:6%;left:3%;padding:8px;max-width:24%;font-size:10px;box-shadow:3px 3px #25483a88;min-height:44px}.operation-panel .consequence-stage .operation-problem span{font-size:20px}.operation-panel .scene-crew{display:contents}.operation-panel .scene-crew button{position:absolute;top:35%;width:22%;min-height:44px;padding:6px 3px;background:#284f45e8;border:1px solid #a4c19d;box-shadow:2px 3px #203a3388;border-radius:8px;gap:3px;font-size:10px}.operation-panel .scene-crew .scene-choice-careful{left:17%}.operation-panel .scene-crew .scene-choice-express{left:39%}.operation-panel .scene-crew .scene-choice-skip{left:61%}.operation-panel .scene-crew [aria-pressed=true]{background:#c3dca2;color:#243d32;border:2px solid #e7edbb}.operation-panel .scene-crew small{font-size:9px;color:inherit}.operation-panel .incident-instruction{font-size:11px;margin:7px 0}.operation-panel .incident-preview:empty{display:none}.operation-panel>header h3{font-size:18px}.scene-options-explanation p{font-size:12px}.physical-work-effect{position:absolute;pointer-events:none;left:4px;bottom:25%;opacity:0;z-index:2}.physical-worker{width:48px;height:80px}.physical-cargo{position:absolute;top:35px;left:24px;width:20px;height:18px;background:#d8bb83;box-shadow:4px 4px #5c775a}.physical-working{animation:physical-transfer 1s ease-in-out 1}.object-scene{position:relative}.city-motion-paused .consequence-stage *{animation-play-state:paused!important}@keyframes scene-worker-task{30%{transform:translate(30px,-10px)}65%{transform:translate(70px,-15px)}100%{transform:none}}@keyframes scene-carry-task{0%{opacity:0;transform:translate(95px,135px)}20%{opacity:1}80%{opacity:1;transform:translate(330px,165px)}100%{opacity:0;transform:translate(350px,165px)}}@keyframes scene-skip-task{0%{opacity:0;transform:translate(95px,135px)}20%{opacity:1}85%{opacity:1;transform:translate(450px,200px)}100%{opacity:0;transform:translate(450px,200px)}}@keyframes scene-client-nod{50%{translate:0 -3px}}@keyframes physical-transfer{0%{opacity:0;transform:translate(0,-40px)}25%{opacity:1}75%{opacity:1;transform:translate(180px,20px)}100%{opacity:0;transform:translate(200px,30px)}}@media(prefers-reduced-motion:reduce){.consequence-stage *,.physical-work-effect{animation:none!important}.scene-carrier{opacity:0}}@media(max-width:500px){.consequence-scene{min-height:195px}.operation-panel .scene-crew button{top:30%;font-size:9px}.scene-speech{font-size:11px}.consequence-counters{font-size:10px}.consequence-counters b{font-size:19px}}
.unit-open path{fill:transparent;stroke-dasharray:3 3;opacity:.3}.scene-incident-problem{position:absolute;left:3%;top:7%;width:auto;padding:9px!important;touch-action:none}.scene-production-stock{padding:12px;font-size:11px;background:#213e37;color:#dce8ba}.incident-panel .scene-crew{display:contents}.incident-panel .scene-crew button{position:absolute;top:35%;width:22%;min-height:44px;padding:6px 3px;background:#284f45e8;border:1px solid #a4c19d;border-radius:8px;gap:3px;font-size:10px}.incident-panel .scene-choice-careful{left:17%}.incident-panel .scene-choice-express{left:39%}.incident-panel .scene-choice-skip{left:61%}.incident-panel .scene-crew small{color:inherit;font-size:9px}.incident-panel .scene-crew [aria-pressed=true]{background:#c3dca2;color:#243d32}@media(max-width:500px){.incident-panel .scene-crew button{top:30%}}

.consequence-space{position:relative}.operation-panel .scene-crew button,.incident-panel .scene-crew button{top:auto;bottom:5%;width:22%}.consequence-space .consequence-scene{display:block}.operation-panel .scene-choice-careful,.incident-panel .scene-choice-careful{left:17%}
.room-overview:has(.consequence-stage)>svg,.room-overview:has(.consequence-stage)>.room-presence{display:none}
.live-work-strip{padding:12px;background:#203f37;border-radius:0 0 12px 12px}.live-work-strip ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:6px;margin:0}.live-work-strip li{font-size:10px;color:#aec0ae;display:flex;flex-direction:column;gap:6px}.live-work-strip li span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #6b8972;border-radius:50%}.live-work-strip [aria-current]{color:#e4f4ae}.live-work-strip [aria-current] span{background:#d5e8a0;color:#243f33;box-shadow:0 0 12px #d5e8a055}.live-work-strip .complete{color:#c2dca1}.live-work-strip p{font-size:11px}.live-work-strip button{font-size:12px;min-height:44px;width:100%}.live-work-prop{position:absolute;left:48%;top:45%;font-size:28px;color:#edf5ba;pointer-events:none}.live-work-prop span{display:none}.live-working[data-live-phase="0"] .scene-carrier{animation:scene-carry-task 3s ease-in-out infinite}.live-working[data-live-phase="0"][data-actor="careful"] .worker-careful,.live-working[data-live-phase="0"][data-actor="express"] .worker-express,.live-working[data-live-phase="0"][data-actor="skip"] .worker-skip{animation:scene-worker-task 3s ease-in-out infinite}.live-working[data-live-phase="1"] .live-part,.live-working[data-live-phase="1"] .live-product,.live-working[data-live-phase="2"] .live-product,.live-working[data-live-phase="2"] .live-check,.live-working[data-live-phase="3"] .live-package{display:inline-block}.live-working[data-live-phase="1"] .live-part{animation:live-fit 1.2s ease-in-out infinite}.live-working[data-live-phase="2"] .live-check{animation:live-inspect 1.2s ease-in-out infinite}.live-working[data-live-phase="3"] .live-package{animation:live-pack 1.5s ease-in-out infinite}.consequence-stage[data-live-phase="2"] .scene-client{animation:scene-client-nod 2s infinite}.city-motion-paused .live-work-prop *{animation-play-state:paused!important}@keyframes live-fit{from{transform:translate(-35px,-20px) rotate(-35deg);opacity:.3}to{transform:translate(4px,8px);opacity:1}}@keyframes live-inspect{50%{transform:scale(1.35);color:#a4e8a7}}@keyframes live-pack{50%{transform:translate(55px,10px) scale(.8)}}@media(prefers-reduced-motion:reduce){.live-work-prop *{animation:none!important}}
.live-working[data-live-phase="1"][data-actor="careful"] .worker-careful .worker-arms,.live-working[data-live-phase="1"][data-actor="express"] .worker-express .worker-arms,.live-working[data-live-phase="1"][data-actor="skip"] .worker-skip .worker-arms{animation:live-tools .7s ease-in-out infinite}.live-working[data-live-phase="2"][data-actor="careful"] .worker-careful,.live-working[data-live-phase="2"][data-actor="express"] .worker-express,.live-working[data-live-phase="2"][data-actor="skip"] .worker-skip{animation:live-worker-check 2s ease-in-out infinite}.live-working[data-live-phase="3"][data-actor="careful"] .worker-careful,.live-working[data-live-phase="3"][data-actor="express"] .worker-express,.live-working[data-live-phase="3"][data-actor="skip"] .worker-skip{animation:live-worker-pack 3s ease-in-out infinite}@keyframes live-tools{50%{transform:translate(4px,-7px) rotate(6deg)}}@keyframes live-worker-check{50%{transform:translate(18px,-6px)}}@keyframes live-worker-pack{50%{transform:translate(55px,-5px)}}
.live-risk .live-check{color:#ffd1a1!important;background:#6b3a32;border-radius:50%;width:30px;text-align:center}
.project-shelf{display:flex;flex-wrap:wrap;gap:8px}.project-token{background:#dfd3a6;color:#253f38;min-height:48px;padding:10px;border-radius:8px;touch-action:none}.project-token[aria-pressed=true]{outline:3px solid #e4f49f}.project-held{opacity:.55}.project-workspace{display:grid;gap:10px;margin:16px 0}.project-timeline{display:grid;gap:6px;border-left:3px solid #bad48d;padding-left:12px}.project-slot{min-height:48px;text-align:left;border:1px dashed #a7bd9a;background:#294c43;color:#e6edcc;white-space:normal}.project-staff{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-workspace [aria-pressed=true]{background:#bbd68f;color:#203d32}.project-status{font-size:12px}.project-board>h2{font-size:23px}.project-board>button.primary{width:100%}@media(max-width:450px){.project-staff{grid-template-columns:1fr}.project-token{font-size:12px}}
.project-site{background:#24463d;border-radius:12px;overflow:hidden}.project-site svg{width:100%;display:block;max-height:160px}.project-board{padding:14px}.project-workspace>[data-project-route]{padding:12px;border:1px solid #6f8a72;border-radius:8px;line-height:1.4;min-height:48px}.project-token{box-shadow:2px 3px #0d292a66}
.install-site{background:#284c42;border:1px solid #88aa82;border-radius:18px;overflow:hidden}.install-site header{padding:14px 16px}.install-site h2{font-size:22px;margin:5px 0}.install-site header small{font-size:10px;color:#c3d8ac}.site-space{position:relative}.site-space>svg{width:100%;display:block}.site-hotspot{position:absolute;min-height:44px;padding:8px;font-size:11px;background:#e0e5b8;color:#244337;border:1px solid #b9cd91;box-shadow:2px 3px #1c403b66;border-radius:8px}.site-gate{left:20%;top:32%}.site-phone{right:1%;bottom:3%}.site-crew{left:45%;bottom:6%}.site-speech{padding:12px 16px;min-height:64px;color:#e4edc8;font-size:13px;background:#203d36}.site-plan-actions{display:grid;gap:7px;padding:12px}.site-plan-actions[hidden]{display:none}.site-plan-actions button,.site-controls button{min-height:44px;font-size:12px;padding:10px;border:1px solid #8ca982;border-radius:8px;background:#345d4d;color:#e1edba}.site-plan-actions [aria-pressed=true]{background:#c1da96;color:#213d32}.site-controls{padding:0 12px 12px}.site-controls button{width:100%}.site-plan-summary{padding:0 14px 12px;font-size:11px;color:#becfae}.site-mouth{fill:none;stroke:#9c6452;stroke-width:2.5;display:none}.install-site[data-route=none] .site-neutral,.install-site[data-route=agree] .site-smile,.install-site[data-route=partner] .site-smile,.install-site[data-route=premature] .site-frown{display:block}.site-person{transform-box:fill-box;transform-origin:center}.site-cabinet,.site-wires,.site-packed,.site-inspect-glow{opacity:0}.site-cargo{transform:translate(185px,260px);opacity:0}.install-site[data-phase="0"] .site-van{animation:site-arrive 3.5s ease-out both}.install-site[data-phase="1"] .site-gate{animation:site-warning 1.4s infinite}.install-site[data-phase="2"] .site-cargo{opacity:1;animation:site-carry 3.5s ease-in-out infinite}.install-site[data-phase="2"] .site-carrier{animation:site-carry-worker 3.5s ease-in-out infinite}.install-site[data-phase="3"] .site-cabinet,.install-site[data-phase="4"] .site-cabinet,.install-site[data-phase="5"] .site-cabinet{opacity:1}.install-site[data-phase="3"] .site-arms{animation:site-drill .5s ease-in-out infinite}.install-site[data-phase="3"] .site-wires{animation:site-wire 3.5s ease-in-out both}.install-site[data-phase="4"] .site-wires,.install-site[data-phase="5"] .site-wires{opacity:1}.install-site[data-phase="4"] .site-inspect-glow{opacity:1;animation:site-warning 1.5s infinite}.install-site[data-phase="5"] .site-packed{opacity:1;animation:site-pack 1.5s ease-in-out infinite}.install-site:not([data-phase="0"]):not([data-phase="1"]) .site-barrier{transform:rotate(-35deg);transform-origin:166px 221px}.install-site[data-status=paused] *,.city-motion-paused .install-site *{animation-play-state:paused!important}@keyframes site-arrive{from{transform:translate(-180px,40px)}to{transform:none}}@keyframes site-warning{50%{filter:brightness(1.25)}}@keyframes site-carry{from{transform:translate(185px,260px)}to{transform:translate(385px,220px)}}@keyframes site-carry-worker{to{transform:translate(170px,-45px)}}@keyframes site-drill{50%{transform:translate(2px,-4px)}}@keyframes site-wire{from{opacity:0}to{opacity:1}}@keyframes site-pack{50%{transform:translate(4px,-3px)}}@media(prefers-reduced-motion:reduce){.install-site *{animation:none!important}.install-site[data-phase="3"] .site-wires{opacity:1}}@media(max-width:450px){.site-hotspot{font-size:10px;padding:5px}.site-space>svg{min-height:230px}.install-site h2{font-size:20px}}
.room-stage:has(.install-site)>.room-overview{display:none}.install-site[data-phase="2"][data-route=premature] .site-barrier{transform:none}.install-site[data-phase="2"][data-route=premature] .site-van{animation:site-bounce 1s ease-in-out infinite}@keyframes site-bounce{50%{transform:translate(4px,-2px)}}
.install-site>header{display:block}.install-site[data-phase="0"] .site-installer,.install-site[data-phase="0"] .site-inspector,.install-site[data-phase="1"] .site-installer,.install-site[data-phase="1"] .site-inspector,.install-site[data-phase="2"] .site-inspector{opacity:0}.install-site[data-phase="2"][data-route=premature] .site-cargo{animation:none;transform:translate(145px,280px)}.install-site[data-phase="2"][data-route=premature] .site-carrier{animation:none}
.manual-item,.manual-target{position:absolute;min-height:44px;padding:6px;font-size:11px;line-height:1.2;border-radius:8px;touch-action:none;white-space:normal}.manual-item{left:3%;width:26%;background:#e7d4a1;color:#28463b;border:1px solid #9ea67e;box-shadow:2px 3px #1e3f3766}.manual-item-0{top:30%}.manual-item-1{top:50%}.manual-item-2{top:70%}.manual-target{left:66%;width:31%;border:2px dashed #c5df9d;background:#274b4188;color:#edf3cf}.manual-target-0{top:30%}.manual-target-1{top:50%}.manual-target-2{top:70%}.manual-active[data-phase="2"] .manual-target{top:68%;left:48%;width:47%}.manual-item[aria-pressed=true]{outline:3px solid #eff5af}.manual-held{opacity:.45}.manual-active[data-status=interactive] .site-hotspot{display:none}.manual-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px;background:#1e3d35;font-size:10px;color:#c7d6aa}.manual-facts b{display:block;font-size:17px;color:#e8efc6}.manual-instruction{display:block;padding:8px 12px;color:#d3dfb7;font-size:11px}.manual-model{padding:12px;font-size:11px;color:#d1dfb8}.manual-model p{line-height:1.6}.manual-active .site-cargo{opacity:0;animation:none!important}.manual-active .site-carrier,.manual-active .site-arms,.manual-active .site-wires{animation:none!important}.manual-active[data-phase="3"] .site-cabinet{opacity:0}.manual-active[data-mounted-frame=true] .site-cabinet{opacity:1}.manual-active .site-device,.manual-active[data-phase="3"] .site-wires{opacity:0}.manual-active[data-mounted-device=true] .site-device,.manual-active[data-mounted-cable=true] .site-wires{opacity:1}.manual-active .site-inspect-glow{opacity:0!important}.manual-active.manual-action .site-cargo{opacity:1;animation:site-carry 1s ease-in-out 1!important}.manual-active.manual-action .site-carrier{animation:site-carry-worker 1s ease-in-out 1!important}.manual-active[data-phase="3"].manual-action .site-arms{animation:site-drill .4s 2!important}.manual-active .site-mouth{display:none!important}.manual-active[data-manual-mood=happy] .site-smile{display:block!important}.manual-active[data-manual-mood=upset] .site-frown{display:block!important}.manual-active[data-manual-mood=calm] .site-neutral,.manual-active[data-manual-mood=waiting] .site-neutral{display:block!important}@media(prefers-reduced-motion:reduce){.manual-active.manual-action *{animation:none!important}}@media(max-width:400px){.manual-item,.manual-target{font-size:10px;padding:4px}.manual-facts{grid-template-columns:repeat(2,1fr)}}
.manual-impact{margin:0;padding:8px 12px;font-size:11px;color:#e3dab2;background:#27473b}.manual-plan{width:100%;margin:5px 0}
.manual-item{display:flex;align-items:center;justify-content:center;gap:4px;background:#284b3a66;border:0;box-shadow:none;color:#f2ebc9;text-shadow:1px 1px #284b3a}.manual-pictogram{width:27px;height:32px;flex-shrink:0;filter:drop-shadow(2px 3px 1px #16372c77)}.manual-target{background:#365d3e55;border-width:1px}.manual-item[aria-pressed=true]{background:#7d9f5b88}
.manual-active[data-phase="4"].manual-action .site-cargo,.manual-active[data-phase="5"].manual-action .site-cargo{opacity:0}.manual-active[data-phase="4"].manual-action .site-inspect-glow{opacity:1!important}

/* Batch planning only: live scene timeline, independent of saved episode outcomes. */
.batch-preview{margin:14px 0;padding:14px;border:1px solid #93b5a6;border-radius:16px;background:#213e3e;color:#fff}
.batch-preview h3{margin:0 0 12px}.batch-timeline{padding:0;margin:0;list-style:none;display:grid;gap:12px}
.batch-timeline li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;align-items:center}.batch-track{display:flex;gap:3px;min-width:0;flex-wrap:wrap}.batch-track i{font-style:normal;padding:7px;border-radius:7px;font-size:12px}.batch-setup{background:#465b5e}.batch-work.red{background:#9f4547}.batch-work.blue{background:#355c91}.batch-timeline strong{grid-column:2;font-size:12px}.batch-timeline [data-late=true] strong{color:#ffd27f}.batch-preview output{display:block;font-weight:800;font-size:19px}.batch-preview p{margin:10px 0;font-size:13px}

/* New training document only; existing boards and batch timeline are unchanged. */
.handover-preview{margin:14px 0;padding:16px;border-radius:14px;background:#f3ead4;color:#263d3e;border-top:8px solid #d6ee85;box-shadow:0 6px 0 #172f3028}.handover-preview header{margin:0 0 12px}.handover-preview h3{margin:7px 0}.handover-preview small{font-size:11px}.handover-lines{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:9px}.handover-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:9px 0;border-bottom:1px solid #b8c2b3}.handover-lines small{grid-column:1/-1}.handover-lines [data-ready=false]{color:#943c2c}.handover-preview output,.handover-preview strong[data-document-profit]{display:block;font-size:18px;font-weight:800}.handover-preview p{font-size:13px;line-height:1.5}.handover-status{font-weight:700}

.handover-preview header{display:block;height:auto;min-height:0;padding:0 0 12px;margin:0 0 12px;background:transparent;border-bottom:1px solid #b8c2b3}.handover-preview small,.handover-preview header small,.handover-preview .handover-lines small{color:#405b5a;font-size:12px}.handover-preview .handover-lines [data-ready=false] small{color:#943c2c}
/* Service district: one engineer, visible work and an editable waiting queue. */
.dispatch-scene{background:#e6eddc;color:#203f3b;border-radius:24px;overflow:hidden;padding:20px;isolation:isolate}.dispatch-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dispatch-heading h2{font-size:clamp(22px,4vw,32px);margin:5px 0;letter-spacing:-.03em}.dispatch-heading small{font-size:10px;letter-spacing:.14em;color:#4c6860}.dispatch-heading output{white-space:nowrap;font-size:22px;font-variant-numeric:tabular-nums}.dispatch-instruction{font-size:14px;line-height:1.5;margin:10px 0}.dispatch-map{height:430px;position:relative;background:radial-gradient(ellipse at 45% 35%,#c1d7b1,#9fbea2);border-radius:18px;overflow:hidden}.dispatch-roads{position:absolute;inset:0;width:100%;height:100%}.dispatch-object{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:31%;max-width:160px;border:0;background:transparent!important;color:#203f3b!important;padding:0;box-shadow:none!important;touch-action:pan-y;z-index:2}.dispatch-object svg{width:100%;height:auto;display:block;filter:drop-shadow(0 7px 5px #264d3d22)}.dispatch-object b,.dispatch-object span,.dispatch-object em{display:block}.dispatch-object b{font-size:16px}.dispatch-object span{font-size:11px;line-height:1.4}.dispatch-object em{font-style:normal;font-size:11px;line-height:1.35;background:#f6f5de;border-radius:8px;padding:5px;margin-top:5px;min-height:26px}.dispatch-object.working em{background:#f8d78f}.dispatch-object.finished em{background:#d5ecc3}.dispatch-client{position:absolute;right:2%;top:35%;font-style:normal;font-size:24px;filter:drop-shadow(0 3px 1px #264d3d33)}.dispatch-object.held{filter:brightness(1.12);outline:3px dashed #3d7763}.dispatch-object:focus-visible,.dispatch-next:focus-visible,.dispatch-swap:focus-visible{outline:3px solid #356f5b;outline-offset:3px}.dispatch-engineer{position:absolute;left:0;top:0;width:36px;height:58px;z-index:3;transform:translate(calc(var(--to-x) - 18px),calc(var(--to-y) - 20px));pointer-events:none}.dispatch-engineer{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-20%)}.dispatch-engineer svg{width:36px;height:58px}.dispatch-engineer span{position:absolute;top:-14px;left:26px;background:#fff4ce;border-radius:10px;padding:2px 5px;font-size:13px;white-space:nowrap}.dispatch-engineer.travel{left:var(--from-x);top:var(--from-y);animation:dispatch-trip var(--travel) linear forwards}.dispatch-engineer.repair svg{animation:dispatch-fix .6s ease-in-out infinite alternate}.dispatch-engineer.check span{background:#d5ecc3}.dispatch-route{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.dispatch-route>b{width:100%;font-size:13px}.dispatch-next,.dispatch-swap{font-size:13px!important;min-height:46px!important;white-space:normal!important;background:#f5f0cc!important;color:#254c40!important;border:1px solid #9ba987!important;border-radius:12px!important;padding:10px!important}.dispatch-next{flex:1;border-style:dashed!important}.dispatch-feedback{font-size:13px}.dispatch-feedback:empty{display:none}.dispatch-totals{display:flex;justify-content:space-between;gap:16px;margin-top:14px;line-height:1.5;font-size:12px}.dispatch-totals span{display:flex;flex-direction:column}.dispatch-totals strong{font-size:22px;font-variant-numeric:tabular-nums}.dispatch-totals b{font-size:16px}@keyframes dispatch-trip{to{transform:translate(calc(-50% + var(--dx)),calc(-20% + var(--dy)))}}@keyframes dispatch-fix{to{transform:rotate(-8deg) translateY(-2px)}}@media(max-width:500px){.dispatch-scene{padding:13px;border-radius:18px}.dispatch-map{height:400px}.dispatch-object{width:32%}.dispatch-object b{font-size:13px}.dispatch-object span,.dispatch-object em{font-size:10px}.dispatch-client{font-size:20px}.dispatch-heading output{font-size:17px}}@media(prefers-reduced-motion:reduce){.dispatch-engineer.travel{animation:none;left:var(--to-x);top:var(--to-y)}.dispatch-engineer.repair svg{animation:none}}

.dispatch-object.waiting{touch-action:none}
.dispatch-object:active{transform:translate(-50%,-50%) scale(.98)}

.trace-lots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.trace-lots>div{padding:12px 8px;background:#d6e5c0;border:2px solid #97b294;border-radius:12px;color:#203e38;text-align:center}.trace-lots [data-affected=true]{background:#f3d8a4;border-color:#bf9660}.trace-lots b,.trace-lots span,.trace-lots small{display:block}.trace-lots small{color:#30483b;font-size:12px}.trace-lots b{font-size:14px}.trace-lots span{font-size:12px;margin:5px 0}.trace-reaction{margin:10px 0;font-weight:650}[data-trace-profit]{display:block;margin-top:10px;font-size:19px;font-variant-numeric:tabular-nums}@media(max-width:500px){.trace-lots{gap:5px}.trace-lots>div{padding:10px 4px}.trace-lots b{font-size:12px}.trace-lots small{font-size:11px}}

.mentor-loads{display:grid;gap:10px;margin:12px 0}.mentor-loads>div{background:#cddfc1;color:#23443c;border-radius:12px;padding:10px 12px}.mentor-loads b,.mentor-loads span{display:block}.mentor-loads b{font-size:14px}.mentor-loads span{font-size:12px}.mentor-loads progress{display:block;width:100%;height:10px;margin:7px 0;accent-color:#487a65}[data-mentor-profit]{display:block;margin:12px 0;font-size:19px;font-variant-numeric:tabular-nums}[data-mentor-reaction]{margin:10px 0}

.rollout-groups{list-style:none;padding:0;display:grid;gap:10px;margin:12px 0}.rollout-groups li{background:#d1e3bf;color:#24443b;border:2px solid #89a684;border-radius:12px;padding:10px}.rollout-groups [data-affected=true]{background:#f2d8a4;border-color:#bd955c}.rollout-groups b,.rollout-groups span,.rollout-groups small{display:block}.rollout-groups b{font-size:14px}.rollout-groups span{font-size:18px;letter-spacing:3px;color:#49685e;line-height:1.5;overflow-wrap:anywhere}.rollout-groups small{font-size:12px;color:#304c42}[data-rollout-profit]{display:block;font-size:19px;margin-top:12px;font-variant-numeric:tabular-nums}[data-rollout-reaction]{margin:10px 0;font-weight:650}

.cutting-bars{display:grid;gap:14px}.cutting-bars b,.cutting-bars small{display:block}.cutting-track{display:flex;gap:2px;min-height:42px;border:2px solid #986644;border-radius:6px;background:repeating-linear-gradient(90deg,#e5c595 0,#e5c595 calc(var(--unit) - 2px),#b18a58 calc(var(--unit)));overflow:hidden;margin:6px 0}.cutting-track span{flex:0 0 calc(var(--piece) - 2px);background:linear-gradient(135deg,#529685,#2d6658);color:white;display:grid;place-items:center;font-weight:700;animation:cutting-place .35s ease-out}.cutting-bars small{font-size:12px}.cutting-bars + p{font-weight:650}[data-cutting-profit]{display:block;font-size:20px;margin-top:12px}@keyframes cutting-place{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cutting-track span{animation:none}}
