.icon-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;list-style:none;transition:background .15s,color .15s;display:inline-grid}.icon-btn::-webkit-details-marker{display:none}@media (hover:hover){.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger-text)}}@media (width<=640px),(pointer:coarse){.icon-btn{width:var(--tap);height:var(--tap)}}.btn{--btn-bg:var(--control-bg);--btn-fg:var(--text);--btn-border:var(--control-border);height:var(--control-h);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-weight:600;font-size:var(--fs-base);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;transition:background .15s,border-color .15s,transform 80ms,box-shadow .15s,opacity .15s;display:inline-flex;position:relative}.btn[hidden]{display:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{--btn-bg:var(--primary);--btn-fg:var(--on-primary);--btn-border:transparent;box-shadow:inset 0 1px 0 #ffffff1f, var(--shadow-sm)}.btn-success{--btn-bg:var(--success-strong);--btn-fg:var(--on-strong);--btn-border:transparent}.btn-danger{--btn-bg:var(--danger-strong);--btn-fg:var(--on-strong);--btn-border:transparent}.btn-danger-outline{--btn-fg:var(--danger-text);--btn-border:color-mix(in srgb, var(--danger) 40%, transparent)}.btn-ghost{--btn-bg:transparent;--btn-border:transparent;box-shadow:none}.btn-sm{height:var(--control-h-sm);font-size:var(--fs-sm);padding:0 12px}.btn-lg{height:var(--control-h-lg);font-size:var(--fs-md);padding:0 24px}.btn-block{width:100%}@media (hover:hover){.btn:hover{background:var(--surface-2);text-decoration:none}.btn-primary:hover{background:var(--primary-hover)}.btn-success:hover{background:var(--success-strong-hover)}.btn-danger:hover{background:var(--danger-strong-hover)}.btn-danger-outline:hover{background:var(--danger-soft)}}@media (hover:none){.btn:active{background:color-mix(in srgb, var(--btn-bg) 90%, var(--text))}.btn-primary:active{background:var(--primary-hover)}.btn-success:active{background:var(--success-strong-hover)}.btn-danger:active{background:var(--danger-strong-hover)}}.btn.loading{color:#0000!important}.btn.loading:after{content:"";border:2px solid var(--btn-fg);border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;position:absolute}
