.hansify-dialog{margin:auto;color:#f1f5ff;background:#080c18;border:1px solid #8cb9f43d;border-radius:24px;padding:0;width:min(1120px,calc(100vw - 32px));max-width:none;max-height:94dvh;box-shadow:0 0 100px #478afa25;overflow:auto;overscroll-behavior:contain;font-family:"Space Grotesk",sans-serif}
.hansify-dialog::backdrop{background:#02040dcc;backdrop-filter:blur(12px)}
body:has(.hansify-dialog[open]){overflow:hidden}
.hf-header{display:flex;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid #8cb9f425;position:sticky;top:0;z-index:2;background:#080c18f5;backdrop-filter:blur(10px)}
.hf-eyebrow{color:#a8d5ff;letter-spacing:.16em;font-size:10px;font-weight:700}
.hf-header h2{font-family:"Unbounded",sans-serif;font-size:20px;line-height:1.5;margin:8px 0 0;letter-spacing:-.04em}
.hf-reward{margin-left:auto;white-space:nowrap;background:#85bfff14;border:1px solid #85bfff50;color:#bfdeff;border-radius:99px;padding:10px 16px;font-weight:700;font-size:14px}
.hf-close{background:#ffffff08;color:#cddcf4;border:1px solid #ffffff20;border-radius:50%;width:38px;height:38px;flex-shrink:0;cursor:pointer}
.hf-body iframe{display:block;width:100%;height:740px;border:0;color-scheme:dark}
.hf-footer{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 28px;background:#0c1223;border-top:1px solid #8cb9f425;color:#a7b9d6;font-size:12px;text-align:center;flex-wrap:wrap}
.hf-footer p{margin:0;line-height:1.6}.hf-footer a{color:#bbdcff}
.hf-message{min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px 28px;text-align:center;gap:22px}
.hf-message p{max-width:580px;line-height:1.8;color:#c4d2e8;margin:0}
.hf-action{border:1px solid #a2caff;background:#b5d6ff;color:#111e34;border-radius:12px;padding:12px 22px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;min-height:44px}
.hf-action:hover{background:#d1e6ff;box-shadow:0 0 24px #6cafff33}
.hf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.hf-action-ghost{background:#ffffff08;border-color:#ffffff33;color:#d7e6fb}
.hf-action-ghost:hover{background:#ffffff14;box-shadow:none}
.hf-action[disabled]{opacity:.5;cursor:progress}
.hf-action:focus-visible,.hf-close:focus-visible{outline:2px solid #b1d5ff;outline-offset:4px}
.hf-success{min-height:430px;background:radial-gradient(ellipse at center,#5089ed26,transparent 68%);animation:hf-arrive .55s cubic-bezier(.2,.8,.2,1)}
.hf-success>p:first-child{font-size:clamp(27px,5vw,46px);font-weight:700;color:#c3e2ff;text-shadow:0 0 30px #66b1ff77;letter-spacing:-.04em}
.hf-success .hf-success-note{font-size:14px;max-width:360px}
@keyframes hf-arrive{from{opacity:.3;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.hansify-dialog{width:calc(100vw - 16px);border-radius:18px}.hf-header{padding:17px 16px;gap:10px}.hf-header h2{font-size:14px}.hf-eyebrow{font-size:9px}.hf-reward{padding:7px 10px;font-size:11px}.hf-close{width:32px;height:32px}.hf-footer{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.hf-success{animation:none}}
/* Thumbs: the close button is a 44px target on touch screens, at every width (after the phone rule above). */
@media (pointer:coarse){.hf-close{width:44px;height:44px}}
