.ui-btn{--_on:#06231f;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:600;line-height:1;padding:10px 16px;border-radius:12px;border:1px solid transparent;color:var(--text);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .18s var(--ease-out-quart,ease),border-color .18s var(--ease-out-quart,ease),color .18s var(--ease-out-quart,ease),transform .12s var(--ease-out-quart,ease),filter .18s var(--ease-out-quart,ease)}@media (prefers-color-scheme:light){.ui-btn{--_on:#fff}}:root[data-theme=dark] .ui-btn{--_on:#06231f}:root[data-theme=light] .ui-btn{--_on:#fff}.ui-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.ui-btn:active:not(:disabled){transform:translateY(.5px)}.ui-btn[aria-disabled=true],.ui-btn[disabled]{opacity:.55;cursor:default;pointer-events:none}.ui-btn--primary{background:var(--teal);color:var(--_on)}.ui-btn--primary:hover:not([disabled]){filter:brightness(1.06)}.ui-btn--secondary{background:transparent;color:var(--text);border-color:color-mix(in srgb,var(--text) 18%,transparent)}.ui-btn--secondary:hover:not([disabled]){border-color:color-mix(in srgb,var(--text) 34%,transparent);background:color-mix(in srgb,var(--text) 4%,transparent)}.ui-btn--ghost{background:transparent;color:var(--text-mute)}.ui-btn--ghost:hover:not([disabled]){color:var(--text);background:color-mix(in srgb,var(--text) 5%,transparent)}.ui-btn--danger{background:color-mix(in srgb,#e5546b 14%,transparent);color:#e5546b;border-color:color-mix(in srgb,#e5546b 34%,transparent)}.ui-btn--danger:hover:not([disabled]){background:color-mix(in srgb,#e5546b 22%,transparent)}.ui-btn.ui-btn--primary,.ui-btn.ui-btn--primary:hover{color:var(--_on)}.ui-btn.ui-btn--secondary,.ui-btn.ui-btn--secondary:hover{color:var(--text)}.ui-btn.ui-btn--ghost{color:var(--text-mute)}.ui-btn.ui-btn--ghost:hover{color:var(--text)}.ui-btn.ui-btn--danger,.ui-btn.ui-btn--danger:hover{color:#e5546b}.ui-btn--sm{font-size:12.5px;padding:7px 12px;border-radius:10px;gap:6px}.ui-btn--lg{font-size:14.5px;padding:13px 22px;border-radius:13px}.ui-btn--block{display:flex;width:100%}.ui-btn-spin{width:14px;height:14px;flex:0 0 auto;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:ui-btn-spin .6s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}.ui-btn-spin{animation-duration:1.4s}}