.btn.svelte-1alfhtv{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family-cta);font-weight:var(--font-weight-medium);text-decoration:none;border:none;border-radius:var(--border-radius-lg);cursor:pointer;transition:all var(--transition-base),transform var(--transition-spring);position:relative;white-space:nowrap;overflow:visible;transform:translateY(0) scale(1);transform-origin:center;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;min-height:44px;min-width:44px}.btn.svelte-1alfhtv:before{content:"";position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:0}.btn-primary.svelte-1alfhtv{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary.svelte-1alfhtv:hover{background:var(--gradient-primary-button);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(var(--primary-rgb),.3)}.btn-secondary.svelte-1alfhtv{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary.svelte-1alfhtv:hover{background-color:var(--ivory);border-color:var(--primary);color:var(--primary);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 15px rgba(var(--primary-rgb),.15)}.btn-outline.svelte-1alfhtv{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline.svelte-1alfhtv:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(var(--primary-rgb),.25)}.btn-ghost.svelte-1alfhtv{background-color:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost.svelte-1alfhtv:hover{background-color:rgba(var(--primary-rgb),.1);color:var(--primary);border-color:rgba(var(--primary-rgb),.2)}.btn-sm.svelte-1alfhtv{font-size:var(--font-size-footnote);padding:var(--spacing-sm) var(--spacing-md);height:36px;min-height:36px}.btn-md.svelte-1alfhtv{font-size:var(--font-size-callout);padding:var(--spacing-md) var(--spacing-xl);height:44px;min-height:44px}.btn-lg.svelte-1alfhtv{font-size:var(--font-size-body);padding:var(--spacing-lg) var(--spacing-2xl);height:48px;min-height:48px}.btn-xl.svelte-1alfhtv{font-size:var(--font-size-headline);padding:var(--spacing-xl) var(--spacing-3xl);height:56px;min-height:56px}.btn-full-width.svelte-1alfhtv{width:100%}.btn-disabled.svelte-1alfhtv{opacity:.6;cursor:not-allowed}.btn-disabled.svelte-1alfhtv:hover{transform:translateY(0) scale(1);box-shadow:var(--shadow-sm)}.btn-loading.svelte-1alfhtv{cursor:wait}.spinner.svelte-1alfhtv{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:svelte-1alfhtv-spin 1s linear infinite}@keyframes svelte-1alfhtv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn.svelte-1alfhtv:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-touch.svelte-1alfhtv{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-touch-active.svelte-1alfhtv{transform:scale(.96);opacity:.9}.btn-mobile.svelte-1alfhtv{min-height:48px;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);font-size:var(--font-size-body)}.btn-mobile.btn-sm.svelte-1alfhtv{height:44px;min-height:44px;font-size:var(--font-size-callout)}.btn-mobile.btn-lg.svelte-1alfhtv{height:52px;min-height:52px;font-size:var(--font-size-headline)}.btn-mobile.btn-xl.svelte-1alfhtv{height:60px;min-height:60px;font-size:var(--font-size-title3)}.btn.svelte-1alfhtv:active:not(.btn-touch){transform:translateY(0) scale(.98);transition:transform .1s ease}.btn-primary.svelte-1alfhtv:active{box-shadow:0 2px 8px rgba(var(--primary-rgb),.4)}.btn-secondary.svelte-1alfhtv:active,.btn-outline.svelte-1alfhtv:active{box-shadow:0 2px 8px rgba(var(--primary-rgb),.2)}.btn-ghost.svelte-1alfhtv:active{background-color:rgba(var(--primary-rgb),.15)}.btn.svelte-1alfhtv>*:not(.ripple){position:relative;z-index:1}.btn.svelte-1alfhtv .ripple{position:absolute;border-radius:50%;background-color:#fff6;pointer-events:none;animation:svelte-1alfhtv-ripple .6s linear;transform:scale(0);z-index:0}.btn-secondary.svelte-1alfhtv .ripple,.btn-outline.svelte-1alfhtv .ripple{background-color:rgba(var(--primary-rgb),.2)}@keyframes svelte-1alfhtv-ripple{to{transform:scale(4);opacity:0}}.btn-magnetic.svelte-1alfhtv{transition:all var(--transition-base),transform var(--transition-spring)}.btn-magnetic.svelte-1alfhtv:hover{transition:transform .1s ease-out}.btn-loading.svelte-1alfhtv{cursor:wait;pointer-events:none}.btn-loading.svelte-1alfhtv .spinner:where(.svelte-1alfhtv){animation:svelte-1alfhtv-spin 1s linear infinite,svelte-1alfhtv-pulse 2s ease-in-out infinite alternate}@keyframes svelte-1alfhtv-pulse{0%{opacity:1}to{opacity:.6}}@media (max-width: 480px){.btn.svelte-1alfhtv{min-height:48px;font-size:var(--font-size-body)}.btn-sm.svelte-1alfhtv{height:44px;min-height:44px}.btn-md.svelte-1alfhtv{height:48px;min-height:48px}.btn-lg.svelte-1alfhtv{height:52px;min-height:52px}.btn-xl.svelte-1alfhtv{height:60px;min-height:60px}.btn-full-width.svelte-1alfhtv{margin-bottom:var(--spacing-sm)}}@media (min-width: 481px) and (max-width: 768px){.btn.svelte-1alfhtv{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}@media (hover: hover) and (pointer: fine){.btn-primary.svelte-1alfhtv:hover{background:var(--gradient-primary-button);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(var(--primary-rgb),.3)}.btn-secondary.svelte-1alfhtv:hover{background-color:var(--ivory);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 15px rgba(var(--primary-rgb),.15)}.btn-outline.svelte-1alfhtv:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(var(--primary-rgb),.25)}.btn-ghost.svelte-1alfhtv:hover{background-color:rgba(var(--primary-rgb),.1);color:var(--primary);border-color:rgba(var(--primary-rgb),.2)}}@media (prefers-reduced-motion: reduce){.btn.svelte-1alfhtv{transition:background-color var(--transition-fast),color var(--transition-fast)}.btn.svelte-1alfhtv:hover,.btn-primary.svelte-1alfhtv:hover,.btn-secondary.svelte-1alfhtv:hover,.btn-outline.svelte-1alfhtv:hover{transform:none}.btn.svelte-1alfhtv .ripple{display:none}.btn-touch-active.svelte-1alfhtv{transform:none}.spinner.svelte-1alfhtv{animation:svelte-1alfhtv-spin 1s linear infinite}}@media (prefers-contrast: high){.btn.svelte-1alfhtv{border-width:2px}.btn-primary.svelte-1alfhtv{border:2px solid var(--text-primary)}.btn-ghost.svelte-1alfhtv{border:2px solid var(--text-secondary)}}
