﻿
:root{--ink:#111512;--paper:#f5f7fa;--green:#274fa6;--line:rgba(17,21,18,.15);--stage-w:min(60vw,900px);font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;color:var(--ink);background:#edf1f8;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.login-page{position:relative;min-height:100vh;height:100vh;isolation:isolate;overflow:hidden;background:#edf1f8}
.character-stage{position:fixed;z-index:-5;inset:0 auto 0 0;width:var(--stage-w);height:100%;overflow:hidden;background:#b9c8e2;--parallax-x:0px;--parallax-y:0px}
.visual-fallback,.stage-shade{position:absolute;inset:0;width:100%;height:100%}.visual-fallback{z-index:0;background:radial-gradient(circle at 76% 18%,rgba(239,228,172,.72),transparent 31%),radial-gradient(circle at 57% 68%,rgba(120,150,200,.55),transparent 38%),linear-gradient(125deg,#e6eaf2 0%,#c3d2ea 47%,#7f9cc9 100%)}.stage-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(15,23,42,.02) 0%,rgba(15,23,42,0) 64%,rgba(237,241,248,.18) 84%,#edf1f8 100%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(15,23,42,.12))}.page-shade{position:fixed;z-index:-4;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(237,241,248,0) 0%,rgba(237,241,248,0) 52%,rgba(237,241,248,.55) 68%,rgba(237,241,248,.97) 83%,#edf1f8 100%)}
.login-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;height:88px;padding:0 clamp(24px,4vw,64px);font-size:13px}.login-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none}.login-brand strong{font-size:20px;font-weight:600;letter-spacing:-.04em}.login-brand sup{font-size:8px;margin-left:2px}.login-brand>span{font-size:27px;line-height:1;color:#2f62c9}.desktop-links{display:flex;align-items:center;gap:10px;margin-left:auto;margin-right:42px;color:#334155}.desktop-links a{text-decoration:none}.desktop-links i{font-style:normal;color:#7c8c80}.desktop-login-link{text-decoration:none;font-weight:600}.menu-button,.mobile-menu{display:none}
.hero-shell{position:relative;z-index:3;display:flex;justify-content:flex-end;align-items:center;min-height:calc(100vh - 88px);padding:0 clamp(28px,5vw,82px) 20px}.login-card{width:430px;max-width:430px;padding:35px 36px 28px;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:rgba(250,251,253,.97);box-shadow:0 26px 72px rgba(30,41,59,.16),0 2px 10px rgba(30,41,59,.06);backdrop-filter:blur(24px) saturate(1.06);-webkit-backdrop-filter:blur(24px) saturate(1.06)}.login-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:37px}.login-card-head>span{font-size:12px;letter-spacing:.13em}.login-card-head small{display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:12px}.login-card-head small i{width:7px;height:7px;border-radius:50%;background:#3ad67d;box-shadow:0 0 0 4px rgba(58,214,125,.14)}.login-card h1{margin:0 0 12px;font-size:38px;line-height:1.1;letter-spacing:-.065em;font-weight:650}.login-lead{margin:0 0 31px;color:#64748b;font-size:13px}.field{display:block;margin-bottom:18px}.field>span:first-child{display:block;margin-bottom:8px;color:#475569;font-size:12px}.field input{width:100%;height:51px;padding:0 15px;border:1px solid var(--line);border-radius:10px;outline:0;background:rgba(255,255,255,.65);color:var(--ink);transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:#3b74e4;box-shadow:0 0 0 4px rgba(59,116,228,.11)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;right:11px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#64748b;font-size:12px;cursor:pointer}.login-error{min-height:19px;margin:0 0 6px;color:#a03535;font-size:12px}.submit-button{display:flex;align-items:center;justify-content:space-between;width:100%;height:53px;padding:0 17px 0 19px;border:0;border-radius:11px;background:#2f62c9;color:#fff;font-size:14px;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.submit-button:hover{background:#286444;transform:translateY(-1px);box-shadow:0 10px 20px rgba(30,76,53,.18)}.submit-button:disabled{opacity:.65;cursor:wait}.submit-button b{font-size:22px;font-weight:400}.login-foot{display:flex;justify-content:space-between;gap:15px;margin-top:24px;color:#87938b;font-size:11px}
@media(max-width:980px){:root{--stage-w:100vw}.desktop-links,.desktop-login-link{display:none}.menu-button{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:10px;cursor:pointer}.menu-button span{display:block;width:22px;height:1.5px;background:#334155;transition:.2s}.mobile-menu{position:fixed;z-index:10;top:70px;right:20px;display:flex;flex-direction:column;gap:13px;min-width:180px;padding:18px;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:rgba(250,251,253,.95);box-shadow:0 12px 30px rgba(0,0,0,.12);opacity:0;pointer-events:none;transform:translateY(-5px);transition:.2s}.mobile-menu.open{opacity:1;pointer-events:auto;transform:none}.mobile-menu a{text-decoration:none;font-size:13px}.mobile-login-link{padding-top:12px;border-top:1px solid var(--line);font-weight:600}.hero-shell{justify-content:center;align-items:flex-end;padding:100px 22px 28px}.page-shade{background:linear-gradient(180deg,rgba(237,241,248,.04) 0%,rgba(237,241,248,.10) 40%,rgba(237,241,248,.82) 83%,#edf1f8 100%)}.stage-shade{background:linear-gradient(180deg,rgba(15,23,42,.02),rgba(15,23,42,.10) 45%,rgba(237,241,248,.92) 100%)}.login-card{width:min(560px,100%);max-width:560px}}
@media(max-width:600px){body,.login-page{overflow:auto;min-height:100svh;height:auto}.character-stage{position:fixed;height:100svh}.login-nav{height:76px;padding:0 18px}.login-brand strong{font-size:19px}.login-brand>span{font-size:24px}.hero-shell{min-height:calc(100svh - 76px);padding:70px 16px 16px}.login-card{padding:26px 20px 21px;border-radius:20px}.login-card h1{font-size:31px}.login-foot{margin-top:20px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.character-stage{--parallax-x:0px;--parallax-y:0px}}

.character-base,.head-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% center;pointer-events:none}
.head-canvas{z-index:2}
.stage-shade{z-index:3}

/* TRIAL_APPLICATION_STYLE_V26 */
.trial-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:12px 16px;border:1px solid #cdd5e0;border-radius:11px;background:rgba(255,255,255,.55);color:#274fa6;cursor:pointer;text-align:left}.trial-button span{font-size:13px;font-weight:650}.trial-button small{color:#64748b;font-size:10px}.trial-button:hover{border-color:#8fb6f7;background:#fff}.trial-entry-message{display:none;margin:10px 0 0;padding:9px 11px;border:1px solid #bcd4fb;background:#eef4ff;color:#274fa6;font-size:11px}.trial-entry-message.show{display:block}.trial-dialog{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px}.trial-dialog[hidden]{display:none}.trial-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(5px)}.trial-panel{position:relative;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:#f5f7fa;box-shadow:0 28px 80px rgba(30,41,59,.28)}.trial-panel header small{color:#64748b;font-size:11px;letter-spacing:.12em}.trial-panel header h2{margin:8px 0 7px;font-size:28px;letter-spacing:-.04em}.trial-panel header p{margin:0 0 22px;color:#64748b;font-size:12px}.trial-close{position:absolute;right:18px;top:16px;width:34px;height:34px;border:1px solid #cdd5e0;border-radius:50%;background:#fff;color:#475569;font-size:21px;cursor:pointer}.trial-panel form>label,.trial-grid label{display:grid;gap:7px;margin-bottom:14px;color:#475569;font-size:11px}.trial-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.trial-panel input,.trial-panel select,.trial-panel textarea{width:100%;border:1px solid #cdd5e0;border-radius:9px;background:#fff;padding:11px 12px;color:#1e293b;outline:0}.trial-panel input:focus,.trial-panel select:focus,.trial-panel textarea:focus{border-color:#3b74e4;box-shadow:0 0 0 3px rgba(59,116,228,.1)}.trial-panel textarea{resize:vertical}.trial-trap{position:absolute!important;left:-9999px!important}.trial-error{min-height:18px;margin:0 0 5px;color:#a03535;font-size:11px}.trial-open{overflow:hidden}
@media(max-width:600px){.trial-dialog{padding:0;align-items:end}.trial-panel{width:100%;max-height:92svh;border-radius:20px 20px 0 0;padding:24px 18px 20px}.trial-panel header h2{font-size:24px}.trial-grid{grid-template-columns:1fr;gap:0}.trial-button small{max-width:150px;text-align:right}}

/* CONTROL_NORMALIZE_V41 */
button{-webkit-appearance:none;appearance:none;background-image:none;text-shadow:none;font-family:inherit}
button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(59,116,228,.16)}
.password-wrap button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;border-radius:8px}
.password-wrap button:hover{background:#eef1f6;color:#274fa6}
@media(max-width:980px){.menu-button{width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:8px}.menu-button:hover{background:rgba(255,255,255,.46)}}
@media(max-width:600px){.trial-button{min-height:48px}}


/* PRECISION_LOGIN_ACCESSIBILITY_V44 */
.desktop-links a,.desktop-login-link,.login-brand,.mobile-menu a{display:inline-flex;align-items:center;min-height:44px;border-radius:8px}
.desktop-links a,.desktop-login-link{padding:0 8px}
.login-brand:focus-visible,.desktop-links a:focus-visible,.desktop-login-link:focus-visible,.mobile-menu a:focus-visible,
.password-wrap button:focus-visible,.submit-button:focus-visible,.trial-button:focus-visible,.trial-close:focus-visible,.menu-button:focus-visible{
 outline:2px solid #274fa6;outline-offset:3px;box-shadow:none!important;
}
.password-wrap button{min-width:44px;height:44px;right:5px}
.submit-button,.trial-button{min-height:52px}
.trial-close{width:44px;height:44px;right:14px;top:12px}
.menu-button{width:44px;min-height:44px}
@media(max-width:600px){.mobile-menu a{min-height:46px}.login-card{box-shadow:0 18px 48px rgba(30,41,59,.14)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ============================================================
   V60 LOGIN REFINEMENT — unify with workbench teal, light scheme
   ============================================================ */
:root{--green:#3b74e4;--lg-bg:#edf1f8;--lg-brand:#3b74e4;--lg-brand-hover:#2f62c9;--lg-brand-deep:#274fa6}
body,.login-page{background:var(--lg-bg)}
.stage-shade{background:linear-gradient(90deg,rgba(15,23,42,.02) 0%,rgba(15,23,42,0) 64%,rgba(237,241,248,.18) 84%,#edf1f8 100%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,32,27,.12))}
.page-shade{background:linear-gradient(90deg,rgba(237,241,248,0) 0%,rgba(237,241,248,0) 52%,rgba(237,241,248,.55) 68%,rgba(237,241,248,.97) 83%,#edf1f8 100%)}

/* Brand & nav */
.login-brand>span{color:#274fa6}
.login-brand strong{letter-spacing:-.03em;font-weight:680}
.desktop-links a,.desktop-login-link{position:relative;transition:color .18s ease}
.desktop-links a::after,.desktop-login-link::after{content:"";position:absolute;left:8px;right:8px;bottom:8px;height:2px;border-radius:2px;background:var(--lg-brand);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.22,.68,.32,1)}
.desktop-links a:hover,.desktop-login-link:hover{color:var(--lg-brand-deep)}
.desktop-links a:hover::after,.desktop-login-link:hover::after{transform:scaleX(1)}

/* Entrance narrative */
.login-card{animation:lg-card-in .5s cubic-bezier(.22,.68,.32,1) .08s backwards}
.login-nav{animation:lg-fade .4s ease-out backwards}
.character-stage{animation:lg-stage-in .7s ease-out backwards}
@keyframes lg-card-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lg-fade{from{opacity:0}to{opacity:1}}
@keyframes lg-stage-in{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}

/* Card polish */
.login-card{border-radius:20px;border-color:rgba(255,255,255,.85);box-shadow:0 30px 80px rgba(30,41,59,.17),0 2px 8px rgba(30,41,59,.05)}
.login-card-head small i{background:#2fbf8f;box-shadow:0 0 0 4px rgba(47,191,143,.16)}
.login-card h1{font-weight:680;letter-spacing:-.055em}
.login-lead{color:#64786f}

/* Fields */
.field input{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.field input:hover{border-color:rgba(17,21,18,.28)}
.field input:focus{border-color:var(--lg-brand);box-shadow:0 0 0 4px rgba(59,116,228,.13);background:#fff}
.password-wrap button:hover{color:var(--lg-brand-deep)}
.password-wrap button:focus-visible,.submit-button:focus-visible,.trial-button:focus-visible,.trial-close:focus-visible{outline-color:var(--lg-brand-deep)}
.login-brand:focus-visible,.desktop-links a:focus-visible,.desktop-login-link:focus-visible,.mobile-menu a:focus-visible,.menu-button:focus-visible{outline-color:var(--lg-brand-deep)}

/* Submit — gradient CTA with arrow glide */
.submit-button{background:linear-gradient(180deg,#5b8ef0,#3b74e4);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(39,79,166,.25),0 8px 20px rgba(39,79,166,.2);transition:transform .18s cubic-bezier(.22,.68,.32,1),box-shadow .18s ease,background .18s ease}
.submit-button b{transition:transform .22s cubic-bezier(.34,1.45,.44,1)}
.submit-button:hover:not(:disabled){background:linear-gradient(180deg,#3b74e4,#2f62c9);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 8px rgba(39,79,166,.24),0 12px 26px rgba(39,79,166,.26)}
.submit-button:hover:not(:disabled) b{transform:translateX(4px)}
.submit-button:active:not(:disabled){background:var(--lg-brand-deep);transform:translateY(0);box-shadow:inset 0 1px 3px rgba(30,58,115,.4)}
.submit-button:disabled{opacity:.65}

/* Trial entry */
.trial-button{transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.trial-button:hover{border-color:#8fb6f7;background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(30,41,59,.08)}
.trial-entry-message{border-color:#bcd4fb;background:#eef4ff;color:#274fa6}

/* Trial dialog */
.trial-backdrop{background:rgba(15,23,42,.5)}
.trial-panel{animation:lg-card-in .32s cubic-bezier(.34,1.45,.44,1) backwards}
.trial-panel input:focus,.trial-panel select:focus,.trial-panel textarea:focus{border-color:var(--lg-brand);box-shadow:0 0 0 3px rgba(59,116,228,.12)}
.trial-panel .submit-button{margin-top:4px}

/* Mobile shade retint */
@media(max-width:980px){
  .page-shade{background:linear-gradient(180deg,rgba(237,241,248,.04) 0%,rgba(237,241,248,.10) 40%,rgba(237,241,248,.82) 83%,#edf1f8 100%)}
  .stage-shade{background:linear-gradient(180deg,rgba(15,23,42,.02),rgba(15,23,42,.10) 45%,rgba(237,241,248,.92) 100%)}
}
@media(prefers-reduced-motion:reduce){
  .login-card,.login-nav,.character-stage,.trial-panel{animation:none!important}
  .submit-button,.submit-button b,.trial-button,.desktop-links a::after,.desktop-login-link::after{transition:none!important}
}

/* V63.1 unify character art with the blue theme (zero image processing) */
.character-base,.head-canvas{filter:hue-rotate(78deg) saturate(.82) brightness(1.02)}
@media(prefers-reduced-motion:reduce){.character-base,.head-canvas{filter:hue-rotate(78deg) saturate(.82) brightness(1.02)}}
