.ui-btn{font:inherit;font-family:var(--font-ui);font-size:calc(var(--text-btn) * var(--font-undo,1));justify-content:center;align-items:center;gap:var(--space-8);min-height:var(--touch-min);padding:0 var(--space-20);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.ui-btn-lg{min-height:var(--touch-lg);padding:0 var(--space-24);font-size:calc(var(--text-btn-lg) * var(--font-undo,1))}.ui-btn:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.ui-btn-primary{background:var(--primary);color:var(--surface-primary);box-shadow:var(--shadow-cta)}.ui-btn-primary:hover{background:var(--primary-strong);color:var(--surface-primary)}.ui-btn-ink{background:var(--surface-ink);color:var(--surface-raised)}.ui-btn-ink:hover{background:var(--surface-ink-raised);color:var(--surface-raised)}.ui-btn-secondary{color:var(--text-primary);border-color:var(--border-strong);background:0 0;font-weight:500}.ui-btn-secondary:hover{background:var(--surface-sunken);color:var(--text-primary)}.ui-btn-text{color:var(--primary);padding:0 var(--space-12);background:0 0}.ui-btn-danger{background:var(--error);color:var(--surface-primary)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{background:var(--surface-sunken);color:var(--text-meta);box-shadow:none;cursor:not-allowed;border-color:#0000}.ui-btn.is-busy{cursor:progress}.ui-btn.is-busy:before{content:"";border-radius:var(--radius-pill);border:2px solid var(--border-strong);border-top-color:var(--primary);width:16px;height:16px;animation:.9s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}.ui-btn.is-busy:before{animation:none}}
