.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:var(--control-height);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-btn);text-align:center;border-radius:var(--btn-radius, var(--radius-md));border:var(--border-width) solid transparent;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap;text-decoration:none;min-height:var(--control-height);vertical-align:middle}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-brand-cta, var(--color-black));color:var(--color-brand-cta-text, var(--color-white));border-color:var(--color-brand-cta, var(--color-black))}.btn--primary:hover{background:var(--color-brand-cta, var(--color-black));border-color:var(--color-brand-cta, var(--color-black));box-shadow:var(--shadow-card);filter:brightness(.92)}.btn--primary:disabled{background:var(--color-gray-300);border-color:var(--color-gray-300);cursor:not-allowed;box-shadow:none}.btn--secondary{background:var(--color-white);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-white);border-color:var(--color-gray-300);box-shadow:var(--shadow-card)}.btn--caution{background:color-mix(in srgb,var(--color-warning) 8%,var(--color-white));color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}.btn--caution:hover{background:color-mix(in srgb,var(--color-warning) 14%,var(--color-white));border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);box-shadow:var(--shadow-card);filter:none}.btn--destructive{background:color-mix(in srgb,var(--color-destructive) 8%,var(--color-white));color:var(--color-destructive);border-color:color-mix(in srgb,var(--color-destructive) 30%,transparent)}.btn--destructive:hover{background:var(--color-destructive);color:var(--color-white);border-color:var(--color-destructive);box-shadow:var(--shadow-card)}.btn--icon{padding:0;aspect-ratio:1 / 1;flex-shrink:0}.btn--glossy{background:#ffffff1f;color:var(--color-white);border:var(--border-width) solid rgba(255,255,255,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn--glossy:hover{background:#ffffff38;border-color:#ffffffb3;box-shadow:var(--shadow-card-hover)}.btn--link{background:none;color:var(--color-text);border-color:transparent;padding:0;height:auto;font-weight:var(--fw-normal);text-decoration:underline;text-underline-offset:3px;letter-spacing:0;border-radius:0;min-height:auto}.btn--link:hover{color:var(--color-text-secondary)}.btn--sm{height:32px;min-height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm-tight)}.btn--full{width:100%}.btn--nav{height:36px;min-height:36px;padding:0 var(--space-4);font-size:var(--font-size-sm);font-weight:var(--fw-medium);border-radius:var(--radius-md)}.btn--touch{min-height:var(--touch-target);min-width:var(--touch-target);padding:0 var(--space-5)}.btn--unavailable{opacity:.5;cursor:not-allowed}.register-container>.btn--full{margin-top:var(--space-2)}.team-select-list+.btn--full{margin-top:var(--space-6)}
