.app-shell{background:var(--bg);isolation:isolate;flex-direction:column;min-height:100dvh;display:flex}.app-header{align-items:center;gap:var(--space-3);min-height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(var(--space-4), env(safe-area-inset-right)) 0 max(var(--space-4), env(safe-area-inset-left));background:var(--navy-900);color:var(--white);z-index:20;box-shadow:var(--shadow-chrome);display:flex;position:sticky;top:0}.app-header__back{width:44px;height:44px;margin-left:calc(var(--space-3) * -1);border-radius:var(--radius-md);color:var(--gold-500);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.app-header__back:hover{background:#ffffff14}.app-header__back:active{background:#ffffff24}.app-header__back:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px}.app-header__title{flex-direction:column;line-height:1.15;display:flex}.app-header__school{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;color:var(--gold-500)}.app-header__team{font-size:var(--text-lg);font-weight:var(--weight-heavy);letter-spacing:.01em}.app-content{width:100%;max-width:var(--max-content-width);padding:var(--space-4) max(var(--space-4), env(safe-area-inset-right)) calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-5)) max(var(--space-4), env(safe-area-inset-left));flex:1;margin:0 auto}@media (width>=720px){.app-content{padding:var(--space-6) var(--space-6) calc(var(--tabbar-height) + var(--space-6))}}.app-tabbar{width:100%;min-height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));background:var(--navy-900);border-top:1px solid var(--navy-700);padding:0 max(var(--space-2), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-2), env(safe-area-inset-left));z-index:30;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0b1f3f1f}.app-tab{color:#ffffffb8;font-size:var(--text-xs);font-weight:var(--weight-medium);min-width:0;min-height:var(--tabbar-height);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}@media (width>=720px){.app-tabbar{justify-content:center}.app-tab{flex:0 160px}}.app-tab.is-active{color:var(--gold-500)}.app-tab.is-active:before{border-radius:var(--radius-pill);content:"";background:currentColor;width:28px;height:3px;position:absolute;top:6px}.card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);overflow-wrap:anywhere;border:1px solid #0b1f3f0a}.avatar{background:var(--navy-800);color:var(--white);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chip{border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;justify-content:center;align-items:center;min-height:28px;padding:4px 12px;display:inline-flex}button.chip{cursor:pointer;min-height:44px;padding-top:0;padding-bottom:0}.chip.is-active{background:var(--navy-900);color:var(--white);border-color:var(--navy-900)}.chip-row{gap:var(--space-2);padding-bottom:2px;display:flex;overflow-x:auto}.segmented{background:var(--bg);border-radius:var(--radius-pill);gap:3px;padding:3px;display:flex;overflow-x:auto}.segmented button{min-width:max-content;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);min-height:38px;font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1}.segmented button.is-active{background:var(--navy-900);color:var(--white)}.stat-tile{flex-direction:column;flex:1;gap:2px;display:flex}.stat-tile__value{font-size:var(--text-2xl);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;font-family:var(--font-display);letter-spacing:0}.stat-tile__value.is-accent{color:var(--gold-700)}.stat-tile__label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.03em;color:var(--text-secondary);text-transform:uppercase}.delta{font-weight:var(--weight-bold);font-size:var(--text-base);align-items:center;gap:2px;display:inline-flex}.delta.is-faster{color:var(--success)}.delta.is-slower{color:var(--danger)}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.02em;align-items:center;padding:2px 8px;display:inline-flex}.badge.is-pr{background:var(--gold-100);color:var(--gold-700)}.badge.is-near{border:1px solid var(--border-strong);color:var(--text-secondary);font-weight:var(--weight-bold);background:0 0}.badge.is-season{background:var(--season-bg);color:var(--navy-700)}.badge.is-record{background:var(--navy-900);color:var(--gold-300);-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge.is-course{background:var(--success-bg);color:var(--success)}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:14px var(--space-4);font-weight:var(--weight-heavy);font-size:var(--text-lg);cursor:pointer;text-align:center;border:none;min-height:48px;line-height:1.15;display:inline-flex}.button.is-primary{background:var(--gold-500);color:var(--navy-900)}.button.is-primary:active{background:var(--gold-600)}.button.is-secondary{background:var(--navy-900);color:var(--white)}.button.is-outline{background:var(--white);color:var(--navy-900);border:1px solid var(--border)}.button.is-block{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.form-field{flex-direction:column;gap:5px;min-width:0;display:flex}.form-field__label{font-size:var(--text-sm);font-weight:var(--weight-heavy);color:var(--text-secondary)}.form-row{gap:var(--space-2);display:flex}.form-row>*{flex:1}.form-field input,.form-field select,.form-field textarea,.form-row input,.form-row select{width:100%;padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-md)}.list-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);display:flex}.list-row+.list-row{border-top:1px solid var(--border)}.list-row.is-clickable{cursor:pointer}.list-row__body{min-width:0}.list-row__title{font-weight:var(--weight-heavy);color:var(--navy-900);font-size:var(--text-md)}.list-row__meta{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px;line-height:1.35}.inline-alert{font-size:var(--text-base);font-weight:var(--weight-bold);margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);line-height:1.4}.inline-alert.is-danger{color:var(--danger);background:var(--danger-bg)}.inline-alert.is-success{color:var(--success);background:var(--success-bg)}.inline-alert.is-neutral{color:var(--text-secondary);background:var(--bg)}.skeleton-card{flex-direction:column;padding:0;display:flex}.skeleton-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.skeleton-row+.skeleton-row{border-top:1px solid var(--border)}.skeleton-avatar,.skeleton-line{border-radius:var(--radius-pill);background:linear-gradient(90deg,#eef1f5 0%,#f8fafc 45%,#eef1f5 90%) 0 0/200% 100%;animation:1.3s ease-in-out infinite skeleton-pulse;display:block}.skeleton-avatar{flex-shrink:0;width:34px;height:34px}.skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line{height:10px}.skeleton-line.is-wide{width:min(76%,260px)}.skeleton-line.is-short{width:min(42%,160px)}@keyframes skeleton-pulse{0%{background-position:180% 0}to{background-position:-20% 0}}.section-title{font-size:var(--text-base);font-weight:var(--weight-heavy);letter-spacing:.04em;color:var(--text-secondary);text-transform:uppercase;margin:var(--space-5) 0 var(--space-2)}.section-title:first-child{margin-top:0}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:124px;padding:var(--space-6) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-md);font-weight:var(--weight-bold);background:#ffffff94;flex-direction:column;line-height:1.4;display:flex}.empty-state__icon{background:var(--gold-100);width:38px;height:38px;color:var(--gold-700);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@media (width<=420px){.form-row{flex-direction:column}}@media (hover:hover){.list-row.is-clickable:hover,.more-row:hover,.admin-list-row:hover,.meet-card__body:hover{background:var(--bg)}button.chip:hover:not(.is-active){border-color:var(--text-muted);color:var(--text-primary)}.segmented button:hover:not(.is-active){color:var(--text-primary)}}.list-row.is-clickable:active,.more-row:active,.admin-list-row:active,.meet-card__body:active{background:var(--canvas)}.list-row.is-clickable:focus-visible,.more-row:focus-visible,.admin-list-row:focus-visible,.meet-card__body:focus-visible,button.chip:focus-visible,.segmented button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-header{margin:0 0 var(--space-4)}.page-header__eyebrow{color:var(--gold-700);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px}.page-header__title{color:var(--navy-900);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:var(--leading-tight);margin:0}.page-header__meta{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-base)}.page-header__actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.bleed{margin-left:calc(var(--space-4) * -1);margin-right:calc(var(--space-4) * -1);padding-left:var(--space-4);padding-right:var(--space-4)}.sign-in{min-height:100vh;padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:360px;margin:0 auto;display:flex}.sign-in__mark{background:var(--navy-900);width:56px;height:56px;color:var(--gold-500);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:flex}.sign-in h1{font-size:var(--text-3xl);font-weight:var(--weight-heavy);color:var(--navy-900)}.sign-in__subtitle{color:var(--text-secondary);margin:var(--space-2) 0 var(--space-5);font-size:var(--text-md)}.sign-in form{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.sign-in__input{width:100%;padding:14px var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--text-lg);text-align:center;background:var(--white)}.sign-in__error{color:var(--danger);font-size:var(--text-base);margin:0}.sign-in__back{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);padding:var(--space-2);cursor:pointer;background:0 0;border:none}.sign-in__phone{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.5}.sign-in__phone strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.sign-in__label{font-size:var(--text-sm);font-weight:var(--weight-heavy);color:var(--text-secondary);text-align:left;margin-bottom:4px;display:block}.races{gap:var(--space-4);flex-direction:column;display:flex}.meet-card{align-items:center;gap:var(--space-3);padding:var(--space-4);cursor:pointer;display:flex}.meet-card__body{flex:1;min-width:0}.meet-card__name{font-size:var(--text-lg);font-weight:var(--weight-heavy);color:var(--navy-900);margin-bottom:2px}.meet-card__meta{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-base);flex-wrap:wrap;display:flex}.meet-card__meta-item{align-items:center;gap:4px;display:inline-flex}.meet-card__groups{margin-top:var(--space-2);flex-wrap:wrap;gap:6px;display:flex}.meet-card__date{width:48px;color:var(--navy-900);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meet-card__date-month{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.05em;color:var(--gold-700)}.meet-card__date-day{font-size:var(--text-2xl);font-weight:var(--weight-heavy);line-height:1.1}.meet-card__date-year{font-size:var(--text-2xs);font-weight:var(--weight-bold);color:var(--text-muted)}.meet-card__chevron{color:var(--text-muted);flex-shrink:0}.meet-card.is-upcoming{background:var(--bg);box-shadow:none;border:1px solid var(--border)}.meet-card.is-upcoming .meet-card__name{color:var(--text-secondary)}.meet-card.is-upcoming .meet-card__date,.meet-card.is-upcoming .meet-card__date-month{color:var(--text-muted)}.meet-card__pending{margin-left:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;padding:1px 7px;display:inline-block}.cards__picker{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.cards__pick{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--white);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer}.cards__pick[aria-selected=true]{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}.cards__model{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.race-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.race-card.is-hidden{display:none}.race-card__head{gap:var(--space-2) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.race-card__name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heavy);margin:0}.race-card__meta{color:var(--text-secondary);font-size:var(--text-base);margin:2px 0 0}.race-card__tier{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.05em;text-transform:uppercase;padding:4px 10px}.race-card__tier.is-full{color:var(--success);border-color:var(--success)}.race-card__tier.is-single,.race-card__tier.is-thin{color:var(--gold-700);border-color:var(--gold-700)}.race-card__targets{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.target{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.target__dist{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.07em;text-transform:uppercase;margin:0 0 6px}.target__row{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.target__num{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;line-height:1}.target__band,.target__basis{color:var(--text-secondary);font-size:var(--text-sm)}.target__band{font-variant-numeric:tabular-nums}.target__basis{margin:var(--space-2) 0 0;line-height:var(--leading-snug)}.target__none{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal);margin:4px 0 0}.target__bar{width:100%;height:auto;margin-top:var(--space-2);display:block;overflow:visible}.target__tick{fill:var(--text-muted);font-family:var(--font-numeric);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.target__ticktarget{fill:var(--gold-700);font-family:var(--font-numeric);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.target__legend{color:var(--text-muted);font-size:var(--text-2xs);flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0 0;display:flex}.target__key{border-radius:2px;width:11px;height:4px;margin-right:2px;display:inline-block}.target__key--band{background:var(--navy-700);height:9px}.target__key--full{background:var(--border-strong)}.target__key--target{background:var(--gold-500);width:3px;height:12px}.target.is-run{border-left:3px solid var(--gold-500)}.target__verdict{align-items:center;gap:6px var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-primary);flex-wrap:wrap;display:flex}.target__verdict .is-faster{color:var(--success)}.target__verdict .is-slower,.target__verdict--plain{color:var(--text-secondary);font-weight:var(--weight-medium)}.target__verdict-badge{border-radius:var(--radius-pill);background:var(--gold-100);color:var(--gold-700);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.02em;padding:3px 9px}.target__projline{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.race-card__cols{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1.15fr .85fr;display:grid}@media (width<=640px){.race-card__cols{grid-template-columns:1fr}}.race-card__cols h3{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.07em;text-transform:uppercase}.race-card table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.race-card th,.race-card td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px 6px 0}.race-card th{color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase}.race-card td.num,.race-card th.num{text-align:right;font-variant-numeric:tabular-nums}.race-card td.num:not(:last-child),.race-card th.num:not(:last-child){padding-right:var(--space-4)}.race-card tr:last-child td{border-bottom:0}.race-card__year{color:var(--text-muted)}.race-card__here{color:var(--gold-700);font-weight:var(--weight-bold)}.race-card__empty{color:var(--text-muted);font-size:var(--text-base);margin:0}@media print{.app-header,.app-tabbar,.cards__picker,.page-header__actions{display:none!important}.cards__model{font-size:var(--print-xs)}.race-card{break-after:page;page-break-after:always;box-shadow:none;border:0;margin-bottom:8mm;padding:0;display:block!important}.race-card:last-child{break-after:auto;page-break-after:auto}}.target__pace{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--text-base);font-variant-numeric:tabular-nums}.target__pace strong{font-size:var(--text-lg);font-weight:var(--weight-heavy)}.target__pace-band{color:var(--text-secondary)}.modelscore{margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--navy-700);border-radius:var(--radius-md);background:var(--white)}.modelscore__title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}.modelscore__row{gap:4px var(--space-4);color:var(--text-secondary);font-size:var(--text-base);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.modelscore__row strong{color:var(--text-primary)}.modelscore__note{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-2xs);line-height:var(--leading-snug)}@media print{.modelscore{display:none}}.target.is-nofinish{border-left:3px solid var(--border-strong)}.target__nofinish{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-bold)}.target__verdict .is-plain{color:var(--text-secondary);font-weight:var(--weight-medium)}.cards__drift{margin:0 0 var(--space-3);padding:var(--space-3);border-left:3px solid var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.target__guess{font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.target__guess--beat{color:var(--success)}.target__envelope{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border)}.target__envelope label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);margin-bottom:6px;display:block}.target__envelope-row{gap:var(--space-2);align-items:stretch;display:flex}.target__envelope-input{min-width:0;font-size:var(--text-base);font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);flex:1;padding:10px 12px}.target__envelope-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.target__envelope-note{font-size:var(--text-sm);color:var(--text-secondary);margin:6px 0 0}.target__envelope-note--bad{color:var(--danger)}@media print{.target__envelope{display:none}}.modelscore__shock{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--navy-700);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.cards__collect{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--gold-400);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}@media print{.cards__collect{display:none}}.course-row{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 80px 92px;align-items:center;display:grid}.course-row:last-child{border-bottom:none}.course-row__name{flex-direction:column;gap:2px;min-width:0;display:flex}.course-row__layout,.course-row__notes{font-size:var(--text-sm);color:var(--text-muted)}.course-row__bar{border-radius:var(--radius-pill);background:var(--canvas);height:8px;overflow:hidden}.course-row__fill{border-radius:var(--radius-pill);height:100%;display:block}.course-row__fill.is-hard{background:var(--danger)}.course-row__fill.is-easy{background:var(--success)}.course-row__pct{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);flex-direction:column;align-items:flex-end;display:flex}.course-row__pct.is-hard{color:var(--danger)}.course-row__pct.is-easy{color:var(--success)}.course-row__n{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--text-muted)}.course-note{padding:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.55}.course-note+.course-note{padding-top:0}@media (width<=520px){.course-row{grid-template-columns:minmax(0,1fr) 80px}.course-row__bar{display:none}}.privacy-h{padding:var(--space-4) var(--space-4) var(--space-2);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.privacy-p{padding:0 var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.privacy-list{padding:0 var(--space-4) var(--space-3) calc(var(--space-4) + 18px);font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.privacy-list li+li{margin-top:6px}.race-detail__header{margin-bottom:var(--space-4)}.race-detail__name{font-size:var(--text-3xl);font-weight:var(--weight-heavy);color:var(--navy-900);margin-bottom:var(--space-2)}.race-detail__meta{color:var(--text-secondary);font-size:var(--text-md);margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}.race-detail__meta-item{align-items:center;gap:6px;display:flex}.race-detail__actions{gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);display:flex}@media (width<=420px){.race-detail__actions{flex-direction:column}}.race-storyboard{margin-bottom:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);box-shadow:var(--shadow-card);gap:1px;display:grid;overflow:hidden}.race-storyboard__feature,.race-storyboard__group{background:#fff}.race-storyboard__feature{align-items:center;gap:var(--space-3);padding:var(--space-4);border-left:4px solid var(--gold-500);display:flex}.race-storyboard__icon{background:var(--gold-100);width:44px;height:44px;color:var(--gold-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.race-storyboard__body{flex:1;min-width:0}.race-storyboard__label,.race-storyboard__title{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:0;text-transform:uppercase;color:var(--text-secondary)}.race-storyboard__name{font-weight:var(--weight-heavy);color:var(--navy-900);font-size:var(--text-lg)}.race-storyboard__detail{font-size:var(--text-base);color:var(--success);font-weight:var(--weight-medium)}.race-storyboard__group{padding:var(--space-3) var(--space-4)}.race-storyboard__title{margin-bottom:var(--space-2);color:var(--gold-700)}.race-storyboard__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:6px 0;display:flex}.race-storyboard__row+.race-storyboard__row{border-top:1px solid var(--border)}.race-storyboard__row .race-storyboard__name{font-size:var(--text-base)}.race-storyboard__row .race-storyboard__detail{color:var(--text-secondary);font-size:var(--text-sm);text-align:right;line-height:1.35}.result-list{padding:0}.result-row{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.result-row__main{align-items:center;gap:var(--space-3);display:flex}.result-row:last-child{border-bottom:none}.result-row__body{flex:1;min-width:0}.result-row__name{font-weight:var(--weight-bold);color:var(--navy-900);font-size:var(--text-md);margin-bottom:4px}.result-row__badges{flex-wrap:wrap;gap:4px;display:flex}.result-row__note{font-size:var(--text-sm);color:var(--text-muted);line-height:1.35}.result-row__details{align-items:center;gap:4px var(--space-2);flex-wrap:wrap;padding-left:64px;display:flex}.result-row__time{text-align:right;flex-shrink:0;min-width:72px}.result-row__time-value{font-family:var(--font-display);font-weight:var(--weight-heavy);font-size:var(--text-lg);color:var(--navy-900);font-variant-numeric:tabular-nums}.result-row__status{color:var(--text-muted);font-weight:var(--weight-bold);font-size:var(--text-base)}@media (width<=390px){.result-row{padding-right:var(--space-3);padding-left:var(--space-3)}.result-row__main{gap:var(--space-2)}.result-row__details{padding-left:56px}.race-storyboard__row{flex-direction:column;align-items:flex-start;gap:2px}.race-storyboard__row .race-storyboard__detail{text-align:left}}.result-list__legend{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.result-list__legend-item{align-items:center;gap:6px;display:inline-flex}.race-detail__course{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--gold-500);background:var(--white);border-radius:var(--radius-md)}.race-detail__course-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.race-detail__course-distance{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-heavy);color:var(--navy-900)}.race-detail__course-sep{color:var(--text-muted)}.race-detail__course-name{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary)}.race-detail__course-notes{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.result-row__splits{gap:var(--space-2);flex-wrap:wrap;margin-top:4px;padding-left:44px;display:flex}.split{font-size:var(--text-sm);color:var(--text-secondary);align-items:baseline;gap:5px;display:inline-flex}.split__label{font-weight:var(--weight-heavy)}.split__time{font-variant-numeric:tabular-nums;color:var(--text-primary)}.split--negative .split__label{color:var(--success)}.result-row__explain{font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px;padding-left:44px;font-style:italic}.race-detail__pack{font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:6px;margin:6px 0 0;display:flex}.race-detail__pack-label{font-weight:var(--weight-heavy)}.race-detail__pack-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.race-detail__start{white-space:nowrap}.race-detail__venue-link{color:inherit;text-decoration:none}.race-detail__venue-link:hover .race-detail__venue-address,.race-detail__venue-link:focus-visible .race-detail__venue-address{text-decoration:underline}.race-detail__venue-address{font-size:var(--text-sm);color:var(--text-secondary);display:block}.race-detail__draft-note{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.result-row__context{margin-right:var(--space-2);border-radius:var(--radius-pill);background:var(--danger-bg);color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:1px 8px;display:inline-block}.new-meet__section{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.new-meet__field{flex-direction:column;gap:4px;display:flex}.new-meet__field label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-secondary)}.new-meet__field input,.new-meet__field select{padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-md)}.new-meet__row{gap:var(--space-2);display:flex}.new-meet__row>*{flex:1}.race-group-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex;position:relative}.race-group-card__remove{top:var(--space-2);right:var(--space-2);color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute}.entry-list{padding:0}.entry-row{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.entry-row:last-child{border-bottom:none}.entry-row__athlete{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.entry-row__name{font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-row__feedback{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--gold-700);text-align:right;flex-shrink:0}.entry-row__controls{gap:var(--space-2);grid-template-columns:minmax(52px,.75fr) minmax(86px,1.15fr) minmax(100px,1fr);display:grid}.entry-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-display);font-size:var(--text-md);text-align:center;font-variant-numeric:tabular-nums;padding:8px}.entry-status{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--white);padding:8px 4px}.entry-status.is-dns,.entry-status.is-dnf,.entry-status.is-absent{color:var(--danger);border-color:var(--danger)}.enter-results__actions{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}@media (width>=720px){.entry-row{grid-template-columns:1fr 260px;align-items:center;display:grid}.entry-row__athlete{flex-direction:column;align-items:flex-start;gap:2px}}.enter-results__discard{color:inherit;font:inherit;font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;min-height:0;padding:0;text-decoration:underline}.entry-row__challenge{color:var(--gold-700);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-top:2px;display:block}.entry-context{width:100%;font-size:var(--text-sm);color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-sm);background:0 0;margin-top:6px;padding:6px 8px}.entry-context.is-set{color:var(--danger);border-style:solid;border-color:var(--danger);background:var(--danger-bg)}@page model-check{size:letter portrait;margin:.5in}.model-check{page:model-check;background:var(--white);color:var(--text-primary)}.model-check__empty{color:var(--text-muted);font-size:var(--print-base)}.model-check__stat-value{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-2xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);display:block}.model-check__stat-note{color:var(--text-muted);font-size:var(--print-xs);line-height:var(--leading-snug);display:block}.model-check__conditions{color:var(--text-primary);font-size:var(--print-xs);font-weight:var(--weight-bold);margin-top:2px}.model-check__conditions span{color:var(--text-muted);font-weight:var(--weight-normal)}.model-check__weather-emoji{font-size:var(--print-lg);vertical-align:-2px;margin-right:4px;line-height:1}.model-check__grade{color:var(--text-muted);font-size:var(--print-2xs);font-weight:var(--weight-normal);margin-left:6px}.model-check__tier{color:var(--text-muted);font-size:var(--print-2xs);letter-spacing:.04em;text-transform:uppercase}.model-check__num{font-variant-numeric:tabular-nums}.model-check__range{color:var(--text-secondary);font-size:var(--print-2xs);white-space:nowrap}.model-check__miss{font-weight:var(--weight-bold)}.model-check__miss.is-faster{color:var(--success)}.model-check__miss.is-slower{color:var(--danger)}.model-check__hit{color:var(--text-secondary);font-size:var(--print-2xs);text-transform:uppercase}.model-check__notes{margin-top:var(--space-3);border-left:3px solid var(--gold-600);color:var(--text-secondary);font-size:var(--print-xs);padding:2px 10px;line-height:1.4}.model-check__notes p{margin-bottom:3px}.model-check__notes strong{color:var(--navy-900)}.model-check__rule{color:var(--text-muted);margin-top:6px;font-style:italic}.model-check__stats .print-sheet__record-block{min-width:0;padding:var(--space-2);padding-left:calc(var(--space-2) + 3px);flex:1 1 0}.model-check__table th:first-child,.model-check__table td:first-child{width:22%}.model-check__table th:nth-child(2),.model-check__table td:nth-child(2){width:10%}.model-check__table th:nth-child(3),.model-check__table td:nth-child(3){width:9%}.model-check__table th:nth-child(4),.model-check__table td:nth-child(4){width:12%}.model-check__table th:nth-child(5),.model-check__table td:nth-child(5){width:16%}.model-check__table th:nth-child(6),.model-check__table td:nth-child(6),.model-check__table th:nth-child(7),.model-check__table td:nth-child(7){width:12%}.model-check__table th:nth-child(8),.model-check__table td:nth-child(8){width:7%}.model-check__table thead th{border-bottom:1.5px solid var(--navy-900);color:var(--navy-900);font-size:var(--print-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:4px 6px}.model-check__table tbody th,.model-check__table tbody td{border-bottom:1px solid var(--border);font-size:var(--print-sm);text-align:left;vertical-align:baseline;padding:5px 6px}.model-check__table tbody th{color:var(--navy-900);font-size:var(--print-base);font-weight:var(--weight-bold);text-transform:none;letter-spacing:0}.model-check__stats .model-check__stat-value{font-size:var(--print-2xl);line-height:var(--leading-tight)}@page team-times{size:letter landscape;margin:.35in}.times-sheet{page:team-times;background:var(--white);color:var(--text-primary)}.times-sheet__head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-3);display:flex}.times-sheet__head h1{color:var(--navy-900);font-size:var(--print-2xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight)}.times-sheet__head p{color:var(--text-secondary);font-size:var(--print-base);margin-top:2px}.times-sheet__what{color:var(--text-muted);font-size:var(--print-sm);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.times-sheet__section{margin-bottom:var(--space-4)}.times-sheet__section-head h2{color:var(--navy-900);font-size:var(--print-lg);font-weight:var(--weight-bold)}.times-sheet__section-head p{color:var(--text-muted);font-size:var(--print-2xs);margin-bottom:4px}.times-sheet__table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--print-base)}.times-sheet__table thead th{border-bottom:1.5px solid var(--navy-900);color:var(--navy-900);font-size:var(--print-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:3px 5px}.times-sheet__table tbody th,.times-sheet__table tbody td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:5px}.times-sheet__table tbody th{color:var(--navy-900);font-size:var(--print-lg);font-weight:var(--weight-bold)}.times-sheet__col-name{width:13%}.times-sheet__col-grade{width:3%}.times-sheet__col-mark{width:9%}.times-sheet__col-season{width:34%}.times-sheet__col-write{border-left:1px solid var(--border-strong);background:var(--bg);width:14%}.times-sheet__blank{color:var(--text-muted);font-size:var(--print-2xs)}.times-sheet__when-set,.times-sheet__basis{color:var(--text-muted);font-size:var(--print-2xs);display:block}.times-sheet__outlier{color:var(--danger);font-weight:var(--weight-bold);margin-left:2px;text-decoration:none}.times-sheet__record{background:var(--gold-100);color:var(--gold-700);font-size:var(--print-2xs);font-weight:var(--weight-bold);border-radius:2px;margin-left:3px;padding:0 3px}.times-sheet__strip{flex-wrap:wrap;gap:2px 10px;margin:0;padding:0;list-style:none;display:flex}.times-sheet__race{min-width:58px}.times-sheet__when{color:var(--text-muted);font-size:var(--print-xs);display:block}.times-sheet__clock{font-size:var(--print-base);line-height:var(--leading-tight);display:block}.times-sheet__delta{color:var(--text-muted);font-size:var(--print-xs);line-height:var(--leading-tight);display:block}.times-sheet__delta.is-faster{color:var(--success)}.times-sheet__delta.is-slower{color:var(--danger)}.times-sheet__legend{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--print-2xs);flex-wrap:wrap;gap:2px 16px;padding-top:5px;display:flex}@media print{.times-sheet__table tbody tr{break-inside:avoid}}.times-sheet__group-row th{border-bottom:1px solid var(--navy-900);color:var(--navy-900);font-size:var(--print-md);font-weight:var(--weight-heavy);letter-spacing:.03em;text-align:left;text-transform:uppercase;padding:7px 5px 2px}.times-sheet__group-count{color:var(--text-muted);font-size:var(--print-2xs);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;margin-left:8px}.times-sheet__table tbody:first-of-type .times-sheet__group-row th{padding-top:2px}.print-sheet__toolbar{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.print-sheet__toolbar .segmented{flex:1;max-width:440px}.print-sheet__page--times{page:team-times}.print-sheet__page--grade{page:model-check}.print-sheet__page{background:var(--white)}.print-sheet__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.print-sheet__header h1{color:var(--navy-900);font-size:var(--print-3xl);font-weight:var(--weight-heavy)}.print-sheet__header p,.print-sheet__header span{color:var(--text-secondary);font-size:var(--print-lg);margin-top:4px;line-height:1.35;display:block}.print-sheet__header strong{color:var(--gold-700);font-size:var(--print-lg);text-transform:uppercase}.print-sheet__school-record{color:var(--navy-900);font-weight:var(--weight-heavy)}.print-sheet__section{margin-top:var(--space-5);break-inside:avoid}.print-sheet__section:first-of-type{margin-top:0}.print-sheet__section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:2px solid var(--navy-900);display:flex}.print-sheet__section-header h2{color:var(--navy-900);font-size:var(--print-2xl);font-weight:var(--weight-black);margin:0}.print-sheet__section-header span{color:var(--text-secondary);font-size:var(--print-base);font-weight:var(--weight-bold);margin-top:2px;display:block}.print-sheet__table{border-collapse:collapse;width:100%;font-size:var(--print-md);table-layout:fixed}.print-sheet__table th,.print-sheet__table td{border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 6px}.print-sheet__table th{color:var(--text-secondary);font-size:var(--print-sm);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase}.print-sheet__table td:nth-child(n+3){font-variant-numeric:tabular-nums}.print-sheet__table td span{color:var(--text-muted);margin-top:2px;display:block}.print-sheet__races{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.print-sheet__race-card{padding:var(--space-2) var(--space-3);padding-left:calc(var(--space-3) + 3px);border:1px solid var(--border);flex:160px;position:relative}.print-sheet__race-card:before{content:"";background:var(--navy-900);-webkit-print-color-adjust:exact;print-color-adjust:exact;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.print-sheet__race-card strong{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-xl);font-weight:var(--weight-heavy);display:block}.print-sheet__race-card span{color:var(--text-secondary);font-size:var(--print-sm);margin-top:2px;line-height:1.3;display:block}.print-sheet__race-card-kind{font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;color:var(--gold-600)!important}.print-sheet__coverage{margin:0 0 var(--space-3);border:none;border-left:3px solid var(--gold-600);color:var(--text-secondary);font-size:var(--print-sm);padding:2px 10px;line-height:1.4}.print-sheet__coverage strong{color:var(--navy-900)}.print-sheet__roster-section+.print-sheet__roster-section{margin-top:var(--space-4)}.print-sheet__roster-heading{align-items:baseline;gap:var(--space-2);color:var(--navy-900);font-size:var(--print-md);font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;margin:0 0 4px;display:flex}.print-sheet__roster-heading span{color:var(--text-muted);font-size:var(--print-xs);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none}.print-sheet__table--roster{font-size:var(--print-base)}.print-sheet__distance,.print-sheet__target{border-left:1px solid var(--border);padding-left:8px!important}.print-sheet__table--roster th,.print-sheet__table--roster td{padding:7px 5px}.print-sheet__roster-row{break-inside:avoid}.print-sheet__roster-row+.print-sheet__roster-row td{border-top:1px solid var(--border)}.print-sheet__athlete strong{color:var(--navy-900);font-size:var(--print-md);font-weight:var(--weight-heavy);line-height:1.2}.print-sheet__athlete span{font-size:var(--print-xs);line-height:1.3}.print-sheet__assignment{font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;color:var(--navy-900)!important;font-size:var(--print-xs)!important;margin-top:4px!important}.print-sheet__assignment--blank{font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;color:var(--text-muted)!important}.print-sheet__context-list{gap:4px;display:grid}.print-sheet__context-list>span{color:var(--text-secondary);font-size:var(--print-sm);line-height:1.25;display:block;margin:0!important}.print-sheet__context-list strong{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-md);font-variant-numeric:tabular-nums}.print-sheet__context-list em{color:var(--text-muted);font-size:var(--print-xs);font-style:normal;display:block}.print-sheet__context-list abbr{color:var(--gold-600);font-size:var(--print-2xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;margin-left:4px;text-decoration:none}.print-sheet__distance--none .print-sheet__muted{display:block}.print-sheet__inline-mark{white-space:nowrap;margin:0!important;display:inline!important}.print-sheet__inline-mark strong{color:var(--navy-900);font-family:var(--font-display);font-variant-numeric:tabular-nums}.print-sheet__inline-mark em{color:var(--text-muted);font-size:var(--print-xs);font-style:normal}.print-sheet__legend{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--print-xs);line-height:1.4}.print-sheet__legend strong{color:var(--text-secondary)}.print-sheet__writein-box{border-bottom:1px solid var(--text-muted);height:16px;display:block!important}.print-sheet__bib strong{font-family:var(--font-display);font-size:var(--print-xl);font-variant-numeric:tabular-nums}.print-sheet__writein{border-left:1px solid var(--text-muted)}.print-sheet__writein:after{content:"";border-bottom:1px solid var(--text-muted);min-height:24px;margin:6px 4px 2px;display:block}.print-sheet__target-value{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-xl);font-variant-numeric:tabular-nums;display:block}.print-sheet__target-label{color:var(--gold-700);font-size:var(--print-sm);font-weight:var(--weight-heavy);text-transform:uppercase}.print-sheet__metric-line{grid-template-columns:2.1em 1fr;align-items:baseline;column-gap:5px;display:grid}.print-sheet__metric-line+.print-sheet__metric-line{margin-top:2px}.print-sheet__metric-line>span{color:var(--text-secondary);font-size:var(--print-xs);font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;display:block;margin:0!important}.print-sheet__metric-line>strong{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-base);font-variant-numeric:tabular-nums;text-align:right}.print-sheet__metric-line em{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--print-2xs);font-style:normal;font-weight:var(--weight-medium);letter-spacing:0;margin-left:4px}.print-sheet__metric-empty{color:var(--text-muted)!important}.print-sheet__muted{color:var(--text-secondary);font-size:var(--print-sm);line-height:1.25}.print-sheet__badge-row{flex-wrap:wrap;gap:4px;display:flex}.print-sheet__table--post td:nth-child(2),.print-sheet__table--post td:nth-child(4){font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.print-sheet__target{display:table-cell}.print-sheet__target-line{grid-template-columns:3.2em 1fr;align-items:baseline;column-gap:4px;display:grid}.print-sheet__target-line--bare{grid-template-columns:1fr}.print-sheet__target-line--bare .print-sheet__target-note{grid-column:1}.print-sheet__target-line+.print-sheet__target-line{border-top:1px dotted var(--border);margin-top:4px;padding-top:4px}.print-sheet__target-distance{color:var(--text-muted);font-size:var(--print-2xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase}.print-sheet__target-value{color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-lg);font-variant-numeric:tabular-nums;font-weight:var(--weight-heavy)}.print-sheet__target-note{color:var(--text-muted);font-size:var(--print-2xs);grid-column:2;font-style:normal;line-height:1.25}.print-sheet__target-line--low .print-sheet__target-value{color:var(--text-secondary);font-weight:var(--weight-medium)}.print-sheet__effort-kind{color:var(--gold-600);font-family:var(--font-sans);font-size:var(--print-2xs);font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;margin-left:3px}.print-sheet__outlier{color:var(--gold-600);font-size:var(--print-2xs);font-weight:var(--weight-heavy);border:1px solid;border-radius:3px;margin-left:2px;padding:0 3px;text-decoration:none}.print-sheet__record-holder{color:var(--gold-600);font-size:var(--print-2xs);font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;margin-top:3px;display:block}.print-sheet__recent-form{color:var(--text-secondary);line-height:1.3;display:block;font-size:var(--print-xs)!important;margin-top:3px!important}.print-sheet__recent-form strong{color:var(--navy-900);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:var(--print-sm)!important}.print-sheet__recent-form em{color:var(--text-muted);font-style:normal}@media (width<=640px){.print-sheet{overflow-x:auto}.print-sheet__page{min-width:920px}}@media (width<=420px){.print-sheet__toolbar{flex-direction:column;align-items:stretch}.print-sheet__toolbar .segmented{max-width:none}}@page{size:Letter portrait;margin:.4in .35in}@media print{.app-header,.app-tabbar,.print-sheet__toolbar{display:none}html,body,.app-shell,.app-content,.print-sheet__page{background:#fff!important;min-height:0!important}.app-content{max-width:none!important;padding:0!important}.print-sheet__page{box-shadow:none;border:0;padding:0}.print-sheet__table--roster th,.print-sheet__table--roster td{padding:4px 5px}.print-sheet__race-card{padding:4px 8px}.print-sheet__race-card strong{font-size:var(--print-md)}.print-sheet__race-card span{font-size:var(--print-xs)}.print-sheet__header{margin-bottom:12px}.print-sheet__races{margin-bottom:10px}.print-sheet__table th,.print-sheet__table td{color:#000;border-color:#999}.print-sheet__section-header{border-color:#000}.print-sheet__table thead{display:table-header-group}.print-sheet__roster-row{break-inside:avoid;page-break-inside:avoid}.print-sheet__roster-heading{break-after:avoid;page-break-after:avoid}.print-sheet__coverage{break-inside:avoid;background:0 0;border-left-color:#000}.print-sheet__race-card,.print-sheet__writein-box,.print-sheet__writein,.print-sheet__writein:after{border-color:#000}}.print-sheet__table--post th.print-sheet__finish-cell,.print-sheet__table--post td.print-sheet__finish-cell{text-align:center}.print-sheet__finish{white-space:nowrap;position:relative;display:inline-block!important}.print-sheet__finish .print-sheet__target-value{text-align:right;width:3em;display:inline-block}.print-sheet__finish .badge{font-size:var(--print-2xs);margin-right:4px;padding:1px 5px;position:absolute;top:0;right:100%}.print-sheet__target-value.is-record{color:var(--gold-700)}.print-sheet__coming-in{display:table-cell}.print-sheet__coming-in span{color:var(--text-secondary);font-size:var(--print-xs);letter-spacing:.02em;grid-template-columns:1.9em 1fr;column-gap:4px;line-height:1.3;display:grid}.print-sheet__coming-in strong{text-align:right;color:var(--navy-900);font-family:var(--font-display);font-size:var(--print-sm);font-variant-numeric:tabular-nums}@media print{.print-sheet__section:has(.empty-state){display:none}}.print-sheet__delta.is-faster{color:var(--success);font-weight:var(--weight-bold)}.print-sheet__delta.is-slower{color:var(--danger);font-weight:var(--weight-bold)}.print-sheet__delta.is-even{color:var(--text-secondary)}.print-sheet__records{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.print-sheet__record-block{padding:var(--space-2) var(--space-3);padding-left:calc(var(--space-3) + 3px);border:1px solid var(--border);flex:220px;position:relative}.print-sheet__record-block:before{content:"";background:var(--navy-900);-webkit-print-color-adjust:exact;print-color-adjust:exact;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.print-sheet__record-distance{color:var(--navy-900);font-size:var(--print-sm);font-weight:var(--weight-heavy);letter-spacing:.02em;text-transform:uppercase;margin-bottom:2px;display:block}.print-sheet__record-rows span{color:var(--text-secondary);font-size:var(--print-sm);line-height:1.35;display:block}.print-sheet__record-rows em{min-width:7.6em;color:var(--text-muted);font-size:var(--print-xs);font-style:normal;font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;display:inline-block}.print-sheet__record-rows strong{color:var(--navy-900);font-family:var(--font-display);font-variant-numeric:tabular-nums}.print-sheet__record-note{color:var(--text-muted);font-size:var(--print-xs);display:inline!important}.print-sheet__heat-row th{background:var(--navy-900);color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center;border:none;padding:4px 6px}.print-sheet__heat-row span{color:#fff;font-family:var(--font-display);font-size:var(--print-base);font-weight:var(--weight-heavy);letter-spacing:.1em;text-transform:uppercase}.print-sheet__heat-row em{color:var(--gold-300);font-size:var(--print-2xs);font-style:normal;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;margin-left:8px}.print-sheet__heat-row+tr td{border-top:none}.print-sheet__table--post td,.print-sheet__table--post th{border-left:none;border-right:none}@page{size:letter portrait;margin:.34in}@media print{:root{--print-2xs:7px;--print-xs:8px;--print-sm:9px;--print-base:10px;--print-md:10.5px;--print-lg:12px}html,body{background:#fff!important}.print-sheet__page{box-shadow:none!important;border:none!important;gap:6px!important;margin:0!important;padding:0!important}.print-sheet__header{margin-bottom:5px!important;padding-bottom:4px!important}.print-sheet__races{gap:5px!important;margin-bottom:5px!important}.print-sheet__race-card{padding:3px 7px!important}.print-sheet__banner-slot{min-height:51px}.print-sheet__coverage{margin:0!important;padding:4px 8px!important;line-height:1.25!important}.print-sheet__races,.print-sheet__records{align-items:stretch;height:44px;margin-bottom:7px!important}.print-sheet__race-card,.print-sheet__record-block{padding:5px 8px!important}.print-sheet__records{gap:6px!important;margin-bottom:5px!important}.print-sheet__record-block{padding:3px 7px!important}.print-sheet__legend{margin-top:4px!important;padding-top:4px!important;line-height:1.25!important}.print-sheet__table--roster th,.print-sheet__table--roster td{padding:2px 5px!important}.print-sheet__table--roster col:first-child{width:4.5%!important}.print-sheet__table--roster col:nth-child(2){width:17.5%!important}.print-sheet__table--roster col:nth-child(3){width:19.5%!important}.print-sheet__table--roster col:nth-child(4),.print-sheet__table--roster col:nth-child(5){width:15.5%!important}.print-sheet__table--roster col:nth-child(6){width:17%!important}.print-sheet__table--roster col:nth-child(7){width:10.5%!important}.print-sheet__target-note{white-space:nowrap}.print-sheet__target-line+.print-sheet__target-line{margin-top:2px;padding-top:2px}.print-sheet__muted,.print-sheet__target-note,.print-sheet__recent-form,.print-sheet__metric-line{line-height:1.15!important}.print-sheet__recent-form{margin-top:1px!important}.print-sheet__recent-form>span{display:block}.print-sheet__context-list{gap:2px!important}.print-sheet__context-list em{margin-left:4px;display:inline!important}.print-sheet__context-list>span{line-height:1.15!important}.print-sheet__context-list abbr{display:none!important}.print-sheet__table--roster th:nth-child(6),.print-sheet__venue{border-left:1px solid var(--border);padding-left:8px!important}.print-sheet__assignment--blank{display:none!important}}.print-sheet__table--post{table-layout:fixed}.print-sheet__table--post th:first-child,.print-sheet__table--post td:first-child{width:19.5%}.print-sheet__table--post th:nth-child(2),.print-sheet__table--post td:nth-child(2){width:14%}.print-sheet__table--post th:nth-child(3),.print-sheet__table--post td:nth-child(3){width:17%}.print-sheet__table--post th:nth-child(4),.print-sheet__table--post td:nth-child(4){width:18%}.print-sheet__table--post th:nth-child(5),.print-sheet__table--post td:nth-child(5){width:31.5%}.print-sheet__table--post tbody td{vertical-align:middle}.print-sheet__table--post th,.print-sheet__table--post td{padding:3px 5px}.print-sheet__table--post td:nth-child(4){white-space:normal}.print-sheet__provenance{color:var(--text-muted)}.print-sheet__weather-emoji{font-size:var(--print-2xl);vertical-align:-3px;margin-right:5px;line-height:1}.roster{gap:var(--space-5);display:grid}.roster-hero{align-items:end;gap:2px var(--space-4);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--border);background:#fff;grid-template-columns:1fr auto;display:grid}.roster-hero__eyebrow{color:var(--gold-700);font-size:var(--text-sm);font-weight:var(--weight-black);letter-spacing:0;text-transform:uppercase}.roster-hero h1{color:var(--navy-900);font-size:var(--text-4xl);font-weight:var(--weight-black);margin:2px 0 0;line-height:1}.roster-hero strong{color:var(--navy-900);font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;grid-row:span 2;line-height:.9}.roster-hero span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-heavy);text-align:right;text-transform:uppercase;grid-column:2}.roster-grade{gap:var(--space-3);display:grid}.roster-grade__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);display:flex}.roster-grade__header h2{color:var(--navy-900);font-size:var(--text-xl);font-weight:var(--weight-black);margin:0}.roster-grade__header span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-heavy)}.roster-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roster-tile{gap:2px var(--space-3);min-width:0;min-height:76px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:inherit;text-align:left;background:#fff;grid-template-columns:auto 1fr;align-items:center;display:grid}.roster-tile .avatar{grid-row:span 2}.roster-tile__name{min-width:0;color:var(--navy-900);font-size:var(--text-md);font-weight:var(--weight-heavy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-tile__action{color:var(--gold-700);font-size:var(--text-xs);font-weight:var(--weight-heavy);text-transform:uppercase}@media (width<=360px){.roster-grid{grid-template-columns:1fr}}@media (width>=720px){.roster-hero{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);margin:0}.roster-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.records-board{gap:var(--space-5);display:grid}.records-board__hero{gap:var(--space-4);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;padding:var(--space-5) var(--space-4);background:var(--navy-900);color:#fff;display:grid}.records-board__eyebrow,.record-section__eyebrow{color:var(--gold-400);font-size:var(--text-sm);font-weight:var(--weight-black);letter-spacing:0;text-transform:uppercase}.records-board__hero h1{font-size:var(--text-5xl);font-weight:var(--weight-black);margin:2px 0 6px;line-height:1}.records-board__hero p{color:#ffffffb8;max-width:520px;font-size:var(--text-md);margin:0;line-height:1.45}.record-section{gap:var(--space-3);display:grid}.record-section__header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--navy-900);display:flex}.record-section__header h2{color:var(--navy-900);font-size:var(--text-2xl);font-weight:var(--weight-black);margin:0}.record-section__header span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-black)}.record-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);box-shadow:var(--shadow-card);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.record-card{min-height:150px;padding:var(--space-4);background:#fff;flex-direction:column;gap:2px;display:flex}.record-card__distance{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:0;text-transform:uppercase;color:var(--gold-700)}.record-card__time{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-heavy);color:var(--navy-900);font-variant-numeric:tabular-nums;margin:2px 0 8px;line-height:1}.record-card__name{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--navy-900);min-width:0}.record-card__name--benchmark{margin-bottom:4px}.record-card__meta{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.record-card__source{padding-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-black);letter-spacing:0;text-transform:uppercase;margin-top:auto}.record-card--empty{background:var(--bg);justify-content:center;align-items:flex-start;min-height:88px}.record-card__empty{font-size:var(--text-base);color:var(--text-muted);margin-top:6px}@media (width<=390px){.record-grid{grid-template-columns:1fr}}@media (width<=420px){.record-card__time{font-size:var(--text-4xl)}}@media (width>=720px){.records-board__hero{padding:var(--space-6);border-radius:var(--radius-md);grid-template-columns:1fr auto;align-items:end;margin:0}.record-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.record-card__time{font-size:var(--text-5xl)}}.season-growth__stats{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.season-growth__coverage{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.season-growth__coverage-card{min-height:82px}.season-growth__coverage-card span{color:var(--gold-700);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase}.season-growth__coverage-card strong{margin-top:var(--space-2);color:var(--navy-900);font-family:var(--font-display);font-size:var(--text-4xl);font-variant-numeric:tabular-nums;display:block}.season-growth__athletes{padding:0}.season-growth__athlete{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.season-growth__athlete+.season-growth__athlete{border-top:1px solid var(--border)}.season-growth__athlete-name{color:var(--navy-900);font-size:var(--text-md);font-weight:var(--weight-heavy)}.season-growth__athlete-meta{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px;line-height:1.35}.season-growth__story{color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-bold);margin-top:4px;line-height:1.35}.season-growth__pr-count{color:var(--gold-700);font-size:var(--text-sm);font-weight:var(--weight-heavy);flex-shrink:0}@media (width>=720px){.season-growth__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.season-growth__coverage{grid-template-columns:repeat(5,minmax(0,1fr))}}.progression{gap:var(--space-4);flex-direction:column;display:flex}.progression__panel{margin:0}.progression__caption{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:2px;display:flex}.progression__distance{font-weight:var(--weight-heavy);font-size:var(--text-base);color:var(--text-primary)}.progression__count{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.progression__svg{width:100%;height:auto;display:block;overflow:visible}.progression__axis{font-size:var(--text-2xs);fill:var(--text-muted);font-variant-numeric:tabular-nums}.progression__year{font-size:var(--chart-year-size);fill:var(--text-muted);font-weight:var(--weight-medium);letter-spacing:.08em;text-anchor:middle;font-variant-numeric:tabular-nums}.progression__legend{margin:var(--space-1) 0 0;font-size:var(--text-2xs);color:var(--text-muted)}.progression__seasons{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.progression__season-year{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 2px}.progression__races{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.progression__season-summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);margin:0;display:flex}.progression__race-time-value.is-projected{font-weight:var(--weight-medium);color:var(--chart-projection)}.progression__races li{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.progression__race-meet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progression__race-time{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.progression__race-time-value{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);color:var(--text-primary)}.progression__race-time .badge{font-size:var(--text-2xs);padding:1px 6px}.progression__note,.progression__empty{font-size:var(--text-xs);color:var(--text-muted);margin:0}.progression__label{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.progression__updir{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.progression__delta{font-weight:var(--weight-bold)}.progression__delta.is-faster{color:var(--success)}.progression__delta.is-slower{color:var(--danger)}.profile-hero{margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;padding:var(--space-5) var(--space-4) var(--space-4);background:linear-gradient(135deg, var(--navy-900), var(--navy-800));color:#fff}.profile-hero__identity{align-items:center;gap:var(--space-4);display:flex}.profile-hero__name{color:#fff;font-size:var(--text-4xl);font-weight:var(--weight-black);margin:2px 0 0;line-height:1.05}.profile-hero__eyebrow{color:var(--gold-300);font-size:var(--text-sm);font-weight:var(--weight-heavy);letter-spacing:0;text-transform:uppercase}.profile-hero__story{margin-top:var(--space-5);border-radius:var(--radius-md);background:#ffffff1a;border:1px solid #ffffff1f;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.profile-hero__story>div{min-width:0;padding:var(--space-3);background:#ffffff0f}.profile-hero__story span,.profile-hero__story small{color:#ffffffb3;font-size:var(--text-xs);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-hero__story strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;margin:4px 0 2px;line-height:1;display:block}.profile-stat-band{gap:var(--space-3);margin:0 calc(var(--space-4) * -1) var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-tabs{gap:var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.profile-tabs-shell{margin:var(--space-4) 0}.distance-ladder{gap:var(--space-3);margin-bottom:var(--space-5);grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;padding-bottom:2px;display:grid;overflow-x:auto}.distance-ladder__card{border-top:3px solid var(--gold-500);min-height:138px}.distance-ladder__card.is-empty{background:var(--bg);box-shadow:none}.distance-ladder__distance{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;color:var(--gold-700)}.distance-ladder__best{margin:var(--space-2) 0;color:var(--navy-900);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;line-height:1}.distance-ladder__meta,.distance-ladder__empty{color:var(--text-muted);font-size:var(--text-sm);line-height:1.35}.distance-ladder__nudge{color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-bold);margin-top:4px;line-height:1.3}.distance-ladder__off{color:var(--text-secondary);font-size:var(--text-sm);margin-top:4px;line-height:1.3}.distance-ladder__count{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-heavy);text-transform:uppercase}.profile-tab{padding:var(--space-2) 0 var(--space-3);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000}.profile-tab.is-active{color:var(--navy-900);border-bottom-color:var(--gold-500)}.race-list-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.race-list-row:last-child{border-bottom:none}.race-list-row__name{font-weight:var(--weight-bold);color:var(--navy-900);font-size:var(--text-md);margin-bottom:2px}.race-list-row__meta{color:var(--text-muted);font-size:var(--text-sm)}.race-list-row__time{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.race-list-row__time-value{font-weight:var(--weight-heavy);font-family:var(--font-display);font-size:var(--text-lg);color:var(--navy-900);font-variant-numeric:tabular-nums}.season-header{align-items:baseline;gap:var(--space-2);margin:var(--space-5) 0 var(--space-2);display:flex}.season-header:first-child{margin-top:0}.season-header__year{font-size:var(--text-lg);font-weight:var(--weight-heavy);color:var(--navy-900)}.season-header__grade{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-secondary)}.distance-header{font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.02em;color:var(--text-secondary);text-transform:uppercase;margin:var(--space-3) 0 var(--space-1)}.season-card{margin-bottom:var(--space-2)}.venue-card{margin-bottom:var(--space-3)}.venue-card__name{font-weight:var(--weight-heavy);font-size:var(--text-lg);color:var(--navy-900);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.venue-card__layout{padding-left:var(--space-2)}.pb-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.pb-card{flex-direction:column;gap:2px;display:flex}.pb-card__distance{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;color:var(--gold-700)}.pb-card__time{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-heavy);color:var(--navy-900);font-variant-numeric:tabular-nums;margin:2px 0 6px}.pb-card__meta{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}@media (width<=420px){.profile-hero__story,.profile-stat-band{grid-template-columns:1fr}}@media (width>=720px){.profile-hero{margin:0 0 var(--space-4);padding:var(--space-6);border-radius:var(--radius-md)}.profile-stat-band{margin:0 0 var(--space-4);background:0 0;padding-left:0;padding-right:0}.distance-ladder{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-flow:row}}.profile-hero__arc{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--success-bg);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);line-height:1.45}.profile-hero__arc strong{color:var(--success)}.course-history__header{margin-bottom:var(--space-4)}.course-history__venue{font-size:var(--text-2xl);font-weight:var(--weight-heavy);color:var(--navy-900)}.course-history__layout{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium)}.course-history__summary{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course-history__other-list{padding:0}.course-history__other-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.course-history__other-row+.course-history__other-row{border-top:1px solid var(--border)}.course-history__other-row span span{color:var(--text-muted);font-size:var(--text-sm);margin-top:2px;display:block}.course-history-table{border-collapse:collapse;width:100%}.course-history-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding-bottom:var(--space-2)}.course-history-table th:last-child,.course-history-table td:last-child{text-align:right}.course-history-table td{padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-md)}.course-history-table td:first-child{font-weight:var(--weight-bold);color:var(--navy-900)}.course-history-table td:nth-child(2){font-family:var(--font-display);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;color:var(--navy-900)}.course-history__total{text-align:center;padding:var(--space-5) 0}.course-history__total-value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-heavy);color:var(--success)}.course-history__total-label{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-bold);margin-top:4px}@media (width>=720px){.course-history__summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.course-history__void{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-top:2px;display:block}.more-profile{align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);display:flex}.more-profile__role{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);text-transform:capitalize}.more-row{padding:var(--space-3) var(--space-4);font-weight:var(--weight-medium);font-size:var(--text-md);color:var(--navy-900);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.more-row+.more-row{border-top:1px solid var(--border)}.more-section{padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.more-row__tag{margin-left:var(--space-2);border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success);font-size:var(--text-xs);font-weight:var(--weight-medium);margin-right:auto;padding:2px 8px}.admin-screen{color:var(--text-primary)}.admin-screen .section-title{color:var(--text-secondary);letter-spacing:0}.admin-screen .button.is-outline{border-color:var(--border-strong)}.admin-home-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-strong);display:flex}.admin-home-hero__eyebrow{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-black);letter-spacing:0;text-transform:uppercase}.admin-home-hero h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--weight-black);margin:2px 0 0;line-height:1}.admin-home-hero span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-heavy);text-align:right}.admin-home-grid{gap:var(--space-3);display:grid}.admin-home-group{padding:0}.admin-home-group__title{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-strong);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-black);text-transform:uppercase}.admin-list-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.admin-list-row__title{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-heavy)}.admin-list-row__meta{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px;line-height:1.35}.admin-list-row+.admin-list-row{border-top:1px solid var(--border)}.admin-form{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.admin-form__field{flex-direction:column;gap:4px;display:flex}.admin-form__label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-secondary)}.admin-form input,.admin-form select{padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);font-size:var(--text-md)}.admin-form input:focus,.admin-form select:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.admin-form__row{gap:var(--space-2);display:flex}.admin-form__row>*{flex:1}.admin-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.admin-edit-form{gap:var(--space-2);display:grid}@media (width<=520px){.admin-home-hero{flex-direction:column;align-items:flex-start}.admin-home-hero span{text-align:left}.admin-screen .admin-list-row,.admin-screen .list-row{flex-direction:column;align-items:stretch}.admin-actions{flex-wrap:wrap;justify-content:flex-end}}.erase-panel{margin:0 var(--space-4) var(--space-3);padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-bg)}.erase-panel p{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.erase-panel__caveats{color:var(--text-secondary)}.admin-form__hint{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.45}.import-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-secondary)}.import-mapping{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.import-mapping__row{align-items:center;gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.import-mapping__field{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--navy-900)}.import-mapping select{width:100%;padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-md)}.import-preview{padding:var(--space-3) var(--space-4);overflow-x:auto}.import-preview table{border-collapse:collapse;font-size:var(--text-sm);min-width:100%}.import-preview th,.import-preview td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:6px 10px}.import-flag-row{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--danger);border-top:1px solid var(--border)}:root{--navy-900:#0b1f3f;--navy-800:#10294f;--navy-700:#16345f;--gold-500:#e8a33d;--gold-600:#d18f2b;--gold-100:#fbead0;--gold-300:#f2c579;--gold-400:#eeb45c;--gold-700:#8a5a10;--focus-ring:#8a5a10;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:28px;--text-5xl:34px;--print-2xs:8px;--print-xs:9px;--print-sm:10px;--print-base:11px;--print-md:12px;--print-lg:13px;--print-xl:14px;--print-2xl:16px;--print-3xl:22px;--weight-normal:400;--weight-medium:600;--weight-bold:700;--weight-heavy:800;--weight-black:900;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--white:#fff;--bg:#f4f5f7;--canvas:#e4e7ec;--border:#e3e6eb;--border-strong:#c2c9d4;--text-primary:#12213f;--text-secondary:#5b6472;--text-muted:#636a78;--success:#157a4b;--success-bg:#e6f4ed;--season-bg:#e7edf7;--danger:#b03a30;--danger-bg:#fbeae8;--chart-band:#eceff4;--chart-projection:#5f6d87;--chart-projection-band:#dfe6f2;--chart-year-size:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-numeric:var(--font-sans);--font-display:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-card:0 1px 2px #0b1f3f0f, 0 1px 8px #0b1f3f0d;--shadow-chrome:0 1px 0 #ffffff14, 0 8px 20px #0b1f3f1a;--header-height:64px;--tabbar-height:72px;--max-content-width:480px}@media (width>=720px){:root{--max-content-width:760px}}@media (width>=1100px){:root{--max-content-width:1000px}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--navy-900);min-height:100%}body{background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100%;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,p{margin:0}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;appearance:none;background:0 0;border:none;margin:0;padding:0}a{color:inherit;text-decoration:none}input,select,textarea{min-height:44px;color:var(--text-primary);background:var(--white);font-family:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--text-muted)}
