/* Selah's observation theatre. Every pulse comes from a simulated event. */
.sl-home .sl-crowd-view{--crowd-tilt-x:0deg;--crowd-tilt-y:0deg;--crowd-light-x:50%;--crowd-light-y:40%;isolation:isolate;overflow:hidden;background:#121722;border-radius:8px;box-shadow:0 22px 55px -32px #12172240;transform:perspective(1500px) rotateX(var(--crowd-tilt-x)) rotateY(var(--crowd-tilt-y));transform-origin:50% 60%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.sl-home .sl-crowd-view:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at var(--crowd-light-x) var(--crowd-light-y),#a9c2ff0a,transparent 65%);mix-blend-mode:screen}
.sl-home .sl-crowd-map{position:relative;z-index:0}
.sl-home .sl-crowd-interior{fill:#263247}
.sl-home .sl-crowd-street{fill:#151d2a}
.sl-home .sl-crowd-interior-rule{fill:none;stroke:#90a4c3;stroke-width:1;stroke-opacity:.15}
.sl-home .sl-crowd-counter-base{fill:#1a2331}
.sl-home .sl-crowd-counter-top{fill:#39475f;stroke:#7386a2;stroke-width:1}
.sl-home .sl-crowd-counter-edge{fill:none;stroke:#90a4c3;stroke-width:1;stroke-opacity:.45}
.sl-home .sl-crowd-floor-detail{fill:#2d394d;stroke:#768aa7;stroke-opacity:.3;stroke-width:1}
.sl-home .sl-crowd-wall-depth{fill:none;stroke:#0c111d;stroke-width:12;stroke-linecap:butt}
.sl-home .sl-crowd-wall-cap{fill:none;stroke:#546986;stroke-width:14}
.sl-home .sl-crowd-wall-top{fill:none;stroke:#a1b4d1;stroke-width:1;stroke-opacity:.72}
.sl-home .sl-crowd-wall{stroke:#c5d3eb;stroke-width:3;stroke-linecap:butt}
.sl-home .sl-crowd-display-base{fill:#a1baff;fill-opacity:.2}
.sl-home .sl-crowd-display-object{fill:#bfd2ff;fill-opacity:.33;stroke:#d1dfff;stroke-opacity:.25;stroke-width:1}
.sl-home .sl-crowd-window-frame{fill:none;stroke:#9aaecd;stroke-width:3}
.sl-home .sl-crowd-glass{stroke:#cadaff;stroke-width:1.5}
.sl-home .sl-crowd-entry-reveal{fill:none;stroke:#8da4c6;stroke-width:2;stroke-opacity:.75}
.sl-home .sl-crowd-door{stroke:#bacceb;stroke-width:1;stroke-opacity:.3;stroke-dasharray:3 6}
.sl-home .sl-crowd-door-leaf{fill:#4b5d7b;stroke:#b3c5e3;stroke-width:1}
.sl-home .sl-crowd-door-handle{fill:none;stroke:#e2eaff;stroke-width:2;stroke-linecap:round}
.sl-home .sl-crowd-threshold{stroke:#cbdcff;stroke-width:4;stroke-linecap:butt}
.sl-home .sl-crowd-window-zone{fill:#8eacfa;fill-opacity:.025;stroke:#a2bbfa;stroke-opacity:.3;stroke-width:1;stroke-dasharray:3 7}
.sl-home .sl-crowd-paving{fill:none;stroke:#a6b9d7;stroke-width:1;stroke-opacity:.09}
.sl-home .sl-crowd-label{fill:#d9e2f2;font-size:18px;letter-spacing:.01em}
.sl-home .sl-crowd-label-end{text-anchor:end}
.sl-home .sl-crowd-legend{position:relative;inset:auto;z-index:2;justify-content:flex-end;gap:10px 22px;margin:0;padding:8px 24px 9px;background:#121722;border-top:1px solid #a4b6d624;color:#d8e4fa;font-size:11px;line-height:1.5}
.sl-home .sl-crowd-legend span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.sl-home .sl-crowd-legend i{width:6px;height:6px;flex:none;background:#c1cde2}
.sl-home .sl-crowd-legend span:nth-child(2) i{background:#edbf7a}
.sl-home .sl-crowd-legend span:nth-child(3) i{background:#a3c0ff}
.sl-home .sl-crowd-person-trail{fill:none;stroke:#adc0e1;stroke-width:2;stroke-linecap:round;opacity:.32}
.sl-home .sl-crowd-person-shadow{fill:#080c14;opacity:.5;filter:blur(2px)}
.sl-home .sl-crowd-person{fill:#bdcae0;stroke:#edf3ff;stroke-width:1.4;filter:drop-shadow(0 2px 2px #080c144d)}
.sl-home .sl-crowd-person-highlight{fill:#f5f8ff;fill-opacity:.7}
.sl-home .sl-crowd-person-space{fill:#b0c6ff;fill-opacity:.045;stroke:none}
.sl-home .sl-crowd-actor.is-inside .sl-crowd-person{fill:#9dbaff;stroke:#e3edff}
.sl-home .sl-crowd-actor.is-inside .sl-crowd-person-space{fill:#91b2ff;fill-opacity:.09}
.sl-home .sl-crowd-actor.is-inside .sl-crowd-person-trail{stroke:#b2cbff}
.sl-home .sl-crowd-actor.is-pausing .sl-crowd-person-space{fill:#d7a75c;fill-opacity:.11;stroke:#d7ac67;stroke-opacity:.28;stroke-width:1}
.sl-home .sl-crowd-actor.is-pausing .sl-crowd-person{fill:#e4b777;stroke:#f7dfb6;r:10px}
.sl-home .sl-crowd-actor.is-pausing .sl-crowd-person-pause{stroke:#67491c;stroke-width:1.7}
.sl-home .sl-crowd-actor.is-pausing .sl-crowd-person-highlight{display:none}
.sl-home .sl-crowd-actor.is-still .sl-crowd-person-trail{opacity:0}
.sl-home .sl-crowd-gate-pulse{fill:none;stroke:#9fbeff;stroke-width:1.5;pointer-events:none;opacity:0}
.sl-home .sl-crowd[data-crossing="exit"] .sl-crowd-gate-pulse{stroke:#b6c8e8}
.sl-home .sl-crowd-heading p{color:#475b86;background:#edf2ff;border-radius:3px;padding:5px 9px}
.sl-home .sl-crowd-counts>div{position:relative}
.sl-home .sl-crowd-counts dd{position:relative;isolation:isolate}
.sl-home .sl-crowd-counts dd:before{content:"";position:absolute;inset:-5px -8px;z-index:-1;border-radius:5px;background:#88a8fc;opacity:calc(var(--crowd-count-flash,0)*.24);transform:scale(calc(1 + var(--crowd-count-flash,0)*.12));pointer-events:none}
.sl-home .sl-crowd-counts>div:nth-child(2) dd:before{background:#d6ab63}
.sl-home .sl-crowd-counts>div.is-counting dd{color:#2448ce}
.sl-home .sl-crowd-counts>div:nth-child(2).is-counting dd{color:#9a650c}
.sl-home .sl-crowd[data-paused="true"] .sl-crowd-person-trail{opacity:.12}
.sl-home .sl-crowd[data-paused="true"] .sl-crowd-actor.is-still .sl-crowd-person-trail{opacity:0}
@media(max-width:600px){
  .sl-home .sl-crowd-view{border-radius:8px;padding-top:0}
  .sl-home .sl-crowd-map{min-height:0}
  .sl-home .sl-crowd-label{font-size:32px}
  .sl-home .sl-crowd-legend{inset:auto;justify-content:flex-start;gap:8px 18px;padding:11px 14px 12px;font-size:11px}
  .sl-home .sl-crowd-heading p{display:inline-block;margin-top:9px}
  .sl-home .sl-crowd-person{r:10px;stroke-width:2}
  .sl-home .sl-crowd-actor.is-pausing .sl-crowd-person{r:12px}
}
@media(max-width:400px){.sl-home .sl-crowd-label{font-size:36px}}
@media(prefers-reduced-motion:reduce){
  .sl-home .sl-crowd-view{transform:none!important;transition:none!important}
  .sl-home .sl-crowd-view:after{background:none}
  .sl-home .sl-crowd-gate-pulse,.sl-home .sl-crowd-person-trail{display:none}
}
/* Shared-session presentation: the simulation clock owns every displayed count. */
.sl-home .sl-crowd-session-status{margin:14px 0 0;color:#666d7a;font-size:12px;line-height:1.6}
.sl-home .sl-crowd .simulation-controls{margin-top:22px}
.sl-home .sl-crowd[data-full="true"] .sl-crowd-person-trail{opacity:.18}
.sl-home .sl-crowd[data-full="true"] .sl-crowd-actor.is-still .sl-crowd-person-trail{opacity:0}
.sl-home .sl-crowd[data-full="true"] .sl-crowd-gate-pulse{display:none}
