.race-page{font-size:17px;line-height:1.4}.race-page *,.race-page :after,.race-page :before{box-sizing:border-box}.race-page ::selection{background:var(--scrap-section-pink);color:var(--scrap-ink)}.race-page :focus-visible{outline:3px solid var(--scrap-pink-ink);outline-offset:3px}.race-page a{color:var(--scrap-pink-ink);text-underline-offset:4px}.race-page a:hover{color:var(--scrap-pink-deep)}.race-page [id]{scroll-margin-top:20px}.race-wrap{width:min(100%,1160px);margin:0 auto;padding-inline:20px}.race-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:start;padding-top:20px;padding-bottom:40px}.race-header{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}.race-header .race-edition{font-size:28px;font-weight:700;line-height:1.1;color:var(--scrap-pink-ink);margin:0 0 -18px}.race-header h1{font-size:56px;font-weight:800;line-height:1;letter-spacing:-.027em;margin:0;text-wrap:balance}.race-page h2{font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.015em;margin:0}.race-page p{margin:0}.race-facts{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-facts>div{display:flex;flex-direction:column-reverse;background:white;padding:10px 12px;box-shadow:0 2px 8px rgb(43 26 46/.12)}.race-facts dt{color:var(--scrap-muted);font-size:13px;font-weight:600}.race-facts dd{min-height:28px;margin:0;font-size:24px;font-weight:800;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.race-paper{background:white;box-shadow:0 6px 18px rgb(43 26 46/.16)}.race-entry-anchor{min-width:0}.race-finder{display:flex;flex-direction:column;gap:14px;padding:20px;min-width:0}.race-page .race-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 16px;border:2px solid var(--scrap-ink);background:var(--scrap-ink);color:white;font:inherit;font-weight:800;line-height:1.4;text-decoration:none;cursor:pointer;text-align:center}.race-page .race-button:hover{background:var(--scrap-muted);color:white}.race-page .race-pink{background:var(--scrap-pink-ink);border-color:var(--scrap-pink-ink)}.race-page .race-pink:hover{background:var(--scrap-pink-deep);border-color:var(--scrap-pink-deep)}.race-page .race-button:disabled{opacity:.55;cursor:not-allowed}.race-register,.race-team-detail .race-button{min-height:56px!important;font-size:19px!important}.race-link-button{min-height:44px;padding:0 4px;background:none;border:0;font:inherit;font-weight:700;color:var(--scrap-pink-ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.race-link-button:hover{color:var(--scrap-pink-deep)}.race-steps{margin:0;padding:0;list-style:none;display:flex;gap:6px}.race-steps li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:700}.race-steps li>span:first-child{height:8px;background:#f0e2ea}.race-steps .race-step-now>span:first-child{background:var(--scrap-pink-ink)}.race-steps .race-step-done>span:first-child{background:#1f6b45}.race-search-label{font-size:20px;font-weight:800;margin-top:4px}.race-page input{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:2px solid var(--scrap-ink);border-radius:0;background:var(--scrap-note);color:var(--scrap-ink);font:inherit;caret-color:var(--scrap-pink-ink)}.race-finder input{min-height:56px;padding-inline:16px;font-size:19px}.race-page input::placeholder{color:var(--scrap-muted);opacity:1}.race-small{font-size:14px;color:var(--scrap-muted)}.race-notice{padding:12px 14px;background:var(--scrap-section-pink);font-weight:600}.race-team-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.race-team-list>li{border:1px solid #e3cbd8;min-width:0}.race-team-toggle{width:100%;min-height:60px;padding:8px 12px;background:white;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center}.race-team-toggle:hover{background:var(--scrap-paper)}.race-car-number{flex:none;min-width:40px;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.race-team-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.race-team-name>*{display:block}.race-pill{flex:none;max-width:100%;padding:4px 8px;font-size:13px;font-weight:800;background:var(--scrap-section-pink);color:var(--scrap-pink-deep)}.race-confirmed{background:#1f6b45;color:white}.race-part-paid{background:#fbe7c2;color:#5c3b00}.race-team-detail{padding:12px;background:var(--scrap-note);border-top:1px solid #e3cbd8;display:flex;flex-direction:column;gap:12px}.race-team-detail[hidden]{display:none}.race-page code{display:block;padding:8px 10px;background:var(--scrap-section-lilac);font-size:13px;overflow-wrap:anywhere;white-space:normal;user-select:text}.race-copy-status{padding:10px 12px;background:#e2f2e9;color:#14492f;font-weight:700}.race-slot-summary{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;font-variant-numeric:tabular-nums}.race-slot-summary progress{appearance:none;border:0;width:100%;height:8px;background:#f0e2ea;color:#1f6b45}.race-slot-summary progress::-webkit-progress-bar{background:#f0e2ea}.race-slot-summary progress::-webkit-progress-value{background:#1f6b45}.race-slot-summary progress::-moz-progress-bar{background:#1f6b45}.race-section{padding-top:32px;padding-bottom:32px}.race-lilac{background:var(--scrap-section-lilac)}#race-day .race-wrap{display:flex;flex-direction:column;gap:14px}.race-price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.race-price-tile{min-height:84px;padding:10px 12px;text-align:left;font:inherit;cursor:pointer;border:2px solid white;background:white;color:var(--scrap-ink)}.race-price-tile[aria-pressed=true]{background:var(--scrap-pink-ink);color:white;border-color:var(--scrap-pink-ink)}.race-price-tile:hover{border-color:var(--scrap-pink-ink)}.race-price-tile>*{display:block}.race-price-tile>:first-child{font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.race-price-tile>span:last-child{font-size:15px;font-weight:600;line-height:1.25}.race-builder{background:white;padding:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.race-builder>div{flex:1 1 200px;min-width:0}.race-builder label{display:block;margin-bottom:4px;font-size:14px;font-weight:700}.race-builder .race-button{flex:1 1 200px}.race-builder .race-copy-status,.race-builder code{flex:1 1 100%}.race-car-results{padding:0;margin:4px 0 0;list-style:none;max-height:240px;overflow-y:auto}.race-car-results button{width:100%;min-height:44px;padding:8px 12px;border:1px solid #e3cbd8;color:var(--scrap-ink);background:var(--scrap-note);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.race-car-results button:hover{background:var(--scrap-section-pink)}.race-footer a,.race-text-link{display:inline-flex;min-height:44px;align-items:center;font-weight:700;text-decoration:underline}.race-calendar{font-size:14px;margin-top:-14px}.race-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px}.race-details-grid>div{background:white;padding:12px 14px;box-shadow:0 2px 8px rgb(43 26 46/.12)}.race-details-grid h2{font-size:18px;font-weight:800;letter-spacing:normal}.race-practice-time{min-height:21px}.race-details-grid p{font-size:15px;color:var(--scrap-muted);margin-top:4px}.race-pink-section{background:var(--scrap-section-pink)}.race-why{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.race-why figure{flex:none}.race-why>div{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.race-last-total{font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1}.race-why .race-button{margin-top:8px;padding-inline:20px}.race-photo{width:130px;height:130px;object-fit:cover}.race-footer{display:flex;flex-wrap:wrap;gap:0 24px;padding-top:12px;padding-bottom:12px;font-size:15px;font-weight:600}@media (max-width:800px){.race-hero{grid-template-columns:minmax(0,1fr)}.race-header h1{font-size:clamp(40px,8vw,56px)}}@media (max-width:420px){.race-facts>div{padding-inline:10px}.race-facts dd{font-size:22px}.race-team-toggle{flex-wrap:wrap;gap:6px 10px}.race-team-name{flex-basis:calc(100% - 50px)}.race-pill{margin-left:50px}}