.login-page{color:#fff7ee;background:radial-gradient(circle at 12% 18%,#ffa84c33,#0000 28%),radial-gradient(circle at 84% 14%,#ff56972e,#0000 24%),radial-gradient(circle at 50% 72%,#ffd69414,#0000 30%),linear-gradient(155deg,#06070b 0%,#0d0c15 44%,#120918 100%);justify-content:center;align-items:center;min-height:100vh;padding:clamp(20px,4vw,48px);display:flex;position:relative;overflow:hidden}.login-page__aurora,.login-page__grain,.login-page__grid{pointer-events:none;position:absolute;inset:0}.login-page__aurora{filter:blur(10px);background:radial-gradient(circle at 34% 38%,#fff4e314,#0000 22%),radial-gradient(circle at 66% 64%,#ff70951f,#0000 18%);animation:16s ease-in-out infinite alternate auroraDrift}.login-page__grain{opacity:.18;background-image:radial-gradient(circle at 1px 1px,#ffffff1f .75px,#0000 0),radial-gradient(circle at 2px 2px,#ffbc8614 .75px,#0000 0);background-size:26px 26px,42px 42px}.login-page__grid{opacity:.38;background-color:#0000;background-image:linear-gradient(90deg,#ffffff07 1px,#0000 1px),linear-gradient(0deg,#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:min(10vw,110px) min(10vw,110px);background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:radial-gradient(circle,#000000f5,#0000 98%);mask-image:radial-gradient(circle,#000000f5,#0000 98%)}.login-hero{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:clamp(18px,2.8vw,28px);width:min(1160px,100%);display:flex;position:relative}.login-logoWrap{aspect-ratio:1;place-items:center;width:clamp(92px,10vw,122px);animation:6.6s ease-in-out infinite logoFloat;display:grid;position:relative}.login-logoHalo{filter:blur(22px);background:radial-gradient(circle,#ffaf5c66,#ff4a972e 54%,#0000 74%);border-radius:999px;animation:4.8s ease-in-out infinite haloPulse;position:absolute;inset:12%}.login-logo{object-fit:contain;filter:drop-shadow(0 20px 28px #00000047);width:100%;height:100%;animation:.8s cubic-bezier(.2,.9,.24,1.18) 40ms both logoEnter;position:relative}.login-wordmark{white-space:nowrap;letter-spacing:0;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(.024em,.58vw,.082em);width:100%;max-width:min(100vw - 28px,1180px);margin:0;padding:.46em .32em .58em;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(3.05rem,8.8vw,7.35rem);font-weight:900;line-height:1.2;display:flex;overflow:visible}.login-letter{opacity:0;transform-origin:50% 100%;transform:translate3d(var(--letter-from-x), var(--letter-from-y), 0) scale(var(--letter-scale-x), var(--letter-scale-y)) rotate(var(--letter-rotate));color:#0000;text-shadow:0 18px 38px #0003,0 0 22px #ff7e8f1f;filter:blur(12px);will-change:transform, filter, opacity;animation-duration:var(--letter-duration), 4.8s;animation-delay:var(--letter-delay), calc(var(--letter-delay) + 1.58s);background-image:linear-gradient(#fff9ee 0%,#ffe0b4 36%,#ffaf93 64%,#ff4f9a 100%);-webkit-background-clip:text;background-clip:text;animation-timing-function:cubic-bezier(.18,.88,.24,1.24),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:forwards,none;display:inline-block;position:relative;overflow:visible}.login-letter:after{content:attr(data-letter);color:#fff4e733;filter:blur(16px);opacity:0;transform:translate3d(calc(var(--letter-from-x) * .36), calc(var(--letter-from-y) * .36), 0) scale(.86);animation:letterGlowTrail calc(var(--letter-duration) + .12s) var(--letter-delay) ease-out forwards;pointer-events:none;position:absolute;inset:0}.login-letter--twirl{animation-name:letterTwirlIn,letterIdleDrift}.login-letter--swoop{animation-name:letterSwoopIn,letterIdleDrift}.login-letter--pop{animation-name:letterPopIn,letterIdleDrift}.login-slogan{max-width:min(100vw - 24px,1040px);font-family:"Cormorant Garamond", var(--font-brand);letter-spacing:.04em;color:#ffefddeb;white-space:nowrap;opacity:0;margin:0;font-size:clamp(.52rem,1.7vw,1.18rem);font-style:italic;font-weight:600;line-height:1.18;animation:.8s ease-out .92s forwards revealUp;transform:translateY(20px)}.login-actions{opacity:0;justify-content:center;align-items:center;margin-top:4px;animation:.84s ease-out 1.06s forwards revealUp;display:flex;transform:translateY(18px)}.login-error{z-index:2;color:#b94726;background:#fff8f3b8;border:1px solid #ff6f5047;border-radius:999px;max-width:min(420px,86vw);margin:14px auto 0;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.5;position:relative;box-shadow:0 12px 34px #ff6f5021}.login-enter{color:#fff8ef;background:linear-gradient(130deg,#ffffff17,#ffffff05),linear-gradient(135deg,#ffc68e29,#ff4f9a29);border:1px solid #fff2e133;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:150px;min-height:46px;padding:0 18px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 22px 40px #00000042,inset 0 1px #ffffff24}.login-enter:before{content:"";background:linear-gradient(120deg,#0000 14%,#ffffff29 50%,#0000 82%);transition:transform .36s;position:absolute;inset:0;transform:translate(-74%)}.login-enter:hover{border-color:#ffddb857;transform:translateY(-3px)scale(1.015);box-shadow:0 28px 52px #00000047,inset 0 1px #ffffff2e}.login-enter:hover:before{transform:translate(74%)}.login-enter:active{transform:translateY(-1px)}.login-enter:focus-visible{outline-offset:4px;outline:2px solid #ffddbdc2}.login-enter__glow{filter:blur(10px);background:radial-gradient(circle,#ff6d9642,#0000 74%);border-radius:999px;height:12px;position:absolute;bottom:10px;left:24px;right:24px}.login-enter__text,.login-enter__arrow{z-index:1;position:relative}.login-enter__text{font-family:"Hanken Grotesk", var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.login-enter__arrow{justify-content:center;align-items:center;transition:transform .18s;display:inline-flex}.login-enter:hover .login-enter__arrow{transform:translate(2px,-2px)}.login-trails{opacity:0;width:min(860px,92vw);margin-top:8px;animation:.86s ease-out 1.18s forwards revealUp;transform:translateY(18px)}.login-trails svg{width:100%;height:auto;overflow:visible}.login-trails path{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.login-trails path:first-child{stroke:#ff9c75a8;stroke-width:3.2px;filter:drop-shadow(0 0 18px #ff6b9129);animation:1.5s .82s forwards trailDraw}.login-trails path:last-child{stroke:#fff0df80;stroke-width:1.8px;animation:1.26s 1s forwards trailDraw}.login-star{left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);opacity:.34;animation:starBlink var(--star-duration) var(--star-delay) ease-in-out infinite;pointer-events:none;background:#fff6e7f5;border-radius:999px;position:absolute;box-shadow:0 0 18px #ffbc8875,0 0 34px #ff6d9629}.login-star:before,.login-star:after{content:"";background:#fff4e2d1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-star:before{width:1px;height:calc(var(--star-size) * 2.6)}.login-star:after{width:calc(var(--star-size) * 2.6);height:1px}.login-dust{left:var(--dust-x);top:var(--dust-y);width:var(--dust-size);height:var(--dust-size);opacity:0;animation:dustFloat var(--dust-duration) var(--dust-delay) ease-in-out infinite alternate, dustGlow 3.2s var(--dust-delay) ease-in-out infinite;pointer-events:none;background:radial-gradient(circle,#fff9f0fa 0%,#ffd19abd 44%,#ff609529 100%);border-radius:999px;position:absolute;box-shadow:0 0 16px #ffb77838,0 0 28px #ff5b971a}.login-dust:after{content:"";border:1px solid #fff5e429;border-radius:999px;position:absolute;inset:-3px}.login-comet{left:var(--comet-x);top:var(--comet-y);width:var(--comet-width);transform-origin:100%;height:2px;transform:rotate(var(--comet-rotate)) translate3d(-32px, -12px, 0);filter:drop-shadow(0 0 16px #ff918847);opacity:0;animation:cometDrift var(--comet-duration) var(--comet-delay) linear infinite;pointer-events:none;background:linear-gradient(90deg,#fff4e500 0%,#fff4e51f 18%,#ffd2a0d6 78%,#fff4e5 100%);border-radius:999px;position:absolute}.login-comet:after{content:"";background:radial-gradient(circle,#fff9f0 0%,#ffd09ad1 54%,#ff589738 100%);border-radius:999px;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%;right:-3px;box-shadow:0 0 14px #ff9a7a42}.login-enter-burst{pointer-events:none;z-index:4;mix-blend-mode:normal;position:absolute;inset:-140px -150px -136px}.login-enter-ring{opacity:0;border:1.6px solid #ffe8cbad;border-radius:999px;animation:1.04s cubic-bezier(.16,.76,.24,1) forwards wandRing;position:absolute;inset:-9px;box-shadow:inset 0 0 0 1px #ffffff14,0 0 24px #ff71953d}.login-enter-sweep{height:74px;transform:translate3d(-84px, var(--wand-sweep-shift-y), 0) rotate(var(--wand-sweep-rotate));filter:blur(1px)drop-shadow(0 0 24px #ff749657);opacity:0;z-index:1;background:linear-gradient(92deg,#0000 0%,#fff7ea05 20%,#fff7ea9e 50%,#ffab7a57 72%,#0000 100%);border-radius:999px;animation:.98s cubic-bezier(.16,.76,.24,1) forwards wandSweep;position:absolute;top:-16px;left:-34px;right:-24px}.login-enter-tip{left:var(--wand-origin-x);top:var(--wand-origin-y);opacity:0;z-index:2;background:radial-gradient(circle,#fffaef 0%,#ffd396eb 44%,#ff55933d 82%,#0000 100%);border-radius:999px;width:22px;height:22px;margin-top:-11px;margin-left:-11px;animation:1.14s cubic-bezier(.14,.76,.2,1) forwards wandTip;position:absolute;box-shadow:0 0 28px #ff769570,0 0 54px #ffc97c38}.login-enter-tip:before,.login-enter-tip:after{content:"";background:#fffaeffa;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-enter-tip:before{width:2px;height:26px}.login-enter-tip:after{width:26px;height:2px}.login-enter-arc{left:calc(var(--wand-origin-x) - 12px);top:calc(var(--wand-origin-y) - 104px);width:404px;height:224px;transform:translate3d(var(--wand-arc-shift-x), var(--wand-arc-shift-y), 0) rotate(var(--wand-arc-rotate));z-index:2;position:absolute;overflow:visible}.login-enter-arc path{stroke:#ffe5c4;stroke-width:4.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 26px #ff5f9675);animation:1.38s cubic-bezier(.18,.8,.24,1) forwards wandArc}.login-enter-arc path:last-child{stroke:#fff5e4d6;stroke-width:2.2px;animation-duration:1.48s}.login-enter-particle{left:var(--wand-origin-x);top:var(--wand-origin-y);opacity:0;width:18px;height:18px;animation:wandParticle 1.32s var(--wand-delay) cubic-bezier(.18, .8, .24, 1) forwards;background:radial-gradient(circle,#fff8eb 0%,#ffd69f 40%,#ff4f98 82%,#0000 100%);border-radius:999px;margin-top:-9px;margin-left:-9px;position:absolute;transform:translate(0,0)scale(.16)rotate(0);box-shadow:0 0 26px #ff7a9261,0 0 42px #ffc4763d}.login-enter-particle:before,.login-enter-particle:after{content:"";background:#fff8ebeb;border-radius:999px;width:1px;height:18px;margin-top:-9px;margin-left:-.5px;position:absolute;top:50%;left:50%}.login-enter-particle:after{transform:rotate(90deg)}@keyframes auroraDrift{0%{opacity:.86;transform:translate(-1.5%,-1%)scale(1)}to{opacity:1;transform:translate(1.8%,1.6%)scale(1.05)}}@keyframes logoEnter{0%{opacity:0;transform:translateY(26px)scale(.86)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes haloPulse{0%,to{opacity:.62;transform:scale(.96)}50%{opacity:1;transform:scale(1.12)}}@keyframes letterTwirlIn{0%{opacity:0;transform:translate3d(var(--letter-from-x), var(--letter-from-y), 0) scale(var(--letter-scale-x), var(--letter-scale-y)) rotate(var(--letter-rotate));filter:blur(12px)}34%{opacity:1;transform:translate3d(calc(var(--letter-from-x) * -.16), 18px, 0) scale(1.12, .82) rotate(calc(var(--letter-rotate) * -.42));filter:blur()}58%{transform:translate3d(calc(var(--letter-from-x) * .1), -26px, 0) scale(.92, 1.14) rotate(5deg)}78%{transform:translate3d(calc(var(--letter-from-x) * -.04), 6px, 0) scale(1.03, .98) rotate(-2deg)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)rotate(0)}}@keyframes letterSwoopIn{0%{opacity:0;transform:translate3d(var(--letter-from-x), var(--letter-from-y), 0) scale(var(--letter-scale-x), var(--letter-scale-y)) rotate(var(--letter-rotate)) skewX(-18deg);filter:blur(14px)}42%{opacity:1;transform:translate3d(calc(var(--letter-from-x) * -.18), 10px, 0) scale(1.18, .8) rotate(calc(var(--letter-rotate) * -.22)) skewX(6deg);filter:blur()}70%{transform:translate3d(calc(var(--letter-from-x) * .04), -16px, 0) scale(.96, 1.08) rotate(-1deg) skewX(-2deg)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)rotate(0)skew(0)}}@keyframes letterPopIn{0%{opacity:0;transform:translate3d(var(--letter-from-x), var(--letter-from-y), 0) scale(calc(var(--letter-scale-x) * .92), calc(var(--letter-scale-y) * .92)) rotate(var(--letter-rotate));filter:blur(10px)}28%{opacity:1;transform:translate3d(calc(var(--letter-from-x) * -.08), 18px, 0) scale(1.22, .72) rotate(calc(var(--letter-rotate) * -.18));filter:blur()}54%{transform:translate3d(calc(var(--letter-from-x) * .02), -20px, 0) scale(.88, 1.2) rotate(2deg)}76%{transform:translateY(7px)scale(1.04,.96)rotate(-1deg)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)rotate(0)}}@keyframes letterGlowTrail{0%{opacity:0}18%{opacity:.36}to{opacity:0;transform:translate(0,0)scale(1.04)}}@keyframes letterIdleDrift{0%,to{transform:translate(0,0)scale(1)rotate(0)}50%{transform:translate3d(var(--letter-idle-x), var(--letter-idle-y), 0) scale(1.014, .986) rotate(var(--letter-idle-rotate))}}@keyframes revealUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes trailDraw{0%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes starBlink{0%,to{opacity:.22;transform:scale(.76)}42%{opacity:1;transform:scale(1.34)}64%{opacity:.34;transform:scale(.92)}}@keyframes dustFloat{0%{opacity:0;transform:translate(0,0)scale(.72)}20%{opacity:.46}to{opacity:.12;transform:translate3d(var(--dust-dx), var(--dust-dy), 0) scale(1.28)}}@keyframes dustGlow{0%,to{filter:blur()brightness(.98)}50%{filter:blur(.3px)brightness(1.22)}}@keyframes cometDrift{0%,58%,to{opacity:0;transform:rotate(var(--comet-rotate)) translate3d(-32px, -12px, 0)}10%{opacity:.94}28%{opacity:.1;transform:rotate(var(--comet-rotate)) translate3d(78px, 40px, 0)}}@keyframes wandArc{0%{stroke-dashoffset:1px;opacity:0}18%{opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes wandRing{0%{opacity:0;transform:scale(.84)}16%{opacity:.92}to{opacity:0;transform:scale(1.26)}}@keyframes wandSweep{0%{opacity:0;transform:translate3d(-110px, var(--wand-sweep-shift-y), 0) rotate(var(--wand-sweep-rotate)) scaleX(.82)}14%{opacity:.94}to{opacity:0;transform:translate3d(148px, calc(var(--wand-sweep-shift-y) - 6px), 0) rotate(calc(var(--wand-sweep-rotate) + 2deg)) scaleX(1.04)}}@keyframes wandTip{0%{opacity:0;transform:translate(-16px,12px)scale(.4)rotate(0)}18%{opacity:1}58%{opacity:1;transform:translate(74px,-52px)scale(1.08)rotate(18deg)}to{opacity:0;transform:translate(146px,-104px)scale(.7)rotate(36deg)}}@keyframes wandParticle{0%{opacity:0;transform:translate(0,0)scale(.16)rotate(0)}16%{opacity:1}to{opacity:0;transform:translate3d(var(--wand-dx), var(--wand-dy), 0) scale(var(--wand-scale)) rotate(var(--wand-rotate))}}@media (max-width:820px){.login-wordmark{gap:clamp(.018em,.42vw,.052em);font-size:clamp(3rem,13.2vw,5.7rem)}.login-slogan{max-width:calc(100vw - 20px);font-size:clamp(.46rem,1.5vw,.94rem)}.login-trails{width:min(92vw,640px)}}@media (max-width:560px){.login-page{padding-inline:14px}.login-hero{gap:16px}.login-wordmark{letter-spacing:0;gap:clamp(.008em,.22vw,.026em);padding-bottom:.7em;font-size:clamp(1.92rem,9.4vw,3.3rem);line-height:1.24}.login-slogan{max-width:calc(100vw - 16px);font-size:clamp(.34rem,1.96vw,.62rem);line-height:1.1}.login-enter{min-width:136px;min-height:42px;padding-inline:15px}.login-enter__text{font-size:.72rem}.login-enter-burst{inset:-128px -138px -122px}.login-enter-arc{width:322px;height:212px;top:calc(var(--wand-origin-y) - 110px)}.login-enter-sweep{height:60px;left:-22px;right:-18px}.login-enter-ring{inset:-7px}}@media (prefers-reduced-motion:reduce){.login-page__aurora,.login-logoWrap,.login-logoHalo,.login-logo,.login-letter,.login-slogan,.login-actions,.login-trails,.login-trails path,.login-star,.login-dust,.login-comet,.login-enter-arc path,.login-enter-particle,.login-enter-ring,.login-enter-sweep,.login-enter-tip,.login-letter:after{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}
