/* Visual finish for the existing five-page stories.
   Geometry, materials and light only: the v19 playback clocks, poses and
   visibility/stop/reduced-motion lifecycle remain owned by the story scripts. */
/* Scoped above inherited palettes; maintained separately from color conversion. */
body[data-visual-edition]{
  --stage-rim: 178 211 255;
  --stage-metal: 232 204 145;
  --stage-contact: #020713a8;
}
body[data-visual-edition][data-vertical="cabaret"]{
  --stage-rim: 248 222 187;
  --stage-metal: 224 195 147;
  --stage-contact: #150912b3;
}
body[data-visual-edition][data-vertical="concafe"]{
  --stage-rim: 255 231 248;
  --stage-metal: 229 192 239;
  --stage-contact: #37223e73;
}
body[data-visual-edition][data-vertical="host"]{
  --stage-rim: 221 232 247;
  --stage-metal: 215 224 234;
  --stage-contact: #020307b8;
}
body[data-visual-edition][data-vertical="girlsbar"]{
  --stage-rim: 210 249 237;
  --stage-metal: 237 197 166;
  --stage-contact: #031e26a6;
}
body[data-visual-edition] .night-stage .stage-topline{
  padding: 7px 14px;
  border-bottom-width: 1px;
}
body[data-visual-edition] .night-stage #night-time{ font-size: 23px; }
body[data-visual-edition] .night-stage .stage-open{ letter-spacing: .07em; }
body[data-visual-edition] .night-stage .stage-toolbar{
  padding: 3px 10px;
  gap: 6px;
}
body[data-visual-edition] .night-stage .stage-pace{
  padding: 0;
  border-color: rgb(var(--stage-rim) / .18);
  background: #02081138;
  border-radius: 8px;
}
body[data-visual-edition] .night-stage .stage-pace > button{
  min-height: 44px;
  padding: 5px 9px;
  gap: 4px;
  background: transparent;
}
body[data-visual-edition] .night-stage .stage-pace > button[aria-pressed="true"]{
  background: rgb(var(--stage-metal) / .18);
  color: #fff4dc;
  box-shadow: inset 0 0 0 1px rgb(var(--stage-metal) / .43);
}
body[data-visual-edition] .night-stage .stage-top-actions > button{
  min-height: 44px;
  padding: 5px 9px;
  border-color: rgb(var(--stage-rim) / .24);
  background: #ffffff07;
}
body[data-visual-edition] .night-stage .night-controls{
  padding: 7px 10px;
  gap: 6px;
}
body[data-visual-edition] .night-stage .night-controls button{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 44px;
  padding: 5px 2px 7px;
  border-width: 1px;
}
body[data-visual-edition] .night-stage .night-controls small{
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .04em;
}
body[data-visual-edition] .night-stage .night-controls span{
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
}
body[data-visual-edition] .night-stage .record-trace{
  border-width: 1px;
  box-shadow: inset 0 1px 0 #ffffff12, 2px 4px 9px #0000001c;
}
body[data-visual-edition] .night-stage .show-rays{ opacity: .29; }
body[data-visual-edition] .night-stage .show-word,body[data-visual-edition] .night-stage[data-phase="reading"] .show-word{
  opacity: .2;
  letter-spacing: -.05em;
}
body[data-visual-edition] .night-stage .floor-grid{ opacity: .28; }
body[data-visual-edition] .night-stage .floor-counter,body[data-visual-edition] .night-stage .floor-table{
  border-top-color: rgb(var(--stage-metal) / .83);
  border-left-color: rgb(var(--stage-metal) / .52);
  border-right-color: rgb(var(--stage-metal) / .25);
}
body[data-visual-edition] .night-stage .floor-counter::before{
  content: "";
  position: absolute;
  inset: 3px 5px auto;
  height: 1px;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgb(var(--stage-rim) / .7), transparent);
  pointer-events: none;
}
body[data-visual-edition] .night-stage .floor-counter i{
  background: linear-gradient(135deg, #e4efff, #a0badb 65%, #7f9dc6);
  box-shadow: inset 1px 1px 0 #ffffffa1, 2px 4px 0 #00000040, 4px 7px 8px #0000002e;
}
body[data-visual-edition] .night-stage .floor-table{
  box-shadow: inset 0 1px 1px rgb(var(--stage-rim) / .21), 2px 5px 0 #040c1e, 5px 12px 11px #00000030;
}
body[data-visual-edition] .night-stage .shift-person::before,body[data-visual-edition] .service-demo[data-service-enhanced] .service-actor::before,body[data-visual-edition] .host-demo-actor::before{
  content: "";
  position: absolute;
  left: 25%;
  bottom: 4px;
  width: 53%;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(ellipse, var(--stage-contact) 0, #00000036 41%, transparent 72%);
  transform: skewX(-18deg);
  z-index: -1;
  pointer-events: none;
}
body[data-visual-edition] .night-stage[data-step] .shift-person > .crew-sprite,body[data-visual-edition] .service-demo[data-service-enhanced] .service-actor > .crew-sprite{
  filter: drop-shadow(-.6px -.7px 0 rgb(var(--stage-rim) / .5)) drop-shadow(2px 5px 2px #00000062);
}
body[data-visual-edition] .night-stage[data-step] .shift-person.is-focal > .crew-sprite{
  filter: drop-shadow(-.8px -.8px 0 rgb(var(--stage-rim) / .75)) drop-shadow(2px 6px 3px #00000070) drop-shadow(0 0 7px rgb(var(--stage-rim) / .15));
}
body[data-visual-edition] .night-stage .shift-person > b{
  border-width: 1px;
  box-shadow: inset 0 1px 0 #ffffff12, 0 2px 5px #0000001f;
}
body[data-visual-edition] .night-stage .night-ticket,body[data-visual-edition] .night-stage .customer-memory,body[data-visual-edition] .service-demo[data-service-enhanced] .service-scene-ticket{
  box-shadow: inset 1px 1px 0 #ffffffb3, 3px 5px 0 #00000014, 6px 12px 20px #00000038;
}
body[data-visual-edition] .night-stage .night-ticket::before{
  content: "";
  position: absolute;
  inset: 4px 7px auto;
  height: 1px;
  background: linear-gradient(90deg, #b9a6811a, #b9a68170, #b9a6811a);
  pointer-events: none;
}
body[data-visual-edition] .night-stage .night-relay{
  border-top: 1px solid rgb(var(--stage-rim) / .11);
  box-shadow: inset 0 1px 0 #00000014;
}
body[data-visual-edition] .night-stage .night-relay b{
  box-shadow: inset 0 1px 0 #ffffff24, 0 4px 8px #00000024;
}
body[data-visual-edition]:not([data-vertical]) .night-stage{
  border: 1px solid #a88d52;
  box-shadow: 0 0 0 5px #183d7d06, 0 4px 0 #e3d9c4, 0 20px 42px #14264b1c;
}
body[data-visual-edition]:not([data-vertical]) .night-stage .stage-topline{
  background: linear-gradient(108deg, #163b72, #0a2044 75%);
  border-bottom-color: #d2b46b66;
}
body[data-visual-edition]:not([data-vertical]) .night-stage .night-floor{
  background:
    radial-gradient(ellipse at 47% 22%, #376bb560, transparent 57%),
    radial-gradient(ellipse at 72% 80%, #1b499938, transparent 54%),
    linear-gradient(160deg, #142f5f, #071a3c 60%, #030d21);
}
body[data-visual-edition]:not([data-vertical]) .night-stage .night-floor::after{
  background: linear-gradient(transparent, #020b1a80), radial-gradient(ellipse at 45% 100%, #4273bb33, transparent 70%);
}
body[data-visual-edition]:not([data-vertical]) .night-stage .lounge-arch{
  border-color: #d4b97555;
  background: linear-gradient(105deg, #3a5c8e18, #122c592a 65%, #9bb8e00d);
  box-shadow: inset 1px 1px 0 #e9d69b17, 7px 4px 20px #020d2321;
}
body[data-visual-edition]:not([data-vertical]) .night-stage .floor-counter{
  background: linear-gradient(135deg, #46679b, #203b69 54%, #10244c);
}
body[data-visual-edition]:not([data-vertical]) .night-stage .stage-caption{
  background: linear-gradient(112deg, #173769, #0e264f);
}
body[data-visual-edition][data-vertical="cabaret"] .night-stage .night-floor{
  background: radial-gradient(ellipse at 32% 5%, #e1ad5f2e, transparent 57%), linear-gradient(138deg, #5d2c3c, #301923 61%, #180e17);
}
body[data-visual-edition][data-vertical="cabaret"] .night-stage .lounge-arch{
  border-width: 1px;
  border-color: #cfb38166;
  background: repeating-linear-gradient(90deg, #8e4f641f 0 6px, #32132233 8px 14px), linear-gradient(100deg, #6f324850, #38182580);
  box-shadow: inset 1px 0 0 #f4dba833, inset -13px 0 20px #160b164d, 7px 6px 18px #170c1633;
}
body[data-visual-edition][data-vertical="cabaret"] .night-stage .floor-table{
  background: linear-gradient(130deg, #967667, #61483e 50%, #483139);
  border-color: #c4a5748c;
  box-shadow: inset 0 1px 0 #ffebc329, 2px 5px 0 #21131b, 4px 11px 12px #130a184d;
}
body[data-visual-edition][data-vertical="cabaret"] .night-stage .night-controls button[aria-pressed="true"]{
  color: #f3ddb1;
  background: linear-gradient(125deg, #704456, #492433);
  border-color: #d7b982;
  box-shadow: inset 0 1px 0 #f6dfb329, 0 2px 0 #24101c;
}
body[data-visual-edition][data-vertical="cabaret"] .night-stage [data-scene-timer]{ background: #efd195; }
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-lounge{
  border: 1px solid #aa865b70;
  background:
    radial-gradient(ellipse at 42% -4%, #e8bd7042, transparent 46%),
    linear-gradient(0deg, #160d1659, transparent 42%),
    linear-gradient(132deg, #603044, #351d2b 66%, #24131f);
  box-shadow: inset 0 1px 0 #f5deac2e, inset 0 -18px 30px #160a1940;
}
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-lounge::before,body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-lounge::after{
  border-width: 1px;
  border-color: #c6a37170;
  background: repeating-linear-gradient(90deg, #a15a6d2b 0 6px, #2a101e50 8px 15px), linear-gradient(105deg, #7d3c5080, #35152266);
  box-shadow: inset 2px 0 0 #edc69a16, inset -12px 0 24px #1e0c2291, 8px 7px 24px #140a1745;
}
body[data-visual-edition][data-vertical="cabaret"] .service-chandelier{
  color: #f1d8a0;
  text-shadow: 0 1px 0 #fff7d7, 0 0 12px #e2bd6e70, 0 12px 30px #edc58252;
}
body[data-visual-edition][data-vertical="cabaret"] .service-chandelier::after{
  content: "";
  position: absolute;
  width: 70px;
  height: 1px;
  left: calc(50% - 35px);
  top: 53%;
  background: linear-gradient(90deg, transparent, #fff0c3c2, transparent);
  pointer-events: none;
}
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-seat{
  border-width: 1px;
  border-color: #c49f6866;
  background: linear-gradient(150deg, #ad687b, #763c53 42%, #472236 85%);
  box-shadow: inset 0 2px 2px #e9b1bc40, inset -5px -6px 7px #1b0c213d, 2px 5px 0 #27111f, 4px 10px 11px #180d214d;
}
body[data-visual-edition][data-vertical="cabaret"] .service-seat::before{
  content: "";
  position: absolute;
  inset: 4px 5px 6px;
  border: 1px solid #f6c7d322;
  border-radius: inherit;
  background: radial-gradient(circle, #30152870 1px, transparent 1.7px) 50% 50% / 15px 11px;
  pointer-events: none;
}
body[data-visual-edition][data-vertical="cabaret"] .service-seat.is-extra:not(.is-added){ background: transparent; box-shadow: none; }
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-tabletop{
  border-width: 1px;
  border-color: #d7bb8ca6;
  background: linear-gradient(115deg, #b99a7c4d, transparent 45%), linear-gradient(170deg, #7b5953, #402a34);
  box-shadow: inset 0 1px 0 #f4ddb059, 0 3px 0 #1d101c, 3px 9px 12px #13091b66;
}
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-scene-ticket{
  border-color: #cfbfa7;
  background: linear-gradient(130deg, #fffdf4, #f3e8da);
}
body[data-visual-edition][data-vertical="cabaret"] .service-demo[data-service-enhanced] .service-speech{
  border-width: 1px;
  border-color: #d8bc906e;
  box-shadow: 2px 4px 10px #180b2124;
}
body[data-visual-edition][data-vertical="concafe"] .night-stage .night-floor{
  background: radial-gradient(ellipse at 35% 4%, #cba5e133, transparent 60%), linear-gradient(146deg, #583c67, #36263f 60%, #271c31);
}
body[data-visual-edition][data-vertical="concafe"] .night-stage .floor-counter{
  background: linear-gradient(135deg, #ad8bbd, #775789 45%, #503b62);
  box-shadow: inset 0 1px 0 #ffe8f759, 1px 7px 0 #281b36, 5px 12px 13px #21132d40;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-stage{
  background: radial-gradient(ellipse at 22% 5%, #fff9eaba, transparent 59%), linear-gradient(138deg, #f4e5f0, #e8cde3 63%, #d8b6d7);
  border-color: #c9a6d3;
  box-shadow: inset 0 0 0 5px #ffffff70, inset 0 -14px 27px #92699a0d;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-stage::before{
  background: linear-gradient(132deg, #fffdf5de, #fbecf3a6);
  border-color: #d5bbdc;
  box-shadow: inset 1px 1px 0 #ffffffd9, 4px 5px 0 #ad87b21a;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-awning{
  box-shadow: 0 4px 9px #754e7f1c, inset 0 -2px 0 #a87ca329;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-speech{
  background: linear-gradient(130deg, #fffdf7, #fff6f7);
  box-shadow: 2px 4px 0 #b98eb31a, 0 7px 12px #7957800c;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-guide > .crew-sprite{
  filter: drop-shadow(-.5px -.6px 0 #fff1fb99) drop-shadow(2px 5px 2px #68466b39);
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-guide > i{
  height: 10px;
  background: radial-gradient(ellipse, #70517159, #70517114 51%, transparent 72%);
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-prop{ position: relative; isolation: isolate; }
body[data-visual-edition][data-vertical="concafe"] .concafe-story-prop::after{
  content: "";
  position: absolute;
  left: 20%;
  right: 12%;
  bottom: -4px;
  height: 11px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #805a8038, transparent 72%);
  z-index: -1;
  pointer-events: none;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-cheki,body[data-visual-edition][data-vertical="concafe"] .concafe-demo-art-cheki{
  isolation: isolate;
  background: linear-gradient(135deg, #fffef8, #f6edf0);
  border-color: #d5bdcd;
  box-shadow: inset 1px 1px 0 #fff, 1px 2px 0 #c2a7bd66, 4px 7px 8px #7d557c26;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-cheki::before{
  content: "";
  position: absolute;
  top: -7px;
  left: 24%;
  width: 46%;
  height: 12px;
  border: 1px solid #d4b2d169;
  background: repeating-linear-gradient(120deg, #ecd3e4b3 0 4px, #f5e5f1b3 4px 8px);
  transform: rotate(7deg);
  z-index: 2;
  pointer-events: none;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-cheki::after{
  content: "";
  position: absolute;
  inset: 3px -4px -3px 4px;
  border: 1px solid #d5c0d3;
  background: #fff8f2;
  box-shadow: 2px 3px 4px #7d557c19;
  transform: rotate(6deg);
  z-index: -1;
  pointer-events: none;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-cheki > i{
  box-shadow: inset 0 0 0 1px #86608a24;
  background-color: #ead6e8;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-prop > svg,body[data-visual-edition][data-vertical="concafe"] .concafe-demo-product-art > svg{
  filter: drop-shadow(1px 1px 0 #fff7) drop-shadow(3px 5px 2px #8a608929);
}
body[data-visual-edition][data-vertical="concafe"] [data-concafe-story-prop="cocktail"] > svg path:first-child,body[data-visual-edition][data-vertical="concafe"] .concafe-demo-art-cocktail > svg path:first-child{
  fill: #efb6d5;
  fill-opacity: .72;
  stroke: #9b739e;
  paint-order: stroke fill;
}
body[data-visual-edition][data-vertical="concafe"] [data-concafe-story-prop="cocktail"] > svg circle,body[data-visual-edition][data-vertical="concafe"] .concafe-demo-art-cocktail > svg circle{
  fill: #fff0b9;
  stroke: #caae75;
  stroke-width: 1.2px;
}
body[data-visual-edition][data-vertical="concafe"] [data-concafe-story-prop="goods"] > svg path:first-child,body[data-visual-edition][data-vertical="concafe"] .concafe-demo-art-goods > svg path:first-child{
  fill: #bf9cd2;
  stroke: #856590;
  paint-order: stroke fill;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-product-label{
  border: 2px solid #fffdf8;
  border-radius: 5px 10px 5px 8px;
  background: #f8edf5;
  box-shadow: 1px 2px 0 #bfa0c247, 3px 4px 6px #89658b1a;
  rotate: -2deg;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-owner,body[data-visual-edition][data-vertical="concafe"] .concafe-story-record{
  background: linear-gradient(135deg, #fffef8, #fff3f6);
  border-color: #c6a0c5;
  box-shadow: inset 1px 1px 0 #fff, 3px 4px 0 #d5b8d1, 5px 7px 0 #fff5f0, 7px 10px 14px #76557924;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-record::before{
  background: repeating-linear-gradient(125deg, #e5c6dfbd 0 4px, #f5e4f0b3 4px 8px);
  border: 1px solid #bf94bd52;
  rotate: -4deg;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-pos{
  box-shadow: inset 1px 1px 0 #ffffffb3, 0 0 0 1px #c8afd5, 4px 5px 0 #5c3f6c33, 7px 11px 15px #5a385b2b;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-counter{
  background: linear-gradient(#f8e9f3, #e0bddb 45%, #c299c2);
  box-shadow: inset 0 1px 0 #fff7, 0 4px 0 #9c779f57, 0 8px 8px #7b568222;
}
body[data-visual-edition][data-vertical="concafe"] .concafe-story-arrival{
  border: 2px solid #fffaf5;
  border-radius: 12px 4px 10px 4px;
  box-shadow: 2px 3px 0 #98779d24;
  rotate: -2deg;
}
body[data-visual-edition][data-vertical="host"] .night-stage .night-floor{
  background:
    linear-gradient(127deg, transparent 30%, #e6edf211 30.2%, #c3ccd108 48%, transparent 48.2%),
    radial-gradient(ellipse at 35% 5%, #5c64704f, transparent 58%),
    linear-gradient(145deg, #343940, #161c23 64%, #090c12);
}
body[data-visual-edition][data-vertical="host"] .night-stage .lounge-arch{
  border-color: #bdc6d14d;
  background: linear-gradient(130deg, #f0f5fa21, #8794a20a 38%, #070c1514);
  box-shadow: inset 1px 0 0 #f0f5fa1c, 12px 0 0 #b7c6d00a;
}
body[data-visual-edition][data-vertical="host"] .night-stage .floor-counter{
  background: linear-gradient(124deg, #6c7580, #323c49 30%, #171f2a 75%);
  box-shadow: inset 1px 1px 0 #f0f5fa66, 2px 6px 0 #0b1018, 5px 12px 17px #0000004d;
}
body[data-visual-edition][data-vertical="host"] .night-stage .floor-table{
  background: linear-gradient(126deg, #adb5bd, #59636e 24%, #27313d 58%, #4e5862);
  border-color: #c5d0db8c;
  box-shadow: inset 1px 1px 0 #eff3f859, 2px 5px 0 #080d16, 5px 10px 13px #00000059;
}
body[data-visual-edition][data-vertical="host"] .host-demo-showcase{
  background: radial-gradient(ellipse at 0 0, #626b7438, transparent 58%), linear-gradient(145deg, #30373f, #12171e 70%);
  border-color: #a5b0bb99;
  box-shadow: inset 1px 1px 0 #e6edf512, 0 4px 0 #c6cbd91a, 0 19px 32px #0c111520;
}
body[data-visual-edition][data-vertical="host"] .host-demo-floor{
  background: linear-gradient(125deg, transparent 29%, #dae4ed0c 29.2%, #a7b8c50a 47%, transparent 47.2%), radial-gradient(ellipse at 12% 20%, #b9c9dd1c, transparent 57%);
}
body[data-visual-edition][data-vertical="host"] .host-demo-floor > i{
  border-color: #d1dce733;
  background: linear-gradient(110deg, #e0e9f20c, transparent 45%);
  box-shadow: 9px 0 0 #c9d7e108;
}
body[data-visual-edition][data-vertical="host"] .host-demo-floor > span{ color: #d6e0e923; }
body[data-visual-edition][data-vertical="host"] .host-demo-devices{
  max-width: 520px;
  margin-inline: auto;
}
body[data-visual-edition][data-vertical="host"] .host-demo-device-frame{
  background: linear-gradient(137deg, #5a646f80, #2a3442b3 42%, #151f2de8);
  border-color: #0b1018;
  box-shadow: 0 0 0 1px #c1ced966, inset 1px 1px 0 #f2f7ff40, 2px 5px 0 #05090e70, 6px 13px 18px #00000045;
}
body[data-visual-edition][data-vertical="host"] .host-demo-device-frame::before{
  background: linear-gradient(125deg, #eef5ff16, transparent 32%, transparent 70%, #becfdf08);
}
body[data-visual-edition][data-vertical="host"] .host-demo-actor::before{
  bottom: 19px;
  background: radial-gradient(ellipse, #00000091, #0000002e 45%, transparent 72%);
}
body[data-visual-edition][data-vertical="host"] .host-demo-actor > .crew-sprite{
  filter: drop-shadow(-.8px -.8px 0 #e2edfaad) drop-shadow(1px 0 1px #b5d4fa3d) drop-shadow(3px 6px 3px #00000073);
}
body[data-visual-edition][data-vertical="host"] .host-demo-actor > b{
  background: #17202de8;
  border-color: #b7c6d766;
  box-shadow: inset 0 1px 0 #ffffff12;
}
body[data-visual-edition][data-vertical="host"] .host-demo-connection > svg{ filter: drop-shadow(0 1px 0 #d5e5f00d); }
body[data-visual-edition][data-vertical="host"] .host-demo-wire{ stroke: #c0cfdf57; }
body[data-visual-edition][data-vertical="host"] .host-demo-ledger{
  background: linear-gradient(130deg, #fff, #f0f2f5 65%, #e6ebf1);
  box-shadow: inset 1px 1px 0 #fff, 2px 4px 0 #101c2b59, 6px 12px 18px #0000003b;
}
body[data-visual-edition][data-vertical="host"] .host-demo-flight{
  background: linear-gradient(130deg, #fff, #eef3f7);
  box-shadow: inset 1px 1px 0 #fff, 3px 5px 0 #0f182426, 5px 10px 17px #00000033;
}
body[data-visual-edition][data-vertical="girlsbar"] .night-stage .night-floor{
  background: radial-gradient(ellipse at 24% 4%, #7cc3aa2e, transparent 61%), linear-gradient(140deg, #245359, #10373e 59%, #08252e);
}
body[data-visual-edition][data-vertical="girlsbar"] .night-stage .floor-counter{
  background: linear-gradient(110deg, #f6dbab26, transparent 46%), repeating-linear-gradient(0deg, #bf936a 0 3px, #b58a6333 4px 5px), linear-gradient(#bc926d, #8d614e);
  border-color: #e4c39dba;
  box-shadow: inset 0 1px 0 #fff1d27a, 0 7px 0 #153734, 3px 15px 21px #031c2573;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-bar{
  background:
    radial-gradient(ellipse at 20% 5%, #c2e3c52b, transparent 53%),
    radial-gradient(ellipse at 75% 48%, #3f8d811c, transparent 43%),
    linear-gradient(135deg, #1e5558, #0f3a42 64%, #082e38);
  border-color: #89b4a866;
  box-shadow: inset 0 0 0 5px #0b2c3538, inset 1px 1px 0 #dceadd38;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-bar::before{
  border-bottom: 1px solid #c9ded557;
  background: repeating-linear-gradient(90deg, transparent 0 19px, #b6d8bd14 20px 21px, #67ac9829 22px 26px, transparent 27px 43px);
  box-shadow: 0 4px 7px #061d2740, 0 5px 0 #95b8a80d;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-bar::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 49px;
  height: 80px;
  background: linear-gradient(0deg, #a3d6c91a, transparent 65%);
  pointer-events: none;
  z-index: 1;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-actor--staff{
  width: clamp(118px, 33%, 170px);
  left: -1%;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-counter-top{
  border-top: 1px solid #e8cba4;
  background:
    radial-gradient(ellipse at 46% 12%, #efffe47a, transparent 9%),
    radial-gradient(ellipse at 64% 12%, #f0d1b066, transparent 9%),
    repeating-linear-gradient(0deg, transparent 0 3px, #67493414 4px 5px),
    linear-gradient(#c7a17d, #bd9270 40%, #956a53);
  box-shadow: inset 0 1px 0 #fff1d65e, 0 4px 0 #2e3c34, 0 7px 0 #0a2b3399, 0 16px 18px #071e2d61;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-counter-top::before{
  content: "";
  position: absolute;
  top: 4px;
  left: 7%;
  right: 9%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #f8e9ca94 37%, #badbcc59 68%, transparent);
  pointer-events: none;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-glass{
  border: 1px solid #f4f6dfba;
  border-top: 2px solid #fff8df;
  border-bottom-width: 3px;
  background:
    linear-gradient(100deg, #ffffff2b 0, transparent 20%, transparent 74%, #c5f7f233 100%),
    linear-gradient(transparent 17%, #eeb28a55 18%, #d98d7175 68%, #d17c617d);
  box-shadow: inset 2px 0 2px #fff6, inset -4px 0 4px #e5ffef33, inset 0 -3px 0 #fff7e333, 2px 3px 0 #153a3740, 4px 7px 9px #06232e4d;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-glass::after{
  content: "";
  position: absolute;
  top: 7px;
  bottom: 8px;
  left: 3px;
  width: 2px;
  border-radius: 5px;
  background: linear-gradient(#fffbe6a6, #fffbe617);
  pointer-events: none;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-glass i,body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-glass b{
  border-color: #fcfff3ba;
  background: linear-gradient(135deg, #ffffff94, #defaef24 50%, #e4fff84d);
  box-shadow: inset 1px 1px 0 #ffffff7a, 1px 2px 1px #38787126;
  border-radius: 3px;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-glass::before{
  border-width: 2px;
  border-color: #edca91;
  background: repeating-conic-gradient(from 8deg, #f5dba74d 0 42deg, #fff1bf8c 43deg 48deg), radial-gradient(circle, #f8d18c85, #e9b56b7a);
  box-shadow: inset 0 0 0 1px #fff4cf8c, 1px 2px 2px #3e4c2c26;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-scene-ticket{
  background: linear-gradient(130deg, #fffef6, #f2ebdc);
  border-color: #cfbca2;
}
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-speech{
  background: #f8f6e8;
  border-color: #bdd4bb;
  color: #28514e;
  box-shadow: 2px 4px 10px #09232c2b;
}
@media (min-width: 760px){
body[data-visual-edition] .night-section > .night-stage .night-floor{ height: 398px; }
body[data-visual-edition] .night-section > .night-stage .night-controls button{
    flex-direction: row;
    gap: 7px;
  }
body[data-visual-edition] .night-section > .night-stage .shift-person{ max-width: 155px; }
body[data-visual-edition] .night-section > .night-stage .shift-system{ top: 82px; max-width: 166px; }
body[data-visual-edition] .night-section > .night-stage .shift-handy{ top: 150px; }
body[data-visual-edition] .night-section > .night-stage .shift-order{ top: 205px; }
body[data-visual-edition] .night-section > .night-stage .shift-manager{ top: 236px; max-width: 144px; }
body[data-visual-edition] .night-section > .night-stage .floor-counter{ top: 101px; height: 64px; }
body[data-visual-edition] .night-section > .night-stage .table-one{ top: 208px; }
body[data-visual-edition] .night-section > .night-stage .table-two{ top: 268px; }
body[data-visual-edition] .night-section > .night-stage .table-three{ top: 335px; }
body[data-visual-edition] .night-section > .night-stage .show-word{ font-size: 88px; }
body[data-visual-edition] .night-section > .night-stage .customer-memory{ top: 89px; max-width: 252px; }
body[data-visual-edition] .service-demo[data-service-enhanced] :is(.service-lounge, .service-bar){ height: 284px; }
body[data-visual-edition] .service-demo[data-service-enhanced] .service-tabletop{ top: 196px; }
body[data-visual-edition] .service-demo[data-service-enhanced] .service-seat{ top: 181px; }
body[data-visual-edition] .service-demo[data-service-enhanced] .service-seat:nth-of-type(3){ top: 181px; }
body[data-visual-edition] .service-demo[data-service-enhanced] .service-seat:nth-of-type(4){ top: 217px; }
body[data-visual-edition] .service-demo[data-service-kind="cabaret"] .service-actor--staff{ width: 139px; bottom: 62px; }
body[data-visual-edition] .service-demo[data-service-kind="cabaret"] .service-actor--cast{ width: 128px; bottom: 73px; }
body[data-visual-edition] .service-demo[data-service-kind="cabaret"] .service-guests{ bottom: 55px; }
body[data-visual-edition] .service-demo[data-service-enhanced] .service-scene-ticket{ top: 106px; }
body[data-visual-edition] .service-demo[data-service-kind="cabaret"] .service-extension{ top: 20px; }
body[data-visual-edition] .host-demo-actor{ width: 117px; top: 96px; }
body[data-visual-edition] .host-demo-actor-order{ top: 80px; }
}
@media (max-width: 540px){
body[data-visual-edition] .night-stage .stage-topline{ padding: 6px 10px; }
body[data-visual-edition] .night-stage #night-time{ font-size: 20px; }
body[data-visual-edition] .night-stage .stage-toolbar{ padding: 3px 7px; gap: 5px; }
body[data-visual-edition] .night-stage .stage-pace > button{ padding: 5px 7px; font-size: 10px; }
body[data-visual-edition] .night-stage .stage-pace small{ font-size: 8px; }
body[data-visual-edition] .night-stage .stage-top-actions > button{ padding: 5px 7px; font-size: 10px; }
body[data-visual-edition] .night-stage .night-controls{ padding: 6px 7px; gap: 5px; }
body[data-visual-edition] .night-stage .night-controls small{ font-size: 9px; }
body[data-visual-edition] .night-stage .night-controls span{ font-size: 10px; }
body[data-visual-edition] .night-section > .night-stage .night-floor{ height: clamp(272px, 39svh, 304px); }
body[data-visual-edition] .night-stage .shift-person::before{ height: 8px; }
}
@media (max-width: 370px){
body[data-visual-edition] .night-stage .stage-toolbar{ padding-inline: 5px; gap: 4px; }
body[data-visual-edition] .night-stage .stage-pace > button{ padding-inline: 5px; }
body[data-visual-edition] .night-stage .stage-top-actions{ gap: 3px; }
body[data-visual-edition] .night-stage .stage-top-actions > button{ padding-inline: 5px; min-width: 44px; }
body[data-visual-edition] .night-stage .night-controls{ gap: 4px; padding-inline: 6px; }
body[data-visual-edition] .night-stage .night-controls small{ font-size: 8px; }
body[data-visual-edition] .night-stage .night-controls span{ font-size: 10px; }
body[data-visual-edition][data-vertical="girlsbar"] .service-demo[data-service-enhanced] .service-actor--staff{ width: 118px; left: -3%; }
}
body[data-visual-edition].motion-off :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::before,body[data-visual-edition].motion-off :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::after,html:has(body[data-visual-edition])[data-motion="off"] :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::before,html:has(body[data-visual-edition])[data-motion="off"] :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::after{
  animation: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce){
body[data-visual-edition] :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::before,body[data-visual-edition] :is(.night-stage, .service-demo, .concafe-demo, .host-demo-showcase) *::after{
    animation: none !important;
    transition: none !important;
  }
}

/* Keep the extension badge above the cast face at every stage size. */
body[data-visual-edition] .service-demo[data-service-kind=cabaret][data-service-enhanced] .service-extension{left:39%;top:20px;width:48px;height:48px}
body[data-visual-edition] .service-demo[data-service-kind=cabaret][data-service-step="2"] .service-chandelier{opacity:.18}
