:root{--paper:var(--theme-paper,#f7f6f2);--purple:var(--tone-7d688e,#7d688e);--ink:#43443c;--muted:#95958b;--serif:Georgia,'Times New Roman',SimSun,serif;--sans:'Segoe UI','Microsoft YaHei',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}input,select,button,a{outline-offset:4px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--purple)}[hidden]{display:none!important}
.login-page{min-height:100dvh;background:radial-gradient(ellipse at 80% 20%,var(--tone-ede7f2,#ede7f2) 0,transparent 42%),var(--paper)}.login-top{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1400px;margin:auto;padding:28px max(28px,env(safe-area-inset-right)) 12px max(28px,env(safe-area-inset-left))}.login-top a{text-decoration:none;color:var(--ink);font:bold 26px var(--serif);display:flex;align-items:center;gap:9px}.login-top a>span:first-child{font-weight:400;font-size:33px;color:var(--purple)}.brand-dot{color:var(--purple);margin-left:-9px}.login-top select{min-height:44px;border:0;color:var(--purple);background:transparent;font-size:14px;padding:6px}
.login-main{display:flex;min-height:calc(100dvh - 88px);flex-direction:column;align-items:center;justify-content:center;padding:28px 20px calc(32px + env(safe-area-inset-bottom))}.login-card{position:relative;width:100%;max-width:430px;padding:36px 38px 30px;background:var(--theme-surface,#fdfcf9);border:1px solid var(--tone-e4dce8,#e4dce8);border-radius:15px;box-shadow:0 12px 50px #63566f08}.login-eyebrow{font-size:9px;line-height:1.8;letter-spacing:2px;color:var(--muted)}.login-flower{position:absolute;right:33px;top:34px;font:34px var(--serif);color:var(--tone-b5a1c2,#b5a1c2)}h1{font:400 34px/1.5 var(--serif);color:var(--purple);margin:23px 0 12px;overflow-wrap:anywhere}.login-intro{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 28px}.login-card label{display:block;font-size:13px;color:#827b75;margin:20px 0 9px}.login-card input{display:block;width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid #dedbd1;background:var(--paper);border-radius:7px;color:var(--ink);font-size:16px}.login-password-field{position:relative}.login-password-field input{padding-right:72px}.login-password-field button{position:absolute;right:5px;top:3px;bottom:3px;max-width:70px;padding:7px 10px;border:0;border-radius:5px;background:transparent;color:var(--purple);font-size:12px;overflow-wrap:anywhere}.login-submit{width:100%;min-height:49px;border:0;border-radius:7px;background:var(--purple);color:#fff;font-size:14px;margin-top:26px;padding:12px 15px}.login-error{font-size:13px;line-height:1.8;color:#a8757f;margin:15px 0 0;overflow-wrap:anywhere}.login-notice{font-size:12px;line-height:1.8;padding:11px;border:1px solid var(--tone-e4dce8,#e4dce8);border-radius:7px;color:var(--purple)}.login-private{display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;line-height:1.8;color:var(--muted);margin:23px 0 0}.login-private>span:first-child{font:19px var(--serif);color:var(--purple)}.login-footer{font:italic 12px var(--serif);color:var(--muted);margin:24px 0 0}
.account-description{font-size:12px;line-height:1.8;color:var(--muted)}.account-signout{width:100%;margin-top:14px;min-height:44px;justify-content:center;border:1px solid var(--tone-e4dce8,#e4dce8);border-radius:7px;font-size:12px}.account-password-link{margin-top:12px;min-height:44px;font-size:12px}.account-password-message{font-size:12px;line-height:1.8}.account-name-readonly{cursor:default}
@media(max-width:580px){.login-top{padding-top:calc(16px + env(safe-area-inset-top));padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right))}.login-top a{font-size:23px}.login-top select{font-size:16px}.login-main{padding:25px 14px calc(24px + env(safe-area-inset-bottom));min-height:calc(100dvh - 78px)}.login-card{padding:28px 23px 25px;border-radius:13px}.login-flower{right:23px;top:28px}h1{font-size:31px}.login-intro{font-size:13px}.account-signout,.account-password-link{font-size:14px}.login-password-field button{font-size:13px}}
@media(max-height:600px){.login-main{justify-content:flex-start}.login-card{padding-block:25px}h1{font-size:28px;margin-top:15px}.login-intro{margin-bottom:16px}}
