:root{--bg: #0b0e14;--bg-2: #121722;--card: #161c2a;--card-2: #1d2435;--line: #28304255;--line-solid: #2a3344;--text: #e7ecf3;--muted: #8b97ab;--accent: #3b82f6;--accent-2: #22d3ee;--win: #22c55e;--loss: #ef4444;--tie: #f59e0b;--radius: 14px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 70% -10%,#1a2030 0%,var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.02em}ol,ul{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.small{font-size:12px}.app-loading{height:100%;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted)}.btn{border:1px solid var(--line-solid);background:var(--card-2);color:var(--text);padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px;transition:transform .08s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(135deg,var(--accent),#6366f1);border-color:transparent}.btn.ghost{background:transparent}.btn.danger{color:#ff8a8a;border-color:#5a2a2a}.btn.danger:hover{background:#2a1414}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.on-banner{background:#0000004d;border-color:#ffffff40}.menu-wrap{max-width:720px;margin:0 auto;padding:48px 20px 80px;display:flex;flex-direction:column;gap:20px}.menu-hero{text-align:center;margin-bottom:8px}.logo-badge{font-size:44px}.menu-hero h1{font-size:40px;background:linear-gradient(135deg,#fff,#8fb6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h2{font-size:18px;margin-bottom:14px}.nick-card{display:flex;flex-direction:column;gap:6px}.nick-card label{font-weight:600;font-size:14px}input{background:var(--bg-2);border:1px solid var(--line-solid);color:var(--text);padding:10px 12px;border-radius:10px;font-size:14px;width:100%}input:focus{outline:none;border-color:var(--accent)}.new-set-form{display:flex;gap:10px}.new-set-form input{flex:1}.new-set-form .btn{white-space:nowrap}.set-list{display:flex;flex-direction:column;gap:8px}.set-row{display:flex;align-items:center;justify-content:space-between;background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s,transform .08s}.set-row:hover{border-color:var(--accent);transform:translateY(-1px)}.set-name{font-weight:600}.set-layout{display:flex;flex-direction:column;height:100%}.set-header{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);background:#0a0d14b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}.set-header-left{display:flex;align-items:center;gap:16px}.back-link{color:var(--muted);text-decoration:none;font-size:14px}.back-link:hover{color:var(--text)}.set-title{font-size:18px}.set-header-right{display:flex;align-items:center;gap:14px}.presence{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--win);box-shadow:0 0 8px var(--win);animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.tabs{display:flex;gap:6px;padding:12px 22px 0;border-bottom:1px solid var(--line)}.tab{background:transparent;border:none;color:var(--muted);padding:10px 18px;font-weight:600;font-size:15px;border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.set-main{flex:1;overflow:auto;padding:22px}.season-view{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}.season-side{position:sticky;top:16px}.team-picker{display:flex;flex-direction:column;gap:16px}.picker-conf h3{font-size:15px;color:var(--accent-2);margin-bottom:8px}.picker-div{margin-bottom:10px}.picker-div-name{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.picker-teams{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.picker-team{display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 4px;color:var(--text);font-size:11px;font-weight:600;transition:transform .08s,border-color .15s}.picker-team:hover{transform:translateY(-2px);border-color:var(--accent)}.team-logo{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid;font-weight:800;flex-shrink:0}.season-main{min-width:0}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-state h2{color:var(--text);margin:10px 0}.big-emoji{font-size:56px}.team-banner{display:flex;align-items:center;gap:16px;padding:20px;border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow);position:relative}.team-banner h2{font-size:24px;text-shadow:0 1px 3px rgba(0,0,0,.4)}.banner-sub{font-size:13px;opacity:.92;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.team-banner .on-banner{margin-left:auto}.schedule-list{display:flex;flex-direction:column;gap:8px}.game-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;transition:border-color .15s}.game-row:hover{border-color:var(--line-solid)}.game-row.locked{opacity:.7}.week-tag{font-size:12px;font-weight:700;color:var(--muted);width:32px}.vs{width:22px;color:var(--muted);font-size:13px}.opp-name{flex:1;font-weight:600}.lock-badge{font-size:12px;color:var(--tie)}.wlt-toggle{display:flex;gap:4px}.wlt{width:38px;height:34px;border-radius:8px;border:1px solid var(--line-solid);background:var(--bg-2);color:var(--muted);font-weight:700;transition:all .12s}.wlt:hover:not(:disabled){color:var(--text)}.wlt.w.on{background:var(--win);color:#06210f;border-color:var(--win)}.wlt.l.on{background:var(--loss);color:#2a0a0a;border-color:var(--loss)}.wlt.t.on{background:var(--tie);color:#2a1c00;border-color:var(--tie)}.standings{display:flex;flex-direction:column;gap:16px}.standings-conf h3{font-size:15px;color:var(--accent-2);margin-bottom:8px}.standings-div{margin-bottom:10px}.standings-div-name{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.standings-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-left:3px solid;border-radius:8px;padding:6px 10px;color:var(--text);font-size:13px;margin-bottom:4px}.standings-row:hover{background:var(--card-2)}.standings-row.selected{outline:1px solid var(--accent)}.standings-row .rank{color:var(--muted);width:14px;font-size:11px}.standings-row .abbr{font-weight:700;width:38px}.standings-row .rec{margin-left:auto;color:var(--muted)}.banner-note{background:#1f2533;border:1px solid var(--line-solid);border-left:3px solid var(--tie);border-radius:10px;padding:12px 16px;margin-bottom:18px;color:var(--muted);font-size:13px}.seeds-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}.seeds-conf h3{font-size:15px;color:var(--accent-2);margin-bottom:10px}.seeds-list{display:flex;flex-direction:column;gap:5px}.seed-item{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-size:13px}.seed-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.seed-name{flex:1;font-weight:600}.seed-tag{font-size:11px;color:var(--muted)}.seed-rec{color:var(--muted);width:48px;text-align:right}.bracket{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;overflow-x:auto;padding-bottom:10px}.bk-conf{display:flex;gap:14px}.bk-conf.NFC{justify-content:flex-end}.bk-round{display:flex;flex-direction:column;justify-content:space-around;gap:12px;min-width:150px}.bk-round-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:center;margin-bottom:2px}.bk-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px}.bk-card.locked{opacity:.7}.bk-card.bye{opacity:.85}.bk-label{font-size:10px;color:var(--muted);text-align:center;display:flex;justify-content:center;gap:6px}.bk-lock{color:var(--tie)}.bk-side{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:var(--bg-2);border:1px solid var(--line);border-left:3px solid transparent;border-radius:7px;padding:5px 8px;color:var(--text);font-size:13px;transition:all .12s}.bk-side:hover:not(:disabled):not(.tbd){background:var(--card-2)}.bk-side.winner{background:#143020;border-color:var(--win)}.bk-side.loser{opacity:.45}.bk-side.tbd{color:var(--muted);cursor:default}.bk-seed{width:14px;font-size:11px;color:var(--muted);font-weight:700}.bk-name{font-weight:700}.bk-check{margin-left:auto;color:var(--win)}.bk-final{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:180px}.bk-champion{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px;border-radius:14px;border:1px dashed var(--line-solid);width:100%}.bk-champion.has{border-style:solid;border-color:var(--tie);background:#1f1c0e}.trophy{font-size:34px;filter:grayscale(1);opacity:.5}.bk-champion.has .trophy{filter:none;opacity:1}.champ-name{font-weight:800}@media(max-width:880px){.season-view{grid-template-columns:1fr}.season-side{position:static}.picker-teams{grid-template-columns:repeat(4,1fr)}.seeds-row,.bracket{grid-template-columns:1fr}.bk-conf,.bk-conf.NFC{flex-direction:column}.bk-round{min-width:0}}
