.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--btn-h);padding:0 var(--sp-6);border-radius:var(--r-pill);font-size:var(--fs-btn);white-space:nowrap;transition:transform var(--t-fast) var(--ease-out), background var(--t-fast), opacity var(--t-base);border:0;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn--md{min-height:52px}.btn--lg{min-height:var(--field-h);font-size:18px}.btn--block{width:100%}.btn--icon{width:var(--btn-h);padding:0}.btn--primary{background:var(--c-berry);color:#fff;box-shadow:var(--sh-berry)}.btn--primary:active{background:var(--c-berry-press)}.btn--brand{background:var(--c-plum);color:#fff}.btn--brand:active{background:var(--c-plum-press)}.btn--tonal{background:var(--c-plum-tint);color:var(--c-plum)}.btn--outline{background:var(--c-surface);color:var(--c-plum);box-shadow:inset 0 0 0 2px #dccfe8}.btn--ghost{color:var(--c-ink-2);background:#f3eff6}.btn--on-dark{color:#fff;background:0 0;min-height:46px;font-size:15px;box-shadow:inset 0 0 0 2px #ffffff8c}@media (hover:hover){.btn--primary:hover:not(:disabled){background:#bd1a2d}.btn--brand:hover:not(:disabled){background:var(--c-plum-press)}.btn--tonal:hover,.btn--outline:hover{background:#e8ddf2}}.icon-btn{background:var(--c-surface);width:48px;height:48px;color:var(--c-ink);box-shadow:var(--sh-1);transition:transform var(--t-fast);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:active{transform:scale(.94)}.icon-btn--soft{box-shadow:none;color:var(--c-ink-2);background:#f3eff6}
