html.stim-age-pending, html.stim-age-pending body { overflow: hidden !important; }
html.stim-age-pending body > :not(#stim-age-dialog) { filter: blur(var(--stim-age-blur, 8px)) !important; pointer-events: none !important; }
#stim-age-dialog {
    box-sizing: border-box; position: fixed; inset: 0; z-index: 2147483647;
    width: 100%; max-width: none; height: 100%; max-height: none; margin: 0;
    padding: 24px; border: 0; background: var(--stim-age-overlay, rgba(16,18,26,.45)); color: var(--stim-age-text, #172033);
    overflow-y: auto; font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif;
}
#stim-age-dialog[open] { display: flex; align-items: center; justify-content: center; }
#stim-age-dialog::backdrop { background: transparent; }
#stim-age-dialog * { box-sizing: border-box; }
#stim-age-dialog h2, #stim-age-dialog p { overflow-wrap: anywhere; }
#stim-age-dialog .stim-age-card {
    width: 100%; max-width: 460px; margin: auto; padding: 38px 30px;
    border-radius: 22px; background: var(--stim-age-card, #ffffff); text-align: center;
    box-shadow: 0 24px 80px #0005;
}
#stim-age-dialog .stim-age-badge {
    display: flex; align-items: center; justify-content: center; width: 76px; height: 76px;
    margin: 0 auto 22px; border: 3px solid var(--stim-age-accent, #bf2446); border-radius: 50%;
    color: var(--stim-age-accent, #bf2446); font-size: 28px; font-weight: 800;
}
#stim-age-dialog h2 { margin: 0 0 12px; color: var(--stim-age-text, #172033); font: 700 28px/1.25 system-ui, sans-serif; }
#stim-age-dialog p { margin: 0 0 26px; color: var(--stim-age-text, #172033); font-size: 16px; }
#stim-age-dialog .stim-age-actions { display: flex; gap: 12px; }
#stim-age-dialog .stim-age-actions > * {
    display: flex; flex: 1; align-items: center; justify-content: center; min-height: 50px;
    padding: 12px; border-radius: 10px; font: 700 17px/1.4 system-ui, sans-serif;
    cursor: pointer; text-decoration: none; border: 1px solid #c8ccd4;
}
#stim-age-dialog #stim-age-yes { background: var(--stim-age-accent, #bf2446); color: var(--stim-age-button-text, #ffffff); border-color: var(--stim-age-accent, #bf2446); }
#stim-age-dialog #stim-age-yes:hover { filter: brightness(.9); }
#stim-age-dialog #stim-age-no { background: #f3f4f6; color: #303949; }
#stim-age-dialog #stim-age-no:hover { background: #e5e7eb; }
#stim-age-dialog .stim-age-actions > *:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
@media (max-width: 400px) {
    #stim-age-dialog { padding: 16px; }
    #stim-age-dialog .stim-age-card { padding: 28px 20px; }
    #stim-age-dialog h2 { font-size: 25px; }
}
