/* The midnight curtain — deliberately independent from the birthday site's styles. */
body.birthday-locked{overflow:hidden!important}
.birthday-gate,.birthday-film{position:fixed;inset:0;z-index:25000;color:#ffefe7;overflow:hidden;isolation:isolate}
.birthday-gate{background:radial-gradient(ellipse at 49% 34%,#3b2247 0%,#20132f 49%,#0d0b1c 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:opacity 1.2s ease,visibility 1.2s ease}
.birthday-gate.gate-leaving{opacity:0;visibility:hidden;pointer-events:none}
.gate-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fee3d6 1px,transparent 1px),radial-gradient(circle,#fff6e7 .7px,transparent .7px);background-size:83px 97px,153px 149px;background-position:16px 33px,75px 89px;opacity:.18;animation:gate-twinkle 8s ease-in-out infinite alternate}
.gate-atmosphere{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.42;animation:gate-drift 12s ease-in-out infinite alternate}
.gate-atmosphere-one{width:480px;height:420px;top:0;left:-10%;background:#933d82}
.gate-atmosphere-two{width:600px;height:380px;bottom:-30%;right:-12%;background:#8155b0;animation-delay:-5s}
.gate-topline,.gate-bottom{position:absolute;left:clamp(24px,5vw,90px);right:clamp(24px,5vw,90px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;font:600 10px/1.3 'Manrope',sans-serif;letter-spacing:.18em;color:#d7c2d8}
.gate-topline{top:clamp(22px,5vh,46px)}.gate-bottom{bottom:clamp(24px,5vh,43px);font-size:9px;color:#ad96b3}.gate-bottom span:last-child{font-variant-numeric:tabular-nums}.gate-logo{font-size:13px;color:#fff7ee;letter-spacing:.15em}.gate-logo span{color:#eabf8e;font-size:21px;vertical-align:middle;margin-right:7px}.gate-top-right span{color:#f3ce98;padding:0 7px}
.gate-castle{position:absolute;width:min(850px,91vw);height:auto;bottom:-37%;right:-11%;opacity:.13;filter:saturate(.55) blur(1px);transform:rotate(-9deg);pointer-events:none;mix-blend-mode:screen}
.gate-content{position:relative;z-index:3;width:min(1040px,calc(100% - 38px));padding:90px 0 95px}
.gate-overline{font:600 10px 'Manrope',sans-serif;letter-spacing:.25em;color:#e5bda3;display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:27px}.gate-overline i{display:block;width:40px;height:1px;background:linear-gradient(90deg,transparent,#d9b394)}.gate-overline i:last-child{transform:rotate(180deg)}
.gate-roman{font:500 11px 'Manrope',sans-serif;letter-spacing:.27em;color:#d2abc4;margin-bottom:15px}.gate-roman span{font-size:17px;color:#ffdbab;letter-spacing:.06em;margin-left:5px}
.gate-content h1{font:500 clamp(42px,5.6vw,84px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:0 0 25px;color:#ffefe8;text-wrap:balance;text-shadow:0 10px 60px #2e1737}
.gate-content h1 em{font-weight:400;color:#ffd3d9}.gate-subtitle{font:400 clamp(12px,1.15vw,15px)/1.9 'Manrope',sans-serif;color:#cbb4cc;margin:0 0 clamp(33px,5.5vh,65px)}
.countdown-clock{display:flex;align-items:center;justify-content:center;gap:clamp(5px,1vw,15px);font-variant-numeric:tabular-nums}
.count-cell{position:relative;width:clamp(70px,11.5vw,155px);height:clamp(97px,14.5vw,176px);border:1px solid #ead1ee38;border-radius:17px;background:linear-gradient(150deg,#ffffff10,#eab4df08);box-shadow:inset 0 1px 1px #ffe2f026,0 18px 55px #0c081424;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px}
.count-cell:before{content:'';position:absolute;top:0;left:25%;right:25%;height:1px;background:linear-gradient(90deg,transparent,#ffd5b0a6,transparent)}
.count-cell strong{font:400 clamp(39px,7.2vw,92px)/1 'Playfair Display',Georgia,serif;color:#fff6f1;letter-spacing:-.06em;text-shadow:0 0 35px #ffb1d638}
.count-cell small{font:600 clamp(7px,.78vw,10px)/1.2 'Manrope',sans-serif;letter-spacing:.2em;color:#d1b8d0}
.count-separator{font:300 clamp(23px,4vw,52px)/1 Georgia,serif;color:#bd95aa;transform:translateY(-10px);opacity:.75;animation:gate-separator 1.8s ease-in-out infinite}
.gate-waiting{margin-top:29px;font:500 11px/1.8 'Manrope',sans-serif;color:#e8c4d1;letter-spacing:.06em}.gate-waiting-spark{color:#f5d5a5;padding:0 10px;font-size:16px}.gate-mini-rule{width:45px;height:1px;margin:27px auto 20px;background:#d9bdc752}.gate-footer-line{font:italic 16px/1.6 'Playfair Display',serif;color:#d8b5c8}.gate-footer-line span{color:#ffced2}
.gate-tests{position:relative;margin:24px auto -45px;padding:16px 18px 11px;width:min(720px,100%);background:#0e0b1ba8;border:1px solid #ffd6d33d;border-radius:15px;backdrop-filter:blur(15px)}
.gate-test-label{font:700 10px 'Manrope',sans-serif;letter-spacing:.14em;color:#ffd5a4;margin-bottom:13px}.gate-test-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.gate-test-buttons button,.film-btn{border:1px solid #ffe5e270;border-radius:100px;background:#ffe1cc;color:#3c243e;cursor:pointer;padding:11px 15px;font:700 11px/1.3 'Manrope',sans-serif;transition:transform .2s,background .2s}.gate-test-buttons button:hover,.film-btn:hover{background:#fff3e7;transform:translateY(-2px)}.gate-test-buttons button:focus-visible,.film-btn:focus-visible,.film-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}.gate-test-status{font:400 10px/1.6 'Manrope',sans-serif;color:#e0c7da;margin:10px 0 0}
.birthday-film{display:flex;align-items:center;justify-content:center;background:#100a1c}.birthday-film[hidden]{display:none!important}.birthday-video{width:100%;height:100%;object-fit:contain;background:#070510}.film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#05030c8f,transparent 20%,transparent 77%,#05030dc4);z-index:1}.birthday-film-header{position:absolute;left:clamp(24px,5vw,90px);right:clamp(24px,5vw,90px);top:clamp(20px,5vh,45px);z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#f5dedc;font:700 10px 'Manrope',sans-serif;letter-spacing:.18em}.film-loader,.film-error,.film-message{position:absolute;z-index:5;max-width:480px;text-align:center;padding:30px 25px;color:#fff1ee;background:#17101eab;border:1px solid #ffffff26;border-radius:20px;backdrop-filter:blur(20px)}.film-loader{background:transparent;border:0}.film-loader-star{font-size:65px;color:#ffcfb1;display:block;animation:gate-twinkle 1.4s ease-in-out infinite alternate}.film-loader p{font:italic 23px Georgia,serif}.film-error span{font-size:44px;color:#ffd9ac}.film-error h2,.film-message h2{font:400 30px Georgia,serif;margin:12px 0}.film-error p,.film-message p{font:400 13px/1.7 'Manrope',sans-serif;color:#decddd;margin:0 0 21px}.film-error b{color:#fff0e0}.film-controls{position:absolute;z-index:6;bottom:clamp(32px,7vh,72px);left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:12px}.film-controls button{color:#fff5f1;background:#181020ad;border:1px solid #ffe7e17a;backdrop-filter:blur(12px);border-radius:100px;padding:12px 21px;font:600 12px 'Manrope',sans-serif;cursor:pointer;transition:background .2s}.film-controls button:hover{background:#4a2d4dbd}.film-controls button span:first-child{font-size:16px;margin-right:5px}.film-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff24;z-index:5}.film-progress>div{height:100%;width:0;background:linear-gradient(90deg,#fbcdaa,#ffb4d9);transition:width .13s linear}
.film-fadeout{position:absolute;inset:0;z-index:9;background:#000;opacity:0;transition:opacity 1.8s ease;pointer-events:none}
.film-fadeout[hidden]{display:none!important}
.film-fadeout.film-fadeout-live{opacity:1}
.birthday-film.film-veiled{background:#000}
.birthday-film.film-veiled .birthday-film-header,.birthday-film.film-veiled .film-controls,.birthday-film.film-veiled .film-progress,.birthday-film.film-veiled .film-shade,.birthday-film.film-veiled video{opacity:0;transition:opacity 1.8s ease;pointer-events:none}
@media(prefers-reduced-motion:reduce){.film-fadeout,.birthday-film.film-veiled .birthday-film-header,.birthday-film.film-veiled .film-controls,.birthday-film.film-veiled .film-progress,.birthday-film.film-veiled .film-shade,.birthday-film.film-veiled video{transition:none}}
@keyframes gate-twinkle{from{opacity:.3}to{opacity:.82}}@keyframes gate-drift{from{transform:translate(-30px,-12px) scale(.95)}to{transform:translate(30px,25px) scale(1.1)}}@keyframes gate-separator{50%{opacity:.22}}
@media(max-height:780px){.gate-content{padding:50px 0 45px}.gate-subtitle{margin-bottom:25px}.gate-content h1{font-size:clamp(37px,4.6vw,70px);margin-bottom:17px}.gate-overline{margin-bottom:12px}.gate-roman{margin-bottom:8px}.count-cell{height:clamp(90px,12vw,137px)}.gate-waiting{margin-top:15px}.gate-mini-rule{margin:13px auto 10px}.gate-tests{margin:12px auto 0}}
@media(max-width:660px){.gate-top-right{font-size:8px;letter-spacing:.08em}.gate-logo{font-size:10px}.gate-logo span{font-size:16px}.gate-content{padding:55px 0}.gate-overline{font-size:8px;letter-spacing:.14em}.gate-overline i{width:18px}.gate-content h1{font-size:clamp(39px,9vw,61px);margin-bottom:17px}.gate-subtitle{font-size:11px;line-height:1.8;margin-bottom:30px}.gate-subtitle br{display:none}.count-cell{width:clamp(62px,17vw,105px);height:clamp(93px,24vw,145px);gap:14px;border-radius:13px}.count-cell strong{font-size:clamp(37px,10vw,66px)}.count-cell small{font-size:7px;letter-spacing:.12em}.count-separator{font-size:25px;transform:translateY(-11px)}.countdown-clock{gap:4px}.gate-footer-line{font-size:13px}.gate-waiting{font-size:10px;margin-top:26px}.gate-waiting-spark{padding:0 2px}.gate-bottom{font-size:8px;letter-spacing:.05em}.birthday-film-header{font-size:8px;letter-spacing:.08em}.film-controls{left:12px;right:12px;bottom:25px}.film-controls button{font-size:11px;padding:11px 13px}.gate-tests{margin:21px auto 0;padding:12px 9px}.gate-test-buttons button{font-size:10px;padding:9px 11px}}
@media(max-width:375px){.count-cell{width:56px;height:88px}.count-cell strong{font-size:36px}.count-separator{font-size:22px}.gate-content h1{font-size:37px}.gate-top-right{display:none}}
@media(prefers-reduced-motion:reduce){.gate-stars,.gate-atmosphere,.count-separator,.film-loader-star{animation:none}.birthday-gate{transition:none}}
