body.login-pending{height:100vh;height:100dvh;overflow:hidden;background:#fff}
body.login-pending::before,body.login-pending::after{display:none}
#birthday-site[hidden],.site-login[hidden]{display:none!important}
.login-pending .story-next,.login-pending .motion-toggle,.login-pending .story-status{display:none!important}
.site-login{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:30px;overflow-y:auto;overscroll-behavior:contain;padding:calc(7svh + env(safe-area-inset-top,0px)) 28px calc(6svh + env(safe-area-inset-bottom,0px));color:#805766;background:#fff}
.login-portrait{position:relative;flex-shrink:0;width:min(70vw,280px,34svh);aspect-ratio:1;overflow:hidden;margin-top:3svh;background:#fff}
/* Display the central art from the unchanged screenshots, keeping phone UI outside the viewport. */
.login-portrait img{position:absolute;width:200%;max-width:none;height:auto;left:-50%;top:50%;transform:translateY(-50%);object-fit:initial;transition:none!important;animation:none!important}
.login-portrait .portrait-normal{display:block}.login-portrait .portrait-error{display:none}
.login-error .portrait-normal{display:none}.login-error .portrait-error{display:block}
.login-notice{position:fixed;left:50%;top:46%;translate:-50% -50%;z-index:22;min-width:168px;padding:20px 26px;background:#fff;border:1px solid #d4adba;border-radius:9px;box-shadow:0 6px 24px #72536520;color:#805766;text-align:center;font-size:16px;letter-spacing:1px}
.login-notice[hidden]{display:none!important}
.login-form{flex-shrink:0;width:100%;max-width:330px;padding:25px 25px 24px;background:#fff;border:1px solid #e1c7d1;border-radius:12px;box-shadow:none;text-align:left}
.login-form input[readonly]{background:#faf7f8;color:#9c7888}
.login-form label{display:block;font-size:14px;letter-spacing:2px;margin:0 0 10px}
.login-form input{display:block;width:100%;height:48px;border:1px solid #dfbdcd;border-radius:6px;background:#fffdfa;color:#805766;font:16px Arial,'Microsoft YaHei',sans-serif;padding:10px 12px;margin:0 0 23px;outline-offset:3px}
.login-form input:focus{outline:2px solid #c58ba6;border-color:#c58ba6}
.login-form button{display:block;width:100%;min-height:48px;border:1px solid #ba7a98;border-radius:6px;background:#c98ca7;color:#fff;font:15px 'Microsoft YaHei',sans-serif;letter-spacing:4px;cursor:pointer;touch-action:manipulation}
.login-form button:focus-visible{outline:2px solid #a25f81;outline-offset:4px}
.login-form button:active{background:#b97b97}.login-form button:disabled{opacity:.7;cursor:wait}
.login-status{font-size:12px;line-height:1.7;letter-spacing:0;color:#a05e7b;margin:12px 0 0}.login-status:empty{display:none}
@media(max-width:350px){.site-login{padding-inline:24px}.login-form{padding:26px 20px}}
@media(max-height:600px){.site-login{padding-top:22px;padding-bottom:24px;gap:20px}.login-portrait{width:min(43vw,170px,29svh);margin-top:0}.login-notice{top:34%}}
