body:has(.login-page){background:#fff;color:#242837;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;-webkit-font-smoothing:antialiased}
body:has(.login-page)>header{display:none}
body:has(.login-page)>main{max-width:none;width:100%;padding:0;margin:0}
body:has(.login-page)>footer{position:absolute;bottom:18px;left:40%;width:60%;border:0;padding:0 24px;color:#92909a;font-size:11px;background:transparent}
body:has(.login-page) .install-app{background:transparent;color:#837782;border:1px solid #e7e2e6;margin-bottom:6px;font-weight:500;padding:5px 12px;font-size:10px}
.login-page{display:grid;grid-template-columns:40% 60%;min-height:100svh}
.login-story{position:relative;min-height:820px;background:#f1d0d9;overflow:hidden;padding:52px clamp(30px,4vw,76px) 38px;display:flex;flex-direction:column;isolation:isolate}
.login-brand{color:#865c71;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;text-decoration:none;font-size:25px;font-weight:600;letter-spacing:.03em;align-self:flex-start}
.login-story-copy{position:relative;z-index:1;margin-top:54px;pointer-events:none}
.login-eyebrow{font-size:10px;letter-spacing:.2em;color:#916777;font-weight:600;margin:0 0 15px}
.login-story h1{font-size:clamp(29px,2.6vw,42px);line-height:1.65;letter-spacing:.07em;font-weight:700;color:#624458;margin:0}
.login-art{display:block;position:absolute;z-index:-1;width:100%;height:calc(100% - 215px);left:0;bottom:40px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}
.login-story-foot{font-size:11px;letter-spacing:.12em;color:#916777;margin:auto 0 0;padding-top:490px}
.login-card{width:min(400px,calc(100% - 80px));margin:auto;align-self:center;padding:65px 0 100px}
.login-card-kicker{color:#a28e9b;font-size:12px;letter-spacing:.1em;margin:0 0 9px}
.login-card h2{font-size:27px;line-height:1.5;font-weight:700;letter-spacing:.025em;margin:0 0 10px;color:#272331}
.login-card-description{font-size:12px;color:#8d8791;margin:0 0 31px}
.login-form label{font-size:12px;color:#393441;margin:20px 0 8px;font-weight:700}
.login-form input:not([type=hidden]){display:block;width:100%;height:48px;margin:0;padding:12px 14px;background:#f5f4f6;border:1px solid transparent;border-radius:6px;font-size:16px;line-height:1.5;color:#302b35;transition:border-color .15s,box-shadow .15s}
.login-form input::placeholder{color:#a7a1aa;font-size:12px}
.login-form input:focus{outline:0;border-color:#cb8ca8;box-shadow:0 0 0 3px #e798b320;background:#fff}
.login-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #f5f4f6 inset;-webkit-text-fill-color:#302b35}
.login-card button{font-size:13px;min-height:46px;border-radius:6px;transition:background .15s,transform .15s}
.login-page a:focus-visible,.login-card button:focus-visible{outline:3px solid #cc83a2;outline-offset:3px}
.login-card button:active{transform:translateY(1px)}
.login-card .login-primary{width:100%;background:#bb4674;margin-top:27px;position:relative;letter-spacing:.07em}
.login-primary span{position:absolute;right:18px;font-size:19px;line-height:1.2}
.login-card .login-primary:hover{background:#a43864}
.login-divider{display:flex;align-items:center;gap:14px;font-size:10px;color:#9b929d;margin:23px 0}
.login-divider:before,.login-divider:after{content:"";height:1px;background:#ebe7ec;flex:1}
.login-card .login-passkey{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#625467;border:1px solid #e5dfe7;font-weight:600}
.login-passkey svg{width:19px;height:19px}
.login-card .login-passkey:hover{background:#faf5f8}
.login-card button:disabled{opacity:.55;cursor:wait}
.login-help{font-size:11px;line-height:1.8;color:#938a96;text-align:center;margin:20px 0 0}
.login-status:empty{display:none}
.login-status,.login-error{font-size:12px;color:#9d3857;background:#fdf0f4;padding:10px 12px;border-radius:6px;overflow-wrap:anywhere}
.login-guest{border-top:1px solid #eee9ef;margin-top:28px;padding-top:19px;text-align:center}
.login-guest>span{font-size:11px;color:#99909c}
.login-card .login-guest button{background:transparent;color:#a4426b;min-height:40px;padding:6px 14px;font-size:12px}
.login-guest button span{margin-left:7px}
.login-guest button:hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.login-card{width:420px}.login-story{padding-top:65px}.login-story-copy{margin-top:65px}.login-art{height:calc(100% - 260px)}}
@media(max-height:850px) and (min-width:761px){.login-story{min-height:760px;padding-top:36px}.login-story-copy{margin-top:32px}.login-story-foot{padding-top:430px}.login-card{padding-top:35px;padding-bottom:85px}body:has(.login-page)>footer{position:relative;left:40%;width:60%;margin-top:-55px;bottom:auto;padding-bottom:12px}}
@media(max-width:1000px) and (min-width:761px){.login-story{padding-left:30px;padding-right:24px}.login-story h1{font-size:29px}.login-card{width:calc(100% - 88px)}}
@media(max-width:760px){.login-page{display:block;min-height:0}.login-story{min-height:0;height:245px;padding:24px;display:block}.login-brand{font-size:21px;position:relative;z-index:2}.login-story-copy{margin-top:27px;width:65%}.login-eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:7px}.login-story h1{font-size:25px;line-height:1.6}.login-art{width:46%;height:225px;left:auto;right:-12px;bottom:-15px;object-fit:cover;object-position:center 72%;opacity:.8}.login-story-foot{display:none}.login-card{width:100%;max-width:450px;margin:auto;padding:35px 27px 24px}.login-card h2{font-size:25px}.login-card-description{margin-bottom:26px}.login-help{font-size:10px}body:has(.login-page)>footer{position:static;width:100%;padding:5px 24px 24px;font-size:10px}}
/* Blend the illustration edges into the pink panel without tinting the artwork. */
.login-art{mix-blend-mode:normal;mask-image:radial-gradient(ellipse 69% 64% at 50% 51%,#000 57%,transparent 100%)}
@media(max-width:760px){.login-art{mask-image:linear-gradient(90deg,transparent,#000 26%);opacity:1}}
@media(max-width:760px){.login-story h1{font-size:22px;white-space:nowrap;letter-spacing:.035em}.login-story-copy{width:72%}.login-art{width:42%}}
