.btn{--btn-edge:3px;--btn-press-dist:2px;appearance:none;font-family:var(--font-body);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-weight:650;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .1s,transform .1s,filter .15s;display:inline-flex;position:relative}.btn:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn--primary:disabled,.btn--primary[aria-disabled=true]{background:color-mix(in srgb, var(--accent-solid) 35%, var(--surface-raised,#27272a));color:#ffffff80;border-color:#0000;box-shadow:none!important}[data-theme=dark] .btn--primary:disabled,[data-theme=dark] .btn--primary[aria-disabled=true]{color:#ffffff73;background:#1b2a4d;border-color:#ffffff0f;box-shadow:none!important}.btn--secondary:disabled,.btn--secondary[aria-disabled=true]{background:var(--surface);color:var(--ink-faint);border-color:var(--border);opacity:.55;box-shadow:none!important}.btn--ghost:disabled,.btn--ghost[aria-disabled=true]{color:var(--ink-faint);opacity:.45;box-shadow:none!important}.btn>svg{flex-shrink:0}.btn--sm{--btn-edge:2px;--btn-press-dist:1.5px;border-radius:8px;height:32px;padding:0 12px;font-size:.8125rem;font-weight:600}.btn--md{--btn-edge:3px;--btn-press-dist:2px;border-radius:10px;height:38px;padding:0 16px;font-size:.875rem;font-weight:650}.btn--lg{--btn-edge:3px;--btn-press-dist:2px;border-radius:11px;height:44px;padding:0 20px;font-size:.9375rem;font-weight:700}.btn--primary{background:var(--accent-solid);color:#fff;--btn-edge-color:#1d4ed8;box-shadow:inset 0 1px 0 0 #ffffff40, 0 var(--btn-edge) 0 0 var(--btn-edge-color);border-color:#ffffff29}[data-theme=dark] .btn--primary{background:var(--accent-solid);color:#fff;--btn-edge-color:#173ba3;box-shadow:inset 0 1px 0 0 #ffffff38, 0 var(--btn-edge) 0 0 var(--btn-edge-color);border-color:#ffffff26}.btn--primary:hover:not(:disabled){background:var(--accent-solid-hover);filter:brightness(1.04);transform:none}[data-theme=dark] .btn--primary:hover:not(:disabled){background:var(--accent-solid-hover);filter:brightness(1.08)}.btn--primary:active:not(:disabled){transform:translateY(var(--btn-press-dist));box-shadow:inset 0 1px 0 0 #fff3, 0 calc(var(--btn-edge) - var(--btn-press-dist)) 0 0 var(--btn-edge-color)}.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong);--btn-edge-color:var(--border-strong);box-shadow:inset 0 1px 0 0 #ffffffb3, 0 var(--btn-edge) 0 0 var(--btn-edge-color)}[data-theme=dark] .btn--secondary{color:#fff;--btn-edge-color:#0f1218;box-shadow:inset 0 1px 0 0 #ffffff0f, 0 var(--btn-edge) 0 0 var(--btn-edge-color);background:#1e222b;border-color:#ffffff14}.btn--secondary:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}[data-theme=dark] .btn--secondary:hover:not(:disabled){color:#fff;background:#252b37;border-color:#ffffff24}.btn--secondary:active:not(:disabled){transform:translateY(var(--btn-press-dist));box-shadow:inset 0 1px 0 0 #ffffff0d, 0 calc(var(--btn-edge) - var(--btn-press-dist)) 0 0 var(--btn-edge-color)}.btn--ghost{color:var(--ink-secondary);box-shadow:none;background:0 0;border-color:#0000;font-weight:600}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--ink);transform:none}.btn--ghost:active:not(:disabled){background:var(--surface-hover);box-shadow:none;transform:scale(.98)}.btn--link{height:auto;color:var(--ink-secondary);box-shadow:none;background:0 0;border-radius:0;gap:6px;padding:0;font-weight:500}.btn--link:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline;transform:none}.btn--link:active{box-shadow:none;transform:none}.btn--danger{background:var(--rose-solid);color:#fff;--btn-edge-color:#9f1239;box-shadow:inset 0 1px 0 0 #ffffff40, 0 var(--btn-edge) 0 0 var(--btn-edge-color);border-color:#ffffff29}[data-theme=dark] .btn--danger{--btn-edge-color:#881337;box-shadow:inset 0 1px 0 0 #ffffff38, 0 var(--btn-edge) 0 0 var(--btn-edge-color);border-color:#ffffff26}.btn--danger:hover:not(:disabled){filter:brightness(1.08);transform:none}.btn--danger:active:not(:disabled){transform:translateY(var(--btn-press-dist));box-shadow:inset 0 1px 0 0 #fff3, 0 calc(var(--btn-edge) - var(--btn-press-dist)) 0 0 var(--btn-edge-color)}.btn--danger:disabled,.btn--danger[aria-disabled=true]{background:color-mix(in srgb, var(--rose-solid) 35%, var(--surface-raised,#27272a));color:#ffffff80;border-color:#0000;box-shadow:none!important}.btn--elevated.btn--primary{box-shadow:inset 0 1px 0 0 #ffffff40, 0 var(--btn-edge) 0 0 var(--btn-edge-color), 0 10px 24px -10px color-mix(in oklab, var(--accent-solid) 70%, transparent)}.btn--elevated.btn--primary:hover:not(:disabled){box-shadow:inset 0 1px 0 0 #ffffff47, 0 var(--btn-edge) 0 0 var(--btn-edge-color), 0 14px 30px -10px color-mix(in oklab, var(--accent-solid) 85%, transparent)}.btn--elevated.btn--primary:active:not(:disabled){transform:translateY(var(--btn-press-dist));box-shadow:inset 0 1px 0 0 #fff3, 0 calc(var(--btn-edge) - var(--btn-press-dist)) 0 0 var(--btn-edge-color), 0 6px 16px -6px color-mix(in oklab, var(--accent-solid) 60%, transparent)}.btn--block{width:100%}.btn-spin{animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spin{animation:none}}
