/* Four scenes, one team. All animated work stays within this small stage. */
.night-section { background:radial-gradient(ellipse at 100% 27%,#efc76528,transparent 45%),linear-gradient(155deg,#e7efff,#f5f7fc 75%); }
.night-section h2 mark { background:linear-gradient(transparent 59%,#f2ce6a 59%,#f2ce6a 90%,transparent 90%); }
.night-stage { border:2px solid #b69c58; border-radius:20px; box-shadow:0 0 0 5px #153e8e0c,7px 9px 0 #153e8e17,0 17px 38px #081c4520; }
.night-stage .stage-topline { padding:13px 17px; background:linear-gradient(110deg,#153c83,#071a40); border-bottom:1px solid #efc76570; }
.night-stage .stage-open { color:#e3ebff; }
.night-stage .stage-open i { width:6px; height:6px; box-shadow:0 0 0 4px #efc76518,0 0 14px #efc765; }
.night-stage #night-time { font-size:25px; text-shadow:0 0 19px #efc76533; }
.night-stage .night-floor { height:360px; background:radial-gradient(ellipse at 51% 23%,#2759ad 0,#102d60 44%,#030e24 100%); contain:layout paint; }
.night-stage .night-floor::after { height:80px; background:linear-gradient(transparent,#06142fa6); z-index:3; }
.night-stage .club-lights { z-index:1; }
.night-stage .light-beam { width:220px; height:440px; opacity:.8; }
.night-stage .beam-gold { left:-30px; background:linear-gradient(#ffe2a8b3,#ffdc7135 45%,transparent 90%); animation:show-light-left 5.8s var(--soft) infinite; }
.night-stage .beam-blue { right:-45px; background:linear-gradient(#8db5ffd9,#387dff44 44%,transparent 90%); animation:show-light-right 6.5s var(--soft) -2s infinite; }
.night-stage .beam-center { left:36%; width:150px; opacity:.48; background:linear-gradient(#f7da8d80,#a3c8ff26 50%,transparent 92%); animation:show-light-center 7.3s var(--soft) -1s infinite; }
.night-stage .glow-mote { width:5px; height:5px; animation-duration:4.6s; }
.show-rays { position:absolute; z-index:0; left:50%; top:45%; width:760px; height:760px; margin:-380px 0 0 -380px; pointer-events:none; opacity:.25; background:repeating-conic-gradient(from 10deg,transparent 0deg 18deg,#4f85d927 18deg 19.5deg,transparent 19.5deg 30deg); animation:show-rays-turn 44s linear infinite; }
.show-word { position:absolute; top:9px; left:13px; right:10px; z-index:1; font:900 italic clamp(48px,6.7vw,82px)/1 var(--display); letter-spacing:-1.8px; white-space:nowrap; color:#efc76512; -webkit-text-stroke:1.2px #f4d686; opacity:.43; transform-origin:10% 50%; }
.show-callout { position:absolute; top:93px; left:17px; z-index:8; display:flex; align-items:center; gap:13px; padding:7px 13px 9px; rotate:-7deg; color:#081c43; background:#f3ce72; border:2px solid #081b3d; box-shadow:3px 4px 0 #0a183c,0 0 18px #efd17722; font-size:20px; font-weight:900; letter-spacing:-.8px; line-height:1.3; transform-origin:10% 90%; }
.show-callout::after { content:""; position:absolute; right:20px; bottom:-8px; width:11px; height:11px; background:#f3ce72; border-right:2px solid #081b3d; border-bottom:2px solid #081b3d; transform:skewY(35deg); }
.show-callout>i { font:900 20px/1 Arial; font-style:normal; }
.night-stage[data-step="1"] .show-callout { background:#d8e9ff; color:#113d8c; }
.night-stage[data-step="1"] .show-callout::after { background:#d8e9ff; }
.night-stage[data-step="2"] .show-callout { background:#ffe8a7; }
.night-stage[data-step="2"] .show-callout::after { background:#ffe8a7; }
.night-stage[data-step="3"] .show-callout { font-size:18px; background:#f9d675; }
.night-stage[data-step="3"] .show-callout::after { background:#f9d675; }
.night-stage .lounge-arch { top:54px; height:116px; border-color:#efc76554; }
.night-stage .arch-left { left:19px; }
.night-stage .arch-right { right:19px; }
.night-stage .floor-grid { inset:108px -45px -65px; opacity:.7; background-size:43px 43px; }
.night-stage .floor-counter { left:36%; top:92px; width:39%; height:60px; border-color:#c5a55db8; }
.night-stage .floor-counter>span { font-size:14px; }
.night-stage .floor-table { width:65px; height:39px; border-color:#cbb36d8f; }
.night-stage .table-one { left:13%; top:193px; }
.night-stage .table-two { right:12%; top:241px; }
.night-stage .table-three { left:43%; top:298px; }
.night-stage .shift-person { width:28%; max-width:132px; transition:transform 1.35s var(--fluid),opacity .65s var(--soft); transform-origin:50% 85%; }
.night-stage .shift-system { left:41%; top:78px; width:30%; max-width:143px; }
.night-stage .shift-handy { left:1%; top:143px; }
.night-stage .shift-order { right:0; top:183px; width:29%; }
.night-stage .shift-manager { left:26%; top:222px; width:27%; max-width:124px; }
.night-stage .shift-person>.crew-sprite { animation:show-crew-float 3.6s var(--soft) infinite; filter:drop-shadow(0 4px 3px #0008) drop-shadow(0 0 4px #8bbcff66); }
.night-stage .shift-handy>.crew-sprite { animation-delay:-.9s; }
.night-stage .shift-order>.crew-sprite { animation-delay:-1.8s; }
.night-stage .shift-manager>.crew-sprite { animation-delay:-2.7s; }
.night-stage .shift-person>b { padding:3px 8px; font-size:8px; border-color:#d2b57088; background:#06152cf5; letter-spacing:1.4px; }
.night-stage .night-ticket { top:40px; right:14px; width:111px; padding:12px 10px 15px; box-shadow:4px 7px 0 #0004,0 0 18px #efc76518; }
.night-stage .night-ticket small { font-size:9px; }
.night-stage .night-ticket strong { font-size:22px; }
.night-stage .stage-message { bottom:14px; right:13px; z-index:10; padding:7px 12px; color:#fff0bb; background:#081d46ed; font-size:11px; letter-spacing:.4px; }
.night-stage .floor-spark { z-index:3; }
.night-stage .fs-one { top:155px; left:35%; font-size:24px; }
.night-stage .fs-two { top:276px; right:34%; font-size:19px; }
.night-stage .order-path,.night-stage .order-dot { display:none; }
.night-stage[data-step="0"] .shift-handy { transform:translate(-3px,3px) rotate(-4deg); }
.night-stage[data-step="0"] .shift-order { transform:translate(-3px,-4px) rotate(3deg); }
.night-stage[data-step="0"] .shift-manager { transform:translate(0,-6px) rotate(-3deg); }
.night-stage[data-step="1"] .shift-handy { transform:translate(18px,-23px) rotate(-7deg) scale(1.17); z-index:7; }
.night-stage[data-step="1"] .shift-order { transform:translate(-20px,-22px) rotate(7deg) scale(1.17); z-index:7; }
.night-stage[data-step="1"] .shift-manager { transform:translate(-11px,0) scale(.91); opacity:.76; }
.night-stage[data-step="1"] .night-ticket { transform:translate(-1px,9px) scale(1.03); rotate:-8deg; }
.night-stage[data-step="1"] .floor-counter { box-shadow:0 8px 0 #040d22,0 0 30px #5d9eff55; }
.night-stage[data-step="2"] .shift-system { transform:translate(-25px,27px) rotate(-4deg) scale(1.25); z-index:8; }
.night-stage[data-step="2"] .shift-handy { transform:translate(5px,7px) scale(.94); opacity:.78; }
.night-stage[data-step="2"] .shift-order { transform:translate(0,8px) scale(.93); opacity:.78; }
.night-stage[data-step="2"] .night-ticket { transform:translate(-3px,100px) scale(1.19); rotate:5deg; z-index:9; }
.night-stage[data-step="2"] .floor-counter { box-shadow:0 8px 0 #040d22,0 0 38px #efc7656b; }
.night-stage[data-step="3"] .shift-manager { transform:translate(33px,-62px) scale(1.34) rotate(-4deg); z-index:9; }
.night-stage[data-step="3"] .shift-system { transform:translate(17px,-8px) scale(.88); opacity:.66; }
.night-stage[data-step="3"] .shift-handy { transform:translate(-5px,20px) scale(.93); opacity:.82; }
.night-stage[data-step="3"] .shift-order { transform:translate(4px,17px) scale(.92); opacity:.82; }
.night-stage[data-step="3"] .night-ticket { transform:translate(-2px,0) scale(.94); rotate:8deg; }
.night-stage[data-step="3"] .halo-two { background:#efc7654a; transform:scale(1.7); }
.show-rings { position:absolute; top:50%; left:54%; z-index:3; width:0; height:0; pointer-events:none; }
.show-rings>i { position:absolute; left:-95px; top:-95px; width:190px; height:190px; border:2px solid #f5ce6e; border-radius:50%; opacity:0; box-shadow:0 0 22px #efc76533,inset 0 0 18px #efc76518; }
.show-rings>i:nth-child(2) { border-color:#9ac1ff; }
.show-bars { position:absolute; right:16px; bottom:77px; z-index:3; width:112px; height:100px; display:flex; align-items:flex-end; gap:6px; opacity:0; transition:opacity .5s; }
.show-bars>i { display:block; flex:1; height:40%; border:1px solid #fff1bd9c; border-radius:3px 3px 0 0; background:linear-gradient(#ffe4a1,#efbf51a6); box-shadow:0 0 15px #efc76538; transform-origin:50% 100%; }
.show-bars>i:nth-child(2) { height:61%; }
.show-bars>i:nth-child(3) { height:49%; }
.show-bars>i:nth-child(4) { height:82%; }
.show-bars>i:nth-child(5) { height:100%; }
.show-bars>span { position:absolute; right:0; bottom:-19px; color:#f9dc97; font:800 10px/1 var(--display); letter-spacing:1px; white-space:nowrap; }
.night-stage[data-step="3"] .show-bars { opacity:.85; }
.night-effects { position:absolute; inset:0; pointer-events:none; z-index:11; overflow:hidden; contain:layout style paint; }
.show-transfer { position:absolute; display:grid; place-items:center; width:72px; height:35px; border:1.5px solid #ffebad; border-radius:5px; background:linear-gradient(120deg,#fff3ca,#efc765); color:#09234f; box-shadow:0 0 0 4px #efc76519,0 0 25px #efc7659c; font:900 12px/1.1 var(--display); letter-spacing:.4px; white-space:nowrap; }
.show-transfer::before { content:""; position:absolute; left:-31px; top:12px; width:26px; height:8px; border-top:2px solid #f7d988a6; border-bottom:1px solid #8dbbff94; }
.show-transfer[data-tone="blue"] { border-color:#c2dcff; background:linear-gradient(120deg,#edf5ff,#a2c7ff); box-shadow:0 0 0 4px #5a94ff20,0 0 23px #68a2ffb3; }
.show-particle { position:absolute; width:7px; height:12px; border-radius:1px; background:#f7d27a; box-shadow:0 0 8px #efc7653d; }
.show-particle:nth-child(3n) { width:6px; height:6px; border-radius:50%; background:#9ec3ff; }
.show-particle:nth-child(4n) { width:9px; height:9px; background:#fff1c8; clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%); }
.show-stamp { position:absolute; color:#ffe399; font:900 italic clamp(33px,5vw,57px)/1 var(--display); letter-spacing:-1px; white-space:nowrap; text-shadow:3px 4px 0 #09234f,-1px -1px 0 #09234f,0 0 27px #efc76566; -webkit-text-stroke:1px #fff0bc; padding:5px 9px; }
.night-relay { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:13px 10px 12px; background:linear-gradient(#07172f,#0a224b); border-top:1px solid #efc76535; overflow:hidden; }
.night-relay .relay-line { position:absolute; left:12.5%; right:12.5%; top:27px; height:2px; background:#34507d; }
.night-relay .relay-line::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 0%,#8cb6ff 30%,#f2d27c 54%,transparent 85%); transform-origin:0 50%; animation:show-relay-run 2.8s var(--soft) infinite; }
.night-relay>span { position:relative; display:grid; justify-items:center; align-content:start; gap:6px; min-width:0; color:#8fa7c9; transition:color .55s; }
.night-relay b { display:grid; place-items:center; width:29px; height:29px; border:1px solid #43608c; border-radius:50%; color:#99afcf; background:#10284f; font:800 15px/1 var(--display); transition:background .55s,color .55s,box-shadow .55s,border-color .55s; }
.night-relay small { font:700 10px/1.2 var(--display); letter-spacing:.3px; white-space:nowrap; }
.night-relay .is-active { color:#fff0bf; }
.night-relay .is-active b { border-color:#ffe09b; background:#eac369; color:#08224e; box-shadow:0 0 0 4px #efc76513,0 0 20px #efc7654d; }
.night-stage .stage-caption { min-height:145px; padding:17px 19px 20px; background:linear-gradient(120deg,#102f6b,#091e47); border-top:1px solid #81aaff22; }
.night-stage .stage-caption h3 { margin:4px 0 6px; font-size:24px; }
.night-stage .night-progress { height:4px; }
.night-controls { gap:8px; margin-top:19px; }
.night-controls button { min-height:65px; border-color:#9bb0d4; background:#ffffffa6; }
.night-controls button[aria-pressed=true] { border-color:#d8b45d; color:#fff4cf; background:linear-gradient(140deg,#2458b5,#102c69); box-shadow:0 4px 0 #092657,0 0 0 3px #efc76540,0 8px 20px #194fc633; }
.night-controls small { font-size:12px; }
.night-controls span { font-size:14px; }
.night-stage .night-controls { position:relative; z-index:12; margin:0; padding:10px 11px 12px; gap:7px; background:#081b3c; border-bottom:1px solid #efc76540; }
.night-stage .night-controls button { min-height:51px; border-color:#335582; border-radius:7px; background:#122f5a; color:#bccdea; }
.night-stage .night-controls button[aria-pressed=true] { border-color:#ffdfa0; background:linear-gradient(125deg,#ffe4a3,#eac36d); color:#102b5b; box-shadow:0 3px 0 #9a7639,0 0 20px #efc76526; transform:translateY(-1px); }
.night-stage .night-controls small { font-size:11px; }
.night-stage .night-controls span { font-size:12px; margin-top:2px; }
.night-section .stage-bottom { flex-wrap:wrap; gap:10px; }
.stage-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.stage-replay,.night-section .stage-play { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:36px; padding:6px 11px; border:1px solid #a7b9d5; border-radius:30px; background:#fff9; color:#214a89; font-size:10px; font-weight:700; }
.stage-replay { border-color:#b99c52; background:#fff1cb; color:#173c78; }
.stage-replay>span { font:22px/1 Arial; }
.stage-replay:hover { background:#f5d783; }
.stage-replay:active { scale:.96; }
.stage-replay:disabled { opacity:.55; cursor:default; }

@keyframes show-light-left { 0%,100% { transform:rotate(-22deg); } 50% { transform:rotate(32deg); } }
@keyframes show-light-right { 0%,100% { transform:rotate(31deg); } 50% { transform:rotate(-29deg); } }
@keyframes show-light-center { 0%,100% { transform:rotate(-15deg); } 50% { transform:rotate(19deg); } }
@keyframes show-rays-turn { to { transform:rotate(360deg); } }
@keyframes show-crew-float { 0%,100% { transform:translate3d(0,0,0) rotate(-1.2deg); } 50% { transform:translate3d(0,-7px,0) rotate(1.5deg); } }
@keyframes show-relay-run { 0% { transform:scaleX(0); opacity:0; } 18% { opacity:1; } 75% { transform:scaleX(1); opacity:1; } 100% { transform:scaleX(1); opacity:0; } }

/* The controller also cancels every finite WAAPI effect, timer, and transient node. */
.night-stage[data-show-active="false"] *,.night-stage[data-show-active="false"] *::before,.night-stage[data-show-active="false"] *::after { animation-play-state:paused!important; }
.motion-off .night-stage *,.motion-off .night-stage *::before,.motion-off .night-stage *::after { animation:none!important; transition:none!important; }
.motion-off .night-effects,.motion-off .show-rings { display:none; }
@media(max-width:540px) {
  .night-stage { border-radius:16px; }
  .night-stage .night-floor { height:330px; }
  .night-stage .stage-topline { padding:12px; }
  .night-stage .stage-open { font-size:8px; letter-spacing:1px; }
  .night-stage #night-time { font-size:23px; }
  .show-word { font-size:67px; top:12px; left:10px; letter-spacing:-1.5px; }
  .show-callout { top:86px; left:12px; font-size:17px; padding:6px 10px 7px; gap:9px; }
  .night-stage[data-step="3"] .show-callout { font-size:16px; }
  .night-stage .floor-counter { top:93px; height:49px; }
  .night-stage .floor-counter>span { font-size:11px; }
  .night-stage .shift-system { top:95px; }
  .night-stage .shift-handy { top:142px; }
  .night-stage .shift-order { top:177px; }
  .night-stage .shift-manager { top:223px; }
  .night-stage .table-one { top:179px; }
  .night-stage .table-two { top:221px; }
  .night-stage .table-three { top:272px; }
  .night-stage .night-ticket { top:40px; right:11px; width:94px; padding:10px 8px 11px; }
  .night-stage .night-ticket small { font-size:8px; }
  .night-stage .night-ticket strong { font-size:19px; }
  .night-stage[data-step="2"] .night-ticket { transform:translate(-2px,103px) scale(1.1); }
  .night-stage[data-step="3"] .shift-manager { transform:translate(22px,-58px) scale(1.37) rotate(-4deg); }
  .show-bars { width:91px; height:85px; bottom:80px; right:11px; gap:5px; }
  .show-transfer { width:64px; height:31px; font-size:11px; }
  .show-stamp { font-size:45px; }
  .night-relay small { font-size:10px; }
  .night-stage .stage-caption { min-height:147px; padding:15px 15px 18px; }
  .night-stage .stage-caption h3 { font-size:22px; }
  .night-section .stage-bottom>p { font-size:9px; }
  .stage-actions { gap:6px; }
  .stage-replay,.night-section .stage-play { padding:6px 9px; font-size:9px; }
}
@media(max-width:370px) {
  .night-stage .night-floor { height:300px; }
  .show-word { font-size:56px; letter-spacing:-1px; }
  .show-callout { top:78px; left:10px; font-size:15px; padding:6px 9px; gap:7px; }
  .night-stage[data-step="3"] .show-callout { font-size:14px; }
  .night-stage .night-ticket { top:34px; right:9px; width:82px; }
  .night-stage .night-ticket small { font-size:7px; }
  .night-stage .night-ticket strong { font-size:16px; }
  .night-stage .floor-counter { top:88px; }
  .night-stage .shift-system { top:92px; }
  .night-stage .shift-handy { top:137px; }
  .night-stage .shift-order { top:160px; }
  .night-stage .shift-manager { top:201px; }
  .night-stage .shift-person>b { font-size:7px; padding:3px 6px; }
  .night-stage .table-one { top:170px; }
  .night-stage .table-two { top:203px; }
  .night-stage .table-three { top:244px; }
  .night-stage .stage-message { font-size:9px; right:10px; bottom:13px; padding:6px 9px; }
  .night-stage[data-step="2"] .shift-system { transform:translate(-15px,25px) rotate(-4deg) scale(1.2); }
  .night-stage[data-step="2"] .night-ticket { transform:translate(-2px,93px) scale(1.07); }
  .night-stage[data-step="3"] .shift-manager { transform:translate(13px,-45px) scale(1.32) rotate(-4deg); }
  .show-bars { width:73px; height:74px; right:10px; bottom:73px; gap:4px; }
  .show-bars>span { font-size:9px; }
  .show-stamp { font-size:36px; }
  .night-relay { padding:12px 6px 10px; gap:2px; }
  .night-relay small { font-size:9px; letter-spacing:0; }
  .night-stage .stage-caption { padding:14px 12px 16px; }
  .night-stage .stage-caption h3 { font-size:19px; }
  .night-controls { gap:6px; }
  .night-controls small { font-size:11px; }
  .night-controls span { font-size:12px; }
  .night-stage .night-controls { gap:5px; padding:9px 8px 11px; }
  .night-stage .night-controls small { font-size:10px; letter-spacing:.3px; }
  .night-stage .night-controls span { font-size:11px; }
  .night-section .stage-bottom { gap:8px; }
  .stage-actions { width:100%; justify-content:space-between; }
}
@media(prefers-reduced-motion:reduce) {
  .night-stage *,.night-stage *::before,.night-stage *::after { animation:none!important; transition:none!important; }
  .night-effects,.show-rings { display:none; }
}

/* The scene has one lead action, then a quiet beat for reading. */
.night-stage { --scene-gold:.48; --scene-blue:.72; --glow-x:0%; --glow-power:.45; }
.night-stage[data-step="0"] { --scene-gold:.72; --scene-blue:.45; --glow-x:-18%; --glow-power:.52; }
.night-stage[data-step="1"] { --scene-gold:.3; --scene-blue:.9; --glow-x:18%; --glow-power:.3; }
.night-stage[data-step="2"] { --scene-gold:.85; --scene-blue:.35; --glow-x:8%; --glow-power:.62; }
.night-stage[data-step="3"] { --scene-gold:.7; --scene-blue:.7; --glow-x:0%; --glow-power:.58; }
.night-stage[data-step="4"] { --scene-gold:.85; --scene-blue:.3; --glow-x:12%; --glow-power:.9; }
.night-stage .beam-gold { opacity:var(--scene-gold); transition:opacity 1.2s; }
.night-stage .beam-blue { opacity:var(--scene-blue); transition:opacity 1.2s; }
.night-stage .shift-person { transition:transform 1.1s var(--fluid),opacity .75s var(--soft),filter .75s; will-change:auto; }
.night-stage .shift-person:not(.is-focal) { opacity:.42; filter:saturate(.58); }
.night-stage .shift-person.is-focal { opacity:1; filter:none; }
.night-stage .shift-person.is-focal>.crew-sprite { filter:drop-shadow(0 4px 3px #0008) drop-shadow(0 0 8px #a5ccff66); }
.night-stage.has-work-poses .shift-person.is-working>.crew-sprite { background-image:url("/lp/assets/nightlife-work-crew.webp"); }
.night-stage[data-phase="reading"] .club-lights *,
.night-stage[data-phase="reading"] .show-rays,
.night-stage[data-phase="reading"] .shift-person>.crew-sprite,
.night-stage[data-phase="reading"] .floor-spark,
.night-stage[data-phase="reading"] .floor-halo { animation-play-state:paused!important; }
.night-stage[data-phase="reading"] .show-rays { opacity:.12; }
.night-stage[data-phase="reading"] .beam-center { opacity:.2; }
.night-stage[data-phase="reading"] .show-word { opacity:.25; }
.show-rays,.night-stage .beam-center,.show-word { transition:opacity .8s; }
.night-stage .show-callout { top:66px; left:12px; max-width:43%; gap:7px; padding:7px 10px; font-size:17px; letter-spacing:-.5px; }
.night-stage[data-step="1"] .show-callout { top:66px; }
.night-stage .show-callout>i { font-size:17px; }
.night-stage .show-callout::after { right:16px; }
.night-stage .record-trace { position:absolute; top:11px; right:11px; z-index:8; display:flex; align-items:center; gap:5px; padding:4px 7px; border:1px solid #e7c87a66; border-radius:5px; color:#ffe8af; background:#071b3de8; box-shadow:0 2px 8px #0002; }
.record-trace>span { font:700 7px/1 var(--display); letter-spacing:1px; }
.record-trace>b { font:900 16px/1 var(--display); }
.record-trace>small { color:#b8cae7; font-size:8px; }
.night-stage .table-three { border-color:#f5d17e; box-shadow:0 0 18px #eac46522; }
.night-stage .table-three>span { color:#ffe6a4; }
.night-relay .relay-line::after { animation:none; opacity:0; }
.relay-packet { position:absolute; z-index:3; left:0; top:21px; display:grid; place-items:center; width:12px; height:12px; border-radius:50%; background:#f6d58b; box-shadow:0 0 15px #f6d58b; color:#0b2858; font:900 15px/1 Arial; opacity:0; pointer-events:none; }
.relay-packet[data-tone="blue"] { background:#a7cfff; box-shadow:0 0 15px #8ebdff; }
.show-transfer { width:82px; letter-spacing:.2px; }
.show-transfer[data-direction="left"]::before { left:auto; right:-31px; }
.stage-bird { position:absolute; z-index:12; left:calc(40% - 26px); bottom:19px; width:31px; height:33px; opacity:0; pointer-events:none; filter:drop-shadow(0 3px 5px #00102c88); transform-origin:50% 90%; }
.night-stage #night-copy strong { font-weight:800; color:#ffe4a4; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.night-stage[data-arrived="true"] #night-copy strong { text-decoration:underline; text-decoration-color:#f1cc7066; text-underline-offset:4px; }
.stage-toolbar { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 11px; background:#0a2349; border-bottom:1px solid #7399d324; }
.stage-pace { display:inline-flex; align-items:center; gap:2px; padding:2px; border:1px solid #7695c039; border-radius:8px; background:#04172e; }
.stage-pace>button { display:flex; align-items:center; justify-content:center; gap:5px; min-height:34px; padding:6px 8px; border-radius:5px; background:#0b2142; color:#d2def0; font-size:10px; font-weight:700; line-height:1.2; }
.stage-pace small { font:600 9px/1 var(--display); opacity:.75; white-space:nowrap; }
.stage-pace>button[aria-pressed="true"] { color:#0e2a55; background:#f1d390; }
.stage-top-actions { display:flex; gap:5px; }
.stage-top-actions>button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:38px; padding:6px 8px; color:#e2edff; border:1px solid #91aaca55; border-radius:7px; background:#143260; font-size:10px; font-weight:700; white-space:nowrap; }
.stage-top-actions>button:disabled { opacity:.5; }
.stage-top-actions [data-stage-theater-open]>span:first-child { font:21px/1 Arial; }
.stage-toolbar button:focus-visible { outline:2px solid #ffe2a3; outline-offset:3px; }
.stage-toolbar button:hover { filter:brightness(1.1); }
.night-stage .stage-topline { padding-block:10px; }
.night-stage .night-controls { padding-block:10px; }
@media(max-width:540px) {
  .night-stage .night-floor { height:clamp(256px,39svh,290px); }
  .stage-toolbar { padding:5px 8px; gap:5px; }
  .stage-pace>button { display:grid; gap:3px; min-height:36px; padding:5px 7px; font-size:10px; }
  .stage-pace small { font-size:8px; }
  .stage-top-actions { gap:4px; }
  .stage-top-actions>button { min-height:38px; padding:6px 7px; font-size:10px; }
  .stage-top-actions [data-stage-theater-open]>span:first-child { font-size:19px; }
  .night-stage .stage-topline { padding:9px 11px; }
  .night-stage .stage-open { font-size:8px; letter-spacing:.6px; }
  .night-stage #night-time { font-size:21px; }
  .night-stage .night-controls { padding:8px; gap:5px; }
  .night-stage .night-controls button { min-height:46px; padding:5px 2px 7px; }
  .night-stage .night-controls small { font-size:10px; }
  .night-stage .night-controls span { font-size:11px; }
  .night-stage .show-callout { top:61px; left:10px; max-width:42%; padding:6px 8px; font-size:14px; gap:0; }
  .night-stage[data-step="1"] .show-callout { top:61px; }
  .night-stage .show-callout>i { display:none; }
  .night-stage[data-step="3"] .show-callout { font-size:13px; }
  .show-word { top:9px; font-size:59px; }
  .night-stage .record-trace { top:9px; right:9px; gap:4px; padding:4px 6px; }
  .record-trace>small { display:none; }
  .record-trace>b { font-size:15px; }
  .night-stage .floor-counter { top:74px; height:45px; }
  .night-stage .shift-system { top:65px; }
  .night-stage .shift-handy { top:120px; }
  .night-stage .shift-order { top:143px; }
  .night-stage .shift-manager { top:184px; }
  .night-stage .table-one { top:153px; }
  .night-stage .table-two { top:194px; }
  .night-stage .table-three { top:237px; }
  .night-stage .night-ticket { top:38px; right:9px; width:87px; padding:9px 7px 10px; }
  .night-stage .night-ticket small { font-size:8px; }
  .night-stage .night-ticket strong { font-size:18px; }
  .night-stage[data-step="1"] .shift-handy { transform:translate(13px,-7px) rotate(-5deg) scale(1.12); }
  .night-stage[data-step="1"] .shift-order { transform:translate(-12px,-12px) rotate(5deg) scale(1.12); }
  .night-stage[data-step="2"] .shift-system { transform:translate(-20px,21px) rotate(-4deg) scale(1.2); }
  .night-stage[data-step="2"] .night-ticket { transform:translate(-2px,77px) scale(1.08); }
  .night-stage[data-step="3"] .shift-manager { transform:translate(18px,-39px) scale(1.28) rotate(-4deg); }
  .night-stage .stage-message { bottom:11px; right:9px; padding:6px 8px; font-size:10px; }
  .night-stage .show-bars { right:11px; width:82px; height:74px; bottom:65px; }
  .night-stage .fs-one { top:134px; }
  .night-stage .fs-two { top:232px; }
  .show-transfer { width:73px; font-size:11px; height:30px; }
  .night-relay { padding:9px 7px 8px; }
  .night-relay b { width:25px; height:25px; font-size:13px; }
  .night-relay>span { gap:4px; }
  .night-relay small { font-size:9px; }
  .night-relay .relay-line { top:21px; }
  .relay-packet { top:15px; }
  .stage-bird { left:calc(39% - 26px); bottom:13px; width:27px; height:30px; }
}
@media(max-width:370px) {
  .stage-pace>button { padding-inline:6px; font-size:9px; }
  .stage-top-actions>button { padding-inline:6px; }
  .stage-top-actions [data-stage-theater-open]>span:first-child { display:none; }
  .night-stage .stage-open { font-size:7px; }
  .night-stage .show-callout { top:59px; font-size:12px; padding:6px 7px; }
  .night-stage[data-step="1"] .show-callout { top:59px; }
  .night-stage[data-step="3"] .show-callout { font-size:11px; }
  .show-word { font-size:52px; }
  .night-stage .night-ticket { width:80px; }
  .night-stage .night-ticket strong { font-size:16px; }
  .night-stage .night-controls span { font-size:10px; }
  .night-stage .shift-manager { top:174px; }
  .night-stage .table-three { top:225px; }
}
@media(prefers-reduced-motion:reduce) {
  .stage-bird { display:none; }
  .stage-toolbar * { transition:none!important; }
}
.motion-off .stage-bird { display:none; }

/* Touch targets stay generous while the pace selector keeps a dark idle state. */
.stage-top-actions>button { min-width:44px; min-height:44px; }
