:root{--team-one-timers:#2563eb;--team-ice-holes:#7c3aed;--team-high-sticks:#dc2626;--team-puckin-paradise:#059669;--pos-forward:#3b82f6;--pos-center:#22c55e;--pos-defense:#f97316;--pos-unknown:#9ca3af;--bg:#f8fafc;--card-bg:#fff;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--radius:8px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 4px 12px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app-header{color:#fff;z-index:100;background:#1e293b;justify-content:space-between;align-items:center;padding:8px 24px;transition:transform .25s;display:flex;position:sticky;top:0}.app-header.header-hidden{transform:translateY(-100%)}.app-header h1{font-size:1.25rem;font-weight:700}.header-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pick-counter{opacity:.9;font-size:.9rem;font-weight:600}.log-mode-toggle{border:1px solid #ffffff4d;border-radius:6px;display:flex;overflow:hidden}.log-mode-toggle button{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-right:1px solid #fff3;padding:3px 10px;font-size:.75rem}.log-mode-toggle button:last-child{border-right:none}.log-mode-toggle button.active{color:#fff;background:#fff3}.app-layout{max-width:1400px;padding:16px;padding-bottom:calc(16px + var(--draft-log-height,0px));gap:16px;margin:0 auto;display:flex}.app-main{flex:1;min-width:0}.filter-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-group label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:.7rem;font-weight:600}.btn-group{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.btn-group button{background:var(--card-bg);border:none;border-right:1px solid var(--border);cursor:pointer;color:var(--text);padding:5px 10px;font-size:.8rem;transition:background .15s}.btn-group button:last-child{border-right:none}.btn-group button:hover{background:#f1f5f9}.btn-group button.active{background:var(--text);color:#fff}.filter-group select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);padding:5px 8px;font-size:.8rem}.search-group{flex:1;min-width:180px}.search-input-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);align-items:center;padding:0 8px;display:flex}.search-icon{margin-right:4px;font-size:.85rem}.search-input-wrapper input{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:5px 0;font-size:.8rem}.filter-meta{align-items:center;gap:8px;margin-left:auto;display:flex}.result-count{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.btn-clear{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-muted);background:0 0;padding:4px 10px;font-size:.75rem;transition:all .15s}.btn-clear:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.player-list{flex-direction:column;gap:8px;display:flex}.empty-message{text-align:center;color:var(--text-muted);padding:48px 16px;font-size:1rem}.player-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid #0000;transition:box-shadow .2s,opacity .2s;overflow:hidden}.player-card:hover,.player-card.dragging{box-shadow:var(--shadow-lg)}.card-main{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.drag-handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;touch-action:none;padding:4px;font-size:1.2rem;line-height:1}.drag-handle:active{cursor:grabbing}.card-rank{color:var(--text-muted);text-align:center;min-width:32px;font-size:.85rem;font-weight:700}.rank-controls{flex-direction:column;gap:1px;display:flex}.rank-controls button{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:3px;padding:0 4px;font-size:.65rem;line-height:1.3;transition:all .15s}.rank-controls button:hover{background:var(--text);color:#fff;border-color:var(--text)}.card-info{flex:1;min-width:0}.card-header-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-name{font-size:1rem;font-weight:700}.pos-badge,.pos-badge-sm{color:#fff;border-radius:12px;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-block}.pos-forward{background:var(--pos-forward)}.pos-center{background:var(--pos-center)}.pos-defense{background:var(--pos-defense)}.pos-unknown{background:var(--pos-unknown)}.card-age{color:var(--text-muted);font-size:.8rem}.card-stats-line{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.78rem}.card-past-teams{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.team-chip{border:1px solid var(--border);color:var(--text-muted);background:#f1f5f9;border-radius:4px;padding:0 6px;font-size:.65rem}.card-controls{border-top:1px solid var(--border);background:#fafbfc;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px 6px 58px;display:flex}.card-controls select{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:4px;padding:3px 6px;font-size:.78rem}.btn-notes{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;padding:3px 8px;font-size:.75rem}.btn-notes:hover{background:#f1f5f9}.card-notes{background:#fafbfc;padding:6px 12px 10px 58px}.card-notes textarea{border:1px solid var(--border);resize:vertical;width:100%;color:var(--text);border-radius:4px;padding:6px 8px;font-family:inherit;font-size:.8rem}.card-notes textarea:focus{outline:2px solid var(--team-one-timers);border-color:#0000}.card-expanded{border-top:1px solid var(--border);padding:8px 12px 12px 58px}.stats-table{border-collapse:collapse;width:100%;font-size:.78rem}.stats-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;padding:4px 8px;font-size:.7rem;font-weight:600}.stats-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:4px 8px}.stats-table .no-data{text-align:center;color:var(--text-muted);padding:12px}.team-roster{flex-shrink:0;align-self:flex-start;width:280px;max-height:calc(100vh - 84px);position:sticky;top:68px;overflow-y:auto}.roster-title{color:var(--text);margin-bottom:8px;font-size:.9rem;font-weight:700}.roster-team{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;overflow:hidden}.roster-team-header{cursor:pointer;border-top:3px solid var(--border);align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.roster-team-header:hover{background:#f8fafc}.roster-team-name{cursor:pointer;flex:1;font-size:.85rem;font-weight:600}.roster-team-name:hover{text-decoration:underline}.roster-count{color:#fff;text-align:center;border-radius:10px;min-width:22px;padding:1px 7px;font-size:.7rem;font-weight:700}.roster-chevron{color:var(--text-muted);font-size:.7rem}.roster-player-list{border-top:1px solid var(--border);list-style:none}.roster-player{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:5px 10px;font-size:.8rem;display:flex}.roster-player:last-child{border-bottom:none}.roster-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pos-badge-sm{padding:0 5px;font-size:.6rem}.roster-empty{color:var(--text-muted);padding:8px 10px;font-size:.78rem;font-style:italic}.loading-spinner{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:64px 16px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--team-one-timers);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000;background:#dc2626;padding:10px 20px;font-size:.85rem;animation:.3s slideIn;position:fixed;bottom:20px;right:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.draft-log-bottom-fixed{background:var(--card-bg);border-top:2px solid var(--border);z-index:90;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.draft-log-resize-handle{cursor:ns-resize;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;height:12px;display:flex}.draft-log-resize-handle:hover{background:var(--border)}.resize-grip{background:var(--text-muted);opacity:.4;border-radius:2px;width:40px;height:4px}.draft-log-resize-handle:hover .resize-grip{opacity:.8}.draft-log-bottom-content{flex-wrap:wrap;flex:1;align-content:flex-start;gap:8px;padding:4px 16px 8px;display:flex;overflow:auto}.log-pick-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-shrink:0;align-items:center;gap:6px;min-width:140px;padding:6px 10px;font-size:.78rem;display:flex}.log-pick-num{color:var(--text-muted);min-width:24px;font-weight:700}.log-team-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.log-pick-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.draft-log-sidebar{flex-shrink:0;align-self:flex-start;width:280px;max-height:calc(100vh - 84px);position:sticky;top:68px;overflow-y:auto}.log-sidebar-title{margin-bottom:8px;font-size:.9rem;font-weight:700}.log-sidebar-entry{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:.82rem;display:flex}.log-entry-info{flex:1;min-width:0}.log-entry-pick{color:var(--text-muted);font-weight:700}.log-entry-player{font-weight:600}.log-entry-team{color:var(--text-muted);font-size:.75rem}.log-entry-time{color:var(--text-muted);font-size:.7rem}.btn-undo{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.7rem}.btn-undo:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.log-empty{color:var(--text-muted);padding:12px 0;font-size:.82rem;font-style:italic}[data-theme=dark]{--bg:#0f172a;--card-bg:#1e293b;--border:#334155;--text:#e2e8f0;--text-muted:#94a3b8;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 12px #00000040}[data-theme=dark] body{background:var(--bg);color:var(--text)}[data-theme=dark] .btn-group button:hover{background:#334155}[data-theme=dark] .btn-group button.active{background:#3b82f6}[data-theme=dark] .card-controls{background:#1a2332}[data-theme=dark] .card-notes textarea{color:var(--text);background:#0f172a}[data-theme=dark] .team-chip{color:var(--text-muted);background:#334155;border-color:#475569}[data-theme=dark] .search-input-wrapper input{color:var(--text)}[data-theme=dark] .roster-team-header:hover{background:#1a2332}[data-theme=dark] .filter-group select,[data-theme=dark] .card-controls select{background:var(--card-bg);color:var(--text)}[data-theme=dark] .log-pick-card{background:#1a2332}[data-theme=dark] .draft-log-bottom-fixed{box-shadow:0 -2px 8px #0006}.theme-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:6px;padding:3px 8px;font-size:1rem;line-height:1}.view-toggle{cursor:pointer;color:#ffffffe6;background:0 0;border:1px solid #ffffff4d;border-radius:6px;padding:3px 8px;font-size:1rem;line-height:1}.keyboard-hint{border-radius:var(--radius);color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;font-size:.82rem;display:flex}.keyboard-hint button{cursor:pointer;color:#1e40af;background:0 0;border:none;padding:0 4px;font-size:1rem}[data-theme=dark] .keyboard-hint{color:#93c5fd;background:#1e3a5f;border-color:#2563eb}[data-theme=dark] .keyboard-hint button{color:#93c5fd}.player-card.focused{outline-offset:-1px;outline:2px solid #3b82f6}[data-theme=dark] .player-card.focused{outline-color:#60a5fa}.player-list.compact{gap:4px}.compact .player-card .card-main{gap:6px;padding:6px 8px}.compact .card-name{font-size:.85rem}.compact .card-stats-line{font-size:.7rem}.compact .pos-badge{padding:0 6px;font-size:.6rem}.compact .card-age{font-size:.7rem}.compact .card-rank{min-width:28px;font-size:.75rem}.compact .rank-controls button{padding:0 3px;font-size:.55rem}.compact .drag-handle{font-size:.9rem}.compact .card-controls{padding:4px 8px 4px 48px}@media (width<=768px){.app-layout{flex-direction:column}.team-roster{width:100%;max-height:none;position:static}}
