body.utena-login{margin:0;background:var(--portal-bg);color:var(--portal-white);font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color-scheme:dark}
.utena-login *{box-sizing:border-box}.utena-login a{color:inherit;text-decoration:none}.utena-login a:focus-visible,.utena-login button:focus-visible{outline:2px solid var(--portal-pink);outline-offset:4px}
.portal-login-shell{width:90%;max-width:1180px;min-height:100svh;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:36px 0}.portal-login-copy{min-width:0}.portal-login-header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--portal-muted);font-size:9px;letter-spacing:1px;border-top:1px solid var(--portal-line);padding-top:14px}.portal-login-header a{color:var(--portal-white)}.portal-login-header a span{color:var(--portal-pink);padding:0 5px}.portal-login-intro{margin:40px 0 27px}.portal-login-intro p{color:var(--portal-pink);letter-spacing:2px;font-size:10px;margin:0 0 22px}.portal-login-intro h1{color:var(--portal-pink);font:400 clamp(80px,10.4vw,132px)/.85 var(--portal-serif);letter-spacing:-.055em;margin:0 0 28px -4px}.portal-login-intro h1 span{color:#bc2f65}.portal-login-intro h2{font:400 clamp(27px,2.6vw,32px)/1.5 var(--portal-serif);letter-spacing:2px;margin:0}.portal-login-footer{display:flex;justify-content:space-between;gap:16px;margin-top:30px;border-top:1px solid var(--portal-line);padding-top:18px;font-size:10px;color:var(--portal-muted)}.portal-login-footer a{color:var(--portal-pink)}
/* Scoped to the native login entry; the authenticated panel is untouched. */
.utena-login .login-app{--color-text:var(--portal-white);--color-text-subtle:var(--portal-muted);--bg-card-solid:var(--portal-bg);--color-accent:var(--portal-pink);background:transparent!important;min-height:0;overflow:visible}
.utena-login .login-wrapper{display:block;min-height:0;padding:0}.utena-login .login-content{background:transparent!important}.utena-login .login-app::before,.utena-login .login-app::after,.utena-login .login-content::before,.utena-login .login-content::after,.utena-login .login-wrapper::before,.utena-login .login-wrapper::after,.utena-login .login-card::before{display:none}
.utena-login .login-card{padding:0;max-width:none;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.utena-login .login-card>.brand,.utena-login .welcome{display:none}.utena-login #login-theme-cycle,.utena-login .login-toolbar{display:none}.utena-login .login-toolbar{position:fixed;top:12px;right:12px}.utena-login .toolbar-btn{width:32px;min-width:32px;height:32px}
.utena-login .login-form .ant-form-item-label>label{color:var(--portal-muted);font-size:12px;font-weight:400}.utena-login .login-form .ant-input-affix-wrapper{border:1px solid #654253;border-radius:0;background:#181419;padding:12px 14px;color:var(--portal-white);box-shadow:none}.utena-login .login-form .ant-input-affix-wrapper:hover,.utena-login .login-form .ant-input-affix-wrapper-focused{border-color:var(--portal-pink)}.utena-login .login-form .ant-input{color:var(--portal-white);background:transparent;font-size:14px}.utena-login .login-form .ant-input::placeholder{color:#947f8b}.utena-login .login-form .ant-input-prefix,.utena-login .login-form .ant-input-password-icon{color:var(--portal-muted)}.utena-login .login-form .ant-input-prefix{margin-right:10px}.utena-login .login-form .ant-btn-primary{height:48px;background:var(--portal-pink);color:var(--portal-bg);border:1px solid var(--portal-pink);border-radius:0;box-shadow:none;font-weight:600}.utena-login .login-form .ant-btn-primary:hover{background:#ff8db9!important;color:var(--portal-bg)!important;border-color:#ff8db9!important}.utena-login .login-form .ant-form-item-explain-error{color:#ff9baf}.utena-login .login-form .ant-input-affix-wrapper-status-error{border-color:#ff9baf}.utena-login .login-loading{padding:40px 0}.utena-login .ant-spin{color:var(--portal-pink)}
@media(max-width:700px){.portal-login-shell{width:88%;grid-template-columns:1fr;gap:38px;padding:44px 0 28px;max-width:460px}.portal-login-intro{margin-top:32px}.portal-login-intro h1{font-size:clamp(78px,22vw,110px)}.portal-login-header{font-size:8px}.portal-login-footer{font-size:9px}.portal-login-shell>.portal-art-panel{width:100%}.utena-login .login-toolbar{top:6px;right:7px}}

/* Equal-height desktop columns share their top rule and bottom footer band. */
@media(min-width:701px){.portal-login-shell{align-items:stretch;align-content:center}.portal-login-copy{display:flex;flex-direction:column}.portal-native-form{margin-bottom:30px}.portal-login-footer{margin-top:auto;min-height:55px;align-items:center;padding:17px 0}}

/* Match the user login: underline fields, generous touch targets, square action. */
.utena-login .login-form .ant-form-item-label>label{font-size:11px;letter-spacing:1px}
.utena-login .login-form .ant-input-affix-wrapper{min-height:48px;border:0;border-bottom:1px solid #654253;border-radius:0;background:transparent;padding:10px 2px;transition:border-color .2s,box-shadow .2s}
.utena-login .login-form .ant-input-affix-wrapper:hover{border-bottom-color:#b27893}
.utena-login .login-form .ant-input-affix-wrapper-focused{border-bottom-color:var(--portal-pink);box-shadow:0 1px 0 var(--portal-pink)}
.utena-login .login-form .ant-input-affix-wrapper-status-error{border-bottom-color:#ff9baf}
.utena-login .login-form .ant-input{font-size:16px}
.utena-login .login-form .ant-btn-primary{width:min(100%,280px);height:50px;border:0;border-radius:0;padding:12px 28px;letter-spacing:3px;transition:background .2s,transform .2s}
.utena-login .login-form .ant-btn-primary:hover{transform:translateY(-1px)}
.utena-login .login-form .ant-btn-primary:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.utena-login .login-form .ant-input-affix-wrapper,.utena-login .login-form .ant-btn-primary{transition:none;transform:none}}

/* Match the user login labels and placeholder alignment. */
.utena-login .login-form .ant-input-prefix{display:none}
.utena-login .login-form .ant-input::placeholder{opacity:1}

/* Mirror the user entry: a quiet rose at the right of the login title. */
.portal-login-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px}
.portal-login-heading h2{margin:0}
.portal-login-heading .login-rose{display:block;width:52px;height:52px;margin-right:4px;color:var(--portal-pink)}
@media(max-width:700px){.portal-login-heading{min-height:44px}.portal-login-heading .login-rose{width:44px;height:44px}}
