/* OBSL Module Isolation — loaded last. */
[data-obsl-isolation="stable"]{isolation:isolate;min-width:0;box-sizing:border-box}
[data-obsl-isolation="stable"] *,[data-obsl-isolation="stable"] *::before,[data-obsl-isolation="stable"] *::after{box-sizing:border-box}
:is(#birthday-event-panel,#event-frame,#calendar-speed-panel,#weather-widget,#countdown-panel,#tech-news-panel,#day-info-panel,#moments-panel,#market-panel,#footer-frame)[data-obsl-isolation="stable"]{contain:layout style}

/* Text Effects Engine owns its own WAAPI/fallback runtime. */
[data-obsl-effect]{transition-property:color,background-color,border-color!important}
:is(span,strong,b,em,i,small,time,label)[data-obsl-effect]{display:inline-block!important}

/* Admin-selected overlay effects must not be silently removed by the generic performance governor. */
html[data-obsl-performance="low"] #stars-layer[data-obsl-effect-enabled="1"],html[data-obsl-performance="low"] #fireworks-canvas[data-obsl-effect-enabled="1"]{display:block!important}
#stars-layer[data-obsl-effect-enabled="0"],#fireworks-canvas[data-obsl-effect-enabled="0"]{display:none!important}

/* Event: true continuous conveyor. The stage height is measured against ALL current events,
   therefore long rows are never clipped when the next item enters. */
#event-frame[data-obsl-isolation="stable"] .upcoming-box{height:auto!important;min-height:var(--obsl-event-stage-h,64px)!important}
#event-frame[data-obsl-isolation="stable"] #upcoming-stage{
 position:relative!important;width:100%!important;height:var(--obsl-event-stage-h,64px)!important;
 min-height:48px!important;overflow:hidden!important;contain:layout paint!important;touch-action:pan-y!important;
}
#event-frame[data-obsl-isolation="stable"] #event-motion-legacy{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;contain:layout paint!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track-legacy{position:absolute!important;inset:0!important;will-change:transform!important;backface-visibility:hidden!important;transform:translate3d(0,0,0)}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track-legacy.is-horizontal{display:flex!important;flex-flow:row nowrap!important;width:200%!important;height:100%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track-legacy.is-vertical{display:flex!important;flex-flow:column nowrap!important;width:100%!important;height:200%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track-legacy.is-horizontal>.obsl-event-item-legacy{flex:0 0 50%!important;width:50%!important;height:100%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track-legacy.is-vertical>.obsl-event-item-legacy{flex:0 0 50%!important;width:100%!important;height:50%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-item-legacy{
 display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;margin:0!important;
 padding:6px 36px 6px 9px!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;
 word-break:normal!important;line-height:1.28!important;text-align:center!important;background:transparent!important;backface-visibility:hidden!important;
 font-family:var(--obsl-events-font-family,system-ui,sans-serif)!important;font-size:var(--obsl-events-font-size,16px)!important;
}
#event-frame[data-obsl-isolation="stable"] .obsl-event-single-legacy{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-measure-legacy{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}
#event-frame[data-obsl-isolation="stable"] .event-content{display:inline-block!important;width:100%!important;color:var(--event-content-color,#111)!important}
#event-frame[data-obsl-isolation="stable"] .event-name{color:var(--event-name-color,#111)!important}
#event-frame[data-obsl-isolation="stable"] .event-date{color:var(--event-date-color,#d32f2f)!important}
#event-frame[data-obsl-isolation="stable"] .event-weekday{color:var(--event-label-color,#374151)!important}
#event-frame[data-obsl-isolation="stable"] .event-lead{color:var(--event-highlight-color,#d32f2f)!important}
@keyframes obslWeekendTextBlinkLegacy{0%,58%,100%{color:#d40000}59%,82%{color:#ff7373}}
#event-frame[data-obsl-isolation="stable"] .event-weekend,#event-frame[data-obsl-isolation="stable"] .event-weekend *{color:#d40000!important;animation:obslWeekendTextBlinkLegacy 1.15s steps(1,end) infinite!important}
@media(max-width:760px){#event-frame[data-obsl-isolation="stable"] .obsl-event-item-legacy{padding:5px 32px 5px 7px!important;font-size:clamp(12px,3.5vw,16px)!important}}

/* Remote/Signage active receiver. No transform is used so this never fights module effects. */
[data-obsl-remote-active="1"]{outline:2px solid currentColor!important;outline-offset:2px!important}
[data-obsl-remote-focus="1"]{box-shadow:0 0 0 2px currentColor!important}

/* Countdown layout stays frozen while its settings viewport is open. */
html.obsl-settings-countdown-open #countdown-panel{--obsl-countdown-settings-lock:1}
html.obsl-settings-countdown-open #countdown-panel .cd-grid{contain:layout paint!important}
html.obsl-settings-countdown-open #countdown-panel .cd-grid>span{transform:none!important;transition:none!important}

/* Strong press/ack feedback without transform. */
#obsl-settings-viewport button.obsl-settings-pressed{filter:brightness(.88)!important;outline:2px solid currentColor!important;outline-offset:-2px!important}
#obsl-settings-viewport button.obsl-settings-ack{filter:brightness(.94)!important;box-shadow:inset 0 0 0 2px currentColor!important}


/* OBSL: borderless remote focus + seamless Event conveyor. */
[data-obsl-remote-active="1"],[data-obsl-remote-focus="1"]{outline:0!important;outline-offset:0!important;box-shadow:none!important}
:is(#birthday-event-panel,#event-frame,#calendar-speed-panel,#weather-widget,#countdown-panel,#tech-news-panel,#day-info-panel,#moments-panel,#market-panel,#footer-frame):hover,
:is(#birthday-event-panel,#event-frame,#calendar-speed-panel,#weather-widget,#countdown-panel,#tech-news-panel,#day-info-panel,#moments-panel,#market-panel,#footer-frame):focus,
:is(#birthday-event-panel,#event-frame,#calendar-speed-panel,#weather-widget,#countdown-panel,#tech-news-panel,#day-info-panel,#moments-panel,#market-panel,#footer-frame):focus-visible{outline:0!important;outline-offset:0!important;box-shadow:none!important}
#event-frame[data-obsl-isolation="stable"] #event-motion0{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;contain:layout paint!important;transform:translateZ(0)!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track{position:absolute!important;left:0!important;top:0!important;display:flex!important;will-change:transform!important;backface-visibility:hidden!important;transform-style:flat!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track.is-horizontal{flex-flow:row nowrap!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-track.is-vertical{flex-flow:column nowrap!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-item{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;margin:0!important;padding:6px 36px 6px 9px!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.28!important;text-align:center!important;background:transparent!important;backface-visibility:hidden!important;font-family:var(--obsl-events-font-family,system-ui,sans-serif)!important;font-size:var(--obsl-events-font-size,16px)!important;color:var(--event-content-color,#111)!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-measure{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-single{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
#event-frame[data-obsl-isolation="stable"] .obsl-event-typewriter{color:var(--event-content-color,#111)!important;will-change:clip-path!important}
#event-frame[data-obsl-isolation="stable"] .event-weekend,#event-frame[data-obsl-isolation="stable"] .event-weekend *{color:#d40000!important;animation:none!important}
#day-info-panel .day-util-fx{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}
#day-info-panel .day-util-btn{transform-origin:center!important;will-change:transform,filter,opacity!important}
@media(max-width:760px){#event-frame[data-obsl-isolation="stable"] .obsl-event-item{padding:5px 32px 5px 7px!important;font-size:clamp(12px,3.5vw,16px)!important}}

/* Performance modes: preserve saved settings; only suspend expensive runtime rendering. */
html[data-obsl-performance-effective="ultra"] #stars-layer,
html[data-obsl-performance-effective="ultra"] #fireworks-canvas{display:none!important}
html[data-obsl-performance-effective="ultra"] .obsl-zone-effect-active,
html[data-obsl-performance-effective="ultra"] .is-blink,
html[data-obsl-performance-effective="ultra"] .is-shimmer,
html[data-obsl-performance-effective="ultra"] .is-shake{animation:none!important;transform:none!important;filter:none!important;text-shadow:none!important;opacity:1!important}
html[data-obsl-performance-effective="eco"] #fireworks-canvas{display:none!important}
html[data-obsl-performance-effective="ultra"] video.obsl-background-video,
html[data-obsl-performance-effective="ultra"] .obsl-managed-background video{visibility:hidden!important}

/* Stable effects runtime ownership. */
[data-obsl-zone-effect]{transition-property:color,background-color,border-color!important}
:is(span,strong,b,em,i,small,time,label)[data-obsl-zone-effect]{display:inline-block!important}
[data-obsl-zone-effect].obsl-zone-effect-active{animation:none!important}
