:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f7fa;background:#07090d;--panel:#0f131a;--line:#252c37;--muted:#8f9baa;--accent:#a7ff4f;--accent2:#5be7c4;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,#19251b 0,transparent 27%),#07090d;min-height:100vh}button,input,select{font:inherit}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(7,9,13,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:40px;height:40px;border:1px solid #3d5431;border-radius:12px;display:grid;place-items:center;background:#14200f;color:var(--accent)}.brand b{display:block;letter-spacing:.08em;font-size:14px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.header-right{display:flex;align-items:center;gap:10px}.live-pill{font-size:11px;letter-spacing:.08em;border:1px solid #28462c;background:#0c1b0e;color:#bff79b;padding:8px 10px;border-radius:999px;display:flex;gap:7px;align-items:center}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.tabs{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid var(--line);background:#0a0d12;position:sticky;top:76px;z-index:25}.tabs button{border:0;background:transparent;color:#8f9baa;padding:10px 14px;border-radius:9px;display:flex;gap:8px;align-items:center;cursor:pointer}.tabs button.active{background:#171c25;color:white}.count{background:#26311d;color:var(--accent);font-size:11px;padding:2px 6px;border-radius:999px}.section{padding:28px 24px 44px;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-head.compact{align-items:center}.section h1{font-size:28px;margin:0 0 6px}.section-head p{color:var(--muted);margin:0;font-size:14px}.searchbox{width:min(420px,45vw);display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#0f131a;border-radius:10px;padding:0 12px}.searchbox input{width:100%;border:0;outline:0;background:transparent;color:white;padding:11px 0}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.game-card,.panel,.empty-card{background:linear-gradient(180deg,#11161e,#0d1117);border:1px solid var(--line);border-radius:14px}.game-card{padding:15px}.game-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.status.live{color:var(--accent)}.star-btn,.icon-btn{width:32px;height:32px;border:0;border-radius:8px;background:#171d26;color:#98a4b3;display:grid;place-items:center;cursor:pointer}.star-btn.on{color:#f7de72}.icon-btn:hover,.star-btn:hover{background:#212936;color:white}.icon-btn.danger:hover{color:var(--danger)}.matchup{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.matchup div{display:flex;flex-direction:column}.matchup b{font-size:16px}.matchup span{font-size:11px;color:var(--muted)}.matchup strong{font-size:24px}.game-meta{border-top:1px solid var(--line);padding-top:10px;margin-top:8px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;gap:10px}.card-actions{display:flex;gap:8px;margin-top:14px}.primary-btn,.ghost-btn,.toggle-btn{border:0;border-radius:9px;padding:10px 12px;display:inline-flex;gap:7px;align-items:center;justify-content:center;cursor:pointer}.primary-btn{background:var(--accent);color:#0b0e0a;font-weight:750}.primary-btn:disabled{opacity:.45;cursor:default}.primary-btn.full{width:100%}.ghost-btn{background:#171d26;color:white}.toggle-btn{background:#151a22;color:#a9b4c1;border:1px solid var(--line)}.toggle-btn.on{border-color:#375e30;color:#c7f8a5;background:#10200e}.wall-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.segmented{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);background:#11161e;color:#8995a4;padding:8px 11px}.segmented button:last-child{border-right:0}.segmented button.active{background:#25311d;color:var(--accent)}.wall{display:grid;gap:8px;height:calc(100vh - 220px);min-height:540px}.wall-1{grid-template-columns:1fr}.wall-2{grid-template-columns:repeat(2,1fr)}.wall-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.wall-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.wall-8{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}.video-pane{height:100%;min-height:0;background:#020305;border:1px solid #252d38;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.pane-topbar{height:38px;flex:0 0 38px;background:#10141b;border-bottom:1px solid #242b35;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.pane-title,.pane-actions{display:flex;align-items:center;gap:6px}.pane-title{font-size:11px;font-weight:700;min-width:0}.pane-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-actions .icon-btn{width:26px;height:26px}.video-stage{flex:1;min-height:0;position:relative;display:grid;place-items:center;background:#030406}.video-stage video,.video-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}.source-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;color:#788492;padding:18px;font-size:12px;z-index:1}.source-empty b{color:#dce3eb}.source-empty a{color:var(--accent);text-decoration:none}.big-icon{font-size:30px}.score-chip{position:absolute;z-index:3;left:8px;right:8px;bottom:8px;background:rgba(6,8,11,.86);backdrop-filter:blur(8px);border:1px solid #2d3540;border-radius:8px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.score-chip b{color:#c0c9d3}.pick-strip{display:flex;gap:6px;padding:6px;background:#0a0e13;border-top:1px solid #202731;overflow:hidden}.pick-mini{min-width:0;flex:1;border:1px solid #28311f;background:#111a0d;border-radius:7px;padding:5px 7px;display:flex;justify-content:space-between;gap:6px;font-size:9px}.pick-mini span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-mini b{color:var(--accent)}.focus-wrap{position:fixed!important;inset:145px 18px 18px;z-index:50;background:#05070a;padding:8px;border-radius:12px;box-shadow:0 0 0 100vmax rgba(0,0,0,.88)}.hero-empty{min-height:440px;border:1px dashed #313845;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#778392;gap:8px}.hero-empty h2{color:#e9edf2;margin:5px 0 0}.hero-empty p{margin:0 0 10px}.bet-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.panel{padding:17px}.panel h3{margin:0 0 14px;font-size:15px}.panel label{display:flex;flex-direction:column;gap:6px;color:#9aa5b3;font-size:11px;margin-bottom:11px}.panel input,.panel select,.modal input,.modal select{background:#090c11;border:1px solid var(--line);border-radius:8px;color:white;padding:10px 11px;outline:none}.two-col{display:grid;grid-template-columns:1fr 130px;gap:10px}.muted-copy{color:var(--muted);font-size:12px;line-height:1.5}.upload-zone{border:1px dashed #35404c!important;border-radius:11px;padding:24px!important;display:flex!important;align-items:center!important;text-align:center;background:#0a0e13;cursor:pointer}.upload-zone input{display:none}.upload-zone b{color:#e9edf2}.upload-zone span{font-size:10px;color:#7f8a98}.ocr-status{margin-top:10px;display:flex;gap:7px;align-items:center;color:#aab5c1;font-size:11px}.import-preview{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.import-preview>div{display:flex;justify-content:space-between;font-size:11px;padding:6px 0}.import-preview b{color:var(--accent)}.bet-list{display:flex;flex-direction:column;gap:8px}.bet-row{background:#0f131a;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) 260px 34px;gap:11px;align-items:center}.bet-icon{width:30px;height:30px;border-radius:8px;background:#182110;color:var(--accent);display:grid;place-items:center}.bet-main{display:flex;flex-direction:column;min-width:0}.bet-main b{font-size:13px}.bet-main span{color:var(--muted);font-size:10px}.bet-progress{display:grid;grid-template-columns:80px 1fr 86px;align-items:center;gap:8px;font-size:10px}.bet-progress strong{text-align:right}.bet-progress span{color:var(--muted)}.bar{height:5px;background:#252b33;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:inherit}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.provider-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0}.provider-row:first-of-type{border-top:0}.provider-row div{display:flex;flex-direction:column}.provider-row b{font-size:12px}.provider-row span{font-size:10px;color:var(--muted)}.badge{font-size:9px!important;padding:5px 7px;border:1px solid #39414b;border-radius:999px;color:#a7b0bb!important}.badge.green{border-color:#35562d;color:var(--accent)!important}.empty-card{padding:24px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100;display:grid;place-items:center}.modal{width:min(460px,calc(100vw - 30px));background:#10151c;border:1px solid #2c3440;border-radius:14px;padding:17px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0}.modal label{display:flex;flex-direction:column;gap:6px;color:#98a4b2;font-size:11px;margin-bottom:12px}.modal-note{font-size:10px;color:#7f8995;background:#0a0d12;border:1px solid var(--line);border-radius:8px;padding:9px;margin-bottom:12px}@media(max-width:900px){.wall-6,.wall-8{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.wall{height:auto}.video-pane{min-height:280px}.bet-layout,.settings-grid{grid-template-columns:1fr}.bet-row{grid-template-columns:34px 1fr 34px}.bet-progress{grid-column:2/3;grid-row:2}.section-head{align-items:stretch;flex-direction:column}.searchbox{width:100%}}@media(max-width:620px){.topbar{padding:0 14px}.brand span{display:none}.tabs{padding:9px 10px;overflow:auto}.tabs button{padding:9px 10px;white-space:nowrap}.section{padding:20px 12px 34px}.wall-2,.wall-4,.wall-6,.wall-8{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.bet-progress{grid-template-columns:70px 1fr 74px}.wall-controls{width:100%}.wall-controls [data-action="start-wall"]{order:-1;width:100%;font-weight:800;padding:12px 14px;position:sticky;top:8px;z-index:20}.segmented{max-width:100%;overflow:auto}}.video-stage .source-empty{padding-bottom:52px}
.director-lead .video-pane{border-color:#4f6f2e;box-shadow:0 0 0 1px rgba(167,255,79,.16),0 0 24px rgba(167,255,79,.08)}.director-lead .pane-topbar:after{content:"AUTO";font-size:8px;letter-spacing:.12em;color:var(--accent);border:1px solid #3c5928;border-radius:999px;padding:3px 5px;margin-left:6px}#player-park{position:fixed;width:1px;height:1px;left:-9999px;top:0;overflow:hidden;pointer-events:none}.video-stage[data-native]{cursor:pointer}.video-stage video{background:#000}.tile-status{position:absolute;top:8px;left:8px;z-index:2;font-size:10px;color:#c0c9d3;background:rgba(6,8,11,.7);border-radius:6px;padding:3px 6px}.tile-status:empty{display:none}.audio-owner .video-pane{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.net-tag{font-style:normal;font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 5px;margin-left:4px;white-space:nowrap}.cap-native{font-style:normal;color:var(--accent)}.cap-app{font-style:normal;color:#c0c9d3}.conn-row{flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:8px 0;border-top:1px solid var(--line);margin:0!important}.conn-row span{display:flex;flex-direction:column;gap:2px}.conn-row b{color:#e9edf2;font-size:12px}.conn-row small{color:var(--muted);font-size:10px}.muted-copy code{font-size:10px;word-break:break-all}.video-stage .source-empty{padding-bottom:52px}
.source-picker{width:min(620px,calc(100vw - 24px));max-height:82vh;overflow:auto}.source-network{font-size:11px;color:var(--accent);margin-top:3px}.source-results{display:grid;gap:8px;margin:12px 0}.source-result{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0b0f14}.source-result>div{display:flex;flex-direction:column;min-width:0}.source-result b{font-size:12px}.source-result span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.manual-source{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}@media(max-width:620px){.source-actions{grid-template-columns:1fr}.source-result{align-items:flex-start}.source-result .primary-btn{flex:0 0 auto}}.exact-source{border-color:#4f6f2e;box-shadow:0 0 0 1px rgba(167,255,79,.12)}.exact-badge{font-style:normal;font-size:9px;letter-spacing:.07em;color:#0b0e0a;background:var(--accent);padding:3px 5px;border-radius:999px;margin-right:5px}.unverified-source{opacity:.62}.unverified-badge{font-style:normal;font-size:9px;letter-spacing:.07em;color:#c4ccd6;background:#252c37;padding:3px 5px;border-radius:999px;margin-right:5px}.source-blocked{font-size:10px;color:var(--muted);white-space:nowrap}.danger-outline{margin-top:8px;border:1px solid rgba(255,107,107,.35)!important;color:#ff9b9b!important}
/* Keep every stream inside its multiview tile. */
.pane-wrap{min-width:0;min-height:0}
.pane-topbar{height:36px;flex-basis:36px;gap:8px}
.pane-topbar .pane-title{flex:1}
.pane-topbar .icon-btn{width:26px;height:26px;flex-shrink:0}
.pane-toolbar{display:flex;align-items:center;gap:5px;padding:5px 7px;background:#10141b;border-top:1px solid #242b35;flex-wrap:wrap}
.pane-toolbar .icon-btn{width:28px;height:28px}
.pane-toolbar .ghost-btn{font-size:10px;padding:6px 8px;white-space:nowrap}
.score-chip{pointer-events:none}
.tile-status{max-width:calc(100% - 16px);pointer-events:none}
.video-stage[data-native]{cursor:default}
@media(max-width:620px){
 .topbar{height:auto;min-height:72px;padding:10px 12px;gap:8px;flex-wrap:wrap}
 .header-right{flex-wrap:wrap;gap:6px}
 .header-right button{font-size:11px;padding:7px 9px}
 .live-pill{display:none}
 .wall-2,.wall-4,.wall-6,.wall-8{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 .wall{min-height:0;gap:6px}
 .video-pane{min-height:0}
 .video-stage{flex:none;aspect-ratio:16/9;width:100%}
 .pane-title{font-size:10px}
 .pane-toolbar{padding:4px;gap:3px}
 .pane-toolbar .ghost-btn{font-size:9px;padding:5px}
 .score-chip{font-size:8px;padding:3px 5px;bottom:3px;left:3px;right:3px}
 .director-lead .pane-topbar:after{display:none}
}

/* Feedback and picks stay outside the video picture. */
.pane-feedback{font-size:11px;color:var(--muted);padding:4px 10px;background:#0a0e13}.pane-feedback:empty{display:none}.pane-toolbar [hidden]{display:none!important}.director-lead .pane-topbar:after{display:none}.stats-links{margin:16px 0}.stats-links label{display:block;margin-top:12px}

.ocr-details{margin:12px 0;color:var(--muted);font-size:12px}.ocr-details textarea{display:block;width:100%;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#07090d;color:var(--text)}.import-preview select{max-width:100%}.ocr-status:empty{display:none}

/* Viewing-first cleanup: reclaim chrome for the streams without touching player behavior. */
.multiview-section{padding-top:14px}
.multiview-section .section-head{margin-bottom:10px}
.multiview-section .section-head h1{font-size:24px;margin-bottom:2px}
.multiview-section .section-head p{font-size:12px}
.multiview-section>[data-play-all-note]{margin:4px 0 8px}
.wall{height:calc(100vh - 184px);min-height:600px}
.pane-topbar{height:32px;flex-basis:32px}
.pane-toolbar{padding:3px 6px}
.pane-toolbar .icon-btn{width:26px;height:26px}
.pick-strip{padding:4px}
.pick-mini{padding:4px 6px}
@media(max-width:620px){
 .section.multiview-section{padding:10px 8px 22px}
 .multiview-section .section-head{gap:8px;margin-bottom:6px}
 .multiview-section .section-head>div:first-child p{display:none}
 .multiview-section .wall-controls{gap:5px}
 .multiview-section .wall-controls .primary-btn{padding:8px 9px;font-size:10px}
 .multiview-section .toggle-btn{padding:7px 8px;font-size:10px}
 .multiview-section>[data-play-all-note]{font-size:10px;margin:2px 0 6px}
 .wall{gap:5px}
 .pane-topbar{height:30px;flex-basis:30px}
 .pane-toolbar{padding:2px 4px}
 .pane-feedback{padding:3px 6px;font-size:9px}
 .pick-strip{padding:3px;gap:3px}
 .pick-mini{padding:3px 4px;font-size:8px}
}

/* TV presentation: preserve the same mounted players, only change the canvas around them. */
.multiview-section.tv-mode{position:fixed;inset:0;z-index:90;background:#020305;padding:6px;display:flex;flex-direction:column}
.tv-mode .section-head{margin:0 0 5px;padding:0 2px;flex:0 0 auto}
.tv-mode .section-head>div:first-child,.tv-mode>[data-play-all-note]{display:none}
.tv-mode .wall-controls{width:100%;justify-content:flex-end}
.tv-mode .wall-controls>.primary-btn,.tv-mode .wall-controls>.segmented,.tv-mode [data-action="director"],.tv-mode [data-action="fullscreen"]{display:none}
.tv-mode [data-action="tv-mode"]{margin-left:auto}
.tv-mode .wall{flex:1;height:auto;min-height:0;gap:5px}
.tv-mode .wall-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.tv-mode .video-pane{border-radius:4px}
.tv-mode .pane-topbar{height:25px;flex-basis:25px;padding:0 5px}
.tv-mode .pane-title{font-size:10px}
.tv-mode .pane-topbar .danger{display:none}
.tv-mode .pane-toolbar{position:absolute;right:5px;bottom:5px;z-index:8;background:rgba(4,6,8,.72);border-radius:7px;padding:2px}
.tv-mode .pane-toolbar [data-source],.tv-mode .pane-toolbar [data-retry-player],.tv-mode [data-helper-note]{display:none!important}
.tv-mode .pane-wrap,.tv-mode .video-pane{min-width:0;min-height:0}
.tv-mode .video-stage{min-height:0}
.tv-mode .pick-strip{padding:2px;gap:2px}
.tv-mode .pick-mini{padding:2px 4px;font-size:8px}
@media(max-width:620px){
 .multiview-section.tv-mode{padding:3px}
 .tv-mode .section-head{margin-bottom:3px}
 .tv-mode .wall{gap:3px}
 .tv-mode .pane-topbar{height:21px;flex-basis:21px}
 .tv-mode .pane-title{font-size:8px}
 .tv-mode .pick-strip{max-height:28px}
}

/* Mobile multiview: size the pane to the actual 16:9 picture instead of leaving a tall outer shell. */
@media(max-width:620px){
 .multiview-section .wall{height:auto!important;min-height:0!important;align-content:start}
 .multiview-section .pane-wrap{height:auto!important;min-height:0!important}
 .multiview-section .video-pane{height:auto!important;min-height:0!important}
 .multiview-section .video-stage{flex:0 0 auto!important;width:100%;aspect-ratio:16/9;min-height:0}
 .multiview-section .pane-topbar{height:24px;flex-basis:24px;padding:0 4px}
 .multiview-section .pane-title{font-size:9px}
 .multiview-section .pane-toolbar{padding:2px 3px;gap:2px}
 .multiview-section .pane-toolbar .icon-btn{width:23px;height:23px}
 .multiview-section .pane-toolbar .ghost-btn{font-size:8px;padding:4px 5px}
 .multiview-section .pane-feedback{padding:2px 4px;font-size:8px;line-height:1.15}
 .multiview-section .pick-strip{padding:2px;gap:2px}
 .multiview-section .pick-mini{padding:2px 3px;font-size:7px}
}

/* Landscape TV mode: override mobile 16:9 tile sizing and use the entire viewport canvas. */
@media(max-width:900px) and (orientation:landscape){
 .multiview-section.tv-mode{inset:0;padding:0!important;width:100vw;height:100dvh;max-width:none}
 .tv-mode .section-head{position:absolute;top:2px;right:2px;z-index:20;margin:0}
 .tv-mode .wall{width:100vw;height:100dvh!important;min-height:0!important;gap:2px;align-content:stretch}
 .tv-mode .pane-wrap{height:100%!important;min-height:0!important}
 .tv-mode .video-pane{height:100%!important;min-height:0!important;border-radius:0}
 .tv-mode .video-stage{flex:1 1 auto!important;aspect-ratio:auto!important;width:100%;height:100%;min-height:0}
 .tv-mode .pane-topbar{height:20px;flex-basis:20px}
 .tv-mode .pick-strip{max-height:24px}
}

.fantasy-slots{display:grid;gap:7px;margin:12px 0 17px}.fantasy-slot{display:flex;align-items:center;gap:8px}.fantasy-slot>.ghost-btn{flex:1;min-width:0;justify-content:flex-start;text-align:left;white-space:normal}.fantasy-slot b{color:var(--accent);min-width:38px}.fantasy-active{outline:2px solid var(--accent)}.fantasy-search-results{display:grid;gap:6px;margin:8px 0;max-height:230px;overflow:auto}.fantasy-result{justify-content:flex-start;text-align:left}.panel .ghost-btn.full{width:100%;margin-bottom:10px}
/* Cloud sync + photos */
.cloud-pill{border:1px solid var(--line);background:#0f131a;color:var(--muted);padding:8px 12px;border-radius:999px;font-size:12px;cursor:pointer;white-space:nowrap}.cloud-pill.on{border-color:#28462c;color:#bff79b;background:#0c1b0e}.cloud-pill.syncing{color:#9fd8ff;border-color:#24435a}.cloud-pill.error{color:#ffc06b;border-color:#5a4524}.cloud-pill.off{color:#ffc06b;border-color:#5a4524}
.cloud-panel label{display:block;margin:10px 0}.cloud-panel input{width:100%;max-width:260px;letter-spacing:.3em}.cloud-error{color:var(--danger)!important;min-height:1em}
.photo-panel{margin:12px 0}.photo-add{display:inline-flex;align-items:center;cursor:pointer;position:relative;overflow:hidden}.photo-add input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}.photo-item{position:relative}.photo-thumb{display:block;width:100%;aspect-ratio:3/4;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#000;cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-del{position:absolute;top:4px;right:4px;width:28px;height:28px;padding:0;background:rgba(0,0,0,.7)}
.photo-viewer{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}.photo-viewer img{max-width:100%;max-height:calc(100vh - 100px);object-fit:contain;border-radius:8px}
.tv-watch{background:#ff3b3b!important;border-color:#ff3b3b!important;color:#fff!important}
/* Fire TV: 10-foot layout and a clear focus ring for the remote */
html.tv{font-size:17px;cursor:none}
html.tv body{overflow-x:hidden}
html.tv :focus{outline:none}
html.tv :focus-visible,html.tv button:focus,html.tv select:focus,html.tv input:focus,html.tv textarea:focus,html.tv a:focus,html.tv label.photo-add:focus{outline:3px solid var(--accent)!important;outline-offset:3px;box-shadow:0 0 0 6px rgba(167,255,79,.25)!important;position:relative;z-index:5}
html.tv button,html.tv select,html.tv input,html.tv .photo-add{min-height:40px}
html.tv .tabs button:focus{background:#16210f;color:#fff}
html.tv .game-card:focus-within{border-color:var(--accent)}
html.tv .photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
html.tv .photo-del{opacity:.85}
html.tv .photo-viewer img{max-height:calc(100vh - 80px)}
html.tv .photo-add{display:none}

/* Directional remote controls, shown on Fire TV without requiring hover. */
.multiview-section .tv-pane-controls{display:flex;flex-wrap:wrap;gap:7px;position:relative;z-index:3}
.multiview-section .tv-pane-btn{min-width:70px;min-height:42px;padding:8px 11px;cursor:pointer}
.multiview-section .tv-pane-btn:focus,.multiview-section .tv-pane-btn:focus-visible,
.tv-remote-active button:focus,.tv-remote-active a:focus,.tv-remote-active [tabindex="0"]:focus{
 outline:4px solid #b7ff64!important;outline-offset:2px!important;
 box-shadow:0 0 0 7px rgba(183,255,100,.22)!important;z-index:10;position:relative;
}
.multiview-section .tv-pane-btn:disabled{opacity:.45;cursor:not-allowed}
.multiview-section .wall.tv-pane-focused{display:block!important}
.multiview-section .wall.tv-pane-focused>.pane-wrap:not(.tv-selected-pane){display:none!important}
.multiview-section .wall.tv-pane-focused>.pane-wrap.tv-selected-pane{display:flex!important;width:100%;min-height:65vh}
.multiview-section .wall.tv-pane-focused>.pane-wrap.tv-selected-pane .video-pane{width:100%;min-height:65vh}
.multiview-section .wall.tv-pane-focused>.pane-wrap.tv-selected-pane .video-stage{flex:1;min-height:45vh}
html.tv .multiview-section .tv-pane-btn{min-height:54px;min-width:100px;font-size:16px}

/* Fire TV: aim the remote at controls rendered inside cross-origin stream iframes.
   Overlay never consumes pointer events; native tap passes through to the iframe. */
html.tv .tv-video-cursor-layer{position:absolute;inset:0;z-index:20;pointer-events:none;border:3px solid #a7ff4f;box-sizing:border-box;outline:none!important}
html.tv .tv-video-crosshair{position:absolute;width:30px;height:30px;border:3px solid #a7ff4f;border-radius:50%;box-shadow:0 0 0 3px #07110c,0 0 16px #a7ff4f;transform:translate(-50%,-50%);background:rgba(167,255,79,.12)}
html.tv .tv-video-crosshair:before,html.tv .tv-video-crosshair:after{content:'';position:absolute;background:#a7ff4f}
html.tv .tv-video-crosshair:before{left:50%;top:-10px;bottom:-10px;width:2px;transform:translateX(-50%)}
html.tv .tv-video-crosshair:after{top:50%;left:-10px;right:-10px;height:2px;transform:translateY(-50%)}
html.tv .tv-video-cursor-hint{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;font:15px system-ui;padding:5px 10px;border-radius:6px;white-space:nowrap}

