#jlm-welcome:not([open]) { display: none !important; }
#jlm-welcome[open] {
    display: block; position: fixed; inset: 0; margin: auto;
    box-sizing: border-box; width: calc(100% - 32px); max-width: var(--jlm-popup-width,430px);
    max-height: 90vh; max-height: calc(100dvh - 32px);
    overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    border: 0; border-radius: 22px; padding: 0; text-align: center;
    color: var(--jlm-popup-color,#203a5f); background: var(--jlm-popup-bg,#fff);
    box-shadow: 0 20px 80px #0004; font-family: inherit;
}
#jlm-welcome::backdrop { background: #0008; }
#jlm-welcome .jlm-popup-header {
    position: sticky; top: 0; z-index: 5; display: flex; align-items: center;
    padding: 6px 8px; background: var(--jlm-popup-bg,#fff); min-height: 56px; box-sizing: border-box;
}
#jlm-welcome button[data-jlm-close] {
    appearance: none !important; -webkit-appearance: none !important;
    position: relative !important; inset: auto !important; display: inline-flex !important;
    align-items: center; justify-content: center; flex: 0 0 44px;
    width: 44px !important; height: 44px !important; min-width: 44px; min-height: 44px;
    margin: 0 !important; margin-inline-start: auto !important; padding: 0 !important;
    background: #f0f0f0 !important; border: 1px solid #ddd !important; border-radius: 50% !important;
    color: #222 !important; font: 32px/1 Arial,sans-serif !important; text-indent: 0 !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
    pointer-events: auto !important; cursor: pointer; touch-action: manipulation; box-shadow: none !important;
}
#jlm-welcome [data-jlm-close]:focus-visible { outline: 3px solid var(--jlm-popup-accent,#810d0c) !important; outline-offset: 2px; }
#jlm-welcome .jlm-popup-content { padding: 0 var(--jlm-popup-padding,30px) var(--jlm-popup-padding,30px); }
#jlm-welcome progress { width: 100%; accent-color: var(--jlm-popup-accent,#810d0c); }
#jlm-welcome .jlm-popup-content a {
    display: block; margin-top: 12px; padding: 10px; border-radius: 10px;
    background: var(--jlm-popup-accent,#810d0c); color: #fff; text-decoration: none;
}
#jlm-welcome .jlm-ready-reward { background: #edf8ef; padding: 8px; border-radius: 8px; overflow-wrap: anywhere; }
