:root{--bg:#0a0e17;--panel:#111a2c;--panel-border:#24314d;--text:#f1f3f7;--text-muted:#9aa6bf;--accent:#f58426;--accent-hover:#ff9a45;--gold:#f5c242;--team1:#1d428a;--team2:#c8102e}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{background:var(--accent);color:#111;font:inherit;border:2px solid var(--accent);cursor:pointer;border-radius:6px;padding:8px 18px;font-weight:700}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.secondary{color:var(--text-muted);border-color:var(--panel-border);background:0 0;padding:4px 12px}button.secondary:hover{color:var(--text);border-color:var(--text-muted)}.game-page{height:100vh;display:flex}.left-pane{background:var(--panel);border-right:1px solid var(--panel-border);flex-direction:column;flex-shrink:0;width:300px;display:flex}.game-controls{flex:1;padding:16px;overflow-y:auto}.game-controls h1{color:var(--accent);letter-spacing:.02em;margin-top:0}.game-controls h2{color:var(--gold);margin:16px 0 12px;font-size:1.25rem}.game-controls p{color:var(--text-muted)}.draft-pool{flex-direction:column;height:50vh;display:flex}.draft-pool-header{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.draft-pool h2{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0;font-size:1rem}.filter{position:relative}.filter-menu{z-index:10;background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;min-width:96px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 16px #00000080}.filter-menu button{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-weight:400}.filter-menu button:hover{background:var(--panel-border)}.filter-menu button.selected{color:var(--accent);font-weight:700}.draft-pool-list{scrollbar-width:none;flex:1;padding:0 16px 16px;overflow-y:auto}.draft-pool-list::-webkit-scrollbar{display:none}.game-area{flex:1;padding:16px}.landing{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.login-button{padding:14px 40px;font-size:1.1rem}.landing-or{color:var(--text-muted);font-size:.9rem}.landing-label{color:var(--text-muted);margin:0}.room-code{color:var(--accent);letter-spacing:.3em;margin:0;font-size:3rem;font-weight:700}.room-info{color:var(--text-muted);margin:0 0 12px;font-size:.85rem}.join-form{gap:8px;display:flex}.join-form input{background:var(--panel);width:110px;color:var(--text);font:inherit;text-transform:uppercase;letter-spacing:.15em;border:2px solid var(--panel-border);border-radius:6px;padding:6px 10px}.room-error{color:var(--team2);margin:0;font-weight:700}.link-button{color:var(--text-muted);background:0 0;border:none;padding:0;font-weight:400;text-decoration:underline}.link-button:hover{color:var(--text);background:0 0}.round-wins{flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.score{background:var(--bg);border-left:4px solid;border-radius:4px;padding:4px 10px}.score.team1{border-left-color:var(--team1)}.score.team2{border-left-color:var(--team2)}.player-card{cursor:pointer;color:#fff;background:#0b1630;border:2px solid #c0c8d8;border-radius:10px;margin-bottom:12px;padding:12px;box-shadow:0 2px 6px #0006}.player-card:hover{border-color:#fff}.player-card h3{margin:0 0 4px}.player-card p{margin:0 0 4px;font-size:.9rem}.court-area{max-width:960px;margin:0 auto}.court{aspect-ratio:94/50;background:repeating-linear-gradient(#e3b781 0 14px,#d9ab72 14px 28px);border-radius:4px;position:relative;box-shadow:0 4px 16px #00000040}.court-lines{width:100%;height:100%;position:absolute;inset:0}.court-lines *{fill:none;stroke:#fff;stroke-width:.3px}.court-lines .paint-left{fill:var(--team1);fill-opacity:.85}.court-lines .paint-right{fill:var(--team2);fill-opacity:.85}.court-lines .rim{stroke:#e8590c}.court-half{width:50%;position:absolute;top:0;bottom:0}.court-half.left{left:0}.court-half.right{right:0}.court-half.active{box-shadow:inset 0 0 0 4px var(--gold)}.team-label{color:#fff;background:#00000080;border-radius:4px;padding:2px 8px;font-size:.85rem;font-weight:700;position:absolute;top:8px}.court-half.left .team-label{left:8px}.court-half.right .team-label{right:8px}.lineup-slot{color:#1a1a1a;text-align:center;background:#fff;border:2px solid #1a1a1a;border-radius:8px;flex-direction:column;align-items:center;width:104px;padding:6px 4px;display:flex;box-shadow:0 2px 4px #0000004d}.lineup-slot.empty{background:#ffffff59;border-style:dashed}.court-half .lineup-slot{position:absolute;transform:translate(-50%,-50%)}.slot-label{color:#555;letter-spacing:.05em;font-size:.7rem;font-weight:700}.slot-name{font-size:.8rem;font-weight:600}.benches{justify-content:space-between;gap:16px;margin-top:16px;display:flex}.bench{color:#fff;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;display:flex}.bench .lineup-slot.empty{color:#fff;background:#ffffff1a;border-color:#fff}.bench .lineup-slot.empty .slot-label{color:#ddd}.bench-title{font-size:.85rem;font-weight:700}
