/* No flashing, fullscreen takeover or continuous motion. */
.fmg-banner,.fmg-dialog,.fmg-saved{box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif}
.fmg-banner{max-width:1100px;margin:22px auto;padding:clamp(20px,4vw,42px);border:3px solid #edc467;border-radius:26px;background:radial-gradient(ellipse at top left,#743879,transparent 70%),#261a37;color:#fff8e9;box-shadow:0 0 0 5px #342442,0 12px 32px #21122826;text-align:center;overflow-wrap:anywhere}
.fmg-banner h2{color:#fff3cc!important;font-size:clamp(24px,4vw,40px);line-height:1.12;margin:12px 0}.fmg-banner p{color:#fff8e9!important}.fmg-kicker{font-size:12px;font-weight:850;letter-spacing:.12em;color:inherit;margin:0 0 12px}
.fmg-banner .fmg-hub-link,.fmg-primary{display:inline-flex;align-items:center;justify-content:center;background:#ffdc76!important;color:#251731!important;border:2px solid #d69d22!important;border-radius:14px!important;padding:15px 22px!important;font-size:16px!important;font-weight:850!important;text-decoration:none!important;min-height:48px;box-sizing:border-box;white-space:normal;cursor:pointer;line-height:1.3}
.fmg-winners{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}.fmg-winners li{background:#ffffff13;border:1px solid #ba95c8;border-radius:14px;padding:14px;color:#fff8e9;text-align:left}
.fmg-in-game{max-width:900px;padding:18px 22px;margin:14px auto}.fmg-in-game h2{font-size:22px}.fmg-in-game>p:not(.fmg-kicker){font-size:14px}.fmg-in-game .fmg-winners{max-height:120px;overflow:auto}.fmg-in-game .fmg-hub-link{padding:10px 15px!important;font-size:14px!important}.fmg-in-game .fmg-rules{margin-top:8px}
.fmg-banner .fmg-rules{color:#efe0f5!important}.fmg-rules{font-size:13px;line-height:1.55;text-align:left;margin-top:20px}.fmg-rules summary{cursor:pointer;padding:10px 0;font-weight:750}.fmg-rules p{color:inherit!important}
.fmg-dialog{width:min(540px,calc(100vw - 24px));max-width:540px;max-height:calc(100dvh - 24px);padding:0;border:3px solid #e7ba59;border-radius:24px;background:#fff8eb;color:#2b193c;box-shadow:0 18px 70px #0008;overflow:auto;overscroll-behavior:contain}
.fmg-dialog::backdrop{background:#171024bd}.fmg-card{position:relative;padding:44px 26px 24px;text-align:center}.fmg-dialog h2{font-size:clamp(26px,6vw,40px);color:inherit!important;line-height:1.1;margin:8px 0 16px}.fmg-dialog p,.fmg-dialog label{color:inherit!important}
.fmg-present{font-size:68px;line-height:1.2;padding:6px}.fmg-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;border-radius:50%;background:transparent!important;color:inherit!important;font-size:30px;cursor:pointer}
.fmg-eligible{display:flex;gap:12px;align-items:flex-start;text-align:left;font-size:14px;line-height:1.4;margin:20px 0}.fmg-eligible input{flex:0 0 23px;width:23px;height:23px;accent-color:#632879}.fmg-dialog .fmg-primary{width:100%}.fmg-status{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.fmg-later,.fmg-copy-code{min-height:46px;background:transparent!important;color:inherit!important;border:1px solid currentColor!important;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}
.fmg-code-label{display:block;text-align:left;font-weight:750;margin:12px 0 8px}.fmg-code{display:block;box-sizing:border-box;width:100%;background:#fff!important;color:#291536!important;border:2px solid #73457b!important;border-radius:10px;padding:14px!important;font:700 18px ui-monospace,monospace!important;letter-spacing:1px;min-width:0;user-select:text}.fmg-copy-code{margin-top:10px;width:100%}.fmg-saved{display:block;max-width:600px;margin:16px auto;padding:15px 22px;background:#ffdc76!important;color:#2b193c!important;border:2px solid #bd8d1a;border-radius:14px;min-height:48px;font-size:17px;font-weight:850;cursor:pointer;white-space:normal}
.fmg-dialog [hidden]{display:none!important}.fmg-dialog :focus-visible,.fmg-banner :focus-visible,.fmg-saved:focus-visible{outline:3px solid #278eb6;outline-offset:4px}.fmg-dialog button:disabled{opacity:.7;cursor:wait}
html[data-fm-display-mode=dark] .fmg-dialog{background:#251e30;color:#f5ebdf}html[data-fm-display-mode=dark] .fmg-code{background:#352c40!important;color:#fff5e3!important;border-color:#bd9ec9!important}
@media(max-width:400px){.fmg-card{padding:48px 17px 20px}.fmg-banner{margin:14px 10px;padding:22px 16px;border-radius:20px}.fmg-code{font-size:16px!important;letter-spacing:0}.fmg-saved{width:calc(100% - 24px)}}
