*{box-sizing:border-box}body{margin:0;background:#f7f5ef;color:#263b33;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.intro{background:#e8ece3;padding:48px 64px;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand{font-family:Georgia,serif;font-size:30px;letter-spacing:-2px;display:flex;align-items:center;gap:18px}.brand span{font-family:inherit;font-size:14px;letter-spacing:3px;border-left:1px solid #afbaac;padding-left:18px}.story{margin:auto 0;padding:60px 0 25px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:600;color:#718373;margin:0 0 24px}h1{font-family:Georgia,"Songti SC","Noto Serif CJK SC",serif;font-weight:500;font-size:clamp(30px,3vw,48px);line-height:1.6;letter-spacing:2px;margin:0 0 25px}.description{color:#6b7c6e;font-size:15px;line-height:2}.intro-footer{color:#7d8b7d;font-size:12px;letter-spacing:2px}.book-art{height:164px;margin-top:42px;display:flex;align-items:end;gap:12px;border-bottom:2px solid #a7b09e;padding:0 20px;max-width:325px}.book{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;letter-spacing:4px;font:11px Georgia,serif;border-radius:3px 5px 0 0;box-shadow:inset 4px 0 #fff2,inset -3px 0 #0001}.book-one{height:138px;width:54px;background:#637766;color:#edece1;transform:rotate(-9deg);margin:0 8px 2px}.book-two{height:155px;width:62px;background:#c2b498;color:#455a48}.book-three{height:119px;width:48px;background:#9eae96;color:#3c523e}.form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 40px;position:relative}.card{width:100%;max-width:350px}.card .eyebrow{margin-bottom:15px}h2{font-family:Georgia,"Songti SC",serif;font-size:30px;font-weight:500;letter-spacing:1px;margin:0 0 12px}.subtitle{font-size:14px;color:#819083;margin:0 0 36px}form>label{display:block;font-size:13px;font-weight:500;margin:21px 0 9px}input:not([type=checkbox]){width:100%;height:52px;background:#fff9;border:1px solid #d5dcd1;border-radius:7px;color:#263b33;padding:0 15px;font-size:16px;outline:none}input:focus{border-color:#657d64;box-shadow:0 0 0 3px #657d6420}input::placeholder{color:#9ba399;font-size:14px}.password-field{position:relative}.password-field input{padding-right:70px}.password-field button{position:absolute;right:5px;top:5px;border:0;background:transparent;color:#718373;font-size:12px;min-height:42px;min-width:56px;cursor:pointer}.remember{display:flex;align-items:center;gap:10px;margin:22px 0 5px;cursor:pointer}.remember input{accent-color:#526b53;width:17px;height:17px;margin:0}.remember-note{margin:0 0 26px 27px;color:#8b9488;font-size:12px;line-height:1.8}.submit{border:0;background:#3e5c46;color:#fff;width:100%;height:52px;border-radius:7px;padding:0 19px;text-align:left;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.submit:hover{background:#304c39}.submit span{font-size:21px}.footnote{margin-top:24px;color:#96a08f;font-size:12px;text-align:center}.panel-footer{position:absolute;bottom:38px;font-size:9px;letter-spacing:3px;color:#a2aa99}.error{font-size:13px;line-height:1.6;color:#8b3b2c;background:#f7eae3;padding:12px;border-radius:6px}.error[hidden]{display:none}button:focus-visible,a:focus-visible{outline:3px solid #8fa589;outline-offset:3px}.logout-page{min-height:100svh;display:grid;place-items:center;padding:24px}.logout-page .card{background:#fff8;padding:32px;border:1px solid #d5dcd1;border-radius:10px}.logout-page a{display:block;margin-top:20px;text-align:center;font-size:14px}@media(max-width:850px){.intro{padding:36px}.form-panel{padding:50px 30px}h1{font-size:30px}.book-art{padding-left:0}}@media(max-width:600px){.layout{display:block}.intro{padding:24px 28px;background:#e8ece3}.brand{font-size:26px}.brand span{font-size:12px}.story,.intro-footer{display:none}.form-panel{min-height:calc(100svh - 80px);padding:44px 28px 72px}.card{max-width:370px}h2{font-size:28px}.panel-footer{bottom:24px}}
