html:has(.pass-reveal-page){height:100%;background:#17372e}
body.pass-reveal-page{margin:0;min-height:100svh;background:#17372e;color:#f4faed;overflow-x:hidden}
.pass-reveal-page .pass-fullscreen{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;max-width:none;width:100%;padding:40px 24px;box-sizing:border-box;overflow:hidden;background:radial-gradient(ellipse at 15% 20%,#6a94735c,transparent 60%),radial-gradient(ellipse at 85% 80%,#8baf7859,transparent 55%),linear-gradient(125deg,#173a30,#294e42 55%,#173c30)}
.curtain-light{position:absolute;inset:-15%;z-index:-2;background:radial-gradient(ellipse at 30% 25%,#b6d9ac66,transparent 45%),radial-gradient(ellipse at 75% 75%,#8bc3ac55,transparent 45%);filter:blur(65px)}
.curtain-folds{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,#041d2530 0%,#d8f4dd12 4%,#efffe323 6%,#15392b20 10%,#041d252b 14%);box-shadow:inset 0 0 160px #041c254a;filter:blur(13px);transform:scale(1.06)}
.pass-reveal-content{display:flex;align-items:center;flex-direction:column;text-align:center;width:100%;padding:50px 16px;box-sizing:border-box}
.pass-logo{display:inline-flex;border-radius:23px;box-shadow:0 18px 55px #031b2333;transition:transform .2s ease}.pass-logo:hover{transform:translateY(-3px)}.pass-logo:focus-visible{outline:3px solid #dcf6b1;outline-offset:8px}.pass-logo img{display:block;width:72px;height:72px}
.pass-reveal-content h1{font:550 clamp(72px,12vw,150px)/1.05 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.065em;margin:30px 0 38px;color:#f1f8e9}
.reveal-glass{display:inline-flex;align-items:center;justify-content:center;min-height:84px;margin:0;padding:18px 42px;box-sizing:border-box;border-radius:28px;border:1px solid #f1ffed70;background:linear-gradient(140deg,#f8fff433,#e7f8e80b 50%,#e9ffe92a);-webkit-backdrop-filter:blur(30px) saturate(145%);backdrop-filter:blur(30px) saturate(145%);box-shadow:inset 0 1px 1px #ffffffa1,inset 0 -1px 1px #ffffff30,0 20px 65px #051b2638;font:500 clamp(25px,4.2vw,38px)/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.035em;color:#eff9e8}
@supports(background-clip:text){.reveal-glass span{background:linear-gradient(135deg,#ffffffed,#e1f0dbaa 55%,#ffffffd9);-webkit-background-clip:text;background-clip:text;color:transparent}}
@media(max-width:600px){.pass-reveal-content h1{margin:27px 0 32px}.reveal-glass{padding:18px 30px;min-height:74px;border-radius:25px}.pass-logo img{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.pass-logo{transition:none}}
@media(prefers-reduced-transparency:reduce){.reveal-glass{background:#496d58}.reveal-glass span{background:none;color:#fff}}
@media(forced-colors:active){.reveal-glass{border:1px solid CanvasText}.reveal-glass span{background:none;color:CanvasText}}
/* A clear way out, with quiet movement behind the frosted curtain. */
.pass-back{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:11px 18px;box-sizing:border-box;border:1px solid #efffe33d;border-radius:50px;background:#e8f5e50e;color:#edf6e6;font:500 14px/1.4 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .2s,border-color .2s}.pass-back:hover{background:#e8f5e525;border-color:#efffe377}.pass-back:focus-visible{outline:3px solid #dcf6b1;outline-offset:5px}
.curtain-light{animation:curtain-glow-drift 22s ease-in-out infinite alternate;will-change:transform}
.curtain-light:before,.curtain-light:after{content:"";position:absolute;width:55%;height:65%;border-radius:50%;background:radial-gradient(ellipse,#b8d98580,transparent 68%);left:0;top:0;animation:curtain-orbit 27s ease-in-out infinite alternate}
.curtain-light:after{left:auto;top:auto;right:0;bottom:0;background:radial-gradient(ellipse,#77c9b580,transparent 68%);animation-direction:alternate-reverse;animation-duration:19s}
.curtain-folds{animation:curtain-breathe 17s ease-in-out infinite alternate}
@keyframes curtain-glow-drift{0%{transform:translate(-4%,-3%) scale(1.02)}50%{transform:translate(4%,2%) scale(1.09)}100%{transform:translate(1%,5%) scale(1.03)}}
@keyframes curtain-orbit{from{transform:translate(-12%,-5%) scale(.9)}to{transform:translate(55%,35%) scale(1.2)}}
@keyframes curtain-breathe{from{transform:translateX(-1.5%) scale(1.08);opacity:.72}to{transform:translateX(1.5%) scale(1.08);opacity:1}}
@media(max-width:600px){.pass-back{top:max(18px,env(safe-area-inset-top));left:18px;font-size:13px;padding:10px 15px}.pass-reveal-content{padding-top:90px}}
@media(prefers-reduced-motion:reduce){.curtain-light,.curtain-light:before,.curtain-light:after,.curtain-folds{animation:none;will-change:auto}.pass-back{transition:none}}
