*{box-sizing:border-box}html{min-height:100%;background:#101326}body.login-page{margin:0;color:#f6f3ff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 80% 10%,#26203d,transparent 55%),#101326;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:hover{color:#ffc2d2}:focus-visible{outline:2px solid #ffc2d2;outline-offset:5px}.login-skip{position:fixed;top:-70px;left:16px;z-index:10;background:#fff;color:#181a30;padding:12px}.login-skip:focus{top:16px}.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);width:100%;min-height:100svh;margin:0}.login-art{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#151b35}.login-character{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;z-index:-3}.login-art-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(8,12,31,.5),transparent 24%,transparent 46%,rgba(8,12,31,.82) 100%),linear-gradient(90deg,transparent 70%,rgba(13,16,34,.35))}.login-brand{position:absolute;top:38px;left:42px;display:flex;align-items:center;gap:12px;font-size:21px;font-weight:650;letter-spacing:-.5px}.login-brand-icon{font-size:35px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:15px;background:#ffffff0a;color:#ffd4b7}.login-brand small{display:block;font-size:10px;color:#e0deed;font-weight:400;letter-spacing:2px;margin-top:5px}.login-chapter{position:absolute;top:122px;left:45px;font-size:9px;letter-spacing:2px;color:#d8d5e8;border-top:1px solid #ffffff33;padding-top:13px}.login-story{position:absolute;bottom:58px;left:48px;right:28px;text-shadow:0 2px 20px #070b23}.login-story-kicker{font-size:11px;letter-spacing:2px;color:#f4dcdd}.login-story h2{font-size:clamp(30px,3.1vw,50px);font-weight:650;line-height:1.45;letter-spacing:2px;margin:18px 0}.login-story h2 span{color:#ffc0ce}.login-story p{font-size:13px;line-height:1.9;color:#d3d4e5;margin:0}.login-story-line{display:flex;align-items:center;gap:12px;margin-top:28px}.login-story-line i{width:32px;height:2px;background:#eab6a1}.login-story-line span{font-size:8px;letter-spacing:2.1px;color:#c4c4d8}.login-spark{position:absolute;color:#ffe3c9;text-shadow:0 0 20px #ffadae;animation:login-twinkle 4s ease-in-out infinite;pointer-events:none}.spark-one{top:24%;right:18%;font-size:24px}.spark-two{top:47%;left:13%;font-size:16px;animation-delay:1s}.login-panel{display:flex;flex-direction:column;padding:40px 48px 24px;position:relative;background:radial-gradient(ellipse at 100% 0%,#33244066,transparent 48%),radial-gradient(ellipse at 0% 100%,#1a284433,transparent 50%),#121527}.login-panel-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#b1afc6;gap:15px}.login-panel-top>span{display:flex;align-items:center;gap:8px;letter-spacing:1px}.login-panel-top i{width:5px;height:5px;border-radius:50%;background:#dbb3c8;box-shadow:0 0 10px #dbb3c8}.login-panel-top>a{color:#eed2df}.login-form-wrap{width:100%;max-width:clamp(364px,26vw,480px);margin:auto;padding:50px 0 36px}.login-welcome-mark{color:#edb5ca;font-size:38px;line-height:1;margin-bottom:22px}.login-eyebrow{font-size:9px;letter-spacing:2.5px;color:#bdb5d0;margin:0 0 14px}.login-form-wrap h1{font-size:39px;letter-spacing:2px;font-weight:600;line-height:1.3;margin:0 0 12px}.login-form-wrap h1>span{color:#f5aec6}.login-intro{color:#aaa9be;font-size:13px;margin:0 0 35px;line-height:1.8}.login-field{margin-bottom:23px}.login-field label{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;font-weight:500;color:#e7e2ef}.login-field label span{font-size:8px;letter-spacing:1.8px;color:#9995b0;font-weight:400}.login-input-wrap{position:relative}.login-input-wrap>svg{position:absolute;left:16px;top:17px;width:18px;height:18px;stroke:#aaa2bd;fill:none;stroke-width:1.5;pointer-events:none}.login-input-wrap input{width:100%;height:53px;padding:12px 56px 12px 46px;border:1px solid #464059;border-radius:10px;background:#ffffff04;color:#faf7ff;font-size:14px;transition:border-color .2s,background .2s}.login-input-wrap input:focus{border-color:#e9a6c5;background:#ffffff07;outline:2px solid #e9a6c522;outline-offset:2px}.login-input-wrap input::placeholder{color:#848199}.login-input-wrap input:-webkit-autofill{-webkit-text-fill-color:#faf7ff;box-shadow:0 0 0 100px #202035 inset;caret-color:#fff}.login-password-toggle{position:absolute;right:10px;top:8px;padding:9px 6px;border:0;background:transparent;color:#c9bdd5;font-size:11px;cursor:pointer;min-height:36px}.login-form-options{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:0 0 25px;color:#9e9ab3}.login-form-options a{color:#e9c2d4}.login-submit{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border:1px solid #f8bdd4;border-radius:10px;background:linear-gradient(105deg,#f5b6ce,#edb8dd);color:#332239;font-size:14px;font-weight:650;letter-spacing:1px;box-shadow:0 5px 26px #e999c218;cursor:pointer;transition:filter .2s,box-shadow .2s}.login-submit:hover{filter:brightness(1.08);box-shadow:0 5px 30px #e999c230}.login-submit>span:last-child{font-size:22px;line-height:1}.login-divider{display:flex;align-items:center;gap:14px;margin:29px 0 23px;color:#aaa3ba;font-size:10px;letter-spacing:1px}.login-divider:before,.login-divider:after{content:"";height:1px;background:#ffffff13;flex:1}.login-register{display:flex;justify-content:center;gap:8px;font-size:12px;color:#b2a9c1;margin:0}.login-register a{color:#edc1d4}.login-little-note{margin:35px 0 0;text-align:center;color:#a9a1b9;font-size:10px;letter-spacing:1px}.login-little-note span{color:#dbb8b7;margin-right:5px}.login-footer{text-align:center;font-size:9px;color:#9892aa;line-height:1.8}.login-footer>div{display:flex;justify-content:center;gap:14px}.login-footer p{margin:8px 0 2px;font-size:9px;letter-spacing:.8px}.login-error,.login-messages{font-size:12px;line-height:1.7;color:#ffd0db;background:#ff809512;border:1px solid #f49ab540;padding:12px 14px;border-radius:8px;margin-bottom:20px}.login-error p,.login-messages p{margin:0}.login-field-error{font-size:12px;color:#ffc4d6;margin-top:8px}@keyframes login-twinkle{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}

@media(max-width:1050px){.login-panel{padding:32px}.login-brand{left:28px;font-size:18px}.login-chapter{left:31px}.login-story{left:30px;bottom:45px}.login-story-kicker{font-size:10px;letter-spacing:1px}}
@media(max-width:760px){.login-shell{display:block}.login-art{min-height:270px;height:270px}.login-character{object-position:50% 25%}.login-art-shade{background:linear-gradient(90deg,#0c102ba6,transparent 65%),linear-gradient(0deg,#121527,transparent 50%)}.login-brand{top:24px;left:24px;font-size:17px}.login-brand-icon{width:35px;height:35px;font-size:27px;border-radius:10px}.login-brand small{font-size:8px;letter-spacing:1px}.login-chapter{display:none}.login-story{left:26px;bottom:23px;right:14px}.login-story-kicker,.login-story p,.login-story-line{display:none}.login-story h2{font-size:24px;line-height:1.6;margin:0;letter-spacing:1px}.login-story h2 span{display:inline}.spark-one{top:35%;right:15%;font-size:18px}.spark-two{display:none}.login-panel{padding:12px 26px 26px;background:radial-gradient(ellipse at 100% 25%,#33244044,transparent 65%),#121527}.login-panel-top{display:none}.login-form-wrap{padding:16px 0 35px;max-width:420px}.login-welcome-mark{display:none}.login-eyebrow{font-size:8px;margin-bottom:10px}.login-form-wrap h1{font-size:30px;margin-bottom:9px}.login-intro{margin-bottom:26px;font-size:12px}.login-field{margin-bottom:20px}.login-little-note{margin-top:25px}.login-footer{padding-top:10px;border-top:1px solid #ffffff10}.login-form-options{font-size:10px}.login-register{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* One full-viewport shell for the landing page and both account forms. */
.login-panel,.login-form-wrap{min-width:0}.login-panel-top>a{display:flex;align-items:center;gap:8px}.login-panel-top>div{display:flex;align-items:center;gap:24px}.login-panel-top>div a{color:#eed2df}.login-art{position:sticky;top:0;height:100svh;align-self:start}.login-character{object-position:50% 25%}.entry-home .login-form-wrap{max-width:500px}.entry-home h1{font-size:clamp(36px,3vw,54px);line-height:1.5}.entry-home .login-intro{line-height:2;margin-top:20px;margin-bottom:28px}.entry-actions{display:grid;gap:16px}.entry-secondary{display:block;text-align:center;color:#e1bdd2;border:1px solid #63536c;border-radius:10px;padding:16px;font-size:13px}.entry-secondary:hover{background:#ffffff06}.entry-features{border-top:1px solid #ffffff16;margin-top:34px;padding-top:12px}.entry-features article{display:flex;align-items:start;gap:18px;padding:16px 0}.entry-features article>span{font-size:10px;color:#f1bace;margin-top:4px;letter-spacing:2px}.entry-features h2{font-size:14px;font-weight:550;margin:0 0 7px;line-height:1.5}.entry-features p{font-size:12px;color:#b4aec4;line-height:1.8;margin:0}.entry-register .login-form-wrap{padding-top:38px;padding-bottom:32px;max-width:480px}.entry-register .login-intro{margin-bottom:24px}.entry-register .login-register{margin-top:24px;flex-wrap:wrap}.register-field{margin-bottom:18px}.register-field .login-input-wrap input,.register-field select{padding-left:16px}.register-field select{width:100%;height:53px;border:1px solid #464059;border-radius:10px;background:#1c1d31;color:#faf7ff;padding:12px 16px;font:inherit;font-size:14px;color-scheme:dark}.register-field select:focus{border-color:#e9a6c5}.register-help{font-size:11px;color:#b7afc7;line-height:1.7;margin:8px 0 0;overflow-wrap:anywhere}.register-help ul,.login-field-error ul{margin:0;padding-left:18px}.register-field label{gap:12px;line-height:1.6}.register-field label span{flex-shrink:0}.login-input-wrap input,.register-field select{font-size:16px}.login-story{bottom:clamp(28px,5vh,72px)}
@media(min-width:1600px){.login-panel{padding:clamp(40px,4vh,70px) clamp(48px,5vw,160px) 28px}.login-brand{left:clamp(42px,3vw,110px)}.login-chapter{left:clamp(45px,3vw,110px)}.login-story{left:clamp(48px,4vw,140px)}.login-story h2{font-size:clamp(45px,3vw,72px)}}
@media(min-width:761px) and (max-height:750px){.login-art{min-height:650px;height:100svh}.login-story h2{font-size:30px;margin:12px 0}.login-story-kicker{font-size:10px}.login-story p,.login-story-line{display:none}.login-form-wrap{padding-top:24px;padding-bottom:24px}.login-welcome-mark{margin-bottom:14px}.login-panel{padding-top:24px}.login-character{object-position:50% 20%}}
@media(min-aspect-ratio:21/9) and (min-width:761px){.login-character{object-position:50% 18%}}
@media(max-width:760px){.login-art{position:relative;top:auto;height:270px;min-height:270px}.login-panel-top{display:flex;flex-wrap:wrap;gap:12px;padding:10px 0 6px}.login-panel-top>div{gap:20px}.login-panel-top>a{font-size:10px}.login-form-wrap{max-width:480px}.entry-register .login-form-wrap{padding-top:24px}.entry-home .login-form-wrap{padding-top:22px}.entry-home h1{font-size:34px}.entry-home .login-intro{margin-top:12px}.entry-features article{padding:13px 0}.login-register{flex-wrap:wrap}.login-story{bottom:23px}.login-story h2{font-size:24px}.login-panel{padding-left:clamp(20px,6vw,40px);padding-right:clamp(20px,6vw,40px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Password recovery shares the account entry shell and its responsive layout. */
.entry-recovery .login-form-wrap{max-width:480px}.entry-recovery .login-intro{line-height:1.9;margin-bottom:24px}.recovery-steps{display:flex;gap:12px;list-style:none;padding:0;margin:0 0 30px;color:#b1afc6;font-size:11px}.recovery-steps li{flex:1;display:flex;align-items:center;gap:7px;border-bottom:1px solid #ffffff20;padding-bottom:13px}.recovery-steps li span{font-size:10px;letter-spacing:1px}.recovery-steps [aria-current="step"]{color:#ffc2d2;border-color:#e9a6c5}.recovery-question{padding:18px 20px;margin-bottom:24px;border-radius:12px;background:#ffffff05;border:1px solid #ffffff18;overflow-wrap:anywhere}.recovery-question p{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:0 0 12px;font-size:12px;color:#d2c9df}.recovery-question p span{font-size:9px;letter-spacing:1px;color:#b1afc6}.recovery-question h2{font-size:16px;font-weight:500;line-height:1.7;margin:0;color:#f6f3ff}.entry-recovery .login-input-wrap input{min-width:0}.entry-recovery .login-form-options{flex-wrap:wrap;gap:10px}.entry-recovery .login-submit{gap:12px}
@media(max-width:400px){.recovery-steps{gap:8px;font-size:10px}.recovery-steps li{gap:5px}.recovery-question{padding:16px}.entry-recovery .login-field label{flex-wrap:wrap}}
