dialog.ge-mask-popup{width:min(560px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid #fff;border-radius:24px;background:#f6f2fd;color:#17121f;padding:30px 24px;text-align:center;box-shadow:0 16px 64px #2c17434d}dialog.ge-mask-popup::backdrop{background:#21142c88}dialog.ge-mask-popup .ge-mask-sentence{font-size:clamp(20px,4.5vw,28px);font-weight:700;line-height:1.6;overflow-wrap:anywhere;text-align:center;margin:0 0 24px}dialog.ge-mask-popup .ge-mask-actions{display:flex;flex-direction:column;align-items:center;gap:14px}dialog.ge-mask-popup .ge-mask-actions button{min-width:160px;min-height:44px;margin:0}dialog.ge-mask-popup .ge-mask-status{margin:12px 0 0;font-size:14px;text-align:center}

dialog.ge-mask-popup .ge-mask-sentence{overflow-wrap:normal;word-break:normal;font-family:Consolas,"Courier New",monospace;word-spacing:0.15em}dialog.ge-mask-popup .ge-mask-word{display:inline-block;white-space:nowrap;letter-spacing:0.02em}

dialog.ge-mask-popup .ge-mask-sentence{font-family:inherit;word-spacing:0.2em;line-height:1.85}dialog.ge-mask-popup .ge-mask-word{display:inline-flex;align-items:center;gap:0.06em;vertical-align:middle;letter-spacing:0}dialog.ge-mask-popup .ge-mask-dot{display:inline-block;flex:0 0 auto;width:0.42em;height:0.42em;box-sizing:border-box;border:1.5px solid #a184c3;border-radius:50%;background:linear-gradient(145deg,#fff,#e8def5);box-shadow:inset 0 1px 2px #fff,0 1px 2px #8c6aae22}

/* Compact popup: +3pt = +4 CSS px, cap-height circles and unequal row buttons. */
dialog.ge-mask-popup{width:min(680px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:16px}
dialog.ge-mask-popup .ge-mask-sentence{font-size:clamp(24px,calc(4.5vw + 4px),32px);line-height:1.5;margin:0 0 12px}
dialog.ge-mask-popup .ge-mask-dot{width:.72em;height:.72em;border-width:1.5px}
@supports(width:1cap){dialog.ge-mask-popup .ge-mask-dot{width:1cap;height:1cap}}
dialog.ge-mask-popup .ge-mask-actions{flex-direction:row;justify-content:center;align-items:center;gap:12px}
dialog.ge-mask-popup .ge-mask-actions button{min-width:0;min-height:42px;height:42px;box-sizing:border-box;padding:8px 12px;white-space:nowrap;font-size:16px;flex:0 1 auto}
dialog.ge-mask-popup [data-mask-replay]{width:148px}
dialog.ge-mask-popup [data-mask-close]{width:88px}
dialog.ge-mask-popup .ge-mask-status{margin:8px 0 0}
dialog.ge-mask-popup .ge-mask-status:empty{display:none}

/* Regular sentence and narrower modal/actions; no oversized external focus ring. */
dialog.ge-mask-popup{width:min(620px,calc(100vw - 40px));max-width:calc(100vw - 40px);padding:16px 14px}
dialog.ge-mask-popup .ge-mask-sentence{font-weight:400}
dialog.ge-mask-popup [data-mask-replay]{width:132px}
dialog.ge-mask-popup [data-mask-close]{width:76px}
dialog.ge-mask-popup .ge-mask-actions button{padding-left:8px;padding-right:8px}
dialog.ge-mask-popup .ge-mask-actions button:focus,dialog.ge-mask-popup .ge-mask-sentence:focus{outline:none!important}
dialog.ge-mask-popup .ge-mask-actions button:focus-visible{box-shadow:inset 0 0 0 2px #67418e,2px 3px 7px #cbbde0!important}

dialog.ge-mask-popup .ge-mask-actions button{outline:none!important}

dialog.ge-mask-popup .ge-mask-actions button{outline-width:0!important}


/* Korean meaning above the English hint, one line; lower controls and tight bottom. */
dialog.ge-mask-popup{padding-top:14px;padding-bottom:8px}
dialog.ge-mask-popup .ge-mask-korean{margin:0 0 8px;font-size:18px;font-weight:400;line-height:1.4;text-align:center;white-space:nowrap;word-break:normal}
dialog.ge-mask-popup .ge-mask-sentence{margin-bottom:18px}
dialog.ge-mask-popup .ge-mask-actions{margin-top:4px}
