/* Inspector minigames (minigames-ui.js). Same palette as the inspection dialog in operations.css. */
.minigame{margin:18px 0}.minigame button{touch-action:manipulation}.minigame .primary.full{margin-top:16px;min-height:52px}
.minigame-feedback{min-height:1.6em;color:#d6efa6!important;font-weight:600}.minigame-hint,.minigame-request{text-align:center;font-size:13px!important;color:#c6d8cc!important}.minigame-request b,.minigame-hint b{color:#e1ffd3;font-size:15px}
.minigame-stage{display:grid;place-items:center;gap:14px;min-height:150px;padding:18px;border:1px solid #405d62;border-radius:12px;background:#203b44}
.minigame-timer{height:10px;margin:12px 0;border-radius:6px;background:#102b35;overflow:hidden;width:100%}.minigame-timer span{display:block;height:100%;width:100%;background:#b4ec73;border-radius:6px}
/* Choices with pictures */
.inspection-choices.minigame-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.minigame-swatches button{display:grid;place-items:center;padding:10px}.minigame-swatch{display:block;width:100%;aspect-ratio:1.4;border-radius:8px;border:2px solid #0e242c;box-shadow:inset 0 0 0 2px #ffffff22}
.inspection-choices.minigame-buses{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.minigame-buses button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;text-align:center}.minigame-bus-number{min-width:46px;padding:4px 8px;border-radius:6px;font:800 17px 'Bondis Flecha','Segoe UI',sans-serif;text-align:center}.minigame-bus-interno{font-size:12px;color:#c6d8cc;font-weight:500}.minigame-bus-interno b{display:block;font-size:16px;color:#f1f7ef;letter-spacing:.06em}
.inspection-choices.minigame-plates{grid-template-columns:repeat(2,minmax(0,1fr))}.minigame-plates button{display:grid;place-items:center;padding:10px}
.minigame-plate{display:inline-flex;flex-direction:column;align-items:center;min-width:150px;background:#f6f7f2;border:3px solid #1d2a30;border-radius:7px;overflow:hidden;color:#11181b;box-shadow:0 3px 0 #0e242c}.minigame-plate small{display:block;width:100%;background:#1f4fa3;color:#fff;font:700 8px 'Segoe UI',sans-serif;letter-spacing:.12em;text-align:center;padding:3px 0}.minigame-plate b{font:800 24px 'Bondis Flecha','Segoe UI',monospace;letter-spacing:.08em;padding:4px 12px 6px}
.minigame-plate-slot{min-height:70px;display:grid;place-items:center;text-align:center;color:#c6d8cc}
/* Boarding count */
.minigame-boarding{min-height:110px;display:grid;place-items:center;text-align:center;font-size:18px;color:#e1ecdf}.minigame-boarding-text b{font-size:30px;color:#b4ec73}
.minigame-rider{display:flex;flex-direction:column;align-items:center;gap:6px;animation:minigameRider .45s ease-out}.minigame-rider svg{width:34px;height:54px}.minigame-rider b{font-size:20px}.minigame-rider.up svg{fill:#b4ec73}.minigame-rider.up b{color:#b4ec73}.minigame-rider.down svg{fill:#ff9d8c}.minigame-rider.down b{color:#ffb3a7}
@keyframes minigameRider{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
/* Route order */
.inspection-choices.minigame-order{grid-template-columns:repeat(2,minmax(0,1fr))}.minigame-order button{position:relative}.minigame-order button:disabled{opacity:1;background:#385e32;border-color:#94b975}.minigame-step{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:#b4ec73;color:#122531;font-size:13px}
/* Docking */
.minigame-road{position:relative;height:96px;border-radius:10px;background:#3a474b;overflow:hidden;border:1px solid #5e7378;background-image:linear-gradient(#3a474b 62%,#c9c9b8 62%,#c9c9b8 66%,#2f3a3d 66%)}
.minigame-stop-zone{position:absolute;top:0;bottom:0;background:#4b793e88;border-left:1px dashed #b4ec73;border-right:1px dashed #b4ec73}
.minigame-stop-post{position:absolute;top:6px;bottom:30px;width:3px;background:#e1ecdf;transform:translateX(-50%)}.minigame-stop-post span{position:absolute;top:0;left:50%;transform:translateX(-50%);background:#1f4fa3;color:#fff;font:700 9px 'Segoe UI',sans-serif;padding:3px 5px;border-radius:3px}
.minigame-vehicle{position:absolute;bottom:20px;width:18%;height:34px;border-radius:7px 12px 5px 5px;border:2px solid #0e242c;box-shadow:inset -10px 0 0 #ffffff55}
.minigame-brake{position:absolute;bottom:26px;height:22px;border:2px dashed #ffd27a;border-left:0;border-radius:0 6px 6px 0;transition:opacity .2s}
/* Traffic light */
.minigame-traffic{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px;border-radius:12px;background:#203b44;border:1px solid #405d62}.minigame-traffic .lamp{width:46px;height:46px;border-radius:50%;background:#2c393d;border:3px solid #10191c}
.minigame-traffic.is-red .red{background:#f04a42;box-shadow:0 0 18px #f04a42}.minigame-traffic.is-green .green{background:#52e06a;box-shadow:0 0 18px #52e06a}.minigame-traffic-text{min-width:110px;font-size:16px;color:#e1ecdf}
/* Potholes */
.minigame-lanes{position:relative;display:grid;grid-template-columns:repeat(3,1fr);height:260px;border-radius:12px;overflow:hidden;background:#3a474b;border:1px solid #5e7378}
.minigame-lane{border:0;border-right:2px dashed #c9c9b866;background:transparent;cursor:pointer}.minigame-lane:last-of-type{border-right:0}.minigame-lane:hover{background:#ffffff0d}
.minigame-obstacles{position:absolute;inset:0;pointer-events:none}.minigame-obstacle{position:absolute;width:25.333%;height:13%;opacity:0;transform:translateY(-50%)}
.minigame-obstacle.kind-0{background:radial-gradient(ellipse at center,#141b1d 52%,transparent 56%)}.minigame-obstacle.kind-1{background:#f2c230;border:2px solid #222;border-radius:5px}.minigame-obstacle.kind-1::after{content:'TAXI';display:grid;place-items:center;height:100%;font:800 10px 'Segoe UI',sans-serif;color:#222}
.minigame-obstacle.kind-2{background:linear-gradient(90deg,transparent 40%,#7bd389 40%,#7bd389 60%,transparent 60%);border-radius:8px}
.minigame-player{position:absolute;top:80%;width:25.333%;margin-left:4%;height:16%;transform:translateY(-50%);border-radius:10px 10px 6px 6px;border:2px solid #0e242c;box-shadow:inset 0 8px 0 #ffffff55;transition:left .12s ease-out;pointer-events:none}.minigame-player.hit{animation:minigameHit .4s}
@keyframes minigameHit{0%,100%{filter:none}30%{filter:brightness(.6) sepia(1) hue-rotate(-50deg) saturate(5)}}
.minigame-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.minigame-controls button,.minigame-jam-cell.target{min-height:48px;border:1px solid #72918b;border-radius:10px;background:#294c55;color:#e1ecdf;font:600 15px 'Bondis Flecha','Segoe UI',sans-serif}
/* Bell */
.minigame-strip{position:relative;height:96px;border-radius:12px;background:#203b44;border:1px solid #405d62;overflow:hidden}.minigame-door-mark{position:absolute;left:50%;top:0;bottom:0;width:31%;transform:translateX(-50%);border-left:2px solid #b4ec73;border-right:2px solid #b4ec73;background:#b4ec7314;color:#b4ec73;font:700 9px 'Segoe UI',sans-serif;letter-spacing:.14em;text-align:center;padding-top:5px}
.minigame-sign{position:absolute;top:30px;width:30%;transform:translateX(-50%);padding:8px 4px;border-radius:6px;background:#1f4fa3;color:#fff;text-align:center;font:700 12px 'Segoe UI',sans-serif;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
/* Doors */
.minigame-doors{position:relative;height:120px;border-radius:12px;background:#203b44;border:1px solid #405d62;overflow:hidden}.minigame-queue{position:absolute;inset:0}
.minigame-person{position:absolute;bottom:10px;right:calc(78px + var(--slot)*30px);transform:translateX(calc(var(--walk,0)*(var(--slot)*30px + 52px)));transition:opacity .15s}.minigame-person svg{width:22px;height:36px;fill:#e9c46a}.minigame-person.inside{opacity:0}
.minigame-door-frame{position:absolute;right:16px;bottom:6px;width:44px;height:92px;border:4px solid #b4ec73;border-bottom:0;border-radius:6px 6px 0 0;background:#0e242c;overflow:hidden}.minigame-door-leaf{position:absolute;inset:0;background:#cfe3e8;border-left:2px solid #0e242c;transition:transform .25s}.minigame-door-frame.open .minigame-door-leaf{transform:translateX(88%)}
.minigame-queue-count{text-align:center;margin:10px 0 0}
/* Fuel */
.minigame-tank{position:relative;height:60px;border-radius:12px;background:#102b35;border:2px solid #72918b;overflow:hidden}.minigame-tank-band{position:absolute;top:0;bottom:0;background:#4b793e;border-left:2px solid #b4ec73;border-right:2px solid #b4ec73}
.minigame-tank-fill{position:absolute;left:0;top:14px;bottom:14px;width:0;background:#f5b655;border-radius:0 6px 6px 0;box-shadow:0 0 10px #f5b65588}.minigame-tank-label{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:700 15px 'Segoe UI',sans-serif;color:#fff;text-shadow:0 1px 2px #000}
.minigame-hold{user-select:none;-webkit-user-select:none;touch-action:none}
/* Memory and differences */
.minigame-memory-status{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;background:#203b44;border-radius:9px;font-size:12px}.minigame-memory-status b{font-size:18px;color:#d2ecb4}
.minigame-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:380px;margin:0 auto}
.minigame-card{aspect-ratio:3/4;border:1px solid #72918b;border-radius:9px;background:#294c55;color:#b4c8c9;font:700 22px 'Bondis Flecha','Segoe UI',sans-serif;box-shadow:0 3px 0 #0e242c;cursor:pointer}.minigame-card:hover{border-color:#c0ed86}
.minigame-card.shown{background:#e1ecdf}.minigame-card span{display:inline-block;padding:5px 7px;border-radius:6px;font-size:17px}.minigame-card.matched{opacity:.7;box-shadow:none}.inspection-dialog .minigame-card:disabled{cursor:default;opacity:.7}
.minigame-pictures p{margin:10px 0 4px;text-align:center}.minigame-bus-side{display:block;width:100%;max-width:420px;margin:0 auto;background:#203b44;border-radius:10px}
.minigame-part{cursor:pointer;outline:none}.minigame-part:focus-visible .minigame-hit{stroke:#b4ec73;stroke-width:2}.minigame-hit{fill:transparent}.minigame-found{fill:none;stroke:#b4ec73;stroke-width:3}
.minigame-glass{fill:#cfe3e8;stroke:#0e242c;stroke-width:2}.minigame-crack{fill:none;stroke:#0e242c;stroke-width:1.5}.minigame-sign-text{fill:#ffb347;font:700 11px 'Segoe UI',sans-serif;letter-spacing:.08em}.minigame-number-text{fill:#11181b;font:800 13px 'Segoe UI',sans-serif}
/* Dashboard lights */
.minigame-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.minigame-light{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:84px;padding:10px;border:1px solid #72918b;border-radius:12px;background:#1d363e;color:#c6d8cc;font:600 13px 'Bondis Flecha','Segoe UI',sans-serif;transition:background .1s,box-shadow .1s}.minigame-light span{font-size:26px;line-height:1;opacity:.45}
.inspection-dialog .minigame-light:disabled{opacity:1;cursor:default}
.minigame-light.lit span{opacity:1}.light-0.lit,.light-1.lit{background:#7a5a17;box-shadow:0 0 18px #f5b655;color:#fff}.light-2.lit{background:#7a2626;box-shadow:0 0 18px #f04a42;color:#fff}.light-3.lit{background:#1f4f8a;box-shadow:0 0 18px #80b8f2;color:#fff}
/* Coins */
.minigame-fare{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:#203b44;border-radius:9px;font-size:12px}.minigame-fare span{display:flex;flex-direction:column;gap:4px}.minigame-fare b{font-size:20px;color:#d2ecb4}
.minigame-wallet{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:10px 0}
.minigame-coin{width:58px;height:58px;border-radius:50%;border:3px solid #6b5a1c;background:radial-gradient(circle at 35% 30%,#fff6c4,#d9b44a 60%,#a6852b);color:#3b2f08;font:800 15px 'Segoe UI',sans-serif;box-shadow:0 3px 0 #0e242c;cursor:pointer}.minigame-coin.coin-10,.minigame-coin.coin-25{border-color:#59615f;background:radial-gradient(circle at 35% 30%,#ffffff,#b9c2c0 60%,#7c8583);color:#20292b}.minigame-coin.coin-100{width:64px;height:64px;background:radial-gradient(circle at 50% 50%,#d9dedd 0 42%,#d9b44a 44%,#a6852b)}
.inspection-dialog .minigame-coin:disabled{opacity:.3;cursor:default}.inspection-dialog .minigame-coin.used{opacity:.15;transform:scale(.85)}
/* Tiles */
.minigame-tiles-wrap{position:relative;max-width:372px;margin:0 auto;padding:0 50px}.minigame-gate{position:absolute;transform:translateY(-50%);width:50px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#b4ec73;pointer-events:none}.minigame-gate b{font-size:38px;line-height:1;text-shadow:0 0 12px rgba(180,236,115,.55);animation:minigame-gate-pulse 1.2s ease-in-out infinite}.minigame-gate small{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.minigame-gate.in{left:0}.minigame-gate.out{right:0}.minigame-gate.out b{animation-delay:.6s}
@keyframes minigame-gate-pulse{50%{transform:translateX(5px)}}@media (prefers-reduced-motion:reduce){.minigame-gate b{animation:none}}
.minigame-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:10px;background:#102b35}.minigame-tiles.solved{box-shadow:0 0 0 3px #b4ec73}
.minigame-tile{aspect-ratio:1;padding:0;border:1px solid #405d62;border-radius:6px;background:#5d8a4f;cursor:pointer;overflow:hidden}.minigame-tile span{display:block;width:100%;height:100%;transition:transform .18s ease-out}.minigame-tile svg{display:block;width:100%;height:100%}
.minigame-tile-road{fill:none;stroke:#3a474b;stroke-width:22}.minigame-tile-line{fill:none;stroke:#f1e9b8;stroke-width:2;stroke-dasharray:5 5}.inspection-dialog .minigame-tile:disabled{opacity:1;cursor:default}
/* Tires */
.minigame-chassis{position:relative;width:min(240px,70vw);height:330px;margin:10px auto 0;border-radius:40px 40px 14px 14px;background:var(--bus);border:3px solid #0e242c;box-shadow:inset 0 0 0 10px #00000022}
.minigame-chassis-front{position:absolute;top:10px;left:50%;transform:translateX(-50%);font:700 10px 'Segoe UI',sans-serif;letter-spacing:.14em;color:#0e242c}
.minigame-tire{position:absolute;width:62px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid #0e242c;border-radius:10px;background:#1b2529;color:#e1ecdf;cursor:pointer}.minigame-tire b{font-size:18px}.minigame-tire small{font-size:10px!important;margin:0!important}.minigame-tire.marked{background:#b14245;border-color:#ffd4c7}
.tire-0{left:-24px;top:40px}.tire-1{right:-24px;top:40px}.tire-2{left:-24px;bottom:28px}.tire-3{left:42px;bottom:28px}.tire-4{right:42px;bottom:28px}.tire-5{right:-24px;bottom:28px}
/* Traffic jam */
.minigame-jam{position:relative;width:min(320px,100%);aspect-ratio:1;margin:0 auto;border-radius:10px;background:#3a474b;border:3px solid #102b35}
.minigame-jam-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr)}.minigame-jam-cell{border:1px solid #ffffff10}.minigame-jam-cell.target{min-height:0;margin:3px;border:2px dashed #b4ec73;background:#b4ec7322;cursor:pointer}
.minigame-jam-cars{position:absolute;inset:0;pointer-events:none}.minigame-car{position:absolute;padding:4px;border:0;background:none;pointer-events:auto;cursor:pointer}.minigame-car span{display:grid;place-items:center;width:100%;height:100%;border-radius:8px;background:var(--tone);border:2px solid #0e242c;box-shadow:inset 0 0 0 3px #ffffff33;color:#0e242c;font:800 14px 'Bondis Flecha','Segoe UI',sans-serif}
.minigame-car.bus span{color:#0e242c;box-shadow:inset 0 0 0 3px #ffffffaa}.minigame-car.selected span{outline:3px solid #fff;outline-offset:1px}.inspection-dialog .minigame-car:disabled{cursor:default;opacity:1}
.minigame-jam-exit{position:absolute;right:-3px;top:33.333%;height:16.666%;display:grid;place-items:center;transform:translateX(100%);padding:0 4px;color:#b4ec73;font:700 9px 'Segoe UI',sans-serif;writing-mode:vertical-rl}
@media(max-width:420px){.inspection-choices.minigame-buses{gap:6px}.minigame-bus-number{font-size:15px;min-width:38px}.minigame-traffic .lamp{width:38px;height:38px}.minigame-lanes{height:230px}.minigame-card{font-size:18px}.minigame-card span{font-size:14px;padding:4px 5px}.minigame-coin{width:52px;height:52px}.minigame-tire{width:56px}.minigame-jam-exit{transform:none;right:-5px;width:7px;padding:0;font-size:0;background:#b4ec73;border-radius:3px}}
