.touch-button[data-v-75eb944a]{font-family:var(--font-heading,"DM Sans", sans-serif);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast,.15s) var(--ease-out,ease), background-color var(--duration-fast,.15s) ease, box-shadow var(--duration-fast,.15s) ease;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.touch-button--sm[data-v-75eb944a]{border-radius:var(--radius-button,12px);min-width:80px;min-height:80px;font-size:var(--text-base,1.25rem);padding:16px 28px;font-weight:600}.touch-button--md[data-v-75eb944a]{border-radius:var(--radius-button,14px);min-width:80px;min-height:88px;font-size:var(--text-lg,1.375rem);padding:20px 32px;font-weight:600}.touch-button--lg[data-v-75eb944a]{border-radius:var(--radius-button,16px);min-width:96px;min-height:104px;font-size:var(--text-xl,1.5rem);padding:24px 40px;font-weight:700}.touch-button--xl[data-v-75eb944a]{border-radius:var(--radius-button,18px);min-width:120px;min-height:120px;font-size:var(--text-2xl,1.875rem);padding:28px 48px;font-weight:700}.touch-button--full[data-v-75eb944a]{width:100%}.touch-button[data-v-75eb944a]:active:not(.touch-button--disabled){transform:scale(.96)}.touch-button__ripple[data-v-75eb944a]{opacity:0;pointer-events:none;transition:opacity var(--duration-normal,.25s) ease;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);position:absolute;inset:0}.touch-button:active:not(.touch-button--disabled) .touch-button__ripple[data-v-75eb944a]{opacity:1}.touch-button--primary[data-v-75eb944a]{background-color:var(--color-primary,#ff6b35);color:var(--color-on-primary,#fff);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary,#ff6b35) 40%, transparent)}.touch-button--primary[data-v-75eb944a]:active:not(.touch-button--disabled){box-shadow:0 2px 6px color-mix(in srgb, var(--color-primary,#ff6b35) 30%, transparent)}.touch-button--secondary[data-v-75eb944a]{background-color:var(--color-surface,#fff);color:var(--color-text,#1a1a1a);box-shadow:var(--shadow-sm,0 1px 2px #0000000f);border:1.5px solid var(--color-border,#e0e0e0)}.touch-button--secondary .touch-button__ripple[data-v-75eb944a]{background:radial-gradient(circle,#0000000f 0%,#0000 70%)}.touch-button--ghost[data-v-75eb944a]{color:var(--color-text,#1a1a1a);background-color:#0000}.touch-button--ghost .touch-button__ripple[data-v-75eb944a]{background:radial-gradient(circle,#0000000f 0%,#0000 70%)}.touch-button--danger[data-v-75eb944a]{background-color:var(--color-danger,#dc3545);color:var(--color-text-on-danger,#fff);box-shadow:0 4px 12px #dc35454d}.touch-button--disabled[data-v-75eb944a]{opacity:.4;pointer-events:none;cursor:not-allowed}.touch-button--loading[data-v-75eb944a]{pointer-events:none}.touch-button__spinner[data-v-75eb944a]{border:3px solid;border-top-color:#0000;border-radius:50%;width:22px;height:22px;animation:.6s linear infinite touch-button-spin-75eb944a;position:absolute}.touch-button__content--hidden[data-v-75eb944a]{visibility:hidden}@keyframes touch-button-spin-75eb944a{to{transform:rotate(360deg)}}.touch-button[data-v-75eb944a]:focus-visible{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--color-primary,#2563eb);outline:none}
