:root{color-scheme:dark;--line:#29486f;--muted:#9db1cb;--blue:#58a8ff}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;overflow-x:hidden;background:#06142b;color:#edf5ff;font-family:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 34%,#123c69 0,#0a2344 34%,#06142b 72%),linear-gradient(145deg,#06142b,#0c2140 55%,#06142b)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 17% 23%,#b9ddff9c 0 1px,transparent 1.7px),radial-gradient(circle at 79% 18%,#8dc8ff70 0 1px,transparent 1.8px),radial-gradient(circle at 85% 71%,#b9ddff70 0 1px,transparent 1.8px),radial-gradient(circle at 13% 78%,#8dc8ff70 0 1px,transparent 1.8px),linear-gradient(#7cbaff0b 1px,transparent 1px),linear-gradient(90deg,#7cbaff0b 1px,transparent 1px);background-size:auto,auto,auto,auto,44px 44px,44px 44px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.login-shell{width:min(100%,520px);min-height:100vh;margin:auto;padding:42px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.login-visual{width:176px;height:176px;display:grid;place-items:center;position:relative;flex:none}
.login-visual:before,.login-visual:after{content:"";position:absolute;border:1px solid #74baff55;border-radius:50%;inset:0;transform:rotate(-18deg) scaleY(.63)}
.login-visual:after{inset:-16px;border-style:dashed;border-color:#79c7ff50;transform:rotate(22deg) scaleY(.62)}
.robot-halo{width:150px;height:150px;position:relative;z-index:1;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #79beff;box-shadow:0 0 30px #46a8ff40,0 0 90px #3198ff25}
.robot-halo img{width:100%;height:100%;display:block;object-fit:contain;padding:4px;border-radius:50%}
.login-panel{width:min(100%,390px);padding:30px 34px 32px;border:1px solid #284b75;border-radius:16px;background:linear-gradient(145deg,#102644eF,#0a1b33f2);box-shadow:0 20px 70px #02091570,inset 0 1px #9ed4ff16}
.login-panel h1{margin:0 0 25px;text-align:center;font-size:25px;font-weight:650;letter-spacing:3px;color:#f2f8ff}
#login-form{display:flex;flex-direction:column}
#login-form label{font-size:13px;color:#adc7e5;margin:15px 0 8px}
#login-form input{width:100%;height:46px;padding:0 13px;border:1px solid #35577f;border-radius:8px;background:#08172c;color:#eff7ff;font:inherit;font-size:14px;outline:none;transition:border-color .16s,box-shadow .16s}
#login-form input::placeholder{color:#6f87a5}
#login-form input:focus{border-color:#58a8ff;box-shadow:0 0 0 3px #58a8ff22}
#login-error{min-height:20px;margin:8px 0 2px;color:#ffb0b0;font-size:12px;line-height:1.6}
.login-submit{width:100%;height:44px;border:1px solid #65b2ff;border-radius:8px;background:linear-gradient(100deg,#2d78d0,#52a9ff);color:#061932;font:inherit;font-size:15px;font-weight:600;letter-spacing:2px;cursor:pointer;box-shadow:0 8px 22px #287be53b;transition:filter .16s,transform .16s}
.login-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
.login-submit:disabled{opacity:.6;cursor:wait;transform:none}
@media(max-width:480px){.login-shell{gap:16px;padding:24px 18px}.login-visual{width:146px;height:146px}.robot-halo{width:124px;height:124px}.login-panel{padding:26px 22px 25px;border-radius:13px}.login-panel h1{font-size:23px;margin-bottom:20px}}
