@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--view-top-gap: 1rem;font-family:Figtree Variable,Figtree,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background-color:#f0f4f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}@font-face{font-family:Baseball Club;src:url(/assets/BaseballClubSolid-DHqQr3Vn.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea,optgroup{font-family:inherit}body{font-family:Figtree Variable,Figtree,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background-color:var(--primary-bg, #F0EFF1);background-image:linear-gradient(to right,var(--primary-bg, #F0EFF1) 0 31.5px,var(--surface-stripe, #E8E7EA) 31.5px 32.5px,var(--primary-bg, #F0EFF1) 32.5px 64px);background-size:64px 100%;background-position:center;background-repeat:repeat;background-attachment:fixed}#root{max-width:none;margin:0;padding:0;text-align:left}.app-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--on-primary, #fff);padding:.25rem 2rem;text-align:center;border-bottom:4px solid var(--secondary);display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;overflow:hidden}.header-bg-logo{position:absolute;height:300%;width:auto;left:0;top:50%;transform:translateY(-50%);opacity:.08;pointer-events:none;object-fit:contain}.header-logo{width:90px;height:90px;object-fit:contain;position:relative;z-index:1}.app-header h1{font-family:Baseball Club,Figtree Variable,Figtree,sans-serif;font-size:2.1rem;font-weight:400;letter-spacing:1px;text-transform:none;text-shadow:1px 1px 2px rgba(0,0,0,.15);position:relative;z-index:1}.auth-controls{margin-left:auto;flex-shrink:0;position:relative;z-index:1}.auth-btn{padding:.3rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff}.auth-btn:hover{background:#ffffff40}.auth-signed-in{display:flex;flex-direction:column;align-items:center;gap:.2rem}.auth-welcome{font-size:.65rem;opacity:.85;white-space:nowrap}.auth-prompt-row{display:flex;align-items:center;gap:.35rem}.auth-prompt-text{font-size:.65rem;opacity:.8;letter-spacing:.3px;white-space:nowrap}.auth-prompt-arrow{font-size:.75rem;opacity:.8}.app-layout{display:flex;min-height:calc(100vh - 56px)}.column-left{width:320px;min-width:320px;background:#fff;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.column-middle{width:320px;min-width:320px;background:#fff;padding:1.25rem 1.25rem 1.25rem .35rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.main-content{flex:1;padding:1.5rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}:root{--arrow-tip-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 H8 Q20,0 27,5 L84,42 Q100,50 84,58 L27,95 Q20,100 8,100 H0 Z' fill='black'/%3E%3C/svg%3E")}.team-settings-box{background:var(--primary-bg, #F0EFF1);border:none;border-radius:10px;padding:1.1rem}.team-settings-box>.team-name-field,.team-settings-box>.team-settings-row,.team-settings-box>.team-colors-field,.team-settings-box>.team-logo-field{margin-top:1.25rem}.team-settings-box>.team-name-field:first-of-type{margin-top:0}.team-name-field{display:flex;flex-direction:column;gap:.35rem}.team-name-field label{font-size:.8rem;font-weight:600;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px}.team-name-field input{padding:.6rem .9rem;border:1px solid var(--primary-border);border-radius:8px;font-size:1rem;font-weight:700}select:not(.team-switcher-select){padding:.6rem 2.1rem .6rem .9rem;font-size:1rem;font-weight:700;background-position:right .85rem center;border:1px solid var(--primary-border);border-radius:8px;color:#1a1a1a;cursor:pointer;appearance:none;-webkit-appearance:none;background-color:var(--bg-card, #fff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1,1 L6,6 L11,1' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:.7rem auto}select:not(.team-switcher-select):focus-visible{outline:2px solid var(--primary);outline-offset:1px}input[type=number]{padding:.6rem .5rem;font-size:1rem;font-weight:700;color:#1a1a1a;text-align:center;border:1px solid var(--primary-border);border-radius:8px;background:var(--bg-card, #fff)}input[type=number]:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.team-year-select{width:calc(50% - .5rem)}.overview-tables-row{position:relative}.inning-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e1e1ed9;color:#fff;padding:8px 18px;border-radius:20px;font-size:.9rem;font-weight:600;z-index:1100;pointer-events:none;animation:toast-in .15s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px))}to{opacity:1;transform:translate(-50%,-50%)}}.team-settings-row{display:flex;gap:1rem;margin-top:1rem}.team-settings-row .team-name-field{flex:1;min-width:0}.team-settings-row .game-ball-field{align-items:center}.switch-row{display:flex;align-items:center;gap:.5rem}.switch-state{font-size:.85rem;color:#555;font-weight:600}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;inset:0;cursor:pointer;background:#ccc;border-radius:24px;transition:background .2s}.switch-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+.switch-slider{background:var(--primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.sport-toggle{display:flex;gap:1rem}.sport-toggle-btn{flex:1;padding:.5rem .75rem;border:1px solid var(--primary-border);border-radius:999px;background:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.sport-toggle-btn.active{background:var(--primary-dark);color:var(--on-primary-dark, #fff);border-color:var(--primary-dark)}.team-colors-field{display:flex;flex-direction:column;gap:.4rem}.team-colors-field label{font-size:.8rem;font-weight:600;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px}.color-pickers-row{display:flex;gap:1rem}.color-picker-item{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}.color-picker-item input[type=color]{width:38px;height:38px;border:none;border-radius:4px;cursor:pointer;padding:0;background:none}.color-picker-item input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-picker-item input[type=color]::-webkit-color-swatch,.color-picker-item input[type=color]::-moz-color-swatch{border:none;border-radius:4px}.color-picker-item span{font-size:.8rem;color:#666}.color-actions-row{display:flex;gap:.4rem;margin-top:.3rem}.save-colors-btn,.revert-colors-btn{padding:.35rem .65rem;border:1px solid var(--primary-border);border-radius:999px;font-size:.75rem;font-weight:600;cursor:pointer}.save-colors-btn{background:var(--primary);color:var(--on-primary, #fff);border-color:var(--primary)}.save-colors-btn:hover{background:var(--primary-dark)}.revert-colors-btn{background:none;color:#666}.revert-colors-btn:hover{background:var(--primary-very-light);color:#333}.team-logo-field{display:flex;flex-direction:column;gap:.4rem}.team-logo-field label{font-size:.8rem;font-weight:600;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.5px}.team-logo-field input[type=file]{font-size:.75rem;color:transparent}.team-logo-field input[type=file]::file-selector-button,.team-logo-field input[type=file]::-webkit-file-upload-button{margin-right:.6rem;padding:.35rem .9rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--primary-dark);background:transparent;border:1px solid var(--primary-border);border-radius:999px;cursor:pointer}.team-logo-field input[type=file]::file-selector-button:hover,.team-logo-field input[type=file]::-webkit-file-upload-button:hover{background:var(--primary-bg, #f0eff1)}.logo-preview{display:flex;align-items:center;gap:.5rem}.logo-preview img{width:60px;height:60px;object-fit:contain;border:1px solid var(--primary-border);border-radius:4px;background:#fff}.remove-logo-btn{padding:.35rem .9rem;background:transparent;border:1px solid #c44;border-radius:999px;color:#c44;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.remove-logo-btn:hover{background:#cc444414;border-color:#a00;color:#a00}.roster-manager{display:block}.roster-summary,.constraint-summary,.team-settings-box>summary{display:flex;align-items:center;min-height:2.2rem;list-style:none;font-size:1.2rem;font-weight:700;margin-bottom:.75rem;color:var(--primary-dark);cursor:pointer}.roster-summary::-webkit-details-marker,.constraint-summary::-webkit-details-marker,.team-settings-box>summary::-webkit-details-marker{display:none}.roster-summary:before,.constraint-summary:before,.team-settings-box>summary:before{content:"";flex:none;width:0;height:0;margin-right:.55rem;border-left:.42rem solid currentColor;border-top:.29rem solid transparent;border-bottom:.29rem solid transparent;transition:transform .12s ease}.roster-manager[open]>.roster-summary:before,.constraint-toggles[open]>.constraint-summary:before,.team-settings-box[open]>summary:before{transform:rotate(90deg)}.roster-manager:not([open])>.roster-summary,.constraint-toggles:not([open])>.constraint-summary,.team-settings-box:not([open])>summary{margin-bottom:0}.roster-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:450px;overflow-y:auto;padding-right:.5rem}.roster-list{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.roster-list::-webkit-scrollbar{width:8px}.roster-list::-webkit-scrollbar-track{background:transparent}.roster-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:999px}.roster-list::-webkit-scrollbar-thumb:hover{background:#00000047}.roster-player{display:flex;flex-direction:column;padding:.6rem .75rem;background:var(--primary-very-light);border:none;border-radius:8px;font-size:.9rem}.roster-player.editing{border-color:var(--primary);background:var(--primary-light)}.roster-player-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%}.roster-player-actions{display:flex;align-items:center;gap:.3rem}.roster-player-edit{display:flex;flex-direction:column;gap:.5rem;padding-top:1.1rem;margin-top:0;width:100%;box-sizing:border-box;overflow:hidden}.edit-field{display:flex;flex-direction:column;gap:.35rem}.edit-field label{font-size:.8rem;font-weight:500;color:#555}.roster-player-info{display:flex;flex-direction:row;align-items:center;gap:0}.player-available-check{margin-right:6px;cursor:pointer;accent-color:var(--primary)}.roster-player.unavailable .roster-player-header strong{color:#bbb;text-decoration:line-through}.roster-player.unavailable .player-positions{color:#ccc}.roster-player-details{display:flex;gap:.5rem;font-size:.75rem;color:#666}.player-positions{color:var(--primary-dark);font-weight:500}.remove-btn{background:none;border:none;color:#c44;font-size:1.2rem;cursor:pointer;padding:0 .3rem;line-height:1}.remove-btn:hover{color:#a00}.player-form{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:var(--primary-bg, #F0EFF1);border:none;border-radius:10px}.player-name-number-row,.edit-name-number-row{display:flex;gap:.5rem;align-items:flex-end}.edit-name-number-row{flex-direction:row;align-items:flex-end}.edit-field-name{flex:1;min-width:0}.edit-field-name .player-name-input{width:100%;box-sizing:border-box}.edit-field-jersey{width:50px}.player-name-input{padding:.6rem .9rem;border:1px solid var(--primary-border);border-radius:8px;font-size:.95rem;flex:1;min-width:0}.player-jersey-input{padding:.6rem .5rem;border:1px solid var(--primary-border);border-radius:8px;font-size:.95rem;width:50px;text-align:center}.jersey-number{color:var(--secondary-dark, #8a3a3a);font-size:.85em}.batting-jersey{color:#999}.skills-grid{display:flex;flex-direction:column;gap:.55rem;margin-top:.6rem}.skill-row{display:grid;grid-template-columns:65px 1fr 3rem;align-items:center;gap:.5rem;font-size:.85rem}.skill-row label{font-weight:500}.skill-row>label:first-child{text-align:right}.skill-row input[type=range]{flex:1;accent-color:var(--primary)}.skill-value{text-align:left;font-weight:600;color:var(--primary-dark)}.position-select{display:flex;flex-direction:column;gap:.4rem}.position-select label{font-size:.85rem;font-weight:500}.position-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.pos-btn{padding:.35rem .6rem;font-size:.8rem;border:1px solid var(--primary-border);border-radius:999px;background:#fff;cursor:pointer;font-weight:500}.pos-btn.active{background:var(--primary);color:var(--on-primary, #fff);border-color:var(--primary)}.add-player-btn{padding:.55rem 1.5rem;background:var(--primary);color:var(--on-primary, #fff);border:none;border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem}.add-player-btn:hover{background:var(--primary-dark)}.player-form-actions{display:flex;justify-content:center;gap:.75rem;margin-top:.75rem}.cancel-add-btn{padding:.55rem 1.5rem;background:#ddd;color:#555;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem}.cancel-add-btn:hover{background:#ccc}.constraint-toggles{display:block}.constraint-list{display:flex;flex-direction:column;gap:.6rem}.toggle-label{display:flex;align-items:center;gap:.6rem;font-size:.9rem;cursor:pointer;white-space:nowrap}.toggle-label input[type=checkbox]{accent-color:var(--primary)}.infield-count-input{width:58px;padding-inline:.3rem;margin-left:.3rem}.infield-count-label{color:inherit;margin-left:.15rem}.generate-btn{align-self:center;width:100%;max-width:15rem;padding:.75rem 1.5rem;background:var(--secondary);color:var(--on-secondary, #1a1a1a);border:none;border-radius:999px;cursor:pointer;font-weight:700;font-size:1rem}.generate-btn:hover:not(:disabled){background:var(--secondary-dark)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.game-management-box{background:var(--primary-bg, #F0EFF1);border:none;border-radius:10px;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem}.games-section-header{display:flex;align-items:center;justify-content:space-between;min-height:2.2rem;font-size:1.2rem;font-weight:700;color:var(--primary-dark);margin-top:.4rem;margin-bottom:.1rem}.season-record-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .9rem;min-height:3.395rem;background:#fff;color:#333;border:none;box-shadow:0 1px 2px #0000000f;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600}.season-record-btn>span:first-child{text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.season-record-btn:hover{background:var(--primary-very-light)}.season-record-btn.active{position:relative;background:var(--secondary-medium);border-radius:6px 0 0 6px;box-shadow:0 1px 2px #0000000f;color:var(--on-secondary-medium, #333)}.season-record-btn .season-record-value{font-weight:700}.new-game-btn{padding:.6rem;background:var(--primary);color:var(--on-primary, #fff);border:1px solid var(--primary);border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:600}.new-game-btn:hover{background:var(--primary-dark)}.import-export-box{margin-top:.75rem}.import-export-box>summary{font-size:.8rem;font-weight:600;color:var(--primary-dark);cursor:pointer}.import-export-box[open]>summary{margin-bottom:.5rem}.game-history{display:flex;flex-direction:column;gap:.5rem}.game-history-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.game-history-buttons .import-game-btn{flex:1 1 100%}.export-game-btn,.import-game-btn{flex:1;padding:.5rem;border:1px solid var(--primary-border);border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:600;background:#fff;color:#555}.export-game-btn:hover,.import-game-btn:hover{background:var(--primary-very-light)}.saved-games-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.saved-game-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;min-height:3.395rem;background:#fff;border:none;border-radius:6px;font-size:.85rem;box-shadow:0 1px 2px #0000000f}.saved-game-item.active-game,.saved-game-item.active-game *{color:var(--on-secondary-medium, #1a1a1a)}.saved-game-item.active-game{position:relative;background:var(--secondary-medium);border-radius:6px 0 0 6px;box-shadow:0 1px 2px #0000000f}.saved-game-item.active-game:after,.season-record-btn.active:after{content:"";position:absolute;left:calc(100% - .35rem);top:0;height:100%;width:2.05rem;background:var(--secondary-medium);-webkit-mask:var(--arrow-tip-mask) center / 100% 100% no-repeat;mask:var(--arrow-tip-mask) center / 100% 100% no-repeat;pointer-events:none;z-index:1}.saved-game-info{display:flex;flex-direction:column;cursor:pointer;flex:1}.saved-game-info:hover{color:var(--primary-dark)}.saved-game-date{font-weight:600;line-height:1.35}.saved-game-opponent{color:#666;line-height:1.35}.new-from-saved-btn{background:none;border:none;color:#777;font-size:1.1rem;cursor:pointer;padding:0 .3rem;line-height:1;font-weight:700}.new-from-saved-btn:hover{color:var(--primary)}.delete-saved-btn{background:none;border:none;color:#777;font-size:1.1rem;cursor:pointer;padding:0 .3rem;line-height:1}.delete-saved-btn:hover{color:#e74c3c}.edit-toggle-btn{margin-left:auto;padding:.2rem .9rem;font:inherit;font-size:.8rem;font-weight:600;color:var(--primary-dark);background:transparent;border:1px solid var(--primary-border);border-radius:999px;cursor:pointer}.edit-toggle-btn:hover{background:var(--primary-bg, #f0eff1)}.edit-toggle-btn.active{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--on-primary-dark, #fff)}.edit-toggle-btn.active:hover{background:var(--primary-darker, #000)}.bulk-edit-actions{display:flex;align-items:stretch;gap:.4rem}.bulk-edit-actions>button{flex:1;padding:.6rem;font-size:.9rem;font-weight:600}.bulk-select-all-btn{background:none;border:1px solid #ccc;border-radius:999px;color:#555;font-size:.75rem;padding:.1rem .5rem;cursor:pointer}.bulk-select-all-btn:hover{background:#f0f0f0}.bulk-delete-btn{background:#e74c3c;border:none;border-radius:999px;color:#fff;font-size:.75rem;padding:.15rem .5rem;cursor:pointer}.bulk-delete-btn:disabled{background:#ccc;cursor:default}.bulk-delete-btn:not(:disabled):hover{background:#c0392b}.bulk-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--primary);margin-right:.5rem}.bulk-selected{background:rgba(var(--primary-rgb, 30,58,95),.08)}.game-info{display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:880px;padding:.25rem 0}.game-info-matchup{display:flex;align-items:baseline;gap:.55rem;min-width:0}.game-info-vs{font-size:1rem;font-weight:700;color:#8a8f95;flex:none}.game-info-opponent-fit{display:inline-grid;min-width:.75rem;max-width:100%}.game-info-opponent-fit:after,.game-info-opponent{grid-area:1 / 1;padding:0;font:inherit;font-size:1.9rem;font-weight:800;letter-spacing:-.01em;white-space:pre}.game-info-opponent-fit:after{content:attr(data-value);visibility:hidden;overflow:hidden}.game-info-opponent{width:100%;min-width:0;border:none;outline:none;background:none;color:var(--primary-dark)}.game-info-opponent::placeholder{color:#c6cbd1;font-weight:800}.game-info-score{margin-left:auto;display:inline-flex;align-items:baseline;gap:.6rem;padding:.4rem .9rem;border-radius:999px;white-space:nowrap}.game-info-result-label{min-width:2.6rem;text-align:center;font-size:.7rem;font-weight:800;letter-spacing:.08em;opacity:.75}.game-info-score-value{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.game-info-score-dash{margin:0 .3rem;font-weight:600;opacity:.45}.game-info-divider{height:1px;background:var(--primary-bg, #F0EFF1)}.game-info-date{flex:none;margin-left:calc(30px - .55rem);padding:0;border:none;background:none;font:inherit;font-size:.95rem;font-weight:600;color:var(--primary-dark)}.game-info-date{field-sizing:content;max-width:7.2rem}.game-info-date::-webkit-datetime-edit{padding:0}.game-info-date::-webkit-calendar-picker-indicator{margin-left:.3rem;padding:0;cursor:pointer;opacity:.65}.game-info-date::-webkit-calendar-picker-indicator:hover{opacity:1}.game-info-date::-webkit-inner-spin-button,.game-info-date::-webkit-clear-button{display:none}.game-info-row{display:flex;align-items:center;justify-content:center;gap:2rem}.score-input{width:72px}.score-dash{font-weight:600;color:#555}.result-badge{font-size:.75rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;letter-spacing:.04em}.result-badge-sm{font-size:.65rem;padding:.1rem .35rem;margin-left:.35rem;vertical-align:middle}.result-win{background:#d4edda;color:#1a6630}.result-loss{background:#f8d7da;color:#842029}.result-tie{background:#e2e3e5;color:#41464b}.game-info-field{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.game-info-field label{font-weight:600;color:#555}.game-info-field input{padding:.45rem .65rem;border:1px solid var(--primary-border);border-radius:8px;font-size:.95rem;font-family:inherit}.team-switcher{display:flex;align-items:center;gap:.4rem;padding:1.1rem;min-height:4.4rem;background:var(--primary);border-radius:10px}.team-switcher-field{position:relative;flex:1;min-width:0;display:flex}.team-switcher-select{flex:1;appearance:none;-webkit-appearance:none;background:transparent;border:none;color:transparent;font-size:1.2rem;font-weight:700;cursor:pointer;outline:none;min-width:0}.team-switcher-display{position:absolute;inset:0;display:flex;align-items:center;gap:.35rem;color:#fff;pointer-events:none;overflow:hidden}.team-switcher-name{font-size:1.2rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-switcher-caret{flex:none;width:0;height:0;margin-left:.1rem;border-left:.32rem solid transparent;border-right:.32rem solid transparent;border-top:.36rem solid rgba(255,255,255,.85)}.team-switcher-year{font-size:.85rem;font-weight:600;color:#ffffffbf;white-space:nowrap;flex:none}.team-switcher-select option{background:#fff;color:#333}.delete-team-btn{background:none;border:none;color:#fff9;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1;flex-shrink:0}.delete-team-btn:hover{color:#ff8080}.inning-numbers{display:flex;gap:.4rem;margin-top:.5rem;justify-content:center;flex-wrap:wrap}.inning-tabs{display:flex;gap:.4rem;margin-top:0}.inning-tab{width:48px;height:40px;border:2px solid var(--primary-border);border-radius:8px;background:#fff;font-size:1rem;font-weight:700;cursor:pointer;color:#555}.inning-tab.active{background:var(--secondary);color:var(--on-secondary, #1a1a1a);border-color:var(--secondary)}.inning-tab.overview-tab{width:auto;padding:0 12px}.inning-tab:hover:not(.active){border-color:var(--secondary);color:var(--primary-dark)}.overview-table-wrapper{width:100%;max-width:700px;overflow-x:auto;corner-shape:squircle;border-radius:20px}.overview-table-wrapper .overview-table{border-radius:20px;overflow:hidden;corner-shape:squircle}.overview-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg-card, #fff)}.overview-table .overview-pos-col,.overview-table .overview-pos-label{width:1px;white-space:nowrap}.overview-table th.overview-pos-col{text-align:center}.overview-table thead tr:first-child th{border-top-color:transparent}.overview-table tr>:first-child{border-left-color:transparent}.overview-table tr>:last-child{border-right-color:transparent}.overview-table tbody tr:last-child>*{border-bottom-color:transparent}.overview-table th,.overview-table td{padding:.5rem .7rem;border:1px solid var(--primary-border-light);text-align:left}.overview-table th{background:var(--primary);color:var(--on-primary, #fff);font-weight:700;font-size:.85rem}.overview-table tbody tr:nth-child(2n){background:var(--primary-very-light)}.overview-table tbody tr:hover{background:var(--primary-light)}.overview-pos-label{font-weight:700;white-space:nowrap}.lock-icon{cursor:pointer;font-size:.85rem;margin-right:4px;opacity:.4;vertical-align:middle}img.lock-icon{width:16px;height:16px;margin-right:12px}.lock-icon.locked,.lock-icon:hover{opacity:1}.overview-cell.locked-cell{background:#fce4e4!important}.overview-table th.locked-inning{background:#e8a0a0!important}.overview-pos-label.locked-pos{background:#e8a0a0!important;color:#fff!important}.overview-pos-label.infield{background:var(--primary-dark);color:var(--on-primary-dark, #fff)}.overview-pos-label.outfield{background:var(--secondary);color:var(--on-secondary, #1a1a1a)}.overview-pos-label.bench{background:#888;color:#fff}.overview-cell.infield{background:var(--primary-light);color:var(--primary-darker);font-weight:600}.overview-cell.outfield{background:var(--secondary-very-light);color:var(--secondary-darker);font-weight:600}.overview-cell.bench{color:#aaa;font-weight:600}.overview-cell.duplicate{color:#e74c3c!important;background:#fdecea!important}.inning-header{cursor:grab}.inning-header:active{cursor:grabbing}.dragging-col{opacity:.3}.insert-col-left{box-shadow:inset 3px 0 0 0 var(--primary)}.insert-col-right{box-shadow:inset -3px 0 0 0 var(--primary)}.selected-col{background:var(--secondary-light)!important;box-shadow:inset 0 0 0 2px var(--secondary)}.overview-tables-row{display:flex;gap:1rem;width:100%;max-width:850px;align-items:flex-start}.overview-tables-row .overview-table-wrapper{flex:1;max-width:none}.batting-order-table-wrapper{flex-shrink:0;overflow:hidden;border-radius:20px;corner-shape:squircle}.batting-order-table-wrapper .batting-order-table{border-radius:20px;overflow:hidden;corner-shape:squircle}.batting-order-table{width:auto!important}.batting-header{background:var(--secondary)!important;color:var(--on-secondary, #1a1a1a)!important;text-align:left}.batting-order-cell{font-weight:600;white-space:nowrap;text-align:left;padding:.4rem .75rem}.batting-order-cell.highlighted{background:#ffe0b2!important}.batting-order-cell.clickable{cursor:pointer}.batting-order-cell.clickable:hover{outline:2px solid #888;outline-offset:-2px}.batting-order-cell.selected{background:var(--secondary-light)!important;outline:2px solid var(--secondary);outline-offset:-2px}.overview-cell.clickable{cursor:pointer}.overview-cell.clickable:hover{outline:2px solid #888;outline-offset:-2px}.overview-cell.selected{background:var(--secondary-light)!important;outline:2px solid var(--secondary);outline-offset:-2px}.overview-cell.highlighted{background:#ffe0b2!important;outline:2px solid #ff9800;outline-offset:-2px}.summary-highlighted{background:#ffe0b2!important}.overview-player-name.clickable{cursor:pointer}.overview-player-name.clickable:hover{text-decoration:underline}.summary-table-wrapper{margin-top:.25rem}.summary-table{max-width:none;width:auto;margin:0}.summary-table .col-stat{width:3.2rem}.summary-table .col-player{width:auto}.summary-table th.summary-sub-first4,.summary-table th.summary-sub-full,.summary-table th.summary-group-first4,.summary-table th.summary-group-full{font-size:.75rem;padding:.4rem .5rem;text-align:center}.summary-group-header{border-bottom:2px solid white}.summary-group-first4{background:var(--secondary)!important;color:var(--on-secondary, #1a1a1a)!important}.summary-group-full{background:var(--primary-dark)!important;color:var(--on-primary-dark, #fff)!important}.summary-sub-first4{background:var(--secondary-medium)!important;color:var(--on-secondary-medium, #1a1a1a)!important}.summary-sub-full{background:var(--primary-medium)!important;color:var(--on-primary-medium, #1a1a1a)!important}.overview-player-name{text-align:left;font-weight:600;white-space:nowrap}.summary-table td.summary-played{font-weight:700;color:var(--primary-dark);text-align:center}.summary-table td.summary-benched{font-weight:600;color:#999;text-align:center}.summary-table td.summary-infield{font-weight:600;color:var(--primary-dark);text-align:center}.summary-table td.summary-outfield{font-weight:600;color:var(--secondary-darker);text-align:center}.field-diagram{width:100%;max-width:500px}.field-grass{position:relative;width:100%;padding-top:100%;border-radius:28px;overflow:hidden}.field-graphic{position:absolute;inset:0;width:100%;height:100%}.fg-grass,.fg-infield-grass{fill:#46a872}.fg-stripe{fill:#3f9b67}.fg-dirt{fill:#c08b52}.fg-basepath{fill:none;stroke:#c08b52;stroke-width:2.6}.fg-base{fill:#e2c298}.player-slot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;min-width:70px;text-align:center;transform:translate(-50%)}.slot-position{font-size:.85rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:1px 1px 1px rgba(0,0,0,.3)}.slot-player{background:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;border:2px solid transparent}.player-slot.empty .slot-player{background:#ffffff4d;color:#ffffffb3}.player-slot.selected .slot-player{border-color:var(--secondary);background:var(--secondary-light)}.player-slot:hover .slot-player{border-color:var(--secondary)}.player-slot.duplicate .slot-player{color:#e74c3c;background:#fdecea;border-color:#e74c3c}.player-slot:nth-of-type(1){left:15.5%;top:9.6%}.player-slot:nth-of-type(2){left:50%;top:2.1%}.player-slot:nth-of-type(3){left:84.5%;top:9.6%}.player-slot:nth-of-type(4){left:31.6%;top:31.4%}.player-slot:nth-of-type(5){left:68.4%;top:31.4%}.player-slot:nth-of-type(6){left:20.1%;top:60.2%}.player-slot:nth-of-type(7){left:50%;top:50.1%}.player-slot:nth-of-type(8){left:79.9%;top:60.2%}.player-slot:nth-of-type(9){left:50%;top:85.5%}.bench-list{width:100%;max-width:500px}.bench-list h3{font-size:.95rem;color:#555;margin-bottom:.5rem}.bench-players{display:flex;flex-wrap:wrap;gap:.4rem}.bench-player{padding:.4rem .85rem;background:#fff;border:2px solid var(--primary-border);border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.bench-player:hover{border-color:var(--primary)}.bench-player.selected{border-color:var(--secondary);background:var(--secondary-light)}.bench-empty{font-size:.8rem;color:#999;font-style:italic}.batting-order{width:100%;max-width:500px}.batting-order h2{font-size:1.2rem;font-weight:700;color:var(--primary-dark);margin:0}.batting-order .batting-order-title-row{margin:0 0 1.1rem}.batting-list{display:flex;flex-direction:column;gap:.35rem;width:100%}.batting-row{position:relative;display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;background:#fff;border:2px solid var(--primary-border);border-radius:8px;cursor:grab;transition:border-color .15s}.batting-row:hover{border-color:var(--primary)}.batting-row.dragging{opacity:.3}.batting-row.insert-above:before{content:"";position:absolute;top:-4px;left:0;right:0;height:4px;background:var(--secondary);border-radius:2px}.batting-row.insert-below:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:4px;background:var(--secondary);border-radius:2px}.batting-number{font-weight:700;font-size:1rem;color:var(--primary-dark);width:24px;text-align:center}.batting-name{flex:1;font-weight:600;font-size:.9rem}.batting-skills{font-size:.75rem;color:#888}.batting-drag-handle{color:#bbb;font-size:1rem;cursor:grab;-webkit-user-select:none;user-select:none}.overview-title-row{display:flex;align-items:baseline;justify-content:flex-start;gap:.75rem;width:100%;max-width:850px;margin:var(--view-top-gap) auto 0}.overview-title-row .undo-redo-group{margin-left:auto}.innings-played-block{width:fit-content;max-width:100%;margin:0 auto}.innings-played-row{max-width:none;margin:1.5rem 0 .5rem}.overview-section-title{font-size:1.2rem;font-weight:700;color:var(--primary-dark);margin:0}.undo-btn{font-size:.75rem;padding:.25rem .75rem;border:1px solid var(--primary-border);border-radius:999px;background:var(--bg-card, #fff);color:var(--primary-dark);cursor:pointer;opacity:.8}.undo-btn:hover:not(:disabled){opacity:1;background:var(--primary-lightest, #e8edf2)}.undo-btn:disabled{opacity:.35;cursor:default}.undo-redo-group{display:flex;gap:.25rem}.not-present-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}.not-present-player{background:#f0f0f0;color:#999;padding:.3rem .75rem;border-radius:1rem;font-size:.85rem;text-decoration:line-through}.print-menu{position:relative;left:-14px;display:inline-block}.print-menu-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;height:40px;margin-right:.2rem;padding:0 .85rem;background:#fff;color:var(--primary-dark);border:1px solid var(--primary-border);border-radius:999px;cursor:pointer}.print-menu-btn:hover{background:var(--primary-bg, #F0EFF1)}.print-menu-btn svg{width:1.05rem;height:1.05rem;flex:none}.print-menu-label{font-size:.9rem;font-weight:600;line-height:1}.print-menu-list{position:absolute;left:0;top:calc(100% + .4rem);z-index:20;display:flex;flex-direction:column;min-width:10rem;padding:.35rem;background:#fff;border:1px solid var(--primary-border);border-radius:10px;box-shadow:0 8px 24px #00000029}.print-menu-item{padding:.5rem .75rem;background:none;border:none;border-radius:999px;font:inherit;font-size:.9rem;color:#1a1a1a;text-align:left;cursor:pointer}.print-menu-item:hover{background:var(--primary-bg, #F0EFF1)}.print-innings-layout,.print-all-layout,.print-innings-grid,.print-batting-order{display:none}.print-inning-label{text-align:center;font-size:.9rem;margin-bottom:.25rem;color:#1a1a1a}.print-inning-bench{text-align:center;margin-top:.25rem;font-size:.75rem;color:#666}.print-bench-label{font-weight:600;margin-right:.3rem}.print-bench-player{margin-right:.4rem}.print-bench-player:not(:last-child):after{content:","}@page{size:portrait;margin:.4in}@page landscape{size:landscape}@page portrait-override{size:portrait;margin:.2in}@media print{html,body{height:auto;overflow:visible;background:#fff}body:has(.view-all) .app,body:has(.view-season) .app{page:landscape}.column-left,.column-middle,.inning-tabs,.summary-table-wrapper,.innings-played-title,.not-present-title,.not-present-list,.help-popover,.auth-controls,.wrapup-import,.wrapup-actions,.wrapup-sheets,.wrapup-error,.view-wrapup .stats-tabbar{display:none!important}.print-innings-layout,.print-all-layout{display:block!important;width:100%;page:portrait-override}.print-innings-layout~*{display:none!important}.print-all-layout{break-before:page}.print-all-layout~*{display:none!important}.print-all-layout .print-batting-order{break-before:page}body:has(.print-innings-layout) .app-header,body:has(.print-innings-layout) .app-footer,body:has(.print-innings-layout) .game-info{display:none!important}.print-innings-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:0rem .2rem;width:100%;max-width:6in;margin:0 auto}.print-batting-order{display:flex!important;flex-direction:column;align-items:center;font-size:.8rem;margin-top:.1rem}.print-batting-order h3{font-size:.85rem;margin:0 0 .1rem;text-align:center}.print-batting-list{margin:0 auto;padding-left:1rem;columns:4;column-gap:1rem;line-height:1.4}.print-inning-item{page-break-inside:avoid;overflow:hidden}.print-inning-item .field-diagram{max-width:none}.print-inning-item .field-grass{padding-top:100%;border-radius:6px}.print-inning-item .player-slot{min-width:35px}.print-inning-item .slot-player{font-size:.75rem;padding:.08rem .2rem;min-width:40px;border-width:1px}.print-inning-label{margin:0!important;font-size:.85rem!important}.print-inning-bench{font-size:.75rem!important;margin-top:0}.app-layout{display:block;min-height:auto}.main-content{padding:0}.app-header{background:none!important;color:#1a1a1a;border-bottom:1px solid #1a1a1a;padding:.15rem 0}.app-header h1{font-size:1rem;text-shadow:none;margin:0}.header-bg-logo,.header-logo{display:none!important}.game-info{border:none;padding:.1rem 0;font-size:.75rem}.app-footer,.view-all .overview-title-row,.view-all .undo-redo-group{display:none!important}.view-all~*,body:has(.view-all) .app-header,body:has(.view-all) .game-info{display:none!important}.view-all{display:block!important}.overview-tables-row{max-width:none}.overview-table th{background:#ddd!important;color:#1a1a1a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.batting-header{background:#eee!important;color:#1a1a1a!important}.overview-pos-label.infield,.overview-pos-label.outfield,.overview-pos-label.bench{-webkit-print-color-adjust:exact;print-color-adjust:exact}.overview-cell.infield,.overview-cell.outfield{background:#fff!important;color:#1a1a1a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.overview-cell.bench{color:#555!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.batting-drag-handle,.batting-skills{display:none!important}}@media(max-width:768px){.app-layout{flex-direction:column}.column-left,.column-middle{width:100%;min-width:auto;border-right:none;border-bottom:1px solid var(--primary-border);max-height:none;overflow-y:visible;padding:1rem;gap:1rem}.main-content{padding:1rem}.app-header{padding:.25rem .75rem;gap:.5rem;flex-wrap:wrap}.header-logo{width:50px;height:50px}.app-header h1{font-size:1.1rem}.header-bg-logo{height:200%}.auth-controls{margin-left:auto}.auth-prompt-text,.auth-prompt-arrow{display:none}.team-switcher{padding:.4rem .6rem}.team-settings-box{padding:.75rem}.roster-summary{cursor:pointer;list-style:revert}.roster-summary::-webkit-details-marker{display:revert}.roster-list{max-height:none;padding-right:0}.roster-player{padding:.5rem .6rem}.player-form,.game-management-box{padding:.75rem}.saved-games-list{max-height:none}.game-info{max-width:100%;padding:.5rem .75rem;gap:.75rem}.game-info-row{flex-wrap:wrap;gap:.75rem;justify-content:center}.game-info-field{font-size:.85rem;gap:.35rem}.game-info-field input{font-size:.85rem;padding:.35rem .5rem;max-width:120px}.score-input{width:50px;font-size:.85rem}.inning-tabs{flex-wrap:wrap;gap:.3rem}.inning-tab{width:40px;height:34px;font-size:.85rem}.field-diagram{max-width:100%}.player-slot{min-width:55px}.slot-position{font-size:.7rem}.slot-player{font-size:.65rem;padding:.2rem .35rem}.bench-list{max-width:100%}.bench-player{font-size:.8rem;padding:.35rem .65rem}.batting-order{max-width:100%}.batting-order h2{font-size:1rem}.batting-row{padding:.45rem .6rem;gap:.5rem}.batting-name{font-size:.8rem}.overview-tables-row{flex-direction:column;max-width:100%}.overview-table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:none;padding:0;border-radius:0}.overview-table{font-size:.75rem}.overview-table th,.overview-table td{padding:.35rem .4rem;white-space:nowrap}.summary-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.summary-table{font-size:.75rem}.stats-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.stats-table{font-size:.8rem}.stats-table th,.stats-table td{padding:.35rem .4rem}.constraint-toggles{padding:.75rem}.generate-btn{font-size:.85rem;padding:.6rem}.app-footer{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;margin-top:1rem}}.game-info-gameball{gap:.4rem;flex-wrap:wrap;justify-content:center}.game-ball-select{flex:1}.game-ball-add-btn{align-self:flex-start;background:none;border:1px dashed var(--primary-border-light);border-radius:999px;color:var(--primary);font-size:.8rem;padding:.2rem .6rem;cursor:pointer}.game-ball-add-btn:hover{background:var(--primary-very-light)}.game-ball-remove-btn{background:none;border:none;color:#aaa;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1}.game-ball-remove-btn:hover{color:#e55}.season-stats{width:100%;max-width:900px;margin:0 auto;padding:.5rem 0}.season-stats-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.season-stats-title{font-size:1.2rem;font-weight:700;color:var(--primary-dark);margin:0}.season-record{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:1.2rem;font-weight:700;margin-bottom:1rem}.season-record-item{padding:.15rem .5rem;border-radius:6px}.season-record-separator{color:#888}.season-stats-empty{color:#888;font-size:.9rem;padding:1rem 0;margin:auto;text-align:center}.game-ball-date{display:inline-block;margin:1px 3px 1px 0;font-size:.8rem;white-space:nowrap}.app-footer{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.75rem 1.5rem;border-top:1px solid #ddd;font-size:.75rem;color:#888}.footer-email{color:#555;text-decoration:none;background:#e8e8e8;padding:.4rem .85rem;border-radius:6px;font-size:.75rem;cursor:pointer}.footer-email:hover{background:#ddd;color:#333}.footer-wipe-btn{background:#ef9a9a;color:#fff;border:none;padding:.4rem .85rem;border-radius:999px;font-size:.75rem;cursor:pointer}.footer-wipe-btn:hover{background:#e57373}.landing{--navy: #17375E;--navy-dark: #0F2745;--navy-tint: #E4EAF1;--red: #932727;--red-dark: #7A1F1F;--panel: #F0EFF1;--panel-stripe: #E8E7EA;--ink: #2B3138;--ink-muted: #6A7178;--gap-xs: 8px;--gap-sm: 14px;--gap-md: 24px;--gap-lg: 36px;--gap-xl: 56px;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;color:var(--ink);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-wrap:pretty;background:linear-gradient(#14202cb8,#14202cd1),url(/assets/field-BZJXnP-_.jpg) center / cover no-repeat;background-color:#2e3439}.landing-card{width:min(660px,94vw);margin:0 auto;background:var(--panel);border-radius:40px;box-shadow:0 2px 6px #0000004d,0 12px 28px #00000057,0 36px 72px #00000061;overflow:hidden;background-image:linear-gradient(to right,var(--panel) 0 31.5px,var(--panel-stripe) 31.5px 32.5px,var(--panel) 32.5px 64px);background-size:64px 100%;background-position:center;background-repeat:repeat}.landing-body{container-type:inline-size;padding:var(--gap-xl) clamp(28px,9vw,88px);text-align:center}.landing-banner{background:var(--red);padding:22px clamp(16px,5vw,40px);display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm)}.landing-star{width:34px;height:34px;flex:0 0 auto;background:#fff;clip-path:polygon(50% 0%,66% 30%,98% 36%,75% 61%,81% 97%,50% 81%,19% 97%,25% 61%,2% 36%,34% 30%)}.landing-rule{height:7px;background:var(--navy);margin-top:4px}.landing-headline{margin:0 0 var(--gap-md);text-align:center;font-size:0}.landing-headline img{display:inline-block;width:auto;max-width:100%;height:auto}.landing-sub{font-size:20px;line-height:1.4;color:var(--ink);margin:0 0 var(--gap-xl)}.landing-note{font-size:15px;line-height:1.45;color:var(--ink-muted);margin:var(--gap-md) 0 0}.landing-returning{font-size:16px;color:var(--ink-muted);display:flex;justify-content:center;align-items:baseline;gap:var(--gap-xs)}.landing-link{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--red);cursor:pointer}.landing-link:hover{color:var(--red-dark);text-decoration:underline}.landing-cta,.landing-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:18px 28px;border:2px solid transparent;border-radius:999px;font-family:inherit;font-size:21px;font-weight:800;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease}.landing-cta:active,.landing-secondary:active{transform:translateY(1px)}.landing-cta:focus-visible,.landing-secondary:focus-visible,.landing-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}.landing-cta{min-width:400px;background:var(--navy);color:#fff;box-shadow:0 2px #0f274559}.landing-cta:hover{background:var(--navy-dark)}.landing-cta-icon{width:22px;height:22px;flex:0 0 auto}.landing-secondary{min-width:280px;background:#fff;color:var(--navy);border-color:var(--navy);font-weight:600;font-size:20px}.landing-secondary:hover{background:var(--navy-tint)}.landing-reasons{list-style:none;margin:var(--gap-lg) auto;padding:0;width:fit-content;max-width:100%;display:flex;flex-direction:column;gap:var(--gap-sm);text-align:left}.landing-reasons li{display:flex;align-items:center;gap:14px;font-size:19px}.landing-reasons li:before{content:"";flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.4 10.4l2.9 2.9 6.3-6.6' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%}.landing-or{display:flex;align-items:center;gap:16px;margin:var(--gap-md) auto;width:min(100%,440px)}.landing-or:before,.landing-or:after{content:"";flex:1;height:2px;background:var(--navy)}.landing-or span{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-size:15px;font-weight:800;letter-spacing:.03em;display:grid;place-items:center}@media(max-width:480px){.landing-body{padding:var(--gap-lg) 20px}.landing-star{width:24px;height:24px}.landing-sub{font-size:18px;margin-bottom:var(--gap-lg)}.landing-reasons li{font-size:17px}.landing-cta,.landing-secondary{font-size:18px;padding:16px 20px;min-width:0;width:100%}}.wrapup{width:100%;max-width:900px;display:flex;flex-direction:column;gap:1rem}.wrapup-top{display:flex;flex-direction:column;gap:1rem;width:fit-content;max-width:100%;margin-inline:auto}.wrapup-import{width:0;min-width:100%;background:#fff;border-radius:16px;padding:2rem;text-align:center}.wrapup-import h3{font-size:1.45rem;color:var(--primary-dark);margin-bottom:.6rem}.wrapup-hint{font-size:1.08rem;color:#444;margin-bottom:.5rem}.wrapup-link{color:var(--secondary-dark);font-weight:600;text-decoration-thickness:1px;text-underline-offset:2px}.wrapup-link:hover{color:var(--secondary-darker)}.wrapup-steps{display:inline-block;margin:0 auto 1rem;padding-left:1.3rem;text-align:left;font-size:1.02rem;line-height:1.7;color:#444}.wrapup-steps li::marker{color:var(--primary);font-weight:700}.wrapup-note{font-size:.92rem;line-height:1.45;color:#777;max-width:46ch;margin:0 auto 1.25rem}.wrapup-import-btn{padding:.7rem 1.75rem;background:var(--primary);color:var(--on-primary, #fff);border:none;border-radius:999px;font:inherit;font-weight:600;cursor:pointer}.wrapup-import-btn:hover{background:var(--primary-dark)}.wrapup-file{display:none}.wrapup-error{margin-top:.85rem;font-size:.85rem;line-height:1.45;color:#b3261e}.wrapup-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.wrapup-sheets{grid-column:2;display:flex;justify-content:center;gap:.4rem}.wrapup-actions{grid-column:3;justify-self:end;display:flex;gap:.4rem}.wrapup-replace,.wrapup-clear{padding:.35rem 1rem;background:none;border:1px solid #ccc;border-radius:999px;font:inherit;font-size:.8rem;color:#666;cursor:pointer}.wrapup-replace:hover,.wrapup-clear:hover{background:var(--primary-bg, #F0EFF1)}.stats-table-wrap{overflow-x:auto;background:#fff;border-radius:12px;corner-shape:squircle;padding:.9rem 1rem;width:fit-content;max-width:100%;margin-inline:auto}.stats-table{border-collapse:collapse;width:auto;font-size:.85rem}.stats-table th,.stats-table td{padding:.5rem .4rem;border-bottom:1px solid var(--primary-bg, #F0EFF1);white-space:nowrap;text-align:right}.stats-table thead th{position:sticky;top:0;background:#fff;color:var(--primary-dark);font-weight:700}.stats-table td{font-variant-numeric:tabular-nums}.stats-table tbody tr:last-child th,.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover td{background:var(--primary-bg, #F0EFF1)}.stats-table .is-player{position:sticky;left:0;background:#fff;text-align:left;font-weight:600;min-width:100px}.stats-table tbody tr:hover .is-player{background:var(--primary-bg, #F0EFF1)}.stats-table .is-count{width:2.4rem;min-width:2.4rem}.stats-table .is-rate{width:3.5rem;min-width:3.5rem}.stats-table .is-wide{min-width:100px;text-align:left}.stats-th{cursor:pointer;-webkit-user-select:none;user-select:none}.stats-th:hover,.stats-th.is-sorted{color:var(--primary)}.wrapup-number{color:#999;font-weight:500;margin-left:.35rem}.wrapup-flag{margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;background:#fdecea;color:#b3261e;font-size:.7rem;font-weight:600}.stats-table tr.is-unmatched .is-player{color:#b3261e}.stats-empty{padding:2rem;background:#fff;border-radius:12px;text-align:center;color:#777;font-size:.9rem}.season-tabs{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.9rem}.stats-arrow{margin-left:.25rem;font-size:.65em;opacity:.8}.stats-table .is-sorted-col{background:var(--secondary-very-light, #f9eeee)}.stats-table thead th.is-sorted-col{background:var(--secondary-light, #f3d9d9)}.season-print-all{display:none}@media print{.season-print-all{display:block!important}.season-print-section{break-before:page}.season-print-heading{font-size:1rem;margin:0 0 .4rem;color:#000}.season-print-all .stats-table-wrap{padding:0;background:none}}.stats-tabbed{width:100%;max-width:880px;margin-inline:auto}.stats-tabbar{margin-bottom:0;padding:0 .5rem}.stats-tab{position:relative;padding:.85rem 1.5rem;border:none;border-radius:12px 12px 0 0;background:#ffffff8c;color:#6a7178;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .12s ease,color .12s ease}.stats-tab:hover{background:#ffffffd9;color:var(--primary-dark)}.stats-tab.active{background:#fff;color:var(--primary-dark)}.stats-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:#fff}.stats-tabbed .stats-table-wrap{width:100%;border-radius:12px;margin-inline:0}.stats-tabbed .stats-table{margin-inline:auto}.game-result{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:.75rem;width:fit-content;max-width:100%;margin:0 auto}.game-result-box{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-radius:16px}.help-popover{position:relative;display:inline-block}.help-popover-link{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;background:none;border:1.5px solid var(--primary);border-radius:50%;font:inherit;font-size:.82rem;font-weight:700;line-height:1;color:var(--primary);cursor:pointer;transition:background .12s ease,color .12s ease}.help-popover-link:hover{background:var(--primary);color:var(--on-primary, #fff)}.help-popover-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.help-popover-panel{position:absolute;left:0;top:calc(100% + .5rem);z-index:40;width:min(32rem,90vw);padding:1.5rem 1.75rem 1.75rem;background:#fff;border-radius:14px;box-shadow:0 2px 6px #0000001a,0 16px 40px #0000002e;text-align:left}.help-popover-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem;font-size:1rem;color:var(--primary-dark)}.help-popover-close{padding:0 .25rem;background:none;border:none;font-size:1.2rem;line-height:1;color:#999;cursor:pointer}.help-popover-close:hover{color:#333}.help-popover-body{font-size:.88rem;line-height:1.5;color:#444}.help-popover-body p{margin:0 0 .7rem}.help-popover-body ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.45rem}.help-popover-body li::marker{color:var(--primary)}.help-popover-body strong{color:var(--primary-dark)}.main-content>.batting-order,.main-content>.wrapup,.main-content>.field-diagram{margin-top:var(--view-top-gap)}.wrapup>.stats-tabbed{margin-top:.5rem}.score-input.innings-input{width:58px;padding-inline:.3rem}@supports (field-sizing: content){.score-input,.score-input.innings-input,.infield-count-input{field-sizing:content;width:auto;min-width:3rem}}.overview-table td.cell-empty{text-align:center;color:#9a9a9a;font-weight:400}.batting-order-empty{margin:0;padding:.9rem .75rem;font-size:.85rem;font-style:italic;font-weight:400;color:#6b6b6b;text-align:center;white-space:nowrap}.section-count{font-weight:400}
