.ambience-layer{position:absolute;left:0;top:0;width:100%;aspect-ratio:1470/1070;pointer-events:none;z-index:1;overflow:hidden}
.ambience-layer .ambience-canvas{position:absolute;left:0;top:0;width:100%;height:auto;pointer-events:none}
.ambience-layer .ambience-steam-layer{position:absolute;inset:0;pointer-events:none}
.ambience-layer .ambience-machine-steam{position:absolute;left:8.7%;top:38%;width:3.1%;height:6.5%;transform:translate(-50%,-100%)}
.ambience-layer .ambience-steam{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ambience-layer .ambience-wisp{stroke-width:5;opacity:0;filter:blur(1.2px);animation:ambience-puff 28s linear infinite;transform-origin:50% 100%}
.ambience-layer .ambience-wisp-second{stroke-width:3.8;animation-name:ambience-double}
.ambience-layer.ambience-steam-off .ambience-steam{display:none}
.ambience-layer.ambience-paused .ambience-wisp{animation-play-state:paused}
.ambience-layer.ambience-hidden{display:none}
#workspace-map .ambience-sound,.seat-actions .ambience-sound{font-size:12px;padding:5px 10px;flex-shrink:0}
@media (prefers-reduced-motion:reduce){.ambience-layer .ambience-wisp{animation:none}}
.ambience-layer .ambience-holiday-layer{position:absolute;inset:0;pointer-events:none}
.ambience-layer .ambience-holiday{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ambience-layer.ambience-evening .ambience-holiday-layer{filter:sepia(.14) saturate(1.1) brightness(.9)}
.ambience-layer.ambience-night .ambience-holiday-layer{filter:brightness(.76) saturate(.9)}
/* Every 28s: one slow puff, a pause, then two staggered wisps. */
@keyframes ambience-puff{0%,50%{opacity:0;transform:translate(0,15px) scaleX(.7)}5%,55%{opacity:.65;transform:translate(-2px,6px) scaleX(.85)}14%,64%{opacity:.54;transform:translate(3px,-14px) scaleX(1)}25%,75%{opacity:0;transform:translate(10px,-48px) scaleX(1.22)}26%,49%,76%,100%{opacity:0;transform:translate(10px,-48px) scaleX(1.22)}}
@keyframes ambience-double{0%,54%{opacity:0;transform:translate(1px,16px) scaleX(.65)}60%{opacity:.53;transform:translate(3px,2px) scaleX(.85)}70%{opacity:.4;transform:translate(-3px,-22px) scaleX(1.05)}82%,100%{opacity:0;transform:translate(-9px,-52px) scaleX(1.2)}}
.ambience-layer.ambience-private.ambience-evening .ambience-holiday-layer{filter:sepia(.18) brightness(.84) saturate(1.05)}
.ambience-layer.ambience-private.ambience-night .ambience-holiday-layer{filter:sepia(.1) brightness(.72)}
.ambience-layer.ambience-private .ambience-canvas{height:30.8411215%}
