/* Reusable themed UI dialogs and safe defaults for native controls. */
:root {
  --ssc-dialog-surface:var(--ssc-panel,var(--panel,#20142f));
  --ssc-dialog-ink:var(--ssc-text,var(--text,#f5efff));
  --ssc-dialog-muted:var(--ssc-muted,var(--muted,#baaacc));
  --ssc-dialog-border:var(--ssc-border,var(--line,#5a4271));
  --ssc-dialog-accent:var(--ssc-primary,var(--purple,#bc91f5));
}
body :where(button,input,select,textarea){font-family:inherit}
body :where(select,textarea,input[type=text],input[type=search],input[type=url],input[type=email],input[type=number],input[type=password],input[type=datetime-local],input[type=date],input[type=time]){color:var(--ssc-input-text,var(--ssc-text,var(--text,#f5efff)));background-color:var(--ssc-input,var(--input-color,var(--panel,#160f24)));border:1px solid var(--ssc-input-border,var(--ssc-border,var(--line,#5a4271)));border-radius:10px;accent-color:var(--ssc-primary,var(--purple,#bc91f5));color-scheme:dark;min-width:0}
body :where(select option,select optgroup){color:var(--ssc-input-text,var(--ssc-text,#f5efff));background-color:var(--ssc-input,var(--panel,#160f24))}
body :where(select:focus-visible,textarea:focus-visible,input:focus-visible,button:focus-visible){outline:2px solid var(--ssc-input-focus,var(--ssc-primary,#bc91f5));outline-offset:2px}
body :where(button:not([class])){color:var(--ssc-dialog-ink);border:1px solid var(--ssc-dialog-border);border-radius:10px;background:var(--ssc-dialog-surface);padding:8px 12px;cursor:pointer}
body :where(button:disabled,input:disabled,textarea:disabled,select:disabled){cursor:not-allowed;opacity:.58}
.ssc-circle-dialog{width:min(440px,calc(100vw - 32px));max-width:440px;max-height:min(80dvh,650px);padding:0;background:var(--ssc-dialog-surface);color:var(--ssc-dialog-ink);border:1px solid var(--ssc-dialog-border);border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.55);overflow:auto;position:fixed;inset:0;margin:auto}
.ssc-circle-dialog::backdrop{background:rgba(8,7,18,.74);backdrop-filter:blur(6px)}
.ssc-circle-dialog-inner{padding:clamp(20px,4vw,30px);display:grid;gap:14px}
.ssc-circle-dialog-symbol{height:42px;width:42px;border:1px solid color-mix(in srgb,var(--ssc-dialog-accent) 55%,transparent);border-radius:14px;display:grid;place-items:center;color:var(--ssc-dialog-accent);font-size:1.35rem;background:color-mix(in srgb,var(--ssc-dialog-accent) 9%,transparent)}
.ssc-circle-dialog-title{font-size:clamp(1.15rem,3vw,1.45rem);line-height:1.3;margin:0;color:var(--ssc-heading,var(--ssc-dialog-ink))}
.ssc-circle-dialog-description{line-height:1.65;margin:0;color:var(--ssc-dialog-muted);white-space:pre-line;overflow-wrap:anywhere}
.ssc-circle-dialog-buttons{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:9px}
.ssc-circle-dialog-button{font:inherit;font-size:.9rem;font-weight:750;padding:11px 17px;border-radius:11px;min-width:94px;cursor:pointer}
.ssc-circle-dialog-cancel{background:transparent;color:var(--ssc-dialog-ink);border:1px solid var(--ssc-dialog-border)}
.ssc-circle-dialog-accept{background:linear-gradient(125deg,var(--ssc-button-start,var(--ssc-dialog-accent)),var(--ssc-button-end,var(--ssc-secondary,var(--ssc-dialog-accent))));border:1px solid transparent;color:var(--ssc-button-text,#180b2a)}
.ssc-circle-dialog.is-danger .ssc-circle-dialog-accept{background:var(--ssc-danger,#ff9caf);color:#231017}
.ssc-circle-toast-region{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:12000;max-width:min(450px,calc(100vw - 32px));pointer-events:none}
.ssc-circle-toast{display:flex;gap:12px;align-items:center;padding:14px 17px;border:1px solid var(--ssc-dialog-border);border-radius:13px;background:var(--ssc-dialog-surface);color:var(--ssc-dialog-ink);box-shadow:0 12px 50px #0008;overflow-wrap:anywhere}
.ssc-circle-toast-glyph{color:var(--ssc-success,#b6e2ce);font-weight:900}
.ssc-circle-toast.is-error .ssc-circle-toast-glyph{color:var(--ssc-danger,#ff9caf)}
.ssc-circle-toast.is-warning .ssc-circle-toast-glyph{color:var(--ssc-warning,#f2d083)}
@media(max-width:450px){.ssc-circle-dialog-buttons{display:grid;grid-template-columns:1fr 1fr}.ssc-circle-dialog-buttons:has(.ssc-circle-dialog-cancel[hidden]){grid-template-columns:1fr}.ssc-circle-dialog-button{min-width:0}.ssc-circle-dialog-inner{padding:21px}.ssc-circle-toast-region{left:16px;right:16px;max-width:none}}
@media(prefers-reduced-motion:reduce){.ssc-circle-dialog,.ssc-circle-toast{scroll-behavior:auto}}
