/* Lumen auth — calm split, color wash, soft fields */
html:has(body.sanyo-auth){background:#eef2ff}
body.sanyo-auth,
body.sanyo-auth *{box-sizing:border-box}
body.sanyo-auth.sea-trade-ui{
  margin:0;min-height:100vh;color:#1b2440;
  font-family:Outfit,Manrope,sans-serif;
  background:#eef2ff!important;
}
body.sanyo-auth.sea-trade-ui:before,
body.sanyo-auth.sea-trade-ui:after{display:none!important}
body.sanyo-auth main{
  margin:0;padding:0!important;max-width:none;min-height:100vh;display:block!important;
}
body.sanyo-auth .nav-shell,
body.sanyo-auth .luxury-footer,
body.sanyo-auth .back-to-top,
body.sanyo-auth .hub-scene{display:none!important}

.sx-scene{
  min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;
}
.sx-sky,.sx-globe,.sx-city,.sx-ribbon,.sx-mounts,.sx-panel{display:none!important}
.sx-art{
  position:relative;min-height:100vh;overflow:hidden;
  background:linear-gradient(165deg,#4f46e5 0%,#7c3aed 42%,#0d9488 100%);
}
.sx-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;mix-blend-mode:luminosity}
.sx-art:after{
  content:"";position:absolute;width:280px;height:280px;right:-60px;bottom:-40px;border-radius:50%;
  background:rgba(245,185,66,.45);filter:blur(8px);
}
.sx-art-copy{position:absolute;left:40px;right:40px;bottom:48px;z-index:1;color:#fff}
.sx-art-mark{
  width:64px;height:64px;object-fit:cover;border-radius:20px;margin-bottom:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.sx-art-copy h2{
  margin:0 0 8px;font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;font-weight:700;
}
.sx-art-copy p{margin:0;color:rgba(255,255,255,.86);font-size:1rem}
.sx-form-col{
  display:flex;flex-direction:column;justify-content:center;
  padding:36px 28px;min-height:100vh;position:relative;
}
.sx-back{
  position:absolute;top:22px;left:22px;width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;text-decoration:none;color:#4f46e5;background:#fff;
  box-shadow:0 8px 20px rgba(79,70,229,.12);
}
.sx-logo{display:none;justify-content:center;margin:28px 0 8px}
.sx-brand-img{width:64px;height:64px;object-fit:cover;border-radius:18px}
.sx-card{width:min(420px,100%);margin:0 auto}
.sx-card h1{
  margin:0 0 8px;font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2.2rem,4vw,3rem);line-height:1;color:#1b2440;
}
.sx-card h1 em{font-style:italic;color:#7c3aed}
.sx-lead{margin:0 0 18px;color:#5c6b8a;line-height:1.6}
.sx-note{
  margin:-4px 0 12px;padding:10px 12px;border-radius:14px;
  background:#ecfdf8;color:#0f766e;font-size:.86rem;
}
.sx-error{
  margin:0 0 12px;padding:10px 12px;border-radius:14px;
  background:#fff1f2;color:#be123c;font-size:.88rem;
}
.sx-ql{margin-bottom:10px}
.sx-field{
  display:flex;align-items:center;gap:10px;min-height:58px;margin-bottom:10px;padding:6px 8px 6px 6px;
  border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px #e4e9f7;
}
.sx-field:focus-within{box-shadow:inset 0 0 0 2px #7c3aed}
.sx-ico{
  width:42px;height:42px;flex:0 0 42px;border-radius:14px;
  display:grid;place-items:center;color:#fff;background:#4f46e5;
}
.sx-ico-gold{background:#f5b942;color:#1b2440}
.sx-ico-violet{background:#7c3aed}
.sx-ico-blue{background:#0d9488}
.sx-field input,
.sx-field select{
  flex:1;min-width:0;border:0;outline:0;background:transparent;
  font:600 1rem/1.2 Outfit,Manrope,sans-serif;color:#1b2440;
}
.sx-field input::placeholder{color:#8b97b3}
.sx-field select{appearance:none;cursor:pointer}
.sx-field select option{color:#1b2440}
.sx-pass{position:relative}
.sx-pass input{padding-right:36px}
.sx-eye{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#5c6b8a;
  display:grid;place-items:center;cursor:pointer;
}
.sx-eye:hover{color:#4f46e5}
.sx-forgot-row{display:flex;justify-content:flex-end;margin:-2px 4px 12px}
.sx-forgot{border:0;background:transparent;color:#7c3aed;font-weight:700;font-size:.84rem;cursor:pointer;padding:0}
.sx-forgot-note{margin:-4px 4px 12px;color:#5c6b8a;font-size:.8rem;text-align:right}

body.sanyo-auth button.sx-btn,
a.sx-btn{
  width:100%;height:56px;border:0;cursor:pointer;border-radius:18px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 10px 6px 6px;margin-top:6px;box-sizing:border-box;max-width:100%;
  color:#fff;font:800 1rem/1 Outfit,Manrope,sans-serif;text-decoration:none;
  background:linear-gradient(90deg,#4f46e5,#7c3aed);
  box-shadow:0 14px 28px rgba(79,70,229,.25);
}
.sx-btn-label{flex:1;text-align:center}
.sx-btn i.sx-go{
  width:34px;height:34px;flex:0 0 34px;border-radius:12px;
  display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:.8rem;
}
.sx-btn .sx-ico{width:42px;height:42px;flex:0 0 42px}
.sx-or{
  display:flex;align-items:center;gap:10px;margin:16px 4px 0;color:#8b97b3;font-size:.8rem;font-weight:650;
}
.sx-or:before,.sx-or:after{content:"";flex:1;height:1px;background:#e4e9f7}
a.sx-btn.sx-btn-ghost,
button.sx-btn.sx-btn-ghost{
  margin-top:12px;background:#fff;color:#1b2440;
  box-shadow:inset 0 0 0 1px #e4e9f7;
}
.sx-btn-ghost .sx-ico{background:#eef2ff;color:#4f46e5}
.sx-btn-ghost i.sx-go{background:#eef2ff;color:#4f46e5}

.acct-lock{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(27,36,64,.45)}
.acct-lock-card{width:min(92vw,360px);padding:26px 20px 18px;text-align:center;color:#1b2440;background:#fff;border-radius:28px}
.acct-lock-ico{width:60px;height:60px;margin:0 auto 10px;border-radius:18px;display:grid;place-items:center;background:#fff1f2;color:#e11d48}
.acct-lock-hi{margin:0;font-weight:700;color:#7c3aed}
.acct-lock-card h2{margin:6px 0 8px;font-family:"Playfair Display",Georgia,serif}
.acct-lock-card p{margin:0 0 14px;color:#5c6b8a}
.acct-lock-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border-radius:14px;background:#4f46e5;color:#fff;font-weight:800;text-decoration:none}
.acct-lock-close{display:block;width:100%;margin-top:8px;border:0;background:transparent;color:#7c3aed;font-weight:700;cursor:pointer}

@media (max-width:900px){
  .sx-scene{grid-template-columns:1fr}
  .sx-art{min-height:210px;max-height:32vh}
  .sx-art-copy{left:18px;right:18px;bottom:16px}
  .sx-art-copy h2{font-size:1.55rem}
  .sx-form-col{padding:22px 18px 36px;min-height:auto}
  .sx-logo{display:flex}
  .sx-art-mark{display:none}
  .sx-back{top:14px;left:14px}
}
@media (max-width:520px){
  .sx-card h1{font-size:2.05rem}
  .sx-field input{font-size:16px}
}
