.button-base{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:.5rem;transition:all .2s ease;transform:scale(1);text-decoration:none}.button-base:hover{transform:scale(1.02)}.button-base:focus{outline:0;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}.button-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:var(--color-text-inverse);border:1px solid transparent}.button-primary:hover{background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-accent-hover) 100%)}.button-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.button-outline{background:0 0;color:var(--color-text);border:1px solid var(--color-border)}.button-outline:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}[data-theme=light] .button-outline{border:2px solid rgba(139,92,246,.3);color:var(--color-primary);background:#8b5cf60d}[data-theme=light] .button-outline:hover{border:2px solid rgba(139,92,246,.6);background:#8b5cf61a;color:var(--color-primary)}