/* Risingshadow Design System v1.2: canonical actions */
.rs-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--rs-space-2);min-height:40px;padding:.55rem .9rem;border:1px solid transparent;border-radius:var(--rs-radius-md);font:inherit;font-weight:var(--rs-weight-semibold);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--rs-transition-normal),border-color var(--rs-transition-normal),color var(--rs-transition-normal),box-shadow var(--rs-transition-normal),transform 80ms}.rs-button:hover{text-decoration:none}.rs-button:focus-visible{outline:2px solid var(--rs-border-focus);outline-offset:2px;box-shadow:var(--rs-glow-focus)}.rs-button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.rs-button:disabled,.rs-button[aria-disabled=true]{cursor:not-allowed;opacity:.52}.rs-button--primary{color:var(--rs-text-primary);background:#183047;border-color:#355d7e}.rs-button--primary:hover{background:#214462;border-color:#4d7da5}.rs-button--secondary{color:var(--rs-text-primary);background:transparent;border-color:var(--rs-border-default)}.rs-button--secondary:hover{background:var(--rs-surface-2);border-color:var(--rs-border-strong)}.rs-button--destructive{color:#fff;background:#7d2025;border-color:#a3373d}.rs-button--destructive:hover{background:#963039;border-color:#c24a51}.rs-button--link{min-height:auto;padding:.2rem .1rem;color:var(--rs-info);background:transparent;border-color:transparent}.rs-button--link:hover{color:var(--rs-text-primary);background:var(--rs-surface-2);text-decoration:none}.rs-button--loading{cursor:wait}.rs-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rs-spin .7s linear infinite}@keyframes rs-spin{to{transform:rotate(360deg)}}@media(pointer:coarse){.rs-button{min-height:var(--rs-touch-target)}}@media(prefers-reduced-motion:reduce){.rs-button__spinner{animation-duration:1.4s}}

/* v1.2.3: Canonical compact button size
 * Size modifier only. Combine with semantic variants such as
 * .rs-button--primary or .rs-button--secondary.
 */
.rs-button--compact {
    min-height: 36px;
    padding: 6px 12px;
    font-size: var(--rs-text-sm);
}

/* Preserve the shared minimum touch target on coarse-pointer devices. */
@media (pointer: coarse) {
    .rs-button--compact {
        min-height: var(--rs-touch-target);
    }
}
