.crew-rig { display:block; position:relative; width:100%; height:100%; overflow:visible; }
.crew-rig > [data-sprite] { position:absolute; inset:0; width:100%; height:100%; }
.crew-rig > [data-feet] { position:absolute; }
.wall[data-game='cooling'] .actor-body { animation:none; aspect-ratio:1; filter:none; }
.wall[data-game='cooling'] .arena-actor { bottom:auto; transition:none; }
.wall[data-game='cooling'] .actor-label { bottom:auto; left:0; right:0; margin:0; line-height:1; overflow:visible; }
.wall[data-game='cooling'] .actor-facing { transform-origin:50% 50%; }
.wall[data-game='cooling'] .arena-actors { position:fixed; overflow:hidden; z-index:4; }
.wall[data-game='cooling'] .stage { overflow:hidden; clip-path:inset(var(--arena-top) var(--arena-left)); }
.wall[data-game='cooling'] .cafe-backdrop, .wall[data-game='cooling'] .scene-tint { display:none; }
#cafe-depth { position:fixed; inset:0; width:100%; height:100%; z-index:-2; pointer-events:none; }
#cafe-foreground { position:fixed; inset:0; width:100%; height:100%; z-index:5; pointer-events:none; }
.wall.intro-silhouette #cafe-foreground { filter:brightness(0); z-index:6; }
.wall[data-game='cooling'] .cup-rig,
.wall.boss-stunned[data-game='cooling'] .cup-rig { animation:none; transform-origin:53.7% 87.5%; }
.wall[data-game='cooling'] .boss-gauge { transform:translateY(calc(var(--beat-pulse,0)*-1px)) scaleY(calc(1 + var(--beat-pulse,0)*.025)); }
.wall[data-game='cooling'] .timer-ring { transform:scale(calc(1 + var(--beat-pulse,0)*.025)); }
.wall.time-urgent[data-game='cooling'] .timer-ring { animation:none; transform:scale(calc(1 + var(--beat-pulse,0)*.08)); }
.wall[data-game='cooling'] .cup-shadow { animation:none; transform:scale(calc(1 + var(--beat-pulse,0)*.025)); }
.wall[data-game='cooling'] .stun-stars i { animation:none; }
.wall[data-game='cooling'] .boss-recoil { aspect-ratio:1.5; }
.wall[data-game='cooling'] .mug-face { display:none; }
.wall[data-game='cooling'] .cup-rig > .steam { left:23%; top:-72%; width:53%; height:94%; pointer-events:none; transform-origin:50% 100%; animation:none; }
.wall[data-game='cooling'] .steam img { display:block; width:100%; height:100%; object-fit:fill; }
@keyframes painted-steam { 0%,100% {transform:rotate(-3deg) scale(.97,1);} 50% {transform:rotate(3deg) scale(1.04,.94);} }
.wall[data-game='cooling'] .boss-gauge { left:calc(var(--arena-left) + var(--arena-width)*.18); top:calc(var(--arena-top) + var(--arena-height)*.085); width:calc(var(--arena-width)*.64); }
.wall[data-game='cooling'] .heat-track { height:clamp(10px,calc(var(--arena-width)*.022),42px); border-width:clamp(2px,calc(var(--arena-width)*.002),4px); border-color:#171410; border-radius:22px; background:#000; box-shadow:0 4px 0 #46331c40; }
.wall[data-game='cooling'] #heat-fill,
.wall[data-game='cooling'] #heat-damage { border-radius:16px; }
#heat-damage { position:absolute; left:0; top:0; height:100%; background:#fff; pointer-events:none; }
.wall[data-game='cooling'] .heat-scale { font-size:clamp(10px,calc(var(--arena-width)*.013),25px); margin-top:clamp(3px,calc(var(--arena-width)*.004),7px); }
.wall[data-game='cooling'] .stun-marker { top:50%; transform:translate(-50%,-50%); font-size:clamp(16px,calc(var(--arena-width)*.023),43px); line-height:1.1; }
.wall[data-game='cooling'] #heat-cursor { top:calc(-1 * clamp(22px,calc(var(--arena-width)*.024),46px)); font-size:clamp(10px,calc(var(--arena-width)*.015),28px); padding:2px clamp(5px,calc(var(--arena-width)*.006),12px); }
.wall[data-game='cooling'] #heat-target { display:none; }
.wall[data-game='cooling'] .timer-ring { top:calc(var(--arena-top) + var(--arena-height)*.035); left:calc(var(--arena-left) + 28px); }
.wall[data-game='cooling'] .wall-header { position:fixed; left:calc(var(--arena-left) + 28px); right:calc(var(--arena-left) + 28px); top:calc(var(--arena-top) + 15px); }
.wall[data-game='cooling'] .wall-game-name { top:calc(var(--arena-top) + 20px); left:calc(var(--arena-left) + 28px); }
.wall[data-game='cooling'] #countdown { display:none; }
.wall.intro-hud-hidden .boss-gauge, .wall.intro-hud-hidden .play-card { visibility:hidden; }
.wall[data-phase='lobby'] .boss-gauge,
.wall[data-phase='countdown'] .boss-gauge,
.wall[data-phase='entering'] .boss-gauge { visibility:hidden; }
.wall[data-phase='countdown'] .wall-header { visibility:hidden; pointer-events:none; }
.wall[data-phase='countdown'] #sound-button { visibility:visible; pointer-events:auto; }
.rage-bar { position:fixed; z-index:18; left:var(--arena-left); width:var(--arena-width); height:calc(var(--arena-height)*.115); background:#15130f; transform:scaleY(var(--letterbox,0)); pointer-events:none; }
.rage-bar-top { top:var(--arena-top); transform-origin:50% 0; }
.rage-bar-bottom { bottom:var(--arena-top); transform-origin:50% 100%; }
#rage-overlay[hidden], .rage-bubble[hidden] { display:none; }
.rage-bubble { position:fixed; z-index:9; left:calc(var(--arena-left) + var(--arena-width)*.66); top:calc(var(--arena-top) + var(--arena-height)*.35); width:calc(var(--arena-width)*.30); height:calc(var(--arena-height)*.29); pointer-events:none; transform-origin:0 70%; }
.rage-bubble svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; filter:drop-shadow(3px 5px 0 #562d2270); }
.rage-bubble path { fill:#fffcf0; stroke:#35241b; stroke-width:7; stroke-linejoin:round; }
.rage-bubble strong { position:absolute; inset:11% 7% 9%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#34231a; font-size:calc(var(--arena-width)*.031); font-weight:1000; line-height:1.15; letter-spacing:-.07em; text-align:center; }
.rage-bubble em { color:#dc3b26; font-style:normal; font-size:1.3em; }
.rage-steam { position:fixed; z-index:1; pointer-events:none; }
.rage-steam img { position:absolute; top:0; width:50%; height:110%; object-fit:fill; transform-origin:50% 95%; }
.rage-steam img:first-child { left:-9%; }
.rage-steam img:last-child { right:-9%; }
.wall.boss-raging[data-game='cooling'] .boss-gauge { top:calc(var(--arena-top) + var(--arena-height)*.17); left:calc(var(--arena-left) + var(--arena-width)*.26); width:calc(var(--arena-width)*.48); }
.wall.boss-raging .timer-ring { visibility:hidden; }
.wall.boss-raging .wall-header { z-index:20; }
.wall[data-game='cooling'] .lobby-game-logo {
  position:fixed;
  z-index:3;
  height:auto;
  pointer-events:none;
  user-select:none;
  transform-origin:50% 50%;
}
.wall[data-game='cooling'] .lobby-game-logo[hidden] { display:none; }
.wall:not([data-game])[data-phase='lobby'] :is(#cup-rig,#steam,.cup-shadow),
.wall[data-game='cooling'][data-phase='lobby'] :is(.boss-recoil,#cup-rig,#steam,.cup-shadow,#stun-stars,#impact-rays) {
  visibility:hidden;
}
.wall[data-test='true'] .join-card { display:none !important; }
.wall .test-entry { display:block; color:#47562d; font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:3px; padding:5px 0; }
.test-controls { position:fixed; z-index:30; left:50%; bottom:12px; transform:translateX(-50%); display:flex; align-items:center; gap:12px; padding:8px 14px; max-width:calc(100vw - 20px); background:#fff9e8f2; border:1px solid #8b795c; border-radius:30px; white-space:nowrap; }
.test-controls span { font-size:12px; color:#6d624c; }
.test-controls button { border:0; border-radius:24px; background:#d8e8a5; color:#343d22; padding:10px 20px; font:inherit; font-weight:800; cursor:pointer; }
.test-controls button:active { transform:scale(.95); }
.test-controls button:disabled { opacity:.55; cursor:default; }
.test-controls a { color:#6d624c; text-decoration:none; font-size:12px; }
.test-controls :is(button,a):focus-visible { outline:3px solid #697e3a; outline-offset:3px; }
@media(max-width:400px) { .test-controls { gap:8px; padding:8px 12px; } .test-controls span { font-size:11px; } .test-controls button { padding:10px 14px; font-size:14px; } }
.boss-intro-title { position:fixed; z-index:7; text-align:center; color:white; white-space:nowrap; pointer-events:none; font-weight:1000; line-height:1.05; letter-spacing:-.06em; text-shadow:0 3px 0 #63442c,0 0 4px #63442c; }
.boss-intro-title small { display:block; font-size:.25em; margin-bottom:.15em; letter-spacing:-.04em; }
.boss-intro-title strong { display:block; font-size:1em; }
.intro-flash { position:fixed; z-index:5; background:white; pointer-events:none; opacity:0; }
.intro-lightning { position:fixed; z-index:6; pointer-events:none; opacity:0; overflow:visible; }
.intro-lightning path { fill:none; stroke:#fff; stroke-width:9; stroke-linejoin:round; filter:drop-shadow(0 0 9px #fff); }
.intro-lightning .bolt-right, .intro-lightning.right .bolt-left { display:none; }
.intro-lightning.right .bolt-right { display:block; }
.wall.intro-silhouette .arena-actors { filter:brightness(0); z-index:6; }
.controller .character-preview > .crew-rig { position:absolute; inset:0; }
.controller .phone-action > .crew-rig { position:absolute; width:260px; height:260px; left:50%; top:8px; transform:translateX(-50%); }
.controller .character-preview { aspect-ratio:1; height:auto; }
.controller .character-choice img { height:135px; }
.controller .character-portrait { display:block; width:auto; max-width:100%; height:135px; aspect-ratio:3/4; margin:auto; overflow:hidden; }
@media(max-width:360px) { .controller .character-choice img { height:110px; } }
@media(max-width:360px) { .controller .character-portrait { height:110px; } }
@media(max-width:1200px) {
  .wall[data-game='cooling'] .room-label { display:none; }
}
@media(max-width:600px) {
  .wall[data-game='cooling'] .boss-gauge { top:calc(var(--arena-top) + var(--arena-height)*.14); }
  .wall[data-game='cooling'] .wall-header { top:calc(var(--arena-top) + 4px); right:calc(var(--arena-left) + 5px); left:auto; }
  .wall[data-game='cooling'] .icon-button { width:24px; height:24px; padding:4px; }
  .wall[data-game='cooling'] .wall-game-name { top:calc(var(--arena-top) + 5px); left:calc(var(--arena-left) + 5px); font-size:12px; }
  .wall[data-game='cooling'] .timer-ring { width:34px; height:34px; left:calc(var(--arena-left) + 5px); }
  .wall[data-game='cooling'] #time-left { font-size:19px; }
}
