.btn{cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;gap:.375rem;font-weight:500;transition:background .1s,border-color .1s,opacity .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--md{height:30px;padding:0 .75rem;font-size:.8rem}.btn--sm{height:28px;padding:0 .5rem;font-size:.75rem}.btn--xs{gap:.3rem;height:auto;padding:.15rem .4rem;font-size:.6rem}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border:1px solid var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{background:var(--color-bg-primary);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.btn--ghost{color:var(--color-text-secondary);background:0 0;border:1px solid #0000}.btn--ghost:hover{background:var(--color-bg-hover)}.btn--link{color:var(--color-accent-text);background:0 0;border:1px solid #0000;height:auto;padding:0}.btn--link:hover{background:0 0;text-decoration:underline}.btn--dashed{color:var(--color-accent-text);border:1px dashed var(--color-border);background:0 0}.btn--dashed:hover{border-color:var(--color-accent);background:var(--color-accent-bg)}.btn--danger{background:var(--color-bg-primary);color:var(--color-error);border:1px solid var(--color-error)}.btn--danger:hover{background:var(--color-error);color:var(--color-text-inverse)}.btn--tag{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;background:0 0;border:1px solid #0000;border-radius:3px;font-weight:400}.btn--tag:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn--icon{border-radius:2px;height:auto;padding:.125rem}
