@charset "UTF-8";
:root{--paper:#f7f7f2;--white:#fffefa;--ink:#273b33;--muted:#7a8178;--green:#224b3c;--green-dark:#173d35;--line:#e6e8dd;--gold:#b48b4c;--serif:'Noto Serif SC','Source Han Serif SC','Songti SC','STSong','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}button,input{font:inherit}button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(330px,43%) 1fr}.intro{background:var(--green-dark);color:#dce4d9;padding:50px clamp(36px,5.3vw,90px);display:flex;flex-direction:column;position:relative;overflow:hidden}.intro:after{content:'象';position:absolute;right:-20px;bottom:65px;font-family:var(--serif);font-size:300px;line-height:1;color:#c9c09d;opacity:.035;pointer-events:none}.brand{display:flex;align-items:center;gap:13px}.brand-seal{width:43px;height:46px;display:grid;place-items:center;flex-shrink:0;border:1px solid #c9c09d;border-radius:4px;color:#f3ead2;font-family:var(--serif);font-size:29px;line-height:1;background:#2d5141}.brand b{display:block;font-family:var(--serif);color:#f6f2e6;font-size:23px;font-weight:500;letter-spacing:3px;white-space:nowrap}.brand small{display:block;font-size:7px;letter-spacing:1.8px;color:#a9b8a7;margin-top:2px}.intro-copy{margin:auto 0;padding:70px 0;position:relative;z-index:1}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#8d9a82}.intro .eyebrow{color:#a8b899;font-size:11px;letter-spacing:3px}.intro h1{font-family:var(--serif);font-size:clamp(37px,4vw,59px);font-weight:500;letter-spacing:4px;line-height:1.6;margin:21px 0;color:#f2eedf}.intro-copy>p{font-size:12px;color:#a4b9a7;letter-spacing:1px;line-height:2.3}.intro-foot{display:flex;gap:16px;align-items:center;color:#b9c9b5;font-family:var(--serif);position:relative;z-index:1}.intro-foot>span{font-size:35px;color:#c4b184}.intro-foot p{font-size:12px;letter-spacing:1px}.intro-foot small{display:block;color:#8fa995;font-family:var(--sans);font-size:9px;margin-top:5px}.login-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:75px 42px 100px}.login-card{width:100%;max-width:360px}.login-card h2{font-family:var(--serif);font-size:33px;letter-spacing:2px;line-height:1.5;font-weight:500;margin:9px 0 10px}.login-description{color:var(--muted);font-size:12px}.login-card form{margin-top:33px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;color:#52624d;margin-bottom:9px}.field input{display:block;width:100%;min-width:0;border:1px solid #dce2d3;border-radius:5px;height:48px;background:var(--white);padding:11px 14px;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input::placeholder{font-size:12px;color:#969d93}.field input:focus{border-color:#8c9f78}.field input[aria-invalid=true]{border-color:#b56c57}.login-message{min-height:26px;font-size:12px;color:#9b4b36;margin:0 0 13px;line-height:1.8}.login-message.is-info{color:#6f7e60}#login-submit{width:100%;height:47px;display:flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:5px;cursor:pointer;background:var(--green);color:#f5f5e9;font-size:13px;box-shadow:0 4px 12px #234b3c0e;touch-action:manipulation;transition:background .15s}#login-submit:hover{background:#163c2d}#login-submit:disabled{cursor:wait;opacity:.68}.login-note{font-size:10px;letter-spacing:2px;text-align:center;color:#9aa28d;margin-top:26px}.login-panel footer{position:absolute;bottom:31px;font-size:9px;letter-spacing:.5px;color:#a2a995;text-align:center}.login-panel footer span{margin:0 9px}.noscript{font-size:12px;color:#9b4b36;margin-top:15px}
@media(max-width:850px){.login-shell{grid-template-columns:38% 1fr}.intro{padding:38px 28px}.brand{gap:9px}.brand b{font-size:20px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1.3px}.brand-seal{width:36px;height:41px;font-size:26px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro h1{font-size:35px;letter-spacing:2px}.intro-copy>p{font-size:11px;letter-spacing:0}.intro-foot>span{display:none}.intro-foot p{font-size:10px}.login-panel{padding:65px 35px 90px}}
@media(max-width:600px){.login-shell{display:block}.intro{padding:25px 24px 28px}.brand b{font-size:21px}.intro-copy{padding:28px 0 0}.intro .eyebrow{font-size:9px;letter-spacing:2px}.intro h1{font-size:30px;line-height:1.5;margin:12px 0 0}.intro h1 br{display:none}.intro-copy>p,.intro-foot{display:none}.intro:after{font-size:180px;right:14px;bottom:-27px;opacity:.06}.login-panel{padding:34px 24px 32px;min-height:calc(100dvh - 222px);align-items:stretch}.login-card{max-width:390px;margin:auto}.login-card h2{font-size:28px;margin:6px 0 8px}.login-card form{margin-top:26px}.login-card>.eyebrow{font-size:9px}.field{margin-bottom:18px}.field input{font-size:16px}.login-note{margin-top:22px}.login-panel footer{position:static;margin-top:38px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
