:root{--text:#c9c2b5;--text-h:#fff8e8;--bg:#050505;--border:#303030;--border-strong:#484848;--code-bg:#151515;--accent:#d9a62e;--accent-hover:#ebbd4a;--accent-pressed:#a87518;--accent-foreground:#1a1205;--accent-bg:#d9a62e21;--accent-border:#9b7225;--focus-ring:#f2c75c;--surface:#0d0d0d;--surface-muted:#151515;--surface-raised:#1c1c1c;--success:#75d7a5;--success-bg:#10271d;--danger:#ff9b92;--danger-bg:#321817;--social-bg:#1c1c1cb8;--shadow:#0000007a 0 18px 40px -18px, #00000052 0 8px 16px -10px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}a{color:var(--accent-hover);text-underline-offset:.2em;text-decoration-thickness:.08em}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button{border:1px solid var(--accent);min-height:44px;color:var(--accent-foreground);background:var(--accent);font:inherit;cursor:pointer;border-radius:.65rem;padding:.7rem 1rem;font-weight:650;transition:background-color .14s,border-color .14s,transform .14s;box-shadow:inset 0 1px #fff8e82e}button:hover{border-color:var(--accent-hover);background:var(--accent-hover)}button:active{border-color:var(--accent-pressed);background:var(--accent-pressed);transform:translateY(1px)}button:disabled{cursor:not-allowed;color:#858585;box-shadow:none;opacity:1;background:#282828;border-color:#484848;transform:none}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button.secondary{color:var(--text-h);background:var(--surface-raised);border-color:var(--border);box-shadow:none}button.secondary:hover{border-color:var(--accent-border);background:color-mix(in srgb, var(--surface-raised) 82%, var(--accent))}button.secondary:active{border-color:var(--accent-pressed);background:var(--surface-muted)}button.secondary:disabled{color:#858585;background:#282828;border-color:#484848}.auth-page{isolation:isolate;background:var(--bg) url(/gm-flag-web.jpeg) center center / cover no-repeat;place-items:center;min-height:100svh;padding:1.5rem;display:grid;position:relative}.auth-page:before{content:"";z-index:0;background:linear-gradient(#000000c2,#000000e0);position:absolute;inset:0}.auth-card{z-index:1;border:1px solid var(--accent-border);width:min(100%,31rem);box-shadow:var(--shadow);background:#0d0d0df0;border-radius:1rem;padding:clamp(1.5rem,5vw,2.5rem);position:relative}.auth-card h1,.auth-card h2{color:var(--text-h);line-height:1.15}.auth-card h1{margin:0 0 1.5rem;font-size:clamp(2rem,8vw,3rem)}.auth-card h2{margin-top:0;font-size:1.25rem}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.82rem;font-weight:750}.account-email{overflow-wrap:anywhere;color:var(--text-h);font-weight:600}.auth-card dl{gap:.75rem;margin:1.5rem 0;display:grid}.auth-card dl div{border:1px solid var(--border);background:var(--surface-muted);border-radius:.65rem;padding:.75rem}.auth-card dt{text-transform:uppercase;font-size:.78rem;font-weight:700}.auth-card dd{color:var(--text-h);overflow-wrap:anywhere;margin:.15rem 0 0}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.competitions-page{min-height:100vh;color:var(--text);background:var(--bg)}.app-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);justify-content:space-between;align-items:center;gap:.75rem;min-height:4.5rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex;box-shadow:inset 0 1px #fff8e806}.brand{min-height:44px;color:var(--text-h);align-items:center;gap:.6rem;font-size:.94rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--accent-border);width:2.4rem;height:2.4rem;color:var(--accent-foreground);background:linear-gradient(145deg, var(--accent-hover), var(--accent));letter-spacing:.05em;border-radius:.75rem;place-items:center;font-size:.78rem;display:grid;box-shadow:0 0 0 2px #1c1c1c,0 6px 16px #d9a62e29}.session-menu{flex:none;position:relative}.session-menu-trigger{border-color:var(--border-strong);width:44px;min-height:44px;color:var(--text-h);background:var(--surface-muted);box-shadow:none;place-items:center;padding:0;display:grid}.session-menu-trigger:hover,.session-menu-trigger[aria-expanded=true]{border-color:var(--accent-border);color:var(--accent-hover);background:var(--surface-raised)}.session-menu-trigger:active{border-color:var(--accent-pressed);background:var(--surface-muted)}.session-menu-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:1.35rem;height:1.35rem}.session-menu-popover{z-index:20;border:1px solid var(--border-strong);width:min(20rem,100vw - 2rem);color:var(--text);background:#111;border-radius:.8rem;position:absolute;top:calc(100% + .55rem);right:0;overflow:hidden;box-shadow:0 18px 42px #000000ad,0 4px 12px #00000080}.session-menu-section{padding:.85rem}.session-menu-identity strong,.session-menu-identity span{display:block}.session-menu-identity strong{overflow-wrap:anywhere;color:var(--text-h);font-size:.92rem;line-height:1.3}.session-menu-identity span{color:#aaa;margin-top:.18rem;font-size:.78rem;line-height:1.4}.session-menu-identity .session-menu-email{overflow-wrap:anywhere;color:var(--text)}.session-menu-edit-name{border-color:var(--accent-border);width:100%;min-height:44px;color:var(--accent-hover);background:var(--accent-bg);box-shadow:none;text-align:left;margin-top:.65rem;padding:.55rem .7rem}.session-menu-edit-name:hover{color:var(--accent-foreground)}.session-menu-separator{background:var(--border);height:1px}.session-menu-actions{padding:.45rem}.session-menu-action{width:100%;min-height:44px;color:var(--text-h);box-shadow:none;text-align:left;background:0 0;border-color:#0000;padding:.65rem .75rem}.session-menu-action:hover,.session-menu-action:focus-visible{border-color:var(--accent-border);color:var(--accent-hover);background:var(--surface-raised)}.session-menu-action:active{border-color:var(--accent-pressed);background:var(--surface-muted)}.competitions-main{width:min(100%,78rem);margin:0 auto;padding:2.5rem 1rem 4rem}.authorized-emails-main{width:min(100%,64rem);margin:0 auto;padding:2.5rem 1rem 4rem}.participant-lists-main{width:min(100%,72rem);margin:0 auto;padding:2.5rem 1rem 4rem}.season-management-main{width:min(100%,64rem);margin:0 auto;padding:2.5rem 1rem 4rem}.season-management-intro{margin-bottom:1.5rem}.season-management-title-row{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.season-management-intro h1{color:var(--text-h);letter-spacing:-.04em;margin:0;font-size:clamp(2.15rem,10vw,4rem);line-height:1}.season-management-intro>p:last-child{max-width:42rem;margin:1rem 0 0}.season-list{gap:1rem;display:grid}.season-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:1rem;padding:1.25rem}.season-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.season-card-heading h2,.season-card-heading h3,.season-year{margin:0}.season-card-heading h2,.season-card-heading h3{color:var(--text-h);margin-top:.2rem;font-size:1.45rem;line-height:1.1}.season-year{color:var(--accent-hover);letter-spacing:.08em;font-size:.78rem;font-weight:800}.season-state{border:1px solid;border-radius:999px;align-items:center;min-height:1.75rem;padding:.2rem .6rem;font-size:.7rem;font-weight:800;display:inline-flex}.season-state.is-active{border-color:color-mix(in srgb, var(--success) 35%, var(--border));color:var(--success);background:var(--success-bg)}.season-state.is-archived{border-color:var(--border-strong);color:var(--text);background:var(--surface-raised)}.season-details{gap:.75rem;margin:1rem 0;display:grid}.season-details div{border:1px solid var(--border);background:var(--surface-muted);border-radius:.75rem;min-width:0;padding:.75rem}.season-details dt{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.season-details dd{overflow-wrap:anywhere;color:var(--text-h);margin:.2rem 0 0;font-size:.88rem;font-weight:650}.season-card-note,.season-archive-warning,.season-cleanup-warning{border-left:3px solid var(--accent-border);background:var(--accent-bg);margin:0;padding:.75rem;font-size:.82rem}.season-archive-dialog{width:min(100% - 2rem,36rem)}.season-cleanup-dialog{width:min(100% - 2rem,39rem)}.season-cleanup-warning{border-left-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.season-cleanup-actions{gap:.75rem;display:grid}.season-cleanup-actions>button{justify-self:start}.season-cleanup-requirement{color:var(--text);margin:0;font-size:.78rem}.season-pending-cleanups{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.season-pending-cleanups>h2,.season-pending-cleanups>p{margin-top:0}.season-pending-cleanups>.season-list{margin-top:1rem}.participant-lists-intro{margin-bottom:1.5rem}.participant-lists-title-row{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.participant-lists-intro h1{color:var(--text-h);letter-spacing:-.04em;margin:0;font-size:clamp(2.15rem,10vw,4rem);line-height:1}.participant-lists-intro>p:last-child{max-width:42rem;margin:1rem 0 0}.participant-competition-list,.participant-distance-list{gap:1rem;display:grid}.participant-competition-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:1rem;padding:1.25rem}.participant-competition-heading,.participant-distance-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.participant-competition-heading{margin-bottom:1rem}.participant-competition-heading h2,.participant-distance-heading h3,.participant-race-date{margin:0}.participant-competition-heading h2{color:var(--text-h);margin-top:.25rem;font-size:clamp(1.35rem,6vw,1.9rem);line-height:1.1}.participant-race-date{color:var(--accent-hover);text-transform:capitalize;font-size:.78rem;font-weight:750}.participant-competition-badges{flex-wrap:wrap;gap:.5rem;display:flex}.participant-total{border:1px solid var(--accent-border);min-height:1.75rem;color:var(--accent-hover);background:var(--accent-bg);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:800;display:inline-flex}.participant-status-published{border-color:color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success);background:var(--success-bg)}.participant-status-cancelled{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:var(--danger-bg)}.participant-distance-group{border:1px solid var(--border);background:var(--surface-muted);border-radius:.8rem;min-width:0;padding:1rem}.participant-distance-heading{margin-bottom:.75rem}.participant-distance-heading h3{color:var(--text-h);font-size:1rem}.participant-distance-heading span{color:var(--text);font-size:.72rem;font-weight:750}.participant-person-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.participant-person-list li{border-left:3px solid var(--accent-border);background:var(--surface-raised);border-radius:.5rem;min-width:0;padding:.75rem}.participant-person-list strong,.participant-person-list span{overflow-wrap:anywhere;display:block}.participant-person-list strong{color:var(--text-h);font-size:.88rem}.participant-person-list span{color:var(--text);margin-top:.15rem;font-size:.76rem}.participant-empty-note,.participant-competition-empty{color:var(--text);margin:0;font-size:.82rem}.participant-competition-empty{border-left:3px solid var(--accent-border);background:var(--accent-bg);margin-top:1rem;padding:.75rem}.authorized-emails-intro{margin-bottom:1.5rem}.authorized-emails-intro h1{color:var(--text-h);letter-spacing:-.04em;margin:0;font-size:clamp(2.15rem,10vw,4rem);line-height:1}.authorized-emails-intro>p:last-child{max-width:42rem;margin:1rem 0 0}.back-button{margin-bottom:1.5rem}.authorization-create-card,.authorization-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem}.authorization-create-card{gap:1rem;margin-bottom:1rem;padding:1.25rem;display:grid}.authorization-create-card h2,.authorization-create-card p,.authorization-card h2{margin:0}.authorization-create-card h2,.authorization-card h2{color:var(--text-h);font-size:1.1rem}.authorization-create-card p{margin-top:.3rem;font-size:.82rem}.authorization-create-form,.authorization-controls{gap:.85rem;display:grid}.authorization-create-form button,.authorization-controls button{width:100%}.authorization-feedback{border-left:4px solid;border-radius:.65rem;margin:0 0 1rem;padding:.85rem 1rem}.authorization-feedback.is-success{border-color:var(--success);color:var(--success);background:var(--success-bg)}.authorization-feedback.is-error{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.authorization-list{gap:1rem;display:grid}.authorization-card{min-width:0;padding:1.25rem}.authorization-card-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.authorization-card-heading h2{overflow-wrap:anywhere}.authorization-card-heading .status-badge{margin-top:.5rem}.authorization-state{border:1px solid;border-radius:999px;align-items:center;min-height:1.75rem;padding:.2rem .6rem;font-size:.7rem;font-weight:800;display:inline-flex}.authorization-state.is-enabled{border-color:color-mix(in srgb, var(--success) 35%, var(--border));color:var(--success);background:var(--success-bg)}.authorization-state.is-disabled{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:var(--danger-bg)}.authorization-toggle{min-height:44px;color:var(--text-h);align-items:center;gap:.65rem;font-size:.82rem;font-weight:750;display:flex}.authorization-toggle input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.competitions-intro{margin-bottom:2rem}.competitions-intro-heading{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.competitions-intro h1{color:var(--text-h);letter-spacing:-.045em;margin:0;font-size:clamp(2.15rem,10vw,4.5rem);line-height:.98}.competitions-intro>p:last-child{max-width:38rem;margin:1rem 0 0;font-size:1rem}.add-competition-button{flex:none;width:100%}.competition-dialog{border:1px solid var(--border-strong);width:min(100% - 2rem,42rem);max-height:calc(100dvh - 2rem);color:var(--text);background:var(--surface);border-radius:1rem;margin:auto;padding:0;overflow:auto;box-shadow:0 1.5rem 5rem #000000c7}.competition-dialog::backdrop{background:#000000c7}.competition-completion-dialog{width:min(100% - 2rem,36rem)}.profile-dialog{width:min(100% - 2rem,32rem)}.profile-account-context{border:1px solid var(--border);background:var(--surface-muted);border-radius:.65rem;margin:0;padding:.75rem}.profile-account-context span,.profile-account-context strong{display:block}.profile-account-context span{color:var(--text);text-transform:uppercase;font-size:.72rem;font-weight:750}.profile-account-context strong{overflow-wrap:anywhere;color:var(--text-h);margin-top:.2rem;font-size:.86rem}.profile-form-feedback{border-left:3px solid var(--accent-border);background:var(--accent-bg);margin:0;padding:.75rem;font-size:.82rem}.profile-form-feedback.is-success{border-left-color:var(--success);color:var(--success);background:var(--success-bg)}.profile-form-feedback.is-error{border-left-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.competition-dialog-header{border-bottom:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.competition-dialog-header h2,.competition-dialog-header p{margin:0}.competition-dialog-header h2{color:var(--text-h);font-size:clamp(1.5rem,6vw,2rem);line-height:1.1}.competition-dialog-header h2+p{max-width:32rem;margin-top:.5rem;font-size:.88rem}.dialog-close-button{flex:0 0 44px;width:44px;min-height:44px;padding:0;font-size:1.5rem;line-height:1}.competition-form{gap:1rem;padding:1.25rem;display:grid}.competition-form-row{gap:1rem;display:grid}.competition-form-field{min-width:0}.competition-form-field label{color:var(--text-h);margin-bottom:.35rem;font-size:.8rem;font-weight:750;display:block}.competition-form-field input,.competition-form-field select{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text-h);background:var(--surface-raised);font:inherit;border-radius:.65rem;padding:.65rem .75rem}.competition-form-field input:hover:not(:disabled),.competition-form-field select:hover:not(:disabled){border-color:var(--accent-border)}.competition-form-field input:disabled,.competition-form-field select:disabled{color:#858585;cursor:not-allowed;opacity:1;background:#282828;border-color:#484848}.competition-distance-fields{border:1px solid var(--border);border-radius:.75rem;min-width:0;margin:0;padding:1rem}.competition-distance-fields legend{color:var(--text-h);padding-inline:.35rem;font-size:.85rem;font-weight:750}.competition-distance-list{gap:.85rem;display:grid}.competition-distance-row{border-bottom:1px solid var(--border);gap:.65rem;padding-bottom:.85rem;display:grid}.distance-add-button{width:100%;margin-top:.85rem}.distance-row-actions{align-items:stretch;gap:.5rem;display:flex}.distance-row-actions button{flex:1 1 0;min-height:44px;padding-inline:.65rem}.distance-remove-button{align-self:end}.competition-image-preview{border:1px solid var(--border);object-fit:cover;border-radius:.75rem;width:min(100%,20rem);max-height:12rem;margin-top:.75rem;display:block}.remove-image-button{margin-top:.75rem}.complete-competition-button{align-self:flex-start;margin-top:.75rem;padding-inline:.8rem;font-size:.78rem}.field-help{margin:.35rem 0 0;font-size:.76rem}.competition-form-error{border-left:3px solid var(--danger);color:var(--danger);background:var(--danger-bg);margin:0;padding:.75rem;font-size:.82rem}.competition-form-actions{flex-direction:column-reverse;align-items:stretch;gap:.65rem;padding-top:.25rem;display:flex}.data-message{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.data-message h2,.data-message p{margin:0}.data-message h2{color:var(--text-h);font-size:1.15rem}.data-message h2+p{margin-top:.35rem}.error-message{border-left-width:4px;border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-bg);margin-bottom:1rem}.warning-message{border-left-width:4px;border-color:var(--accent-border);background:var(--accent-bg);margin-bottom:1rem}.error-message h2{color:var(--danger)}.loading-message{flex-direction:row;justify-content:flex-start}.loading-indicator{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem;animation:.8s linear infinite loading-spin}.empty-message{text-align:center;align-items:center;padding-block:2rem}.empty-icon{border:1px solid var(--accent-border);width:4rem;height:4rem;color:var(--accent-hover);background:var(--accent-bg);border-radius:1rem;place-items:center;font-size:1.4rem;font-weight:850;display:grid;margin:0 auto 1rem!important}.refresh-feedback{color:var(--accent-hover);margin:0 0 .75rem;font-size:.85rem;font-weight:650}.competition-grid{gap:1.25rem;display:grid}.competition-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:1.15rem;display:grid;position:relative;overflow:hidden}.competition-edit-button{z-index:3;background:#0d0d0de6;border-color:#f2c75c80;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:inline-grid;position:absolute;top:.75rem;right:.75rem;box-shadow:0 .35rem 1rem #00000073}.competition-edit-button svg{fill:currentColor;width:1.2rem;height:1.2rem}.competition-visual{--race-hue:275;min-height:15rem;color:var(--text-h);border-bottom:1px solid var(--border);isolation:isolate;background:radial-gradient(circle at 80% 15%,#ebbd4a57,#0000 34%),radial-gradient(circle at 12% 90%,#d9a62e1f,#0000 42%),linear-gradient(145deg,#262626,#151515 68%,#0d0d0d);align-content:center;justify-items:center;padding:1.25rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.competition-visual:before,.competition-visual:after{z-index:-1;content:"";border:1px solid #f2c75c47;border-radius:50%;position:absolute}.competition-visual-image{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.competition-visual.has-image:after{z-index:1;background:linear-gradient(#0000 48%,#050505b8);border:0;border-radius:0;width:100%;height:100%;inset:0}.competition-visual.has-image .competition-weekday,.competition-visual.has-image .competition-day,.competition-visual.has-image .competition-month{visibility:hidden}.competition-visual:before{width:12rem;height:12rem;top:-5rem;left:-4rem}.competition-visual:after{width:9rem;height:9rem;bottom:-4rem;right:-2rem}.competition-weekday,.competition-month{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800}.competition-day{letter-spacing:-.08em;margin-block:-.05em;font-size:clamp(5rem,24vw,8rem);font-weight:850;line-height:.95}.competition-visual-link{z-index:2;background:#0d0d0dd1;border:1px solid #f2c75c73;border-radius:999px;align-items:center;min-height:44px;padding:.45rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.competition-content{flex-direction:column;min-width:0;padding:1.25rem;display:flex}.competition-title-row{flex-direction:column-reverse;justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.competition-title-row h2{color:var(--text-h);letter-spacing:-.025em;margin:.45rem 0 0;font-size:clamp(1.4rem,6vw,2rem);line-height:1.08}.competition-title-row time{font-size:.78rem;font-weight:650}.status-badge{border:1px solid var(--border);min-height:1.75rem;color:var(--text-h);background:var(--surface-raised);border-radius:999px;align-items:center;margin:0;padding:.2rem .6rem;font-size:.7rem;font-weight:800;display:inline-flex}.status-registered{border-color:color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success);background:var(--success-bg)}.status-available{border-color:var(--accent-border);color:var(--accent-hover);background:var(--accent-bg)}.competition-details{gap:.8rem;margin:1.25rem 0;display:grid}.competition-details div{border:1px solid var(--border);background:var(--surface-muted);border-radius:.75rem;min-width:0;padding:.75rem}.competition-details dt,.distance-summary>span{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.competition-details dd{overflow-wrap:anywhere;color:var(--text-h);margin:.2rem 0 0;font-size:.88rem;font-weight:650}.distance-summary ul{flex-wrap:wrap;gap:.45rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.distance-summary li{color:var(--text-h);border:1px solid var(--border);background:var(--surface-raised);border-radius:.5rem;padding:.28rem .55rem;font-size:.78rem;font-weight:700}.distance-summary p{margin:.4rem 0 0;font-size:.82rem}.current-registration{border-left:3px solid var(--success);color:var(--text-h);background:var(--success-bg);margin:1rem 0 0;padding:.75rem;font-size:.86rem}.registration-form{margin-top:1rem}.registration-form label{color:var(--text-h);margin-bottom:.4rem;font-size:.78rem;font-weight:750;display:block}.registration-controls{gap:.6rem;display:grid}.registration-controls select{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text-h);background-color:var(--surface-raised);font:inherit;border-radius:.65rem;padding:.65rem 2.25rem .65rem .75rem}.registration-controls select:hover:not(:disabled){border-color:var(--accent-border)}.registration-controls select:disabled{color:#858585;cursor:not-allowed;opacity:1;background-color:#282828;border-color:#484848}.registration-controls option{color:var(--text-h);background:var(--surface-raised)}.registration-controls button{min-height:44px}.competition-actions{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.65rem;margin-top:1rem;padding-top:1rem;display:flex}.competition-actions a{align-items:center;min-height:44px;font-size:.8rem;font-weight:750;display:inline-flex}.danger-button{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));min-height:44px;color:var(--danger);background:var(--danger-bg);box-shadow:none;padding:.55rem .75rem;font-size:.78rem}.danger-button:hover{border-color:var(--danger);color:var(--text-h);background:color-mix(in srgb, var(--danger-bg) 78%, var(--danger))}.danger-button:active{border-color:var(--danger);background:var(--danger-bg)}.danger-button:disabled{color:#858585;background:#282828;border-color:#484848}.card-feedback{color:var(--text-h);margin:.75rem 0 0;font-size:.78rem;font-weight:650}.nav-icon{place-items:center;width:1.5rem;height:1.5rem;font-size:.9rem;display:grid}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (width>=34rem){.data-message{flex-direction:row;align-items:center}.loading-message{align-items:flex-start}.empty-message{flex-direction:column}.competitions-intro-heading{flex-direction:row;justify-content:space-between;align-items:center}.add-competition-button{width:auto}.competition-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.competition-distance-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto}.distance-row-actions{align-items:flex-end}.distance-row-actions button{flex:none}.competition-form-actions{flex-direction:row;justify-content:flex-end;align-items:center}.authorization-card-heading,.participant-lists-title-row,.season-management-title-row,.participant-competition-heading,.participant-distance-heading{flex-direction:row;align-items:center}.authorization-create-form{grid-template-columns:minmax(0,1.5fr) minmax(9rem,.65fr) auto;align-items:end}.authorization-create-form button,.authorization-controls button{width:auto}.authorization-controls{grid-template-columns:minmax(10rem,.75fr) minmax(10rem,1fr) auto;align-items:end}.competition-details,.season-details,.registration-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.registration-controls{grid-template-columns:minmax(0,1fr) auto}.competition-actions{flex-direction:row;align-items:center}}@media (width>=48rem){.competitions-main,.authorized-emails-main,.participant-lists-main,.season-management-main{padding:4rem 2rem 6rem}.competition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.competition-card{grid-template-rows:auto 1fr}.competition-content{height:100%}.competition-actions{margin-top:auto}}@media (width>=64rem){.auth-page{justify-items:start;padding-inline:clamp(2rem,8vw,8rem)}}@media (width>=72rem){.competition-card{grid-template-rows:none;grid-template-columns:minmax(13rem,.82fr) minmax(18rem,1.18fr)}.competition-visual{border-right:1px solid var(--border);border-bottom:0;min-height:100%}.competition-grid{gap:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
