.alfred-button{box-sizing:border-box;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid #0000;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-width:44px;max-width:100%;min-height:44px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.alfred-button--sm{padding-inline:12px}.alfred-button--icon{flex-shrink:0;width:44px;height:44px;padding:0}.alfred-button>svg{flex-shrink:0;width:20px;height:20px}.alfred-button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.alfred-button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-strong);border-color:var(--accent-strong)}.alfred-button--secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.alfred-button--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-2)}.alfred-button--soft{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--accent)}.alfred-button--soft:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.alfred-button--ghost{color:var(--muted);background:0 0}.alfred-button--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-2);color:var(--ink)}.alfred-button--danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}.alfred-button--danger:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--danger) 88%,#000);border-color:color-mix(in srgb,var(--danger) 88%,#000)}.alfred-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.alfred-button:disabled,.alfred-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}@media (max-width:720px){.alfred-button.alfred-button--mobileFull{flex:none;inline-size:100%}.alfred-buttonGroup--mobileStack{flex-direction:column;align-items:stretch;inline-size:100%;display:flex}.alfred-buttonGroup--mobileStack>.alfred-button:not(.alfred-button--icon){flex:none;inline-size:100%}}@media (prefers-reduced-motion:reduce){.alfred-button{transition:none}}
.alfred-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(28rem,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);color:var(--ink);border-radius:20px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 80px #0003}.alfred-dialog::backdrop{background:var(--scrim,#0813157a);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.alfred-dialog-surface{min-height:0;max-height:inherit;flex-direction:column;display:flex}.alfred-sheet-handle{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:40px;height:4px;margin:10px auto 0;display:none}.alfred-dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.alfred-dialog-header h2{overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:600;line-height:26px}.alfred-dialog-header>button{flex-shrink:0}.alfred-dialog-header>button>span{font-size:24px;line-height:1}.alfred-dialog-body{overscroll-behavior:contain;min-height:0;padding:20px;overflow:hidden auto}.alfred-dialog-body>:first-child{margin-top:0}.alfred-dialog-actions{z-index:1;border-top:1px solid var(--line);background:var(--surface);margin-inline:-20px;padding:16px 20px;position:sticky;bottom:-20px}.alfred-dialog-actionGroup{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (max-width:720px){.alfred-dialog{width:100%;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;margin:0;inset:auto 0 0}.alfred-dialog[open]{animation:.18s ease-out alfred-sheet-enter}.alfred-dialog .alfred-sheet-handle{display:block}.alfred-dialog-header{padding:12px 20px 16px}.alfred-dialog-header>button{width:44px;height:44px}.alfred-dialog-body{padding:20px 20px max(20px,env(safe-area-inset-bottom))}.alfred-dialog-actions{padding-bottom:max(16px,env(safe-area-inset-bottom))}.alfred-dialog-actionGroup{align-items:stretch}}@keyframes alfred-sheet-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.alfred-dialog[open]{animation:none}}
