:root{--blue:#2f66f0;--blue-lo:#1f52d8;--blue-hi:#5a8cff;--violet:#7c5cff;--coral:#ff7a6b;--grad:linear-gradient(135deg, #2f66f0, #7c5cff);--cream-hi:#f9f2e4;--cream:#f1e7d2;--cream-lo:#e7d9bd;--surface:#fff;--field:#f4f4f8;--ink:#232733;--ink-soft:#474b58;--muted:#857e6d;--line:#2e2a371f;--line-2:#2e2a372e;--btn-1:#2b3d63;--btn-2:#1a2842;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%}body{min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(38% 46% at 8% 6%,#93c5fd8c,#0000 60%),radial-gradient(42% 48% at 93% 8%,#c4b5fd9e,#0000 62%),radial-gradient(46% 52% at 88% 96%,#fbcfe899,#0000 62%),radial-gradient(44% 50% at 10% 94%,#a7f3d075,#0000 60%),#f3f2fb;place-items:center;padding:clamp(1rem,5vw,3rem);font-family:Space Grotesk,system-ui,sans-serif;display:grid;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{place-items:center;display:grid;position:relative}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;width:min(92vw,400px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 64px -28px #3c286e61,0 10px 24px -14px #3c286e29}.login,.account{grid-area:1/1}.login{transition:opacity .4s var(--ease-out), transform .5s var(--ease-out);flex-direction:column;display:flex}.login.leaving{opacity:0;pointer-events:none;transform:translateY(12px)scale(.98)}.login.gone{display:none}.login__head{flex-direction:column;display:flex}.login__badge{width:44px;height:44px;color:var(--blue);background:#2f66f01a;border:1px solid #2f66f02e;border-radius:13px;place-items:center;margin-bottom:.85rem;display:grid}.login__badge svg{width:24px;height:24px}.login__title{letter-spacing:-.01em;color:var(--ink);font-size:1.55rem;font-weight:700}.login__sub{color:var(--muted);margin-top:.3rem;font-size:.86rem;font-weight:500}.login__body{flex-direction:column;gap:.85rem;padding:1.7rem 1.75rem 1.6rem;display:flex}.field{flex-direction:column;gap:.42rem;display:flex}.field__row{justify-content:space-between;align-items:baseline;display:flex}.field label{color:var(--ink-soft);font-size:.8rem;font-weight:600}.field__link{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.76rem;font-weight:600}.field__link:hover{text-decoration:underline}.field__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.field__wrap{align-items:center;display:flex;position:relative}.field__icon{width:18px;height:18px;color:var(--muted);pointer-events:none;transition:color .2s var(--ease-out);position:absolute;left:.9rem}.field input{width:100%;color:var(--ink);background:var(--field);border:1.5px solid var(--line-2);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out);border-radius:12px;outline:none;padding:.82rem .9rem .82rem 2.65rem;font-family:inherit;font-size:.96rem}.field input::placeholder{color:#b4ac97}.field input:hover{border-color:#2e2a374d}.field__wrap:focus-within .field__icon{color:var(--blue)}.field input:focus-visible{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #2f66f029}.login.invalid .field input:invalid{border-color:#e5484d;box-shadow:0 0 0 4px #e5484d24}.err{color:#d13a3f;text-align:center;min-height:1.1em;font-size:.8rem;font-weight:600}.field__toggle{cursor:pointer;width:32px;height:32px;color:var(--muted);transition:color .2s var(--ease-out), background .2s var(--ease-out);background:0 0;border:none;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.field__toggle:hover{color:var(--ink);background:#282a370f}.field__toggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.field__toggle svg{width:19px;height:19px}.field__toggle .i-eye-off,.field__toggle[aria-pressed=true] .i-eye{display:none}.field__toggle[aria-pressed=true] .i-eye-off{display:block}.field__wrap--pw input{padding-right:3rem}.remember{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;font-size:.84rem;font-weight:500;display:flex}.remember input{opacity:0;width:1px;height:1px;position:absolute}.remember__box{border:1.5px solid var(--line-2);color:#fff;width:19px;height:19px;transition:background .18s var(--ease-out), border-color .18s var(--ease-out);background:#fff;border-radius:6px;flex:none;place-items:center;display:grid}.remember__box svg{opacity:0;width:13px;height:13px;transition:opacity .18s, transform .2s var(--ease-back);transform:scale(.5)}.remember input:checked+.remember__box{background:var(--grad);border-color:#0000}.remember input:checked+.remember__box svg{opacity:1;transform:scale(1)}.remember input:focus-visible+.remember__box{outline:2px solid var(--blue);outline-offset:2px}.social{flex-direction:column;gap:.8rem;margin-top:.1rem;display:flex}.social__sep{text-align:center;color:var(--muted);font-size:.74rem;font-weight:500;position:relative}.social__sep:before,.social__sep:after{content:"";background:var(--line-2);width:28%;height:1px;position:absolute;top:50%}.social__sep:before{left:0}.social__sep:after{right:0}.social__row{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.social__btn{cursor:pointer;border:1.5px solid var(--line-2);height:46px;transition:transform .15s var(--ease-back), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;border-radius:12px;place-items:center;display:grid}.social__btn:hover{border-color:#2e2a374d;transform:translateY(-2px);box-shadow:0 10px 18px -10px #3c321e4d}.social__btn:active{transform:scale(.96)}.social__btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.login.invalid{animation:shake .38s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.doorbtn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:56px;transition:transform .18s var(--ease-back), box-shadow .2s var(--ease-out), filter .2s;border-radius:14px;justify-content:center;align-items:center;gap:26px;padding:0 20px;font-family:inherit;font-size:1.05rem;font-weight:700;display:flex;position:relative}.doorbtn__label{letter-spacing:.01em;white-space:nowrap}.doorbtn:active{transform:scale(.985)}.doorbtn:focus-visible{outline:3px solid var(--blue-hi);outline-offset:3px}.doorbtn[disabled]{cursor:default}.doorbtn--primary{background:linear-gradient(120deg,#26286b 0%,#2b2f78 46%,#3a2a72 100%);border:1px solid #7c82f080;margin-top:.2rem;box-shadow:0 16px 30px -14px #463aaa94,inset 0 1px #ffffff24}.doorbtn--primary:hover{transform:translateY(-1px);box-shadow:0 22px 38px -14px #463aaab8,inset 0 1px #ffffff2e}.doorbtn--ghost{border:1px solid var(--line-2);color:#fff;background:linear-gradient(#313a4f,#232b3c);box-shadow:0 10px 22px -14px #23283c80}.doorbtn--ghost:hover{transform:translateY(-1px);box-shadow:0 16px 28px -14px #23283c9e}.dooric{perspective:300px;flex:none;width:62px;height:38px;position:relative}.dooric__frame{background:linear-gradient(#0b1a38,#060d20);border-radius:5px;width:28px;height:34px;position:absolute;top:2px;right:0;overflow:hidden;box-shadow:inset 0 0 0 1.5px #78a0ff47}.dooric__glow{opacity:0;transition:opacity .35s var(--ease-out);background:radial-gradient(62% 72% at 50% 46%,#ffd696f2,#ffbe6e00 72%);position:absolute;inset:0}.dooric__panel{background:linear-gradient(180deg, var(--blue-hi), var(--blue) 55%, var(--blue-lo));transform-origin:100%;width:28px;height:34px;transition:transform .42s var(--ease-out);backface-visibility:hidden;border-radius:5px;position:absolute;top:2px;right:0;transform:rotateY(0);box-shadow:inset 0 0 0 1.5px #fff3,inset -6px 0 10px #00000047}.dooric__handle{background:linear-gradient(#fff,#cfe0ff);border-radius:2px;width:2.5px;height:10px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.dooric__person{color:#fff;transition:transform .74s var(--ease-out), opacity .3s var(--ease-out) .36s;position:absolute;bottom:2px;left:2px}.dooric__person svg{display:block;overflow:visible}.leg,.arm,.shin{transform-box:fill-box;transform-origin:50% 0}.person__bob,.person{transform-box:fill-box;transform-origin:50% 100%}.leg--front{transform:rotate(11deg)}.leg--back{transform:rotate(-11deg)}.arm--front{transform:rotate(-9deg)}.arm--back{transform:rotate(9deg)}.leg--front .shin,.leg--back .shin{transform:rotate(7deg)}.person{transition:transform .25s var(--ease-out)}.doorbtn.walking .person{transform:rotate(4deg)}.doorbtn.walking .leg--front{animation:.46s linear infinite thighF}.doorbtn.walking .leg--back{animation:.46s linear infinite thighB}.doorbtn.walking .leg--front .shin{animation:.46s linear infinite shinF}.doorbtn.walking .leg--back .shin{animation:.46s linear infinite shinB}.doorbtn.walking .arm--front{animation:.46s linear infinite armF}.doorbtn.walking .arm--back{animation:.46s linear infinite armB}.doorbtn.walking .person__bob{animation:.23s linear infinite bob}@keyframes thighF{0%,to{transform:rotate(26deg)}50%{transform:rotate(-24deg)}}@keyframes thighB{0%,to{transform:rotate(-24deg)}50%{transform:rotate(26deg)}}@keyframes armF{0%,to{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}@keyframes armB{0%,to{transform:rotate(24deg)}50%{transform:rotate(-24deg)}}@keyframes shinF{0%{transform:rotate(8deg)}25%{transform:rotate(48deg)}55%{transform:rotate(10deg)}to{transform:rotate(8deg)}}@keyframes shinB{0%{transform:rotate(34deg)}30%{transform:rotate(6deg)}78%{transform:rotate(44deg)}to{transform:rotate(34deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4px)}}.doorbtn.dooropen .dooric__panel{transform:rotateY(72deg)}.doorbtn.dooropen .dooric__glow{opacity:.95}.doorbtn.out .dooric__person{opacity:0;transform:translate(36px)scale(.72)}.doorbtn.walking .doorbtn__label{opacity:.6;transition:opacity .3s}.doorbtn.facing-out .dooric__person svg{transform:scaleX(-1)}.doorbtn.facing-out .dooric__person{transition:transform .74s var(--ease-out), opacity .5s var(--ease-out) 40ms}.doorbtn.snap .dooric__person{transition:none!important}.account{animation:rise .5s var(--ease-back);align-content:center;gap:1rem;padding:1.7rem 1.6rem;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.account__row{align-items:center;gap:.8rem;display:flex}.account__avatar{color:#fff;background:var(--grad);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 18px -8px #6054eb80}.account__meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.account__meta b{color:var(--ink);font-size:1rem}.account__meta small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.sound-toggle{z-index:60;border:1px solid var(--line);cursor:pointer;width:42px;height:42px;color:var(--ink);transition:transform .2s var(--ease-back), background .2s var(--ease-out);background:#2327330f;border-radius:50%;place-items:center;font-size:1.05rem;display:grid;position:fixed;top:1rem;right:1rem;box-shadow:0 8px 18px -10px #4a3a1e66}.sound-toggle:hover{background:#2327331f;transform:scale(1.08)}.sound-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.sound-toggle[aria-pressed=false]{opacity:.55}.fx{pointer-events:none;z-index:40;position:fixed;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.dooric__person,.dooric__glow,.login,.doorbtn{transition-duration:.001ms!important}.doorbtn.walking .leg,.doorbtn.walking .arm,.doorbtn.walking .person__bob,.login.invalid,.account{animation:none!important}}
