:root{--bg:#f8f9fa;--card:#ffffff;--accent:#0056b3;--accent-hover:#004494;--muted:#6c757d;--text:#212529;--border:#dee2e6;--header-bg:#343a40;--header-text:#ffffff;--table-head-bg:#e9ecef;--table-hover:#f1f3f5}html,body{height:100%;margin:0;font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";background:var(--bg);color:var(--text);line-height:1.5;font-size:14px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}*{touch-action:manipulation}body{overscroll-behavior-y:contain}.site-header{background:var(--header-bg);color:var(--header-text);padding:0;box-shadow:0 2px 4px rgba(0,0,0,0.1);position:sticky;top:0;z-index:1000}.site-header-inner{max-width:1600px;margin:0 auto;padding:10px 20px;display:flex;flex-direction:column;gap:12px}.site-header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-title{margin:0;display:flex;align-items:center;gap:12px}.site-title a{text-decoration:none;color:#fff;font-weight:700;font-size:1.5rem}.site-year{color:rgba(255,255,255,0.7);font-size:1rem;margin-left:6px}.site-year-form{display:inline-flex;align-items:center;margin-left:4px}.site-year-dash{color:rgba(255,255,255,0.7);margin-right:4px}.site-year-select{font-size:1rem;color:#fff;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.4);border-radius:4px;padding:4px 24px 4px 8px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.site-year-select:hover{background-color:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.6)}.site-year-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb,255,255,255),0.3)}.site-year-select option{background:var(--header-bg);color:#fff}.site-nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.nav-link{color:rgba(255,255,255,0.8);text-decoration:none;font-weight:500;padding:5px 0;border-bottom:2px solid transparent;transition:all 0.2s}.nav-link:hover,.nav-link.active{color:#fff;border-bottom-color:#fff}.nav-separator{color:rgba(255,255,255,0.5);padding:0 6px}.site-nav-teams{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center;max-width:100%;overflow-x:auto;padding:4px 0}.site-nav-teams::-webkit-scrollbar{height:6px}.site-nav-teams::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.25);border-radius:999px}.site-nav-teams::-webkit-scrollbar-track{background:transparent}.nav-link--teamchip{border:1px solid rgba(255,255,255,0.25);border-radius:999px;padding:4px 10px;line-height:1.2;font-size:13px;font-weight:600;white-space:nowrap}.nav-link--teamchip:hover{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.45)}.site-nav__links{display:flex;flex-wrap:wrap;gap:12px}.team-nav{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:12px}.team-nav__title{margin:0 0 8px 0;color:#fff;font-weight:700;letter-spacing:0.02em;display:flex;align-items:center;gap:8px}.team-nav__grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-color:rgba(255,255,255,0.25) transparent}.team-nav__grid::-webkit-scrollbar{height:8px}.team-nav__grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.25);border-radius:999px}.team-nav__grid::-webkit-scrollbar-track{background:transparent}.team-nav__item{background:#1f2937;border:1px solid rgba(255,255,255,0.12);border-left:6px solid var(--team-color,var(--accent));border-radius:8px;padding:6px 10px 10px;min-width:240px;flex:0 0 260px;box-shadow:0 8px 20px rgba(0,0,0,0.15)}.team-nav__name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-card__name{font-size:0.95rem;margin:0;line-height:1.2}.team-card__name-link{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}@media (max-width:480px){.team-card__name{font-size:0.92rem}}.team-nav__name{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;text-decoration:none}.team-nav__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.team-nav__link{display:inline-flex;align-items:center;justify-content:flex-start;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,0.08);color:#e5e7eb;text-decoration:none;font-size:0.85rem;border:1px solid rgba(255,255,255,0.08);transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease}.team-nav__link:hover{background:rgba(255,255,255,0.16);color:#fff;border-color:rgba(255,255,255,0.18)}.site-nav__teams{position:relative}.site-nav__teams-details{color:rgba(255,255,255,0.85);cursor:pointer}.site-nav__teams-details summary{list-style:none;outline:none;font-weight:600;text-decoration:underline}.site-nav__teams-details summary::marker,.site-nav__teams-details summary::-webkit-details-marker{display:none}.site-nav__teams-grid{position:absolute;top:calc(100% + 8px);right:0;background:#1f2937;border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px 16px;box-shadow:0 8px 24px rgba(0,0,0,0.25);z-index:1001}.nav-link--team{display:block;color:rgba(255,255,255,0.9);border-bottom:none;padding:2px 0}.nav-link--team:hover{color:#fff;text-decoration:underline}main.container{max-width:1600px;margin:20px auto;padding:0 20px;min-height:60vh}footer.site-footer{background:#fff;border-top:1px solid var(--border);margin-top:auto;padding:20px 0;font-size:0.9rem}.footer-inner{max-width:1600px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.ref-links{list-style:none;padding:0;margin:0;display:flex;gap:15px}.ref-links a{color:var(--muted);text-decoration:none}.ref-links a:hover{text-decoration:underline;color:var(--accent)}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:20px;box-shadow:0 1px 2px rgba(0,0,0,0.05);display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow 0.2s}.card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.1)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-bottom:1rem;font-size:14px}th,td{padding:8px 12px;border:1px solid var(--border);text-align:left;vertical-align:middle;font-size:inherit}th{background-color:var(--table-head-bg);font-weight:600;color:var(--text);white-space:nowrap}.table-wrapper{overflow-x:auto;max-height:80vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.05);background:white;-webkit-overflow-scrolling:touch}.table-wrapper table{margin-bottom:0;border:none;min-width:100%;border-collapse:collapse}.table-wrapper th{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 var(--border);background:var(--table-head-bg,#f9fafb)}.table-wrapper tr:hover{background:var(--hover-bg,#f5f5f5)}.table-wrapper--no-vertical{max-height:none;overflow-y:visible}@media (max-width:768px){.table-wrapper{position:relative}.table-wrapper table{font-size:0.85rem}.table-wrapper th,.table-wrapper td{padding:6px 4px}.table-wrapper--split{overflow-x:visible;border:none;box-shadow:none;max-height:none}.table-wrapper--split th{position:static;top:auto;z-index:auto;box-shadow:none}.table-split-group{display:grid;grid-template-columns:1fr;gap:10px}.table-split-item{border:1px solid var(--border);border-radius:10px;background:var(--card);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.table-split-item table{width:100%;min-width:0;table-layout:fixed}.table-split-item th,.table-split-item td{white-space:normal;word-break:break-word}}tbody tr:nth-of-type(even){background-color:rgba(0,0,0,0.02)}tbody tr:hover{background-color:var(--table-hover)}td.num,th.num{text-align:right}.league-section{margin-bottom:40px}.league-title{font-size:1.5rem;font-weight:700;color:var(--text);border-bottom:2px solid var(--accent);padding-bottom:10px;margin-bottom:20px}.team-card{border-left:6px solid var(--team-color,var(--accent))}.team-card__name{position:relative;display:flex;align-items:center;gap:12px;margin:0 0 16px 0;padding:10px 16px;font-size:1.2rem;font-weight:700;color:#111;background:#f9fafb;border:1px solid var(--border);border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.45)}.team-card__name-link{color:inherit;text-decoration:none}.team-card__name-link:hover{text-decoration:underline}.team-card__name::before{content:"";width:18px;height:18px;border-radius:999px;background:var(--team-color,var(--accent));box-shadow:0 0 0 2px rgba(255,255,255,0.8)}.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.link{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:4px;background:var(--accent);color:#fff;text-decoration:none;font-size:0.85rem;font-weight:500;transition:background 0.2s}.link:hover{background:var(--accent-hover)}.link.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.link.secondary:hover{background:#f0f7ff}.team-container{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:20px;margin-bottom:20px}.team-header{display:flex;align-items:center;gap:16px;padding:16px 20px;margin-bottom:20px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;border-left:10px solid var(--team-color,var(--accent));box-shadow:0 1px 2px rgba(0,0,0,0.04)}.team-header__badge{width:52px;height:52px;border-radius:50%;background:var(--team-color,var(--accent));box-shadow:0 0 0 4px rgba(255,255,255,0.85)}.team-header__body{display:flex;flex-direction:column;gap:6px}.team-header__nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.team-header__nav-link{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;color:var(--accent);border:1px solid var(--border);font-size:0.9rem;text-decoration:none;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease}.team-header__nav-link:hover{background:#f0f7ff;color:var(--accent-hover);border-color:var(--accent-hover)}.team-nav{display:flex;flex-direction:column;gap:4px;margin-top:8px}.team-nav__group{display:flex;align-items:center;gap:6px}.team-nav__label{flex-shrink:0;min-width:30px;padding:3px 6px;font-size:0.72rem;font-weight:700;color:var(--muted,#6b7280);background:var(--table-head-bg,#f3f4f6);border-radius:6px;text-align:center;line-height:1.4}.team-nav__links{display:flex;flex-wrap:wrap;gap:4px}.team-nav__link{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#fff;color:var(--accent);border:1px solid var(--border);font-size:0.78rem;text-decoration:none;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease}.team-nav__link:hover{background:#f0f7ff;color:var(--accent-hover);border-color:var(--accent-hover)}.team-nav__link--active{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb);pointer-events:none;font-weight:600}.team-nav__link--active:hover{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}.team-header__title{margin:0;font-size:1.6rem;font-weight:700;color:var(--text)}.team-header__links{margin:0;font-size:0.95rem}.team-header__links a{color:var(--accent);text-decoration:none;font-weight:500}.team-header__links a:hover{text-decoration:underline}.major-title{font-size:1.2rem;font-weight:700;background:var(--table-head-bg);padding:10px 15px;border-left:5px solid var(--accent);margin-bottom:15px;display:flex;justify-content:space-between}.category-card{border:1px solid var(--border);border-radius:4px;padding:15px;background:#fff}.player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.player-row{display:flex;align-items:center;padding:12px;border:1px solid var(--border);border-radius:4px;background:#fff;transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.player-row:hover{border-color:var(--accent);box-shadow:0 3px 8px rgba(0,0,0,0.08);transform:translateY(-1px)}.badge-pitch,.badge-catch,.badge-infield,.badge-outfield{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:0.95rem;margin-right:12px;flex-shrink:0}.badge-pitch{background-color:#d9534f}.badge-catch{background-color:#5bc0de}.badge-infield{background-color:#f0ad4e}.badge-outfield{background-color:#5cb85c}.player-left{display:flex;align-items:center;gap:12px}.player-name a{font-size:1.05rem;font-weight:600;color:var(--text);text-decoration:none}.player-name a:hover{color:var(--accent)}.player-number{font-size:0.9rem;color:var(--muted);margin-top:2px}.empty{font-size:0.95rem;color:var(--muted);padding:12px 0}.player-content{background:var(--card);padding:20px;border:1px solid var(--border);border-radius:4px}.player-content h1 small{font-size:0.7em;color:var(--muted);margin-left:8px}.page-header{border-left:4px solid var(--page-accent,var(--accent,#2563eb));padding-left:1rem;margin-bottom:1.5rem}.page-header__title{margin:0 0 0.35rem;font-size:1.5rem;line-height:1.3}.page-header__sub{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;font-size:0.95rem;color:var(--muted,#6c757d);margin-bottom:0.25rem}.page-header__chip{display:inline-flex;align-items:center;gap:0.35rem;padding:0.25rem 0.65rem;border-radius:999px;background:var(--page-accent,var(--accent,#2563eb));color:#fff;font-weight:700;font-size:0.9rem}.page-header__desc{font-size:0.9rem;color:var(--muted,#6c757d);margin:0.5rem 0 0}@media (max-width:768px){.page-header{padding-left:0.75rem}.page-header__title{font-size:1.2rem}.page-header__sub{gap:6px;font-size:0.85rem}.page-header__chip{font-size:0.8rem;padding:0.15rem 0.5rem}}.stats-card{background:white;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.05);margin-bottom:1.5rem}.stats-card__header{background:var(--team-color,var(--accent,#2563eb));color:white;padding:0.75rem 1rem;font-weight:700;font-size:1.05rem}.stats-card__header--central{background:#86efac;color:#166534}.stats-card__header--pacific{background:#7dd3fc;color:#0369a1}.stats-card__header--farm-east{background:#2e5a88;color:#fff}.stats-card__header--farm-central{background:#5a7a3a;color:#fff}.stats-card__header--farm-west{background:#8a4a2a;color:#fff}.stats-card__body{padding:0}.stats-card__btns{padding:0.5rem 1rem;background:#f9fafb;border-bottom:1px solid var(--border,#e5e7eb);display:flex;flex-wrap:wrap;gap:0.5rem}.stats-card__filters{padding:0.75rem 1rem;background:#f9fafb;border-bottom:1px solid var(--border,#e5e7eb)}.stats-card__filters .filter-group{margin:0;border-radius:0;box-shadow:none;padding:0;background:transparent;border-bottom:none}.team-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.75rem}.team-stats-grid__item{text-align:center;padding:0.75rem 0.5rem;border:1px solid var(--border,#e5e7eb);border-radius:6px;background:#f9fafb}.team-stats-grid__label{font-size:0.78rem;color:var(--muted,#6b7280);margin-bottom:0.25rem}.team-stats-grid__value{font-size:1.35rem;font-weight:700;color:var(--text,#111827)}.team-stats-grid__value--accent{color:var(--team-color,var(--accent,#2563eb))}@media (max-width:600px){.team-stats-grid{grid-template-columns:repeat(3,1fr);gap:0.5rem}.team-stats-grid__value{font-size:1.1rem}}.stats-table__cell--max,td.stats-table__cell--max{color:#d0021b;font-weight:700}.stats-table__cell--min,td.stats-table__cell--min{color:#0052cc;font-weight:700}.stats-table__team{white-space:nowrap}.stats-table__team-link{color:inherit;text-decoration:none}.stats-table__team-dot{display:inline-block;width:1em;text-align:center;margin-right:0.25rem;font-weight:700}.stats-table__team-name{color:inherit}.filter-group{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;margin-bottom:1.5rem}.filter-group label{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;color:#333}.filter-group select{padding:0.5rem 2rem 0.5rem 0.75rem;font-size:1rem;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;transition:all 0.2s ease;min-width:150px}.filter-group select:hover{border-color:#007bff}.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,0.1)}@media (max-width:768px){.filter-group{flex-direction:column;gap:0.75rem}.filter-group label{width:100%}.filter-group select{flex:1;min-width:100%}}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background-color:#f8f9fa;border-bottom:1px solid var(--border,#e5e7eb)}.filter-bar label{display:flex;align-items:center;gap:0.5rem;font-size:0.95rem;font-weight:600;color:#333}.filter-bar select{padding:0.4rem 1.8rem 0.4rem 0.6rem;font-size:0.95rem;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;min-width:130px}.filter-bar select:hover{border-color:#007bff}.filter-bar select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}@media (max-width:768px){.filter-bar{flex-direction:column;gap:0.75rem}.filter-bar select{min-width:100%;flex:1}}.result-win{color:red;font-weight:bold}.result-lose{color:blue;font-weight:bold}.type-tabs{display:flex;gap:0.5rem;margin-bottom:1rem}.type-tabs a{display:inline-block;padding:0.5rem 1.2rem;border-radius:6px;font-weight:600;text-decoration:none;font-size:0.95rem;transition:background .15s}.type-tabs a.active{background:var(--accent,#1a73e8);color:#fff;pointer-events:none}.type-tabs a:not(.active){background:#e5e7eb;color:#333}.type-tabs a:not(.active):hover{background:#d1d5db}.milestone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:1.5rem}.milestone-scroll{max-height:480px;overflow-y:auto}.milestone-scroll .card-table thead th{position:sticky;top:0;z-index:2;background:var(--table-head-bg,#f9fafb)}.milestone-remaining{font-weight:700}.milestone-remaining--close{color:#dc2626}.milestone-remaining--near{color:#d97706}.milestone-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:2px}.milestone-bar__fill{height:100%;background:var(--accent,#2563eb);border-radius:3px;transition:width 0.3s}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1.5rem;margin-bottom:1rem}.card-table{width:100%;border-collapse:collapse}.card-table th,.card-table td{padding:0.5rem 0.75rem;text-align:left;border-bottom:1px solid var(--border)}.card-table th{background:var(--table-head-bg,#f9fafb);font-weight:600;font-size:0.9rem;white-space:nowrap}.card-table td{font-size:0.95rem}.card-table td.num{text-align:right;font-variant-numeric:tabular-nums}.card-table tr:last-child td{border-bottom:none}.card-table tr:hover{background:var(--hover-bg,#f5f5f5)}.tables-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:16px}.table-column{background:white;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.table-column table{width:100%;table-layout:fixed;margin:0;border-collapse:collapse}.table-column th{width:42%;background:var(--table-head-bg,#f9fafb);font-weight:600;padding:0.5rem 0.75rem;border-bottom:1px solid var(--border)}.table-column td{width:58%;word-wrap:break-word;overflow-wrap:break-word;padding:0.5rem 0.75rem;border-bottom:1px solid var(--border)}.table-column tr:last-child td,.table-column tr:last-child th{border-bottom:none}.table-column tr:hover{background:var(--hover-bg,#f5f5f5)}@media (max-width:600px){.tables-container{grid-template-columns:1fr}.table-column table{font-size:0.9rem}.table-column th,.table-column td{padding:0.5rem 0.6rem}}.stats-table th{background-color:var(--table-head-bg);position:sticky;top:0}.stats-table thead th{font-size:0.85rem;text-align:center}.vertical-headers thead th{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;vertical-align:bottom;padding:8px 4px;min-width:18px}@media (max-width:768px){.vertical-headers thead th{writing-mode:horizontal-tb;text-orientation:mixed;min-width:auto;padding:8px 10px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.stats-table thead th{font-size:0.85rem;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.2}}.breadcrumbs{font-size:0.9rem;color:var(--muted);margin-bottom:15px}.breadcrumbs a{color:var(--accent);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.stats-table thead th.sortable{cursor:pointer;position:relative;user-select:none}.stats-table thead th.sortable::after{content:"⇅";font-size:0.7rem;opacity:0.6;display:block;margin-top:0.15rem}.stats-table thead th.sort-asc::after{content:"▲";opacity:0.9}.stats-table thead th.sort-desc::after{content:"▼";opacity:0.9}.stats-table.vertical-headers th:first-child,.stats-table.vertical-headers td:first-child{white-space:nowrap;text-align:left}@media (max-width:768px){.table-wrapper .stats-table th:first-child,.table-wrapper .stats-table td:first-child{position:sticky;left:0;z-index:5;background:var(--card,#fff)}.table-wrapper .stats-table thead th:first-child{z-index:15;background:var(--table-head-bg,#e9ecef)}.table-wrapper .stats-table th:first-child::after,.table-wrapper .stats-table td:first-child::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;background:linear-gradient(to right,rgba(0,0,0,0.06),transparent);pointer-events:none}}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto;z-index:31;-webkit-tap-highlight-color:transparent}.hamburger__line{display:block;width:22px;height:2px;background:var(--header-text,#fff);border-radius:2px;transition:transform 0.25s,opacity 0.2s}.hamburger__line + .hamburger__line{margin-top:5px}.hamburger--active .hamburger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--active .hamburger__line:nth-child(2){opacity:0}.hamburger--active .hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.site-header-inner{flex-direction:column;align-items:flex-start}.site-header-top{flex-wrap:nowrap;width:100%}.hamburger{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:44px}.site-nav{display:none;flex-wrap:wrap;width:100%;margin-top:0;padding:6px 0 8px;gap:0;overflow-x:visible;border-top:1px solid rgba(255,255,255,0.10)}.site-nav--open{display:flex}.site-nav>.nav-link,.site-nav>.nav-dropdown{width:50%;box-sizing:border-box}.site-nav>.nav-link,.site-nav>.nav-dropdown>.nav-link--dropdown{padding:10px 10px;font-size:0.85rem;border-bottom:none;width:100%;text-align:left;box-sizing:border-box}.site-nav>.nav-link:hover,.site-nav>.nav-link:active{background:rgba(255,255,255,0.06)}.nav-dropdown{position:relative}.nav-link--dropdown{justify-content:space-between}.nav-dropdown-menu{position:absolute;top:100%;left:0;box-shadow:0 4px 12px rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.10);border-radius:6px;background:var(--header-bg,#343a40);min-width:120px;z-index:50}.nav-dropdown-menu a{padding:10px 14px;font-size:0.85rem}.site-year-select{padding:6px 28px 6px 10px;font-size:1rem}.site-nav__teams{width:100%}.site-nav__teams-grid{position:static;grid-template-columns:repeat(2,minmax(120px,1fr));width:100%;margin-top:10px}.footer-inner{flex-direction:column;align-items:flex-start}}.intro-box{background-color:#f8f9fa;border-left:4px solid var(--accent);padding:16px;margin-bottom:24px;border-radius:4px}.intro-box h2{margin-top:0;margin-bottom:8px;font-size:1.2rem}.intro-box p{margin:0;color:var(--text)}.intro-section{margin-bottom:24px}.intro-section h2{margin:0 0 8px 0;font-size:1.2rem;border-bottom:1px solid var(--border);padding-bottom:5px}.intro-section ul,.intro-section ol{margin:8px 0 0 18px;color:var(--text)}.intro-section dl dt{font-weight:600;margin-top:10px}.intro-section dl dd{margin:0 0 8px 0;margin-left:1em}.year-selector{margin:0 0 15px 0;display:flex;align-items:center;gap:10px}.year-selector select{padding:4px 8px;border-radius:4px;border:1px solid var(--border)}.note{font-size:0.9rem;color:var(--muted);margin-bottom:10px}.text-right{text-align:right}.text-center{text-align:center}.text-small{font-size:0.85rem;color:var(--muted)}.nowrap{white-space:nowrap}.text-muted{color:var(--muted)}.mt-4{margin-top:1.5rem}.overflow-auto{overflow-x:auto}.text-up{color:#c0392b}.text-down{color:#1f6feb}.text-max{color:#c0392b;font-weight:700}.score-link{color:var(--accent);text-decoration:none}.score-link:hover{text-decoration:underline}.player-link{color:var(--accent);text-decoration:none}.player-link:hover{text-decoration:underline}.game-detail__header{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,0.06);text-align:center}.game-detail__category{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:0.9rem;padding:4px 16px;border-radius:20px;margin-bottom:12px}.game-detail__info{font-size:0.95rem;color:var(--muted);margin-bottom:16px}.game-detail__matchup{margin-top:8px}.game-detail__teams{font-size:clamp(1rem,3.5vw,1.5rem);font-weight:700;margin:0 0 8px;color:var(--text)}.game-detail__final-score{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;color:var(--accent);letter-spacing:0.05em}.game-detail__score{display:grid;gap:8px;margin-top:12px}.game-detail__score-row{display:flex;align-items:center;justify-content:space-between;background:var(--table-head-bg);border-radius:6px;padding:6px 10px}.game-detail__team{font-weight:600}.game-detail__score-value{font-size:1.25rem;font-weight:700}.line-score-table th,.line-score-table td{padding:6px 8px}.inning-link{color:var(--accent);text-decoration:none;display:block;padding:2px;border-radius:4px;transition:background 0.15s}.inning-link:hover{background:var(--accent);color:#fff;text-decoration:none}.game-detail__inning-label{display:inline-block;background:var(--accent);color:#fff;font-size:0.85em;font-weight:700;padding:2px 12px;border-radius:16px;margin-left:8px;vertical-align:middle}.game-detail__team-link{color:inherit;text-decoration:none;border-bottom:2px solid transparent;transition:border-color 0.2s}.game-detail__team-link:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}.game-summary{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.game-summary__row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}.game-summary__row + .game-summary__row{margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid var(--border)}.game-summary__item{display:inline-flex;align-items:center;gap:0.35rem}.game-summary__label{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:0.75rem;font-weight:700;color:#fff;background:#ef4444;border-radius:50%;flex-shrink:0}.game-summary__label--lose{background:#3b82f6}.game-summary__label--save{background:#f59e0b}.game-summary__label--hold{background:#8b5cf6}.game-summary__label--hr{background:#10b981}.game-summary__name{font-size:0.9rem;font-weight:600;color:var(--text);text-decoration:none}.game-summary__name:hover{color:var(--accent);text-decoration:underline}.line-score--scoring{background:#fff3cd;font-weight:700}.badge-qs{display:inline-block;background:#10b981;color:#fff;font-size:0.72rem;font-weight:700;padding:1px 6px;border-radius:4px}.batting-highlight{background:#eff6ff}.hr-cell{color:#dc2626;font-weight:700}.inning-pager{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.inning-pager__btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border:1px solid var(--border);border-radius:6px;font-weight:600;font-size:0.9rem;text-decoration:none;color:var(--text);background:var(--card);transition:background 0.15s,color 0.15s;white-space:nowrap}.inning-pager__btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.inning-pager__btn--disabled{opacity:0.35;pointer-events:none;cursor:default}.inning-pager__btn--back{border-style:dashed}.inning-nav{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.inning-nav__item{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border:1px solid var(--border);border-radius:6px;font-weight:600;font-size:0.95rem;text-decoration:none;color:var(--text);background:var(--card);transition:background 0.15s,color 0.15s}.inning-nav__item:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.inning-nav__item--active{background:var(--accent);color:#fff;border-color:var(--accent);cursor:default}.at-bat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}.at-bat-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:var(--table-head-bg);border-bottom:1px solid var(--border)}.at-bat-card__batter{font-weight:700}.at-bat-card__vs{color:var(--muted);font-size:0.85rem}.at-bat-card__pitcher{color:var(--muted)}.at-bat-card__result{margin-left:auto;font-weight:700;font-size:0.95rem}.at-bat-card__result--scored{color:#d63031}.at-bat-card__runs{font-size:0.85rem;margin-left:4px}.at-bat-card__body{display:flex;align-items:flex-start;gap:12px;padding:8px 12px 12px}.at-bat-card__table-side{flex:1 1 0;min-width:0}.at-bat-card__chart-side{flex:0 0 160px}.ab-chart-canvas{width:160px;height:160px;border:2px solid #333;background:#e5e7eb;border-radius:4px}@media (max-width:600px){.at-bat-card__body{flex-direction:column;align-items:stretch}.at-bat-card__chart-side{flex:0 0 auto;display:flex;justify-content:center}}.at-bat-table{table-layout:auto}.at-bat-table th,.at-bat-table td{padding:4px 8px;font-size:0.9rem;white-space:nowrap}.at-bat-table td:last-child,.at-bat-table th:last-child{white-space:normal;word-break:break-all}.at-bat-table__final{background:rgba(37,99,235,0.06);font-weight:600}.inning-highlight{background:rgba(37,99,235,0.10);font-weight:700}.inning-section{border-left:4px solid var(--team-color,var(--accent));background:linear-gradient(90deg,color-mix(in srgb,var(--team-color) 6%,transparent),transparent 40%);border-radius:8px;padding:16px}.inning-section__title{font-size:1.1rem;font-weight:700;margin:0 0 12px;color:var(--team-color,var(--text))}@media (max-width:600px){.at-bat-card__header{flex-direction:column;align-items:flex-start;gap:4px}.at-bat-card__result{margin-left:0}.inning-section{padding:10px}}.notice-card{background:#fff4f4;border:1px solid #f2c7c7;border-radius:10px;padding:12px 14px}.notice-card__title{font-weight:700;margin:0 0 4px;color:#a83232}.notice-card__title,.notice-card__text{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.notice-card__text{margin:0;color:var(--muted)}.section-subtitle{font-size:1rem;font-weight:700;margin:12px 0 8px;color:var(--text)}.total-row{background:#f8fafc;font-weight:700}.small-btn{display:inline-block;padding:6px 12px;margin:2px 4px;font-size:0.875rem;font-weight:500;line-height:1.4;text-decoration:none;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:4px;transition:all 0.2s ease;white-space:nowrap;cursor:pointer}.small-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 4px rgba(0,0,0,0.15)}.small-btn:disabled{background:#e9ecef;border-color:#dee2e6;color:#6c757d;cursor:not-allowed;opacity:0.6}.small-btn:disabled:hover{background:#e9ecef;border-color:#dee2e6;box-shadow:none}@media (max-width:768px){.small-btn{font-size:0.85rem;padding:8px 12px;margin:2px 3px}.card-actions .link{padding:8px 12px;font-size:0.85rem}.card-actions .link.secondary{padding:6px 10px;font-size:0.85rem}}.velocity-charts-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:24px;margin-top:1rem}.velocity-chart-wrapper{background:#fff;border:1px solid var(--border);border-radius:6px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.velocity-chart-title{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:var(--text);padding-bottom:8px;border-bottom:2px solid var(--border)}.velocity-stats{font-size:0.85rem;font-weight:500;color:var(--muted)}@media (max-width:768px){.velocity-charts-container{grid-template-columns:1fr}}.pitch-split{display:flex;gap:16px;align-items:stretch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.pitch-split__chart,.pitch-split__table{flex:0 0 auto;min-width:0}.pitch-split__chart{width:clamp(200px,70vw,340px);display:flex;flex-direction:column;gap:12px}.pitch-split__chart-canvas{position:relative;padding:12px;box-sizing:border-box;border:1px solid var(--border);border-radius:4px;background:#fff;min-height:clamp(180px,60vw,320px);aspect-ratio:1 / 1}.pitch-split__chart-canvas canvas{width:100%!important;height:100%!important}.pitch-split__note{margin:0}.pitch-split__table{width:clamp(280px,90vw,560px);border:1px solid var(--border);border-radius:4px;background:#fff;padding:12px}.pitch-split__table table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:0}.pitch-split__table table col.type{width:90px}.pitch-split__table table col.num{width:72px}.pitch-split__table table col.pct{width:100px}.pitch-split__table th,.pitch-split__table td{padding:6px 8px}#pitchShareTable th,#pitchShareTable td{border-left:none;border-right:none}.pitch-split__subheading{margin:0 0 8px;font-size:1rem}.pitch-split__skills{margin-top:12px;border:1px solid var(--border);border-radius:4px;background:#fff;padding:12px}#pitchSkillTable{margin-bottom:0}#pitchSkillTable col.type{width:90px}#pitchSkillTable col.pct{width:100px}#pitchSkillTable th,#pitchSkillTable td{border-left:none;border-right:none}@media (min-width:960px){.pitch-split{overflow-x:visible;padding-bottom:0}.pitch-split__chart{width:340px;flex:0 0 340px}.pitch-split__table{width:auto;flex:1 1 auto}.pitch-split__chart-canvas{min-height:320px}}.salary-layout{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch;justify-content:flex-start;margin:0 auto 2rem}.salary-layout__chart{flex:2 1 520px;min-width:320px;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:20px}.salary-layout__chart canvas{width:100%!important}.salary-layout__table{flex:1 1 280px;min-width:240px;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:8px}.salary-layout__table-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.salary-table-wrapper{max-height:420px;overflow-y:auto}.salary-table{margin-bottom:0}.salary-table th,.salary-table td{font-size:0.9rem}.salary-table td:first-child{width:68px}.salary-table td:last-child{white-space:normal}@media (max-width:960px){.salary-layout{flex-direction:column}.salary-layout__chart,.salary-layout__table{flex:1 1 100%}.salary-table-wrapper{max-height:none}}.calendar-controls{margin-bottom:2rem}.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--card)}.calendar-table th,.calendar-table td{border:1px solid var(--border)}.calendar-table th{padding:8px;background:var(--table-head-bg);font-weight:bold}.calendar-table th.sun{color:#dc3545;background:#fff5f5}.calendar-table th.sat{color:#007bff;background:#f0f8ff}.calendar-cell{vertical-align:top;padding:0;height:auto!important;min-height:80px;position:relative}.calendar-cell.empty{background:var(--bg)}.calendar-cell .day-number{background:rgba(0,0,0,0.03);padding:2px 6px;font-weight:bold;font-size:0.9rem;text-align:right;border-bottom:1px solid var(--border)}.games-list{padding:4px}.game-item{margin-bottom:4px;padding:4px;background:#fdfdfd;border:1px solid #eee;border-radius:4px;font-size:0.8rem;text-align:center}.game-item:last-child{margin-bottom:0}.team-dot{font-size:1.2em;line-height:1;vertical-align:middle;margin:0 2px}.match-card-line{font-size:0.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);line-height:1.3}.match-card-line a,.match-card-line a:visited,.match-card-line a:hover,.match-card-line a:active{color:inherit!important;text-decoration:none}.match-card-line a:hover{text-decoration:underline}.score-line{font-size:0.85rem}.score-text{color:var(--accent)}.time-text{color:var(--muted);font-size:0.75rem}.schedule-list-mobile{display:none}@media (max-width:768px){.calendar-wrapper{display:none!important}.schedule-list-mobile{display:block}.schedule-list__day{margin-bottom:12px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--card)}.schedule-list__date{padding:6px 12px;font-weight:bold;font-size:0.95rem;background:var(--table-head-bg);border-bottom:1px solid var(--border)}.schedule-list__date--sun{color:#dc3545}.schedule-list__date--sat{color:#007bff}.schedule-list__game{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #f0f0f0;font-size:0.9rem}.schedule-list__game:last-child{border-bottom:none}.schedule-list__matchup{display:flex;align-items:center;flex-wrap:wrap;gap:2px;min-width:0;flex:1}.schedule-list__matchup a,.schedule-list__matchup a:visited,.schedule-list__matchup a:hover,.schedule-list__matchup a:active{color:inherit!important;text-decoration:none}.schedule-list__matchup a:hover{text-decoration:underline}.schedule-list__vs{margin:0 4px;color:var(--muted);flex-shrink:0}.schedule-list__info{flex-shrink:0;margin-left:8px;text-align:right;white-space:nowrap}.schedule-list__category{display:inline-block;font-size:0.7rem;color:var(--muted);margin-right:4px}}.calendar-controls{margin-bottom:24px}.calendar-header-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:15px;width:100%}.calendar-nav-link{white-space:nowrap;font-size:1rem}h1.calendar-title{margin:0!important;padding:0 10px;font-size:1.6rem;line-height:1;white-space:nowrap;display:inline-block}.calendar-team-form{margin:0 0 0 10px!important;display:inline-block}.team-select{padding:4px 8px;border-radius:4px}@media (max-width:600px){.calendar-header-row{gap:8px}h1.calendar-title{font-size:1.2rem}}.standings-container{margin:24px 0;padding:16px;background:var(--card);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.standings-title{margin:0 0 16px 0;font-size:1.2rem;font-weight:600;color:var(--text)}.standings-flex{display:flex;flex-wrap:wrap;gap:24px}.standings-league{flex:1 1 320px;min-width:280px}.standings-league__title{margin:0 0 8px 0;padding:6px 12px;font-size:0.95rem;font-weight:600;color:#fff;border-radius:4px}.standings-league__title--central{background:#1a5d1a}.standings-league__title--pacific{background:#1a3d5c}.standings-league__title--western{background:#6b4e31}.standings-league__title--eastern{background:#4a1a5c}.standings-league__title--farm-east{background:#2e5a88}.standings-league__title--farm-central{background:#5a7a3a}.standings-league__title--farm-west{background:#8a4a2a}.standings-table{width:100%;border-collapse:collapse;font-size:0.9rem}.standings-table thead{background:var(--table-head-bg)}.standings-table th,.standings-table td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:center}.standings-table__rank{width:40px;font-weight:600}.standings-table__team{text-align:left!important;min-width:80px}.standings-table__team a{color:var(--accent);text-decoration:none}.standings-table__team a:hover{text-decoration:underline}.standings-table__num{width:45px}.standings-table tbody tr:hover{background:var(--table-hover)}.standings-table tbody tr:first-child{background:rgba(255,215,0,0.1)}.standings-table tbody tr:first-child:hover{background:rgba(255,215,0,0.15)}@media (max-width:600px){.standings-flex{flex-direction:column}.standings-league{flex:1 1 100%}.standings-table{font-size:0.85rem}.standings-table th,.standings-table td{padding:6px 4px}.standings-table__num{width:35px}}.latest-games-bar{background:var(--header-bg,#343a40);color:var(--header-text,#fff);border-bottom:1px solid rgba(255,255,255,0.08)}.latest-games-bar__inner{display:flex;align-items:center;gap:10px;max-width:1200px;margin:0 auto;padding:6px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.latest-games-label{font-size:0.75rem;font-weight:700;opacity:0.85;flex-shrink:0;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,0.1)}.latest-games-list{display:flex;gap:6px;align-items:center}.latest-game-card{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,0.06);border-radius:6px;padding:4px 10px;font-size:0.8rem}.latest-game-card:hover{background:rgba(255,255,255,0.10)}.lg-team{opacity:0.75;font-size:0.78rem}.lg-team.lg-winner{opacity:1;font-weight:700}.lg-team-link{color:inherit;text-decoration:none}.lg-team-link:hover{text-decoration:underline;color:inherit}.lg-score{display:inline-flex;align-items:center;gap:2px;font-weight:700;font-size:0.85rem;margin:0 2px;text-decoration:none;color:inherit}.lg-score:hover{color:inherit;text-decoration:underline}.lg-score-num{opacity:0.7}.lg-score-num.lg-winner{opacity:1;color:#ffd700}.lg-score-sep{opacity:0.5;font-size:0.75rem}.lg-wp{font-size:0.7rem;opacity:0.7;white-space:nowrap}.team-links-bar{background:var(--header-bg,#1a1a2e);color:var(--header-text,#fff);border-bottom:1px solid rgba(255,255,255,0.10);overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent);mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent)}.team-links-inner{display:flex;align-items:center;gap:4px;max-width:1600px;margin:0 auto;padding:5px 20px;white-space:nowrap}@media (max-width:768px){.latest-games-bar__inner{gap:6px;padding:4px 12px}.latest-game-card{padding:3px 7px;font-size:0.72rem}.lg-score{font-size:0.78rem}.lg-team{font-size:0.7rem}.team-links-bar{overflow-x:visible;-webkit-mask-image:none;mask-image:none}.team-links-inner{flex-wrap:wrap;justify-content:center;white-space:normal;padding:6px 10px;gap:5px}.nav-link--teamchip{padding:5px 12px;font-size:12px}}.leaders-tabs{display:flex;gap:4px;margin-bottom:1.5rem}.leaders-tabs__item{padding:6px 16px;border-radius:6px;text-decoration:none;font-size:0.88rem;font-weight:600;color:var(--muted);background:var(--table-head-bg);transition:background 0.15s,color 0.15s}.leaders-tabs__item:hover{background:var(--border);color:var(--text)}.leaders-tabs__item--active{background:var(--accent);color:#fff}.leaders-tabs__item--active:hover{background:var(--accent-hover);color:#fff}.leaders-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:1.25rem;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:6px}.leaders-filter__label{display:flex;align-items:center;gap:6px;font-size:0.85rem;color:var(--text)}.leaders-filter__select{padding:3px 8px;border:1px solid var(--border);border-radius:4px;font-size:0.85rem;background:var(--bg)}.leaders-section-title{font-size:1.15rem;font-weight:700;margin:1.5rem 0 0.75rem;padding-bottom:0.4rem;border-bottom:2px solid var(--border)}.leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:2rem}.leader-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.leader-card__header{background:var(--header-bg);color:var(--header-text);padding:0.55rem 1rem;font-weight:700;font-size:0.95rem}.leader-list{list-style:none;margin:0;padding:0}.leader-list__item{display:flex;align-items:center;padding:5px 10px;gap:6px;border-bottom:1px solid var(--border);font-size:0.88rem}.leader-list__item:last-child{border-bottom:none}.leader-list__rank{width:22px;text-align:center;font-weight:700;color:var(--muted);font-size:0.85rem;flex-shrink:0}.leader-list__item--top1 .leader-list__rank{color:#d4a017}.leader-list__item--top2 .leader-list__rank{color:#8c8c8c}.leader-list__item--top3 .leader-list__rank{color:#b87333}.leader-list__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);text-decoration:none}.leader-list__name:hover{text-decoration:underline}.leader-list__team{font-size:0.85rem;color:var(--muted);white-space:nowrap;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:7em}.leader-list__dot{font-size:0.7rem;margin-right:2px}.leader-list__value{font-weight:700;font-variant-numeric:tabular-nums;min-width:44px;text-align:right;flex-shrink:0}@media (max-width:600px){.leaders-grid{grid-template-columns:1fr}.leaders-tabs__item{padding:5px 10px;font-size:0.85rem}.leader-list__team{max-width:5em;font-size:0.78rem}.leader-list__item{gap:4px;padding:4px 8px;font-size:0.82rem}}@media (max-width:768px){.hide-mobile{display:none!important}}@media (max-width:768px){.nav-link--teamchip{min-height:36px;display:inline-flex;align-items:center;padding:6px 14px}.card-actions .link,.card-actions .link.secondary{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px;font-size:0.85rem}.small-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.site-footer a,.ref-links a{display:inline-block;min-height:44px;line-height:44px}.filter-group select{min-height:44px}}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:900;width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.25);opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s,transform 0.3s;transform:translateY(12px)}.back-to-top--visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--accent-hover)}@media (max-width:768px){.back-to-top{bottom:16px;right:16px}}.overflow-auto{position:relative}.table-scroll-shadow{position:absolute;top:0;left:0;width:20px;pointer-events:none;z-index:4;opacity:0;transition:opacity 0.15s;will-change:transform}.table-scroll-shadow--l{background:linear-gradient(to right,rgba(0,0,0,0.07),transparent)}.table-scroll-shadow--r{background:linear-gradient(to left,rgba(0,0,0,0.07),transparent)}.d-short{display:none}@media (max-width:768px){.d-full{display:none}.d-short{display:inline}}.table-wrapper{position:relative}.swipe-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,0.7);color:#fff;font-size:0.85rem;padding:8px 16px;border-radius:20px;pointer-events:none;opacity:0;transition:opacity 0.4s;white-space:nowrap}.swipe-hint--show{opacity:1}.swipe-hint__icon{display:inline-block;animation:swipeSlide 1.2s ease-in-out infinite}@keyframes swipeSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}@media (max-width:768px){.player-content{padding:12px}.salary-layout{gap:12px}.salary-layout__chart{padding:12px;min-width:0}.salary-layout__table{padding:10px;min-width:0}.salary-table-wrapper{max-height:280px}.stats-section h2{font-size:1.1rem;margin:0.75rem 0 0.5rem}}@media (max-width:768px){h1{font-size:1.3rem}h2{font-size:1.1rem}h3{font-size:1rem}main.container{padding:0 12px;margin:12px auto}.grid{grid-template-columns:1fr;gap:12px}.card{padding:14px}.player-list{grid-template-columns:repeat(2,1fr);gap:6px}.player-row{padding:8px 6px}.badge-pitch,.badge-catch,.badge-infield,.badge-outfield{width:30px;height:30px;font-size:0.75rem;margin-right:6px}.player-left{gap:6px}.player-name a{font-size:0.85rem}.player-number{font-size:0.72rem}.team-header{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}.team-header__title{font-size:1.2rem}.team-header__nav{gap:6px}.team-header__nav-link{padding:6px 10px;font-size:0.82rem}.team-nav{gap:8px}.team-nav__group{flex-direction:column;gap:4px}.team-nav__label{min-width:auto;align-self:flex-start;font-size:0.72rem;padding:3px 8px}.team-nav__links{gap:5px}.team-nav__link{padding:5px 10px;font-size:0.8rem}.player-meta{gap:6px}.player-chip{font-size:0.82rem;padding:0.2rem 0.5rem}.position-badge{font-size:0.82rem;padding:0.15rem 0.5rem}.tables-container{grid-template-columns:1fr;gap:8px}.stats-grid{grid-template-columns:1fr;gap:12px}.suggest-grid{grid-template-columns:repeat(2,1fr);gap:8px}.filter-group,.leaders-filter{flex-direction:column;align-items:stretch;gap:8px}.filter-group select,.leaders-filter__select{width:100%;min-height:44px;font-size:0.9rem}.leaders-tabs{flex-wrap:wrap;gap:4px}.game-detail__header{padding:14px}.game-detail__teams{font-size:clamp(1rem,3.5vw,1.15rem)}.game-detail__final-score{font-size:clamp(1.4rem,5vw,1.8rem)}.compare-form__slots{flex-direction:column}.compare-form__slot{min-width:0;width:100%}.compare-grid{grid-template-columns:1fr}.calendar-header-row{gap:6px}h1.calendar-title{font-size:1.1rem}.velocity-charts-container{grid-template-columns:1fr;gap:14px}.velocity-chart-wrapper{padding:10px}.pitch-split{flex-direction:column;overflow-x:visible;padding-bottom:0}.pitch-split__chart{width:100%;flex:0 0 auto}.pitch-split__chart-canvas{max-width:300px;margin:0 auto}.pitch-split__table{width:100%;flex:0 0 auto}.pitch-split__table table{table-layout:auto}.intro-box{padding:12px}.top-intro__title{font-size:1.3rem}.standings-flex{flex-direction:column;gap:14px}.standings-league{flex:1 1 100%;min-width:0}.standings-table th,.standings-table td{padding:5px 3px;font-size:0.82rem}.footer-inner{padding:0 12px;gap:12px}.ref-links{flex-direction:column;gap:0}}@media (max-width:480px){h1{font-size:1.15rem}h2{font-size:1rem}main.container{padding:0 8px;margin:8px auto}.table-wrapper table{font-size:0.78rem}.table-wrapper th,.table-wrapper td{padding:4px 3px}.card{padding:10px}.team-card__name{font-size:0.95rem;padding:8px 10px;gap:8px}.card-actions{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:4px;scrollbar-width:thin}.card-actions .link,.card-actions .link.secondary{padding:8px 10px;font-size:0.78rem;white-space:nowrap;flex-shrink:0}.suggest-grid{grid-template-columns:1fr}.player-row{padding:6px 4px}.badge-pitch,.badge-catch,.badge-infield,.badge-outfield{width:26px;height:26px;font-size:0.68rem;margin-right:4px}.player-name a{font-size:0.8rem}.player-number{font-size:0.68rem}.salary-layout__chart{padding:8px}.game-detail__teams{font-size:clamp(0.9rem,3vw,1rem)}.game-detail__final-score{font-size:clamp(1.3rem,4.5vw,1.5rem)}.small-btn{padding:6px 8px;font-size:0.78rem}h1.calendar-title{font-size:1rem}.leaders-grid{gap:10px}.site-title a{font-size:1.1rem}.site-year-select{font-size:0.9rem;padding:4px 22px 4px 6px}.nav-link--teamchip{padding:4px 10px;font-size:11px}.latest-games-bar__inner{padding:3px 8px}.latest-game-card{padding:2px 6px;font-size:0.68rem}}@media (max-width:768px){.stats-card__btns{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0.5rem 0.75rem;gap:0.4rem;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black 92%,transparent);mask-image:linear-gradient(to right,black 92%,transparent)}.stats-card__btns::-webkit-scrollbar{display:none}.stats-card__btns .small-btn{flex-shrink:0;font-size:0.85rem;padding:6px 12px;white-space:nowrap}.nav-links{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black 92%,transparent);mask-image:linear-gradient(to right,black 92%,transparent)}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex-shrink:0;white-space:nowrap}}.highlights{margin:1.5rem 0}.highlights__title{font-size:1.1rem;font-weight:700;margin:0 0 0.75rem;display:flex;align-items:center;gap:12px}.highlights__more{font-size:0.8rem;font-weight:400;color:var(--accent);text-decoration:none;margin-left:auto;white-space:nowrap}.highlights__more:hover{text-decoration:underline}.highlights__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.highlight-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-top:3px solid var(--accent);transition:box-shadow 0.15s}.highlight-card:hover{box-shadow:0 2px 8px rgba(0,0,0,0.08)}.highlight-card--batting{border-top-color:#0d6efd}.highlight-card--pitching{border-top-color:#dc3545}.highlight-card__badge{font-size:0.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em}.highlight-card__value{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--text)}.highlight-card__name{font-size:0.88rem;font-weight:600;color:var(--accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.highlight-card__name:hover{text-decoration:underline}.highlight-card__team{font-size:0.78rem;color:var(--muted);display:flex;align-items:center;gap:3px}.highlight-card__dot{font-size:0.6rem}@media (max-width:600px){.highlights__grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.highlight-card{padding:10px 12px}.highlight-card__value{font-size:1.25rem}}.player-nav{display:flex;gap:0;margin:0.75rem 0 0;border-bottom:2px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.player-nav::-webkit-scrollbar{display:none}.player-nav__tab{padding:0.55rem 1.1rem;border:none;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;margin-bottom:-2px;color:var(--muted);text-decoration:none;font-size:0.9rem;font-weight:500;transition:color 0.15s,border-color 0.15s,background 0.15s;white-space:nowrap}.player-nav__tab:hover{color:var(--team-color,var(--primary));background:color-mix(in srgb,var(--team-color,var(--primary)) 8%,transparent)}.player-nav__tab--active{color:var(--team-color,var(--primary));border-bottom-color:var(--team-color,var(--primary));background:color-mix(in srgb,var(--team-color,var(--primary)) 10%,transparent);font-weight:700}@media (max-width:768px){.player-nav__tab{padding:0.45rem 0.75rem;font-size:0.8rem}}.player-nav-category{display:flex;flex-wrap:wrap;gap:6px;margin:0.5rem 0 1rem}.player-nav-category__link{display:inline-block;padding:6px 14px;border:1px solid var(--team-color,var(--accent));border-radius:4px;font-size:0.875rem;font-weight:600;color:var(--team-color,var(--accent));background:#fff;text-decoration:none;transition:all 0.15s;cursor:pointer}.player-nav-category__link:hover{background:var(--team-color,var(--accent));color:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.12)}.player-nav-category__link--active{background:var(--team-color,var(--accent));color:#fff;border-color:var(--team-color,var(--accent))}.same-day-games{display:flex;flex-wrap:wrap;gap:0.75rem}.same-day-games__card{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:white;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);font-size:0.9rem;transition:box-shadow 0.2s,border-color 0.2s}.same-day-games__card:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,0.08)}.same-day-games__score{font-weight:700;color:var(--primary)}.same-day-games__team{white-space:nowrap}.notable-players{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1rem 0}.notable-players__chip{display:inline-flex;align-items:center;gap:0.35rem;padding:0.3rem 0.7rem;border-radius:999px;font-size:0.85rem;border:1px solid var(--border);background:white}.notable-players__chip--batting{border-color:#3b82f6}.notable-players__chip--pitching{border-color:#ef4444}.notable-players__link{color:var(--text);text-decoration:none;font-weight:600}.notable-players__link:hover{color:var(--primary);text-decoration:underline}.notable-players__badge{font-size:0.75rem;font-weight:700;color:white;padding:0.1rem 0.45rem;border-radius:999px}.notable-players__chip--batting .notable-players__badge{background:#3b82f6}.notable-players__chip--pitching .notable-players__badge{background:#ef4444}.game-adjacent{display:flex;justify-content:space-between;gap:0.75rem;margin:1rem 0}.game-adjacent__link{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:var(--card);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);font-size:0.85rem;transition:border-color 0.2s,box-shadow 0.2s;max-width:48%}.game-adjacent__link:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,0.08)}.game-adjacent__link--next{margin-left:auto;text-align:right}.game-adjacent__link--disabled{visibility:hidden}.game-adjacent__arrow{font-weight:700;font-size:1.1rem;color:var(--accent);flex-shrink:0}.game-adjacent__detail{display:flex;flex-direction:column;gap:0.1rem}.game-adjacent__date{font-size:0.75rem;color:var(--muted)}.game-adjacent__matchup{font-weight:600;white-space:nowrap}@media (max-width:600px){.game-adjacent__link{padding:0.4rem 0.5rem;font-size:0.8rem}.game-adjacent__matchup{font-size:0.75rem}}.team-switcher{margin-bottom:0.75rem}.team-switcher__chips{display:flex;flex-wrap:wrap;gap:0.35rem}.team-switcher__chip{display:inline-block;padding:0.2rem 0.55rem;border-radius:999px;font-size:0.8rem;font-weight:600;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--border);transition:background 0.15s,color 0.15s,border-color 0.15s}.team-switcher__chip:hover{border-color:var(--chip-color,var(--accent));color:var(--chip-color,var(--accent))}.team-switcher__chip--active{background:var(--chip-color,var(--accent));color:#fff;border-color:var(--chip-color,var(--accent))}.team-switcher__chip--active:hover{color:#fff}.footer-nav{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;padding:0.75rem 0;border-bottom:1px solid var(--border);margin-bottom:0.75rem}.footer-nav__group{min-width:120px}.footer-nav__title{font-size:0.8rem;font-weight:700;margin:0 0 0.35rem;color:var(--text)}.footer-nav__list{list-style:none;margin:0;padding:0}.footer-nav__list li{margin-bottom:0.2rem}.footer-nav__list a{color:var(--muted);text-decoration:none;font-size:0.8rem}.footer-nav__list a:hover{color:var(--accent);text-decoration:underline}@media (max-width:600px){.footer-nav{gap:1rem}.footer-nav__group{flex:0 0 calc(50% - 0.5rem);min-width:auto}}.footer-leaders{width:100%;text-align:center;margin-bottom:0.5rem}.footer-leaders__title{font-size:0.85rem;font-weight:700;margin:0 0 0.5rem;color:var(--text)}.footer-leaders__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem}.footer-leaders__item{display:flex;flex-direction:column;align-items:center;padding:0.4rem 0.75rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);font-size:0.8rem;transition:border-color 0.2s,box-shadow 0.2s;min-width:80px}.footer-leaders__item:hover{border-color:var(--primary);box-shadow:0 1px 4px rgba(0,0,0,0.08)}.footer-leaders__label{font-size:0.7rem;color:var(--muted)}.footer-leaders__value{font-weight:700;font-size:1rem;color:var(--primary)}.footer-leaders__name{font-size:0.75rem;white-space:nowrap}.footer-leaders__more{display:inline-block;margin-top:0.5rem;font-size:0.8rem;color:var(--primary);text-decoration:none}.footer-leaders__more:hover{text-decoration:underline}.global-search{position:relative;display:inline-block;margin-left:4px}.global-search__input{width:140px;padding:4px 8px;border:1px solid rgba(255,255,255,0.25);border-radius:4px;background:rgba(255,255,255,0.1);color:var(--header-text);font-size:0.85rem;outline:none;transition:width 0.2s,background 0.2s}.global-search__input::placeholder{color:rgba(255,255,255,0.5)}.global-search__input:focus{width:200px;background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.4)}.global-search__results{position:absolute;top:100%;left:0;right:auto;min-width:240px;max-height:320px;overflow-y:auto;background:var(--card,#fff);color:var(--text,#212529);border:1px solid var(--border,#dee2e6);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,0.15);z-index:50;margin-top:4px}.global-search__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;text-decoration:none;color:var(--text,#212529);border-bottom:1px solid var(--border,#eee);transition:background 0.15s}.global-search__item:last-child{border-bottom:none}.global-search__item:hover,.global-search__item:focus{background:var(--table-head-bg,#f0f0f0)}.global-search__name{font-weight:600;font-size:0.9rem}.global-search__meta{font-size:0.75rem;color:var(--muted,#6c757d);white-space:nowrap}.global-search__empty{padding:12px;text-align:center;color:var(--muted,#6c757d);font-size:0.85rem}@media (max-width:768px){.global-search{width:100%;box-sizing:border-box}.global-search__input{width:100%}.global-search__input:focus{width:100%}.global-search__results{left:0;right:0;min-width:auto}}@media (max-width:768px){input[type="text"],input[type="search"],input[type="number"],select,textarea{font-size:16px}}@supports (padding:env(safe-area-inset-top)){.site-header-inner{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}main.container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.footer-inner{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.back-to-top{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom))}@media (max-width:768px){.site-header-inner{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}main.container{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.footer-inner{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}}@media (max-width:768px){.nav-link:active,.nav-link--teamchip:active{opacity:0.7;transition:opacity 0.05s}.link:active,.link.secondary:active,.small-btn:active{opacity:0.7;transform:scale(0.97);transition:opacity 0.05s,transform 0.05s}.player-nav__tab:active,.player-nav-category__link:active{opacity:0.7;transition:opacity 0.05s}.team-nav__link:active,.team-header__nav-link:active{opacity:0.7;transition:opacity 0.05s}.leader-list__item:active{background:var(--table-hover)}.latest-game-card:active{opacity:0.7}}@media (max-width:768px){.player-nav{scroll-snap-type:x proximity;scroll-padding:0 8px}.player-nav__tab{scroll-snap-align:start}.latest-games-bar__inner{scroll-snap-type:x proximity}.latest-game-card{scroll-snap-align:start}}.league-section,.standings-container{content-visibility:auto;contain-intrinsic-size:auto 400px}@media (max-width:480px){.standings-table .hide-xs{display:none}}.table-wrapper{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (max-width:768px){.player-nav{-webkit-mask-image:linear-gradient(to right,black 85%,transparent);mask-image:linear-gradient(to right,black 85%,transparent)}.player-nav--scrolled-end{-webkit-mask-image:none;mask-image:none}}@media (max-width:480px){.game-detail__header{padding:10px;border-radius:6px}.game-detail__info{font-size:0.85rem}.game-summary__row{gap:0.5rem}.game-summary__name{font-size:0.82rem}.game-summary__label{width:1.4rem;height:1.4rem;font-size:0.65rem}}@media (max-width:480px){.compare-form__slot select{font-size:16px;padding:10px 8px}}@media (max-width:480px){.footer-leaders__grid{gap:0.5rem}.footer-leaders__item{padding:0.3rem 0.5rem;min-width:70px;font-size:0.75rem}.footer-leaders__value{font-size:0.9rem}}@media (max-width:480px){.at-bat-card__body{padding:6px 8px 8px;gap:8px}.at-bat-card__header{padding:6px 10px;font-size:0.85rem}.at-bat-table th,.at-bat-table td{padding:3px 5px;font-size:0.82rem}}@media (max-width:600px){.same-day-games{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:4px}.same-day-games__card{flex-shrink:0;scroll-snap-align:start;font-size:0.82rem;padding:0.4rem 0.75rem}}@media (max-width:480px){.suggest-card{padding:8px;font-size:0.85rem}}@media (max-width:480px){.inning-pager{gap:6px}.inning-pager__btn{padding:6px 10px;font-size:0.82rem}.inning-nav__item{min-width:32px;height:32px;font-size:0.85rem}}@media (max-width:480px){.highlights__grid{grid-template-columns:repeat(2,1fr);gap:6px}.highlight-card{padding:8px 10px;border-top-width:2px}.highlight-card__value{font-size:1.1rem}.highlight-card__badge{font-size:0.65rem}.highlight-card__name{font-size:0.8rem}}.table-show-more{display:block;width:100%;padding:10px 16px;margin-top:4px;background:var(--table-head-bg,#e9ecef);border:1px solid var(--border,#dee2e6);border-radius:4px;color:var(--accent,#0056b3);font-size:0.9rem;cursor:pointer;text-align:center;transition:background 0.15s}.table-show-more:hover{background:var(--border,#dee2e6)}.heatmap-lr-grid canvas{width:100%;height:auto}@media (max-width:600px){.heatmap-lr-grid{grid-template-columns:1fr!important}}