/* Camera experience shared by Safari, the home-screen webapp and desktop. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{overscroll-behavior-y:none}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:16px}button:disabled{opacity:.4;cursor:default}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.muted{color:var(--muted)}#mobileNav{display:none}.cameraTools{display:flex;gap:12px;align-items:center;margin-bottom:10px}.searchField{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;background:#071722;padding:0 12px;flex:1;min-width:0}.searchField input{width:100%;border:0;background:transparent;min-width:0;padding:13px 0}.searchField span{font-size:25px;color:var(--muted)}.segmented{display:flex;background:#061522;border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px}.segmented button{border:0;background:none;padding:9px 14px}.segmented button.active{background:#294158;color:#fff}.cameraCard{padding:0;overflow:hidden;text-align:left}.cameraCard .info{margin:0;max-width:none;padding:14px;min-width:0}.cameraCard strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cameraCard .info>div{min-width:0}.cameraCard small{display:block}.cameraCard img{background:#030c13}.cameraGrid.listMode{grid-template-columns:1fr}.listMode .cameraCard{display:grid;grid-template-columns:180px 1fr}.listMode .cameraCard .info{align-self:center}.eventTools{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.eventTools label{flex:1;min-width:160px}.cameraViewer{padding:20px;border-radius:20px;max-width:960px}#liveDialog.cameraViewer,#eventDialog.cameraViewer{width:880px;max-height:calc(100dvh - 24px)}.cameraViewer .dialoghead{padding:0 0 16px;top:0;background:var(--panel)}.cameraViewer h2{font-size:19px;max-width:65vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cameraViewer .dialoghead button{width:44px;height:44px;font-size:26px}.viewerEyebrow{font-size:10px;letter-spacing:2px;color:var(--orange)}.videoStage{position:relative;background:#02070c;aspect-ratio:16/9;border-radius:12px;overflow:hidden;touch-action:pan-y}.videoStage video{width:100%;height:100%;object-fit:contain;margin:0;border-radius:0}.liveDot{position:absolute;top:12px;left:12px;border-radius:5px;padding:4px 8px;background:#091421bc;color:#fff;font-size:10px;pointer-events:none}.playOverlay{position:absolute;inset:40% 10% auto;background:#f7941d;color:#07131f;min-height:52px;z-index:2}.playerStatus{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0}.playerStatus p{margin:0;font-size:12px}.playerStatus button{width:46px;height:46px;font-size:24px;padding:0;flex-shrink:0}.viewerControls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px}.viewerControls button{font-size:28px;padding:0;min-height:48px}.viewerControls select{width:100%;min-height:48px}.videoActions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.videoActions button{min-height:46px;font-size:13px;flex:1;white-space:nowrap}.swipeHint{font-size:11px;text-align:center;margin-bottom:18px}.viewerAdmin{border-top:1px solid var(--border);padding-top:16px}.mediaTabs{margin-bottom:16px}.mediaTabs button{flex:1;min-height:44px}.eventStage{background:#02070c;border-radius:12px;overflow:hidden}.eventStage #eventVideo,.eventStage #eventImage{display:block;width:100%;max-height:55dvh;object-fit:contain;margin:0;border-radius:0}.eventStage #eventVideo[hidden],.eventStage #eventImage[hidden]{display:none!important}#eventInfo{font-size:13px;line-height:1.6;margin:15px 0}.moreMenu{display:grid;gap:12px}.moreMenu button{min-height:48px;text-align:left}#moreDialog{width:440px}#installInstructions{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}#installInstructions p{line-height:1.7}.authShell{padding-top:max(25px,var(--safe-top));padding-bottom:max(25px,var(--safe-bottom))}#toast{bottom:calc(22px + var(--safe-bottom))}
@media(max-width:767px){
 body{background:#07131f}#app>aside{position:sticky;top:0;width:100%;padding:calc(9px + var(--safe-top)) max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));z-index:8;background:#071d33eF;backdrop-filter:blur(16px);border-bottom:1px solid #2c3e50}#app>aside .brand{display:flex;flex-direction:row;justify-content:flex-start;gap:12px;margin:0;padding:0;border:0}#app>aside .brand img{width:64px;height:44px;object-fit:contain}#app>aside .brand small{font-size:10px;margin:0;letter-spacing:2px}#app>aside>nav,#app>aside .identity{display:none}.shell{margin:0!important;min-width:0}header{height:auto;min-height:0;padding:12px 16px;border-bottom:0;gap:10px;flex-wrap:wrap}header>div:first-child{display:none}.headerRight{width:100%;justify-content:space-between}.headerRight select{max-width:58%;font-size:14px}main{padding:10px 16px calc(90px + var(--safe-bottom))}.pagehead{margin-bottom:18px;gap:8px}.pagehead h1{font-size:25px}.pagehead p{font-size:12px;max-width:245px}.pagehead>button{width:44px;height:44px;padding:0;font-size:0;flex-shrink:0}.pagehead>button:after{content:'↻';font-size:25px}.hero{padding:18px;margin-bottom:16px;border-radius:16px}.hero strong{font-size:18px}.hero p{font-size:12px;margin-bottom:0}.heroIcon{display:none}.hero>span{display:none}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:25px}.stat{padding:13px 9px;border-radius:12px;min-width:0}.stat strong{font-size:25px}.stat small:first-child{font-size:10px;min-height:30px;line-height:1.4}.stat small:last-child{display:none}.sectionhead{align-items:center;gap:8px;margin-bottom:12px}.sectionhead h2{font-size:16px}.sectionhead p{font-size:11px}.sectionhead button{font-size:11px;padding:9px}.cameraGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}.cameraCard{border-radius:13px;min-width:0}.cameraCard .info{display:block;padding:10px}.cameraCard strong{font-size:12px}.cameraCard small{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cameraCard .pill{display:inline-block;margin-top:7px;font-size:9px;padding:2px 7px}.cameraCard .playTag{font-size:0;bottom:6px;left:6px;padding:4px 8px}.cameraCard .playTag:before{content:'▶';font-size:12px}.cameraGrid.listMode .cameraCard{grid-template-columns:110px minmax(0,1fr)}.listMode .cameraCard .info{display:flex;gap:8px;align-items:center}.listMode .cameraCard .pill{margin:0 0 0 auto}.cameraTools{gap:8px}.segmented button{min-height:42px;padding:8px 11px}#cameraResult{font-size:11px}.panelhead{padding:16px;gap:10px}.eventRow{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:14px}.eventRow img{width:84px;height:58px;border-radius:8px}.eventRow strong{font-size:12px}.eventRow small{font-size:10px;line-height:1.5}.eventRow>.pill{display:none}.eventRow>button{grid-column:2;justify-self:start;min-height:40px;font-size:12px;padding:7px 13px}.eventTools{gap:10px}.eventTools label{font-size:11px;min-width:0;flex:1}.eventTools select{width:100%;font-size:14px;min-height:44px}.dataRow{padding:16px;flex-wrap:wrap;min-width:0}.dataRow .buttons{width:100%;flex-wrap:wrap}.dataRow select{max-width:100%}.dataRow button{min-height:44px}.info{padding:18px}.info a{display:inline-block;padding:8px 0}footer{display:none}#mobileNav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;inset:auto 0 0;background:#071d33f5;border-top:1px solid #2c3e50;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + var(--safe-bottom)) max(8px,env(safe-area-inset-left));z-index:10;backdrop-filter:blur(20px)}#mobileNav button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:0;border-radius:9px;padding:6px;font-size:10px;color:#99afc1;font-weight:600}#mobileNav button span{font-size:21px;line-height:22px}#mobileNav button.active{color:#f7941d;background:#f7941d14}#mobileNav #openMore{display:flex}#mobileNav[hidden]{display:none}.cameraViewer .dialoghead{padding-bottom:12px}.cameraViewer h2{font-size:18px}#liveDialog.cameraViewer,#eventDialog.cameraViewer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:calc(14px + var(--safe-top)) max(16px,env(safe-area-inset-right)) calc(20px + var(--safe-bottom)) max(16px,env(safe-area-inset-left));background:#07131f}.cameraViewer .dialoghead{background:#07131f}.videoStage{margin:4px -16px 0;border-radius:0;width:calc(100% + 32px)}.cameraViewer .videoActions button{font-size:12px}.viewerAdmin{margin-top:20px}.viewerControls{gap:8px}.mediaTabs{margin-top:6px}.eventStage{margin:0 -16px;border-radius:0}.eventStage #eventVideo,.eventStage #eventImage{max-height:52dvh;min-height:180px}#toast{left:16px;right:16px;bottom:calc(82px + var(--safe-bottom));max-width:none;padding:14px;font-size:13px}dialog{max-width:calc(100vw - 24px);padding:20px;max-height:calc(100dvh - 24px)}.authCard{padding:25px 22px;border-radius:20px}.authCard h1{font-size:25px}#moreDialog{margin:auto;max-height:85dvh}body:has(#auth:not([hidden])) #mobileNav{display:none}
}
@media(max-width:767px) and (orientation:landscape){#liveDialog.cameraViewer{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:auto 1fr;gap:0 18px;padding:calc(10px + var(--safe-top)) max(14px,env(safe-area-inset-right)) max(10px,var(--safe-bottom)) max(14px,env(safe-area-inset-left))}.cameraViewer .dialoghead{grid-column:1/-1}.videoStage{grid-column:1;grid-row:2/7;margin:0;width:100%;height:100%;max-height:calc(100dvh - 80px);aspect-ratio:auto;border-radius:10px}.playerStatus,.viewerControls,.videoActions,.swipeHint,.viewerAdmin{grid-column:2}.swipeHint{display:none}.viewerControls{grid-template-columns:42px minmax(0,1fr) 42px}.videoActions{margin:10px 0;gap:6px}.videoActions button{min-height:40px}.viewerAdmin{margin:0;padding-top:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.previewFallback{display:none;color:var(--muted);padding:22px 10px;text-align:center;font-size:11px}.preview.unavailable img{display:none}.preview.unavailable .previewFallback{display:grid;place-items:center;aspect-ratio:16/9}.cameraGrid>.empty{grid-column:1/-1}
@media(max-width:1024px) and (max-height:600px) and (orientation:landscape){#liveDialog.cameraViewer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto 1fr;gap:0 16px;padding:calc(10px + var(--safe-top)) max(14px,env(safe-area-inset-right)) max(10px,var(--safe-bottom)) max(14px,env(safe-area-inset-left))}#liveDialog .dialoghead{grid-column:1/-1}#liveDialog .videoStage{grid-column:1;grid-row:2/8;margin:0;width:100%;height:100%;max-height:calc(100dvh - 80px);aspect-ratio:auto;border-radius:10px}#liveDialog .playerStatus,#liveDialog .viewerControls,#liveDialog .videoActions,#liveDialog .viewerAdmin{grid-column:2}#liveDialog .swipeHint{display:none}#liveDialog .videoActions{margin:8px 0}#liveDialog .videoActions button{min-height:40px}#liveDialog .viewerAdmin{margin:0;padding-top:8px}}
@media(min-width:768px) and (max-width:1024px){#app>aside{width:200px}.shell{margin-left:200px}main{padding:24px}.cameraTools{flex-wrap:wrap}.searchField{min-width:180px}}

dialog:not([open]){display:none!important}
@media(max-width:1024px) and (max-height:600px) and (orientation:landscape){#liveDialog .videoActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#liveDialog .videoActions button{font-size:11px;padding:6px;min-width:0}#liveDialog .videoActions button:first-child{grid-column:1/-1}}
