#loadingScreen{z-index:9999;opacity:1;background:linear-gradient(#0a0a0a 0%,#111 100%);flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s ease-out;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#loadingScreen.hidden{opacity:0;pointer-events:none}.loading-content{text-align:center}.loading-spinner{border:4px solid rgba(0,114,0,.2);border-top-color:#00ff6a;border-radius:50%;width:60px;height:60px;margin:0 auto 30px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#fff;letter-spacing:.5px;margin-bottom:10px;font-size:1.1rem;font-weight:600}.loading-subtext{color:#888;letter-spacing:.3px;font-size:.85rem}#demo-banner{border-bottom:2px solid var(--accent);text-align:center;font-size:.9rem;color:#ccc;background:rgba(102,187,106,.15);flex-shrink:0;padding:.5rem 1.25rem;font-size:max(12px,min(.9rem,36px))}.header-logo{object-fit:contain;max-width:4.2rem;max-height:2.6rem;margin-right:.75rem}.ticker-logo{object-fit:contain;max-width:6.25rem;max-height:2.1rem}.rotation-timer{display:none}#dashboard-overlay{z-index:500;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:none;position:fixed;top:0;bottom:0;left:0;right:0}#dashboard-overlay.show{animation:.2s ease-out fadeIn;display:block}#sessionLimitModal{z-index:1000;background:#111;border:2px solid #ff6b6b;border-radius:12px;width:90%;max-width:450px;animation:.3s ease-out slideInUp;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 20px 60px rgba(0,0,0,.8)}#sessionLimitModal.show{display:block;transform:translate(-50%,-50%)scale(1)}.session-modal-text{color:var(--text);opacity:.85;margin-bottom:20px;font-size:.95rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translate(-50%,calc(30px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.tile-live{border:3px solid var(--accent)}.favorite-team-glow{box-shadow:inset 0 0 60px var(--tile-score,var(--accent))}.setup-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:40px;display:flex}.setup-prompt .setup-icon{opacity:.8;margin-bottom:20px;font-size:4rem}.setup-prompt h2{color:var(--text,#fff);margin:0 0 15px;font-size:1.8rem;font-weight:600}.setup-prompt p{color:var(--dim,#888);max-width:400px;margin:0 0 30px;font-size:1.1rem}.setup-prompt .setup-btn{background:var(--accent,#007200);color:#fff;border-radius:8px;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.setup-prompt .setup-btn:hover{background:var(--accent-hover,#008f00);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,114,0,.3)}.connection-banner{z-index:9998;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;animation:.3s ease-out slideDown;display:flex;position:fixed;top:0;left:0;right:0}@supports not (display:grid){.connection-banner>*+*{margin-left:8px}.stale-pill>*+*{margin-left:6px}}.connection-banner.reconnecting{color:#ffc107;background:rgba(255,193,7,.15);border-bottom:1px solid rgba(255,193,7,.3)}.connection-banner.failed{color:#f66;background:rgba(255,51,51,.15);border-bottom:1px solid rgba(255,51,51,.3)}.connection-icon{font-size:1rem}.connection-icon.spinning{animation:1s linear infinite spin}.stale-pill{z-index:9997;letter-spacing:.02em;color:#ffa726;pointer-events:none;background:rgba(255,167,38,.16);border:1px solid rgba(255,167,38,.4);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:700;display:none;position:fixed;top:8px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px rgba(0,0,0,.45)}.stale-pill.show{display:flex}.stale-pill .stale-dot{background:#ffa726;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite stale-pulse}@keyframes stale-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(0)}to{transform:translateY(-100%)}}
