:root{--color-orange: #FF8000;--color-navy: #0B3C5D;--color-black: #111111;--color-white: #ffffff;--c-bg: #fafafa;--c-surface: #f2f2f2;--c-border: #e4e4e4;--c-text: #1a1a1a;--c-text-muted: #6b6b6b;--c-text-inverse: #ffffff;--c-heading: #1a1a1a;--c-accent: #FF8000;--c-nav-bg: transparent;--c-nav-border: #e4e4e4;--c-nav-link: #6b6b6b;--c-nav-link-hover: #1a1a1a;--c-nav-active: #FF8000;--c-table-header-bg: #0B3C5D;--c-table-header-sc: #0B3C5D;--c-table-row-alt: #f2f2f2;--c-table-hover: #e8e8e8;--c-table-border: #e4e4e4;--c-collapsible-text: #1a1a1a;--c-collapsible-hover-bg: #f2f2f2;--c-collapsible-active-text: #FF8000;--c-link: #0B3C5D;--c-link-hover: #FF8000;--c-btn-primary-bg: #1a1a1a;--c-btn-primary-text: #ffffff;--c-btn-secondary-bg: #e4e4e4;--c-btn-secondary-text: #1a1a1a;--c-status-success: #166534;--c-status-success-bg: #dcfce7;--c-status-error: #991b1b;--c-status-error-bg: #fee2e2;--c-status-warning: #92400e;--c-status-warning-bg: #fef3c7;--c-status-info: #1e40af;--c-status-info-bg: #dbeafe;--c-warning-bg: #fef3c7;--c-warning-border: #fcd34d;--c-footer-border: #e4e4e4;--c-footer-text: #6b6b6b;--c-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%236b6b6b' d='M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z'/%3E%3C/svg%3E");--max-width: 900px;--nav-height: 56px;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: clamp(1.75rem, 3vw, 2.25rem);--leading: 1.7;--tracking: 0;--tracking-wide: .05em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--t-fast: .15s ease;--t-base: .25s ease;--t-slow: .35s cubic-bezier(.4, 0, .2, 1);--shadow-dropdown: 0 8px 16px rgba(0,0,0,.12)}@media(prefers-color-scheme:dark){:root:not([data-color-scheme=light]){--c-bg: #111111;--c-surface: #1c1c1c;--c-border: #2a2a2a;--c-text: #f0f0f0;--c-text-muted: #9a9a9a;--c-text-inverse: #ffffff;--c-heading: #f0f0f0;--c-nav-border: #2a2a2a;--c-nav-link: #9a9a9a;--c-nav-link-hover: #f0f0f0;--c-table-row-alt: #1c1c1c;--c-table-hover: #242424;--c-table-border: #2a2a2a;--c-collapsible-text: #f0f0f0;--c-collapsible-hover-bg: #1c1c1c;--c-btn-primary-bg: #f0f0f0;--c-btn-primary-text: #111111;--c-btn-secondary-bg: #2a2a2a;--c-btn-secondary-text: #f0f0f0;--c-link: #9a9a9a;--c-link-hover: #FF8000;--c-status-success: #86efac;--c-status-success-bg: #052e16;--c-status-error: #fca5a5;--c-status-error-bg: #450a0a;--c-status-warning: #fbbf24;--c-status-warning-bg: #2d1b00;--c-status-info: #93c5fd;--c-status-info-bg: #0f1f4a;--c-footer-border: #2a2a2a;--c-footer-text: #9a9a9a;--c-warning-bg: #2a2800;--c-warning-border: #6b6800;--c-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%239a9a9a' d='M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z'/%3E%3C/svg%3E")}}:root[data-color-scheme=dark]{--c-bg: #111111;--c-surface: #1c1c1c;--c-border: #2a2a2a;--c-text: #f0f0f0;--c-text-muted: #9a9a9a;--c-text-inverse: #ffffff;--c-heading: #f0f0f0;--c-nav-border: #2a2a2a;--c-nav-link: #9a9a9a;--c-nav-link-hover: #f0f0f0;--c-table-row-alt: #1c1c1c;--c-table-hover: #242424;--c-table-border: #2a2a2a;--c-collapsible-text: #f0f0f0;--c-collapsible-hover-bg: #1c1c1c;--c-btn-primary-bg: #f0f0f0;--c-btn-primary-text: #111111;--c-btn-secondary-bg: #2a2a2a;--c-btn-secondary-text: #f0f0f0;--c-link: #9a9a9a;--c-link-hover: #FF8000;--c-status-success: #86efac;--c-status-success-bg: #052e16;--c-status-error: #fca5a5;--c-status-error-bg: #450a0a;--c-status-warning: #fbbf24;--c-status-warning-bg: #2d1b00;--c-status-info: #93c5fd;--c-status-info-bg: #0f1f4a;--c-footer-border: #2a2a2a;--c-footer-text: #9a9a9a;--c-warning-bg: #2a2800;--c-warning-border: #6b6800;--c-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%239a9a9a' d='M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);margin:0;background-color:var(--c-bg);color:var(--c-text);font-size:var(--text-base);line-height:var(--leading);letter-spacing:var(--tracking)}h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-wide);color:var(--c-heading);margin-bottom:var(--space-2);margin-top:var(--space-4)}h2{font-size:var(--text-xl);font-weight:600;color:var(--c-heading);margin-top:var(--space-8);margin-bottom:var(--space-4)}h3{font-size:var(--text-lg);font-weight:600;color:var(--c-heading);margin-top:var(--space-6)}h5{margin-top:0}a{color:var(--c-link);transition:color var(--t-fast)}a:hover{color:var(--c-link-hover)}.custom-length{width:50%;margin-left:0}.site-nav{display:flex;align-items:center;gap:var(--space-2);height:var(--nav-height);padding:0 var(--space-6);background:var(--c-nav-bg);border-bottom:1px solid var(--c-nav-border);position:sticky;top:0;z-index:9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.site-nav__logo-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.site-nav__logo-text{font-size:var(--text-lg);font-weight:700;letter-spacing:var(--tracking-wide);color:var(--c-text)}.site-nav__links{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.site-nav__link{display:inline-flex;align-items:center;color:var(--c-nav-link);text-decoration:none;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--t-fast);white-space:nowrap}.site-nav__link:hover{color:var(--c-nav-link-hover)}.site-nav__link.is-active{color:var(--c-nav-active);font-weight:600}.site-nav__burger{display:none;background:none;border:none;color:var(--c-nav-link);padding:var(--space-2);cursor:pointer;line-height:1;margin-left:auto}.site-nav__theme-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--c-nav-link);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;line-height:1;flex-shrink:0;transition:color var(--t-fast)}.site-nav__theme-toggle:hover{color:var(--c-nav-link-hover)}.site-nav__dropdown{position:relative}.site-nav__dropbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-family:inherit;font-size:var(--text-sm);color:var(--c-nav-link);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--t-fast);white-space:nowrap}.site-nav__dropbtn:hover,.site-nav__dropbtn:focus{color:var(--c-nav-link-hover)}.site-nav__dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);background-color:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-dropdown);z-index:10;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--t-fast),transform var(--t-fast)}.site-nav__dropdown-menu a{display:block;color:var(--c-text);padding:var(--space-3) var(--space-4);text-decoration:none;font-size:var(--text-sm);transition:background var(--t-fast),color var(--t-fast)}.site-nav__dropdown-menu a:hover{background-color:var(--c-surface);color:var(--c-text)}.site-nav__dropdown-menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}@media screen and (max-width:600px){.site-nav{flex-wrap:wrap;height:auto;min-height:var(--nav-height);padding:var(--space-3) var(--space-4);align-items:center;gap:0}.site-nav__logo-link{order:1}.site-nav__theme-toggle{order:2;margin-left:auto}.site-nav__burger{display:flex;order:3;margin-left:0}.site-nav__links{display:none;order:4;flex-direction:column;align-items:stretch;flex:0 0 100%;gap:0;margin-left:0;padding-top:var(--space-2);border-top:1px solid var(--c-border);margin-top:var(--space-2)}.site-nav.is-open .site-nav__links{display:flex}.site-nav__link{width:100%;font-size:var(--text-base);padding:var(--space-3) var(--space-2)}.site-nav__dropdown{width:100%}.site-nav__dropbtn{width:100%;font-size:var(--text-base);padding:var(--space-3) var(--space-2);justify-content:flex-start}.site-nav__dropdown-menu{position:static;display:none;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border:none;border-left:2px solid var(--c-border);border-radius:0;margin-left:var(--space-4);transition:none}.site-nav__dropdown-menu.is-open{display:block}}.main{max-width:var(--max-width);margin:0 auto;padding:var(--space-10) var(--space-6);min-height:calc(100vh - var(--nav-height) - 80px)}@media screen and (max-width:600px){.main{padding-left:var(--space-4);padding-right:var(--space-4);padding-top:var(--space-8)}}.footer{border-top:1px solid var(--c-footer-border);padding:var(--space-8) var(--space-6);text-align:center;font-size:var(--text-xs);color:var(--c-footer-text)}.footer a,.footer__admin-link{color:var(--c-footer-text);text-decoration:none;transition:color var(--t-fast)}.footer a:hover,.footer__admin-link:hover{color:var(--c-accent)}.standing-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);display:block;overflow-x:auto;white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--c-table-border)}.standing-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-3) var(--space-4);text-align:left}.standing-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-table-border);color:var(--c-text)}.standing-table tr:hover td{background:var(--c-table-hover)}.standing-table td:nth-child(n+2):nth-child(-n+16),.standing-table th:nth-child(n+2):nth-child(-n+16){width:5%}.standing-table tr:last-child td{border-bottom:none}.collapsible{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-2);background:none;border:none;border-bottom:1px solid var(--c-border);color:var(--c-collapsible-text);font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.collapsible:hover{background:var(--c-collapsible-hover-bg)}.collapsible.active{color:var(--c-collapsible-active-text)}.collapsible__chevron{transition:transform var(--t-base);flex-shrink:0;color:currentColor}.collapsible.active .collapsible__chevron{transform:rotate(180deg)}.scorecard{max-height:0;overflow:hidden;transition:max-height var(--t-slow)}.scorecard-tables{font-size:var(--text-sm);text-align:center;border-collapse:collapse;table-layout:auto;width:100%;margin-top:var(--space-5);display:block;overflow-x:auto;white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--c-table-border)}.scorecard-tables tr{height:28px}.scorecard-tables th{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;background-color:var(--c-table-header-sc);color:var(--c-text-inverse);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.scorecard-tables td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border);color:var(--c-text)}.scorecard-tables td:first-child{text-align:left;width:20%;font-size:var(--text-xs)}.scorecard-tables td:nth-child(n+2):nth-child(-n+20),.scorecard-tables th:nth-child(n+2):nth-child(-n+20){width:4%;font-size:var(--text-xs)}.scorecard-tables tr:hover td{background-color:var(--c-table-hover)}.scorecard-tables tr:nth-last-child(-n+3) td{text-align:center;font-size:var(--text-xs);color:var(--c-text-inverse);background-color:var(--c-table-header-sc);border-bottom:1px solid rgba(255,255,255,.1)}.scorecard-tables tr:nth-last-child(-n+3):hover td{background-color:var(--c-table-hover);color:var(--c-text)}.scorecard-tables tr:last-child td{border-bottom:none}.scorecard-tables tr.dummy-row td{font-style:italic;color:var(--c-text-muted)}.scoresheets-table{font-size:var(--text-base);border-collapse:collapse;text-transform:uppercase}.scoresheets-table td,.scoresheets-table th{border-bottom:1px solid var(--c-border);padding:var(--space-3) var(--space-5)}.scoresheets-table tr:hover td{background-color:var(--c-table-hover)}.scoresheets-table th{text-align:left;background-color:var(--c-table-header-bg);color:var(--c-text-inverse);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}.bonus-tables{font-size:var(--text-sm);text-align:center;border-collapse:collapse;table-layout:auto;width:100%;margin-left:auto;margin-right:auto;display:block;overflow-x:auto;white-space:nowrap}.bonus-tables tr{height:35px}.bonus-tables th{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;background-color:var(--c-table-header-bg);color:var(--c-text-inverse);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.bonus-tables td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border);color:var(--c-text)}.bonus-tables td:first-child{text-align:center;width:5%;font-size:var(--text-sm)}.bonus-tables td:nth-child(n+2):nth-child(-n+16),.bonus-tables th:nth-child(n+2):nth-child(-n+16){width:5%}.bonus-tables tr:hover td{background-color:var(--c-table-hover)}.btn-primary{background-color:var(--c-btn-primary-bg);color:var(--c-btn-primary-text);border:none;padding:var(--space-2) var(--space-5);cursor:pointer;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;font-weight:500;transition:opacity var(--t-fast),transform var(--t-fast)}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--c-btn-secondary-bg);color:var(--c-btn-secondary-text);border:none;padding:var(--space-2) var(--space-5);cursor:pointer;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;font-weight:500;transition:opacity var(--t-fast),transform var(--t-fast)}.btn-secondary:hover{opacity:.88;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{background-color:var(--c-status-error-bg);color:var(--c-status-error);border:none;padding:var(--space-2) var(--space-5);cursor:pointer;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;font-weight:500;transition:opacity var(--t-fast),transform var(--t-fast)}.btn-danger:hover{opacity:.88;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.admin-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--c-surface);margin-bottom:var(--space-6);border-radius:var(--radius-md)}.admin-status{margin:var(--space-3) 0 0;font-size:var(--text-sm);min-height:1.25em;border-radius:var(--radius-sm)}.admin-status--success{color:var(--c-status-success);background-color:var(--c-status-success-bg);padding:var(--space-2) var(--space-3)}.admin-status--error{color:var(--c-status-error);background-color:var(--c-status-error-bg);padding:var(--space-2) var(--space-3)}.admin-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.admin-shooters-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.admin-shooters-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-2) var(--space-3);text-align:left}.admin-shooters-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border);vertical-align:middle}.admin-shooters-table tr:last-child td{border-bottom:none}.ap-shooter-total{font-variant-numeric:tabular-nums;font-weight:600;color:var(--c-text-muted);text-align:center}.ap-score-input{width:4.5rem;text-align:center;padding:var(--space-1) var(--space-2);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);transition:border-color var(--t-fast)}.ap-score-input:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 15%,transparent)}.ap-remove-shooter{background:none;border:none;cursor:pointer;color:var(--c-status-error);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);opacity:.6;line-height:1;transition:opacity var(--t-fast),background-color var(--t-fast)}.ap-remove-shooter:hover{opacity:1;background-color:var(--c-status-error-bg)}.admin-saved-list{list-style:none;padding:0;margin:var(--space-3) 0 0;font-size:var(--text-sm)}.admin-saved-item{padding:var(--space-2) 0;border-bottom:1px solid var(--c-table-border);color:var(--c-text)}.admin-saved-item:last-child{border-bottom:none}.admin-saved-key{font-weight:600;color:var(--c-heading)}.admin-publish-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--c-border)}.admin-publish-note{font-size:var(--text-sm);color:var(--c-text-muted);margin:0 0 var(--space-4);line-height:var(--leading)}.ap-date-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0 var(--space-4)}.ap-date-card--editing{border-color:var(--c-accent)}.ap-date-card__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.ap-date-card__label{font-size:var(--text-sm);font-weight:600;color:var(--c-heading)}.ap-date-card__body{display:flex;align-items:center;gap:var(--space-3)}.ap-date-display{font-size:var(--text-base);color:var(--c-text);flex:1}.ap-date-display--cancelled{color:#dc2626;font-weight:700;letter-spacing:var(--tracking-wide);flex:1}.ap-date-edit-btn{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);white-space:nowrap}.ap-date-lock{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--c-text-muted);cursor:default}.ap-date-warning{display:flex;align-items:flex-start;gap:var(--space-2);background:color-mix(in srgb,var(--c-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 30%,transparent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--c-text);margin-bottom:var(--space-3)}.ap-date-warning svg{flex-shrink:0;margin-top:1px;color:var(--c-accent)}.ap-date-edit-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.ap-date-input{padding:var(--space-1) var(--space-2);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);transition:border-color var(--t-fast)}.ap-date-input:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 15%,transparent)}.ap-date-input:disabled{opacity:.45;cursor:not-allowed}.ap-cancelled-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--c-text);cursor:pointer}.ap-date-edit-actions{display:flex;gap:var(--space-2)}.ap-date-badge{font-size:var(--text-xs);background:var(--c-accent);color:#fff;padding:2px 6px;border-radius:var(--radius-sm)}.ap-date-badge--cancelled{background:#dc2626}.map-container{text-align:center}#toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:200;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;pointer-events:auto;max-width:420px;width:max-content;border-left:3px solid;animation:toast-in .3s cubic-bezier(.22,1,.36,1) forwards}.toast__msg{flex:1}.toast__close{background:none;border:none;cursor:pointer;font-size:var(--text-xs);color:inherit;opacity:.55;padding:0;line-height:1;flex-shrink:0;transition:opacity var(--t-fast)}.toast__close:hover{opacity:1}.toast--success{background:var(--c-status-success-bg);color:var(--c-status-success);border-color:var(--c-status-success)}.toast--error{background:var(--c-status-error-bg);color:var(--c-status-error);border-color:var(--c-status-error)}.toast--info{background:var(--c-status-info-bg);color:var(--c-status-info);border-color:var(--c-status-info)}.toast--warning{background:var(--c-status-warning-bg);color:var(--c-status-warning);border-color:var(--c-status-warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(32px) translate(12px)}to{opacity:1;transform:translateY(0) translate(0)}}.toast--out{animation:toast-out .25s cubic-bezier(.4,0,1,1) forwards}@keyframes toast-out{0%{opacity:1;transform:translateY(0) translate(0)}to{opacity:0;transform:translateY(20px) translate(8px)}}.confirm-dialog{border:none;border-radius:var(--radius-lg);padding:2rem;max-width:440px;width:90%;box-shadow:0 20px 60px #0000004d;background:var(--c-surface);color:var(--c-text)}.confirm-dialog::backdrop{background:#0000008c}.confirm-dialog__title{margin:0 0 .75rem;font-size:1.25rem;color:var(--c-status-error)}.confirm-dialog__warning{margin:0 0 1rem;font-size:.9rem;line-height:1.5;color:var(--c-text-muted)}.confirm-dialog__instruction{margin:0 0 .5rem;font-size:.9rem}.confirm-dialog__input{width:100%;margin-bottom:1.25rem;box-sizing:border-box}.confirm-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end}.roster-dialog{border:none;border-radius:var(--radius-lg);padding:2rem;max-width:600px;width:90%;box-shadow:0 8px 32px #0000002e;background:var(--c-bg);color:var(--c-text)}.roster-dialog::backdrop{background:#0000008c}.roster-dialog__header{margin-bottom:var(--space-4)}.roster-dialog__title{font-size:1.1rem;font-weight:700;color:var(--c-heading);margin:0}.roster-dialog__footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.admin-icon-btn--danger{color:var(--c-status-error)}.admin-icon-btn--danger:hover:not(:disabled){background:var(--c-status-error-bg)}select{appearance:none;-webkit-appearance:none;background-color:var(--c-bg);background-image:var(--c-select-arrow);background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:10px auto;border:1px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);cursor:pointer;font-family:inherit;font-size:var(--text-sm);padding:var(--space-2) calc(var(--space-3) + 22px) var(--space-2) var(--space-3);transition:border-color var(--t-fast),box-shadow var(--t-fast);min-width:120px}select:hover{border-color:var(--c-text-muted)}select:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px #ff800026}.ann-section{margin-bottom:var(--space-4)}.ann-section__heading{font-size:var(--text-lg);font-weight:700;color:var(--c-heading);margin:0 0 var(--space-3)}.ann-card-list{display:flex;flex-direction:column;gap:var(--space-3)}.ann-card{background:var(--c-bg);border:1px solid var(--c-table-border);border-radius:var(--radius-md);padding:var(--space-4)}.ann-card__header{margin-bottom:var(--space-3)}.ann-card__title{font-size:var(--text-base);font-weight:600;color:var(--c-heading);margin:0 0 4px}.ann-card__meta{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-xs);color:var(--c-text-muted)}.ann-card__edited{font-style:italic}.ann-card__body{font-size:var(--text-sm);color:var(--c-text);line-height:1.6}.ann-card__body p{margin:0 0 .5rem}.ann-card__body p:last-child{margin-bottom:0}.ann-card__body ul,.ann-card__body ol{padding-left:1.5rem;margin:.25rem 0 .5rem}.ann-card__body strong{font-weight:600}.ann-card__body a{color:var(--c-accent)}.ann-card__body code{font-size:.9em;background:var(--c-table-border);padding:.1em .3em;border-radius:3px}.accolades-section{margin-bottom:var(--space-4)}.accolades-section__heading{font-size:var(--text-base);font-weight:700;color:var(--c-heading);margin:0 0 var(--space-3)}.accolades-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.accolades-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.accolades-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.accolades-badge--50{background:var(--c-accent);color:var(--c-text-inverse)}.accolades-badge--25{background:var(--c-table-header-bg);color:var(--c-text-inverse)}.accolades-item__name{font-weight:600;color:var(--c-text)}.accolades-item__team{color:var(--c-text-muted)}.hs-subtitle{font-size:var(--text-sm);color:var(--c-text-muted);margin:0 0 var(--space-4)}.home-standings-controls,.season-scorecards-controls,.admin-form-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.home-standings-controls label,.season-scorecards-controls label,.admin-form-row label{font-size:var(--text-sm);font-weight:500;color:var(--c-text-muted)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.admin-tabs{display:flex;border-bottom:1px solid var(--c-border);margin-bottom:var(--space-6)}.admin-tab-btn{padding:var(--space-3) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;color:var(--c-text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);margin-bottom:-1px}.admin-tab-btn:hover{color:var(--c-text)}.admin-tab-btn.is-active{color:var(--c-accent);border-bottom-color:var(--c-accent)}.admin-tab-panel--hidden{display:none}.admin-roster-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.admin-roster-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-2) var(--space-3);text-align:left}.admin-roster-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border)}.admin-roster-table tr:last-child td{border-bottom:none}input[type=text].admin-input,input[type=text].ap-shooter-name,input[type=text].ap-roster-name{padding:var(--space-2) var(--space-3);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);width:100%;transition:border-color var(--t-fast)}input[type=text].admin-input:focus,input[type=text].ap-shooter-name:focus,input[type=text].ap-roster-name:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 15%,transparent)}.admin-section{margin-bottom:var(--space-8)}.admin-section h3{margin-top:0;margin-bottom:var(--space-4);font-size:var(--text-base);font-weight:600;color:var(--c-heading)}.admin-new-team-form{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.admin-new-team-form .admin-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:160px}.admin-new-team-form label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--c-text-muted)}.admin-team-heading{font-size:var(--text-base);font-weight:600;color:var(--c-heading);margin:0 0 var(--space-3)}.admin-table-wrapper{overflow:visible;border-radius:var(--radius-md);border:1px solid var(--c-table-border);margin-bottom:var(--space-4)}.admin-table-wrapper table thead th:first-child{border-top-left-radius:var(--radius-md)}.admin-table-wrapper table thead th:last-child{border-top-right-radius:var(--radius-md)}.admin-table-wrapper table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.admin-table-wrapper table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.roster-dialog .admin-table-wrapper{margin-bottom:0}.ann-editor{border:1px solid var(--c-table-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.ann-editor__field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.ann-editor__field label{font-size:var(--text-sm);font-weight:500;color:var(--c-heading)}.ann-editor__input,.ann-editor__textarea{width:100%;padding:6px 10px;border:1px solid var(--c-table-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--c-bg);color:var(--c-text);box-sizing:border-box}.ann-editor__textarea{resize:vertical;font-family:monospace;min-height:120px}.ann-editor__actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.ann-admin-card{border:1px solid var(--c-table-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.ann-admin-card__header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:4px;margin-bottom:6px}.ann-admin-card__title{font-weight:600;color:var(--c-heading)}.ann-admin-card__meta{font-size:var(--text-xs);color:var(--c-text-muted)}.ann-admin-card__body{font-size:var(--text-sm);white-space:pre-wrap;font-family:monospace;background:var(--c-table-border);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3);overflow-x:auto}.ann-admin-card__actions{display:flex;gap:var(--space-3)}.admin-team-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.admin-team-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-2) var(--space-3);text-align:left}.admin-team-table th:last-child{width:196px}.admin-team-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border);vertical-align:middle}.admin-team-table tr:last-child td{border-bottom:none}.admin-team-table td:not(.admin-team-actions){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-team-row--editing td input{min-width:0;width:100%;box-sizing:border-box}.admin-team-row--editing td{background:color-mix(in srgb,var(--c-accent) 6%,var(--c-bg));border-bottom-color:var(--c-accent)}.admin-team-empty{font-size:var(--text-sm);color:var(--c-text-muted);margin:var(--space-4) 0}.admin-team-actions{text-align:right;white-space:nowrap;padding-left:var(--space-5)}.admin-team-actions--edit{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center;white-space:nowrap}.admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--c-text-muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.admin-icon-btn:hover:not(:disabled){color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 10%,transparent);border-color:var(--c-accent)}.admin-icon-btn:disabled{opacity:.35;cursor:not-allowed}.admin-icon-btn svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--c-heading);color:var(--c-bg);font-size:var(--text-xs);font-weight:500;line-height:1.3;padding:4px 10px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000002e;pointer-events:none;opacity:0;transition:opacity var(--t-fast);z-index:300}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--c-heading);pointer-events:none;opacity:0;transition:opacity var(--t-fast);z-index:300}[data-tooltip]:hover:after,[data-tooltip]:hover:before,[data-tooltip]:focus-visible:after,[data-tooltip]:focus-visible:before{opacity:1}.admin-add-team-btn{margin-top:var(--space-2)}.scoresheet-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.scoresheet-heading{margin:0;font-size:var(--text-xl)}.scoresheet-controls{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.scoresheet-controls p{margin:0;color:var(--c-text-muted);font-size:var(--text-sm)}.scoresheet-card{background:var(--c-surface);border-radius:var(--radius-md);box-shadow:0 1px 4px #00000014;padding:var(--space-6);margin-bottom:var(--space-8)}.scoresheet-team-name{margin:0 0 var(--space-4) 0;color:var(--c-heading)}.scoresheet-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.scoresheet-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);text-transform:uppercase;font-size:var(--text-xs, .75rem);letter-spacing:.05em;padding:var(--space-2) var(--space-3);text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}.scoresheet-table td{padding:2px var(--space-3);border-bottom:1px solid var(--c-table-border)}.scoresheet-table td.fill{border:1px solid var(--c-border);min-width:60px}.scoresheet-table th:nth-child(2),.scoresheet-table td:nth-child(2){text-align:center}.scoresheet-table td.scoresheet-dummy-note{font-size:var(--text-sm, .875rem);font-style:italic;color:var(--c-text-muted);line-height:1.4;vertical-align:middle;padding:var(--space-2) var(--space-3)}.scoresheet-season-label{font-size:var(--text-sm);color:var(--c-text-muted)}.scoresheet-date-label{font-size:var(--text-sm);color:var(--c-text-muted);margin:0}.scoresheet-date-cancelled{color:#dc2626;font-weight:700;letter-spacing:var(--tracking-wide)}.scoresheet-print-header,.scoresheet-print-footer,#sg-cards{display:none}.yardage-section{margin-bottom:var(--space-8)}.yardage-controls{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.yardage-heading{margin:0;font-size:var(--text-xl)}.yardage-card{background:var(--c-surface);border-radius:var(--radius-md);box-shadow:0 1px 4px #00000014;padding:var(--space-6)}.yardage-instructions{margin:0 0 var(--space-3)}.yardage-steps{margin:0 0 var(--space-4);padding-left:var(--space-6)}.yardage-steps li{margin-bottom:var(--space-1)}.yardage-table{width:100%;max-width:28rem;border-collapse:collapse;font-size:var(--text-sm);margin:0 auto}.yardage-table th{background:var(--c-table-header-bg);color:var(--c-text-inverse);text-transform:uppercase;padding:var(--space-2) var(--space-3);font-size:.75rem;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}.yardage-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-table-border);text-align:center}@media print{.site-nav,.footer,#toast-container,.home-standings-controls,.season-scorecards-controls{display:none}.main{max-width:100%;padding:0}body{font-size:11pt;color:#000;background:#fff}.standing-table,.scorecard-tables{font-size:9pt;page-break-inside:avoid}.standing-table th,.scorecard-tables th{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.collapsible~.scorecard{max-height:none!important;overflow:visible!important}body.print-scoresheets yardage-table{display:none}.scoresheet-header,body.print-yardage .downloads-scoresheet-section,.yardage-controls{display:none}.yardage-section{display:flex;flex-direction:column;align-items:center}.yardage-card{width:100%;max-width:none;box-shadow:none}.yardage-table th{background:#000!important;color:#fff!important}.scoresheet-controls{display:none}.scoresheet-card{page-break-after:always;box-shadow:none}.scoresheet-table td,.scoresheet-table td.fill{border:1px solid #000!important;padding:1pt 6pt;height:11pt;vertical-align:middle}.scoresheet-table td.fill{min-width:40pt}.scoresheet-table td.scoresheet-dummy-note{font-size:9pt;font-style:italic;height:auto;padding:5pt 8pt;vertical-align:middle}#sg-cards,.scoresheet-print-header,.scoresheet-print-footer{display:block}.scoresheet-league-title{font-size:18pt;font-weight:700;margin:0 0 4pt;text-align:center}.scoresheet-week-label{font-size:11pt;margin:0 0 12pt;text-align:center}.scoresheet-print-footer{margin-top:16pt;font-size:8pt;color:#555;border-top:1px solid #ccc;padding-top:6pt}}.season-calendar{margin-bottom:var(--space-8)}.calendar-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,260px));gap:var(--space-4);justify-content:center}.calendar-month{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-3)}.calendar-month-title{font-size:var(--text-base);font-weight:600;color:var(--c-heading);margin-bottom:var(--space-2)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day-header{text-align:center;font-size:.7rem;color:var(--c-text-muted);font-weight:600;padding-bottom:2px}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--c-text)}.calendar-cell--shoot{background:var(--c-table-header-bg);color:#fff;font-weight:600}.calendar-cell--practice{background:var(--c-accent);color:#fff;font-weight:600}.calendar-cell--holiday{background:#dc2626;color:#fff;font-weight:600}.calendar-cell--cancelled{color:var(--c-text-muted);text-decoration:line-through}.calendar-cell--today{outline:2px solid var(--c-accent);outline-offset:-2px}@media(prefers-color-scheme:dark){.calendar-cell--shoot{background:#1e5f8e}}.calendar-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--c-text-muted);align-items:center}.calendar-legend-item{display:flex;align-items:center;gap:var(--space-1)}.calendar-legend-swatch{width:14px;height:14px;border-radius:var(--radius-sm)}
