.newspec-sign-in-page{margin:0}
.newspec-login{--bg:#f4f3f0;--panel:#fff;--text:#1f2424;--muted:#78807f;--line:#e3e5e2;--input:#f9faf8;--accent:#ff5400;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.newspec-login[data-theme=dark]{--bg:#111819;--panel:#1b2223;--text:#f2f4f1;--muted:#9ca9a5;--line:#34403e;--input:#222c2c}
.newspec-login *{box-sizing:border-box}
.newspec-login button,.newspec-login input{font:inherit}
.newspec-login button{cursor:pointer}
.newspec-login a{color:inherit;text-decoration:none}
.newspec-login button:focus-visible,.newspec-login a:focus-visible,.newspec-login input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(500px,52%) minmax(0,48%);max-width:1800px;margin:auto;box-shadow:0 0 80px #14201c0c}
.login-form-panel{background:var(--panel);display:flex;flex-direction:column;min-height:100vh;padding:42px clamp(32px,5vw,86px) 30px}
.login-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.login-brand{display:flex;flex-direction:column;align-items:stretch;width:178px}
.login-brand img{display:block;width:100%;height:auto}
.newspec-login[data-theme=dark] .login-brand img{filter:invert(1)}
.login-brand>span{display:block;white-space:nowrap;text-align:justify;text-align-last:justify;font-size:11px;letter-spacing:.11em;font-weight:700;margin-top:2px}
.login-controls{display:flex;gap:8px}
.login-control{width:44px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:12px;font-weight:700;white-space:nowrap}
.login-control:first-child{width:54px}
.login-control:hover{border-color:var(--accent);color:var(--accent)}
.theme-control{font-size:18px}
.login-form-wrap{width:min(100%,408px);margin:auto;padding:55px 0}
.login-eyebrow{display:flex;gap:10px;align-items:center;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.16em}
.orange-line{display:inline-block;width:19px;height:2px;background:var(--accent)}
.login-form-wrap h1{font-size:clamp(36px,4vw,54px);letter-spacing:-.055em;margin:21px 0 14px;font-weight:730;line-height:1.14}
.login-intro{color:var(--muted);font-size:14px;line-height:1.85;margin:0 0 43px;max-width:380px}
.login-form{display:flex;flex-direction:column}
.login-form label{font-size:12px;font-weight:700;letter-spacing:.01em;margin-bottom:10px}
.login-form input[type=text],.login-form input[type=password]{width:100%;height:50px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);padding:0 15px;font-size:14px;outline:none}
.login-form input::placeholder{color:#a5adab}
.login-form input[type=text]:focus,.login-form input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff54001c}
.password-row{display:flex;align-items:center;justify-content:space-between;margin:25px 0 10px}
.password-row label{margin:0}
.password-row a{font-size:12px;color:var(--accent);font-weight:650}
.password-row a:hover{text-decoration:underline}
.password-input{position:relative}
.password-input input{padding-right:54px!important}
.password-input button{position:absolute;right:5px;top:5px;width:40px;height:40px;background:none;border:0;color:var(--muted);font-size:20px}
.remember-row{display:flex;gap:9px;align-items:center;margin:20px 0 27px!important;font-weight:500!important;color:var(--muted);cursor:pointer}
.remember-row input{width:15px;height:15px;margin:0;accent-color:var(--accent)}
.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 20px;border:0;border-radius:8px;background:var(--accent);color:#fff!important;font-size:14px;font-weight:700;box-shadow:0 11px 28px #ff540034;transition:transform .18s ease,box-shadow .18s ease}
.login-submit:hover{transform:translateY(-2px);box-shadow:0 15px 30px #ff54004d}
.login-submit span:last-child{font-size:21px;font-weight:400}
.login-help{margin:25px 0 0;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}
.login-message{padding:14px 16px;margin:0 0 20px;border:1px solid #f5ad8a;border-radius:8px;color:#bd3d00;background:#fff1e8;font-size:13px;line-height:1.55}
.newspec-login[data-theme=dark] .login-message{background:#42261c;border-color:#9d4323;color:#ffd0ba}
.login-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.06em}
.login-art{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 48% 46%,#35423c 0%,#26302c 35%,#1b2422 74%,#17201e 100%);color:#fff}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#e6f0e609 1px,transparent 1px),linear-gradient(90deg,#e6f0e609 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent)}
.art-top,.art-bottom{position:relative;z-index:2}
.art-top{display:flex;align-items:center;gap:12px;padding:48px 54px;font-size:10px;letter-spacing:.14em;color:#becbc3}
.art-top span:last-child{margin-left:auto}
.art-marker{display:inline-block;width:9px;height:9px;border:2px solid var(--accent);border-radius:50%}
.art-center{flex:1;position:relative;min-height:390px;display:grid;place-items:center}
.art-orbit{position:absolute;border:1px solid #e4f1e31b;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit-one{width:360px;height:360px}.orbit-two{width:545px;height:545px}
.art-core{position:relative;display:grid;grid-template-columns:repeat(2,1fr);width:232px;height:232px;gap:8px;transform:rotate(-23deg);filter:drop-shadow(18px 24px 32px #030d0880)}
.art-tile{border-radius:3px;border:1px solid #9faf9b57;box-shadow:inset 0 0 0 1px #18251c,inset 0 0 0 6px #ffffff06;background-image:repeating-linear-gradient(0deg,#ffffff08 0px,#ffffff08 1px,transparent 1px,transparent 5px),repeating-linear-gradient(90deg,#00000013 0px,#00000013 1px,transparent 1px,transparent 7px),linear-gradient(145deg,#7b8b7d,#35443b 55%,#27362e)}
.tile-two{transform:translateY(-12px)}.tile-three{transform:translateX(12px)}
.tile-four{background-image:repeating-linear-gradient(0deg,#ffffff0d 0px,#ffffff0d 1px,transparent 1px,transparent 5px),linear-gradient(145deg,#ff7a31,#ff5400 70%,#be3500);border-color:#ff9b65}
.art-coordinate{position:absolute;color:#c0c9bc77;font-size:10px;letter-spacing:.14em}.coord-one{left:12%;top:25%}.coord-two{right:12%;bottom:26%}
.art-bottom{padding:18px 54px 58px}.art-index{font-size:10px;color:var(--accent);letter-spacing:.14em}
.art-bottom p{font-size:clamp(29px,3.3vw,49px);font-weight:650;line-height:1.33;letter-spacing:-.04em;margin:15px 0 30px}
.art-caption{font-size:9px;letter-spacing:.22em;color:#a5b3a8}
@media(max-width:950px){.login-shell{grid-template-columns:1fr}.login-form-panel{min-height:100vh}.login-art{display:none}}
@media(max-width:540px){.login-form-panel{padding:25px 24px 22px}.login-brand{width:151px}.login-controls{gap:5px}.login-control{width:39px;height:35px}.login-control:first-child{width:48px}.login-form-wrap{padding:45px 0}.login-form-wrap h1{font-size:40px}.login-intro{margin-bottom:34px}.login-footer{font-size:9px}}
