.button{--button-h:var(--size-control-md);--button-pad:var(--space-md);--button-type:var(--font-size-sm);--button-leading:var(--line-height-sm);margin:var(--space-none);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-xs);white-space:nowrap;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--font-weight-medium);height:var(--button-h);min-height:var(--button-h);padding:0 var(--button-pad);background:var(--button-bg);box-shadow:var(--button-stroke,0 0 #0000), var(--elevation-raised);color:var(--button-fg);font-feature-settings:var(--font-sans--font-feature-settings);font-size:var(--button-type);line-height:var(--button-leading);letter-spacing:var(--letter-spacing-normal);transform-origin:50%;backface-visibility:hidden;transition:transform var(--duration-press) var(--ease-out), background-color var(--duration-press) ease, color var(--duration-press) ease;border:0 solid;display:inline-flex;position:relative;transform:translateZ(0)scale(1)}.button:active:not(:disabled),.button--pressed:not(:disabled){transform:translateZ(0)scale(.99)}.button__icon{flex-shrink:0;place-items:center;line-height:0;display:grid;transform:translateZ(0)}.button__label{align-items:center;display:inline-flex}.button .kbd{flex-shrink:0}.button--icon{width:var(--button-h);min-width:var(--button-h);height:var(--button-h);min-height:var(--button-h);gap:0;padding:0}.button--primary{--button-bg:var(--brand-accent);--button-fg:var(--text-on-accent)}@media (hover:hover) and (pointer:fine){.button--primary:hover:not(:disabled){--button-bg:var(--brand-accent-hover)}}.button--primary.button--hover:not(:disabled){--button-bg:var(--brand-accent-hover)}.button--secondary{--button-bg:var(--surface-default);--button-fg:var(--text-primary);--button-stroke:inset 0 0 0 var(--border-width-thin) var(--border-default)}@media (hover:hover) and (pointer:fine){.button--secondary:hover:not(:disabled){--button-bg:var(--surface-hover-solid);--button-fg:var(--text-link)}}.button--secondary.button--hover:not(:disabled){--button-bg:var(--surface-hover-solid);--button-fg:var(--text-link)}.button--ghost{--button-bg:transparent;--button-fg:var(--text-secondary);box-shadow:none}@media (hover:hover) and (pointer:fine){.button--ghost:hover:not(:disabled){--button-fg:var(--text-primary)}}.button--ghost.button--hover:not(:disabled){--button-fg:var(--text-primary)}.button--link{--button-bg:transparent;--button-fg:var(--text-primary);box-shadow:none}@media (hover:hover) and (pointer:fine){.button--link:hover:not(:disabled){--button-fg:var(--text-link)}}.button--link.button--hover:not(:disabled){--button-fg:var(--text-link)}.button--critical{--button-bg:var(--surface-default);--button-fg:var(--agent-severity-critical-fg);--button-stroke:inset 0 0 0 var(--border-width-thin) var(--agent-severity-critical-border);box-shadow:var(--button-stroke)}@media (hover:hover) and (pointer:fine){.button--critical:hover:not(:disabled){--button-bg:var(--agent-severity-critical-bg)}}.button--critical.button--hover:not(:disabled){--button-bg:var(--agent-severity-critical-bg)}[data-theme=dark] .button--critical:not(:focus-visible):not(.button--focused){--button-stroke:none;box-shadow:none}.button--destructive{--button-bg:var(--feedback-error-solid);--button-fg:var(--text-inverse)}.button:focus,.button:focus-visible{outline:none}.button:focus-visible,.button--focused:not(:disabled){box-shadow:var(--button-stroke,0 0 #0000), 0 0 0 var(--size-focus-gap) var(--border-focus-gap), 0 0 0 calc(var(--size-focus-gap) + var(--size-focus-ring)) var(--border-focus)}.button:disabled,.button--disabled{opacity:.5;cursor:not-allowed}.button--busy:disabled{opacity:1;cursor:wait}.button__spinner{animation:1s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button{transition:background-color var(--duration-press) ease, color var(--duration-press) ease}.button:active:not(:disabled),.button--pressed:not(:disabled){transform:translateZ(0)scale(1)}.button__spinner{animation:none}}
