@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@700;800&family=IBM+Plex+Sans:wght@400;600&display=swap";:root{--color-paper:oklch(97% .01 125);--color-paper-2:oklch(94% .016 125);--color-paper-3:oklch(90% .022 125);--color-surface:oklch(99% .006 125);--color-ink:oklch(20% .025 145);--color-ink-soft:oklch(34% .022 145);--color-muted:oklch(44% .02 145);--color-rule:oklch(83% .022 125);--color-rule-strong:oklch(68% .035 130);--color-accent:oklch(44% .13 147);--color-accent-deep:oklch(34% .11 147);--color-accent-soft:oklch(91% .055 145);--color-accent-ink:oklch(98% .008 125);--color-focus:oklch(62% .18 52);--color-error:oklch(48% .17 28);--color-error-soft:oklch(94% .035 28);--color-success:oklch(42% .12 147);--color-warning:oklch(52% .13 70);--color-shadow:oklch(18% .025 145/.12);--font-display:"Bricolage Grotesque", "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-display:clamp(2.25rem, 7vw, 4.25rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-thin:1px;--radius-input:.5rem;--radius-surface:.75rem;--radius-round:999px;--z-base:1;--z-raised:10;--z-sticky:200}html,body{overflow-x:clip}.tournament-admin-shell,.tournament-public-shell,.tournament-parent-shell{color:var(--color-ink);font-family:var(--font-body)}.tournament-admin-shell h1,.tournament-admin-shell h2,.tournament-admin-shell h3,.tournament-public-shell h1,.tournament-public-shell h2,.tournament-public-shell h3,.tournament-parent-shell h1{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;font-style:normal}.tournament-admin-shell .button,.tournament-public-shell .button,.tournament-parent-shell .button{border:var(--rule-thin) solid transparent;border-radius:var(--radius-input);min-height:44px;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out)}.tournament-admin-shell .button:active,.tournament-public-shell .button:active,.tournament-parent-shell .button:active{transform:translateY(0)}.tournament-admin-shell .button:disabled,.tournament-public-shell .button:disabled,.tournament-parent-shell .button:disabled{opacity:.55;cursor:not-allowed}.tournament-admin-shell .button-primary,.tournament-public-shell .button-primary,.tournament-parent-shell .button-primary{background:var(--color-accent);color:var(--color-accent-ink)}.tournament-admin-shell .button-secondary,.tournament-public-shell .button-secondary,.tournament-parent-shell .button-secondary{border-color:var(--color-rule-strong);background:var(--color-surface);color:var(--color-accent-deep)}.tournament-admin-shell .button-danger,.tournament-public-shell .button-danger,.tournament-parent-shell .button-danger{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.tournament-admin-shell :is(button,a,input,select):focus-visible,.tournament-public-shell :is(button,a,input,select):focus-visible,.tournament-parent-shell :is(button,a,input,select):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.tournament-admin-shell :is(input,select),.tournament-parent-shell :is(input,select){border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-input);outline-offset:1px;background:var(--color-surface);min-height:44px;color:var(--color-ink);padding:var(--space-sm) var(--space-md);outline:2px solid #0000}.tournament-admin-shell :is(input,select):disabled,.tournament-parent-shell :is(input,select):disabled{opacity:.55;cursor:not-allowed}.tournament-admin-shell :is(input,select):focus-visible,.tournament-parent-shell :is(input,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.tournament-admin-main{width:min(100% - 2rem,82rem);padding-block:var(--space-lg) var(--space-2xl);margin-inline:auto}.tournament-page-heading,.tournament-event-heading,.tournament-section-heading,.tournament-division-heading,.tournament-match-actions{gap:var(--space-md);flex-direction:column;display:flex}.tournament-page-heading,.tournament-event-heading{margin-block-end:var(--space-xl)}.tournament-page-heading h1,.tournament-event-heading h1{max-width:15ch;font-size:var(--text-display);margin:0;line-height:1.02}.tournament-page-heading p,.tournament-event-heading p,.tournament-section-heading p,.tournament-division-heading p,.tournament-match-actions p{max-width:65ch;color:var(--color-muted);margin:0;line-height:1.55}.tournament-create-surface{padding-block:var(--space-lg) var(--space-xl);border-block:var(--rule-thin) solid var(--color-rule)}.tournament-create-surface>h2,.tournament-list-section>h2,.tournament-workbench-section>.tournament-section-heading h2{font-size:var(--text-xl);margin:0}.tournament-create-form{gap:var(--space-xl);margin-block-start:var(--space-lg);display:grid}.tournament-form-section{gap:var(--space-md);display:grid}.tournament-form-section h3,.tournament-form-section p{margin:0}.tournament-form-section p{color:var(--color-muted)}.tournament-form-grid,.tournament-timing-grid,.tournament-team-seed-grid,.tournament-team-settings{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.tournament-timing-fields{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;display:grid}.tournament-timing-fields legend{padding-inline:var(--space-xs);font-family:var(--font-display);font-weight:700}.tournament-create-form>.button{justify-self:stretch}.tournament-list-section{gap:var(--space-lg);padding-block-start:var(--space-xl);display:grid}.tournament-event-list{border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.tournament-event-row{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);min-height:72px;padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);text-decoration:none;display:flex}.tournament-event-row>div{gap:var(--space-2xs);display:grid}.tournament-event-row>div:last-child{text-align:end;justify-items:end}.tournament-event-row span,.tournament-event-row>div:last-child strong{color:var(--color-muted);font-size:var(--text-sm)}.tournament-event-row:active{background:var(--color-paper-3)}.tournament-status{min-height:28px;padding-inline:var(--space-sm);border-radius:var(--radius-round);background:var(--color-paper-3);color:var(--color-ink-soft);text-transform:capitalize;align-items:center;font-weight:600;display:inline-flex}.tournament-status-open,.tournament-status-active{background:var(--color-accent-soft);color:var(--color-accent-deep)}.tournament-event-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.tournament-event-actions label{gap:var(--space-2xs);font-size:var(--text-sm);font-weight:600;display:grid}.tournament-metrics{border-block:var(--rule-thin) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tournament-metrics>div{gap:var(--space-2xs);padding:var(--space-md) var(--space-xs);text-align:center;display:grid}.tournament-metrics>div+div{border-inline-start:var(--rule-thin) solid var(--color-rule)}.tournament-metrics span,.tournament-metrics small{color:var(--color-muted)}.tournament-metrics strong{font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.tournament-metrics small{font-size:var(--text-xs);line-height:1.35}.tournament-stage-nav,.tournament-public-nav{gap:var(--space-xs);z-index:var(--z-sticky);margin-block:var(--space-lg);padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper);box-shadow:0 8px 24px -18px var(--color-shadow);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;inset-block-start:0}.tournament-stage-nav a,.tournament-public-nav a{min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-input);color:var(--color-accent-deep);white-space:nowrap;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.tournament-stage-nav a:active,.tournament-public-nav a:active{background:var(--color-paper-3)}.tournament-workbench-section{gap:var(--space-lg);padding-block:var(--space-xl);scroll-margin-block-start:6rem;display:grid}.tournament-workbench-section+.tournament-workbench-section{border-block-start:var(--rule-thin) solid var(--color-rule)}.tournament-checkin-grid,.tournament-division-stack{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.tournament-checkin-grid>article{padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-surface)}.tournament-checkin-grid article>div{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.tournament-checkin-grid h3,.tournament-checkin-grid p{margin:0}.tournament-checkin-grid article>div strong{font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.tournament-checkin-grid ul,.tournament-roster ul{margin:var(--space-md) 0 0;gap:0;padding:0;list-style:none;display:grid}.tournament-checkin-grid li{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-block:var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule);display:flex}.tournament-checkin-grid small{color:var(--color-muted);text-align:end}.tournament-division-block{min-width:0;padding:var(--space-lg);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:0 1px 2px var(--color-shadow)}.tournament-division-heading{margin-block-end:var(--space-lg)}.tournament-division-heading h3{font-size:var(--text-lg);margin:0}.tournament-team-create{gap:var(--space-lg);display:grid}.tournament-team-count{gap:var(--space-xs);display:grid}.tournament-team-count label{align-items:center;gap:var(--space-md);font-weight:600;display:flex}.tournament-team-count p{color:var(--color-muted);margin:0}.tournament-team-seed{align-items:end;gap:var(--space-sm);padding:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.tournament-team-seed label,.tournament-team-setting label{gap:var(--space-2xs);font-size:var(--text-sm);font-weight:600;display:grid}.tournament-team-seed input[type=color],.tournament-team-setting input[type=color]{inline-size:52px;padding:var(--space-2xs)}.tournament-team-settings{margin-block-end:var(--space-lg)}.tournament-team-setting{align-items:end;gap:var(--space-sm);padding-block:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.tournament-team-setting>i,.tournament-team-label i,.tournament-standing-team i,.tournament-team-chips i{border-radius:var(--radius-round);background:var(--team-color);flex:none;block-size:.85rem;inline-size:.85rem;display:inline-block}.tournament-color-field{grid-column:3}.tournament-team-setting>.button{grid-column:2/-1;justify-self:end}.tournament-team-setting>.error-message{grid-column:1/-1}.tournament-manager-form,.tournament-manager-summary{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-input);background:var(--color-paper-2);grid-column:1/-1;grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-xs);display:grid}.tournament-manager-form label,.tournament-manager-summary>div{gap:var(--space-2xs);display:grid}.tournament-manager-summary small{color:var(--color-muted)}.tournament-manager-form>.button,.tournament-manager-summary>.button{justify-self:start}.tournament-roster-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.tournament-roster{border-block-start:3px solid var(--team-color);background:var(--color-paper);padding:var(--space-md)}.tournament-roster-unassigned{border:var(--rule-thin) dashed var(--color-warning);background:var(--color-paper-2)}.tournament-roster h4{align-items:center;gap:var(--space-xs);font-family:var(--font-display);margin:0;display:flex}.tournament-roster h4 i{border-radius:var(--radius-round);background:var(--team-color);block-size:.75rem;inline-size:.75rem}.tournament-roster h4 span{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);margin-inline-start:auto}.tournament-roster p{margin:var(--space-md) 0 0;color:var(--color-muted)}.tournament-roster li{align-items:center;gap:var(--space-sm);padding-block:var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.tournament-roster li>div{min-width:0;display:grid}.tournament-roster strong{overflow-wrap:anywhere}.tournament-roster small{color:var(--color-muted)}.tournament-roster select{max-width:9.5rem}.tournament-team-select{justify-items:end;gap:var(--space-2xs);display:grid}.tournament-team-select .error-message{max-width:18rem;color:var(--color-error);text-align:end}.tournament-empty{color:var(--color-muted);margin:0;line-height:1.55}.tournament-empty-action{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-paper-2);flex-wrap:wrap;display:flex}.tournament-match-panel{gap:var(--space-md);display:grid}.tournament-match-list{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid}.tournament-match{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-paper);display:grid}.tournament-match.is-completed{border-color:var(--color-rule-strong)}.tournament-match-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;display:flex}.tournament-scoreline,.tournament-score-editor{align-items:center;gap:var(--space-xs);grid-template-columns:minmax(4rem,1fr) 2.5rem auto 2.5rem minmax(4rem,1fr);display:grid}.tournament-scoreline strong{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.tournament-scoreline>:nth-child(4),.tournament-score-editor>:nth-child(4){text-align:center}.tournament-scoreline .tournament-team-label:last-child,.tournament-score-editor .tournament-team-label:last-child{text-align:end;justify-content:flex-end}.tournament-score-editor input{inline-size:2.5rem;min-height:44px;padding-inline:var(--space-xs);text-align:center;font-variant-numeric:tabular-nums}.tournament-score-form>.button{justify-self:end}.tournament-team-label{align-items:center;gap:var(--space-xs);overflow-wrap:normal;word-break:normal;min-width:0;font-weight:600;display:inline-flex}.tournament-standings{gap:var(--space-xs);font-variant-numeric:tabular-nums;display:grid}.tournament-standing-row{align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) repeat(3,auto);display:grid}.tournament-standing-head,.tournament-standing-row>span:nth-child(n+3):nth-child(-n+7){display:none}.tournament-standing-row>span:not(.tournament-standing-team):before{content:attr(data-label);color:var(--color-muted);font-size:var(--text-xs);margin-inline-end:var(--space-2xs)}.tournament-standing-team{align-items:center;gap:var(--space-xs);min-width:0;font-weight:600;display:inline-flex}.tournament-standing-team strong{inline-size:1.25rem;color:var(--color-muted)}.tournament-standing-points{font-family:var(--font-display);font-size:var(--text-md)}.tournament-public-shell{background:var(--color-paper);min-height:100dvh}.tournament-public-header,.tournament-public-main,.tournament-public-nav,.tournament-public-footer{width:min(100% - 2rem,78rem);margin-inline:auto}.tournament-public-header{gap:var(--space-lg);padding-block:var(--space-lg) var(--space-xl);display:grid}.tournament-public-header h1{max-width:13ch;font-size:var(--text-display);margin:0;line-height:1.02}.tournament-public-header p{color:var(--color-muted);margin:0}.tournament-public-header>div{gap:var(--space-sm);display:grid}.tournament-public-header>.button{justify-self:start}.tournament-public-nav{inset-block-start:var(--space-xs)}.tournament-public-main{gap:var(--space-2xl);padding-block:var(--space-lg) var(--space-2xl);display:grid}.tournament-public-division{gap:var(--space-lg);scroll-margin-block-start:6rem;display:grid}.tournament-public-division+.tournament-public-division{border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-xl)}.tournament-public-division>header{gap:var(--space-md);display:grid}.tournament-public-division h2,.tournament-public-division h3{margin:0}.tournament-public-division h2{font-size:var(--text-2xl)}.tournament-public-division h3{font-size:var(--text-md);margin-block-end:var(--space-md)}.tournament-public-division header p{color:var(--color-muted);margin:0}.tournament-team-chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tournament-team-chips span{align-items:center;gap:var(--space-xs);min-height:36px;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-round);background:var(--color-surface);white-space:nowrap;display:inline-flex}.tournament-public-layout{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.tournament-public-footer{gap:var(--space-sm);padding-block:var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.tournament-public-footer strong{font-family:var(--font-display);font-size:var(--text-lg)}.tournament-public-footer span{color:var(--color-muted)}.tournament-public-footer a{color:var(--color-accent-deep);text-decoration-thickness:var(--rule-thin);text-underline-offset:var(--space-2xs);white-space:nowrap;justify-self:start;font-weight:600}.tournament-public-footer a:active{color:var(--color-accent)}.tournament-public-empty{width:min(100% - 2rem,36rem);padding-block:var(--space-2xl);margin-inline:auto}.tournament-public-empty h1{font-size:var(--text-display);margin:0}.tournament-parent-shell{min-height:100dvh;padding:var(--space-md);background:var(--color-accent-soft);place-items:center;display:grid}.tournament-parent-panel{width:min(100%,36rem);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:0 12px 32px -24px var(--color-shadow)}.tournament-parent-panel h1{margin:0;font-size:clamp(2rem,8vw,3.25rem);line-height:1.05}.tournament-parent-panel .lead{margin:var(--space-md) 0 0;color:var(--color-muted);line-height:1.5}.tournament-parent-panel .form-stack{gap:var(--space-md);margin-block-start:var(--space-xl)}.tournament-parent-label{margin:0 0 var(--space-xs);color:var(--color-accent-deep);font-weight:600}.tournament-parent-result{gap:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);margin-block-start:var(--space-xl);padding-block-start:var(--space-lg);display:grid}.tournament-parent-result strong{font-family:var(--font-display);font-size:var(--text-lg)}.tournament-parent-result p,.tournament-privacy-note{color:var(--color-muted);margin:0;line-height:1.55}.tournament-choice-link{background:var(--color-accent-deep)}@media (hover:hover) and (pointer:fine){.tournament-admin-shell .button:hover,.tournament-public-shell .button:hover,.tournament-parent-shell .button:hover{transform:translateY(-1px)}.tournament-event-row:hover{background:var(--color-paper-2)}.tournament-stage-nav a:hover,.tournament-public-nav a:hover{background:var(--color-accent-soft)}.tournament-admin-shell :is(input,select):hover,.tournament-parent-shell :is(input,select):hover{background:var(--color-paper-2)}}@media (width>=40rem){.tournament-admin-main,.tournament-public-header,.tournament-public-main,.tournament-public-nav,.tournament-public-footer{width:min(100% - 3rem,82rem)}.tournament-page-heading,.tournament-event-heading,.tournament-section-heading,.tournament-division-heading,.tournament-match-actions{flex-direction:row;justify-content:space-between;align-items:flex-end}.tournament-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-timing-grid,.tournament-checkin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tournament-team-seed-grid,.tournament-team-settings,.tournament-roster-grid,.tournament-match-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-create-form>.button{justify-self:start}.tournament-team-setting{grid-template-columns:auto minmax(0,1fr) auto auto}.tournament-color-field,.tournament-team-setting>.button{grid-column:auto}.tournament-manager-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.tournament-manager-form>strong,.tournament-manager-form>.error-message{grid-column:1/-1}.tournament-manager-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center}.tournament-standing-row{grid-template-columns:minmax(10rem,1fr) repeat(8,minmax(2rem,auto))}.tournament-standing-head{color:var(--color-muted);font-size:var(--text-xs);font-weight:600;display:grid}.tournament-standing-head>span:not(:first-child),.tournament-standing-row>span:not(:first-child){text-align:end}.tournament-standing-row>span:nth-child(n+3):nth-child(-n+7){display:inline}.tournament-standing-row>span:not(.tournament-standing-team):before{display:none}.tournament-public-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.tournament-public-header>.button{justify-self:end}.tournament-public-nav,.tournament-stage-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.tournament-public-division>header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.tournament-team-chips{justify-content:flex-end}.tournament-public-footer{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.tournament-public-footer span{grid-column:1}.tournament-public-footer a{grid-area:1/2}}@media (width>=60rem){.tournament-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tournament-roster-grid,.tournament-match-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tournament-public-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}.tournament-public-layout .tournament-match-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tournament-admin-shell *,.tournament-public-shell *,.tournament-parent-shell *{scroll-behavior:auto;transition-duration:var(--dur-micro)}}:root{color:#17211b;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.home-page{color:#173326;background-color:#f6f3eb;background-image:linear-gradient(#245c3b0f 1px,#0000 1px),linear-gradient(90deg,#245c3b0f 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:48px 48px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;min-height:100vh;padding:22px clamp(20px,5vw,72px) 28px}.home-nav,.home-footer{justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:0 auto;display:flex}.home-nav{padding-bottom:26px}.home-wordmark{color:#173326;align-items:center;gap:10px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.home-mark{color:#f8f5eb;letter-spacing:.05em;background:#17623e;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.76rem;display:grid}.home-nav-links{color:#4b6052;align-items:center;gap:clamp(14px,2.5vw,32px);font-size:.88rem;font-weight:700;display:flex}.home-nav-links a{text-decoration:none}.home-nav-links a:hover,.home-nav-links a:focus-visible{color:#17623e}.home-nav-cta,.home-primary-action{color:#fbf8ee;background:#17623e;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.home-nav-cta{padding:10px 16px;font-size:.82rem}.home-nav-cta svg,.home-primary-action svg,.home-path-card>svg{width:16px;height:16px}.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(40px,8vw,120px);max-width:1280px;min-height:min(650px,100vh - 100px);margin:0 auto;padding:54px 0 88px;display:grid}.home-kicker{color:#b26037;letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px;font-size:.75rem;font-weight:900}.home-hero h1{color:#173326;letter-spacing:-.065em;max-width:720px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.35rem,7.4vw,7.2rem);font-weight:500;line-height:.93}.home-hero-lede{color:#526559;max-width:520px;margin:28px 0 0;font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.55}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;display:flex}.home-primary-action{padding:15px 21px}.home-secondary-action{color:#28563f;text-underline-offset:4px;font-weight:800}.home-hero-card{background:#d7e6d3;border:1px solid #1733261f;border-radius:28px;padding:clamp(24px,4vw,42px);position:relative;overflow:hidden;box-shadow:18px 22px #17623e1f}.home-hero-card:after{content:"";border:1px solid #17623e33;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-72px;right:-56px;box-shadow:0 0 0 24px #17623e0d,0 0 0 48px #17623e0d}.home-card-topline{color:#53705b;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:.76rem;font-weight:900;display:flex}.home-status-dot{color:#17623e;align-items:center;gap:6px;display:inline-flex}.home-status-dot:before{content:"";background:#d27a4d;border-radius:50%;width:7px;height:7px}.home-card-title{color:#173326;margin:58px 0 26px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.home-checklist{gap:18px;display:grid}.home-checklist>div{align-items:flex-start;gap:12px;display:flex}.home-check-icon,.home-path-icon{color:#17623e;background:#ffffff94;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.home-check-icon svg,.home-path-icon svg{width:18px;height:18px}.home-checklist strong,.home-checklist small,.home-path-card strong,.home-path-card small{display:block}.home-checklist strong{color:#173326;font-size:.95rem}.home-checklist small{color:#55705c;margin-top:3px;font-size:.86rem;line-height:1.4}.home-paths{max-width:1280px;margin:0 auto;padding:36px 0 92px}.home-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.home-section-heading .home-kicker{margin-bottom:0}.home-section-heading h2{color:#173326;max-width:470px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;line-height:1.05}.home-path-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.home-path-card{color:#173326;background:#fffdf7b8;border:1px solid #17332624;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:126px;padding:20px;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:grid}.home-path-card:hover,.home-path-card:focus-visible{background:#fffdf7;border-color:#6e9b78;transform:translateY(-3px)}.home-path-card strong{font-size:.96rem}.home-path-card small{color:#64776a;max-width:190px;margin-top:6px;font-size:.84rem;line-height:1.4}.home-path-card>svg{color:#b26037}.home-note{color:#f8f5eb;background:#173326;border-radius:26px;max-width:1280px;margin:0 auto 72px;padding:clamp(28px,5vw,60px)}.home-note h2{max-width:700px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:1}.home-note p:last-child{color:#c0d0bf;max-width:580px;margin:24px 0 0;line-height:1.6}.home-note .home-kicker{color:#e5a073}.home-footer{color:#64776a;border-top:1px solid #1733262e;padding-top:22px;font-size:.78rem}@media (width<=800px){.home-nav-links{display:none}.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:42px}.home-hero-card{max-width:560px}.home-path-grid{grid-template-columns:1fr}.home-section-heading{display:block}.home-section-heading h2{margin-top:12px}}@media (width<=500px){.home-page{padding-inline:16px}.home-wordmark span:last-child{max-width:150px;font-size:.78rem;line-height:1.1}.home-nav-cta{padding:9px 12px;font-size:.74rem}.home-hero{padding-top:30px;padding-bottom:70px}.home-hero h1{font-size:clamp(3rem,16vw,4.8rem)}.home-hero-actions{flex-direction:column;align-items:stretch}.home-primary-action{width:100%}.home-secondary-action{text-align:center}.home-footer{flex-direction:column;align-items:flex-start;gap:8px}}a{color:inherit}button,input,select,textarea{font:inherit}.public-shell{background:linear-gradient(135deg,#144a2cd1,#17211b94),repeating-linear-gradient(90deg,#2f8f52 0 68px,#348f57 68px 136px);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.public-panel,.form-panel{background:#fffdf7;border-radius:8px;width:100%;min-width:0;max-width:680px;padding:32px;box-shadow:0 22px 80px #08130c3d}.compact-panel{max-width:520px}.success-panel{text-align:center}.eyebrow{color:#1f6840;letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.8rem;font-weight:800}h1{letter-spacing:0;margin:0;font-size:clamp(2rem,8vw,4.4rem);line-height:1}h2{letter-spacing:0;margin:0;font-size:1.25rem}.lead{color:#46544c;margin:16px 0 0;font-size:1.1rem;line-height:1.5}.upcoming-sessions{text-align:left;background:#f8faf6;border:1px solid #d9e1d7;border-radius:8px;margin-top:28px;padding:16px}.upcoming-sessions-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.upcoming-session-item{border-top:1px solid #e4e9e1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.upcoming-sessions-list .upcoming-session-item:first-child{border-top:0;padding-top:0}.upcoming-session-date,.upcoming-session-group{align-items:center;gap:8px;margin:0;display:flex}.upcoming-session-date{color:#173d2a;font-weight:800}.upcoming-session-group{color:#4d5b51;margin-top:4px;font-size:.96rem;font-weight:700}.upcoming-session-meta{color:#607068;gap:6px;min-width:0;font-size:.94rem;display:grid}.upcoming-session-meta span{align-items:center;gap:6px;display:inline-flex}.qr-section .section-header{align-items:center}.qr-layout{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.qr-panel{background:#fff;border:1px solid #dce3dc;border-radius:8px;place-items:center;min-width:220px;padding:12px;display:grid}.qr-image{width:220px;height:220px;image-rendering:pixelated}.qr-actions{gap:12px;display:grid}.qr-actions .muted{word-break:break-word;margin:0}.action-stack,.form-stack{gap:16px;margin-top:28px;display:grid}.choice-link,.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 18px;font-weight:800;text-decoration:none;display:inline-flex}.choice-link{color:#fff;background:#173d2a;justify-content:flex-start;font-size:1.05rem}.choice-link svg{width:24px;height:24px}.button-primary{color:#fff;background:#176b3b}.button-secondary{color:#173d2a;background:#e7eee7}.button-danger{color:#8b1d16;background:#ffe1df}.button-compact{min-height:36px;padding:8px 12px;font-size:.9rem}.button-row{flex-wrap:wrap;gap:8px;display:flex}.button:disabled{opacity:.6;cursor:not-allowed}.back-link{color:#176b3b;margin-bottom:18px;font-weight:800;text-decoration:none;display:inline-block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{color:#253128;gap:7px;font-size:.94rem;font-weight:750;display:grid}.field input,.field select,.field textarea{color:#17211b;background:#fff;border:1px solid #c9d3ca;border-radius:8px;width:100%;padding:13px 14px}.field textarea{resize:vertical}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox{background:#fbfaf5;border:1px solid #dce3dc;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.35;display:flex}.checkbox input{accent-color:#176b3b;width:18px;height:18px;margin-top:1px}.error-message{color:#a22c22;margin:0;font-weight:750}.success-message{color:#176b3b;margin:0;font-weight:750}.muted{color:#607068}.selection-list{gap:10px;display:grid}.result-icon{width:64px;height:64px;margin-bottom:18px}.result-icon-success{color:#176b3b}.result-icon-warning{color:#a75b10}.result-icon-info{color:#315b77}.admin-login-shell{background:#f4f7f2;place-items:center;min-height:100vh;padding:24px;display:grid}.parent-shell{background:#eef4ef;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100vh;padding:24px;display:grid}.parent-login-panel{background:#fff;border:1px solid #d5dfd7;border-radius:8px;width:100%;min-width:0;max-width:520px;padding:32px;box-shadow:0 18px 48px #121f161a}.parent-login-panel h1{font-size:2.4rem}.parent-dashboard{background:#f4f6f2;min-height:100vh}.parent-dashboard main{width:min(100% - 32px,1040px);margin:0 auto;padding:28px 0 48px}.parent-nav{color:#fff;background:#173d2a;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.parent-nav button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-weight:800;display:inline-flex}.parent-nav svg,.plain-list svg{width:18px;height:18px}.parent-media-section,.parent-consent-section{margin-top:1.5rem}.parent-media-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;display:grid}.parent-media-grid figure{background:#fff;border:1px solid #d7ddd9;border-radius:6px;margin:0;overflow:hidden}.parent-media-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.parent-media-grid .profile-media img{aspect-ratio:1}.parent-media-grid figcaption,.parent-document span{gap:.2rem;padding:.7rem;display:grid}.parent-media-grid figcaption span,.parent-document small{color:#52605a}.parent-document{min-height:82px;color:inherit;border:1px solid #d7ddd9;border-radius:6px;align-items:center;text-decoration:none;display:flex}.parent-document>svg{flex:none;margin-left:.8rem}.consent-options{gap:.65rem;margin:.75rem 0 1rem;display:grid}.consent-history{padding:0;list-style:none}.consent-history li{border-bottom:1px solid #e3e8e5;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;padding:.55rem 0;display:grid}.family-section{background:#fff;border:1px solid #dce3dc;border-radius:8px;margin-top:18px;padding:20px}.family-heading p,.family-grid h3,.plain-list small{color:#607068}.family-heading p{margin:6px 0 0}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}.family-grid h3{text-transform:uppercase;margin:0 0 10px;font-size:.85rem}.plain-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.plain-list li{border-top:1px solid #edf0ed;align-items:flex-start;gap:10px;padding-top:10px;display:flex}.plain-list li:first-child{border-top:0;padding-top:0}.progress-list{margin-top:22px}.progress-list h3{font-size:.9rem}.progress-list article{border-top:1px solid #edf0ed;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0;display:grid}.progress-list article p{color:#46544c;grid-column:1/-1;margin:0}.plain-list span,.plain-list small{display:block}.admin-login-panel{background:#fff;border-radius:8px;width:min(100%,420px);padding:28px;box-shadow:0 18px 48px #121f161f}.admin-login-panel h1{font-size:2rem}.admin-shell{background:#f5f6f2;min-height:100vh}.admin-shell main{width:min(100% - 32px,1280px);margin:0 auto;padding:26px 0 48px}.admin-nav{color:#fff;background:#17211b;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.admin-brand{font-weight:850;text-decoration:none}.admin-nav>select{max-width:220px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .6rem}.admin-nav nav{align-items:center;gap:12px;display:flex}.admin-nav a,.admin-nav button{color:#fff;cursor:pointer;background:0 0;border:0;font-weight:750;text-decoration:none}.admin-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.admin-heading h1{font-size:2.25rem}.admin-heading p{color:#617065;margin:0}.admin-heading>div{gap:6px;display:grid}.session-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.metric{background:#fff;border:1px solid #dce3dc;border-radius:8px;padding:16px}.metric span{color:#607068;font-size:.86rem;font-weight:750;display:block}.metric strong{margin-top:6px;font-size:1.8rem;display:block}.admin-section{background:#fff;border:1px solid #dce3dc;border-radius:8px;margin-top:20px;padding:16px}.section-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.section-header p{color:#607068;margin:0}.section-header h2{font-size:1rem}.admin-warning{color:#73400d;background:#fff8e8;border:1px solid #e5bc79;border-radius:8px;align-items:flex-start;gap:10px;margin:12px 0 16px;padding:12px 14px;display:flex}.admin-warning svg{flex:none;margin-top:2px}.admin-warning p{margin:3px 0 0;line-height:1.45}.attendance-status-stack{gap:5px;display:grid}.attendance-status-stack .muted{font-size:.78rem}.table-wrap{margin-top:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0ed;padding:10px}th{color:#4d5b51;text-transform:uppercase;font-size:.78rem}.status-pill{color:#4d5b51;text-transform:capitalize;background:#f3f6f3;border:1px solid #dce3dc;border-radius:999px;padding:4px 8px;font-size:.82rem;font-weight:750;display:inline-block}.compact-select{color:#253128;min-width:118px;font:inherit;background:#fff;border:1px solid #c9d3ca;border-radius:7px;padding:7px 8px}.asset-preview-button{cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.asset-thumbnail{object-fit:cover;background:#f3f6f3;border:1px solid #dce3dc;border-radius:6px;width:72px;height:72px;display:block}.asset-placeholder{color:#8d9a90;background:#f3f6f3;border:1px solid #dce3dc;border-radius:6px;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.asset-placeholder svg{width:20px;height:20px}.asset-modal{z-index:40;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.asset-modal-backdrop{background:#0d120fb8;position:absolute;inset:0}.asset-modal-panel{z-index:1;background:#fffdf7;border-radius:8px;gap:16px;width:min(100%,820px);max-height:calc(100vh - 48px);padding:18px;display:grid;position:relative;overflow:auto;box-shadow:0 24px 70px #040b0752}.asset-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-modal-header h2{font-size:1.2rem}.asset-modal-eyebrow{color:#607068;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:800}.asset-modal-header p{color:#617065;margin:4px 0 0}.asset-modal-image{object-fit:contain;background:#f3f6f3;border-radius:6px;width:100%;max-height:calc(100vh - 240px)}.asset-modal-description{color:#46544c;margin:0;line-height:1.45}.row-actions{flex-wrap:wrap;gap:6px;min-width:230px;display:flex}.row-actions .button,.inline-form .button{min-height:34px;padding:7px 10px;font-size:.78rem}.inline-form{grid-template-columns:minmax(180px,360px) auto;align-items:end;gap:12px;margin:16px 0;display:grid}.session-note-editor{background:#f8faf6;border:1px solid #dce3dc;border-radius:8px;gap:10px;margin:14px 0;padding:14px;display:grid}.session-note-editor .muted{margin:0;font-size:.82rem}.session-form{grid-template-columns:minmax(150px,.95fr) minmax(120px,.65fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(180px,1fr) auto;align-items:end;gap:10px;margin-top:16px;display:grid}.staff-form{grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:10px;margin-top:16px;display:grid}.program-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.program-group-form{grid-template-columns:repeat(4,minmax(110px,1fr)) auto;align-items:end;gap:.75rem;margin-top:1rem;display:grid}.program-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:20px;display:grid}.program-item{background:#fff;border:1px solid #dce3dc;border-radius:8px;padding:18px}.media-form{grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:10px;display:grid}.media-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:20px;display:grid}.media-item{background:#fff;border:1px solid #dce3dc;border-radius:8px;gap:12px;padding:14px;display:grid}.media-item img{aspect-ratio:4/3;object-fit:cover;background:#edf0ed;border-radius:6px;width:100%}.media-item h2,.media-item p{margin:0}.media-item p,.media-item small{color:#607068}.progress-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.compact-form{margin-top:0}.rubric-row{border:1px solid #dce3dc;border-radius:6px;align-items:center;gap:10px;padding:10px;display:flex}.coach-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.staff-form .button{min-height:47px}.volunteer-shell .admin-nav svg,.volunteer-shell .button svg{width:18px;height:18px}.safety-notice{color:#6f1c17;background:#fff1ef;border:1px solid #efb5af;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0;padding:14px;display:grid}.safety-notice p{margin:0}.safety-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.empty-state{text-align:center;padding:36px 16px}.enrolled-checkin{background:#f7faf7;border:1px solid #dce3dc;border-radius:6px;margin:12px 0;padding:12px}.enrolled-checkin h3{margin:0 0 10px;font-size:.9rem}.equipment-grid{grid-template-columns:repeat(2,minmax(100px,1fr));gap:6px;min-width:230px;display:grid}.equipment-grid .checkbox{padding:6px;font-size:.78rem}.session-form .button{min-height:47px}@media (width<=720px){.public-shell{align-items:stretch;padding:14px}.public-panel,.form-panel{padding:22px}.form-grid,.check-grid,.inline-form,.session-form,.staff-form,.program-form,.program-group-form,.media-form,.progress-admin-grid,.coach-form,.family-grid{grid-template-columns:1fr}.admin-nav,.admin-heading{flex-direction:column;align-items:flex-start}.admin-nav nav{flex-wrap:wrap}.session-meta{justify-content:flex-start}.mobile-card-table-wrap{overflow:visible}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{width:100%;display:block}.mobile-card-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mobile-card-table tr{background:#fff;border:1px solid #dce3dc;border-radius:8px;margin-bottom:14px;padding:6px 12px}.mobile-card-table tr:last-child{margin-bottom:0}.mobile-card-table td{word-break:break-word;border-bottom:1px solid #edf0ed;grid-template-columns:minmax(82px,.38fr) minmax(0,.62fr);gap:12px;padding:9px 0;display:grid}.mobile-card-table td:last-child{border-bottom:0}.mobile-card-table td:before{content:attr(data-label);color:#4d5b51;text-transform:uppercase;font-size:.75rem;font-weight:800}.mobile-card-table td[colspan]:before{display:none}.mobile-card-table td[colspan]{display:block}.mobile-card-table .button-row,.mobile-card-table .button,.upcoming-session-item,.upcoming-session-meta{width:100%}.parent-shell{padding:14px}.parent-login-panel{padding:22px}}
