:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-background:#0f1115;--color-surface:#1a1d23;--color-text:#e8eaed;--color-muted:#a8adb5;--color-accent:#7cb7ff;--color-live:#ff6b6b;--color-online:#5fd38d;--color-on-video:#f5f5f5;--color-live-on-video:#ff5c5c;--color-video-scrim:#0009;--color-error:#ff8a80;--color-border:#343943;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--radius:.5rem;--page-width:90rem;--page-gutter:max(var(--space-4), calc((100% - var(--page-width)) / 2));--camera-width:min(100%, calc((100dvh - 12rem) * 16 / 9));color:var(--color-text);background:var(--color-background);font-family:system-ui,sans-serif;font-size:1rem;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--color-background:#f6f7f9;--color-surface:#fff;--color-text:#1b1f24;--color-muted:#545b66;--color-accent:#0b5cad;--color-live:#b42318;--color-online:#1a7f37;--color-error:#b42318;--color-border:#d0d5dc}}body{margin:0}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}a{color:var(--color-accent)}button{min-height:2.75rem;padding:var(--space-2) var(--space-4);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer}button:disabled{color:var(--color-muted);cursor:progress}input:not([type=radio],[type=checkbox]){box-sizing:border-box;width:100%;max-width:30rem;min-height:2.75rem;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}input[aria-invalid=true]{border-color:var(--color-error)}.site-header{gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--page-gutter);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-nav{display:contents}.site-nav-toggle{gap:var(--space-2);align-items:center;display:inline-flex}.site-nav-toggle svg,.site-nav-list svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.25rem;height:1.25rem}.site-nav-list{gap:var(--space-1);padding:0 0 var(--space-2);flex-direction:column;flex-basis:100%;margin:0;list-style:none;display:none}.site-nav[data-open] .site-nav-list{display:flex}.site-nav-list a{min-height:2.75rem;padding:var(--space-2) var(--space-1);line-height:1.75rem;display:block}.site-nav-list a[aria-current=page]{color:var(--color-text);text-underline-offset:.35em;font-weight:700;text-decoration-thickness:3px}@media (width>=52rem){.site-nav{display:block}.site-nav-toggle{display:none}.site-nav-list{gap:var(--space-1) var(--space-4);flex-direction:row;align-items:center;padding:0;display:flex}.site-nav-list a{padding-inline:0}}.site-name{gap:var(--space-2);color:var(--color-text);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.site-main{padding:var(--space-4) var(--page-gutter)}h1:focus:not(:focus-visible){outline:none}h1:focus-visible{outline-offset:4px}.button-danger{color:var(--color-error);border-color:currentColor}.button-danger:disabled{color:var(--color-muted)}h1{margin:0 0 var(--space-4);font-size:1.5rem}.notice{max-width:60ch}.share-link{gap:var(--space-2);flex-direction:column;flex-basis:100%;align-items:flex-start;display:flex}.share-link p{margin:0}.role-choice{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;margin:0;display:flex}.role-choice label{gap:var(--space-2);align-items:center;min-height:1.5rem;display:flex}.role-choice input{width:1.25rem;height:1.25rem;margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-list{gap:var(--space-2);max-width:40rem;margin:0 0 var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.settings-item{gap:var(--space-2) var(--space-4);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.settings-name{margin:0;font-weight:600}.settings-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.rename-form,.settings-confirm-hint{flex-basis:100%}h2{margin:var(--space-6) 0 var(--space-2);font-size:1.25rem}.session-notice{font-weight:600}.form{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.field-hint{max-width:60ch;color:var(--color-muted);margin:0}.form-status{min-height:1.5rem;color:var(--color-muted);margin:0}.form-error{color:var(--color-error);margin:0;font-weight:600}.camera-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));margin:0;padding:0;list-style:none;display:grid}.camera-tile{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;position:relative}.camera-name{margin:0;font-size:1.125rem}.camera-link{color:var(--color-text);text-decoration:none}.camera-link:after{z-index:1;content:"";border-radius:var(--radius);position:absolute;inset:0}.camera-link:focus-visible{outline:none}.camera-link:focus-visible:after{outline:3px solid var(--color-accent);outline-offset:2px}@media (hover:hover){.camera-tile:hover{border-color:var(--color-accent)}}.player-overlay button{z-index:2;position:relative}.camera-health{gap:var(--space-2);color:var(--color-muted);align-items:center;margin:0;display:flex}.camera-health:before{content:"";background:var(--color-muted);border-radius:50%;flex:none;width:.625rem;height:.625rem}.camera-health[data-status=online]:before{background:var(--color-online)}.camera-health[data-status=offline]:before{background:var(--color-error)}.back-link{min-height:1.5rem;padding-block:var(--space-1);display:inline-block}.camera-bar{gap:var(--space-1) var(--space-4);max-width:var(--camera-width);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.camera-single{width:var(--camera-width);margin-top:var(--space-3)}.player{border-radius:var(--radius);background:#000;position:relative;overflow:hidden;container-type:inline-size}.player-video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%;display:block}.player-overlay{gap:var(--space-2);padding:var(--space-3);color:var(--color-on-video);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player-overlay button{pointer-events:auto}.player-status{max-width:40ch;margin:0}.player-status[data-kind=connecting]:before,.player-status[data-kind=reconnecting]:before{width:1.75rem;height:1.75rem;margin:0 auto var(--space-2);content:"";border:3px solid #ffffff4d;border-top-color:var(--color-on-video);border-radius:50%;animation:1s linear infinite player-spin;display:block}@keyframes player-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.player-status[data-kind=connecting]:before,.player-status[data-kind=reconnecting]:before{animation:none}}.player-overlay[data-kind=live]{padding:var(--space-2);justify-content:flex-start;align-items:flex-start}.player-status[data-kind=live]{gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-video-scrim);border-radius:var(--radius);align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.player-status[data-kind=live]:before{content:"";background:var(--color-live-on-video);border-radius:50%;width:.5rem;height:.5rem}.player-fullscreen{right:var(--space-2);bottom:var(--space-2);gap:var(--space-2);color:var(--color-on-video);background:var(--color-video-scrim);border-color:#0000;align-items:center;display:inline-flex;position:absolute}@container (width<=30rem){.player-fullscreen-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.player-fullscreen svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.25rem;height:1.25rem}.player:fullscreen{border-radius:0;align-items:center;display:flex}.player:fullscreen .player-video{aspect-ratio:auto;height:100%}@media (orientation:landscape) and (height<=32rem){:root{--camera-width:min(100%, calc(100dvh * 16 / 9))}.site-main{padding-block:var(--space-2)}.site-main h1{margin-bottom:var(--space-2)}}
