html{font-size:clamp(1rem,calc(1rem + (100vw - 90rem) * .0075),1.375rem)}
:root{--ink:#253a32;--muted:#75827b;--green:#28634e;--lime:#d0e887;--paper:#f4f6f2;--line:#dfe6df;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}svg{display:block;flex-shrink:0}button:focus-visible{outline:3px solid #7fac69;outline-offset:0.25rem}.login-shell{min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{position:relative;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;padding:clamp(2rem,4.7vw,5rem);color:#f5f7ee;background:#203c31}.login-story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#d0e88708 1px,transparent 1px),linear-gradient(90deg,#d0e88708 1px,transparent 1px);background-size:4.25rem 4.25rem;mask-image:linear-gradient(130deg,#000,transparent 75%)}.login-brand,.story-copy,.login-story>footer{position:relative;z-index:2}.login-brand{display:flex;align-items:center;gap:0.8125rem}.login-brand img,.mobile-brand img{width:2.875rem;height:2.875rem;object-fit:cover;border-radius:0.875rem}.login-brand span,.login-brand strong{display:block}.login-brand span{font:600 0.5625rem/1.5 monospace;letter-spacing:.18em;color:var(--lime)}.login-brand strong{font-size:1.4375rem;letter-spacing:.08em;margin-top:2px}.story-copy{margin:auto 0;padding:5rem 0 6.25rem}.eyebrow{display:flex;align-items:center;gap:0.625rem;font-size:0.8125rem;letter-spacing:.2em;color:var(--lime);margin:0 0 1.75rem}.eyebrow>span{width:1.5rem;height:1px;background:var(--lime)}.story-copy h1{margin:0;font-weight:500;font-size:clamp(2.5rem,4.05vw,4.5rem);line-height:1.35;letter-spacing:-.045em}.story-copy h1 span{color:var(--lime)}.story-copy>p:not(.eyebrow){font-size:0.9375rem;line-height:1.95;color:#c1cfc3;margin:1.625rem 0 0}.story-features{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.375rem}.story-features>span{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:#d4dfd2}.story-features svg{width:1.0625rem;height:1.0625rem;color:var(--lime)}.login-story>footer{display:flex;align-items:center;gap:0.5625rem;color:#9fb4a5;font-size:0.6875rem;letter-spacing:.04em}.login-story>footer>i{width:0.375rem;height:0.375rem;background:var(--lime);border-radius:50%}.login-story>footer>b{margin-left:auto;font:0.6875rem monospace}.robot-orbit{position:absolute;width:29.375rem;aspect-ratio:1;right:-13.75rem;bottom:-9.6875rem;opacity:.5;pointer-events:none}.orbit{position:absolute;border:1px solid #d0e88745;border-radius:50%;inset:0}.orbit-two{inset:16%;border-style:dashed}.robot-mark{position:absolute;inset:32%;border:1px solid #d0e88766;display:grid;place-content:center;border-radius:32%;transform:rotate(45deg)}.robot-mark span{font:3rem Georgia,"Songti SC",serif;color:var(--lime);transform:rotate(-45deg)}.robot-mark i{display:none}.signal{position:absolute;width:0.375rem;height:0.375rem;background:var(--lime);border-radius:50%}.signal-one{top:2%;left:34%}.signal-two{top:30%;right:3%}.signal-three{bottom:21%;left:8%}
.login-panel{min-height:100svh;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;padding:4rem 2rem 1.625rem;background:var(--paper)}.login-card{width:min(100%,29rem);padding:2.625rem 2.5rem 1.875rem;background:#fff;border:1px solid #e4eae2;border-radius:1.5rem;box-shadow:0 1.25rem 4.0625rem -2.1875rem #24473140}.mobile-brand{display:none}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:0.25rem;padding:0.25rem;margin-bottom:1.625rem;background:#f1f4ef;border:1px solid #e4eae2;border-radius:0.75rem}.role-switch button{height:2.5rem;border:0;border-radius:0.5625rem;background:transparent;color:var(--muted);font-size:0.8125rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.role-switch button:hover{color:var(--green)}.role-switch button[aria-pressed=true]{background:#fff;color:var(--green);box-shadow:0 1px 3px #24473120,0 0 0 1px #dfe6df}.step em,.account-hint em{font-style:normal}.step{display:inline-flex;align-items:center;gap:0.375rem;background:#eef5e7;color:#47672f;border-radius:0.375rem;padding:0.375rem 0.5625rem;font-size:0.6875rem;font-weight:600}.step svg{width:0.875rem;height:0.875rem}.login-card h2{font-size:2.125rem;line-height:1.3;font-weight:600;letter-spacing:-.04em;margin:1.25rem 0 0.625rem}.intro{font-size:0.8125rem;line-height:1.8;color:var(--muted);margin:0}.account-hint{display:flex;align-items:flex-start;gap:0.4375rem;color:#6c8073;font-size:0.6875rem;line-height:1.7;margin:1.375rem 0 1.75rem;padding:0.6875rem 0.75rem;background:#f5f8f3;border-radius:0.5rem}.account-hint svg{width:0.875rem;height:0.875rem;margin-top:2px}.login-card form{display:grid;gap:1.3125rem}.login-card label>span{display:block;font-size:0.8125rem;font-weight:600;margin-bottom:0.5625rem}.field{height:3.25rem;display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;background:#fafbf9;border:1px solid var(--line);border-radius:0.625rem;transition:border-color .15s,box-shadow .15s}.field:focus-within{border-color:#57866b;box-shadow:0 0 0 3px #57866b14;background:#fff}.field>i{display:flex;align-items:center;justify-content:center;color:#879b8a}.field svg{width:1.125rem;height:1.125rem}.field input{min-width:0;width:100%;height:100%;padding:0 0.625rem 0 0;border:0;outline:0;background:transparent;color:var(--ink);border-radius:0.5625rem;font-size:0.875rem}.field input::placeholder{color:#9ba69c}.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 3.75rem #f4f8ef inset;-webkit-text-fill-color:var(--ink)}.field button{display:grid;place-content:center;width:2.5rem;height:2.5rem;margin-right:0.3125rem;padding:0;border:0;border-radius:0.4375rem;background:transparent;color:#829183}.field button:hover{background:#eaf0e8;color:var(--green)}.eye-hide{display:none}#togglePassword[aria-pressed=true] .eye-show{display:none}#togglePassword[aria-pressed=true] .eye-hide{display:block}.login-message{display:none;margin:-0.3125rem 0 0;padding:0.625rem 0.75rem;border:1px solid #e8ceca;border-radius:0.5rem;background:#fff5f2;color:#a23e33;font-size:0.75rem;line-height:1.6}.login-message.show{display:block}.login-submit{height:3.25rem;display:flex;align-items:center;justify-content:center;gap:0.75rem;border:1px solid #28634e;border-radius:0.625rem;background:var(--green);color:#fff;font-size:0.875rem;font-weight:600;box-shadow:0 0.375rem 0.75rem #28634e18;transition:background .15s,box-shadow .15s}.login-submit:hover{background:#1f523f;box-shadow:0 0.5rem 1.125rem #28634e26}.login-submit b{display:flex}.login-submit svg{width:1.125rem;height:1.125rem}.login-submit:disabled{opacity:.65;cursor:wait}.security-note{display:flex;align-items:center;justify-content:center;gap:0.625rem;margin-top:1.75rem;padding-top:1.4375rem;border-top:1px solid #edf0e9}.security-note>i{color:#77936f}.security-note p{margin:0}.security-note strong,.security-note span{display:block;font-size:0.6875rem;line-height:1.7}.security-note strong{color:#657b67;font-weight:500}.security-note span{color:#97a094;font-size:0.625rem}.panel-footer{margin-top:2rem;color:#8e9b8e;font-size:0.625rem;text-align:center;line-height:1.8}

@media(max-width:1050px){.login-story{padding:2.25rem}.story-copy h1{font-size:2.625rem}.story-features{gap:1rem}.login-panel{padding-inline:1.5rem}.login-card{padding:2rem 1.625rem}.story-copy>p:not(.eyebrow){font-size:0.8125rem}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-panel{padding:2.5rem 1.375rem 1.5rem;min-height:100svh}.login-card{width:min(100%,27.5rem);padding:2rem 1.75rem;border-radius:1.25rem}.mobile-brand{display:flex;align-items:center;gap:0.625rem;margin-bottom:2rem}.mobile-brand img{width:2.25rem;height:2.25rem;border-radius:0.6875rem}.mobile-brand strong{font-size:1.25rem;letter-spacing:.08em}.login-card h2{font-size:1.875rem}.field input{font-size:1rem}.intro{font-size:0.75rem}}
@media(max-width:400px){.login-panel{padding:1.5rem 1rem 1.25rem}.login-card{padding:1.75rem 1.375rem}.account-hint{font-size:0.625rem}.mobile-brand{margin-bottom:1.75rem}.login-card form{gap:1.1875rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
