@font-face{font-family:'Satoshi';src:url('/assets/fonts/Satoshi-Variable.woff2') format('woff2');font-weight:300 900;font-display:swap;font-style:normal}

:root[data-theme="dark"]{--txt:#e8edf7;--mut:#94a1b8;--line:rgba(255,255,255,.12);--base:#070b14;--glass:rgba(15,21,36,.60);--glassb:rgba(255,255,255,.10);--tint:rgba(6,9,17,.55);--blobop:.55;--logo-filter:brightness(0) invert(1);--inputbg:rgba(255,255,255,.05)}
:root[data-theme="light"]{--txt:#0f172a;--mut:#5b6b86;--line:rgba(15,23,42,.12);--base:#eef2f9;--glass:rgba(255,255,255,.72);--glassb:rgba(15,23,42,.07);--tint:rgba(240,244,251,.55);--blobop:.42;--logo-filter:none;--inputbg:rgba(15,23,42,.04)}
:root{--blue:#3b82f6;--emerald:#10b981;--violet:#8b5cf6;--grad:linear-gradient(135deg,#8b5cf6,#3b82f6)}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:'Satoshi',-apple-system,Segoe UI,Inter,sans-serif;color:var(--txt);background:var(--base);min-height:100vh;display:grid;place-items:center;transition:background .3s,color .3s}

.bg{position:fixed;inset:-10%;z-index:-2;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--blobop);will-change:transform,background-color}
.b1{width:46vw;height:46vw;top:-8vh;left:-6vw;animation:d1 21s ease-in-out infinite,hueA 34s linear infinite}
.b2{width:50vw;height:50vw;top:-4vh;left:30vw;animation:d2 26s ease-in-out infinite,hueB 40s linear infinite;animation-delay:-6s,-12s}
.b3{width:44vw;height:44vw;top:25vh;left:55vw;animation:d3 19s ease-in-out infinite,hueC 36s linear infinite;animation-delay:-3s,-20s}
.b4{width:42vw;height:42vw;top:38vh;left:-4vw;animation:d4 24s ease-in-out infinite,hueA 42s linear infinite;animation-delay:-9s,-26s}
.b5{width:40vw;height:40vw;top:42vh;left:38vw;animation:d2 28s ease-in-out infinite,hueB 38s linear infinite;animation-delay:-14s,-8s}
.b6{width:38vw;height:38vw;top:8vh;left:62vw;animation:d4 22s ease-in-out infinite,hueC 44s linear infinite;animation-delay:-5s,-30s}
@keyframes d1{0%{transform:translate(0,0) scale(1)}25%{transform:translate(7vw,5vh) scale(1.08)}50%{transform:translate(-3vw,9vh) scale(.96)}75%{transform:translate(5vw,-4vh) scale(1.05)}100%{transform:translate(0,0) scale(1)}}
@keyframes d2{0%{transform:translate(0,0) scale(1)}25%{transform:translate(-6vw,6vh) scale(1.06)}50%{transform:translate(4vw,-5vh) scale(1.1)}75%{transform:translate(-5vw,-3vh) scale(.97)}100%{transform:translate(0,0) scale(1)}}
@keyframes d3{0%{transform:translate(0,0) scale(1)}30%{transform:translate(-7vw,-6vh) scale(1.07)}60%{transform:translate(6vw,4vh) scale(.95)}100%{transform:translate(0,0) scale(1)}}
@keyframes d4{0%{transform:translate(0,0) scale(1)}33%{transform:translate(6vw,-7vh) scale(1.05)}66%{transform:translate(-5vw,5vh) scale(1.1)}100%{transform:translate(0,0) scale(1)}}
@keyframes hueA{0%,100%{background-color:#8b5cf6}25%{background-color:#6366f1}50%{background-color:#3b82f6}75%{background-color:#0ea5e9}}
@keyframes hueB{0%,100%{background-color:#3b82f6}25%{background-color:#10b981}50%{background-color:#a855f7}75%{background-color:#8b5cf6}}
@keyframes hueC{0%,100%{background-color:#10b981}25%{background-color:#3b82f6}50%{background-color:#6366f1}75%{background-color:#0ea5e9}}
.glass-overlay{position:fixed;inset:0;z-index:-1;background:var(--tint);backdrop-filter:blur(40px) saturate(125%);-webkit-backdrop-filter:blur(40px) saturate(125%)}

.theme-tg{position:fixed;top:18px;right:18px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line);cursor:pointer;font-size:18px;backdrop-filter:blur(12px);color:var(--txt)}

.card{width:360px;max-width:92vw;padding:34px 30px;border-radius:22px;background:var(--glass);border:1px solid var(--glassb);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 80px rgba(0,0,0,.42);display:flex;flex-direction:column;gap:13px}
.logo{display:flex;justify-content:center;margin-bottom:2px}
.logo svg{width:190px;height:auto;filter:var(--logo-filter)}
.tagline{text-align:center;color:var(--mut);font-weight:600;font-size:13px;margin:-2px 0 10px;letter-spacing:.04em;text-transform:uppercase}
.err{background:rgba(244,63,94,.15);color:#fb7185;padding:10px 13px;border-radius:11px;font-size:13px;font-weight:600;text-align:center}
.field{position:relative;display:block}
.field input{width:100%;padding:13px 15px;border-radius:13px;border:1px solid var(--line);background:var(--inputbg);color:var(--txt);font-size:14.5px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.field input::placeholder{color:var(--mut)}
.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.18)}
.field.pwd input{padding-right:46px}
.eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;cursor:pointer;font-size:15px;opacity:.65;display:grid;place-items:center;border-radius:9px;line-height:1}
.eye:hover{opacity:1;background:rgba(127,127,127,.12)}
.submit{margin-top:5px;padding:13px;border:0;border-radius:13px;background:var(--grad);color:#fff;font-weight:700;font-size:15px;font-family:inherit;cursor:pointer;transition:transform .1s,filter .15s}
.submit:hover{filter:brightness(1.08)}
.submit:active{transform:translateY(1px)}
@media (prefers-reduced-motion: reduce){.blob{animation:none!important}}
