.game-top{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#142d46;color:white;border-radius:18px;padding:24px}.game-top h2{margin:8px 0}.game-top small{color:#adc8dc}#gameClock{font-size:46px;white-space:nowrap}.game-buttons{display:flex;gap:8px;flex-wrap:wrap;max-width:320px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}#gameApp button,#teacherTools button{padding:10px 14px;border:1px solid #b5c7d7;border-radius:8px;background:#f3f8fc;color:#183d59;font-weight:650;margin:3px}#gameApp button[data-action=pause]{background:#ffdc79;color:#3c2d00}#gameNotice{color:#ac2020;padding:8px;min-height:28px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 20px}.team-card{border-radius:14px;padding:18px;border:2px solid}.team-A{background:#e8f3fb;border-color:#2c7ba9}.team-B{background:#f1eafa;border-color:#9064b6}.team-card h2{margin:0 0 10px}.metrics{font-size:17px;margin-bottom:14px}.queue{display:flex;gap:8px}.customer{display:flex;flex:1;flex-direction:column;background:white;border-radius:8px;padding:8px;border-top:5px solid #447295;gap:5px}.customer.ev{border-color:#85b800}.customer:first-child{box-shadow:0 0 0 2px #27445b}.customer small{font-size:11px}.customer span{font-size:12px}.owner-A{box-shadow:inset 0 0 0 5px #598faf!important;background-image:linear-gradient(90deg,#498cb828,transparent)!important}.owner-B{box-shadow:inset 0 0 0 5px #9670b5!important;background-image:linear-gradient(90deg,#9465b830,transparent)!important}.owner-public{box-shadow:inset 0 0 0 4px #8996a0!important}.spot.closed{filter:grayscale(.8);background-image:repeating-linear-gradient(45deg,#a4a4a4 0 8px,#c8c8c8 8px 16px)!important}.game-badge{position:absolute;bottom:5px;left:6px;right:6px;background:#fffffff0;border-radius:5px;font-size:11px;line-height:1.4;padding:3px;color:#17334b;z-index:4}.configuration{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}#teacherTools label{display:inline-block;margin:6px}#teacherTools input,#teacherTools select{padding:7px;max-width:160px;border:1px solid #b4c5d3;border-radius:5px}fieldset{border:1px solid #c2cfd9;margin:15px 0;border-radius:8px}.spot-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.spot-tool{border:1px solid #c1d0da;padding:12px;border-radius:9px;display:flex;flex-direction:column;gap:7px}.spot-tool span{font-size:12px}details{margin:15px 0}summary{cursor:pointer;font-weight:bold}#countdownOverlay{position:fixed;inset:30% 35%;display:grid;place-items:center;font-size:100px;font-weight:bold;color:#fff;background:#bb3027ed;border-radius:25px;pointer-events:none;z-index:100}#countdownOverlay[hidden]{display:none}.projection #teacherTools,.projection .controls,.projection #source{display:none}.projection .parking-environment{margin-top:12px}@media(max-width:800px){.game-top{flex-wrap:wrap}.team-grid{grid-template-columns:1fr}.spot-tools{grid-template-columns:1fr 1fr}.customer{padding:5px}#countdownOverlay{inset:35% 25%}}

[hidden]{display:none!important}

#gameClock{font-size:clamp(18px,2.4vw,32px)}#phaseTools{background:white;padding:18px;border:1px solid #c2cfd9;border-radius:12px;margin:16px 0}#phaseTools select,#phaseTools input{padding:8px;margin:5px}#startHint{color:#9a3412;font-weight:bold}.ready-exit .game-badge{background:#166534;color:white;font-weight:bold}.projection #startHint{display:none}

.shared-queue .queue{overflow:hidden;min-height:138px}.shared-queue .customer{max-width:220px;min-width:0;animation:queue-arrive .3s ease-out}.queue-car{font-size:36px!important}.shared-queue .departing{animation-fill-mode:both;animation-timing-function:ease-in}.departing.served{animation-name:queue-drive}.departing.angry{animation-name:queue-angry}.shared-queue .transitioning .customer:not(.departing){animation:none}@keyframes queue-drive{to{transform:translateX(-140%) rotate(-5deg);opacity:0}}@keyframes queue-angry{15%,45%{transform:translateX(-6px) rotate(-6deg)}30%,60%{transform:translateX(6px) rotate(6deg)}to{transform:translateY(-130%);opacity:0}}@keyframes queue-arrive{from{transform:translateX(35px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.shared-queue .customer{animation:none!important}}

#controlStatus{padding:12px;background:#e5f3ef;border:1px solid #75a895;border-radius:8px;font-weight:bold;margin-top:10px}dialog{border:0;border-radius:15px;padding:28px;max-width:480px;box-shadow:0 12px 60px #0005}dialog::backdrop{background:#0008}dialog button{padding:12px;margin:8px}
