.btn{justify-content:center;align-items:center;gap:var(--s-2,8px);min-height:44px;padding:0 var(--s-4,16px);border:1px solid var(--ux-line);border-radius:var(--r-md,12px);color:var(--ux-text);font:inherit;font-size:var(--t-sm,14px);cursor:pointer;touch-action:manipulation;background:0 0;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--ux-text) 7%, transparent)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--ux-brand);outline-offset:2px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--ux-brand);border-color:var(--ux-brand);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--ux-brand) 88%, var(--ux-text))}.btn-ghost{color:var(--ux-muted);border-color:#0000}.btn-danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}@media (hover:hover) and (pointer:fine){.btn-sm{min-height:36px;padding:0 var(--s-3,12px)}}@media (prefers-reduced-motion:reduce){.btn,.btn:active:not(:disabled){transition:none;transform:none}}
