:root{--bg: #0F1E24;--panel: #16323C;--primary: #0EA5C6;--primary-dark: #087F9C;--accent: #C8F135;--live: #FF6B5B;--sunset: #FFB03A;--success: #2ECC8F;--text: #F2F7F8;--muted: #9DB4BA;--sand-dark: #E8D3A3}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:none;overflow:hidden}.tv{height:100vh;display:flex;flex-direction:column;padding:1.2vh 1.6vw}.tv-header{display:flex;align-items:baseline;gap:1.4vw;border-bottom:2px solid #1e3a44;padding-bottom:.7vh;flex-shrink:0}.tv-title{font-size:2.4vh;font-weight:800;letter-spacing:.5px}.tv-phase{font-size:1.7vh;color:var(--accent);font-weight:700;text-transform:uppercase}.tv-clock{margin-left:auto;font-size:2vh;color:var(--muted);font-variant-numeric:tabular-nums}.tv-main{flex:1;display:flex;align-items:stretch;padding:1vh 0 0;min-height:0}.tv-error{color:var(--live);font-size:3vh;margin:auto}.grid{display:grid;gap:.7vh .7vw;width:100%}.courts{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr)}.court{background:var(--panel);border-radius:.7vh;padding:.8vh .9vh;display:flex;flex-direction:column;gap:.2vh;border:2px solid transparent;min-height:0;overflow:hidden}.court.live{border-color:var(--live)}.court.center{box-shadow:0 0 0 2px var(--accent) inset}.court-name{font-size:1.65vh;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-tie{font-size:1.4vh;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-type{font-size:1.25vh;color:var(--primary);font-weight:700;line-height:1.15}.court-status{font-size:1.2vh;color:var(--live);font-weight:700;margin-top:auto}.court-free{color:var(--muted);font-size:1.35vh;margin-top:auto}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e24f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;animation:flash 1s ease-in-out infinite alternate}@keyframes flash{0%{background:#0f1e24f7}to{background:#c8f1351f}}.call-emoji{font-size:14vh}.call-title{font-size:6.5vh;font-weight:900;color:var(--accent)}.call-court{font-size:7vh;font-weight:900;color:var(--sunset);letter-spacing:.02em}.call-tie{font-size:5vh;font-weight:800;text-align:center;max-width:90vw}.call-type{font-size:4.2vh;color:var(--primary);font-weight:800}.call-message{font-size:3.2vh;color:var(--muted);text-align:center;white-space:pre-line;max-width:80vw}.podium{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3vh;text-align:center}.podium-cup{font-size:22vh}.podium h1{font-size:7vh;color:var(--sunset)}.podium-row{display:flex;gap:6vw;font-size:4vh}.courts-layout{display:flex;gap:1vw;width:100%;height:100%;min-height:0}.courts-main{flex:1;display:flex;flex-direction:column;gap:.9vh;min-width:0;min-height:0}.courts-main .courts{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);flex:1;min-height:0}.court-duplas{display:flex;flex-direction:column;gap:.1vh;font-size:1.25vh;color:var(--sand-dark);line-height:1.15;overflow:hidden}.court-duplas span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-duplas .court-vs{color:var(--muted);font-size:1.1vh}.upcoming{background:var(--panel);border-radius:.7vh;padding:.7vh 1.1vh;flex-shrink:0;max-height:22vh;overflow:hidden}.upcoming h2{font-size:1.6vh;color:var(--primary);margin-bottom:.4vh}.upcoming-item{display:flex;align-items:center;gap:.8vw;font-size:1.35vh;padding:.3vh 0;border-top:1px solid #1e3a44}.upcoming-item:first-of-type{border-top:none}.upcoming-time{color:var(--sunset);font-weight:800;font-variant-numeric:tabular-nums;min-width:5.5vw}.upcoming-type{color:var(--primary);font-weight:700;min-width:7vw}.upcoming-teams{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-court{color:var(--accent);font-weight:800;white-space:nowrap;flex-shrink:0;min-width:6vw;text-align:right}.gen-standings{width:20vw;background:var(--panel);border-radius:.7vh;padding:1vh 1.2vh;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.gen-standings h2{font-size:1.8vh;color:var(--accent);margin-bottom:.6vh;flex-shrink:0}.gen-row{display:flex;align-items:center;gap:.7vw;font-size:1.5vh;padding:.35vh 0;border-top:1px solid #1e3a44}.gen-row:first-of-type{border-top:none}.gen-pos{color:var(--muted);min-width:2vw;font-weight:800;text-align:right}.gen-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-pts{font-weight:800;color:var(--accent)}
