/* Original membership appearance. Fitting is enabled only after measured overflow. */
dialog.ssc-dialog {
    box-sizing:border-box; position:fixed; inset:auto; left:var(--ssc-dialog-left,50%); top:var(--ssc-dialog-top,50%); transform:translate(-50%,-50%);
    width:min(680px, var(--ssc-dialog-width, calc(100vw - 32px)));
    max-width:none; max-height:var(--ssc-dialog-height,calc(100vh - 32px)); max-height:var(--ssc-dialog-height,calc(100dvh - 32px));
    margin:0; padding:0; overflow:hidden; border:0; border-radius:24px; background:transparent; color:var(--ssc-ui-text); color-scheme:dark; box-shadow:0 20px 80px #0009;
    font-family:inherit; text-align:center;
}
dialog.ssc-dialog:not([open]) {display:none}
dialog.ssc-dialog::backdrop {background:rgb(0 0 0 / .7)}
#ssc-welcome-dialog.ssc-dialog::backdrop {background:rgb(0 0 0 / .55)}
#ssc-welcome-dialog.ssc-dialog {box-shadow:0 0 24px var(--ssc-accent-glow,transparent),0 16px 60px rgb(0 0 0 / .3)}
dialog.ssc-dialog .ssc-dialog-card {
    position:relative; display:flex; flex-direction:column; align-items:stretch; box-sizing:border-box;
    max-height:inherit; min-height:0; min-width:0; padding:clamp(24px,5vw,44px);
    overflow:hidden; border:2px solid var(--ssc-ui-accent); border-radius:inherit; background:var(--ssc-ui-sheen),var(--ssc-ui-surface); color:var(--ssc-ui-text);
}
dialog.ssc-dialog .ssc-dialog-crown {display:block; flex:0 0 auto; width:clamp(90px,22vw,150px); height:auto; object-fit:contain; margin:0 auto 16px}
dialog.ssc-dialog .ssc-dialog-copy-window {flex:0 1 auto; min-height:0; min-width:0; overflow:hidden; text-align:center}
dialog.ssc-dialog .ssc-dialog-copy {width:100%; column-gap:16px; column-fill:auto; overflow:visible; overflow-wrap:anywhere; orphans:1; widows:1}
dialog.ssc-dialog h2 {margin:0 0 18px; color:var(--ssc-ui-heading); font-family:inherit; font-size:clamp(24px,5vw,36px); font-weight:800; line-height:1.2; overflow-wrap:anywhere; orphans:1; widows:1}
dialog.ssc-dialog p {margin:0; color:inherit; font-family:inherit; font-size:clamp(16px,3.5vw,21px); font-weight:400; line-height:1.5; overflow-wrap:anywhere; orphans:1; widows:1}
dialog.ssc-dialog .ssc-dialog-actions {display:flex; flex:0 0 auto; flex-direction:column; gap:8px; min-width:0; margin-top:28px}
dialog.ssc-dialog .ssc-dialog-primary, dialog.ssc-dialog .ssc-dialog-continue, dialog.ssc-dialog .ssc-dialog-pages button {box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-height:44px; padding:16px 22px; margin:0; border:2px solid transparent; border-radius:999px; font-family:inherit; font-size:clamp(16px,3.5vw,21px); font-weight:800; line-height:1.3; text-decoration:none; cursor:pointer; white-space:normal; overflow-wrap:anywhere; box-shadow:none}
dialog.ssc-dialog .ssc-dialog-primary {background:var(--ssc-ui-button); border-color:var(--ssc-ui-button); color:var(--ssc-ui-button-text)}
dialog.ssc-dialog .ssc-dialog-primary:is(:hover,:focus) {background:var(--ssc-ui-button-hover); border-color:var(--ssc-ui-button-hover); color:var(--ssc-ui-button-text)}
dialog.ssc-dialog .ssc-dialog-continue {padding-block:10px; background:transparent; color:var(--ssc-ui-heading); font-weight:700}
dialog.ssc-dialog .ssc-dialog-pages {display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; font-size:14px; color:var(--ssc-ui-text)}
dialog.ssc-dialog .ssc-dialog-pages[hidden] {display:none}
dialog.ssc-dialog .ssc-dialog-pages button {min-height:44px; padding:6px 12px; background:var(--ssc-ui-field); color:var(--ssc-ui-text); font-size:14px}
dialog.ssc-dialog .ssc-dialog-pages button:disabled {opacity:.45; cursor:default}
dialog.ssc-dialog :is(button,a):focus-visible {outline:3px solid var(--ssc-ui-heading); outline-offset:-4px}
/* Preserve the artwork and original style; reclaim spacing only when it overflows. */
dialog.ssc-dialog[data-ssc-fit] .ssc-dialog-card {padding:16px}
dialog.ssc-dialog[data-ssc-fit] .ssc-dialog-crown {width:min(96px,22vw); margin-bottom:12px}
dialog.ssc-dialog[data-ssc-fit] h2 {margin-bottom:12px}
dialog.ssc-dialog[data-ssc-fit] .ssc-dialog-actions {margin-top:16px}
dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-card {padding:12px}
dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-crown {width:64px; margin-bottom:8px}
dialog.ssc-dialog[data-ssc-fit="tight"] h2 {font-size:24px; margin-bottom:8px}
dialog.ssc-dialog[data-ssc-fit="tight"] p {font-size:16px; line-height:1.35}
dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-actions {margin-top:8px}
dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-primary,dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-continue {font-size:16px; padding:10px 12px}
@media (min-width:480px) {
    dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-actions {flex-direction:row}
    dialog.ssc-dialog[data-ssc-fit="tight"] .ssc-dialog-actions > * {flex:1 1 0; min-width:0}
}
@media (prefers-reduced-motion:no-preference) {dialog.ssc-dialog[open] {animation:ssc-dialog-in .15s ease-out} @keyframes ssc-dialog-in {from {opacity:0} to {opacity:1}}}
