: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-goalie:#8b5cf6;--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);min-width:320px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #60a5fa}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{color:#fff;z-index:100;background:#1e293b;justify-content:space-between;align-items:center;gap:20px;padding:8px 24px;display:flex;position:sticky;top:0}.app-header h1{font-size:1.25rem;font-weight:700}.header-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-brand{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.identity{color:#cbd5e1;overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;font-size:.8rem;display:inline-flex}.role-badge,.state-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:700;line-height:1}.role-badge{color:#e2e8f0;border:1px solid #64748b}.state-badge{color:#166534;background:#dcfce7}.state-archived,.state-inactive,.state-read-only{color:#92400e;background:#fef3c7}.season-control{color:#cbd5e1;align-items:center;gap:6px;font-size:.75rem;display:flex}.season-control select{color:#fff;background:#0f172a;border:1px solid #64748b;border-radius:6px;max-width:190px;min-height:32px;padding:4px 8px}.btn-header{color:#fff;cursor:pointer;background:0 0;border:1px solid #64748b;border-radius:6px;min-height:32px;padding:4px 10px}.btn-header:hover,.btn-help:hover,.theme-toggle:hover,.view-toggle:hover{background:#334155}.btn-help{color:#fff;cursor:pointer;background:#1d4ed8;border:1px solid #93c5fd;border-radius:6px;align-items:center;gap:5px;min-height:32px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.btn-help span{border:1px solid;border-radius:50%;place-items:center;width:17px;height:17px;font-size:.7rem;line-height:1;display:grid}.btn-header:disabled{cursor:not-allowed;opacity:.6}.header-error{color:#fecaca;background:#450a0a;border:1px solid #fca5a5;border-radius:6px;flex-basis:100%;width:100%;padding:6px 9px;font-size:.78rem}.skip-link{z-index:1000;color:#0f172a;background:#fff;border-radius:4px;padding:8px 12px;position:fixed;inset-block-start:8px;inset-inline-start:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.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,.filter-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:1px solid #0000;transition:box-shadow .2s,opacity .2s;overflow:hidden}.player-card:hover,.player-card.dragging{box-shadow:var(--shadow-lg)}.card-main{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}.btn-expand{color:var(--text-muted);cursor:pointer;background:0 0;border:0;min-width:32px;min-height:32px}.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:2px;min-width:74px;display:flex}.rank-controls-label{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:700;line-height:1}.rank-control-buttons{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.rank-controls button{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;min-height:24px;color:var(--text-muted);border-radius:4px;padding:1px 5px;font-size:.67rem;font-weight:650;line-height:1.1;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-goalie{background:var(--pos-goalie)}.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}.btn-notes.has-notes{color:#b45309;background:#fef3c7;border-color:#f59e0b}[data-theme=dark] .btn-notes.has-notes{color:#fbbf24;background:#422006;border-color:#d97706}.note-indicator{cursor:help;font-size:.75rem}.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;color:inherit;text-align:start;background:0 0;border:0;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);cursor:pointer;background:0 0;border:0;min-width:28px;min-height:28px;font-size:.7rem}.roster-median-age{color:var(--text-muted);white-space:nowrap;font-size:.65rem}.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}.app-update-notification{z-index:1100;border-radius:var(--radius);color:#fff;background:#1e293b;border:1px solid #64748b;align-items:center;gap:18px;max-width:min(440px,100vw - 40px);padding:12px 14px;animation:.3s slideIn;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #0f172a3d}.app-update-notification>div{flex-direction:column;min-width:0;display:flex}.app-update-notification strong{font-size:.9rem}.app-update-notification span{color:#cbd5e1;font-size:.78rem}.app-update-notification button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #93c5fd;border-radius:6px;flex-shrink:0;min-height:36px;padding:6px 12px;font-size:.82rem;font-weight:700}.app-update-notification button:hover{background:#1d4ed8}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.app-update-notification{flex-direction:column;align-items:stretch;gap:10px;max-width:none;bottom:12px;left:12px;right:12px}.app-update-notification button{width:100%}}.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:1px 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}.help-dialog{border:1px solid var(--border);background:var(--card-bg);width:min(680px,100% - 32px);max-height:calc(100vh - 48px);color:var(--text);border-radius:12px;margin:auto;overflow:auto;box-shadow:0 24px 70px #0f172a59}.help-dialog::backdrop{background:#0f172ab8}.help-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 24px 18px;display:flex}.help-dialog-header h2{font-size:1.35rem;line-height:1.25}.help-dialog-header p{color:var(--text-muted);margin-top:4px;font-size:.9rem}.help-dialog-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;flex:none}.help-dialog-close:hover{background:var(--bg);color:var(--text)}.help-dialog-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;padding:24px;display:grid}.help-dialog-content h3{margin-bottom:6px;font-size:.95rem}.help-dialog-content p{color:var(--text-muted);font-size:.86rem;line-height:1.55}.help-rank-example{color:var(--text-muted);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:3px;margin-top:12px;font-size:.65rem;font-weight:700;display:flex}.help-rank-example span:not(.help-rank-number){border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:3px 6px}.help-rank-example span:nth-child(2){letter-spacing:.06em;background:0 0;border:0;padding-inline:2px}.help-rank-number{color:var(--text);margin-right:3px;font-size:.8rem}.help-dialog-footer{border-top:1px solid var(--border);background:var(--bg);color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;font-size:.78rem;display:flex}.help-dialog-footer kbd{border:1px solid var(--border);background:var(--card-bg);min-width:22px;color:var(--text);text-align:center;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:inherit;display:inline-block}.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{min-height:20px;padding:0 3px;font-size:.55rem}.compact .rank-controls{min-width:66px}.compact .rank-controls-label{font-size:.52rem}.compact .drag-handle{font-size:.9rem}.compact .card-controls{padding:4px 8px 4px 48px}@media (width<=768px){.app-header{flex-direction:column;align-items:flex-start;padding:10px 12px;position:static}.header-controls{width:100%}.season-control{flex:1}.season-control select{width:100%;max-width:none}.help-dialog-content{grid-template-columns:1fr;gap:20px}.help-dialog-header,.help-dialog-content{padding-inline:18px}.help-dialog-footer{flex-direction:column;align-items:stretch;padding-inline:18px}.app-layout{flex-direction:column;padding:10px}.team-roster{width:100%;max-height:none;position:static}}.auth-page,.bootstrap-state{background:linear-gradient(#0f172ae0,#0f172af0),repeating-linear-gradient(90deg,#0000 0 79px,#ffffff08 80px);place-items:center;min-height:100vh;padding:24px;display:grid}.bootstrap-state{color:#e2e8f0;font-weight:600}.auth-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;width:min(100%,430px);padding:28px;box-shadow:0 18px 45px #00000040}.auth-brand{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.brand-mark{font-size:2rem;line-height:1}.auth-brand h1{margin-bottom:5px;font-size:1.35rem;line-height:1.2}.auth-brand p{color:var(--text-muted);font-size:.9rem}.role-choice{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid;overflow:hidden}.role-choice button{background:var(--card-bg);min-height:42px;color:var(--text);cursor:pointer;border:0}.role-choice button+button{border-inline-start:1px solid var(--border)}.role-choice button:hover{background:#f1f5f9}.role-choice button.active{background:var(--text);color:var(--card-bg);font-weight:700}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text);flex-direction:column;gap:5px;font-size:.82rem;font-weight:650;display:flex}.auth-form input,.auth-form select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);width:100%;min-height:44px;color:var(--text);padding:8px 10px;font-size:1rem}.form-hint{color:var(--text-muted);font-size:.78rem}.form-error{border-radius:var(--radius);color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;padding:9px 10px;font-size:.82rem}.btn-primary,.btn-secondary{border-radius:var(--radius);cursor:pointer;min-height:42px;padding:7px 14px;font-weight:650}.btn-primary{color:#fff;background:#2563eb;border:1px solid #1d4ed8}.btn-primary:hover{background:#1d4ed8}.btn-secondary{border:1px solid var(--border);background:var(--card-bg);color:var(--text)}.btn-secondary:hover{background:#f1f5f9}.btn-primary:disabled,.btn-secondary:disabled,.auth-form input:disabled,.auth-form select:disabled{cursor:not-allowed;opacity:.58}.auth-mode-link{color:#2563eb;cursor:pointer;background:0 0;border:0;width:100%;margin-top:18px;padding:4px;font-size:.82rem}.auth-followup-error{margin-top:10px}.recovery-actions{gap:10px;margin-top:18px;display:flex}.recovery-actions>*{flex:1}.context-banner{border-radius:var(--radius);color:#1e3a8a;background:#eff6ff;border:1px solid #93c5fd;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;display:flex}.context-banner>div{flex-direction:column;display:flex}.context-banner span{font-size:.8rem}.context-banner.read-only{color:#78350f;background:#fffbeb;border-color:#fcd34d}.context-status{text-align:end;font-weight:700}.drafting-status{color:#166534}.loading-skeleton{color:var(--text-muted);padding:24px 0}.loading-skeleton p{margin-bottom:12px}.loading-skeleton span{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(100deg, var(--card-bg) 25%, var(--bg) 45%, var(--card-bg) 65%);background-size:200% 100%;height:74px;margin-bottom:8px;animation:1.4s ease-in-out infinite skeleton;display:block}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-message{flex-direction:column;align-items:center;gap:8px;display:flex}.error-state{border-radius:var(--radius);color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.inline-error{border-radius:var(--radius);color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;margin-bottom:8px;padding:9px 12px;font-size:.82rem}.state-page{max-width:900px;margin:0 auto;padding:40px 24px}.state-page h2{margin-bottom:8px;font-size:1.4rem}.state-page p{color:var(--text-muted)}[data-theme=dark] .role-choice button:hover,[data-theme=dark] .btn-secondary:hover{background:#334155}[data-theme=dark] .form-error,[data-theme=dark] .error-state,[data-theme=dark] .inline-error{color:#fecaca;background:#450a0a;border-color:#991b1b}[data-theme=dark] .context-banner{color:#bfdbfe;background:#172554;border-color:#1d4ed8}[data-theme=dark] .context-banner.read-only{color:#fde68a;background:#422006;border-color:#a16207}[data-theme=dark] .drafting-status{color:#bbf7d0}@media (width<=600px){.auth-page{padding:12px}.auth-panel{padding:22px 18px}.context-banner{flex-direction:column;align-items:flex-start}.context-status{text-align:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card-select{align-items:center;padding:0 2px;display:flex}.card-select input[type=checkbox]{cursor:pointer;accent-color:#6366f1;width:16px;height:16px}.player-card.selected-for-pair{outline-offset:-1px;outline:2px solid #6366f1}.pair-badge{color:#5b21b6;white-space:nowrap;background:#ede9fe;border:1px solid #c4b5fd;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:.7rem;font-weight:500;display:inline-flex}.btn-unpair{cursor:pointer;color:#7c3aed;background:0 0;border:none;padding:0 2px;font-size:.65rem;line-height:1}.btn-unpair:hover{color:#dc2626}.pair-badge.pair-split{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.pair-split-warn{font-size:.7rem}[data-theme=dark] .pair-badge{color:#c4b5fd;background:#2e1065;border-color:#6d28d9}[data-theme=dark] .pair-badge.pair-split{color:#fca5a5;background:#450a0a;border-color:#dc2626}[data-theme=dark] .btn-unpair{color:#a78bfa}.pair-action-bar{border-radius:var(--radius);color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;font-size:.85rem;display:flex}.btn-pair{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:4px;padding:4px 12px;font-size:.8rem}.btn-pair:disabled{opacity:.5;cursor:default}.btn-pair-cancel{cursor:pointer;color:#5b21b6;background:0 0;border:1px solid #c4b5fd;border-radius:4px;padding:4px 10px;font-size:.78rem}[data-theme=dark] .pair-action-bar{color:#c4b5fd;background:#2e1065;border-color:#6d28d9}[data-theme=dark] .btn-pair-cancel{color:#c4b5fd;border-color:#6d28d9}.compact .pair-badge{padding:0 4px;font-size:.6rem}.admin-shell{background:var(--bg);min-height:100vh}.admin-header{color:#fff;background:#1e293b;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:10px 24px;display:flex}.admin-header h1{font-size:1.08rem;line-height:1.2}.admin-header p{color:#cbd5e1;font-size:.78rem}.admin-frame{grid-template-columns:220px minmax(0,1fr);width:min(100%,1440px);min-height:calc(100vh - 68px);margin:0 auto;display:grid}.admin-nav{border-inline-end:1px solid var(--border);background:var(--card-bg);flex-direction:column;gap:4px;padding:24px 14px;display:flex}.admin-nav button{width:100%;min-height:42px;color:var(--text-muted);cursor:pointer;text-align:start;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-weight:600}.admin-nav button:hover{color:var(--text);background:#f1f5f9}.admin-nav button.active{color:#3730a3;background:#e0e7ff}.admin-content{min-width:0;padding:32px clamp(18px,4vw,48px) 64px}.admin-page-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:58px;margin-bottom:24px;display:flex}.admin-page-heading h2{font-size:1.55rem;line-height:1.25}.admin-page-heading p,.section-heading p,.admin-list-row p{color:var(--text-muted)}.admin-page-heading p{max-width:70ch;margin-top:4px}.admin-announcer{color:#166534;min-height:0;font-size:.84rem;font-weight:650}.admin-announcer:not(:empty){border-radius:var(--radius);background:#f0fdf4;border:1px solid #86efac;min-height:38px;margin-bottom:18px;padding:8px 11px}.admin-stack{flex-direction:column;gap:28px;display:flex}.admin-section{border-block-start:1px solid var(--border);min-width:0;padding-block-start:22px}.section-heading{max-width:72ch;margin-bottom:18px}.section-heading h3{margin-bottom:4px;font-size:1.08rem}.section-heading p{font-size:.86rem}.split-heading{justify-content:space-between;align-items:flex-start;gap:20px;max-width:none;display:flex}.split-heading>label{min-width:220px}.admin-form{flex-direction:column;gap:16px;max-width:720px;display:flex}.admin-form-row{grid-template-columns:repeat(2,minmax(180px,1fr)) auto;align-items:end;max-width:none;display:grid}.admin-form label,.split-heading label{flex-direction:column;gap:5px;min-width:0;font-size:.78rem;font-weight:650;display:flex}.admin-form input:not([type=checkbox]),.admin-form select,.split-heading select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);width:100%;min-height:42px;color:var(--text);padding:7px 10px;font-size:1rem}.admin-form fieldset{border:0}.admin-form legend{margin-bottom:7px;font-size:.78rem;font-weight:650}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-row{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;min-height:42px;padding:8px 10px;gap:8px!important;display:grid!important}.check-row span{overflow-wrap:anywhere}.check-row small{color:var(--text-muted);font-weight:500}.form-actions{justify-content:flex-start;display:flex}.btn-compact{min-height:34px;padding-block:4px}.btn-danger{border-radius:var(--radius);color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #b91c1c;min-height:42px;padding:7px 14px;font-weight:650}.btn-danger:hover{background:#fef2f2}.btn-danger:disabled,.admin-form input:disabled,.admin-form select:disabled{cursor:not-allowed;opacity:.58}.admin-list{border-block:1px solid var(--border)}.admin-list-row{justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:15px 0;display:flex}.admin-list-row+.admin-list-row{border-block-start:1px solid var(--border)}.list-row-main{min-width:0}.list-title-line{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.list-title-line h4{overflow-wrap:anywhere}.admin-list-row p{margin-top:3px;font-size:.8rem}.row-actions{flex-shrink:0;gap:8px;display:flex}.admin-status{border:1px solid var(--border);color:#475569;background:#f8fafc;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.status-active-and-editable,.status-active,.status-claimed,.status-drafting,.status-age-access{color:#166534;background:#f0fdf4;border-color:#86efac}.status-archived,.status-inactive,.status-claimable,.status-read-only{color:#92400e;background:#fffbeb;border-color:#fcd34d}.admin-empty,.admin-error,.admin-skeleton{border-radius:var(--radius);min-height:160px;color:var(--text-muted);text-align:center;border:1px dashed #94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px;display:flex}.admin-empty strong,.admin-error strong{color:var(--text)}.admin-empty-inline,.file-summary{color:var(--text-muted);font-size:.82rem}.admin-error{color:#991b1b;background:#fef2f2;border-style:solid;border-color:#fca5a5;min-height:auto;margin-bottom:20px}.admin-warning{border-radius:var(--radius);color:#78350f;background:#fffbeb;border:1px solid #fcd34d;margin-top:14px;padding:10px 12px;font-size:.82rem}.admin-skeleton{text-align:start;align-items:stretch}.admin-skeleton span{border-radius:var(--radius);background:#e2e8f0;height:56px}.preview-counts{border-block:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;display:grid}.preview-counts div{padding:14px 10px}.preview-counts div+div{border-inline-start:1px solid var(--border)}.preview-counts dt{color:var(--text-muted);font-size:.72rem}.preview-counts dd{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:750}.preview-groups{flex-direction:column;gap:8px;display:flex}.preview-groups details{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg)}.preview-groups summary{cursor:pointer;padding:10px 12px;font-weight:650}.preview-groups details>p{color:var(--text-muted);padding:0 12px 12px}.preview-groups ul{border-block-start:1px solid var(--border);max-height:300px;list-style:none;overflow:auto}.preview-groups li{justify-content:space-between;gap:18px;padding:8px 12px;display:flex}.preview-groups li+li{border-block-start:1px solid var(--border)}.preview-groups small{color:var(--text-muted);flex-shrink:0}.confirmation-strip{border-radius:var(--radius);color:#78350f;background:#fffbeb;border:1px solid #fcd34d;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:12px;display:flex}.confirmation-strip p{max-width:70ch;font-size:.82rem}.inspection-table-wrap{width:100%;overflow-x:auto}.inspection-table{border-collapse:collapse;width:100%;font-size:.84rem}.inspection-table th,.inspection-table td{border-block-end:1px solid var(--border);text-align:start;vertical-align:top;padding:10px 12px}.inspection-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.inspection-table tbody th{font-weight:650}.inspection-table td:first-child{font-variant-numeric:tabular-nums;width:72px}.inspection-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-width:54ch}.player-management-controls{margin-bottom:24px}.player-management-table th:first-child{min-width:190px}.player-management-table td:nth-child(2){min-width:240px}.player-management-table td:last-child{min-width:330px}.player-management-meta{color:var(--text-muted);margin-top:3px;font-size:.72rem;font-weight:500;display:block}.admin-inline-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);width:100%;min-height:36px;color:var(--text);padding:5px 8px}.player-pair-controls{grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:7px;display:grid}.player-assignment-controls{grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:7px;display:grid}.player-assignment-controls .btn-compact,.player-pair-controls .btn-compact{min-height:36px}.admin-inline-select:disabled{cursor:not-allowed;opacity:.58}[data-theme=dark] .admin-nav button:hover{background:#334155}[data-theme=dark] .admin-nav button.active{color:#e0e7ff;background:#312e81}[data-theme=dark] .admin-announcer:not(:empty),[data-theme=dark] .status-active-and-editable,[data-theme=dark] .status-active,[data-theme=dark] .status-claimed,[data-theme=dark] .status-drafting,[data-theme=dark] .status-age-access{color:#bbf7d0;background:#052e16;border-color:#166534}[data-theme=dark] .admin-error{color:#fecaca;background:#450a0a;border-color:#991b1b}[data-theme=dark] .admin-warning,[data-theme=dark] .confirmation-strip,[data-theme=dark] .status-archived,[data-theme=dark] .status-inactive,[data-theme=dark] .status-claimable,[data-theme=dark] .status-read-only{color:#fde68a;background:#422006;border-color:#a16207}[data-theme=dark] .btn-danger{background:var(--card-bg);color:#fca5a5;border-color:#f87171}[data-theme=dark] .btn-danger:hover{background:#450a0a}[data-theme=dark] .admin-skeleton span{background:#334155}@media (width<=800px){.admin-header{padding-inline:14px}.admin-frame{grid-template-columns:1fr}.admin-nav{z-index:20;border-inline-end:0;border-block-end:1px solid var(--border);flex-direction:row;padding:8px 10px;position:sticky;inset-block-start:0;overflow-x:auto}.admin-nav button{white-space:nowrap;flex:none;width:auto}.admin-content{padding-block-start:24px}.admin-form-row{grid-template-columns:1fr 1fr}.admin-form-row .btn-primary{grid-column:1/-1}}@media (width<=600px){.admin-header{flex-wrap:wrap;align-items:flex-start}.admin-header .header-controls{width:auto}.admin-page-heading,.split-heading,.admin-list-row,.confirmation-strip{flex-direction:column;align-items:stretch}.admin-page-heading .btn-secondary{align-self:flex-start}.admin-form-row,.choice-grid,.preview-counts{grid-template-columns:1fr}.preview-counts div+div{border-inline-start:0;border-block-start:1px solid var(--border)}.row-actions{grid-template-columns:1fr 1fr;display:grid}.preview-groups li{flex-direction:column;gap:2px}.inspection-table,.inspection-table tbody,.inspection-table tr,.inspection-table th,.inspection-table td{display:block}.inspection-table thead{display:none}.inspection-table tr{border-block-end:1px solid var(--border);padding:10px 0}.inspection-table th,.inspection-table td{border:0;padding:3px 0;width:100%!important}.inspection-table th:before,.inspection-table td:before{content:attr(data-label) ": ";color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:650}.player-management-table td:last-child{min-width:0}.player-pair-controls{grid-template-columns:1fr 1fr;margin-top:4px}.player-pair-controls .admin-inline-select{grid-column:1/-1}.player-assignment-controls{margin-top:4px}}
