/* SEKAI JAPAN — login visual refinement. No form or auth logic changes. */
:root{color-scheme:light;--login-ease:cubic-bezier(.22,1,.36,1)}
html[data-theme="dark"]{color-scheme:dark}
html,body{scroll-behavior:smooth}
body.neu-login-body{
  isolation:isolate;min-height:100dvh;padding:clamp(16px,3vh,30px) 14px;
  background:radial-gradient(ellipse at 12% 14%,rgba(37,99,235,.075),transparent 32%),
             radial-gradient(ellipse at 92% 85%,rgba(14,165,233,.055),transparent 30%),
             var(--neu-bg-grad);
}
html[data-theme="dark"] body.neu-login-body{
  background:radial-gradient(ellipse at 19% 10%,rgba(37,99,235,.10),transparent 38%),
             radial-gradient(ellipse at 91% 91%,rgba(17,77,157,.13),transparent 38%),
             linear-gradient(145deg,#0a1220 0%,#0d1728 55%,#0b1524 100%);
}
.neu-login-wrap{max-width:428px;gap:14px}
.neu-top-bar{padding:0 5px}
.neu-brand-pill{min-height:37px;padding:5px 14px 5px 7px;border-radius:99px}
.neu-theme-toggle{
  width:42px;height:42px;border-radius:14px;
  transition:background-color .24s ease,border-color .24s ease,color .24s ease,transform .24s var(--login-ease),box-shadow .24s ease;
}
.neu-theme-toggle:hover{transform:translateY(-1px);background:var(--neu-tile-bg)}
.neu-card{
  border-radius:30px;padding:31px 28px 25px;
  border:1px solid var(--neu-card-border);
  box-shadow:0 16px 52px rgba(15,32,61,.065),0 3px 10px rgba(15,32,61,.035);
  transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease;
}
html[data-theme="dark"] .neu-card{
  background:#141f33;border-color:rgba(164,194,235,.13);
  box-shadow:0 22px 60px rgba(1,6,17,.27),inset 0 1px 0 rgba(255,255,255,.025);
}
.neu-logo-box{margin-bottom:15px}
.neu-logo-tile{width:88px;height:88px;border-radius:27px;border:1px solid var(--neu-card-border)}
.neu-3d-logo-img{width:72px;height:72px}
.neu-logo-tile:hover{transform:translateY(-2px)}
.neu-header{margin-bottom:22px}
.neu-title{font-size:clamp(23px,4vw,27px);letter-spacing:-.038em;margin-bottom:7px;line-height:1.2}
.neu-subtitle{
  font-size:12.5px;font-weight:500;letter-spacing:0;line-height:1.6;
  text-transform:none;max-width:310px;margin:0 auto;color:var(--neu-text-sub)
}
.neu-form{gap:14px}
.neu-field-group{display:grid;gap:7px}
.neu-field-label{display:block;padding-left:3px;font-size:11.5px;font-weight:750;letter-spacing:.01em;color:var(--neu-text-sub)}
.neu-input-pill{
  min-height:51px;height:51px;padding:0 14px;gap:11px;
  border-radius:15px!important;border:1px solid var(--neu-input-border)!important;
  background:var(--neu-input-bg);
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s var(--login-ease)!important
}
.neu-input-pill:focus-within{
  transform:translateY(-1px);
  border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.14),0 7px 18px rgba(37,99,235,.05)!important
}
html[data-theme="dark"] .neu-input-pill{background:#0c1729;border-color:#344964!important}
html[data-theme="dark"] .neu-input-pill:focus-within{border-color:#78b5ff!important;box-shadow:0 0 0 3px rgba(96,165,250,.17)!important}
.neu-input{height:49px;padding:10px 0!important;font-size:14px;line-height:24px;letter-spacing:0;min-width:0!important}
.neu-input:focus{outline:0!important}
.neu-input-icon{color:var(--neu-text-sub);flex:0 0 20px}
.neu-input-icon svg{width:18px;height:18px}
.neu-eye-toggle{width:36px;height:36px;border-radius:11px;color:var(--neu-text-sub);margin-right:-6px}
.neu-eye-toggle:hover{background:rgba(59,130,246,.09);color:var(--neu-link)}
.neu-options-row{padding:2px 2px 1px;min-height:28px;gap:12px}
.neu-checkbox-text,.neu-forgot-link{font-size:12px}
.neu-checkbox-label{gap:9px}
.neu-checkbox-input:focus-visible+.neu-checkbox-custom{outline:3px solid #93c5fd;outline-offset:3px}
.neu-btn-primary{
  min-height:51px;border-radius:15px;padding:0 51px 0 20px;
  background:linear-gradient(110deg,#2563eb,#1d4ed8);
  box-shadow:0 9px 22px rgba(37,99,235,.17);
  transition:transform .22s var(--login-ease),box-shadow .22s ease,background .22s ease!important
}
.neu-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(37,99,235,.23)}
.neu-btn-primary:active{transform:translateY(0) scale(.995)}
.neu-btn-text{font-size:14.5px;font-weight:800}
.neu-btn-arrow{width:35px;height:35px;right:8px;box-shadow:none;background:rgba(255,255,255,.15)}
.neu-btn-arrow svg{width:17px;height:17px}
.neu-divider{margin:21px 0 15px}
.neu-divider-text{font-size:9.5px;letter-spacing:.15em}
.neu-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
.neu-action-card{
  min-height:68px;min-width:0;padding:11px 10px;border-radius:14px;
  background:var(--neu-tile-bg);gap:10px;box-shadow:none;
  transition:transform .22s var(--login-ease),background-color .22s ease,border-color .22s ease,box-shadow .22s ease
}
.neu-action-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(24,56,92,.10)}
.neu-action-icon{width:34px;height:34px;border-radius:10px}
.neu-action-icon svg{width:19px;height:19px}
.neu-action-text{min-width:0;overflow-wrap:anywhere}
.neu-action-title{font-size:11.5px;line-height:1.3}
.neu-action-desc{font-size:10px;line-height:1.35}
.neu-footer{gap:6px;justify-content:center;flex-wrap:wrap}
.neu-alert{border-radius:13px;text-align:left;font-size:12px;margin-bottom:15px;padding:11px 13px;line-height:1.5}
/* Chrome password-manager autofill: keep text/background in the pill in BOTH themes */
.neu-input:-webkit-autofill,
.neu-input:-webkit-autofill:hover,
.neu-input:-webkit-autofill:focus,
.neu-input:-webkit-autofill:active{
  -webkit-box-shadow:0 0 0 1000px var(--neu-input-bg) inset!important;
  -webkit-text-fill-color:var(--neu-text-title)!important;
  caret-color:var(--neu-text-title)!important;
  box-shadow:0 0 0 1000px var(--neu-input-bg) inset!important;
  border:0!important;border-radius:0!important;
  transition:background-color 9999s ease-out 0s!important;
}
html[data-theme="dark"] .neu-input:-webkit-autofill,
html[data-theme="dark"] .neu-input:-webkit-autofill:hover,
html[data-theme="dark"] .neu-input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #0c1729 inset!important;
  -webkit-text-fill-color:#f4f7ff!important;caret-color:#f4f7ff!important;
  box-shadow:0 0 0 1000px #0c1729 inset!important;
}
.neu-input::selection{background:#93c5fd;color:#0b1830}
.neu-input-pill :is(input,button):focus-visible,
.neu-theme-toggle:focus-visible,.neu-btn-primary:focus-visible,
.neu-action-card:focus-visible,.neu-forgot-link:focus-visible{
  outline:3px solid #60a5fa!important;outline-offset:3px!important
}
@media(max-width:480px){
 body.neu-login-body{padding:16px 12px}
 .neu-login-wrap{max-width:100%;gap:11px}
 .neu-card{padding:24px 18px 22px;border-radius:24px}
 .neu-header{margin-bottom:19px}
 .neu-logo-tile{width:78px;height:78px;border-radius:24px}
 .neu-3d-logo-img{width:66px;height:66px}
 .neu-logo-box{margin-bottom:13px}
 .neu-title{font-size:23px}
 .neu-action-card{padding:10px 8px;gap:8px}
 .neu-action-title{font-size:11px}
 .neu-action-desc{font-size:9.5px}
}
@media(max-width:355px){.neu-action-grid{grid-template-columns:1fr}.neu-action-card{min-height:56px}}
@media(prefers-reduced-motion:reduce){
 html,body{scroll-behavior:auto}
 .neu-card,.neu-input-pill,.neu-btn-primary,.neu-action-card,.neu-theme-toggle{animation:none!important;transition:none!important;transform:none!important}
}
