.loginPage{background:radial-gradient(120% 80% at 50% -5%, var(--bg2), var(--bg) 62%);height:100vh;transition:background .5s,color .5s;position:relative;overflow:hidden}.loginTop{z-index:10;justify-content:space-between;align-items:center;padding:24px 38px;display:flex;position:fixed;top:0;left:0;right:0}.loginBrand{letter-spacing:.3px;color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.loginBrand img{object-fit:contain;width:26px;height:26px}.loginBrand b{color:var(--green-deep)}[data-theme=dark] .loginBrand b{color:var(--green)}.loginToggle{background:var(--surface);border:1px solid var(--line);cursor:pointer;color:var(--muted);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:9px;padding:8px 14px;font-size:13px;transition:transform .25s;display:flex}.loginToggle:hover{transform:translateY(-1px)}.loginClock{z-index:11;color:var(--muted);white-space:nowrap;font-family:ui-monospace,SF Mono,monospace;font-size:13px;position:fixed;top:24px;left:50%;transform:translate(-50%)}.loginWrap{z-index:5;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:0 24px 10vh;display:flex;position:relative}.lampbox{width:140px;height:140px;margin-bottom:20px;position:relative}.halo{background:radial-gradient(circle, var(--halo), transparent 60%);filter:blur(6px);opacity:0;width:230px;height:230px;animation:1.1s 1.1s forwards haloOn,4.5s ease-in-out 2.2s infinite breathe;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes haloOn{to{opacity:1}}@keyframes breathe{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.92)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}.lampLogo{z-index:2;object-fit:contain;filter:grayscale(.7)brightness(.7);opacity:.55;width:140px;height:140px;animation:1.3s cubic-bezier(.2,.7,.2,1) .3s forwards powerOn,6s ease-in-out 1.8s infinite float;position:relative;transform:scale(.96)}@keyframes powerOn{0%{filter:grayscale(.7)brightness(.7);opacity:.55;transform:scale(.96)}55%{filter:grayscale(0) brightness(1.18) drop-shadow(0 0 26px var(--green));opacity:1;transform:scale(1.04)}to{filter:grayscale(0)brightness()drop-shadow(0 0 14px #a5be008c);opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.sparks{z-index:1;width:60px;height:60px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.sp{background:var(--green);opacity:0;border-radius:50%;width:5px;height:5px;position:absolute;bottom:0}.sp:first-child{animation:3s ease-in 2s infinite up;left:18px}.sp:nth-child(2){animation:3s ease-in 2.7s infinite up;left:30px}.sp:nth-child(3){animation:3s ease-in 3.5s infinite up;left:42px}@keyframes up{0%{opacity:0;transform:translateY(20px)}25%{opacity:1}to{opacity:0;transform:translateY(-26px)scale(.4)}}.loginEyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--green-deep);opacity:0;font-family:ui-monospace,SF Mono,monospace;font-size:12px;animation:.9s 1.3s forwards rise}[data-theme=dark] .loginEyebrow{color:var(--green)}.loginGreeting{letter-spacing:-1.5px;opacity:0;color:var(--ink);margin:8px 0 4px;font-size:clamp(40px,6.5vw,72px);font-weight:800;line-height:1.02;animation:1s 1.45s forwards rise}.loginSub{color:var(--muted);opacity:0;max-width:440px;font-size:17px;animation:1s 1.6s forwards rise}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.msBtn{background:var(--navy);color:#fff;cursor:pointer;box-shadow:var(--shadow);opacity:0;border:none;border-radius:13px;align-items:center;gap:12px;margin-top:30px;padding:15px 28px;font-size:15px;font-weight:600;transition:transform .25s;animation:1s 1.8s forwards rise;display:inline-flex}[data-theme=dark] .msBtn{background:var(--green);color:#06212e}.msBtn:hover{transform:translateY(-2px)}.msLogo{flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px;width:17px;height:17px;display:grid}.msLogo span{display:block}.msLogo span:first-child{background:#f25022}.msLogo span:nth-child(2){background:#7fba00}.msLogo span:nth-child(3){background:#00a4ef}.msLogo span:nth-child(4){background:#ffb900}.loginHint{color:var(--muted);opacity:0;margin-top:14px;font-family:ui-monospace,monospace;font-size:12.5px;animation:1s 2s forwards rise}.loginError{color:#c0392b;opacity:0;background:#c0392b14;border:1px solid #c0392b33;border-radius:8px;max-width:400px;margin-top:16px;padding:10px 18px;font-size:14px;animation:.8s 2.1s forwards rise}[data-theme=dark] .loginError{color:#f1948a;background:#c0392b26}.scene{z-index:0;pointer-events:none;width:100%;height:60vh;position:fixed;bottom:0;left:0;right:0}.scene svg{width:100%;height:100%;position:absolute;bottom:0;left:0}.sceneWin{fill:var(--win);filter:drop-shadow(0 0 5px var(--winGlow))}.tw1{animation:5s ease-in-out infinite tw}.tw2{animation:5s ease-in-out 1.1s infinite tw}.tw3{animation:5s ease-in-out 2.2s infinite tw}.tw4{animation:5s ease-in-out 3.3s infinite tw}.tw5{animation:5s ease-in-out 4.1s infinite tw}@keyframes tw{0%,to{opacity:.45}50%{opacity:1}}.sceneTree{transform-box:fill-box;transform-origin:bottom;animation:7s ease-in-out infinite sway}.sceneTree.b{animation-duration:9.5s;animation-delay:1s}@keyframes sway{0%,to{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}.clouds{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cloud{background:var(--cloud);filter:blur(2px);border-radius:50px;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.c1{width:120px;height:26px;animation:64s linear infinite float1;top:15%;left:-180px}.c1:before{width:54px;height:54px;top:-24px;left:18px}.c1:after{width:38px;height:38px;top:-16px;left:62px}.c2{opacity:.7;width:90px;height:20px;animation:92s linear 8s infinite float1;top:25%;left:-180px}.c2:before{width:40px;height:40px;top:-18px;left:14px}.c2:after{width:30px;height:30px;top:-12px;left:48px}@keyframes float1{0%{transform:translate(0)}to{transform:translate(calc(100vw + 360px))}}@media (prefers-reduced-motion:reduce){.lampLogo,.halo,.sp,.sceneTree,.c1,.c2,.loginEyebrow,.loginGreeting,.loginSub,.msBtn,.loginHint,.loginError{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.lampLogo{filter:grayscale(0)brightness()drop-shadow(0 0 14px #a5be008c)!important}}
