.player-list{margin-top:2rem}.featured-player{margin-top:2rem;margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:0}.featured-card-wrap{position:relative;width:100%}.featured-arrows-svg text{font-family:inherit;font-size:11px}.tutorial-hint{display:flex;pointer-events:none;animation:hint-pulse 2s ease-in-out infinite}.hint-rink{justify-content:flex-start;padding-left:1.5rem;margin-top:-.25rem}.hint-team{justify-content:flex-end;padding-right:2rem;margin-top:.25rem}.hint-bubble{background:#1e2035;border:1px solid var(--color-accent);color:#a5b4fc;font-size:.75rem;border-radius:8px;padding:.3rem .65rem;white-space:nowrap}.hint-bubble strong{color:#c7d2fe}@keyframes hint-pulse{0%,to{opacity:.45}50%{opacity:1}}.featured-label{color:var(--color-accent-dim);font-size:.9rem;text-align:center;margin:2rem 0 0}.show-all-link{background:none;border:none;color:var(--color-accent);font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.show-all-link:hover{color:#a5b4fc}.no-matches{background:var(--color-bg-card);padding:3rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000004d;border:1px solid var(--color-border)}.no-matches h3{color:#a0aec0;margin-bottom:.5rem}.no-matches p{color:#718096}.no-matches-hint{color:#a0aec0;font-size:.85rem;margin-top:.5rem}.matches-section{margin-bottom:3rem}.matches-section h2{color:var(--color-text);font-size:1.8rem;margin-bottom:.5rem;text-shadow:none}.player-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border);padding-bottom:0;flex-wrap:wrap}.player-tab{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.5rem 1.25rem .75rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:opacity .15s,border-color .15s;opacity:.45}.player-tab:hover{opacity:.75}.player-tab[data-state=active]{opacity:1}.player-tab[data-state=active].tab-exact{border-bottom-color:var(--color-green)}.player-tab[data-state=active].tab-possible{border-bottom-color:var(--color-yellow)}.player-tab[data-state=active].tab-all{border-bottom-color:var(--color-text-muted)}.tab-icon{width:32px;height:32px}.tab-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:pre-line;text-align:center;line-height:1.2}.player-tab[data-state=active] .tab-label{color:var(--color-text)}.tab-count{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.player-tab[data-state=active] .tab-count{color:var(--color-text)}.player-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;align-items:stretch}.player-card{background:var(--color-bg-card);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0006;transition:box-shadow .2s;min-height:180px;box-sizing:border-box;border:1px solid var(--color-border)}.player-card:hover{box-shadow:0 8px 16px #00000080}.player-card.fuzzy{border-left:4px solid #f59e0b}.possible-match-groups{display:flex;flex-direction:column;gap:1.25rem}.possible-match-group{border:1px dashed #4a4d6a;border-radius:12px;padding:1rem;background:#111326}.possible-match-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#a78bfa;margin-bottom:.75rem}.possible-match-cards{display:flex;flex-direction:column;gap:.75rem}.possible-match-entry{display:flex;flex-direction:column;width:100%}.possible-match-divider{flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#6b7280;padding:.25rem 0;width:100%}@media (max-width: 700px){.possible-match-cards{flex-direction:column}.possible-match-entry{flex-direction:column;width:100%}.possible-match-divider{padding-top:0;padding:.25rem 0;width:100%;font-size:1.2rem}}.player-name{border-bottom:2px solid var(--color-border);padding-bottom:1rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.player-name h3{color:var(--color-text);font-size:1.4rem;margin:0}.similarity-badge{background:#f59e0b;color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.player-teams{display:flex;flex-wrap:wrap;gap:1rem}.rink-teams{flex:0 1 160px;min-width:140px}.rink-teams h4{color:#a0aec0;font-size:.95rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.rink-teams ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.team-badge{padding:.6rem 1rem;border-radius:8px;font-weight:500;font-size:.95rem;text-align:center;transition:transform .2s;text-shadow:0 1px 3px rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;gap:.25rem}.team-badge-name{display:block;text-align:center}.team-stats{display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;opacity:.88;background:rgba(0,0,0,.18);border-radius:4px;padding:.1rem .5rem;white-space:nowrap;text-align:center}.goalie-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);border-radius:3px;padding:.05rem .3rem}.team-badge.rink1,.team-badge.mci{background:linear-gradient(135deg,var(--rink-mci) 0%,#764ba2 100%);color:#fff}.team-badge.rink2,.team-badge.stj{background:linear-gradient(135deg,#f093fb 0%,var(--rink-stj) 100%);color:#fff}.team-badge.gih{background:linear-gradient(135deg,#134e4a 0%,var(--rink-gih) 100%);color:#fff}@media (max-width: 768px){.player-cards{grid-template-columns:1fr}.player-name h3{font-size:1.2rem}.player-teams{grid-template-columns:1fr}.matches-section h2{font-size:1.5rem}}@media (max-width: 500px){.player-card{padding:1rem}.player-name h3{font-size:1.1rem}.team-badge{font-size:.85rem;padding:.5rem .8rem}}.division-badge,.record-badge{display:block;padding:.1rem .45rem;font-size:.7rem;font-weight:700;border-radius:4px;background-color:#0000002e;color:#fff;letter-spacing:.03em;white-space:nowrap;text-align:center}.rink-tags{display:flex;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}.rink-tag{font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);transition:transform .2s}.rink-tag.mci{background:linear-gradient(135deg,var(--rink-mci) 0%,#764ba2 100%)}.rink-tag.stj{background:linear-gradient(135deg,#f093fb 0%,var(--rink-stj) 100%)}.rink-tag.aih{background:linear-gradient(135deg,#144D65 0%,var(--rink-aih) 100%)}.rink-tag.sq{background:linear-gradient(135deg,#1e8449 0%,var(--rink-sq) 100%)}.rink-tag.fhl{background:linear-gradient(135deg,#b8860b 0%,var(--rink-fhl) 100%)}.rink-tag.hna{background:linear-gradient(135deg,#9B1C1C 0%,var(--rink-hna) 100%)}.rink-tag.gih{background:linear-gradient(135deg,#134e4a 0%,var(--rink-gih) 100%)}.rink-tag.pw{background:linear-gradient(135deg,#b8470b 0%,var(--rink-pw) 100%)}.team-badge.aih{background:linear-gradient(135deg,#144D65 0%,var(--rink-aih) 100%);color:#fff}.team-badge.sq{background:linear-gradient(135deg,#1e8449 0%,var(--rink-sq) 100%);color:#fff}.team-badge.fhl{background:linear-gradient(135deg,#b8860b 0%,var(--rink-fhl) 100%);color:#fff}.team-badge.hna{background:linear-gradient(135deg,#9B1C1C 0%,var(--rink-hna) 100%);color:#fff}.team-badge.pw{background:linear-gradient(135deg,#b8470b 0%,var(--rink-pw) 100%);color:#fff}.player-rink-name{font-size:.75rem;font-weight:400;color:#718096}.season-name{display:block;font-size:.68rem;font-weight:400;opacity:.65;letter-spacing:.02em;margin-top:.1rem}.team-roster{display:flex;flex-direction:column;gap:1rem;min-width:0;max-width:100%}.roster-prefilters{display:flex;gap:.5rem}.roster-filter-select{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.82rem;padding:.45rem .6rem;cursor:pointer;transition:border-color .15s}.roster-filter-select:focus{outline:none;border-color:var(--color-accent)}.roster-filter-select option{background:var(--color-bg-card);color:var(--color-text)}.roster-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.roster-checkbox-label input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer}.roster-selector{position:relative}.roster-search-wrap{display:flex;align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:0 .75rem;cursor:text;transition:border-color .15s}.roster-search-wrap:focus-within{border-color:var(--color-accent)}.roster-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:10px;z-index:300;max-height:360px;overflow-y:auto;padding:4px;box-shadow:0 8px 32px #0006}.roster-dropdown-empty{padding:12px 10px;color:var(--color-text-dim);font-size:.85rem;text-align:center}.roster-dropdown-group{margin-bottom:2px}.roster-dropdown-rink{padding:6px 10px 2px}.roster-dropdown-option{display:flex;align-items:center;gap:.5rem;padding:6px 10px 6px 1.5rem;border-radius:6px;cursor:pointer;color:var(--color-text);font-size:.85rem}.roster-dropdown-option:hover{background:var(--color-bg-hover)}.roster-dropdown-team{flex:1}.roster-dropdown-div{font-size:.7rem;color:var(--color-text-dim)}.view-root,.tab-content-wrap{min-width:0}.view-toggle{display:flex;gap:0;margin-bottom:.75rem;box-shadow:inset 0 -2px 0 var(--color-border);position:sticky;top:0;z-index:100;background:var(--color-bg);max-width:100%;overflow-x:auto}.view-toggle-btn{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem 1rem;color:var(--color-text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.view-toggle-btn:hover{color:var(--color-text)}.view-toggle-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.roster-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:10px;max-width:calc(100vw - 2rem)}.roster-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:500px}.roster-table thead{position:sticky;top:0;z-index:2}.roster-table th{background:var(--color-bg-card);padding:.6rem .75rem;text-align:left;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid var(--color-border);white-space:nowrap}.roster-th-name{min-width:140px}.roster-th-rink{min-width:120px}.roster-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:top}.roster-table tbody tr:hover td{background:var(--color-bg-hover)}.roster-td-name{font-weight:600;color:var(--color-text);white-space:nowrap}.roster-td-cell{color:var(--color-text-muted)}.roster-home{background:rgba(129,140,248,.06)}.roster-cell-team{padding:2px 0;line-height:1.4}.roster-cell-name{color:var(--color-text);font-weight:500}.roster-cell-div{display:inline-block;margin-left:.4rem;font-size:.7rem;color:var(--color-text-dim);background:rgba(100,116,139,.15);padding:1px 5px;border-radius:4px}.roster-cell-team.mci{border-left:2px solid var(--rink-mci);padding-left:6px}.roster-cell-team.stj{border-left:2px solid var(--rink-stj);padding-left:6px}.roster-cell-team.aih{border-left:2px solid var(--rink-aih);padding-left:6px}.roster-cell-team.sq{border-left:2px solid var(--rink-sq);padding-left:6px}.roster-cell-team.fhl{border-left:2px solid var(--rink-fhl);padding-left:6px}.roster-cell-team.hna{border-left:2px solid var(--rink-hna);padding-left:6px}.roster-cell-team.gih{border-left:2px solid var(--rink-gih);padding-left:6px}.roster-cell-team.pw{border-left:2px solid var(--rink-pw);padding-left:6px}.roster-cell-empty{color:var(--color-text-dim);opacity:.4}.roster-placeholder,.roster-empty{text-align:center;color:var(--color-text-dim);font-size:.9rem;padding:3rem 1rem}.roster-link{cursor:pointer;color:inherit;text-decoration:none;border-bottom:1px dashed var(--color-text-dim);transition:color .15s,border-color .15s}.roster-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (max-width: 768px){.roster-table{font-size:.75rem}.roster-th-name{min-width:100px}.roster-th-rink{min-width:90px}}.league-summary{display:flex;flex-direction:column;gap:1rem;min-width:0;max-width:100%}.league-th-count{text-align:center;min-width:60px}.league-td-count{text-align:center;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.league-summary-table .roster-th-rink{min-width:100px}.unified-input-wrap,.cmd-search-wrap{display:flex;align-items:center;background:#1a1d2e;border:1px solid #2d3148;border-radius:10px;padding:0 .75rem;flex:1;cursor:text;transition:border-color .15s}.unified-input-wrap.open,.unified-input-wrap:focus-within,.cmd-search-wrap:focus-within{border-color:#818cf8}.unified-icon{font-size:.9rem;margin-right:.5rem;opacity:.6}.unified-input,.cmd-palette-input{background:none;border:none;outline:none;color:#e2e8f0;font-size:.95rem;padding:.65rem 0;flex:1;width:100%}.unified-filter-badge{background:#818cf8;color:#fff;font-size:.65rem;font-weight:700;border-radius:99px;padding:2px 6px;margin-left:.5rem}.unified-section-label{font-size:.6rem;color:#64748b;font-weight:700;letter-spacing:.08em;padding:8px 10px 2px;text-transform:uppercase}.unified-empty{padding:12px 10px;color:#64748b;font-size:.85rem;text-align:center}.unified-team-name{flex:1}.unified-division{font-size:.7rem;color:#64748b}.rink-tag.small{font-size:.6rem!important;padding:2px 5px!important}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:3px 8px 3px 10px;border-radius:99px;font-size:.75rem;font-weight:600}.chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:.65rem;opacity:.7;padding:0 1px;line-height:1}.chip button:hover{opacity:1}.rink-chip{background:rgba(129,140,248,.15);color:#818cf8;border:1px solid rgba(129,140,248,.3)}.team-chip{background:rgba(99,214,164,.1);color:#63d6a4;border:1px solid rgba(99,214,164,.25)}.clear-all{background:rgba(100,116,139,.15);color:#94a3b8;border:1px solid rgba(100,116,139,.25);cursor:pointer}.clear-all:hover{background:rgba(100,116,139,.25)}.unified-filter{position:relative;margin-bottom:1rem}.unified-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1a1d2e;border:1px solid #818cf8;border-radius:10px;z-index:300;max-height:320px;overflow-y:auto;padding:4px;box-shadow:0 8px 32px #0006}.unified-option{display:flex;align-items:center;gap:.5rem;padding:7px 10px;border-radius:6px;cursor:pointer;color:#e2e8f0;font-size:.85rem}.unified-option:hover{background:#2d3148}.cmd-ui{margin-bottom:1rem}.cmd-search-row{display:flex;gap:.5rem;align-items:stretch}.cmd-filter-btn{display:flex;align-items:center;gap:.5rem;background:#1a1d2e;border:1px solid #2d3148;border-radius:10px;color:#94a3b8;font-size:.85rem;padding:0 1.1rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.cmd-filter-btn:hover,.cmd-filter-btn.has-filters{border-color:#818cf8;color:#e2e8f0}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.65);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.cmd-palette{background:#1a1d2e;border:1px solid #818cf8;border-radius:14px;width:min(580px,94vw);box-shadow:0 24px 64px #0009;overflow:hidden}.cmd-palette-search{display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid #2d3148}.cmd-palette-results{max-height:420px;overflow-y:auto;padding:4px}.cmd-result{display:flex;align-items:center;gap:.5rem;padding:8px 10px;border-radius:8px;cursor:pointer;color:#e2e8f0;font-size:.875rem}.cmd-result:hover,.cmd-result.active{background:#2d3148}.cmd-hint{margin-left:auto;font-size:.7rem;color:#64748b}.cmd-palette-footer{border-top:1px solid #2d3148;padding:8px 14px;font-size:.7rem;color:#64748b}.cmd-kbd{display:inline-block;background:#2d3148;border:1px solid #3d4170;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:.65rem;color:#94a3b8}.filterbar-ui{margin-bottom:1rem}.filterbar-rinks{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem;flex-wrap:wrap}.filterbar-label{font-size:.72rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.filterbar-pills{display:flex;gap:.4rem;flex-wrap:wrap}.filterbar-pill{padding:5px 12px;border-radius:99px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid transparent;background:#1a1d2e;color:#94a3b8;transition:all .15s}.filterbar-pill:hover{border-color:#818cf8;color:#e2e8f0}.filterbar-pill.active{background:#2d3148;color:#e2e8f0;border-color:#818cf8}.filterbar-teams-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;position:relative}.filterbar-team-trigger{display:flex;align-items:center;padding:7px 12px;background:#1a1d2e;border:1px solid #2d3148;border-radius:8px;cursor:pointer;color:#94a3b8;font-size:.85rem;transition:border-color .15s;flex:1}.filterbar-team-trigger:hover{border-color:#818cf8;color:#e2e8f0}.filterbar-team-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1a1d2e;border:1px solid #818cf8;border-radius:10px;z-index:200;box-shadow:0 8px 32px #0006}.filterbar-team-search{width:100%;box-sizing:border-box;background:none;border:none;border-bottom:1px solid #2d3148;outline:none;color:#e2e8f0;padding:10px 12px;font-size:.875rem}.filterbar-team-list{max-height:280px;overflow-y:auto;padding:4px}.filterbar-team-option{display:flex;align-items:center;gap:.5rem;padding:7px 10px;border-radius:6px;cursor:pointer;color:#e2e8f0;font-size:.85rem}.filterbar-team-option:hover{background:#2d3148}.sidebar-layout{display:flex;gap:1.25rem;align-items:flex-start}.sidebar-panel{background:#1a1d2e;border:1px solid #2d3148;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;width:220px;min-width:220px;max-height:80vh;position:sticky;top:1rem}.sidebar-content{flex:1;min-width:0}.sidebar-mobile-trigger,.sidebar-backdrop,.sidebar-drawer-close{display:none}@media (max-width: 640px){.sidebar-layout{flex-direction:column}.sidebar-content{width:100%}.sidebar-mobile-trigger{display:flex;align-items:center;gap:.5rem;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);background:#1e2240;border:1px solid #818cf8;border-radius:99px;color:#e2e8f0;font-size:.9rem;padding:10px 22px;cursor:pointer;z-index:98;box-shadow:0 4px 20px #00000080;white-space:nowrap}.sidebar-mobile-badge{background:#818cf8;color:#fff;border-radius:99px;font-size:.65rem;font-weight:700;padding:1px 6px;margin-left:auto}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);z-index:99}.sidebar-panel{position:fixed;top:0;left:0;width:80vw;max-width:300px;height:100dvh;max-height:100dvh;border-radius:0 12px 12px 0;z-index:100;transform:translate(-100%);transition:transform .25s ease;pointer-events:none}.sidebar-panel.sidebar-drawer-open{transform:translate(0);pointer-events:auto}.sidebar-sticky-top{border-radius:0 12px 0 0}.sidebar-drawer-close{display:block;background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:0}.sidebar-drawer-close:hover{color:#e2e8f0}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sidebar-title{font-size:.8rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.sidebar-clear{background:none;border:none;color:#818cf8;font-size:.72rem;cursor:pointer}.sidebar-clear:hover{text-decoration:underline}.sidebar-search-wrap{position:relative;margin-bottom:.5rem;display:flex;align-items:center}.sidebar-search-wrap .sidebar-search{margin-bottom:0;padding-right:1.8rem;padding-left:1.8rem}.sidebar-search-icon{position:absolute;left:8px;font-size:.8rem;opacity:.5;pointer-events:none}.sidebar-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;cursor:pointer;font-size:.7rem;padding:0;line-height:1}.sidebar-search-clear:hover{color:#e2e8f0}.player-search-clear{margin-left:auto;background:none;border:none;color:#64748b;cursor:pointer;font-size:.7rem;padding:0 0 0 .5rem;line-height:1;flex-shrink:0}.player-search-clear:hover{color:#e2e8f0}.sidebar-search{width:100%;box-sizing:border-box;background:#12141f;border:1px solid #2d3148;border-radius:7px;color:#e2e8f0;padding:6px 10px;font-size:.8rem;outline:none;margin-bottom:.5rem}.sidebar-search:focus{border-color:#818cf8}.sidebar-sticky-top{background:#1a1d2e;border-radius:12px 12px 0 0;padding:.75rem .75rem .5rem;flex-shrink:0}.sidebar-scroll-body{flex:1;min-height:0;overflow-y:auto;padding:.5rem .75rem .75rem}.sidebar-match-counts-header{display:flex;flex-direction:column;gap:.2rem;padding:.25rem .6rem;margin:0;background:#12141f;border:1px solid #2d3148;border-radius:6px;font-size:.65rem;font-weight:600}.match-count-item{white-space:nowrap}.match-count-item.exact{color:#4ade80}.match-count-item.possible{color:#fbbf24}.match-count-item.single{color:#94a3b8}.match-count-sep{color:#2d3148}.sidebar-advanced-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#12141f;border:1px solid #2d3148;border-radius:6px;outline:none;color:#64748b;font-size:.7rem;font-weight:600;padding:5px 8px;cursor:pointer;margin-bottom:.5rem;transition:color .15s,border-color .15s}.sidebar-advanced-toggle.open{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;margin-bottom:0}.sidebar-advanced-toggle:hover{color:#e2e8f0;border-color:#4b5578}.sidebar-advanced-panel{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;border:1px solid #2d3148;border-top:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding:.6rem;background:#12141f}.sidebar-mode-row{display:flex;align-items:center;gap:.5rem}.sidebar-mode-label{font-size:.7rem;color:#94a3b8;font-weight:600;width:2.8rem;flex-shrink:0}.seg-control{display:flex;background:#0e1016;border-radius:6px;padding:2px;gap:2px;flex:1}.seg-btn{flex:1;padding:3px 6px;font-size:.68rem;font-weight:600;border:none;outline:none;cursor:pointer;border-radius:4px;background:#1a1d2e;color:#64748b;transition:background .15s,color .15s}.seg-btn.active{background:#2d3148;color:#818cf8}.seg-btn:hover:not(.active){background:#222540;color:#94a3b8}.sidebar-rink-section{margin-bottom:.5rem}.sidebar-rink-header{display:flex;align-items:center;gap:.4rem;padding:4px 2px;cursor:pointer;border-radius:6px}.sidebar-rink-header:hover{background:#2d3148}.sidebar-rink-label{flex:1;display:flex;align-items:center}.sidebar-checkbox-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem}.sidebar-checkbox-row input{accent-color:#818cf8;cursor:pointer}.sidebar-cb{accent-color:#818cf8;cursor:pointer;flex-shrink:0}.sidebar-chevron{font-size:1rem;color:#64748b;line-height:1;display:inline-block;transform:rotate(0);transition:transform .2s ease;flex-shrink:0}.sidebar-chevron.open{transform:rotate(90deg)}.sidebar-team-row{display:flex;align-items:center;gap:.4rem;padding:3px 4px 3px 32px;cursor:pointer;border-radius:5px;font-size:.78rem;color:#94a3b8}.sidebar-team-row:hover{background:#2d3148;color:#e2e8f0}.sidebar-team-row input{accent-color:#818cf8;cursor:pointer}.sidebar-team-name{flex:1}.sidebar-division{font-size:.65rem;color:#64748b}.sidebar-div-section{margin-left:2px}.sidebar-div-header{display:flex;align-items:center;gap:.4rem;padding:4px 4px 4px 10px;cursor:pointer;border-radius:5px;font-size:.72rem;color:#cbd5e1;font-weight:600;letter-spacing:.02em}.sidebar-div-header:hover{background:#2d3148}.sidebar-div-header .sidebar-checkbox-row{display:flex;align-items:center;cursor:pointer}.sidebar-div-header .sidebar-div-name{flex:1;text-align:left}.sidebar-div-header .sidebar-collapse-icon{margin-left:auto}.drilldown-ui{margin-bottom:1rem}.drilldown-prompt{font-size:.8rem;color:#64748b;margin:0 0 .75rem}.drilldown-rink-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem;margin-bottom:.75rem}.drilldown-rink-card{background:#1a1d2e;border:1px solid #2d3148;border-radius:10px;padding:.75rem;cursor:pointer;transition:border-color .15s}.drilldown-rink-card:hover{border-color:#818cf8}.drilldown-rink-card.selected{border-color:#818cf8;background:#1e2240}.drilldown-rink-name{font-size:.875rem;font-weight:600;color:#e2e8f0;margin-bottom:.2rem}.drilldown-rink-meta{font-size:.72rem;color:#64748b;margin-bottom:.6rem}.drilldown-rink-actions{display:flex;gap:.4rem;flex-wrap:wrap}.drilldown-btn-select,.drilldown-btn-teams{flex:1;padding:4px 8px;border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid}.drilldown-btn-select{background:rgba(129,140,248,.1);color:#818cf8;border-color:#818cf84d}.drilldown-btn-select:hover{background:rgba(129,140,248,.2)}.drilldown-btn-teams{background:transparent;color:#94a3b8;border-color:#2d3148}.drilldown-btn-teams:hover{border-color:#818cf8;color:#e2e8f0}.drilldown-back{background:none;border:none;color:#818cf8;font-size:.82rem;cursor:pointer;margin-bottom:.75rem;padding:0}.drilldown-back:hover{text-decoration:underline}.drilldown-teams-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.drilldown-teams-title{font-size:.875rem;font-weight:600;color:#e2e8f0}.drilldown-div-section{margin-bottom:.75rem}.drilldown-team-grid{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 2px}.drilldown-team-card{display:flex;align-items:center;gap:.4rem;padding:5px 12px;background:#1a1d2e;border:1px solid #2d3148;border-radius:8px;font-size:.8rem;color:#94a3b8;cursor:pointer;transition:all .12s}.drilldown-team-card:hover{border-color:#818cf8;color:#e2e8f0}.drilldown-team-card.selected{background:#1e2240;border-color:#818cf8;color:#e2e8f0}.drilldown-check{color:#818cf8;font-size:.75rem}.ui-mode-toggle{display:flex;gap:.4rem;margin-bottom:1.25rem;background:#1a1d2e;border:1px solid #2d3148;border-radius:10px;padding:4px;overflow-x:auto}.ui-mode-btn{flex:1;background:none;border:none;color:#64748b;font-size:.72rem;font-weight:600;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.ui-mode-btn.active{background:#2d3148;color:#e2e8f0}:root{--color-bg-deep: #0f1117;--color-bg-card: #1a1d2e;--color-bg-hover: #2d3148;--color-bg-select: #3d4170;--color-border: #2d3148;--color-accent: #818cf8;--color-accent-dim: #4a5568;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-text-dim: #64748b;--color-green: #4ade80;--color-yellow: #fbbf24;--rink-mci: #667eea;--rink-stj: #f5576c;--rink-aih: #A4CDDE;--rink-sq: #27ae60;--rink-fhl: #ffd700;--rink-hna: #C0392B;--rink-gih: #0d9488;--rink-pw: #e67e22}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-deep);min-height:100vh}.App{min-height:100vh;width:100%;display:flex;flex-direction:column;overflow-x:hidden}.filter-toast{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);background:#2d3148;color:#e2e8f0;border:1px solid #818cf8;border-radius:8px;padding:.5rem 1.1rem;font-size:.82rem;font-weight:600;z-index:9999;pointer-events:none;white-space:nowrap;animation:toast-in .15s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.construction-banner{background:#2d2a1e;border-bottom:1px solid #6b5e2f;color:#f5d97a;font-size:.8rem;text-align:center;padding:.5rem 2.5rem;position:relative}.construction-banner a{color:#f5d97a;text-decoration:underline}.banner-close{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#f5d97a;font-size:.85rem;cursor:pointer;opacity:.7;padding:0 .25rem}.banner-close:hover{opacity:1}.App-header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:2rem;text-align:center}.App-header h1{color:var(--color-text);font-size:2.5rem;margin-bottom:.5rem}.subtitle{color:#718096;font-size:1.1rem}.App-main{flex:1;display:flex;flex-direction:column;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.loading{text-align:center;padding:4rem 2rem;background:var(--color-bg-card);border-radius:12px;box-shadow:0 4px 6px #0006;max-width:400px;margin:auto}.spinner{border:4px solid var(--color-border);border-top:4px solid var(--color-accent);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-status{color:#a0aec0;font-size:1rem;margin-bottom:1.5rem;min-height:1.4em}.rink-status-list{list-style:none;margin:0 auto;padding:0;display:inline-block;text-align:left;min-width:280px}.rink-status-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:8px;font-size:1rem;transition:background .2s}.rink-status-item.pending{color:var(--color-accent-dim)}.rink-status-item.done{color:var(--color-text)}.rink-status-icon.check{color:#48bb78;font-size:1.1rem;width:20px;text-align:center;flex-shrink:0}.rink-spinner{border:3px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:50%;width:18px;height:18px;animation:spin 1s linear infinite;flex-shrink:0}.rink-status-label{flex:1}.rink-status-count{font-size:.85rem;color:#48bb78;font-weight:600}.error{background:#2d1b1b;border:2px solid #c53030;border-radius:12px;padding:2rem;text-align:center}.error h3{color:#fc8181;margin-bottom:1rem}.error p{color:#feb2b2;margin-bottom:1.5rem}.error button{background:var(--color-accent);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.error button:hover{background:#6366f1}.stat-carousel{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.stat-carousel-track{overflow:hidden;width:260px;height:170px;flex-shrink:0;cursor:grab}.stat-carousel-track:active{cursor:grabbing}.stat-carousel-container{display:flex;touch-action:pan-y;height:100%}.stat-carousel-slide{flex:0 0 100%;min-width:0;padding:0 8px;box-sizing:border-box;height:100%}.carousel-dots{width:100%;display:flex;justify-content:center;gap:.5rem;margin-top:.25rem}.carousel-dot{width:14px;height:14px;border-radius:50%;background:var(--color-border);cursor:pointer;transition:background .2s,transform .2s}.carousel-dot.active{transform:scale(1.3)}.carousel-dot.mci{background:var(--rink-mci)}.carousel-dot.stj{background:var(--rink-stj)}.carousel-dot.aih{background:var(--rink-aih)}.carousel-dot.sq{background:linear-gradient(135deg,#1e8449,var(--rink-sq))}.carousel-dot.fhl{background:var(--rink-fhl)}.carousel-dot.hna{background:var(--rink-hna)}.carousel-dot.gih{background:var(--rink-gih)}.carousel-dot.pw{background:var(--rink-pw)}.stat-card{background:var(--color-bg-card);padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000004d;text-align:center;border:1px solid var(--color-border);width:100%}.stat-card h3{font-size:3rem;color:var(--color-accent);margin-bottom:.5rem}.stat-card p{color:#718096;font-size:1rem;font-weight:500}.stat-card.rink-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;height:100%;box-sizing:border-box;overflow:hidden}.stat-card.rink-stat .rink-tag{font-size:.65rem;text-align:center;white-space:normal;max-width:100%}.stat-card.rink-stat.mci h3{color:var(--rink-mci)}.stat-card.rink-stat.stj h3{color:var(--rink-stj)}.stat-card.rink-stat.aih h3{color:var(--rink-aih)}.stat-card.rink-stat.sq h3{color:var(--rink-sq)}.stat-card.rink-stat.fhl h3{color:var(--rink-fhl)}.stat-card.rink-stat.hna h3{color:var(--rink-hna)}.stat-card.rink-stat.gih h3{color:var(--rink-gih)}.stat-card.rink-stat.pw h3{color:var(--rink-pw)}.stat-card.rink-stat.mci p{color:var(--rink-mci);opacity:.85}.stat-card.rink-stat.stj p{color:var(--rink-stj);opacity:.85}.stat-card.rink-stat.aih p{color:var(--rink-aih);opacity:.85}.stat-card.rink-stat.sq p{color:var(--rink-sq);opacity:.85}.stat-card.rink-stat.fhl p{color:var(--rink-fhl);opacity:.85}.stat-card.rink-stat.hna p{color:var(--rink-hna);opacity:.85}.stat-card.rink-stat.gih p{color:var(--rink-gih);opacity:.85}.stat-card.rink-stat.pw p{color:var(--rink-pw);opacity:.85}.search-bar{position:relative;margin-bottom:1rem;scroll-margin-top:1rem}.filter-pills-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.rink-pill{cursor:pointer;border:2px solid transparent;border-radius:4px;opacity:.45;font-size:.65rem;font-weight:700;padding:.15rem .5rem;text-transform:uppercase;letter-spacing:.05em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);transition:opacity .15s,border-color .15s;background:none}.rink-pill.selected{opacity:1;border-color:#fff9}.filter-clear-all{background:none;border:1px solid #4a4d6a;color:var(--color-text-muted);font-size:.75rem;padding:.2rem .6rem;border-radius:4px;cursor:pointer}.team-filter-wrap{position:relative;margin-bottom:2rem}.team-filter-btn{width:100%;padding:.85rem 1.25rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-accent-dim);font-size:1rem;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s}.team-filter-btn.has-value{color:var(--color-text);border-color:var(--color-accent)}.team-filter-btn:focus{outline:none;border-color:var(--color-accent)}.team-filter-arrow{font-size:.7rem;color:var(--color-text-dim)}.team-filter-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:10px;z-index:100;box-shadow:0 8px 24px #00000080;padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.team-filter-search{width:100%;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--color-border);background:#111326;color:var(--color-text);font-size:.9rem;outline:none;box-sizing:border-box}.team-filter-search:focus{border-color:var(--color-accent)}.team-filter-clear{background:none;border:none;color:var(--color-accent);font-size:.8rem;cursor:pointer;padding:.2rem .5rem;text-align:left}.team-checkbox-list{max-height:300px;overflow-y:auto}.team-checkbox-group{margin-bottom:.5rem}.team-checkbox-rink-header{font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.05em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);display:inline-block;margin:.4rem 0 .25rem .25rem}.team-checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;cursor:pointer;border-radius:6px;color:var(--color-text);font-size:.9rem}.team-checkbox-item:hover{background:var(--color-border)}.team-checkbox-item input[type=checkbox]{accent-color:var(--color-accent);width:14px;height:14px;cursor:pointer;flex-shrink:0}.team-checkbox-name{flex:1;min-width:0}.team-checkbox-division{font-size:.7rem;color:var(--color-text-dim);flex-shrink:0}.search-bar input{width:100%;padding:0 3rem 0 8px;height:38px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box}.search-bar input::placeholder{color:var(--color-accent-dim)}.search-bar input:focus{border-color:var(--color-accent)}.search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#718096;font-size:1rem;cursor:pointer;padding:.25rem .5rem;line-height:1}.search-clear:hover{color:var(--color-text);border-color:transparent}@media (max-width: 768px){.App-header h1{font-size:1.8rem}.subtitle{font-size:1rem}.App-main{padding:1rem}.stat-card h3{font-size:2.5rem}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.confirm-modal{background:#1a1d2e;border:1px solid #2d3148;border-radius:12px;padding:1.25rem 1.5rem;min-width:240px;max-width:320px;box-shadow:0 8px 32px #0009}.confirm-label{margin:0 0 1rem;font-size:.9rem;color:#e2e8f0;font-weight:600}.confirm-actions{display:flex;gap:.5rem}.confirm-btn{flex:1;padding:.45rem .75rem;border-radius:7px;font-size:.8rem;font-weight:600;cursor:pointer;border:none}.confirm-yes{background:linear-gradient(135deg,#3730a3 0%,#4f46e5 100%);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);border-radius:8px}.confirm-yes:hover{background:linear-gradient(135deg,#312e81 0%,#4338ca 100%)}.confirm-no{background:transparent;color:#64748b;border:1px solid #2d3148}.confirm-no:hover{color:#94a3b8;border-color:#3d4268}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#0f1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#818cf8;text-decoration:inherit}a:hover{color:#a5b4fc}body{margin:0;display:flex;align-items:flex-start;justify-content:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1e2130;cursor:pointer;transition:border-color .25s;color:#e2e8f0}button:hover{border-color:#818cf8}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
