:root{--ec-ink:#142248;--ec-accent:#7f8ec9;--ec-line:#d9deef}
html,body.login{min-height:100%;background:#fff}
body.login{display:flex;align-items:stretch;justify-content:flex-end;min-height:100vh;color:var(--ec-ink);font-family:'Noto Serif JP','Yu Mincho',serif;position:relative;overflow-x:hidden}
body.login:before{content:'';position:fixed;inset:0 50% 0 0;background:linear-gradient(135deg,rgba(218,218,239,.30),rgba(68,70,111,.18)),url('lavender-hero.webp') center/cover no-repeat;z-index:0}
body.login:after{content:'';position:fixed;left:6%;top:11%;width:34%;height:52%;border:1px solid rgba(255,255,255,.35);background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.04));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:0;pointer-events:none}
#login{box-sizing:border-box;width:50%;max-width:none;margin:0;padding:8vh clamp(58px,8vw,150px) 60px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:#fff}
#login h1{display:none}.ec-login-intro{margin:0 0 28px}.ec-login-intro small{display:block;color:#6276b4;font-size:11px;letter-spacing:.22em;margin-bottom:14px}.ec-login-intro h2{font-size:32px;font-weight:400;letter-spacing:.05em;margin:0 0 8px;color:var(--ec-ink)}.ec-login-intro p{margin:0;color:#66718d;font-size:14px}
.login form{border:1px solid var(--ec-line);box-shadow:none;padding:30px 32px 26px;border-radius:10px;background:#fff}.login label{color:var(--ec-ink);font-size:14px}.login form .input,.login input[type=password],.login input[type=text]{border:1px solid #b9c4df;border-radius:7px;box-shadow:none;background:#fbfcff;color:var(--ec-ink);font-size:16px;padding:10px 12px;min-height:48px}.login input:focus{border-color:#7b8bc7;box-shadow:0 0 0 1px #7b8bc7}.wp-core-ui .button-primary{min-height:46px;border-radius:7px;border-color:#7888c5;background:linear-gradient(115deg,#7887c3,#8d9bd0);box-shadow:none;text-shadow:none;padding:0 28px;font-family:inherit}.wp-core-ui .button-primary:hover{background:#7181bc;border-color:#7181bc}.login .button.wp-hide-pw{color:#5b6eaa}.login #nav,.login #backtoblog{padding:0;margin:20px 0 0;font-size:13px}.login #backtoblog{margin-top:10px}.login #nav a,.login #backtoblog a{color:#50649e}.login .privacy-policy-page-link{margin:20px 0 0;text-align:left}
.ec-admin-login-brand{position:fixed;left:7.2%;top:15%;bottom:10%;width:34%;z-index:1;display:flex;flex-direction:column;justify-content:space-between;color:#fff;text-shadow:0 2px 18px rgba(23,29,58,.16);pointer-events:none}.ec-admin-login-mark{display:flex;align-items:center;gap:20px;filter:brightness(0) invert(1);opacity:.96}.ec-admin-login-mark img:first-child{width:72px;height:72px}.ec-admin-login-mark img:last-child{width:min(250px,62%);height:auto}.ec-admin-login-copy small{font-size:10px;letter-spacing:.30em;color:#fff}.ec-admin-login-copy p{font-size:clamp(30px,3.2vw,50px);line-height:1.55;margin:14px 0 0;letter-spacing:.06em}
.login .message,.login .notice,.login .success{border-left-color:#7b8bc7;box-shadow:none;border-radius:5px;background:#f7f8fc;color:var(--ec-ink)}
@media(max-width:820px){body.login{display:block;background:#fff;padding:0}body.login:before{position:absolute;inset:0 0 auto;height:240px;background:linear-gradient(rgba(38,47,86,.18),rgba(38,47,86,.26)),url('lavender-hero.webp') center/cover no-repeat}body.login:after{display:none}.ec-admin-login-brand{position:relative;left:auto;top:auto;bottom:auto;width:auto;height:240px;padding:32px 24px 25px;justify-content:space-between}.ec-admin-login-mark{gap:13px}.ec-admin-login-mark img:first-child{width:48px;height:48px}.ec-admin-login-mark img:last-child{width:170px}.ec-admin-login-copy p{font-size:25px;line-height:1.45;margin-top:8px}.ec-admin-login-copy small{font-size:8px}#login{width:100%;padding:34px 22px 45px;min-height:auto;display:block}.ec-login-intro{margin-bottom:22px}.ec-login-intro h2{font-size:28px}.login form{padding:24px 20px}.login #nav,.login #backtoblog{margin-left:2px}}
@media(max-width:380px){.ec-admin-login-brand{height:215px}.ec-admin-login-copy p{font-size:22px}#login{padding-inline:16px}.login form{padding:22px 16px}}
