:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--bg-primary: #0F0F10;--bg-secondary: #151517;--bg-tertiary: #1e2738;--color-graphite: #0F0F10;--color-steel: #1f2a3a;--color-amber: #FFB020;--color-teal: #4FD1FF;--color-champagne: #C9B37E;--color-ice: #C7E7FF;--color-ink: #0B121B;--text-website-title: #E6EDF5;--text-nav: #9AA7B5;--text-primary: #F2F4F8;--text-secondary: #bec3c3;--accent-green: #3fb950;--accent-blue: #5291c8;--color-white: #F2F4F8;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--radius: 6px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{background-color:var(--bg-secondary);padding:var(--space-md) 0;border-bottom:1px solid var(--bg-secondary)}.header-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);max-width:1400px;margin:0 auto var(--space-sm);padding:0 var(--space-lg)}.site-title{font-size:var(--text-3xl);font-weight:var(--font-bold);font-style:italic;letter-spacing:.02em;color:var(--text-website-title);margin:0}.site-title-link{text-decoration:none;color:inherit}.nav-links{display:flex;gap:var(--space-lg)}.nav-link{color:var(--text-nav);text-decoration:none;font-size:var(--text-lg);font-weight:var(--font-semibold);padding:8px 16px;border-radius:var(--radius);transition:all .2s}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.nav-link.active{color:var(--text-nav);background-color:var(--bg-tertiary)}.main{flex:1;padding:var(--space-lg);max-width:1400px;margin:0 auto;width:100%}.footer{background-color:var(--bg-secondary);padding:var(--space-md) 0;text-align:center;color:var(--text-secondary);font-size:var(--text-sm);border-top:1px solid var(--bg-tertiary)}.footer p{max-width:1400px;margin:0 auto;padding:0 var(--space-lg)}.home-page{display:flex;flex-direction:column;gap:calc(var(--space-lg) * 2)}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:calc(var(--space-lg) * 2);padding:calc(var(--space-lg) * 2);align-items:center;background:radial-gradient(circle at top left,rgba(82,145,200,.22),transparent 55%),linear-gradient(135deg,#141922,#0b0f14 70%);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;position:relative;animation:homeFade .6s ease-out}.home-hero:after{content:"";position:absolute;inset:18% 10% auto auto;width:220px;height:220px;background:radial-gradient(circle,rgba(255,176,32,.2),transparent 70%);filter:blur(8px);pointer-events:none}.home-hero-content h2{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:var(--font-bold);margin-bottom:0}.home-hero-meta{display:grid;justify-content:start}.home-meta-card{background:#0f0f10b3;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);min-width:180px;max-width:240px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-meta-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.home-meta-value{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.home-updated{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.home-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-lg);animation:homeRise .7s ease-out}.home-panel{background:linear-gradient(160deg,#151517fa,#0e1218fa);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:calc(var(--space-lg) * 1.5);color:var(--text-primary);text-decoration:none;display:flex;flex-direction:column;gap:var(--space-md);min-height:220px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.home-panel:hover{transform:translateY(-4px);border-color:#5291c880;box-shadow:0 20px 35px #060b138c}.home-panel-header{display:flex;flex-direction:column;gap:var(--space-sm)}.home-panel h3{font-size:var(--text-xl);font-weight:var(--font-semibold)}.home-panel p{color:var(--text-secondary);font-size:var(--text-base)}.home-panel-cta{margin-top:auto;font-weight:var(--font-semibold);color:var(--color-amber)}@keyframes homeFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes homeRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.home-hero:after{inset:auto 0 0 auto;width:160px;height:160px}}@media(max-width:600px){.home-hero{padding:var(--space-lg)}.home-meta-card{padding:var(--space-md)}}.stats-bar{display:flex;justify-content:center;gap:var(--space-lg);color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-md);max-width:1400px;margin:var(--space-md) auto 0;padding:0 var(--space-lg)}.stats-bar span{padding:4px 12px;background-color:var(--bg-tertiary);border-radius:var(--radius)}.filter-container{background-color:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:var(--space-lg);margin-bottom:var(--space-lg)}.filter-container-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.rs__control{background-color:var(--color-graphite)!important;border-color:var(--bg-primary)!important;min-height:42px}.rs__control:hover{border-color:var(--color-amber)!important}.rs__control--is-focused{border-color:var(--color-amber)!important;box-shadow:0 0 0 1px var(--color-amber)!important}.rs__menu{background-color:var(--bg-primary)!important;border:1px solid var(--bg-primary)!important;z-index:10}.rs__menu-list{padding:0!important}.rs__option{color:var(--text-primary)!important;cursor:pointer!important;background-color:transparent!important}.rs__option:hover,.rs__option--is-focused{background-color:var(--bg-tertiary)!important}.rs__option--is-selected{background-color:var(--accent-blue)!important}.rs__multi-value{background-color:var(--bg-secondary)!important;border-radius:4px!important}.rs__multi-value__label{color:var(--text-primary)!important}.rs__multi-value__remove{color:var(--text-secondary)!important}.rs__multi-value__remove:hover{background-color:var(--accent-blue)!important;color:#fff!important}.rs__input-container{color:var(--text-primary)!important}.rs__placeholder{color:var(--text-secondary)!important}.rs__indicator-separator{background-color:var(--bg-tertiary)!important}.rs__dropdown-indicator,.rs__clear-indicator{color:var(--text-secondary)!important}.rs__dropdown-indicator:hover,.rs__clear-indicator:hover{color:var(--text-primary)!important}.column-toggles{background-color:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.column-toggles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.column-toggles-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.column-toggles-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.column-toggle-item{display:flex;align-items:center;padding:6px 12px;background-color:var(--bg-tertiary);border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);transition:all .2s;-webkit-user-select:none;user-select:none}.column-toggle-item:hover{color:var(--text-primary)}.column-toggle-item.active{background-color:var(--color-steel);color:#fff}.column-toggle-item input[type=checkbox]{display:none}.toggle-all-btn{padding:6px 12px;background-color:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.toggle-all-btn:hover{border-color:var(--accent-blue);color:var(--text-primary)}.table-container{background-color:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);overflow:hidden}.loading{padding:var(--space-lg);text-align:center;color:var(--text-secondary)}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.08)}.stats-table th:last-child,.stats-table td:last-child{border-right:none}.stats-table th{background-color:var(--color-steel);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.stats-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.stats-table th.sortable:hover{color:var(--accent-blue)}.stats-table tbody tr:nth-child(odd){background-color:var(--bg-secondary)}.stats-table tbody tr:nth-child(2n){background-color:#1a1a1f}.stats-table tbody tr:hover{background-color:var(--bg-tertiary)}.stats-table td{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.player-name{font-weight:var(--font-medium);color:var(--text-primary)}.stats-table td.sorted-column{color:var(--accent-green);font-weight:var(--font-semibold)}.stats-table th.col-full_name,.stats-table td.col-full_name{text-align:left}.stats-table th.col-rank,.stats-table td.col-rank,.stats-table th.col-season,.stats-table td.col-season,.stats-table th.col-team,.stats-table td.col-team,.stats-table th.col-position,.stats-table td.col-position,.stats-table th.col-jersey_number,.stats-table td.col-jersey_number,.stats-table th.col-shooting_hand,.stats-table td.col-shooting_hand,.stats-table th.col-points,.stats-table td.col-points,.stats-table th.col-goals,.stats-table td.col-goals,.stats-table th.col-assists,.stats-table td.col-assists,.stats-table th.col-shots_on_goal,.stats-table td.col-shots_on_goal,.stats-table th.col-shooting_pct,.stats-table td.col-shooting_pct,.stats-table th.col-blocked_shots,.stats-table td.col-blocked_shots,.stats-table th.col-missed_shots,.stats-table td.col-missed_shots,.stats-table th.col-total_shots,.stats-table td.col-total_shots{text-align:center}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--bg-secondary);border-radius:var(--radius);margin-top:var(--space-lg)}.pagination-btn{padding:10px 20px;background-color:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--radius);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--accent-blue);background-color:var(--accent-blue)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:var(--text-sm);color:var(--text-secondary)}.placeholder{text-align:center;padding:calc(var(--space-lg) * 4);color:var(--text-secondary)}.placeholder h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.placeholder p{font-size:var(--text-lg)}.shot-map-page{max-width:1600px}.shot-map-page .page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-sm);color:var(--text-primary)}.shot-map-page .page-subtitle{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:var(--text-base)}.section-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-right:var(--space-md)}.visualization-toggles{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius);border:1px solid rgba(255,255,255,.08)}.visualization-toggles .toggle-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-tertiary);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s}.visualization-toggles .toggle-item:hover{color:var(--text-primary)}.visualization-toggles .toggle-item.active{background-color:var(--color-steel);color:var(--text-primary)}.visualization-toggles .toggle-item input[type=checkbox]{display:none}.event-toggle-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.event-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s}.event-toggle-btn:hover,.event-toggle-btn.active{color:var(--text-primary);border-color:var(--color-amber)}.event-toggle-btn.inactive{opacity:.5}.toggle-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.shot-map-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg);background-color:var(--bg-secondary);border-radius:var(--radius);border:1px solid rgba(255,255,255,.08)}.shot-map-content{display:grid;grid-template-columns:1fr 450px;gap:var(--space-lg);margin-bottom:var(--space-lg)}.shot-map-rink-container{position:relative;background-color:var(--bg-primary);border-radius:var(--radius);padding:var(--space-md);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.shot-map-rink{width:100%;max-width:500px;height:auto}.shot-map-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-secondary);font-size:var(--text-lg);pointer-events:none}.player-card{background-color:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column}.player-card-header h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.compare-controls{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.compare-hint{font-size:var(--text-sm);color:var(--text-secondary)}.compare-toggle{padding:6px 16px;background-color:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.compare-toggle:hover:not(:disabled){border-color:var(--color-amber);color:var(--text-primary)}.compare-toggle.active{background-color:var(--color-amber);border-color:var(--color-amber);color:var(--bg-primary)}.compare-toggle:disabled{opacity:.4;cursor:not-allowed}.player-card-empty{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-md) 0}.player-card-table-wrapper{overflow-x:auto;margin:0 calc(-1 * var(--space-lg));padding:0 var(--space-lg)}.player-card-table{font-size:var(--text-sm);min-width:700px}.player-card-table th,.player-card-table td{padding:8px 10px;text-align:center;white-space:nowrap}.player-card-table th:first-child,.player-card-table td:first-child{width:30px;padding:8px 6px}.indicator-cell{text-align:center}.indicator-dot{display:inline-block;width:12px;height:12px;border-radius:50%}.event-details-panel{background-color:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:var(--space-lg)}.event-details-panel.placeholder{text-align:center}.event-details-panel.placeholder p{color:var(--text-secondary);font-size:var(--text-sm)}.event-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.event-details-header h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.clear-selection{background:none;border:none;color:var(--text-secondary);font-size:var(--text-xl);cursor:pointer;padding:4px 8px;line-height:1}.clear-selection:hover{color:var(--text-primary)}.event-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.event-details-grid>div{display:flex;flex-direction:column;gap:2px}.event-details-grid .label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.event-details-grid .value{font-size:var(--text-sm);color:var(--text-primary)}.replay-link{display:inline-block;margin-top:var(--space-md);padding:8px 16px;background-color:var(--color-amber);color:var(--bg-primary);text-decoration:none;border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all .2s}.replay-link:hover{background-color:#e69d1c}.stat-goals{color:#c8102e;font-weight:var(--font-semibold)}@media(max-width:1200px){.shot-map-filters{grid-template-columns:repeat(3,1fr)}.shot-map-content{grid-template-columns:1fr}.player-card{order:-1}}@media(max-width:768px){.shot-map-filters{grid-template-columns:1fr}.event-toggle-row{flex-direction:column;align-items:flex-start}.visualization-toggles{flex-wrap:wrap}}
