html.ad-locked,body.ad-locked{overflow:hidden!important}
body.ad-locked > *:not(#ad-age-gate):not(script):not(style){filter:blur(var(--ad-current-page-blur,var(--ad-page-blur,70px))) saturate(.56) contrast(.42) brightness(.76)!important;transform:scale(1.065)!important;transform-origin:center center;transition:filter 1.15s ease,transform 1.15s ease;pointer-events:none!important}
html:not(.ad-locked) body > *{filter:none;transform:none}
.ad-overlay{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.08);background-size:cover;background-position:center;color:var(--ad-text,#fff);transition:opacity 1s ease,visibility 1s ease;isolation:isolate;pointer-events:auto!important}
.ad-frost-layer{position:absolute;inset:0;z-index:0;pointer-events:none!important;background:linear-gradient(180deg,rgba(245,245,255,.24),rgba(10,10,14,var(--ad-frost-tint,.70)));backdrop-filter:blur(var(--ad-current-frost-blur,var(--ad-frost-blur,70px))) saturate(80%) contrast(38%) brightness(116%);-webkit-backdrop-filter:blur(var(--ad-current-frost-blur,var(--ad-frost-blur,70px))) saturate(80%) contrast(38%) brightness(116%);box-shadow:inset 0 0 160px rgba(0,0,0,.62),inset 0 0 70px rgba(180,92,255,.18);transition:opacity 1.15s ease,backdrop-filter 1.15s ease,-webkit-backdrop-filter 1.15s ease,background 1.15s ease;overflow:hidden}
.ad-frost-layer:before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.34),transparent 12%),radial-gradient(circle at 82% 18%,rgba(255,255,255,.22),transparent 14%),radial-gradient(circle at 50% 82%,rgba(255,255,255,.16),transparent 18%),linear-gradient(115deg,rgba(255,255,255,.32),transparent 18%,rgba(255,255,255,.12) 42%,transparent 58%,rgba(255,255,255,.22) 82%,transparent);opacity:.72;filter:blur(28px);pointer-events:none;mix-blend-mode:screen;animation:adSteamDrift 12s ease-in-out infinite alternate}
.ad-frost-layer:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px),radial-gradient(circle at 12% 24%,rgba(255,255,255,.12),transparent 1.5px),radial-gradient(circle at 44% 66%,rgba(255,255,255,.09),transparent 1.5px),radial-gradient(circle at 80% 38%,rgba(255,255,255,.10),transparent 1.5px);background-size:6px 6px,7px 7px,140px 180px,170px 210px,190px 230px;opacity:.56;filter:blur(.75px);mix-blend-mode:overlay;pointer-events:none}
@keyframes adSteamDrift{from{transform:translate3d(-2%,0,0) scale(1.02);opacity:.60}to{transform:translate3d(2%,-2%,0) scale(1.08);opacity:.82}}
.ad-overlay.ad-frosted-on:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.18),transparent 38%),linear-gradient(180deg,rgba(245,245,255,.22),rgba(10,10,14,.36));backdrop-filter:blur(18px) contrast(.82) brightness(1.05);-webkit-backdrop-filter:blur(18px) contrast(.82) brightness(1.05);opacity:.92;transition:opacity 1s ease,backdrop-filter 1s ease,-webkit-backdrop-filter 1s ease}
.ad-frosted-off{background:rgba(5,5,5,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ad-hide{opacity:0;visibility:hidden;pointer-events:none!important}.ad-hide .ad-frost-layer{opacity:0;background:rgba(255,255,255,0);backdrop-filter:blur(0) saturate(100%) contrast(100%) brightness(100%);-webkit-backdrop-filter:blur(0) saturate(100%) contrast(100%) brightness(100%)}.ad-hide.ad-frosted-on:before{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
.ad-card-public{position:relative;z-index:10;width:min(94vw,620px);background:linear-gradient(180deg,color-mix(in srgb,var(--ad-card-bg,#111) 88%,transparent),color-mix(in srgb,var(--ad-card-bg,#111) 95%,transparent));border:1px solid color-mix(in srgb,var(--ad-accent,#b45cff) 45%,rgba(255,255,255,.25));border-radius:30px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.72),0 0 36px color-mix(in srgb,var(--ad-accent,#b45cff) 32%,transparent),inset 0 1px 0 rgba(255,255,255,.10);text-align:center;overflow:hidden;pointer-events:auto!important}.ad-card-public:before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);opacity:.65}.ad-card-public:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,255,255,.11),transparent 28%,transparent 72%,rgba(255,255,255,.05));pointer-events:none}.ad-logo{max-width:150px;max-height:150px;object-fit:contain;margin:0 auto 12px;display:block}.ad-card-public h1{font-size:clamp(28px,6vw,48px);line-height:1;margin:6px 0 6px;color:var(--ad-text,#fff);text-shadow:0 0 18px rgba(255,255,255,.18)}.ad-card-public h2{font-size:clamp(16px,3vw,22px);margin:0 0 16px;color:var(--ad-accent,#b45cff);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 18px color-mix(in srgb,var(--ad-accent,#b45cff) 60%,transparent)}.ad-disclaimer{font-size:15px;line-height:1.55;opacity:.92;margin:0 auto 20px}.ad-birthday{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:10px;margin:18px 0}.ad-birthday select{width:100%;padding:13px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:#0b0b0f;color:#fff;font-size:16px}.ad-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.ad-actions button{border:0;border-radius:999px;padding:13px 24px;font-weight:800;font-size:15px;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;pointer-events:auto!important;position:relative;z-index:20}.ad-actions button:hover{transform:translateY(-1px);filter:brightness(1.1)}#ad-enter{background:var(--ad-accent,#b45cff);color:#fff;box-shadow:0 0 22px color-mix(in srgb,var(--ad-accent,#b45cff) 38%,transparent)}#ad-exit{background:rgba(255,255,255,.12);color:#fff}.ad-error{color:#ff7a7a;font-weight:800;margin:10px 0}.ad-frosted-on .ad-card-public{backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ad-frost-layer{background:rgba(230,230,238,.28)}}
@media(max-width:520px){.ad-card-public{padding:22px 16px;border-radius:22px}.ad-birthday{grid-template-columns:1fr}.ad-actions button{width:100%}.ad-logo{max-width:120px}}
@media (prefers-reduced-motion:reduce){.ad-frost-layer:before{animation:none!important}.ad-overlay,.ad-frost-layer{transition:none!important}}

/* v0.8.4 Progressive Reveal */
.ad-locks{display:grid;grid-template-columns:1fr;gap:8px;margin:16px auto 20px;max-width:420px;text-align:left}
.ad-lock{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.70);transition:background .35s ease,border-color .35s ease,color .35s ease,box-shadow .35s ease,transform .35s ease}
.ad-lock span{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.28);font-size:13px;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.ad-lock strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ad-lock.ad-unlocked{color:#fff;border-color:color-mix(in srgb,var(--ad-accent,#b45cff) 72%,rgba(255,255,255,.25));background:color-mix(in srgb,var(--ad-accent,#b45cff) 19%,rgba(255,255,255,.06));box-shadow:0 0 18px color-mix(in srgb,var(--ad-accent,#b45cff) 26%,transparent);transform:translateY(-1px)}
.ad-lock.ad-unlocked span{background:var(--ad-accent,#b45cff);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.ad-step-panel{animation:adStepIn .32s ease both;margin-top:8px}
.ad-step-panel[hidden]{display:none!important}
@keyframes adStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ad-prompt{font-size:18px;line-height:1.45;margin:8px auto 18px;max-width:520px;color:rgba(255,255,255,.94)}
#ad-confirm-age,#ad-verify-dob{background:var(--ad-accent,#b45cff);color:#fff;box-shadow:0 0 22px color-mix(in srgb,var(--ad-accent,#b45cff) 38%,transparent)}
.ad-legal-check{display:flex;align-items:flex-start;gap:12px;text-align:left;max-width:550px;margin:10px auto 10px;padding:15px;border-radius:18px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.15);line-height:1.5;color:rgba(255,255,255,.92)}
.ad-legal-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--ad-accent,#b45cff);flex:0 0 auto}
.ad-status{margin:8px 0 16px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.68)}
#ad-enter:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35);box-shadow:none!important;transform:none!important}
#ad-enter.ad-ready{animation:adReadyPulse 1.7s ease-in-out infinite;opacity:1}
@keyframes adReadyPulse{0%,100%{box-shadow:0 0 20px color-mix(in srgb,var(--ad-accent,#b45cff) 35%,transparent)}50%{box-shadow:0 0 34px color-mix(in srgb,var(--ad-accent,#b45cff) 68%,transparent)}}
.ad-access-granted .ad-card-public{transform:scale(.985);opacity:.88;transition:transform .5s ease,opacity .5s ease}
.ad-access-granted .ad-frost-layer{opacity:.18!important}
@media(min-width:680px){.ad-locks{grid-template-columns:repeat(3,1fr);max-width:570px}.ad-lock{justify-content:center;text-align:center;flex-direction:column;gap:6px}.ad-lock strong{font-size:11px}.ad-lock span{width:28px;height:28px}}
@media(max-width:520px){.ad-locks{gap:7px;margin-bottom:14px}.ad-lock{padding:8px 10px}.ad-prompt{font-size:16px}.ad-legal-check{font-size:14px}}

/* v0.8.4b progressive blur fix */
#ad-age-gate[data-reveal="0.55"] .ad-frost-layer{opacity:.82!important}
#ad-age-gate[data-reveal="0.25"] .ad-frost-layer{opacity:.58!important}
#ad-age-gate[data-reveal="0.06"] .ad-frost-layer{opacity:.30!important}
#ad-age-gate[data-reveal="0.55"]:before{opacity:.72!important}
#ad-age-gate[data-reveal="0.25"]:before{opacity:.46!important}
#ad-age-gate[data-reveal="0.06"]:before{opacity:.18!important}

/* v0.8.5 Progressive Wizard */
#ad-age-gate[data-reveal="0.70"] .ad-frost-layer{opacity:.86!important}
#ad-age-gate[data-reveal="0.35"] .ad-frost-layer{opacity:.62!important}
#ad-age-gate[data-reveal="0.10"] .ad-frost-layer{opacity:.34!important}
#ad-age-gate[data-reveal="0.70"]:before{opacity:.76!important}
#ad-age-gate[data-reveal="0.35"]:before{opacity:.50!important}
#ad-age-gate[data-reveal="0.10"]:before{opacity:.22!important}
.ad-step-panel h2{margin-top:4px;margin-bottom:14px}
.ad-prompt-strong{font-weight:800;color:#fff}
.ad-step-panel{min-height:185px;display:flex;flex-direction:column;justify-content:center}
.ad-step-panel[hidden]{display:none!important}
.ad-final-locks{margin-top:6px;margin-bottom:18px}
#ad-legal-continue{background:var(--ad-accent,#b45cff);color:#fff;box-shadow:0 0 22px color-mix(in srgb,var(--ad-accent,#b45cff) 38%,transparent)}
#ad-legal-continue:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35);box-shadow:none!important;transform:none!important}
#ad-legal-continue.ad-ready{animation:adReadyPulse 1.7s ease-in-out infinite;opacity:1}
.ad-step-4 .ad-card-public{box-shadow:0 24px 80px rgba(0,0,0,.72),0 0 46px color-mix(in srgb,var(--ad-accent,#b45cff) 48%,transparent),inset 0 1px 0 rgba(255,255,255,.12)}
.ad-step-4 h2{font-size:clamp(22px,5vw,34px);letter-spacing:.12em}
