@layer components{.error-message{border:1px solid color-mix(in srgb, var(--color-danger) 42%, var(--color-border));background:color-mix(in srgb, var(--color-danger) 6%, var(--color-surface));color:var(--color-danger);border-radius:.625rem;gap:.5rem;padding:.75rem .875rem;font-size:.8125rem;display:grid}.error-message ul{gap:.25rem;margin:0;padding-left:1.25rem;list-style:outside;display:grid}.error-message li{padding-left:.125rem;line-height:1.45}.error-message li::marker{color:currentColor;font-size:.85em}.button{--button-background:var(--color-primary);--button-border:var(--color-primary);--button-foreground:#fff;min-width:0;max-width:100%;min-height:var(--button-height);border:1px solid var(--button-border);border-radius:var(--radius-button);height:auto;padding:0 var(--button-padding);appearance:none;background:var(--button-background);color:var(--button-foreground);cursor:pointer;font:inherit;font-size:var(--button-font-size);justify-content:center;align-items:center;gap:.375rem;font-weight:700;line-height:1;transition:background-color .16s,border-color .16s;display:inline-flex}.button[data-size=sm]{--button-height:2.25rem;--button-padding:.75rem;--button-font-size:.8125rem}.button[data-size=md]{--button-height:2.5rem;--button-padding:1rem;--button-font-size:.875rem}.button[data-size=lg]{--button-height:3.25rem;--button-padding:1.25rem;--button-font-size:.9375rem}.button[data-variant=secondary]{--button-background:var(--color-surface);--button-border:color-mix(in srgb, var(--color-text-muted) 38%, var(--color-surface));--button-foreground:var(--color-text)}.button[data-variant=accent]{--button-background:var(--color-success);--button-border:var(--color-success)}.button[data-variant=danger]{--button-background:var(--color-danger);--button-border:var(--color-danger)}.button[data-variant=ghost]{--button-background:transparent;--button-border:transparent;--button-foreground:var(--color-text-muted)}.button:hover:not(:disabled){background:color-mix(in srgb, var(--button-background) 88%, var(--color-text));border-color:color-mix(in srgb, var(--button-border) 88%, var(--color-text))}.button[data-variant=secondary]:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border-strong))}.button[data-variant=secondary]:active:not(:disabled){background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));border-color:var(--color-primary)}.button[data-variant=ghost]:hover:not(:disabled){color:var(--color-text);background:0 0;border-color:#0000}.button[data-variant=ghost] .button__label{position:relative}.button[data-variant=ghost] .button__label:after{content:"";opacity:0;background:currentColor;height:1px;position:absolute;bottom:-.25rem;left:0;right:0}.button[data-variant=ghost]:hover:not(:disabled) .button__label:after{opacity:1}.button:active:not(:disabled){background:color-mix(in srgb, var(--button-background) 78%, var(--color-text));border-color:color-mix(in srgb, var(--button-border) 78%, var(--color-text))}.button[data-variant=ghost]:active:not(:disabled){color:var(--color-text);background:0 0}.button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.52}.button--icon-only{width:var(--button-height);height:var(--button-height);min-width:0;padding:0}.button__icon{flex:none;display:inline-flex}.button__icon>svg{width:1.3em;height:1.3em}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:1em;height:1em;animation:.65s linear infinite button-spin;display:inline-block}.button__label{overflow-wrap:break-word;text-align:center;min-width:0;line-height:1.25}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button,.button__spinner{transition:none;animation:none}}}
