:root{--bg: #F4F6F9;--surface: #FFFFFF;--surface-2: #F4F6F9;--hover: #EEF1F5;--ink: #16191F;--ink-2: #2E3540;--muted: #4A5260;--border: #DDE1E7;--control: #C9CFD8;--pending: #9AA3B0;--accent: #1A56C4;--accent-hover: #123F92;--accent-ink: #FFFFFF;--accent-soft: #E8EFFC;--ok-bg: #E2F3E9;--ok-ink: #17633C;--ok-dot: #1E8A52;--off-bg: #ECEEF2;--off-ink: #4A5260;--live-bg: #FDE7E7;--live-ink: #A61B1B;--live-dot: #C62828;--danger: #A32020;--danger-hover: #C43030;--danger-ink: #FFFFFF;--warn-bg: #FFF1DB;--warn-ink: #6B4100;--warn-border: #F1D3A0;--info-bg: #E8EFFC;--info-border: #B9CCF0;--tab-on-bg: #16191F;--tab-on-ink: #FFFFFF;--thumb: #2A3038;--thumb-ink: #C9CFD8;--scrim: rgba(0, 0, 0, .6);--checker-a: #CCCCCC;--checker-b: #EEEEEE;--group-info: #E3F2FD;--group-info-cell: #F5FAFF;--group-time: #FFF3E0;--group-time-cell: #FFFAF5;--group-rec: #E8F5E9;--group-rec-cell: #F5FFF5;--group-shots: #FCE4EC;--group-shots-cell: #FFF5F8;--brand: #F57E25;--brand-hover: #F79A54;--brand-ink: #1A1A1A;color-scheme:light}:root[data-theme=dark]{--bg: #0F1216;--surface: #171B21;--surface-2: #1E232A;--hover: #232932;--ink: #E8EBF0;--ink-2: #CBD1DA;--muted: #A3ACB9;--border: #2C333D;--control: #3A424E;--pending: #5F6875;--accent: #6EA0F5;--accent-hover: #9BBEF8;--accent-ink: #0F1216;--accent-soft: #1C2A44;--ok-bg: #15301F;--ok-ink: #7FD3A0;--ok-dot: #3FB873;--off-bg: #232932;--off-ink: #A3ACB9;--live-bg: #3A1A1A;--live-ink: #FF9C9C;--live-dot: #F05252;--danger: #C43030;--danger-hover: #D94848;--danger-ink: #FFFFFF;--warn-bg: #33270F;--warn-ink: #F3C77A;--warn-border: #5A4416;--info-bg: #1C2A44;--info-border: #2F4A78;--tab-on-bg: #E8EBF0;--tab-on-ink: #0F1216;--thumb: #0B0D10;--thumb-ink: #8B95A3;--scrim: rgba(0, 0, 0, .7);--checker-a: #2A2F37;--checker-b: #3A404A;--group-info: #1A2A3D;--group-info-cell: #151D28;--group-time: #33281A;--group-time-cell: #221C15;--group-rec: #17301E;--group-rec-cell: #142118;--group-shots: #351C26;--group-shots-cell: #23171C;--brand: #F57E25;--brand-hover: #F79A54;--brand-ink: #1A1A1A;color-scheme:dark}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;background:var(--bg);color:var(--ink)}.App{text-align:center;overflow-x:clip;min-height:100vh;background:var(--bg)}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);text-align:left}.app-brand{display:flex;align-items:center;gap:10px}.app-brand h1{font-size:1.15rem;font-weight:600;margin:0;white-space:nowrap}.view-tabs{display:flex;flex-wrap:wrap;gap:4px}.view-tab{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;text-decoration:none;font-weight:500;color:var(--muted)}.view-tab:hover{background:var(--hover);color:var(--ink)}.view-tab[aria-current=page]{background:var(--tab-on-bg);color:var(--tab-on-ink)}.header-spacer{flex:1 1 0}.header-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.85rem;font-weight:500;white-space:nowrap;background:var(--off-bg);color:var(--off-ink)}.status-pill.ok{background:var(--ok-bg);color:var(--ok-ink)}.status-pill.live{background:var(--live-bg);color:var(--live-ink)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.header-links{display:flex;align-items:center;gap:8px}.camera-page-link{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;background:var(--brand);color:var(--brand-ink);font-weight:600;text-decoration:none;white-space:nowrap}.camera-page-link:hover{background:var(--brand-hover)}.icon-link,.about-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted)}.icon-link:hover,.about-button:hover{background:var(--hover);color:var(--ink)}.info-icon{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:18px;line-height:1}[hidden]{display:none!important}.view-intro{max-width:1500px;margin:0 auto;padding:24px 20px 4px;text-align:left}.view-intro h2{font-size:1.75rem;font-weight:600}.view-intro p{color:var(--muted)}.setup-layout{display:flex;flex-wrap:wrap;align-items:stretch;text-align:left;min-height:calc(100vh - 69px)}.setup-steps{flex:1 1 260px;max-width:320px;padding:24px 16px;background:var(--surface);border-right:1px solid var(--border)}.setup-steps ol{list-style:none;display:flex;flex-direction:column;gap:4px}.setup-steps hr{border:none;border-top:1px solid var(--border);margin:12px 8px}.setup-steps-heading{margin:0 0 8px 12px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.setup-step{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink);line-height:1.35}.setup-step:hover{background:var(--hover)}.setup-step[aria-current=step]{background:var(--accent-soft)}.setup-step-text{display:flex;flex-direction:column;gap:2px}.setup-step-title{font-weight:600}.setup-step-detail{font-size:.85rem;color:var(--muted)}.setup-step[aria-current=step] .setup-step-detail{color:var(--accent)}.setup-step-icon{flex:none;color:var(--muted)}.step-marker{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--pending);display:grid;place-items:center;font-size:.75rem;font-weight:600;color:var(--muted)}.step-marker.current{border-color:var(--accent);color:var(--accent)}.step-marker.done{border:none;background:var(--ok-dot);color:var(--surface)}.setup-main{flex:999 1 560px;min-width:0;padding:24px;display:flex;flex-direction:column;gap:20px}.setup-main .section{text-align:left}.setup-step-header p{font-size:.85rem;font-weight:600;color:var(--accent)}.setup-step-header h2{font-size:1.75rem;font-weight:600;line-height:1.2}.setup-step-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.button-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--control);background:var(--surface);color:var(--ink);font-weight:600;text-decoration:none}.button-link:hover{background:var(--hover)}.button-link.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button-link.primary:hover{background:var(--accent-hover)}.help-sidebar{flex:1 1 300px;max-width:400px;padding:24px;background:var(--surface);border-left:1px solid var(--border);line-height:1.5}.help-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.help-sidebar-header h2{font-size:1.2rem;font-weight:600}.help-sidebar-body{display:flex;flex-direction:column;gap:10px;font-size:.95rem;color:var(--ink-2)}.help-sidebar-body h3{margin-top:6px;font-size:.95rem;font-weight:600;color:var(--ink)}.help-sidebar-body ol,.help-sidebar-body ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}.help-sidebar-body a{color:var(--accent)}.help-callout{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:var(--surface-2)}@media(max-width:860px){.setup-steps,.help-sidebar{max-width:none;border-left:none;border-right:none}.setup-steps{border-bottom:1px solid var(--border)}.help-sidebar{border-top:1px solid var(--border)}}.icon-button{width:40px;min-height:40px;padding:0;border-color:transparent;background:transparent;font-size:1.4rem;line-height:1;color:var(--muted)}.help-button{width:40px;min-height:40px;padding:0;font-size:1.1rem}.help-button.on{border-color:var(--accent);color:var(--accent)}.run-scenes{text-align:left}.run-scenes-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.run-scenes-hint,.run-scenes-empty{margin:4px 0 16px;color:var(--muted)}.run-scenes-empty a,.run-scenes-hint a{color:var(--accent)}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.scene-button{display:flex;flex-direction:column;min-height:0;padding:0;border:2px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);text-align:left}.scene-button:hover{border-color:var(--accent);background:var(--surface)}.scene-button.on-stream{border-color:var(--live-dot);box-shadow:0 0 0 2px var(--live-dot)}.scene-thumb{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--thumb);color:var(--thumb-ink);font-size:.85rem;font-weight:500}.scene-thumb img{width:100%;height:100%;object-fit:cover}.scene-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;min-height:48px}.scene-name{font-size:1.05rem;font-weight:600}.run-scenes-previews{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted)}.warnings-banner{background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--warn-border);text-align:left}.warning-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:1500px;margin:0 auto;padding:10px 24px}.warning-text{flex:1 1 320px}.warning-text a{color:inherit;font-weight:600}.warning-row button{background:transparent;border-color:var(--warn-border);color:var(--warn-ink)}.lower-thirds,.field-status{text-align:left}.lower-thirds-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}.lower-thirds-on-air{display:inline-flex;align-items:center;gap:8px}.lower-thirds-body{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.lower-thirds-list{flex:999 1 280px;min-width:0}.lower-thirds-list ul{list-style:none;display:flex;flex-direction:column;gap:8px}.lower-thirds-body .lower-third-preview{flex:none;width:320px;height:180px}.lower-thirds-body .lower-third-preview iframe{transform:scale(.1666667)}.lower-thirds .lower-third-actions{justify-content:flex-start}.lower-third-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:10px;background:var(--surface-2)}.lower-third-row.on-stream{box-shadow:inset 0 0 0 2px var(--live-dot)}.lower-third-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.lower-third-name{font-weight:600}.lower-third-title{font-size:.9rem;color:var(--muted)}.lower-thirds-empty{color:var(--muted)}.lower-third-settings{margin-top:16px}.lower-third-settings summary{cursor:pointer;font-weight:600}.lower-third-settings>*+*{margin-top:8px}.lower-third-settings label{display:inline-flex;align-items:center;gap:8px;margin-right:16px}.lower-third-channel{width:100px}.btn-primary,button.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.btn-primary:hover{background:var(--accent-hover)}.field-status ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:12px}.field-status-row{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--surface-2)}.field-status-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-status-name{font-weight:600}.field-status-match{color:var(--ink-2)}.field-status-match.muted{color:var(--muted)}.output-card{text-align:left}.output-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.output-card-hint,.output-card-note{color:var(--muted);margin:4px 0 8px}.output-card-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;cursor:pointer}.output-card-toggle input{width:20px;height:20px;accent-color:var(--accent)}.output-card-body{display:flex;flex-direction:column;gap:12px;margin-top:8px}.output-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 16px}.output-fields>label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;color:var(--muted)}.output-fields input,.output-fields select{margin:0;width:100%}.output-field-row{display:flex;flex-wrap:wrap;gap:8px}.output-field-row input{flex:1 1 140px;min-width:0}.output-field-row button{white-space:nowrap}.output-card a{color:var(--accent)}.output-checks{display:flex;flex-wrap:wrap;gap:4px 20px}.output-checks label{display:inline-flex;align-items:center;gap:8px}.output-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.output-card .chapters-header{justify-content:space-between}.output-card .chapters-textarea{max-width:none}.custom-cameras{margin-top:24px;padding-top:16px;border-top:1px solid var(--border);text-align:left}.custom-cameras>p{color:var(--muted);margin:4px 0 12px}.custom-cameras ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.custom-camera-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;border-radius:10px;background:var(--surface-2)}.custom-camera-name{flex:1 1 160px;font-weight:600}.custom-camera-row label{display:inline-flex;align-items:center;gap:8px}.custom-camera-add{display:flex;flex-wrap:wrap;gap:8px}.custom-camera-add input{flex:1 1 240px;margin-right:0}.custom-camera-message{margin-top:8px;color:var(--muted)}.setup-card h3{font-size:1.05rem;font-weight:600;margin-top:20px}.setup-card>h3:first-child{margin-top:4px}.setup-card-note{color:var(--muted);margin:2px 0 10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}.form-grid>label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;color:var(--muted)}.form-grid input,.form-grid select{margin:0;width:100%}.field-row{display:flex;flex-wrap:wrap;gap:8px}.field-row input{flex:1 1 160px;min-width:0}.field-row button{white-space:nowrap}.setup-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.setup-card .connection-status{margin-top:0}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px}.check-grid label{display:inline-flex;align-items:center;gap:8px;min-height:32px}.scene-pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.setup-card .obs-camera-card select{width:100%;margin-right:0}.about-layout{display:flex;flex-wrap:wrap;align-items:flex-start;text-align:left}.about-toc{flex:1 1 260px;max-width:300px;align-self:stretch;padding:24px 16px;background:var(--surface);border-right:1px solid var(--border)}.about-toc ol,.about-toc ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.about-toc hr{border:none;border-top:1px solid var(--border);margin:12px 8px}.about-toc .button-link{margin-left:12px}@media(min-width:861px){.about-toc-inner{position:sticky;top:16px}}.about-toc .setup-step[aria-current=location]{background:var(--accent-soft)}.about-main{flex:999 1 560px;min-width:0;max-width:980px;padding:40px 48px;display:flex;flex-direction:column;gap:56px}.about-main section{display:flex;flex-direction:column;gap:16px;scroll-margin-top:16px}.about-main a{color:var(--accent)}.about-kicker{font-size:.85rem;font-weight:600;color:var(--accent)}.about-title{font-size:2.4rem;font-weight:600;line-height:1.15}.about-section-title{font-size:1.6rem;font-weight:600}.about-lead{font-size:1.05rem;line-height:1.6;color:var(--ink-2);max-width:760px}.about-cards{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.about-card{display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--ink-2);line-height:1.5}.about-card strong{color:var(--ink)}.about-flow{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}.about-flow-box{flex:1 1 170px;display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:12px;font-size:.9rem;line-height:1.45;color:var(--ink-2)}.about-flow-box strong{font-size:1.05rem;color:var(--ink)}.about-flow-box.highlight{border-color:var(--accent)}.about-flow-where{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.about-flow-box.highlight .about-flow-where{color:var(--accent)}.about-flow-arrow{flex:none;align-self:center;color:var(--muted)}.about-note{padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);line-height:1.55}.about-note strong{color:var(--ink)}.about-steps{padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.about-steps li{display:flex;gap:16px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--ink-2);line-height:1.55}.about-steps strong{display:block;color:var(--ink)}.about-words{display:grid;grid-template-columns:minmax(130px,200px) 1fr;gap:12px 24px}.about-words dt{font-weight:600}.about-words dd{color:var(--ink-2)}.about-guide{display:flex;flex-direction:column;gap:16px}.about-subtitle{margin-top:16px;font-size:1.25rem;font-weight:600}.about-text{color:var(--ink-2);line-height:1.6;max-width:760px}.about-list{padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--ink-2);line-height:1.55;max-width:760px}.about-main code{font-size:.9em;padding:1px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere}.about-toc .setup-step[aria-current=page]{background:var(--accent-soft)}.about-start-links{display:flex;flex-wrap:wrap;gap:8px}.about-start{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-radius:12px;background:var(--accent-soft);font-size:1.1rem;font-weight:600}@media(max-width:860px){.about-toc{max-width:none;border-right:none;border-bottom:1px solid var(--border)}.about-main{padding:24px 16px}.about-words{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surface);padding:30px;border-radius:10px;max-width:500px;width:90%;position:relative;text-align:left}.modal-content h2{margin-top:0;margin-bottom:20px;color:var(--ink)}.modal-content h3{margin-top:20px;margin-bottom:5px;color:var(--muted)}.modal-content p{margin:5px 0;color:var(--ink);line-height:1.5}.modal-content a{color:var(--accent)}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:28px;cursor:pointer;color:var(--muted);padding:0;line-height:1}.modal-close:hover{color:var(--ink)}.modal-disclaimer{margin-top:25px;padding:15px;background:var(--surface-2);border-left:4px solid var(--brand);font-size:.9em;color:var(--muted)}.App-link{color:var(--accent)}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}input[type=text],input[type=number],input[type=password],input[type=time],textarea,select{padding:.5rem;margin-right:.5rem;border:1px solid var(--control);border-radius:8px;font-size:1rem;color:var(--ink);background:var(--surface)}input[type=number]{width:100px}button{min-height:40px;padding:.5rem 1rem;font:inherit;font-weight:600;border:1px solid var(--control);border-radius:8px;cursor:pointer;background-color:var(--surface);color:var(--ink);transition:background-color .2s ease,border-color .2s ease}button:hover{background-color:var(--hover)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{color:var(--pending);background-color:var(--surface-2);cursor:not-allowed}.connection-status{margin-top:1rem;padding:.25rem .75rem;font-size:.95rem;font-weight:500;border-radius:999px;display:inline-block}.connected{margin-left:10px;background-color:var(--ok-bg);color:var(--ok-ink)}.disconnected{margin-left:10px;background-color:var(--live-bg);color:var(--live-ink)}.reconnect-status{margin-top:10px;padding:10px;background-color:var(--warn-bg);border:1px solid var(--warn-border);border-radius:5px;display:flex;align-items:center;justify-content:center;gap:15px}.reconnect-status span{color:var(--warn-ink);font-weight:500}.reconnect-status button{background-color:var(--danger);padding:5px 15px;font-size:.9rem}.content-container{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;max-width:1500px;margin-left:auto;margin-right:auto;padding:10px}.content-container>:not(.section){order:1}.section{grid-column:span 12;padding:20px;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:12px}@media(min-width:900px){.section{grid-column:span 6}}.section.full-width{grid-column:span 12;overflow-x:auto}@media(min-width:900px){.section.tall{grid-row:span 2}}.trigger-table{border-collapse:collapse;margin-left:auto;margin-right:auto;width:100%;max-width:300px}.trigger-table th,.trigger-table td{padding:8px 12px;text-align:left;border:1px solid var(--border)}.trigger-table th{background-color:var(--surface-2);font-weight:600}.trigger-table td:last-child{text-align:center;width:100px}.trigger-table tbody tr:hover{background-color:var(--hover)}.trigger-table label{cursor:pointer;display:block}.trigger-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.matches-table{border-collapse:collapse;margin-left:auto;margin-right:auto;font-size:.9rem}.matches-table th,.matches-table td{padding:8px 10px;text-align:left;border:1px solid var(--border)}.matches-table th{background-color:var(--surface-2);position:relative}.matches-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.matches-table th.sortable:hover{background-color:var(--hover)}.matches-table th.sorted-asc:after{content:" ▲";font-size:.7em}.matches-table th.sorted-desc:after{content:" ▼";font-size:.7em}.matches-table th.col-group-header{text-align:center;font-weight:700;border-bottom:2px solid var(--pending)}.matches-table th.col-group-info{background-color:var(--group-info)}.matches-table th.col-group-timestamps{background-color:var(--group-time)}.matches-table th.col-group-recordings{background-color:var(--group-rec)}.matches-table th.col-group-screenshots{background-color:var(--group-shots)}.matches-table td.col-info{background-color:var(--group-info-cell)}.matches-table td.col-timestamps{background-color:var(--group-time-cell)}.matches-table td.col-recordings{background-color:var(--group-rec-cell)}.matches-table td.col-screenshots{background-color:var(--group-shots-cell)}.matches-table tbody tr:hover td{background-color:var(--hover)!important}.file-link{color:var(--accent);cursor:pointer;text-decoration:underline}.file-link:hover,.file-link:active{color:var(--accent-hover)}.matches-button{margin:10px}input,select{margin:5px}ol{padding-left:20px;text-align:left;margin-left:auto;margin-right:auto}ol li{margin-bottom:0}.connection-helper-steps{text-align:left;margin-left:auto;margin-right:auto;display:inline-block}.chapters-options{text-align:left;display:inline-block;margin-bottom:15px}.chapters-option-row{margin:8px 0;display:flex;align-items:center;gap:8px}.chapters-option-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.chapters-option-row>label:first-child{min-width:120px}.chapters-option-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.chapters-output{margin-top:15px}.chapters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 5px}.chapters-header span{font-size:.9em;color:var(--muted)}.chapters-textarea{width:100%;max-width:600px;height:200px;font-family:monospace;font-size:.85em;padding:10px;border:1px solid var(--control);border-radius:5px;resize:vertical;background-color:var(--surface-2)}.info-box{background-color:var(--info-bg);border:1px solid var(--info-border);border-radius:5px;padding:15px;margin:10px 0}.success-indicator{color:var(--ok-ink);font-weight:700}.warning-box{background-color:var(--warn-bg);border:2px solid var(--warn-border);border-radius:5px;padding:15px;margin:10px 0}.warning-box strong{color:var(--warn-ink)}.warning-indicator{color:var(--warn-ink);font-weight:700}.lower-third-url{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.lower-third-url code{background:var(--surface-2);padding:4px 8px;border-radius:4px;word-break:break-all}.lower-third-live{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;margin:15px 0}.lower-third-preview{position:relative;width:480px;height:270px;overflow:hidden;outline:1px solid var(--pending);background:repeating-conic-gradient(var(--checker-a) 0% 25%,var(--checker-b) 0% 50%) 50% / 20px 20px}.lower-third-preview iframe{width:1920px;height:1080px;border:0;transform:scale(.25);transform-origin:0 0}.lower-third-table{max-width:none}.lower-third-table input[type=text]{width:100%;padding:4px}.lower-third-table td:last-child{width:1%;white-space:nowrap}.lower-third-table tr.on-air td{background-color:var(--ok-bg)}.lower-third-preview-label{position:absolute;top:6px;left:6px;padding:0 8px;border-radius:4px;background:var(--scrim);color:#fff;font-size:.8rem}.lower-third-table button{margin:0 2px}.lower-third-table button.lower-third-show{min-width:70px}.lower-third-table button.lower-third-show:disabled{pointer-events:none}.lower-third-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}.lower-third-import{width:100%;max-width:600px;font-family:monospace}.obs-setup-options{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px}.obs-setup-options details{margin-top:5px}.obs-setup-url{width:min(600px,80vw)}.obs-setup-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;margin:10px 0}button.danger{background-color:var(--danger)}button.danger:hover,button.danger:focus{background-color:var(--danger-hover)}button.danger:disabled{background-color:var(--off-bg)}.obs-setup-warnings{text-align:left;max-width:900px;margin:10px auto;padding-left:20px;color:var(--warn-ink)}.obs-setup-log{text-align:left;max-width:900px;max-height:200px;overflow-y:auto;margin:10px auto;padding:8px;background:var(--surface-2);border-radius:4px;font-size:.85rem;white-space:pre-wrap}.obs-camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;margin:10px 0}.obs-camera-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;border:1px solid var(--border);border-radius:5px}.obs-camera-card select,.obs-camera-card input[type=text]{max-width:240px}.obs-camera-help{margin-bottom:10px}.obs-camera-help p{max-width:800px;margin:6px auto}.obs-camera-preview{width:240px;height:135px;display:flex;align-items:center;justify-content:center;background:var(--thumb);color:var(--thumb-ink);overflow:hidden}.obs-camera-preview img{width:100%;height:100%;object-fit:contain}.obs-source-warning{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;padding:4vw;background:var(--danger);color:var(--danger-ink);text-align:center;font-size:max(16px,2.4vw);line-height:1.4}.obs-source-warning h1{font-size:2em;line-height:1.15}.obs-source-warning-icon{width:2.4em;height:2.4em;flex-shrink:0;border:.15em solid var(--danger-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6em;font-weight:700}.obs-source-warning ol{text-align:left;max-width:40em;padding-left:1.4em}.obs-source-warning li{margin-bottom:.4em}.obs-source-warning strong{word-break:break-all}.obs-source-warning-note{font-size:.75em;opacity:.9;max-width:50em}.lan-camera .section{text-align:left}.lan-camera-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0}.lan-camera-preview{display:block;width:100%;max-width:640px;aspect-ratio:16 / 9;margin-top:.5rem;background:#000}.lan-camera-hint{font-size:.9em;color:var(--muted)}.lan-camera-live{color:var(--ok-ink);font-weight:700}
