:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--navy:#0c1222;--navy-soft:#151d32;--charcoal:#1e293b;--ink:#0f172a;--bg:#fafafa;--bg-page:#fff;--surface:#fff;--surface-hover:#f8fafc;--text:var(--ink);--muted:#64748b;--border:#e8ecf1;--border-strong:#d1d9e6;--clay:#ea580c;--clay-hover:#c2410c;--clay-soft:#fff7ed;--clay-ring:#ea580c47;--nav-text:#cbd5e1;--nav-text-hover:#f8fafc;--danger:#b91c1c;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0c12220a;--shadow-md:0 8px 24px #0c12220f;--shadow-lg:0 20px 50px #0c122214}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}.page,section{max-width:1040px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.page{padding-top:2.5rem;padding-bottom:4rem}.site-header{justify-content:space-between;align-items:center;gap:1rem;max-width:1040px;margin:0 auto;padding:1.25rem 1.5rem;display:flex}.site-header-lockup{color:inherit;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.site-header-lockup:hover .site-header-wordmark{color:var(--charcoal)}.site-header-wordmark{letter-spacing:-.03em;color:var(--navy);font-size:1.125rem;font-weight:700}.site-header-logo-accent{color:var(--clay)}.brand-logo{object-fit:contain;flex-shrink:0;display:block}.brand-logo--header{width:40px;height:40px}.brand-logo--nav{width:32px;height:32px}.brand-logo--hero{width:clamp(76px,16vw,100px);height:clamp(76px,16vw,100px)}.brand-logo--auth{width:64px;height:64px}.site-header-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1.25rem;display:flex}.site-header-nav a{color:var(--muted);font-size:.875rem;font-weight:500;text-decoration:none}.site-header-nav a:hover{color:var(--clay)}.site-header-nav a.site-header-nav-cta{color:var(--navy);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.35rem .8rem;font-weight:600}.site-header-nav a.site-header-nav-cta:hover{border-color:var(--clay);color:var(--clay)}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:3.5rem;padding-top:2rem}.site-footer a{color:var(--muted);font-size:.8125rem;font-weight:500;text-decoration:none}.site-footer a:hover{color:var(--clay)}.hero{grid-template-columns:1.35fr 1fr;align-items:start;gap:3rem;padding:2rem 0 1rem;display:grid}@media (width<=880px){.hero{grid-template-columns:1fr;gap:2rem;padding-top:1rem}}.hero-intro{gap:2rem;display:grid}.hero-brand-row{align-items:center;gap:1.1rem;display:flex}.brand-wordmark{letter-spacing:-.04em;color:var(--navy);margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.1}.hero-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--clay);margin:.5rem 0 0;font-size:.8125rem;font-weight:600}.hero-headline{letter-spacing:-.03em;color:var(--navy);margin:0;font-size:clamp(1.65rem,3.2vw,2.125rem);font-weight:650;line-height:1.2}.hero-lead{max-width:38rem;color:var(--muted);margin:1rem 0 0;font-size:1.0625rem;line-height:1.65}.landing-coach-line{max-width:38rem;color:var(--muted);margin:1.25rem 0 0;font-size:.9375rem;line-height:1.6}.landing-coach-line-kicker{color:var(--charcoal);font-weight:600}.landing-coach-line a{color:var(--navy);text-underline-offset:2px;font-weight:500;text-decoration:underline}.landing-coach-line a:hover{color:var(--clay)}.landing-coach-line-sep{opacity:.55;margin:0 .4rem}.landing-coach-line-note{margin-top:.4rem;font-size:.875rem;line-height:1.5;display:block}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.btn-primary{background:var(--clay);color:#fff;font-family:var(--font);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.btn-primary:hover{background:var(--clay-hover);color:#fff}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--surface);color:var(--navy);font-family:var(--font);border-radius:var(--radius-md);border:1px solid var(--border-strong);cursor:pointer;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--clay);color:var(--clay);background:var(--clay-soft)}.hero-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:2rem 1.75rem}.hero-card-lockup{letter-spacing:-.02em;color:var(--navy);margin:0 0 1rem;font-size:1.125rem;font-weight:700}.hero-card-body{color:var(--muted);margin:.85rem 0 0;font-size:.9375rem;line-height:1.65}.features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:3.5rem;display:grid}.features article{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.75rem 1.75rem 1.85rem;transition:border-color .2s,box-shadow .2s}.features article:hover{box-shadow:var(--shadow-sm);border-color:#ea580c38}.features article h3{color:var(--navy);margin:0 0 .5rem;font-size:1.0625rem;font-weight:600}.features article p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.65}.public-page{background:var(--bg-page);max-width:100%;min-height:calc(100vh - 4rem);margin:0 auto}@media (width<=640px){.public-page.page{padding:1.75rem 1rem 2.5rem}.public-page .detail-card{border-radius:var(--radius-lg);padding:1.25rem 1.1rem 1.35rem}.public-page .scores-filter-grid{grid-template-columns:1fr}.public-page .scores-filter-grid select{width:100%;min-height:2.75rem;font-size:1rem}.public-page .public-scoreboard-table{font-size:.85rem}.public-page .public-hero input{min-height:2.75rem}}.table-scroll-touch{-webkit-overflow-scrolling:touch;overflow-x:auto}.public-page section>h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:600}.public-hero{gap:.75rem;padding:1.25rem 0 1.5rem;display:grid}.public-hero h1{letter-spacing:-.03em;color:var(--navy);margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.public-hero>p{color:var(--muted);max-width:38rem;margin:0;font-size:1rem}.public-hero input{width:100%;max-width:480px;margin-top:.75rem}.tournament-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.tournament-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:inherit;padding:1.4rem 1.45rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:block}.tournament-card:hover{box-shadow:var(--shadow-md);border-color:#ea580c59;transform:translateY(-2px)}.tournament-card h3{color:var(--navy);margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.tournament-card p{color:var(--muted);margin:.2rem 0;font-size:.875rem}.my-tournaments-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.tournament-grid--public{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.tournament-card--mine{min-height:11.5rem;padding:1.5rem 1.5rem 1.35rem}.tournament-card--mine__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tournament-card--mine__badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.35rem;display:flex}.tournament-card--mine__head h3{flex:1;margin:0;font-size:1.1rem;line-height:1.35}.tournament-card--mine__status{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--muted);border:1px solid var(--border);flex-shrink:0;padding:.28rem .55rem;font-size:.72rem;font-weight:600}.tournament-card--mine__status--published,.tournament-card--mine__status--live{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.tournament-card--mine__status--draft{background:var(--clay-soft);color:var(--clay-hover);border-color:#ea580c40}.tournament-card--mine__status--finalized{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.tournament-card--mine__location{color:var(--muted);margin:.65rem 0 0;font-size:.88rem;line-height:1.45}.tournament-card--mine__when{flex-direction:column;gap:.2rem;margin-top:.85rem;display:flex}.tournament-card--mine__date{color:var(--charcoal);font-size:.95rem;font-weight:600}.tournament-card--mine__time{color:var(--muted);font-size:.88rem}.tournament-card--mine__events{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid var(--border);margin:1rem 0 0;padding:.65rem .75rem;list-style:none}.tournament-card--mine__events li{color:var(--text);font-variant-numeric:tabular-nums;margin:.28rem 0;font-size:.82rem}.tournament-card--mine__events-empty{color:var(--muted);margin:.85rem 0 0;font-size:.82rem;font-style:italic}.detail-card{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);margin-top:.5rem;padding:2rem 2rem 2.25rem}.detail-card h1{letter-spacing:-.02em;color:var(--navy);margin:0 0 .75rem;font-size:1.65rem;font-weight:700}.meta{color:var(--muted);margin:.35rem 0;font-size:.95rem}.tournament-description{white-space:pre-wrap;color:var(--text);margin-top:1.25rem;line-height:1.55}.public-scores-page{padding:1.25rem 1.5rem 3rem}.report-picker-bar{margin-top:0;padding:1rem 1.25rem .75rem}.report-picker-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.report-picker-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.8rem;font-weight:600}.report-picker-select{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);min-width:220px;max-width:520px;color:var(--text);flex:1;padding:.45rem .6rem;font-size:.9rem}.report-picker-go{letter-spacing:.06em;min-height:38px;padding:.45rem 1.25rem;font-size:.9rem}.report-picker-status{color:var(--muted);align-items:center;gap:1rem;margin-top:.5rem;font-size:.78rem;display:flex}.report-picker-status-hint{color:var(--clay);font-weight:500}.highgun-rank{color:var(--muted);font-size:.85rem;font-weight:700}.highgun-top-row td{background:color-mix(in srgb, var(--navy) 4%, transparent)}.highgun-top-row .highgun-rank{color:var(--navy)}.public-scoreboard-table{border-collapse:collapse;width:100%;font-size:.9rem}.public-scoreboard-table th,.public-scoreboard-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .45rem}.public-scoreboard-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.public-scoreboard-table td.num{text-align:right;font-variant-numeric:tabular-nums}.scoreboard-table--clean thead th{background:var(--bg);border-bottom:2px solid var(--border-strong);vertical-align:bottom}.scoreboard-table--clean tbody tr:nth-child(2n){background:#f8fafcb3}.scoreboard-table--clean tbody tr:hover{background:#fff7ed8c}.scoreboard-col-shooter{white-space:normal;word-break:break-word;min-width:11rem;max-width:22rem}.public-scoreboard-table td.public-scoreboard-event{color:var(--muted);max-width:10rem;font-size:.8rem;line-height:1.35}.individual-results-cards{display:none}.mobile-score-card{border-bottom:1px solid var(--border);padding:.6rem 0}.mobile-score-card:last-child{border-bottom:none}.mobile-score-card-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.mobile-score-card-name{overflow-wrap:break-word;min-width:0;font-size:.92rem;font-weight:600}.mobile-score-card-total{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.05rem;font-weight:700}.mobile-score-card-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem;margin-top:.18rem;font-size:.78rem;display:flex}.mobile-score-card-rounds{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.public-scoreboard-table .score-entry-round-input{text-align:center;width:3.1rem;min-width:2.85rem;max-width:100%;padding:.2rem .35rem;font-size:.85rem}.score-entry-table th.num{white-space:nowrap;line-height:1.25}.score-entry-cell{flex-direction:column;align-items:center;gap:.2rem;min-width:3.25rem;display:flex}.score-entry-round-input--invalid{box-shadow:0 0 0 2px #b91c1c26;border-color:var(--danger)!important}.score-entry-cell-error{color:var(--danger);text-align:center;max-width:5.5rem;font-size:.68rem;font-weight:600;line-height:1.15}.score-entry-save-status{min-height:1.5rem;margin-top:.35rem;font-size:.88rem;line-height:1.45}.score-entry-group-row td{letter-spacing:.02em;color:var(--muted,#555);background:linear-gradient(to bottom, var(--surface-hover,#eeeff2), #ffffff59);border-top:1px solid var(--border,#ccc);padding:.4rem .65rem;font-size:.78rem;font-weight:600}.score-entry-group-row--team td{color:var(--text,#111);padding-top:.55rem;font-size:.85rem}.score-entry-group-row--squad td{padding-top:.35rem;padding-bottom:.35rem;font-size:.8rem;font-weight:500}.score-entry-placement-hint,.category-lb-placement{color:var(--accent,#b45309);cursor:help;margin-left:.12rem;font-weight:700}.score-placement-note-input{width:100%;min-width:8rem;max-width:14rem;padding:.25rem .4rem;font-size:.82rem}.score-value-perfect,.public-scoreboard-table .score-value-perfect{font-style:italic;font-weight:700}.host-scoring-topn-label{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem;display:inline-flex}.host-scoring-topn-label select{min-width:12rem}.scores-filter-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.75rem 1rem;margin-top:.5rem;display:grid}.scores-filter-grid label{color:var(--text);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.category-leaderboards-event-row{margin:.35rem 0 .85rem}.category-leaderboards-event-label{color:var(--text);flex-direction:column;gap:.35rem;max-width:28rem;font-size:.85rem;font-weight:600;display:flex}.category-leaderboards-event-label select{width:100%;min-width:12rem;max-width:100%}@media (width<=520px){.category-leaderboards-event-label{max-width:none}.category-leaderboards-event-label select{min-height:2.75rem;font-size:1rem}}.category-leaderboards-intro{max-width:720px;margin:0 0 .75rem;font-size:.88rem}.category-leaderboard-event{margin-top:1rem}.category-leaderboard-event--no-event-title .category-leaderboard-gender:first-of-type{margin-top:0}.category-leaderboard-event-title{margin:0 0 1rem}.category-leaderboard-event+.category-leaderboard-event{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.5rem}.category-leaderboard-gender{margin-top:1.15rem}.category-leaderboard-gender:first-of-type{margin-top:.75rem}.category-leaderboard-gender-title{color:var(--navy-soft);margin:0 0 .65rem;font-size:.95rem;font-weight:700}.category-leaderboard-buckets{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=960px){.category-leaderboard-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.category-leaderboard-buckets{grid-template-columns:repeat(3,minmax(0,1fr))}}.category-leaderboard-bucket-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-sm);padding:.85rem 1rem 1rem}.category-leaderboard-bucket-card--empty{padding-bottom:.85rem}.category-leaderboard-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .55rem;font-size:.82rem;font-weight:600}.category-leaderboard-bucket-card--empty .category-leaderboard-empty{margin:0;font-size:.85rem}.category-lb-list{margin:0;padding:0;list-style:none}.category-lb-item{border-bottom:1px solid var(--border);grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.55rem .75rem;padding:.5rem 0;display:grid}.category-lb-item:last-child{border-bottom:none}.category-lb-rank{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);width:1.85rem;height:1.85rem;color:var(--muted);justify-content:center;justify-self:start;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.category-lb-main{min-width:0}.category-lb-name{color:var(--text);overflow-wrap:anywhere;font-size:.92rem;font-weight:600;line-height:1.25;display:block}.category-lb-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.12rem;font-size:.78rem;display:block;overflow:hidden}.category-lb-scores{text-align:right;justify-self:end}.category-lb-tot{font-variant-numeric:tabular-nums;color:var(--ink);font-size:clamp(1.1rem,3.5vw,1.35rem);font-weight:700;line-height:1.1;display:block}.public-tournament-title{letter-spacing:-.02em;margin:0 0 .15rem}.public-tournament-meta-grid{grid-template-columns:1fr;gap:1rem 1.5rem;margin:1.1rem 0 0;display:grid}@media (width>=520px){.public-tournament-meta-grid{grid-template-columns:1fr 1fr}}.public-tournament-meta-block dt{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .3rem;font-size:.7rem;font-weight:700}.public-tournament-meta-block dd{color:var(--text);margin:0;font-size:1.02rem;font-weight:500;line-height:1.45}.public-tournament-when-primary{font-weight:600}.public-tournament-when-time{color:var(--muted);font-size:.95rem;font-weight:500}.public-tournament-notes-block{border-top:1px solid var(--border);margin-top:1.35rem;padding-top:1.2rem}.public-tournament-notes-heading{color:var(--navy);margin:0 0 .55rem;font-size:1rem;font-weight:600}.public-tournament-description{margin-top:0}.public-tournament-events-block{border-top:1px solid var(--border);margin-top:1.35rem;padding-top:1.2rem}.public-shooting-events-heading{color:var(--navy);margin:0 0 .5rem;font-size:1rem;font-weight:600}.public-shooting-events-list{color:var(--text);margin:0;padding-left:1.15rem;line-height:1.5}.tournament-detail-page{padding-bottom:3rem}.tournament-detail-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;padding:1.25rem 1.5rem 1.5rem}.tournament-detail-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.65rem;display:flex}.tournament-detail-hero-top .link-button{margin-bottom:0}.tournament-detail-hero-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tournament-detail-delete{letter-spacing:.02em;flex-shrink:0;font-weight:700}.tournament-detail-back{margin-bottom:0}.tournament-detail-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 1.1rem;font-size:clamp(1.45rem,2.8vw,1.95rem);font-weight:700;line-height:1.2}.tournament-detail-score-cta-wrap{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 1.15rem;display:flex}a.tournament-detail-score-cta,span.tournament-detail-score-cta{border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;padding:.75rem 1.55rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}a.tournament-detail-score-cta{background:var(--clay);color:#fff;box-shadow:var(--shadow-sm)}a.tournament-detail-score-cta:hover{background:var(--clay-hover);color:#fff}a.tournament-detail-score-cta:active{transform:scale(.98)}.tournament-detail-score-cta--blocked{background:var(--surface-hover);color:var(--muted);border:1px dashed var(--border-strong);cursor:not-allowed;-webkit-user-select:none;user-select:none}.tournament-detail-score-cta-note{max-width:28rem;font-size:.88rem;line-height:1.45}.tournament-detail-meta{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem 1.75rem;margin:0;display:grid}.tournament-detail-meta-item dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .3rem;font-size:.68rem;font-weight:700}.tournament-detail-meta-item dd{color:var(--text);margin:0;font-size:.98rem;line-height:1.5}.tournament-detail-host-note{color:var(--muted);background:var(--surface-hover);border-radius:var(--radius-md);border-left:3px solid var(--clay);margin:1.2rem 0 0;padding:.85rem 1rem;font-size:.9rem;line-height:1.55}.tournament-detail-event-chips{color:var(--text);margin:.25rem 0 0;padding-left:1.1rem}.tournament-detail-event-chips li{margin:.2rem 0}.tournament-shooting-events-form{border-top:1px solid var(--border);margin-top:1.15rem;padding-top:1rem}.tournament-shooting-events-hint{color:var(--muted);margin:0 0 .85rem;font-size:.88rem;line-height:1.5}.tournament-shooting-event-row{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.tournament-shooting-event-row label{min-width:140px}.tournament-shooting-event-remove{margin-left:auto}.tournament-shooting-events-actions{flex-wrap:wrap;gap:.65rem;margin-top:.35rem;display:flex}.tournament-create-shooting-row{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.65rem;padding:.65rem .75rem;display:flex}.tournament-create-shooting-row label{min-width:140px}.tournament-participant-details{margin-top:0;padding:1.75rem 1.75rem 2rem}.tournament-participant-details-heading{color:var(--navy);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.tournament-participant-details-lead{max-width:52rem;color:var(--muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.55}.tournament-participant-details-form{flex-direction:column;gap:0;display:flex}.tournament-participant-details-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.45rem;font-size:.78rem;font-weight:600;display:block}.tournament-participant-details textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:18rem}.tournament-participant-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1rem;display:flex}.tournament-participant-actions button[type=submit]{flex:none}.tournament-participant-saved-msg{color:var(--clay);font-size:.95rem;font-weight:500}.link-button{color:var(--clay);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:1rem;padding:.35rem 0;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.link-button:hover{color:var(--clay-hover)}form{gap:1.1rem;width:100%;display:grid}.form-date-row{grid-template-columns:1fr 1fr;align-items:end;gap:1rem 1.25rem;display:grid}@media (width<=520px){.form-date-row{grid-template-columns:1fr}}label{color:var(--text);gap:.4rem;font-size:.875rem;font-weight:500;display:grid}input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);padding:.7rem .9rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}input:hover{border-color:var(--border-strong)}input:focus{border-color:var(--clay);box-shadow:0 0 0 3px var(--clay-ring);outline:none}textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);resize:vertical;min-height:6rem;padding:.7rem .9rem;font-family:inherit;font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}textarea:hover{border-color:var(--border-strong)}textarea:focus{border-color:var(--clay);box-shadow:0 0 0 3px var(--clay-ring);outline:none}button{background:var(--clay);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.7rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,transform .15s}button:hover{background:var(--clay-hover)}button:active{transform:scale(.98)}button.secondary{background:var(--surface);color:var(--navy);border:1px solid var(--border)}button.secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}button.danger{color:var(--danger);box-shadow:none;background:#fef2f2;border:1px solid #fecaca}button.danger:hover{color:#991b1b;background:#fee2e2;border-color:#f87171}button.danger:active{transform:scale(.98)}.login-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.login-page .auth-wrap{flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem 3rem;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:2.25rem 2rem 2.5rem}.auth-brand-lockup{flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:.35rem;display:flex}.auth-brand{letter-spacing:-.03em;color:var(--navy);margin:0;font-size:1.25rem;font-weight:700}.auth-brand span{color:var(--clay)}.auth-card h1{letter-spacing:-.02em;color:var(--navy);margin:0 0 .35rem;font-size:1.375rem;font-weight:700}.auth-subtitle{color:var(--muted);margin:0 0 1.75rem;font-size:.9rem;line-height:1.55}.auth-footer{margin-top:1.5rem;margin-bottom:0}.auth-subtitle.auth-footer{margin-bottom:0}.auth-footer-links{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.auth-footer-links a[href]:not(.link-button){color:var(--navy);text-underline-offset:2px;font-weight:500;text-decoration:underline}.auth-footer-links a[href]:not(.link-button):hover{color:var(--clay)}.app-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.app-layout--minimal>main{flex:1;max-width:520px}.app-minimal-header{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1040px;margin:0 auto;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.app-minimal-brand{color:var(--navy);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;text-decoration:none;display:inline-flex}.app-minimal-brand:hover{color:var(--charcoal)}.app-minimal-brand .navbar-brand-text span{color:var(--clay)}.app-layout>main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:2rem 1.5rem 3rem}.app-layout>main section>h2{letter-spacing:-.02em;color:var(--navy);margin:0 0 .5rem;font-size:1.35rem;font-weight:700}.app-layout>main section>p{color:var(--muted);margin:0}.navbar{z-index:40;background:var(--navy);border-bottom:1px solid #ffffff0f;padding:.55rem 1.25rem;position:sticky;top:0}.navbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;width:100%;max-width:1200px;margin:0 auto;display:flex}.navbar-start{flex-wrap:wrap;flex:1;align-items:center;gap:.65rem 1.25rem;min-width:0;display:flex}.navbar-brand{letter-spacing:-.03em;color:#fff;align-items:center;gap:.55rem;padding:.25rem 0;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.navbar-brand-mark{background:#fff;border-radius:10px;padding:4px;line-height:0;display:flex;box-shadow:0 1px 4px #0003}.navbar-brand-text span{color:#fb923c}.navbar-brand:hover .navbar-brand-text{color:#f1f5f9}.navbar-brand:hover .navbar-brand-text span{color:#fdba74}.navbar-links{flex-wrap:wrap;align-items:center;gap:.15rem .25rem;display:flex}.navbar-start a:not(.navbar-brand){color:var(--nav-text);border-radius:var(--radius-sm);padding:.45rem .65rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.navbar-start a:not(.navbar-brand):hover{color:var(--nav-text-hover);background:#ffffff0f}.navbar-start a:not(.navbar-brand).active{color:#fff;background:#ea580c38}.navbar-external{border-left:1px solid #ffffff1f;margin-left:.35rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;padding-left:.85rem!important}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .2rem;font-family:inherit;transition:background .15s,border-color .15s;display:inline-flex}.user-menu-trigger:hover{background:#ffffff1a;border-color:#ffffff38}.user-menu-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px;display:block}.user-menu-avatar-fallback{color:#fff;background:#ea580c59;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.user-menu-chevron{opacity:.85;padding-right:.25rem;font-size:.65rem}.user-menu-dropdown{border-radius:var(--radius-lg);z-index:60;background:#0f172a;border:1px solid #ffffff1f;min-width:232px;padding:.35rem 0;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 16px 48px #00000059}.user-menu-meta{border-bottom:1px solid #ffffff14;margin-bottom:.2rem;padding:.6rem 1rem .65rem}.user-menu-name{color:#f8fafc;font-size:.9rem;font-weight:600;line-height:1.3}.user-menu-email{color:var(--nav-text);word-break:break-all;margin-top:.15rem;font-size:.75rem}.user-menu-item{text-align:left;color:#e2e8f0;cursor:pointer;background:0 0;border:none;width:100%;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.user-menu-item:hover{color:#fff;background:#ffffff14}.user-menu-item-danger:hover{color:#fecaca;background:#b91c1c33}.user-menu-divider{background:#ffffff1a;height:1px;margin:.35rem 0}.locations-form{max-width:520px}.locations-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.squad-roster-card .squad-roster-form{max-width:520px;margin-top:.5rem}.squad-roster-head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;grid-template-columns:3.25rem 1fr minmax(8rem,10rem) minmax(7rem,9rem);gap:.5rem .75rem;margin:1rem 0 .25rem;font-size:.72rem;font-weight:600;display:grid}.squad-roster-row{grid-template-columns:3.25rem 1fr minmax(8rem,10rem) minmax(7rem,9rem);align-items:center;gap:.5rem .75rem;display:grid}.squad-roster-row .pos-label{color:var(--muted);font-size:.9rem;font-weight:600}.squad-roster-row input,.squad-roster-row select{margin:0}.muted{color:var(--muted)}.tournament-squads-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.squad-team-register-card{padding:1.25rem 1.5rem 1.5rem}.squad-team-register-title{color:var(--navy);margin:0 0 .35rem;font-size:1rem;font-weight:700}.squad-team-register-form{gap:.75rem;max-width:520px;margin-top:.75rem;display:grid}.squad-team-register-form label{display:block}.squad-groups{flex-direction:column;gap:1.75rem;margin-top:1.25rem;display:flex}.squad-team-group-head{margin-bottom:.65rem}.squad-team-group-title{color:var(--charcoal);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700}.squad-team-group-sub{max-width:48rem;margin:.25rem 0 0;font-size:.82rem;line-height:1.45}.squad-cards-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.squad-mini-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);padding:.85rem 1rem;font-family:inherit;transition:border-color .12s,box-shadow .12s,background .12s}.squad-mini-card:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-md)}.squad-mini-card-num{color:var(--clay);font-size:1.35rem;font-weight:700;line-height:1.2}.squad-mini-card-name{word-break:break-word;margin-top:.25rem;font-size:.9rem;font-weight:600;line-height:1.35}.squad-mini-card-meta{color:var(--muted);margin-top:.35rem;font-size:.75rem}.squad-mini-card:disabled{opacity:.55;cursor:not-allowed}.management-actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:1rem;display:flex}.management-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--clay-soft);color:var(--clay-hover);border:1px solid #ea580c40;margin-bottom:.25rem;margin-right:.5rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.trap-schedule-heading{margin:1.5rem 0 .35rem;font-size:1rem}.trap-schedule-board{margin-top:.75rem}.trap-schedule-columns{flex-wrap:nowrap;align-items:flex-start;gap:.75rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.trap-schedule-column{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);flex:160px;min-width:140px;max-width:220px;min-height:120px;padding:.5rem .45rem .65rem;transition:border-color .15s,box-shadow .15s}.trap-schedule-column-over{border-color:var(--clay);box-shadow:0 0 0 2px var(--clay-ring)}.trap-schedule-column-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.1rem;margin-bottom:.45rem;padding:0 .2rem;font-size:.72rem;font-weight:700;display:flex}.trap-schedule-list{flex-direction:column;gap:.45rem;min-height:3rem;display:flex}.trap-schedule-card{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:grab;box-shadow:var(--shadow-sm);text-align:left;color:inherit;padding:.55rem .65rem;font-family:inherit}.trap-schedule-card-static{cursor:default}.trap-schedule-card-dragging{opacity:.85;box-shadow:var(--shadow-md)}.trap-schedule-card-inner{pointer-events:none}.trap-schedule-card-num{color:var(--clay);font-size:1.1rem;font-weight:700;line-height:1.2}.trap-schedule-card-top{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.trap-schedule-card-session{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;padding:.05rem .3rem;font-size:.68rem;font-weight:700;line-height:1.4}.trap-schedule-card-title{word-break:break-word;margin-top:.15rem;font-size:.88rem;font-weight:600;line-height:1.35}.trap-schedule-column-hint{text-transform:none;letter-spacing:0;color:var(--muted);opacity:.8;font-size:.65rem;font-weight:500}.trap-schedule-day-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.trap-schedule-day-tab{border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--muted);cursor:pointer;align-items:center;gap:.35rem;padding:.3rem .8rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.trap-schedule-day-tab:hover{border-color:var(--clay);color:var(--clay)}.trap-schedule-day-tab--active{border-color:var(--clay);background:var(--clay-soft);color:var(--clay-hover)}.trap-schedule-day-tab-badge{border-radius:var(--radius-full);background:var(--clay);color:#fff;justify-content:center;align-items:center;min-width:1.2rem;height:1.2rem;padding:0 .3rem;font-size:.68rem;font-weight:700;display:inline-flex}.trap-schedule-day-tab--active .trap-schedule-day-tab-badge{background:var(--clay-hover)}.squad-mini-card-day{border-radius:var(--radius-sm);background:var(--clay-soft);color:var(--clay-hover);border:1px solid #ea580c33;margin-left:.35rem;padding:.05rem .35rem;font-size:.68rem;font-weight:700;display:inline-block}.squad-roster-head--hcp,.squad-roster-row--hcp{grid-template-columns:1.5rem 1fr 5rem 3rem 3.5rem}.modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);border:1px solid var(--border);flex-direction:column;max-height:min(90vh,720px);display:flex}.modal-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-panel-header h3{margin:0;font-size:1.1rem}.modal-close-btn{flex-shrink:0;min-width:2.25rem;padding:.35rem .5rem;font-size:1.35rem;line-height:1}.modal-panel-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto}.squad-roster-modal .squad-roster-form{max-width:none;margin-top:0}.modal-panel-footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:.25rem;display:flex}.locations-list{gap:1rem;margin-top:1.5rem;display:grid}.location-card-head h3{margin:0 0 .25rem;font-size:1.05rem}.location-owner{color:var(--muted);margin:0;font-size:.8rem}.location-address{white-space:pre-wrap;color:var(--text);margin:.35rem 0 0;line-height:1.5}.location-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);padding:.65rem .75rem;font-family:inherit;font-size:1rem}select:focus{border-color:var(--clay);box-shadow:0 0 0 3px var(--clay-ring);outline:none}.error{color:var(--danger);margin:0;font-size:.9rem}.profile-page{max-width:720px}.profile-header{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--navy);margin-top:1.25rem;position:relative;overflow:hidden}.profile-cover-img{object-fit:cover;width:100%;height:168px;display:block}.profile-cover-placeholder{background:linear-gradient(135deg, var(--navy) 0%, #1e3a5f 50%, var(--clay) 120%);height:120px}.profile-avatar-row{z-index:1;flex-wrap:wrap;align-items:flex-end;gap:1.25rem;margin-top:-56px;padding:0 1.25rem;display:flex;position:relative}.profile-avatar-wrap{flex-shrink:0}.profile-avatar{border:4px solid var(--surface);object-fit:cover;background:var(--surface);width:112px;height:112px;box-shadow:var(--shadow-md);border-radius:50%}.profile-avatar-fallback{color:var(--clay);justify-content:center;align-items:center;font-size:2.25rem;font-weight:700;display:flex}.profile-identity{padding-bottom:.35rem}.profile-email{color:var(--muted);margin:0;font-size:.9rem}.profile-role{text-transform:capitalize;color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.profile-upload-row{flex-wrap:wrap;gap:1rem;margin:1.5rem 0 .5rem;display:flex}.profile-file-label{color:var(--muted);gap:.35rem;font-size:.8rem;display:grid}.profile-file-label input[type=file]{max-width:220px;font-size:.8rem}.profile-form{max-width:520px;margin-top:1.5rem}.profile-password-card{max-width:520px;margin-top:2.25rem}.profile-gallery-section{margin-top:.5rem}.profile-gallery-title{color:var(--navy);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.profile-gallery{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.75rem;display:grid}.profile-gallery-item{gap:.35rem;display:grid}.profile-gallery-item img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%}.profile-gallery-remove{padding:.45rem .6rem;font-size:.8rem}.dashboard-quick-card:hover{border-color:var(--clay);text-decoration:none;box-shadow:0 2px 8px #00000012}.live-status{color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;display:inline-flex}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.live-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse-live;display:inline-block}.live-dot--loading{background:var(--clay)}.public-search-input{border-radius:var(--radius-md);width:100%;max-width:520px;padding:.85rem 1rem;font-size:1rem}a,button,[role=button],input,select,textarea,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,.btn-primary,.btn-secondary{min-height:44px}@media (width<=600px){.site-header{padding:1rem 1.25rem}.site-header-nav a:not(.site-header-nav-cta){display:none}.site-header-nav a.site-header-nav-cta{padding:.45rem .85rem;font-size:.8rem}.public-scores-page{padding:.85rem .75rem 2rem}.report-picker-select{width:100%;min-width:0;max-width:100%}.report-picker-row{flex-direction:column;align-items:stretch}.report-picker-go{width:100%}.scores-exit-link,.individual-results-table-wrap{display:none}.individual-results-cards{display:block}.public-scoreboard-table .col-school,.public-scoreboard-table .col-gender,.public-scoreboard-table .col-avg,.public-scoreboard-table .col-rule,.public-scoreboard-table .col-event,.public-scoreboard-table .col-all-avg,.public-scoreboard-table .col-team,.scores-section-hint{display:none}.public-search-input{max-width:100%;padding:.95rem 1rem;font-size:1.05rem}.public-hero{gap:.5rem;padding-top:.75rem;padding-bottom:1rem}.public-hero h1{font-size:1.5rem}.public-hero>p{font-size:.9rem}.live-status{color:var(--text);font-size:.85rem}.detail-card{border-radius:var(--radius-lg);padding:1.1rem 1rem 1.25rem}button.link-button{padding:.5rem 0;font-size:1rem}}@media (width<=480px){.page,section{padding-left:1rem;padding-right:1rem}.auth-card{padding:1.75rem 1.25rem 2rem}.hero-card{padding:1.5rem 1.25rem}.features article{padding:1.35rem 1.25rem 1.5rem}.detail-card{padding:1.25rem 1.1rem 1.5rem}form button[type=submit]{width:100%}h1,h2,h3,p{overflow-wrap:break-word;word-break:break-word}}
