:root{color-scheme:light;--bg:#fcf7f3;--panel:#fffaf7;--line:#e8d8d5;--text:#402b32;--muted:#88717a;--accent:#a01f24;--blue:#b44858}html,body{background:var(--bg);color:var(--text)}#viewer{background:radial-gradient(ellipse at 15% 10%,#f4d8db80,transparent 48%),radial-gradient(ellipse at 95% 90%,#ffedbb70,transparent 38%),#fcf7f3}#viewer:before{content:'';position:absolute;right:-20vw;top:15vh;width:70vw;height:70vw;max-width:900px;max-height:900px;border:1px solid #b75a6530;border-radius:50%;pointer-events:none;box-shadow:0 0 0 55px #d08b9608,0 0 0 110px #d08b9606}.topbar{height:92px;padding:0 36px;background:linear-gradient(#fcf7f3eb,transparent);color:#7e2735}.identity{font-family:Georgia,serif;font-style:italic;font-size:27px;letter-spacing:-.7px;line-height:1.1;gap:12px}.identity b{font:550 8px/1.4 system-ui;letter-spacing:1.6px;color:#8c6771;margin-top:5px}.appmark{font:italic 25px Georgia,serif;border-radius:50%;height:42px;width:42px;border-color:#c8969c;background:#ffffff70;letter-spacing:0;color:#a01f24}.status{color:#8e6874;font-size:9px}.status:before{background:#cba0a8}.center-panel{width:min(380px,calc(100% - 40px));padding:24px 2px;max-height:calc(100dvh - 170px);scrollbar-color:#c9a2aa transparent}.center-panel h1{font:italic 42px/1.13 Georgia,serif;color:#7d2336;letter-spacing:-1.4px;margin:19px 0 12px}.center-panel p{color:#8a7079;font-size:13px;line-height:1.7}.lock-icon{background:#f4e0e3;border-color:#e8bfc6;color:#a53b50;border-radius:50%;height:48px;width:48px;font-size:35px;box-shadow:0 0 0 7px #f7e9e880}.primary{background:#a01f24;border-color:#a01f24;color:#fffaf6;min-height:46px;border-radius:7px;font-size:13px;box-shadow:0 3px 9px #8b253115}.primary:hover{background:#871c26}.secondary{background:#fffaf7;color:#7e3647;border-color:#d6b6bc;min-height:44px;font-size:12px}.secondary:hover{background:#f6e8e9}.text-button{color:#886c76;min-height:44px;font-size:12px}.text-button:hover,.text-link:hover{color:#a01f24}.text-link{color:#a01f24}.kicker{color:#a01f24!important}.center-panel input,input:not([type=checkbox]):not([type=range]),select{background:#fffdfa;color:#49333c;border:1px solid #dfc9cf;min-height:46px;border-radius:7px;font-size:16px;box-shadow:0 1px 4px #44202b05}input::placeholder{color:#b09aa2}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #c47789;outline-offset:3px}label{color:#775d68;font-size:12px;margin-top:16px}input[type=checkbox],input[type=range]{accent-color:#a01f24}input[type=range]{min-height:28px;margin-top:8px}#guestPassword{text-align:center;letter-spacing:.23em;font:19px/1.4 system-ui;min-height:54px}#guestPassword::placeholder{letter-spacing:.06em;font-size:15px}.center-panel .primary{min-height:48px}.agenda{border-top:1px solid #dfc6cd;margin-top:22px}.agenda h2{color:#9b5568;font-size:10px}.agenda article{border-color:#e9d9dd}.agenda article strong{color:#5c3e4a;font-size:12px}.agenda article span{color:#9c818a;line-height:1.6}.agenda .agenda-empty{color:#a78b95}.center-panel details{color:#8e6c7b}code{color:#732c40}#poweredBy{position:fixed;left:16px;right:16px;bottom:max(17px,env(safe-area-inset-bottom));text-align:center;color:#a38a92;font-size:10px;z-index:7;letter-spacing:.2px}#poweredBy a{color:#80505e;text-decoration:none;border-bottom:1px solid #d8b8c2;padding:5px 0;font-weight:550}#poweredBy a:hover{color:#a01f24}#admin{background:#fffaf7;border-color:#dfc9d0;box-shadow:-12px 0 70px #30111e35}#admin h2{font:italic 28px Georgia,serif;color:#7d2336}#admin h3{font-size:16px;color:#5b3846;font-weight:600}.panel-head{padding:25px 24px 19px}.icon-button{border-color:#dfc9cf;background:#f8ecee;color:#9c6275;width:40px;height:40px}.security-line{color:#a38a94}.security-line>span:first-child{color:#58765f}.tabs{padding:0 10px;gap:0;border-color:#e5cfd5;overflow-x:auto;scrollbar-width:none;flex-shrink:0;background:#fffaf7}.tabs button{min-height:48px;min-width:65px;font-size:11px;color:#9b7a88;padding:12px 9px}.tabs button.selected{color:#a01f24;background:#f9edef;border-color:#a01f24}.panel-body{scrollbar-color:#d0a6b5 #fffaf7;overscroll-behavior:contain;padding-bottom:calc(30px + env(safe-area-inset-bottom))}.hint{color:#9b818d;font-size:12px;line-height:1.7}.chip{background:#f3e5e8}.window,.session-card,.camera-group{border-color:#e0c7d1;background:#fffdfb}.window{padding:15px}.window>.days{gap:5px;justify-content:space-between}.days label{min-width:38px;min-height:40px;gap:3px;font-size:11px}.days input{width:16px;height:16px}.times{gap:8px}.times label{min-width:0}.times input{width:100%}.times .text-button{padding:8px}.section-title{margin-top:24px}.session-card>strong{font-size:13px;color:#603b4b}.session-source{color:#a9657e}.session-card input{font:20px/1.3 monospace!important;letter-spacing:.25em}.session-card .button-row{gap:5px;justify-content:flex-start}.session-card .button-row button{flex:1;min-height:44px;font-size:11px;white-space:nowrap;padding:8px}.camera-group summary{color:#674250;min-height:48px;padding:15px;font-size:13px}.camera-group label{font-size:12px}.camera-group input,.camera-group select{font-size:16px}.setting-heading{color:#ad6079;border-bottom:1px solid #edd9e1;padding-bottom:6px}.security-card{background:#eef2e9;border-color:#d0ddc4;color:#587052}.security-card span{color:#82977a}.recovery-panel{background:#fffaf7;border-color:#d9bac7;padding:24px}#recoveryCodes{color:#883d5b;font-size:12px;gap:5px 10px}.center-panel img{border:1px solid #e2cbd3}.check-label{display:flex;align-items:center;gap:10px;min-height:44px}.check-label input{width:19px;height:19px}.check-label{font-size:13px}#logoPreviewWrap{background:repeating-conic-gradient(#f2e4e8 0% 25%,#fff 0% 50%) 50%/16px 16px;border:1px solid #e0c8d3;border-radius:7px;padding:20px;margin:18px 0;min-height:90px;display:grid;place-items:center}#logoPreview{max-width:100%;max-height:120px;object-fit:contain}input[type=file]{padding:12px!important;font-size:13px!important}input[type=file]::file-selector-button{border:1px solid #d8b6c4;background:#f3dfe7;color:#803950;padding:8px 10px;border-radius:5px;margin-right:10px}.signed-in #viewer:before{display:none}.signed-in #viewer{background:#080509}.signed-in .topbar{color:#fff6f0;background:linear-gradient(#170c17bc,transparent);height:90px}.signed-in .identity{color:#fff3ee}.signed-in .identity b{color:#e3bdc9}.signed-in .appmark{color:#f6d4dd;border-color:#c985a380;background:#2f142a80}.signed-in .status{color:#f1d9e3}.signed-in #offline{color:#f7e7ef;background:radial-gradient(ellipse at center,#29142c,#100a12)}.signed-in #offline h1{font-family:Georgia,serif;font-style:italic;font-size:31px;color:#edd0dc}.signed-in #offline p{color:#b798ae}.signed-in #countdown{color:#eac6d8;font-weight:300}.signed-in .pulse{background:#a6658c;box-shadow:0 0 0 10px #914c7b20}#canvas{touch-action:none;user-select:none}#canvas video{pointer-events:none}#canvas.zoomed{cursor:grab}#canvas.dragging{cursor:grabbing}.toolbar{padding-bottom:max(20px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#170c17eb);color:#eed8e4;flex-direction:column;align-items:stretch;gap:12px;z-index:4}.toolbar>div:first-child{max-width:none;min-width:0;display:flex;align-items:center;font-size:11px;gap:8px}.gesture-hint{margin-left:auto;color:#c6a0b9;font-size:10px}.tools{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;overflow-x:auto;padding-bottom:2px;max-width:100%;scrollbar-width:none;overscroll-behavior-x:contain}.tools button{border:1px solid #b885a14d;background:#3822379e;color:#f2dce7;min-height:44px;padding:10px 13px;border-radius:7px;font-size:11px;white-space:nowrap;flex-shrink:0}.tools button:hover{background:#6d355480}.tools button:disabled{opacity:.35;cursor:default}#zoomTools{display:flex;align-items:center;gap:4px;flex-shrink:0;border-right:1px solid #b885a13d;padding-right:9px}#zoomTools>button:first-child,#zoomIn{font-size:20px;width:42px;padding:4px}#personalZoom{float:none;min-width:36px;text-align:center;color:#f5d8e8;font-size:12px;font-variant-numeric:tabular-nums}.live-dot{background:#d9a2bd}.status.live:before{background:#e2c681;box-shadow:0 0 8px #d9af6970}#message{background:#fff8f8;border-color:#d9adbf;color:#6e3450;bottom:140px;box-shadow:0 12px 40px #2a09222b;font-size:13px}#message.error{background:#fff2f2;color:#9d304a;border-color:#d697a8}.viewer-ready .topbar,.viewer-ready .toolbar{opacity:.6}.viewer-ready #viewer:hover .topbar,.viewer-ready #viewer:hover .toolbar,.viewer-ready #viewer:focus-within .toolbar{opacity:1}body.panel-open #viewer{right:480px}@media(min-width:1100px){#admin{width:500px}body.panel-open #viewer{right:500px}}@media(max-width:800px){body.panel-open #viewer{right:0}#admin{width:100%;max-width:100%;border-left:0;height:100dvh}.panel-head{padding:calc(15px + env(safe-area-inset-top)) 20px 15px}.panel-head h2{font-size:26px}.security-line{padding:0 20px 14px}.tabs{justify-content:flex-start;padding:0 9px}.tabs button{flex:1 0 auto;min-width:66px;min-height:50px}.panel-body{padding:20px 20px calc(32px + env(safe-area-inset-bottom))}.panel-body form>.primary{min-height:48px}.topbar{padding:env(safe-area-inset-top) 20px 0;height:86px}.identity{font-size:23px}.identity b{font-size:7px;letter-spacing:1px}.appmark{width:36px;height:36px;font-size:23px}.status{font-size:8px;letter-spacing:1px}.center-panel{width:calc(100% - 52px);max-width:390px;max-height:calc(100dvh - 155px)}.center-panel h1{font-size:39px}.toolbar{padding:25px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));gap:10px}.tools{justify-content:flex-start}.tools button{font-size:11px;padding:9px 12px}.toolbar>div:first-child{font-size:10px}.gesture-hint{font-size:9px}.fields{gap:12px}#publicEvents{max-height:148px}#poweredBy{font-size:10px;bottom:max(13px,env(safe-area-inset-bottom))}#message{bottom:132px}.viewer-ready .topbar,.viewer-ready .toolbar{opacity:1}}@media(max-width:440px){.identity b{max-width:160px}.topbar{padding-left:17px;padding-right:17px}.status{font-size:7px;letter-spacing:.7px}.center-panel{width:calc(100% - 40px)}.center-panel h1{font-size:35px}.center-panel p{font-size:12px}.fields{grid-template-columns:1fr}.times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.times .text-button{grid-column:1/-1;justify-self:end;min-height:36px;margin:0;padding:4px 10px}.session-card .button-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.session-card .button-row button{width:100%}.window .days{display:grid;grid-template-columns:repeat(4,1fr);justify-content:start}.days label{min-width:0;font-size:12px}.tabs button{min-width:69px}#recoveryCodes{font-size:10px;gap:4px}.gesture-hint{font-size:8px}.panel-body{padding-left:16px;padding-right:16px}}@media(max-height:630px){.center-panel{top:80px;bottom:60px;transform:translateX(-50%);max-height:none;padding:8px 2px}.center-panel h1{font-size:30px;margin:10px 0}.center-panel .lock-icon{height:35px;width:35px;font-size:25px}.center-panel p{margin:8px 0 12px}.agenda{margin-top:12px;padding-top:12px}#publicEvents{max-height:110px}.center-panel>.text-button{margin-top:5px}.signed-in .topbar{height:65px}.toolbar{gap:6px;padding-top:18px}#poweredBy{bottom:max(10px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.secondary-tools{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;flex-shrink:0}#admin .icon-button{width:44px;height:44px}#admin .days label{min-height:44px}#admin .times .text-button{min-height:44px}@media(max-width:800px){#toolbar .tools{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;overflow:visible}#toolbar #zoomTools{justify-content:center;border-right:0;padding-right:0}#toolbar .secondary-tools{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:2px;max-width:100%;flex-shrink:1}#toolbar .secondary-tools button{flex-shrink:0}#message{bottom:185px}}@media(max-height:480px) and (min-width:650px){#toolbar .tools{display:flex;overflow-x:auto;gap:9px}#toolbar #zoomTools{justify-content:flex-start}#toolbar .secondary-tools{overflow:visible;max-width:none;flex-shrink:0}}
/* Keep guest sign-in and its schedule free of nested scrolling. */
#access{overflow:visible;max-height:none;bottom:auto;top:50%;transform:translate(-50%,-50%);padding:12px 2px}
#access #publicEvents{max-height:none;overflow:visible}
#access .agenda{position:relative}
#access .agenda:has(.agenda-nav) h2{display:flex;align-items:center;min-height:44px;margin-bottom:4px;padding-right:138px}
.agenda-nav{position:absolute;right:0;top:10px;display:flex;align-items:center;gap:4px}
.agenda-nav button{width:44px;height:44px;border:0;background:transparent;color:#a01f24;font-size:24px;border-radius:5px}
.agenda-nav button:disabled{opacity:.3;cursor:default}
.agenda-nav span{font-size:10px;color:#88717a;font-variant-numeric:tabular-nums;white-space:nowrap}
#access .agenda article strong{overflow-wrap:anywhere}
@media(max-height:740px){#access{padding:4px 2px;top:calc(50% + 8px)}#access .lock-icon{display:none}#access h1{font-size:34px;margin:8px 0}#access>p{margin:8px 0 14px;line-height:1.5}#access .primary{margin-top:12px}#access>.text-button{margin-top:4px}#access .agenda{margin-top:12px;padding-top:10px}#access .agenda article{padding:6px 0}}
@media(max-height:480px){#access h1,#access>p{display:none}#access{top:calc(50% + 14px)}#access .agenda{margin-top:4px;padding-top:4px}.agenda-nav{top:4px}}/* Every management section stays visible, including streaming account setup. */
#admin .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding:0 12px;gap:0}
#admin .tabs button{min-width:0;width:100%;white-space:normal;min-height:44px;padding:10px 5px}
#admin .tabs button.selected{font-weight:650}
@media(max-width:440px){#admin .tabs{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8px}#openCloudSettings,#openYoutubeSettings{flex:1;min-width:0}}