.signon{max-width:640px;padding-top:clamp(108px,16vw,138px);padding-bottom:3rem}.signon-head{padding:.6rem 0 1.6rem}.signon-head h1{margin:.5rem 0 0;font-size:clamp(2.6rem,9vw,4.2rem);font-weight:950;line-height:.88}.tricolor{background:linear-gradient(90deg, var(--blue) 0 33%, transparent 33% 47%, var(--ink) 47% 53%, transparent 53% 67%, var(--red) 67% 100%);width:min(320px,70vw);height:9px;margin:1rem 0 0}.signon-lead{max-width:46ch;margin:1.1rem 0 0;font-size:1.05rem;line-height:1.55}.steps{flex-wrap:wrap;gap:8px;margin:0 0 1.4rem;padding:0;list-style:none;display:flex}.steps li{border:2px solid var(--ink);background:var(--paper-deep);min-width:70px;color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;text-align:center;flex:1 1 0;padding:8px 6px;font-size:.66rem;font-weight:800}.steps li.is-active{background:var(--yellow);color:var(--ink)}.steps li.is-done{background:var(--ink);color:var(--paper)}.signon-card{border:2px solid var(--ink);background:var(--white-jersey);box-shadow:var(--shadow);padding:1.6rem 1.6rem 1.8rem}.step h2{margin:0 0 .2rem;font-size:1.6rem;font-weight:950}.step-sub{font-family:var(--mono);text-transform:uppercase;color:var(--muted);margin:0 0 1.3rem;font-size:.76rem;font-weight:700}.field{margin:0 0 1.1rem;display:block}.field-label{font-family:var(--mono);text-transform:uppercase;color:var(--ink);margin:0 0 .4rem;font-size:.72rem;font-weight:800;display:block}.field-label .opt{color:var(--muted);font-weight:700}.field input[type=text],.field input[type=email]{border:2px solid var(--ink);background:var(--paper);width:100%;color:var(--ink);font:700 1rem var(--body);border-radius:0;padding:13px 16px}.field input[type=file]{border:2px dashed var(--ink);background:var(--paper);width:100%;font:700 .9rem var(--mono);padding:13px 16px}.field-error[hidden]{display:none}.field-error{font-family:var(--mono);color:var(--red);margin:.4rem 0 0;font-size:.74rem;font-weight:800;display:block}.gender-field{border:0;min-width:0;margin:0 0 1.1rem;padding:0}.gender-field .field-label{padding:0}.gender-opts{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.gender-opt{border:2px solid var(--ink);background:var(--white-jersey);cursor:pointer;user-select:none;font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);align-items:center;padding:8px 13px;font-size:.76rem;font-weight:800;transition:box-shadow .1s;display:inline-flex;position:relative;box-shadow:3px 3px #11111124}.gender-opt input{opacity:0;pointer-events:none;position:absolute}.gender-opt:hover{box-shadow:5px 5px #1113}.gender-opt:has(input:checked){background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}.gender-opt:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.photo-note{color:var(--muted);border-left:3px solid var(--yellow);margin:0 0 1.2rem;padding-left:.9rem;font-size:.88rem;line-height:1.5}.consent{align-items:flex-start;gap:.6rem;margin:0 0 .4rem;font-size:.92rem;line-height:1.45;display:flex}.consent input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:.25rem}.step-actions{flex-wrap:wrap;gap:12px;margin-top:1.5rem;display:flex}.step-actions .button{min-height:48px;padding:12px 18px;font-size:.92rem}.button-primary{background:var(--yellow)}.button-link{font-family:var(--mono);text-transform:uppercase;color:var(--muted);border-bottom:2px solid #0000;align-self:center;font-size:.8rem;font-weight:800;text-decoration:none}.button-link:hover{color:var(--ink);border-color:var(--yellow)}.signin-return{border-top:2px dashed var(--line);margin-top:1.6rem;padding-top:1.3rem}.badlink-note{border-left:3px solid var(--red);color:var(--ink);margin:0 0 .9rem;padding-left:.9rem;font-size:.9rem;line-height:1.45}.badlink-note[hidden]{display:none}.signin-return-toggle{appearance:none;cursor:pointer;font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0;font-size:.76rem;font-weight:800}.signin-return-toggle:hover{color:var(--ink);border-color:var(--yellow)}.signin-return-form{margin-top:1.1rem}.signin-return-form[hidden]{display:none}.signin-return-form .field{margin-bottom:.9rem}.signin-return-form .button{min-height:46px;padding:11px 16px;font-size:.88rem}.signin-return-msg{font-family:var(--mono);letter-spacing:.02em;color:var(--blue);margin:.9rem 0 0;font-size:.78rem;font-weight:800}.signin-return-msg[hidden]{display:none}.jersey-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.jersey-card{text-align:center;cursor:pointer;border:2px solid var(--ink);background:var(--paper);font-family:var(--body);justify-items:center;gap:6px;padding:14px 12px 16px;display:grid;box-shadow:4px 4px #11111129}.jersey-card:hover{box-shadow:6px 6px #11111138}.jersey-card.is-selected{background:var(--yellow);box-shadow:6px 6px 0 var(--ink)}.jersey-persona{color:var(--muted);order:-1;min-height:3.2em;font-size:.82rem;line-height:1.35}.jersey-card.is-selected .jersey-persona{color:var(--ink)}.jersey-swatch{line-height:0;display:block}.jersey-name{font-family:var(--display);text-transform:uppercase;font-size:1.15rem;font-weight:950;line-height:1}.jersey-arch{font-family:var(--mono);text-transform:uppercase;color:var(--blue);font-size:.66rem;font-weight:800}.jersey-card.is-selected .jersey-arch{color:var(--ink)}.team-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.team-card{text-align:left;cursor:pointer;border:2px solid var(--ink);background:var(--paper);font-family:var(--body);align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:4px 4px #11111129}.team-card:hover{box-shadow:6px 6px #11111138}.team-card.is-selected{background:var(--team,var(--yellow));box-shadow:6px 6px 0 var(--ink)}.team-logo{border:2px solid var(--ink);background:#fff;flex:none;place-items:center;width:52px;height:52px;display:grid}.team-logo img{object-fit:contain;max-width:74%;max-height:74%;display:block}.team-id{flex-direction:column;gap:3px;min-width:0;display:flex}.team-name{font-family:var(--display);text-transform:uppercase;font-size:1.02rem;font-weight:950;line-height:1}.team-tag{font-family:var(--mono);text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:800}.team-card.is-selected .team-tag{color:var(--ink)}.team-letters{font-family:var(--display);color:var(--ink);text-transform:uppercase;letter-spacing:.5px;font-size:1.15rem;font-weight:950}.join-banner{border:2px solid var(--ink);background:var(--yellow);font-family:var(--mono);text-transform:uppercase;margin:0 0 14px;padding:12px 14px;font-size:.82rem;font-weight:800;line-height:1.3;box-shadow:4px 4px #1113}.join-banner[hidden]{display:none}.team-search{margin-top:12px}.team-search-input{box-sizing:border-box;width:100%;font-family:var(--body);border:2px solid var(--ink);background:var(--paper);min-height:46px;padding:12px 14px;font-size:.95rem;box-shadow:4px 4px #11111129}.team-search-input:focus{box-shadow:6px 6px 0 var(--ink);outline:none}.team-results{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.team-results:empty{display:none}.team-results.sponsor-results{flex-wrap:wrap;gap:8px;display:flex}.team-empty{font-family:var(--mono);text-transform:uppercase;color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:.72rem;font-weight:700}.custom-team{border-top:2px dashed var(--line);margin-top:12px;padding-top:12px}.custom-team .field:last-child{margin-bottom:0}.subsponsor-head{font-family:var(--mono);text-transform:uppercase;color:var(--ink);margin:1.5rem 0 .7rem;font-size:.72rem;font-weight:800}.subsponsor-head .opt{color:var(--muted);text-transform:none;font-weight:700}.sponsor-count{float:right;font-family:var(--mono);color:var(--muted);letter-spacing:.03em;font-size:.72rem;font-weight:800}.sponsor-count.is-max{color:var(--red)}.sponsor-grid{flex-wrap:wrap;gap:8px;display:flex}.sponsor-chip{cursor:pointer;border:2px solid var(--ink);background:var(--paper);font-family:var(--mono);color:var(--ink);align-items:center;gap:7px;padding:7px 12px;font-size:.76rem;font-weight:800;display:inline-flex}.sponsor-chip:hover{background:var(--paper-deep)}.sponsor-chip.is-on{background:var(--ink);color:var(--paper)}.chip-logo{border:1.5px solid var(--ink);background:#fff;flex:none;place-items:center;width:20px;height:20px;display:grid}.chip-logo img{object-fit:contain;max-width:76%;max-height:76%;display:block}.rollout{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.rollout-portrait{border:3px solid var(--ink);background:var(--paper);flex:none;width:220px;max-width:100%;line-height:0;box-shadow:6px 6px #1113}.rollout-portrait svg,.rollout-portrait img{width:100%;height:auto;display:block}.rollout-body{flex:220px}.rollout-body h2{margin:.3rem 0;font-size:2rem}.rollout-team{font-family:var(--mono);text-transform:uppercase;color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.82rem;font-weight:800;display:flex}.team-dot{border:2px solid var(--ink);flex:none;width:16px;height:16px;display:inline-block}.team-dot[data-team=yellow]{background:var(--yellow)}.team-dot[data-team=green]{background:var(--green)}.team-dot[data-team=white]{background:var(--white-jersey)}.team-dot[data-team=polka]{background:#fff;background-image:radial-gradient(var(--red) 34%, transparent 36%);background-size:8px 8px}.rollout-portrait{position:relative;overflow:hidden}.rollout[data-state=loading] .rollout-portrait{animation:1.6s ease-in-out infinite portrait-pulse}@keyframes portrait-pulse{0%,to{box-shadow:6px 6px #1113}50%{box-shadow:6px 6px 0 var(--yellow)}}.paint-sweep{pointer-events:none;opacity:0;background:linear-gradient(115deg,#0000 32%,#ffffff26 44%,#ffffffd9 50%,#ffffff26 56%,#0000 68%) 0 0/220% 100%;position:absolute;inset:0}.rollout[data-state=loading] .paint-sweep{opacity:1;animation:1.5s linear infinite paint-sweep}@keyframes paint-sweep{0%{background-position:130% 0}to{background-position:-130% 0}}.rollout[data-state=loading] [data-rollout-status]:before{content:"";background:var(--red);vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:8px;animation:.9s ease-in-out infinite live-dot;display:inline-block}@keyframes live-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.rollout-progress{display:none}.rollout[data-state=loading] .rollout-progress{border:2px solid var(--ink);background:var(--paper);height:12px;margin-top:1rem;display:block;overflow:hidden}.rollout-progress span{background:repeating-linear-gradient(45deg, var(--yellow) 0 9px, var(--ink) 9px 13px);width:42%;height:100%;animation:1.15s linear infinite peloton;display:block;transform:translate(-110%)}@keyframes peloton{0%{transform:translate(-110%)}to{transform:translate(250%)}}.rollout-hint{display:none}.rollout[data-state=loading] .rollout-hint{color:var(--muted);margin:.75rem 0 0;font-size:.82rem;line-height:1.45;display:block}.share{border-top:3px solid var(--ink);margin-top:1.8rem;padding-top:1.5rem}.share-head{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem;font-size:.74rem;font-weight:800}.card-preview{border:2px solid var(--ink);background:var(--paper-deep);box-shadow:var(--shadow);aspect-ratio:1080/1350;place-items:center;max-width:300px;margin:0 0 1.2rem;display:grid;overflow:hidden}.card-preview img{object-fit:contain;width:100%;height:100%;display:block}.card-building{text-align:center;font-family:var(--mono);color:var(--muted);margin:0;padding:1rem;font-size:.76rem;font-weight:700}.share-actions,.ride-actions{flex-wrap:wrap;gap:12px;display:flex}.ride-actions{align-items:center;margin-top:1.2rem}.share .button{min-height:46px;padding:11px 16px;font-size:.85rem}@media (width<=460px){.jersey-grid,.team-grid,.team-results{grid-template-columns:1fr}.step-actions .button,.share-actions .button,.ride-actions .button{width:100%}}
