/* Графический слой «Смены Тео». Механика и координаты зала остаются в hall.mjs. */
body{background:radial-gradient(ellipse 85% 65% at 15% 17%,#fffaf1 0%,#faf4e8 65%,#f2e8d6 100%)}
.game-layout{align-items:start}
.intro h1{letter-spacing:-.025em;text-wrap:balance}
.intro-copy{color:#2d4268}
.hall{border:3px solid #122a50;box-shadow:0 20px 46px rgba(31,39,62,.15),0 5px 12px rgba(31,39,62,.09)}
.hp-svg #hp-wood rect{fill:#f0d7aa}
.hp-svg #hp-wood path{stroke:#cfa977;stroke-width:1.5}
.hp-svg #hp-tile rect{fill:#e9eff0}
.hp-svg #hp-tile path{stroke:#bdcdd2}
.hp-floor{filter:saturate(1.08)}
.hp-floor-edge{fill:#213f64;stroke:#102948;stroke-width:2;filter:drop-shadow(0 7px 5px rgba(13,29,51,.24))}
.hp-sun{opacity:calc(var(--sun) * .48)}
.hp-walls rect{fill:#183052}
.hp-walls .hp-wall-side{fill:#355176}
.hp-wall-line{stroke:#183052}
.hp-glass{stroke:#80c1e6;opacity:.88}
.hp-bar-top{fill:#edf3f3;stroke:#63809a;stroke-width:2.2;filter:drop-shadow(4px 2px 3px rgba(12,33,57,.22))}
.hp-bar-front{fill:#244a83}
.hp-planters circle{fill:#397a5c;stroke:#245b4a;stroke-width:1.5}
.hp-planters .hp-leaf{fill:#8ed977}
.fu-top{stroke:#9d7b54;stroke-width:2;filter:drop-shadow(2px 4px 2px rgba(80,53,25,.26))}
.fu-white{fill:#fff9ef;stroke:#b6a991}
.fu-long{fill:#d8a46e;stroke:#925c39}
.fu-grey{fill:#adb8ca;stroke:#61738c}
.fu-sofa{fill:#de773d;filter:drop-shadow(2px 3px 2px rgba(77,42,28,.28))}
.fu-bench-blue{fill:#2455b5;filter:drop-shadow(2px 3px 2px rgba(21,40,91,.3))}
.fu-sofa-dark{fill:#293751;filter:drop-shadow(2px 3px 2px rgba(23,28,48,.3))}
.fu-curve{stroke:#738cab;stroke-width:26;filter:drop-shadow(1px 3px 2px rgba(29,41,65,.28))}
.fu-chair,.fu-seat,.fu-pouf,.fu-stool{filter:drop-shadow(1px 2px 1px rgba(44,44,56,.2))}
.fu-table-side{fill:#9a6b42;stroke:#70492e;stroke-width:1.6;filter:drop-shadow(3px 5px 3px rgba(67,46,31,.24))}
.fu-table-side.fu-grey-side{fill:#6b7990;stroke:#46566d}
.fu-table-side.fu-long-side{fill:#945833;stroke:#693c26}
.fu-sofa-side{fill:#9a472b;stroke:#713622;stroke-width:1.3}
.fu-stool-side{fill:#5e697b;stroke:#445266;stroke-width:1.2}
.fu-chair-side{fill:#9f835c;stroke:#755a40;stroke-width:1.3}
.fu-seat-side{fill:#7d553c;stroke:#5a3d2e;stroke-width:1.3}
.fu-pouf-side{fill:#a34d2e;stroke:#793721;stroke-width:1.3}
.fu-curve-side{fill:none;stroke:#4c6583;stroke-width:26;stroke-linecap:round}
.fu-menu{fill:#fff8e9;stroke:#ad906d;stroke-width:1.2;filter:drop-shadow(1px 1px 1px rgba(53,40,31,.2))}
.fu-menu-line{fill:none;stroke:#cc5b45;stroke-width:1.3;stroke-linecap:round}
.fu-chopsticks{fill:none;stroke:#7d5035;stroke-width:1.4;stroke-linecap:round}
.fu-cup{fill:#f8f9ec;stroke:#557a89;stroke-width:1.2}.fu-cup-tea{fill:#c87539}

/* Фигурки заметнее без изменения посадочных мест и маршрутов. */
.p-aura{fill:#18314d;fill-opacity:.3;stroke:none;transform:translate(-2px,9px) scaleY(.52);transform-box:fill-box;transform-origin:center;filter:blur(1px)}
.hp-person.is-active .p-aura{fill:#ffc82d;fill-opacity:.8;filter:blur(2px)}
.hp-person.is-linked .p-aura{fill:#fff;fill-opacity:.8;filter:blur(2px)}
.hp-person[data-phase="leave"] .p-aura{opacity:.45}
.hp-person .p-shape{scale:1.13;transform-box:fill-box;transform-origin:center;filter:drop-shadow(1px 2px 1.5px rgba(14,29,50,.42))}
.hp-person .p-shoulders{stroke:#243248;stroke-width:2.1}
.hp-person .p-hair{stroke:#fff9eb;stroke-width:.8}
.hp-person[data-look="nao"] .p-hair{stroke:#ccdafa}
.hp-person[data-look="guest"] .p-hair{stroke:#f7d598}
.hp-person[data-look="delivery"] .p-box{filter:drop-shadow(0 0 4px rgba(255,198,44,.52))}
.hp-person.is-live:hover .p-select{opacity:.7;stroke:#fff}
.hp-person.is-active .p-select{stroke:#ffc82d;stroke-width:5;filter:drop-shadow(0 0 4px rgba(255,199,37,.65))}
.hp-person.is-linked .p-select{stroke:#fff;stroke-width:5}
.hp-person[data-walk="1"] .p-hand-l{animation:p-hand-left .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.hp-person[data-walk="1"] .p-hand-r{animation:p-hand-right .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.hp-person[data-phase="eat"] .p-hand-r{animation:p-eating-hand .65s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.hp-badge{scale:1.12;transform-box:fill-box;transform-origin:center;filter:drop-shadow(1px 2px 1px rgba(24,38,59,.3))}
.hp-num circle{fill:#113366;stroke:#f4d577;stroke-width:1}
.hp-num text{font-size:11px;font-weight:900}
.hp-pop.is-plus{box-shadow:0 4px 10px rgba(19,32,55,.2);font-size:clamp(11px,1.85cqw,16px)}
.hp-clock{padding:6px 12px 6px 7px;background:rgba(8,40,85,.94);border:1px solid rgba(255,255,255,.45);box-shadow:0 5px 14px rgba(16,33,57,.26)}
.hp-guests{right:1.2%;bottom:2.5%;display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(255,255,255,.45);border-radius:13px;background:rgba(8,40,85,.94);color:#fff;box-shadow:0 5px 14px rgba(16,33,57,.26)}
.hp-guests>span{font:900 clamp(8px,1.12cqw,10px)/1 var(--body);letter-spacing:.03em;white-space:nowrap;color:#d8e7f6}
.hp-guests>strong{font:900 clamp(13px,2cqw,19px)/1 var(--body);font-variant-numeric:tabular-nums;color:#ffce36}
.hp-guest-faces{display:flex;align-items:center;padding-left:4px}
.hp-guest-face,.hp-guest-faces b{display:grid;place-items:center;width:25px;height:25px;margin-left:-5px;border:2px solid #fffaf0;border-radius:50%;background:#f8d6b8;color:#102c5a;font:900 9px var(--body);box-shadow:0 2px 4px rgba(4,19,38,.22)}
.hp-guest-face[data-look="mia"]{background:#f8d6b8 url('assets/guest-mia.webp') center/cover}
.hp-guest-face[data-look="nao"]{background:#e2e7f2 url('assets/guest-nao.webp') center/cover}
.hp-guest-face[data-look="courier"]{background:#f4d29b url('assets/guest-courier.webp') center/cover}
.hp-guest-face[data-look="delivery"]{background:radial-gradient(circle at 50% 38%,#1b3354 0 3px,transparent 4px),radial-gradient(ellipse at 50% 110%,#1b3354 0 7px,transparent 8px),#ffce36}
.hp-guest-face[data-look="guest"]{background:radial-gradient(circle at 50% 38%,#274a73 0 3px,transparent 4px),radial-gradient(ellipse at 50% 110%,#274a73 0 7px,transparent 8px),#d7e4f4}

/* Открытая кухня внутри плана: холодная сталь и тёплый жар станций. */
.kt-floor{stroke:#adc1c8;stroke-width:1.5}
.kt-backsplash{fill:#17365a;stroke:#567891;stroke-width:1.2}
.kt-backsplash-line{fill:none;stroke:#f7cb65;stroke-width:3;stroke-linecap:round}
.kt-steel-side{fill:#8299a4;stroke:#4d6776;stroke-width:1.6;filter:drop-shadow(2px 4px 2px rgba(25,42,59,.28))}
.kt-steel{fill:url(#hp-steel);stroke:#6c8495;stroke-width:2;filter:drop-shadow(2px 4px 2px rgba(32,54,76,.3))}
.kt-island{fill:#cbdde0;stroke:#5d8090}
.kt-shelf{fill:#c3d2da}
.kt-burners circle{fill:#162a44;stroke:#66859b;stroke-width:2}
.kt-pot-rim{fill:#718597;stroke:#eaf4f2;stroke-width:1.5;filter:drop-shadow(1px 2px 2px rgba(23,37,51,.45))}
.kt-soup{fill:#f6a858}
.kt-broth{fill:#e4c37c}
.kt-bubble{fill:#fff4d3}
.kt-flame{stroke:#ff692c;filter:drop-shadow(0 0 7px #ff6f27)}
.kt-heat-halo{fill:url(#hp-heat);opacity:.35;transition:opacity .4s}
.hall[data-heat="1"] .kt-heat-halo{opacity:.58}
.hall[data-heat="2"] .kt-heat-halo,.hall[data-heat="3"] .kt-heat-halo{opacity:1}
.kt-wok-pan{fill:#14263a;stroke:#8aa0ab;stroke-width:2}
.kt-wok-spot{filter:drop-shadow(0 0 8px rgba(255,100,39,.52))}
.kt-board{fill:#cf9464;stroke:#8b5d38;stroke-width:2;filter:drop-shadow(2px 3px 1px rgba(52,40,35,.2))}
.kt-board-side{fill:#96613d;stroke:#784c2f;stroke-width:1.4}
.kt-bowls circle{stroke-width:2}
.kt-puff{fill:#fff9e6;filter:drop-shadow(0 0 3px #fff)}
.k-cook{filter:drop-shadow(1px 3px 2px rgba(15,31,50,.38))}
.k-cook .k-bob{scale:1.12}
.k-cook .k-jacket{fill:#fff8e6;stroke:#9fb5bd;stroke-width:2}
.k-cook-1 .k-jacket{fill:#eef8ed;stroke:#5b8b71}
.k-cook-2 .k-jacket{fill:#fff0cf;stroke:#b99251}
.k-theo .k-jacket{fill:#123e77;stroke:#061b3c}
.t-curl{stroke:#fff1d1;stroke-width:.55}
.hp-slip{filter:drop-shadow(1px 2px 1px rgba(13,33,52,.24))}
.hp-dish.is-ready{filter:drop-shadow(0 0 5px rgba(255,205,54,.55))}
.hall[data-mode="shift"] .hp-sun{animation:sun-cross 115s linear infinite alternate}
.hall[data-mode="shift"] .hp-planters .hp-leaf{animation:leaf-sway 3.2s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.hall[data-mode="shift"] .kt-wok{animation:wok-live 1.15s ease-in-out infinite}
.hall[data-heat="2"] .kt-wok,.hall[data-heat="3"] .kt-wok{animation-duration:.72s}
.hall[data-heat="2"] .kt-heat-halo,.hall[data-heat="3"] .kt-heat-halo{animation:heat-breathe 1.1s ease-in-out infinite alternate}

/* Чеки и постоянное табло очков — основные ориентиры игрока. */
.ticket-rack{background:linear-gradient(145deg,#174d83 0%,#0b336e 56%,#071f4e 100%)}
.rack-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:51px}
.rack-title{min-width:0;display:grid;gap:3px}
.rack-title strong{font:900 20px/1.02 var(--display);letter-spacing:.01em}
.rack-title #queue-status{text-align:left;color:#d2e5f7;font-size:10px;line-height:1.28}
.score-hud{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:baseline;min-width:101px;padding:8px 11px 7px;border-radius:8px;background:#ffce36;color:#08275b;box-shadow:0 5px 12px rgba(5,17,40,.24),inset 0 1px rgba(255,255,255,.5);position:relative}
.score-hud small{font-size:9px;font-weight:900;letter-spacing:.1em;line-height:1}
.score-hud strong{font:900 27px/1 var(--body);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.score-hud em{top:auto;right:0;bottom:-15px;z-index:4;padding:2px 6px;border-radius:4px;background:#fffaf0;color:#b82320;box-shadow:0 3px 7px rgba(5,17,40,.22)}
.score-hud.is-tick{animation:score-tick .55s cubic-bezier(.2,.9,.2,1)}
.ticket{box-shadow:0 6px 11px rgba(4,18,41,.35);filter:drop-shadow(0 2px 1px rgba(4,18,41,.16))}
.ticket.is-active{box-shadow:0 6px 12px rgba(4,18,41,.32),0 0 0 2px var(--yellow)}
.ticket.is-urgent{animation:receipt-urgent 1.15s ease-in-out infinite alternate}
.worktop-head{background:#f0e7d4;border-bottom:3px solid #d7b677}
.steps span{font-size:11px}
.steps .is-active:after{height:4px;background:#df392d}
.controls{background:#102f63}

/* Живая открытая кухня за стойкой в паузах между заказами. */
.counter-scene{background:linear-gradient(180deg,#f9ebcb 0%,#e3c08b 73%,#b47c49 100%)}
.scene-wall{background:linear-gradient(180deg,rgba(255,255,255,.36),transparent 55%),repeating-linear-gradient(0deg,transparent 0 41px,#8e6f4b25 42px 44px),repeating-linear-gradient(90deg,#f2dcb5 0 75px,#faeacb 76px 151px)}
.scene-wall::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 90% at 47% 8%,#fff3c792,transparent 80%);pointer-events:none}
.scene-sign{box-shadow:3px 6px 13px rgba(49,30,17,.22);border:2px solid #e4cda3}
.scene-shelf{box-shadow:0 4px 0 #a66e42,0 9px 13px rgba(71,39,20,.25)}
.scene-pendants{position:absolute;inset:0;pointer-events:none}
.scene-pendants i{position:absolute;top:0;width:34px;height:48px;border-radius:0 0 48% 48%;background:linear-gradient(180deg,#203a60 0 29px,#d5ac62 30px 38px,#1f3658 39px 48px);box-shadow:0 7px 22px rgba(255,211,118,.52)}
.scene-pendants i::before{content:"";position:absolute;left:16px;top:-18px;width:2px;height:30px;background:#2b3c54}
.scene-pendants i::after{content:"";position:absolute;left:-30px;top:32px;width:94px;height:96px;background:linear-gradient(180deg,rgba(255,226,149,.28),transparent);clip-path:polygon(34% 0,66% 0,100% 100%,0 100%)}
.scene-pendants i:nth-child(1){left:22%}.scene-pendants i:nth-child(2){left:52%}.scene-pendants i:nth-child(3){left:82%}
.scene-theo{filter:drop-shadow(4px 9px 7px rgba(40,30,32,.32));animation:theo-idle 3.8s ease-in-out infinite}
.scene-bowl{position:absolute;left:5%;bottom:77px;z-index:1;width:140px;height:112px;overflow:visible;filter:drop-shadow(3px 6px 5px rgba(58,35,18,.27))}
.scene-bowl-shadow{fill:#62472a46}.scene-bowl-rim{fill:#e6e8de;stroke:#24416b;stroke-width:4}.scene-bowl-soup{fill:#ba6d34;stroke:#f7e7bc;stroke-width:4}.scene-bowl-noodles{fill:none;stroke:#f2d89a;stroke-width:4;stroke-linecap:round}.scene-bowl-egg{fill:#fff3d5}.scene-bowl-yolk{fill:#fbbd38}.scene-bowl-leaf{fill:#4b9a59}.scene-bowl-steam{fill:none;stroke:#fff9e3;stroke-width:4;stroke-linecap:round;opacity:.7;animation:scene-steam 2.4s ease-in-out infinite}
.scene-counter{background:linear-gradient(180deg,#c4864b 0 8px,transparent 8px calc(100% - 10px),#572c1c calc(100% - 10px)),repeating-linear-gradient(90deg,#8f5639 0 82px,#7f482e 83px 87px);box-shadow:0 -7px 18px rgba(45,25,16,.22)}
.counter-label{background:#fff5dc;box-shadow:0 4px 9px rgba(55,31,17,.22)}

@media(min-width:1000px){
  .game-layout{width:min(1410px,calc(100% - 40px));grid-template-columns:minmax(0,1.35fr) minmax(460px,.95fr);column-gap:24px}
  .intro h1{font-size:clamp(42px,4vw,56px)}
  .hall{border-radius:18px}
  .hp-svg{transform:perspective(1150px) rotateX(13deg) scale(1.07);transform-origin:50% 46%}
}
@media(max-width:999px){.hall{border-radius:14px 14px 0 0}.hp-svg{transform:none}}
@media(max-width:520px){
  .rack-head{min-height:47px;padding:0 11px;gap:7px}
  .rack-title strong{font-size:16px}
  .rack-title #queue-status{font-size:9px}
  .score-hud{min-width:74px;column-gap:4px;padding:7px 8px 6px}
  .score-hud small{font-size:7px;letter-spacing:.04em}
  .score-hud strong{font-size:22px}
  .hp-person .p-shape{scale:1.08}
  .hp-badge{scale:1.22}
  .hp-guests{gap:4px;padding:4px 7px;border-radius:10px}
  .hp-guests>span{font-size:8px}
  .hp-guests>strong{font-size:13px}
  .hp-guest-face,.hp-guest-faces b{width:20px;height:20px;border-width:1px;margin-left:-4px;font-size:7px}
  .scene-pendants i:nth-child(1){left:17%}.scene-pendants i:nth-child(2){left:49%}.scene-pendants i:nth-child(3){left:81%}
  .scene-pendants i{scale:.76;transform-origin:top center}
  .scene-bowl{left:2%;bottom:54px;width:95px;height:76px}
  .scene-theo{filter:drop-shadow(2px 5px 5px rgba(40,30,32,.3))}
}
@media(max-width:360px){.rack-title strong{font-size:15px}.score-hud{min-width:67px}.score-hud strong{font-size:20px}.scene-bowl{left:1%;width:78px}.hp-person .p-shape{scale:1.04}.hp-guest-face,.hp-guest-faces b{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.score-hud.is-tick,.scene-theo,.scene-bowl-steam,.ticket.is-urgent,.hall .hp-sun,.hall .hp-planters .hp-leaf,.hall .kt-wok,.hall .kt-heat-halo,.hall .p-hand{animation:none!important}}
@keyframes score-tick{0%{transform:scale(1)}38%{transform:scale(1.09)}100%{transform:scale(1)}}
@keyframes receipt-urgent{to{filter:drop-shadow(0 0 8px rgba(231,69,49,.55))}}
@keyframes theo-idle{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}
@keyframes scene-steam{0%,100%{opacity:.2;transform:translateY(5px)}50%{opacity:.8;transform:translateY(-7px)}}
@keyframes sun-cross{0%{transform:translateX(-22px)}100%{transform:translateX(38px)}}
@keyframes leaf-sway{from{transform:rotate(-7deg)}to{transform:rotate(8deg)}}
@keyframes wok-live{0%,100%{transform:translate(0,0) rotate(0)}32%{transform:translate(-3px,-8px) rotate(-9deg)}68%{transform:translate(4px,-3px) rotate(8deg)}}
@keyframes heat-breathe{from{opacity:.64;transform:scale(.94)}to{opacity:1;transform:scale(1.1)}}
@keyframes p-hand-left{from{transform:translateY(-2px)}to{transform:translateY(3px)}}
@keyframes p-hand-right{from{transform:translateY(3px)}to{transform:translateY(-2px)}}
@keyframes p-eating-hand{from{transform:translate(-1px,0)}to{transform:translate(3px,-5px)}}
