@layer components{.btn-theme-base{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;text-align:center;white-space:nowrap;cursor:pointer;user-select:none;border:2px solid transparent;border-radius:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.btn-text{white-space:nowrap;display:inline-block}.btn-theme-cta{align-items:flex-start;flex-direction:column;padding:1rem 1.5rem;text-align:left;white-space:normal}.btn-theme-cta .btn-text{white-space:normal}.btn-theme-cta-title{font-size:1.1rem;font-weight:700;line-height:1.1}.btn-theme-cta-subtitle{font-size:.9rem;font-weight:600;opacity:.85}@media (max-width: 768px){.btn-theme-base{min-width:44px;min-height:44px}}.btn-theme-primary{background:var(--btn-primary-bg, linear-gradient(135deg, var(--league-primary, #6366f1) 0%, var(--league-gradient, #4f46e5) 100%));color:var(--btn-primary-fg, var(--league-primary-text, white));border-color:var(--btn-primary-border, var(--league-primary, #6366f1));box-shadow:var(--btn-primary-shadow, 0 2px 8px rgba(var(--league-primary-rgb, 99, 102, 241), .2))}.btn-theme-primary:hover:not(:disabled):not(.processing){background:var(--btn-primary-bg-hover, var(--btn-primary-bg, linear-gradient(135deg, var(--league-primary, #6366f1) 0%, var(--league-gradient, #4f46e5) 100%)));transform:translateY(-1px);box-shadow:var(--btn-primary-shadow-hover, 0 4px 16px rgba(var(--league-primary-rgb, 99, 102, 241), .3));color:var(--btn-primary-fg, var(--league-primary-text, white))}.btn-theme-primary:active:not(:disabled):not(.processing){transform:translateY(0);box-shadow:0 2px 4px rgba(var(--league-primary-rgb, 99, 102, 241),.2)}.btn-theme-outline{background:var(--btn-outline-bg, transparent);color:var(--btn-outline-fg, var(--league-primary, #6366f1));border-color:var(--btn-outline-border, var(--league-primary, #6366f1))}.btn-theme-outline:hover:not(:disabled):not(.processing){background:var(--btn-outline-bg-hover, var(--league-primary));border-color:var(--btn-outline-border-hover, var(--league-gradient, #4f46e5));transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--league-primary-rgb, 99, 102, 241),.15);color:var(--btn-outline-fg-hover, var(--league-primary-text, white))}.btn-theme-outline:active:not(:disabled):not(.processing){background:rgba(var(--league-primary-rgb, 99, 102, 241),.12);transform:translateY(0)}.btn-theme-secondary{background:var(--btn-secondary-bg, var(--surface-2, #f1f5f9));color:var(--btn-secondary-fg, var(--theme-text-primary, #1e293b));border-color:var(--btn-secondary-border, rgba(0, 0, 0, .2));box-shadow:0 1px 3px #0000000f}.btn-theme-secondary:hover:not(:disabled):not(.processing){background:var(--btn-secondary-bg-hover, var(--surface-3, #e2e8f0));border-color:var(--btn-secondary-border-hover, var(--theme-text-secondary, #64748b));transform:translateY(-1px);box-shadow:0 3px 8px #0000001a;color:var(--btn-secondary-fg, var(--theme-text-primary, #1e293b))}.btn-theme-secondary:active:not(:disabled):not(.processing){transform:translateY(0);box-shadow:0 1px 3px #0000000f}.btn-theme-accent{background:var(--league-accent-1, #ec4899);color:var(--league-accent-1-text, white);border-color:var(--league-accent-1, #ec4899);box-shadow:0 2px 8px rgba(var(--league-accent-1-rgb, 236, 72, 153),.2)}.btn-theme-accent:hover:not(:disabled):not(.processing){filter:brightness(.9);transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--league-accent-1-rgb, 236, 72, 153),.3);color:var(--league-accent-1-text, white)}.btn-theme-accent:active:not(:disabled):not(.processing){transform:translateY(0);box-shadow:0 2px 4px rgba(var(--league-accent-1-rgb, 236, 72, 153),.2)}.btn-theme-contrast{background:var(--btn-contrast-bg, var(--league-contrast, white));color:var(--btn-contrast-fg, var(--league-contrast-text, #1e293b));border-color:var(--btn-contrast-border, var(--league-contrast, white));box-shadow:0 2px 8px #0000001a}.btn-theme-contrast:hover:not(:disabled):not(.processing){background:var(--btn-contrast-bg-hover, var(--btn-contrast-bg, var(--league-contrast, white)));transform:translateY(-1px);box-shadow:0 4px 16px #00000026;color:var(--btn-contrast-fg, var(--league-contrast-text, #1e293b))}.btn-theme-contrast:active:not(:disabled):not(.processing){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-theme-danger{background:var(--btn-danger-bg, var(--theme-danger, #dc3545));color:var(--btn-danger-fg, #ffffff);border-color:var(--btn-danger-border, var(--theme-danger, #dc3545));box-shadow:0 2px 8px #dc354533}.btn-theme-danger:hover:not(:disabled):not(.processing){background:var(--btn-danger-bg-hover, #c82333);border-color:var(--btn-danger-border-hover, #bd2130);transform:translateY(-1px);box-shadow:0 4px 16px #dc35454d;color:var(--btn-danger-fg, #ffffff)}.btn-theme-danger:active:not(:disabled):not(.processing){transform:translateY(0);box-shadow:0 2px 4px #dc354533}.btn.btn-primary{background:var(--btn-primary-bg, linear-gradient(135deg, var(--league-primary, #6366f1) 0%, var(--league-gradient, #4f46e5) 100%));color:var(--btn-primary-fg, var(--league-primary-text, white));border-color:var(--btn-primary-border, var(--league-primary, #6366f1))}.btn.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover, var(--btn-primary-bg, linear-gradient(135deg, var(--league-primary, #6366f1) 0%, var(--league-gradient, #4f46e5) 100%)));border-color:var(--btn-primary-border, var(--league-primary, #6366f1));color:var(--btn-primary-fg, var(--league-primary-text, white))}.btn.btn-outline-primary{background:var(--btn-outline-bg, transparent);color:var(--btn-outline-fg, var(--league-primary, #6366f1));border-color:var(--btn-outline-border, var(--league-primary, #6366f1))}.btn.btn-outline-primary:hover:not(:disabled){background:var(--btn-outline-bg-hover, var(--league-primary));color:var(--btn-outline-fg-hover, var(--league-primary-text, white));border-color:var(--btn-outline-border-hover, var(--league-gradient, #4f46e5))}.btn.btn-danger{background:var(--btn-danger-bg, var(--theme-danger, #dc3545));color:var(--btn-danger-fg, #ffffff);border-color:var(--btn-danger-border, var(--theme-danger, #dc3545))}.btn.btn-danger:hover:not(:disabled){background:var(--btn-danger-bg-hover, #c82333);border-color:var(--btn-danger-border-hover, #bd2130);color:var(--btn-danger-fg, #ffffff)}.feature-button{width:100%;min-height:56px;padding:1.25rem 2rem;border-radius:.75rem;font-size:1rem;font-weight:700;background:linear-gradient(135deg,var(--league-primary, #6366f1) 0%,var(--league-accent-1, #ec4899) 100%);color:var(--league-primary-text, white);border:none;box-shadow:0 4px 16px rgba(var(--league-primary-rgb, 99, 102, 241),.25)}.feature-button:hover:not(:disabled):not(.processing){transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--league-primary-rgb, 99, 102, 241),.35);color:var(--league-primary-text, white)}.btn-sm{min-height:36px;padding:.5rem 1rem;font-size:.875rem}.btn-lg{min-height:56px;padding:1rem 2rem;font-size:1.0625rem}.btn-icon{font-size:1em;width:1.25em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit!important}.btn-theme-base i,.btn-theme-base .btn-icon{color:inherit!important}.btn-icon-only{padding:.75rem;min-width:48px}.btn-icon-only .btn-icon{margin:0}.btn-icon-only .btn-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-theme-base.processing{color:transparent!important;cursor:not-allowed;position:relative}.btn-theme-base.processing:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:2px solid transparent;border-radius:50%;border-top-color:currentColor;animation:button-spin .8s linear infinite}.btn-theme-primary.processing:after,.btn-theme-accent.processing:after,.btn-theme-danger.processing:after,.feature-button.processing:after{border-top-color:currentColor}.btn-theme-outline.processing:after{border-top-color:var(--league-primary, #6366f1)}.btn-theme-secondary.processing:after{border-top-color:var(--theme-text-primary, #1e293b)}.btn-theme-contrast.processing:after{border-top-color:var(--league-contrast-text, #1e293b)}@keyframes button-spin{to{transform:rotate(360deg)}}.btn-theme-base.processing-with-text{color:inherit!important}.btn-theme-base.processing-with-text .btn-text{opacity:.7}.btn-theme-base.processing-with-text .btn-icon{animation:button-pulse 1.5s ease-in-out infinite}@keyframes button-pulse{0%,to{opacity:.7}50%{opacity:.3}}.btn-theme-base:disabled{opacity:1;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:var(--btn-disabled-bg, var(--theme-surface-3, #e9ecef));color:var(--btn-disabled-fg, var(--theme-text-secondary, #4a5568));border-color:var(--btn-disabled-border, transparent)}.btn-theme-base:focus{outline:none}.btn-theme-base:focus-visible{outline:3px solid var(--btn-focus-ring, var(--league-primary, #6366f1));outline-offset:2px;box-shadow:var(--btn-focus-shadow, none)}.btn-theme-base:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-theme-primary:before,.btn-theme-accent:before,.feature-button:before{background:#ffffff4d}.btn-theme-outline:before{background:rgba(var(--league-primary-rgb, 99, 102, 241),.1)}.btn-theme-secondary:before{background:#0000000d}.btn-theme-contrast:before{background:#0000000d}.btn-theme-base:active:before{width:300%;height:300%}.btn-group{display:inline-flex;gap:.5rem;flex-wrap:wrap}.btn-group-vertical{display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.btn-mobile-full,.btn-group{width:100%}.btn-group>.btn-theme-base{flex:1}}.btn-theme-base.success{background:var(--success, #10b981)!important;border-color:var(--success, #10b981)!important;color:var(--btn-success-fg, #ffffff)!important}.btn-theme-base.error{background:var(--danger, #ef4444)!important;border-color:var(--danger, #ef4444)!important;color:var(--btn-danger-fg, #ffffff)!important}.btn-theme-base.success .btn-icon,.btn-theme-base.error .btn-icon{animation:button-icon-pop .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes button-icon-pop{0%{transform:scale(0)}to{transform:scale(1)}}}
