:root{--auth-ink:#183b37;--auth-teal:#174c47;--auth-gold:#d1b886;--auth-cream:#f5f3eb}
.auth-locked{margin:0;background:var(--auth-cream);color:var(--auth-ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.auth-screen,.auth-screen *,.auth-account,.auth-account *{box-sizing:border-box}
.auth-screen{display:grid;grid-template-columns:minmax(340px,1fr) minmax(400px,1fr);min-height:100dvh;max-width:none;margin:0;padding:0}
.auth-screen button,.auth-screen input{font:inherit}
.auth-screen button,.auth-screen a,.auth-account button,.auth-account a{-webkit-tap-highlight-color:transparent}
.auth-screen button,.auth-account button{cursor:pointer}
.auth-screen button:disabled,.auth-account button:disabled{cursor:wait;opacity:.55}
.auth-screen button:focus-visible,.auth-screen a:focus-visible,.auth-account button:focus-visible,.auth-account a:focus-visible{outline:3px solid #b29154;outline-offset:4px}
.auth-screen a,.auth-account a{color:inherit;text-decoration:none}
.auth-story{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:720px;padding:48px clamp(36px,6vw,110px);color:#f2eee0;background:radial-gradient(ellipse at 80% 20%,#28645b 0,transparent 55%),#123c38}
.auth-story:before{position:absolute;content:"";inset:22px;border:1px solid #bfa97940;border-radius:2px;pointer-events:none}
.auth-wordmark{display:flex;gap:13px;align-items:center;font-size:31px;color:#d1b886!important;position:relative;z-index:1;width:max-content}
.auth-wordmark span{font:12px/1.4 Georgia,serif;letter-spacing:3px}
.auth-wordmark b{font-weight:400;display:block;font-size:9px;letter-spacing:7px;color:#e8e3d3;margin-top:2px}
.auth-story-copy{position:relative;z-index:1;margin:auto 0;padding:80px 0}
.auth-eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:600;margin:0 0 22px}
.auth-story-copy .auth-eyebrow{color:#c2af83}
.auth-story h1{font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(36px,4vw,62px);line-height:1.45;font-weight:400;letter-spacing:4px;margin:0 0 27px}
.auth-story-copy>p:not(.auth-eyebrow){font-size:13px;line-height:2.2;color:#b6c7ba;margin:0}
.auth-story-line{width:52px;height:1px;background:#ad9867;margin:32px 0 20px}
.auth-story-copy>span{font-size:11px;letter-spacing:1px;color:#a7baaa}
.auth-story-foot{font-size:10px;color:#8ca69a;margin:0;position:relative;z-index:1}
.auth-decoration{position:absolute;bottom:115px;right:-30px;transform:rotate(-17deg);opacity:.08;display:flex;gap:16px;pointer-events:none}
.auth-decoration span{display:grid;place-items:center;width:145px;height:200px;border:2px solid #e3d4aa;border-radius:12px;font-size:92px}
.auth-decoration span+span{transform:translateY(-30px) rotate(24deg)}
.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 38px 34px;background:#f7f5ee}
.auth-card{width:100%;max-width:370px;margin:auto 0}
.auth-card>.auth-eyebrow{color:#8a957f;margin-bottom:15px}
.auth-card h2{font-family:"Songti SC","Noto Serif SC",serif;font-size:29px;letter-spacing:1px;font-weight:500;line-height:1.5;margin:0 0 12px;color:#1f4039}
.auth-subtitle{font-size:12px;line-height:1.9;color:#829081;margin:0 0 28px}
.auth-tabs{display:flex;gap:24px;border-bottom:1px solid #dce0d2;margin:25px 0}
.auth-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#899481;padding:10px 2px 13px;font-size:12px}
.auth-tabs button[aria-pressed="true"]{color:#244f42;border-bottom-color:#305a47;font-weight:600}
.auth-field{display:block;font-size:12px;color:#526c58;margin:0 0 19px;font-weight:500}
.auth-field input{display:block;width:100%;height:46px;border:1px solid #d6ddcc;border-radius:5px;background:#fdfcf7;color:#254d3c;padding:10px 13px;margin-top:9px;outline-offset:2px;min-width:0}
.auth-field input:focus{outline:2px solid #8ca88b;border-color:#8ca88b}
.auth-field input::placeholder{font-size:11px;color:#a3ac99}
.auth-field small{display:block;font-size:10px;color:#929e87;font-weight:400;margin-top:7px}
.auth-primary{display:flex;justify-content:center;align-items:center;gap:8px;background:#214d42!important;border:1px solid #214d42;border-radius:5px;color:#f6f2e5!important;padding:13px 18px;min-height:46px;width:100%;font-size:12px;font-weight:500;letter-spacing:.5px;margin-top:23px}
.auth-primary:hover:not(:disabled){background:#153e34!important}
.auth-help{font-size:11px;color:#8a9780;line-height:1.9;margin:20px 0 0;text-align:center}
.auth-help button{font-size:11px;border:0;background:none;color:#37614c;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.auth-form-message{font-size:12px;color:#a0473e;background:#f5e9e1;border-left:2px solid #bd8c72;border-radius:3px;line-height:1.8;padding:10px 12px;margin:15px 0}
.auth-form-message[hidden],.auth-account [hidden]{display:none}
.auth-notice{font-size:11px;line-height:1.9;color:#796d4c;background:#efe9da;border:1px solid #dfd6be;border-radius:5px;padding:12px 14px;overflow-wrap:anywhere;margin:0 0 20px}
.auth-notice code{font-size:11px}
.auth-panel-foot{font-size:10px;line-height:1.9;color:#9aa28e;text-align:center;padding-top:38px;margin:0}
.auth-loading{display:block;width:24px;height:24px;border:2px solid #d8dfce;border-top-color:#496e50;border-radius:50%;animation:auth-spin 1s linear infinite;margin:30px 0}
.auth-account{position:relative;z-index:30;background:#132e2a;color:#dce3d5;border-bottom:1px solid #436153;font:11px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.auth-account-inner{min-height:43px;max-width:1800px;margin:0 auto;padding:8px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.auth-account-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.auth-account-identity strong{font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.auth-account-identity>span:not(.auth-account-dot){color:#9eb3a5;font-size:10px}
.auth-account-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#bfcc9c}
.auth-account nav{display:flex;align-items:center;gap:18px;flex-shrink:0}
.auth-account button{border:0;background:none;color:#d2c49d;font:inherit;padding:0}
.auth-account a:hover,.auth-account button:hover{text-decoration:underline;text-underline-offset:3px}
#auth-account-message{font-size:11px;color:#f0c7a7;background:#4e332a;padding:8px 24px;margin:0}
.auth-ready .rail{top:var(--auth-bar-height,43px)}
.auth-locked:has(>.auth-account) .auth-screen{min-height:calc(100dvh - var(--auth-bar-height,43px))}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.auth-story{padding:38px 40px;min-height:650px}.auth-screen{grid-template-columns:minmax(280px,.85fr) minmax(350px,1fr)}.auth-panel{padding:50px 30px 30px}.auth-story h1{font-size:41px}.auth-story-copy{padding:60px 0}.auth-decoration{right:-75px}.auth-account-inner{padding:8px 16px}}
@media(max-width:680px){.auth-screen{display:block;min-height:100dvh}.auth-story{min-height:0;padding:23px 26px 30px}.auth-story:before{inset:12px}.auth-wordmark{font-size:27px;gap:10px}.auth-wordmark span{font-size:10px}.auth-wordmark b{font-size:7px}.auth-story-copy{padding:29px 0 0;margin:0}.auth-story-copy .auth-eyebrow{font-size:8px;margin-bottom:12px}.auth-story h1{font-size:31px;line-height:1.5;letter-spacing:2px;margin-bottom:12px}.auth-story h1 br{display:none}.auth-story-copy>p:not(.auth-eyebrow){font-size:11px;line-height:1.9}.auth-story-copy>p br{display:none}.auth-story-line,.auth-story-copy>span,.auth-story-foot{display:none}.auth-decoration{bottom:2px;right:4px}.auth-decoration span{width:71px;height:98px;font-size:42px}.auth-panel{padding:34px 25px 25px;min-height:calc(100dvh - 233px)}.auth-card h2{font-size:25px}.auth-card>.auth-eyebrow{font-size:9px;margin-bottom:11px}.auth-subtitle{font-size:11px;margin-bottom:23px}.auth-panel-foot{padding-top:33px}.auth-account-inner{padding:8px 12px;align-items:flex-start;gap:8px;flex-wrap:wrap}.auth-account-identity{gap:7px}.auth-account nav{gap:13px;margin-left:auto;font-size:10px}.auth-account-identity strong{max-width:140px}.auth-account-identity>span:not(.auth-account-dot){font-size:9px}.auth-account{z-index:50}}
@media(prefers-reduced-motion:reduce){.auth-loading{animation:none}}
