html body.auth-page{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 8px) 16px calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:radial-gradient(ellipse at 50% 28%,#34419a 0%,#26317a 30%,#0a0f2c 78%) fixed;color:#f3ecd7;overflow-x:hidden}
.dh-bg{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:0}
.dh-glow{position:absolute;left:50%;top:26%;width:min(110vw,720px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(232,196,104,.22),rgba(232,196,104,0) 62%);opacity:0;animation:dhfade 2s ease-out .1s forwards}
.dh-scale{position:relative;z-index:1;flex:1 1 0;min-height:130px;width:100%;pointer-events:none}
.dh-scale svg{position:absolute;top:0;bottom:0;left:0;right:0;margin:0 auto;height:100%;max-height:340px;width:auto;opacity:0;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45));animation:dhfade 1s ease-out .1s forwards}
.dh-dust i{position:absolute;bottom:-10px;border-radius:50%;background:#e8c468;opacity:0;animation:dhup var(--d) linear var(--w) infinite}
.dh-beam{transform-origin:180px 80px;animation:dhsw 5s ease-in-out .3s both,dhid 7s ease-in-out 5.3s infinite}
.dh-pl{transform-origin:97px 86px;animation:dhswc 5s ease-in-out .3s both,dhidc 7s ease-in-out 5.3s infinite}
.dh-pr{transform-origin:270px 86px;animation:dhswc 5s ease-in-out .3s both,dhidc 7s ease-in-out 5.3s infinite}
@keyframes dhfade{to{opacity:1}}
@keyframes dhsw{0%{transform:rotate(-10deg)}18%{transform:rotate(7deg)}36%{transform:rotate(-4.5deg)}54%{transform:rotate(2.6deg)}70%{transform:rotate(-1.2deg)}84%{transform:rotate(.5deg)}100%{transform:rotate(0)}}
@keyframes dhswc{0%{transform:rotate(10deg)}18%{transform:rotate(-7deg)}36%{transform:rotate(4.5deg)}54%{transform:rotate(-2.6deg)}70%{transform:rotate(1.2deg)}84%{transform:rotate(-.5deg)}100%{transform:rotate(0)}}
@keyframes dhid{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}
@keyframes dhidc{0%,100%{transform:rotate(.8deg)}50%{transform:rotate(-.8deg)}}
@keyframes dhup{0%{opacity:0;transform:translateY(0)}15%{opacity:.8}100%{opacity:0;transform:translateY(-70vh)}}
html body.auth-page .auth-card{position:relative;z-index:1;flex:none;width:100%;max-width:420px;margin:0;box-sizing:border-box;padding:24px 22px;border-radius:16px;background:rgba(12,17,52,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(232,196,104,.28);box-shadow:0 20px 50px rgba(0,0,0,.4);color:#f3ecd7}
.auth-card .auth-brand{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.auth-card .auth-brand img{width:40px;height:40px;object-fit:contain;border-radius:50%;background:#fff;padding:3px;box-sizing:border-box;flex:none}
.auth-card .auth-brand span{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:600;font-size:22px;line-height:1.15;background:linear-gradient(180deg,#fff3b8,#e8c468 55%,#b8892e);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-card h1{font-size:20px;margin:0 0 4px;color:#f3ecd7}
.auth-card p{margin:0 0 14px;color:#cfd4f2}
.auth-card label{display:block;margin:0 0 12px;color:#cfd4f2;font-size:14px}
.auth-card input[type=email],.auth-card input[type=password]{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;font-size:16px;color:#f3ecd7;background:rgba(255,255,255,.08);border:1px solid rgba(232,196,104,.35);border-radius:10px;outline:0}
.auth-card input:focus{border-color:#e8c468;box-shadow:0 0 0 3px rgba(232,196,104,.25)}
.auth-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #1b2466 inset;-webkit-text-fill-color:#f3ecd7}
.auth-card button.primary{display:block;width:100%;padding:13px;margin-top:4px;font-size:16px;font-weight:600;color:#1a1405;background:linear-gradient(180deg,#f6dc8c,#d4a843);border:0;border-radius:10px;cursor:pointer}
.auth-card .alert{background:rgba(160,30,30,.35);border:1px solid rgba(255,140,140,.5);color:#ffd9d9;border-radius:10px;padding:10px 12px;margin:0 0 12px}
.auth-card small{display:block;margin-top:12px;color:#aab1da}
@media (min-width:1000px){html body.auth-page{flex-direction:row;justify-content:flex-end;align-items:center;padding:24px 6vw}.dh-scale{position:fixed;left:0;top:0;bottom:0;right:auto;width:58%;flex:none;min-height:0;display:flex;align-items:center;justify-content:center}.dh-scale svg{position:static;margin:0;height:auto;max-height:none;width:min(38vw,520px)}.dh-glow{left:29%;top:50%}}
@media (prefers-reduced-motion:reduce){.dh-bg *,.dh-scale *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}}

.dh-splash{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(160deg,#2c3677,#424F9C);color:#fff;transition:opacity .45s ease;opacity:1}
.dh-splash-off{opacity:0;pointer-events:none}
.dh-splash-svg{width:min(70vw,300px);height:auto}
.dh-splash-title{font-size:22px;font-weight:700;letter-spacing:.04em;text-align:center;padding:0 16px}
.dh-splash-sub{font-size:14px;opacity:.8}
@media (prefers-reduced-motion:reduce){.dh-splash *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}}
