.svc{--svc-dur:7s;width:100%;position:relative}.svc-stage{display:grid}.svc-scene{opacity:0;visibility:hidden;flex-direction:column;grid-area:1/1;gap:14px;transition:opacity .55s,transform .55s,visibility 0s linear .55s;display:flex;transform:translateY(14px)scale(.985)}.svc-scene.is-active{opacity:1;visibility:visible;transition:opacity .6s .12s,transform .6s .12s,visibility;transform:none}.svc-scene-top{justify-content:flex-start;display:flex}.svc-badge{font-size:13px}.svc-badge span:first-child,.svc-badge span+span{color:var(--foreground)}.svc-scene.is-active .svc-badge span:first-child{animation:.5s .2s both svc-slide-r}.svc-scene.is-active .svc-badge span+span{animation:.5s .32s both svc-slide-r}.svc-scene.is-active .svc-art{animation:.7s cubic-bezier(.2,.7,.2,1) .15s both svc-rise}.svc-scene.is-active .svc-caption{animation:.6s .45s both svc-rise}.svc-caption{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:4px 14px;padding:14px 16px;display:grid}.svc-caption-icon{background:var(--primary);width:34px;height:34px;color:var(--foreground);border-radius:8px;grid-row:span 2;padding:7px}.svc-caption-title{font-family:var(--font-display);margin:0;font-size:15px;font-weight:600;line-height:1.3}.svc-caption-text{color:var(--muted-foreground);margin:2px 0 0;font-size:13px;line-height:1.45}.svc-caption-link{min-height:32px;color:var(--link);grid-column:2;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.svc-caption-link svg{width:15px;height:15px}.svc-caption-link:hover{text-underline-offset:4px;text-decoration:underline}.svc-monitor{background:var(--foreground);border:6px solid var(--foreground);box-shadow:var(--shadow-soft);border-radius:12px;position:relative}.svc-monitor-head{letter-spacing:.6px;color:var(--background);justify-content:space-between;align-items:center;padding:8px 10px;font-size:10px;display:flex}.svc-rec{color:var(--primary);align-items:center;gap:6px;font-weight:600;display:inline-flex}.svc-rec i,.svc-alert i,.svc-gps i{background:var(--primary);border-radius:50%;width:7px;height:7px;display:inline-block}.svc-scene.is-active .svc-rec i{animation:1.2s steps(2,jump-none) infinite svc-blink}.svc-cams{border-radius:0 0 6px 6px;grid-template-columns:1fr 1fr;gap:4px;display:grid;overflow:hidden}.svc-cam{aspect-ratio:5/3;background:var(--muted);position:relative;overflow:hidden}.svc-cam svg{width:100%;height:100%;display:block}.svc-cam-label{background:var(--foreground);color:var(--background);border-radius:2px;padding:2px 5px;font-size:9px;line-height:1.2;position:absolute;bottom:6px;left:7px}.svc-alert{background:var(--background);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:44%;right:-14px}.svc-scene.is-active .svc-alert{animation:.45s cubic-bezier(.3,1.4,.5,1) 1.1s both svc-pop}.svc-scene.is-active .svc-alert i{animation:1.2s steps(2,jump-none) 1.5s infinite svc-blink}.svc-walker{transform:translate(120px,92px)}.svc-scene.is-active .svc-walker{animation:6.5s linear both svc-walk}.svc-scene.is-active .svc-detect,.svc-scene.is-active .svc-detect-tag{animation:.3s .7s both svc-fade}.svc-scene.is-active .svc-car{animation:1.4s cubic-bezier(.2,.7,.2,1) .3s both svc-car-in}.svc-scene.is-active .svc-plate{animation:.25s 1.6s both svc-fade,.9s 1.6s 3 svc-blink-soft}.svc-scene.is-active .svc-plate-tag{transform-box:fill-box;transform-origin:50%;animation:.4s cubic-bezier(.3,1.4,.5,1) 1.9s both svc-pop}.svc-scan{transform:translateY(117px)}.svc-scene.is-active .svc-scan{animation:2.4s ease-in-out infinite alternate svc-scan}.svc-scene.is-active .svc-reader{animation:.5s 2.6s 3 svc-blink-soft}.svc-scene.is-active .svc-access-tag{transform-box:fill-box;transform-origin:50%;animation:.4s cubic-bezier(.3,1.4,.5,1) 3.3s both svc-pop}.svc-map-card{background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px;overflow:hidden}.svc-map-head{justify-content:space-between;align-items:center;padding:11px 14px;font-size:12px;font-weight:500;display:flex}.svc-gps{color:var(--link);align-items:center;gap:6px;font-size:11px;display:inline-flex}.svc-scene.is-active .svc-gps i{animation:1.2s steps(2,jump-none) infinite svc-blink}.svc-map svg{width:100%;height:auto;display:block}.svc-route{stroke-dasharray:100;stroke-dashoffset:0}.svc-scene.is-active .svc-route{animation:5.4s linear .5s both svc-draw}.svc-vehicle{transform:translate(290px,120px)}.svc-scene.is-active .svc-vehicle{animation:5.4s linear .5s both svc-drive}.svc-scene.is-active .svc-vehicle-pulse{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-out infinite svc-pulse}.svc-cp-dot{transform-box:fill-box;transform-origin:50%}.svc-scene.is-active .svc-cp-1 .svc-cp-dot{animation:.4s cubic-bezier(.3,1.4,.5,1) 2.53s both svc-pop}.svc-scene.is-active .svc-cp-2 .svc-cp-dot{animation:.4s cubic-bezier(.3,1.4,.5,1) 4.06s both svc-pop}.svc-cp-3{transform-box:fill-box;transform-origin:50%}.svc-scene.is-active .svc-cp-3{animation:.45s cubic-bezier(.3,1.4,.5,1) 5.9s both svc-pop}.svc-events{color:var(--muted-foreground);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:10px 14px 12px;font-size:11px;list-style:none;display:grid}.svc-ev{align-items:center;gap:7px;display:flex}.svc-ev i{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 2px var(--link) inset;border-radius:50%;flex-shrink:0}.svc-scene.is-active .svc-ev-1{animation:.35s .4s both svc-fade}.svc-scene.is-active .svc-ev-2{animation:.35s 2.55s both svc-fade}.svc-scene.is-active .svc-ev-3{animation:.35s 4.1s both svc-fade}.svc-scene.is-active .svc-ev-4{animation:.35s 5.95s both svc-fade}.svc-controls{align-items:stretch;gap:8px;margin-top:14px;display:flex}.svc-tab{border:1px solid var(--border);background:var(--background);text-align:left;min-height:44px;color:var(--muted-foreground);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;justify-content:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.svc-tab.is-active{color:var(--foreground);border-color:var(--link)}.svc-tab:hover{background:var(--muted)}.svc-progress{background:var(--border);border-radius:3px;height:3px;display:block;overflow:hidden}.svc-progress-bar{background:var(--link);transform-origin:0;width:100%;height:100%;animation:svc-progress var(--svc-dur) linear both;display:block}.svc-pause{border:1px solid var(--border);background:var(--background);width:44px;min-height:44px;color:var(--foreground);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.svc-pause:hover{background:var(--muted)}.svc-pause svg{width:16px;height:16px}.svc.is-paused *,.svc.is-paused :before,.svc.is-paused :after{animation-play-state:paused!important}@keyframes svc-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes svc-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes svc-slide-r{0%{opacity:0;transform:translate(-10px)}}@keyframes svc-fade{0%{opacity:0}}@keyframes svc-pop{0%{opacity:0;transform:scale(.4)}}@keyframes svc-blink{50%{opacity:.2}}@keyframes svc-blink-soft{50%{opacity:.35}}@keyframes svc-walk{0%{transform:translate(18px,92px)}to{transform:translate(120px,92px)}}@keyframes svc-car-in{0%{opacity:0;transform:translateY(40px)scale(.7)}}@keyframes svc-scan{0%{transform:translateY(0)}to{transform:translateY(117px)}}@keyframes svc-draw{0%{stroke-dashoffset:100px}}@keyframes svc-drive{0%{transform:translate(45px,120px)}10.6%{transform:translate(45px,75px)}37.6%{transform:translate(160px,75px)}48.2%{transform:translate(160px,30px)}65.9%{transform:translate(235px,30px)}87.1%{transform:translate(235px,120px)}to{transform:translate(290px,120px)}}@keyframes svc-pulse{0%{opacity:.55;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@media (width<=550px){.svc-alert{display:none}.svc-cam-label{font-size:8px}.svc-events{font-size:10.5px}.svc-tab{padding:8px 10px;font-size:11px}}
