*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#180817;color:#fff;font-family:Montserrat,sans-serif}button,input{font:inherit}button{cursor:pointer}
#boot{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:11px;background:radial-gradient(circle at 50% 42%,#5e2748,#190817 60%,#09030a);transition:opacity .8s,visibility .8s}.boot-orb{width:64px;height:64px;border-radius:50%;border:1px solid #fff6;border-top-color:#fff;box-shadow:0 0 45px #ffacd477;animation:spin 1s linear infinite}.boot-brand{font:600 23px "Cormorant Garamond";letter-spacing:5px}.boot-sub,.boot-status{font-size:8px;letter-spacing:3px;text-transform:uppercase;opacity:.65}.boot-track{width:min(250px,65vw);height:2px;background:#fff3}.boot-track i{display:block;width:0;height:100%;background:#fff;box-shadow:0 0 10px #fff;transition:width .3s}@keyframes spin{to{transform:rotate(360deg)}}
#app{position:fixed;inset:0;overflow:hidden}.grain,.shade,#stars{position:absolute;inset:0;pointer-events:none}.grain{z-index:50;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.shade{z-index:30;background:radial-gradient(circle at 50% 45%,transparent 26%,rgba(17,1,15,.22) 100%)}#stars{z-index:31}
.login{position:absolute;inset:0;z-index:100;display:grid;place-items:center}.login-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,#230a1b22,#10020eaa),url("assets/fallback.jpg");background-size:cover;background-position:center;filter:saturate(1.08)}.login-card{position:relative;z-index:2;width:min(92%,450px);padding:35px 25px 27px;text-align:center;border:1px solid #fff5;border-radius:28px;background:#35142d66;backdrop-filter:blur(16px);box-shadow:0 30px 100px #09000799}.crown{font-size:28px;color:#ffe8b2}.logo{font:600 26px "Cormorant Garamond";letter-spacing:5px}.sublogo{font-size:8px;letter-spacing:4px;opacity:.75}.rule{width:100px;height:1px;background:#fff8;margin:14px auto}.kicker{font-size:9px;letter-spacing:3px;text-transform:uppercase;opacity:.82}.login h1{font:500 62px/.85 "Great Vibes";margin:20px 0;text-shadow:0 8px 30px #0008}.login h1 em{font-style:normal;color:#ffd3e7}.login p{font:400 18px/1.6 "Cormorant Garamond";margin:0 0 18px}.code-label{display:block;font-size:9px;letter-spacing:3px;margin-top:18px}.digits{display:flex;justify-content:center;gap:9px;margin:11px 0}.digits input{width:48px;height:55px;border:1px solid #fff7;border-radius:13px;background:#fff1;color:#fff;text-align:center;font-size:23px;outline:0}.pill{border:1px solid #fff9;border-radius:999px;color:#fff;background:linear-gradient(135deg,#f4a8cddd,#ad3675dd);padding:13px 24px;box-shadow:0 14px 40px #c23d7850,inset 0 1px #fff8;transition:.3s}.pill:hover{transform:translateY(-3px);box-shadow:0 18px 50px #ef71ab70}.pill span{margin-left:10px}.login small{display:block;font-size:8px;letter-spacing:3px;opacity:.5;margin-top:14px}#error{height:18px;margin-top:8px;font-size:10px;color:#ffd0e2;opacity:0;transition:.3s}#error.show{opacity:1}
.nav{position:absolute;z-index:60;top:14px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;text-shadow:0 3px 15px #0009}.brand-mini{font:600 15px "Cormorant Garamond";letter-spacing:2px}.brand-mini b{color:#ffe5a5;margin-right:6px}.brand-mini small{display:block;font:7px Montserrat;letter-spacing:3px;opacity:.7;margin-left:21px}.counter{font-size:9px;letter-spacing:2px}.circle{width:38px;height:38px;border-radius:50%;border:1px solid #fff6;background:#fff1;color:#fff}.loadline{position:absolute;z-index:65;top:61px;left:18px;right:18px;height:2px;background:#fff3}.loadline i{display:block;height:100%;width:8.33%;background:#fff;box-shadow:0 0 15px #fff;transition:width .7s}.dots{position:absolute;z-index:65;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.dots b{width:6px;height:6px;border:1px solid #fff9;border-radius:50%;transition:.3s}.dots b.on{background:#fff;transform:scale(1.7)}
.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .75s,transform 1.1s,visibility .75s}.scene.active{opacity:1;visibility:visible;transform:scale(1)}.bg{position:absolute;inset:-3%;background-image:url("assets/fallback.jpg");background-size:cover;background-position:center;filter:saturate(1.03) contrast(1.03);transform:scale(1.01);transition:transform 9s ease}.scene.active .bg{transform:scale(1.075)}.pinkwash{position:absolute;inset:0;background:linear-gradient(120deg,rgba(110,26,83,.42),rgba(255,160,198,.16) 46%,rgba(18,4,25,.46)),linear-gradient(180deg,rgba(8,0,10,.18),rgba(8,0,12,.58));z-index:2}.copy{position:absolute;z-index:10;max-width:600px;padding:20px 26px}.copy.left{left:4%;top:26%}.copy.right{right:4%;top:26%;text-align:right}.copy.center{left:50%;top:55%;transform:translate(-50%,-50%);width:min(92%,720px);text-align:center}.copy.center.top{top:21%}.copy h2{font:500 clamp(48px,7vw,86px)/.87 "Great Vibes";margin:16px 0;text-shadow:0 6px 30px #210017aa}.copy h2 em{font-style:normal;color:#ffd3e8}.copy p{font:400 19px/1.6 "Cormorant Garamond";text-shadow:0 3px 18px #16000f99}.pass{position:absolute;z-index:12;right:8%;bottom:13%;width:270px;padding:20px;border:1px solid #fff6;border-radius:25px;background:linear-gradient(145deg,#fff3,#160a176e);backdrop-filter:blur(13px);transform:rotate(4deg);box-shadow:0 25px 70px #12000f99}.pass span{font:600 14px "Cormorant Garamond";letter-spacing:3px}.pass strong{display:block;font:600 27px "Cormorant Garamond";margin:6px 0}.pass small{letter-spacing:4px}.pass hr{border:0;border-top:1px solid #fff5;margin:12px 0}.pass b{display:block;font-size:8px;letter-spacing:3px;margin-top:7px}.barcode{height:38px;margin-top:13px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px);opacity:.8}
.jet-wrap{position:absolute;z-index:5;left:50%;top:58%;width:min(105vw,1000px);transform:translate(-50%,-50%);filter:drop-shadow(0 30px 45px #21001b99);animation:jetfloat 5s ease-in-out infinite}.jet-wrap img{width:100%;display:block;mix-blend-mode:screen;opacity:.94}.jet .pinkwash{background:linear-gradient(120deg,rgba(103,21,76,.34),rgba(255,155,194,.1),rgba(11,0,17,.54))}@keyframes jetfloat{50%{transform:translate(-50%,-54%) rotate(.4deg)}}
.letter-card{position:absolute;z-index:12;left:50%;top:53%;transform:translate(-50%,-50%) rotate(-1deg);width:min(90%,520px);padding:36px 25px;text-align:center;color:#52213d;background:linear-gradient(145deg,#fff9,#ffd8e9d9);border:1px solid #fff;border-radius:28px;box-shadow:0 30px 90px #1a001455}.letter-card .kicker{color:#7d315b}.letter-card h2{font:500 70px "Great Vibes";color:#922e65;margin:10px}.letter-card p{font:400 29px/1.3 "Cormorant Garamond";margin:5px}.signature{font:500 24px "Great Vibes";margin:20px}.endmark{font-size:8px;letter-spacing:4px;margin-top:35px;opacity:.7}
@keyframes shake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}.shake{animation:shake .4s}.hide{opacity:0!important;visibility:hidden!important}
@media(max-width:700px){.nav{top:10px}.loadline{top:55px}.counter{display:none}.brand-mini{font-size:13px}.copy.left,.copy.right{left:4%;right:4%;top:22%;text-align:center}.copy.center{top:55%}.copy.center.top{top:18%}.copy h2{font-size:53px}.copy p{font-size:18px}.pass{right:50%;bottom:11%;transform:translateX(50%) rotate(2deg);width:245px}.jet-wrap{width:116vw;top:60%}.letter-card{top:52%;padding:30px 19px}.letter-card h2{font-size:63px}.letter-card p{font-size:25px}.dots{bottom:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
