html{scrollbar-gutter:stable}:root{--bg-color:#f6f8fa;--card-bg:#ffffff;--card-border:#d0d7de;--text-primary:#24292f;--text-secondary:#57606a;--accent-color:#0969da;--accent-glow:rgba(9, 105, 218, 0.2);--thrill-color:#cf222e;--offense-color:#1a7f37;--defense-color:#9a6700}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.4;-webkit-font-smoothing:antialiased;padding-bottom:60px;margin:0;transition:background-color .3s ease,color .3s ease}.container{width:100%;margin:0 auto}.header-inner{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}header{width:100%;margin-bottom:1.5rem;padding:1rem 0;border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:1000;background-color:var(--bg-color);box-shadow:0 4px 12px rgba(0,0,0,.05)}.title-link{text-decoration:none;display:inline-block}.header-left h1{font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;margin-bottom:.2rem;letter-spacing:-.5px;color:var(--text-primary);display:inline-flex;align-items:center;gap:8px}.gradient-text{background:linear-gradient(135deg,#0969da 0,#8a2be2 50%,#cf222e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 12px rgba(9,105,218,.15);transition:transform .2s ease,filter .2s ease}.title-link:hover .gradient-text{transform:scale(1.02) translateY(-1px);filter:brightness(1.1);text-shadow:0 6px 16px rgba(9,105,218,.25)}.title-emoji{display:inline-block;transition:transform .3s ease}.title-link:hover .title-emoji{transform:rotate(20deg) scale(1.1)}.subtitle{font-size:.9rem;color:var(--text-secondary)}.header-controls{display:flex;align-items:center;gap:1.5rem}.date-picker-container{display:flex;align-items:center;gap:.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:99px;padding:4px 8px;box-shadow:0 2px 6px rgba(0,0,0,.04)}.nav-btn{background:0 0;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.nav-btn:hover{background:rgba(0,0,0,.05);color:var(--text-primary)}.date-selector-group{display:flex;gap:.5rem;align-items:center}.date-select{background:rgba(0,0,0,.05);border:none;color:var(--text-primary);padding:.4rem .6rem;border-radius:8px;font-size:.95rem;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;appearance:none;-webkit-appearance:none;text-align:center;transition:all .2s ease}.date-select:hover{background:rgba(0,0,0,.1);transform:translateY(-1px)}.date-select:focus{outline:0;box-shadow:0 0 0 2px var(--accent-color,#0969da)}.action-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--card-border);padding:8px 16px;border-radius:99px;cursor:pointer;transition:all .2s cubic-bezier(.4, 0, .2, 1);font-family:Outfit,sans-serif;font-weight:600;font-size:.9rem;color:var(--text-primary);box-shadow:0 2px 4px rgba(0,0,0,.04)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:var(--accent-color)}.action-btn.active{background:var(--bg-color);border-color:var(--accent-color);box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.btn-icon{font-size:1.1rem;line-height:1}.pagination{display:none}#game-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.8rem;padding:0 1.5rem 1rem 1.5rem;min-height:400px;max-width:1600px;margin:0 auto}.game-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:1rem;transition:all .2s ease;animation:fadeInUp .3s ease-out forwards;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:220px}.game-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.series-description{font-size:.75rem;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-grow:1}.team-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:45%;position:relative;transition:transform .2s}.team-sprite{width:64px;height:64px;transition:all .2s cubic-bezier(.4, 0, .2, 1)}.team-name{font-family:Outfit,sans-serif;font-weight:700;font-size:1.1rem;text-align:center;line-height:1.1;height:2.6rem;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.matchup-separator{font-family:Outfit,sans-serif;font-size:2.5rem;font-weight:300;color:var(--text-primary);margin:0;line-height:1;opacity:.6}.logo-wrapper{position:relative;width:64px;height:64px;display:flex;justify-content:center;align-items:center}.team-score{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.19, 1, .22, 1);z-index:20;white-space:nowrap}body.show-scores .team-sprite{opacity:.3;filter:blur(4px);transform:scale(.9)}body.show-scores .team-score{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.game-meta{text-align:center;margin-top:auto;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:.3rem}.series-description{font-size:.75rem;font-weight:700;color:var(--accent-color);letter-spacing:.05em;margin:0}.game-info-text{font-size:.8rem;color:var(--text-primary);font-weight:500}.game-venue{font-size:.75rem;color:var(--text-secondary)}.game-metrics{display:flex;flex-direction:column;gap:.5rem}.metric{display:grid;grid-template-columns:60px 1fr 30px;align-items:center;gap:.6rem}.gauge-wrapper{height:12px;width:100%;background:#eaeef2;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.gauge-track{width:100%;height:100%}.gauge-fill{height:100%;border-radius:6px;width:0%;transition:width .6s cubic-bezier(.34, 1.56, .64, 1);position:relative;z-index:1}.gauge-tier-1{background:linear-gradient(90deg,#00c6ff 0,#0072ff 100%)}.gauge-tier-2{background:linear-gradient(90deg,#11998e 0,#38ef7d 100%)}.gauge-tier-3{background:linear-gradient(90deg,#f2994a 0,#f2c94c 100%)}.gauge-tier-4{background:linear-gradient(90deg,#ff416c 0,#ff4b2b 100%)}.gauge-wrapper::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 9%,rgba(0,0,0,.15) 9%,rgba(0,0,0,.15) 10%);z-index:2;pointer-events:none}.game-metrics{display:flex;flex-direction:column;gap:.6rem;margin-top:auto;padding-top:.8rem;border-top:1px solid #eaeef2}.metric{display:grid;grid-template-columns:60px 1fr 30px;align-items:center;gap:.5rem}.label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.progress-bar{height:6px;background:#eaeef2;border-radius:3px;overflow:hidden}.value{font-size:.8rem;font-weight:600;text-align:right}footer{position:fixed;bottom:0;left:0;width:100%;background:var(--card-bg);border-top:1px solid var(--card-border);padding:.5rem;text-align:center;color:var(--text-secondary);font-size:.8rem;z-index:100;box-shadow:0 -2px 10px rgba(0,0,0,.03)}.hidden{display:none}.favorites-container{position:relative;display:flex;align-items:center}#favorites-btn svg{fill:transparent;transition:fill .2s ease,transform .2s ease}#favorites-btn.active svg{fill:var(--accent-color);stroke:var(--accent-color)}.favorites-menu{position:absolute;top:100%;right:0;margin-top:10px;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;width:280px;max-height:400px;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.15);z-index:1000;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.favorites-menu.hidden{display:none}.favorites-menu h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);border-bottom:1px solid var(--card-border);padding-bottom:.5rem}.favorites-list{display:flex;flex-direction:column;gap:.25rem}.fav-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;transition:background .2s ease}.fav-item:hover{background:rgba(0,0,0,.05)}.dark-mode .fav-item:hover{background:rgba(255,255,255,.05)}.fav-item input[type=checkbox]{accent-color:var(--accent-color);width:16px;height:16px;cursor:pointer}.fav-item label{font-size:.9rem;color:var(--text-secondary);cursor:pointer;flex:1}.details-view{animation:fadeIn .3s ease;min-height:60vh;max-width:1600px;margin:0 auto;padding:0 1.5rem}.details-view.hidden{display:none}.details-nav{margin-bottom:2rem;display:flex;align-items:center;gap:2rem}.scoring-toggle-container{display:flex;align-items:center;gap:.8rem}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;box-shadow:0 2px 4px rgba(0,0,0,.2)}input:checked+.slider{background-color:var(--accent-color)}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.toggle-label{font-size:.95rem;color:var(--text-secondary);font-weight:500}tbody.show-scoring-only tr:not(.score-change){display:none}.details-header-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 24px rgba(0,0,0,.06)}.details-matchup{display:flex;justify-content:center;align-items:center;gap:2.5rem}.details-team{display:flex;flex-direction:column;align-items:center;gap:.6rem;flex:1;max-width:140px}.details-logo{width:72px;height:72px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.1));transition:transform .2s ease}.details-logo:hover{transform:scale(1.05)}.details-team-name{font-family:Outfit,sans-serif;color:var(--text-primary);text-align:center;display:flex;flex-direction:column;gap:2px}.details-team-name .name-l1{font-size:1.6rem;color:var(--text-secondary);font-weight:800;letter-spacing:.5px}.details-team-name .name-l2{font-size:1.6rem;font-weight:900;line-height:1}.details-center-block{display:flex;flex-direction:column;align-items:center;gap:.4rem}.details-score-display{font-family:Outfit,sans-serif;font-size:2.8rem;font-weight:800;line-height:1;color:var(--text-primary);display:flex;gap:.8rem;align-items:center}.score-divider{color:var(--text-secondary);opacity:.3;font-weight:300}@media (max-width:600px){.details-matchup{gap:1rem}.details-logo{width:60px;height:60px}.details-team-name{font-size:1.2rem}.details-score-display{font-size:2rem}}.details-content h3{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(0,0,0,.05);position:relative}.details-content h3::after{content:'';position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--accent-color);border-radius:2px}.table-container{width:100%;overflow-x:auto}.pbp-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif}.pbp-table td{padding:1rem .8rem;border-bottom:1px solid var(--card-border);vertical-align:top;font-size:.95rem;color:var(--text-primary);line-height:1.5}.pbp-table tr:last-child td{border-bottom:none}.pbp-inning-cell{width:80px;text-align:center;color:var(--text-secondary);font-weight:600;white-space:nowrap}.inning-content{display:flex;align-items:center;justify-content:center;gap:4px}.inning-arrow{color:var(--accent-color);font-size:.9em}.pbp-score-cell{width:80px;text-align:center;white-space:nowrap}.score-box{display:inline-block;padding:4px 8px;border-radius:6px;font-weight:700;background:rgba(0,0,0,.03);color:var(--text-secondary);transition:all .2s ease}.score-change .score-box{background:rgba(9,105,218,.15);color:var(--accent-color);box-shadow:0 0 0 1px rgba(9,105,218,.2)}.hidden{display:none!important}@media (max-width:768px){header{padding:1rem}.header-inner{flex-direction:column;align-items:center;text-align:center;gap:1rem}.header-controls{flex-direction:column;width:100%;gap:.8rem}.date-picker-container{width:100%;justify-content:space-between;padding:8px 16px}.date-selector-group{flex-grow:1;justify-content:center}.favorites-container{width:100%}.action-btn{width:100%;justify-content:center;padding:12px 16px}.favorites-menu{width:100%;right:auto;left:0}.details-view{padding:0 .5rem}.details-nav{flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.details-header-card{padding:1rem;margin-bottom:1rem;border-radius:12px}.details-content h3{font-size:1.2rem;margin-bottom:1rem}.pbp-table td{padding:.6rem .3rem;font-size:.85rem}.pbp-inning-cell{width:50px}.pbp-score-cell{width:60px}#global-peek-btn,.details-meta,.game-venue{display:none!important}.details-team-name .name-l1,.details-team-name .name-l2{font-size:1.1rem;font-weight:800;color:var(--text-primary);letter-spacing:0}}