/* Nex Bazaar AI giriş ekranları: "uzay" arka planı ve konsol kartı. Yalnızca layouts/auth.php yükler. */
html.nx-auth-html { background: #04060f; }
html.nx-auth-html[data-nx="light"] { background: #e9f0ff; }
html[data-nx] body.nx-auth { background: transparent; }
.nx-space, .nx-canvas, .nx-orbit, .nx-flash { position: fixed; pointer-events: none; }
.nx-space { inset: 0; z-index: -2; overflow: hidden; background: radial-gradient(120% 90% at 18% 0%, #0d1550 0%, #070a1e 48%, #03050c 100%); }
.nx-canvas { inset: 0; width: 100%; height: 100%; z-index: 0; }
.nx-neb { position: absolute; border-radius: 50%; will-change: transform; }
.nx-neb1 { width: 70vw; height: 60vw; left: -18vw; top: -22vw; background: radial-gradient(closest-side, rgba(56, 102, 255, .42), transparent); animation: nxDrift 38s ease-in-out infinite alternate; }
.nx-neb2 { width: 62vw; height: 56vw; right: -16vw; top: 18vh; background: radial-gradient(closest-side, rgba(124, 58, 237, .34), transparent); animation: nxDrift 46s ease-in-out -9s infinite alternate-reverse; }
.nx-neb3 { width: 50vw; height: 40vw; left: 30vw; bottom: -18vw; background: radial-gradient(closest-side, rgba(34, 170, 220, .2), transparent); animation: nxDrift 52s ease-in-out -20s infinite alternate; }
@keyframes nxDrift { to { transform: translate3d(5vw, 4vw, 0) scale(1.12); } }

/* gezegen ve yörünge halkaları */
.nx-orbit { --d: max(48vw, 560px); z-index: 0; left: -12vw; bottom: -46vh; width: var(--d); height: var(--d); }
.nx-planet { position: absolute; inset: 0; border-radius: 50%;
  background: radial-gradient(circle at 68% 16%, #5b8cff 0%, #2c45c4 17%, #131c63 44%, #070a24 74%);
  box-shadow: inset -36px -48px 100px rgba(0, 0, 12, .85), inset 6px 8px 40px rgba(132, 181, 255, .35), 0 0 0 1px rgba(132, 181, 255, .28), 0 -6px 26px rgba(132, 181, 255, .45), 0 -30px 110px rgba(56, 102, 255, .4); }
.nx-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(150, 190, 255, .38); transform: rotateX(74deg) rotateZ(0deg); animation: nxSpin 90s linear infinite; }
.nx-ring::after { content: ""; position: absolute; left: 50%; top: -3px; width: 5px; height: 5px; margin-left: -3px; border-radius: 50%; background: #bcd3ff; box-shadow: 0 0 10px 2px rgba(132, 181, 255, .9); }
.nx-r1 { inset: -16%; }
.nx-r2 { inset: -34%; animation-duration: 140s; animation-direction: reverse; border-color: rgba(190, 165, 255, .32); }
.nx-r3 { inset: -56%; animation-duration: 210s; border-color: rgba(150, 190, 255, .2); }
@keyframes nxSpin { to { transform: rotateX(74deg) rotateZ(360deg); } }
@media (max-width: 1023px) {
  .nx-orbit { --d: 170vw; left: -35vw; bottom: -150vw; }
  .nx-ring { display: none; }
  .nx-planet { box-shadow: inset -20px -30px 80px rgba(0, 0, 12, .8), 0 0 0 1px rgba(132, 181, 255, .3), 0 -4px 18px rgba(132, 181, 255, .5), 0 -20px 70px rgba(56, 102, 255, .45); }
}

/* sol panel: uzaya açılan şeffaf alan */
html[data-nx] body.nx-auth .nx-auth-aside { background: transparent; }
html[data-nx] body.nx-auth .nx-auth-aside::after { display: none; }
html[data-nx] body.nx-auth .nx-auth-aside::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(3, 5, 14, .25), rgba(3, 5, 14, 0)); }
html[data-nx] body.nx-auth .nx-auth-aside > *, html[data-nx] body.nx-auth .nx-auth-pane { position: relative; z-index: 2; }
html[data-nx] body.nx-auth .nx-auth-aside .text-white\/70 { color: rgba(255, 255, 255, .82); text-shadow: 0 1px 12px rgba(3, 5, 20, .9); }
html[data-nx] body.nx-auth .nx-auth-aside h2 { text-shadow: 0 2px 30px rgba(56, 102, 255, .55); }
html[data-nx] body.nx-auth .nx-auth-pane { background: transparent; }

/* konsol kartı */
.nx-console { position: relative; padding: 28px 26px; border-radius: 18px; backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
  background: linear-gradient(160deg, rgba(14, 20, 52, .72), rgba(7, 10, 28, .78));
  border: 1px solid rgba(93, 139, 255, .3);
  box-shadow: 0 0 0 1px rgba(5, 8, 24, .6), 0 24px 70px -24px rgba(0, 0, 0, .8), 0 0 60px -14px rgba(56, 102, 255, .55), inset 0 1px 0 rgba(255, 255, 255, .07);
  animation: nxIn .6s cubic-bezier(.22, 1, .36, 1) both; transition: transform .5s cubic-bezier(.5, 0, 1, .6), opacity .5s ease-in; }
@media (min-width: 640px) { .nx-console { padding: 36px; } }
@keyframes nxIn { from { opacity: .3; transform: translateY(14px) scale(.985); } }
.nx-console::before { content: ""; position: absolute; inset: -1px; border-radius: 18px; pointer-events: none; --c: #84b5ff;
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / 18px 2px, linear-gradient(var(--c), var(--c)) 0 0 / 2px 18px,
    linear-gradient(var(--c), var(--c)) 100% 0 / 18px 2px, linear-gradient(var(--c), var(--c)) 100% 0 / 2px 18px,
    linear-gradient(var(--c), var(--c)) 0 100% / 18px 2px, linear-gradient(var(--c), var(--c)) 0 100% / 2px 18px,
    linear-gradient(var(--c), var(--c)) 100% 100% / 18px 2px, linear-gradient(var(--c), var(--c)) 100% 100% / 2px 18px;
  background-repeat: no-repeat; filter: drop-shadow(0 0 5px rgba(93, 139, 255, .9)); }
.nx-console::after { content: ""; position: absolute; left: 24px; right: 24px; top: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, #84b5ff, transparent); background-size: 40% 100%; background-repeat: no-repeat; animation: nxScan 6s ease-in-out infinite; }
@keyframes nxScan { 0% { background-position: -40% 0; } 100% { background-position: 140% 0; } }
.nx-console h1 { letter-spacing: -.01em; }
.nx-dot { position: absolute; top: 14px; right: 20px; width: 6px; height: 6px; border-radius: 50%; background: #34d399; box-shadow: 0 0 8px 2px rgba(52, 211, 153, .7); animation: nxBlink 2.4s ease-in-out infinite; }
@keyframes nxBlink { 50% { opacity: .35; } }
html[data-nx="dark"] body.nx-auth .nx-console .text-slate-500, html[data-nx="dark"] body.nx-auth .nx-console .text-slate-400 { color: #b4bccd; }
html[data-nx="dark"] body.nx-auth .nx-console .input { background-color: rgba(5, 8, 24, .82); border-color: rgba(93, 139, 255, .32); }
html[data-nx="dark"] body.nx-auth .nx-console .input:focus { border-color: #84b5ff; box-shadow: 0 0 0 3px rgba(93, 139, 255, .35), 0 0 22px -4px rgba(93, 139, 255, .7); outline: none; }
html[data-nx] body.nx-auth .nx-console .btn-primary { background-image: linear-gradient(180deg, rgba(255, 255, 255, .16), transparent); box-shadow: 0 10px 30px -10px rgba(56, 102, 255, .9), 0 0 0 1px rgba(132, 181, 255, .4) inset; }
html[data-nx] body.nx-auth .nx-console .btn-primary:focus-visible, html[data-nx] body.nx-auth .nx-console a:focus-visible { outline: 2px solid #84b5ff; outline-offset: 2px; }
html[data-nx="dark"] body.nx-auth .nx-console .bg-slate-200 { background-color: rgba(132, 181, 255, .25); }

/* submit sırasında ileri warp */
.nx-flash { inset: 0; z-index: 5; opacity: 0; background: radial-gradient(circle at 50% 50%, #fff 0, #9fc0ff 30%, rgba(56, 102, 255, .6) 70%); transition: opacity .5s ease-in; }
body.nx-warping .nx-flash { opacity: .85; }
body.nx-warping .nx-console { transform: scale(.94); opacity: 0; }

/* açık tema: gündüz gökyüzü ve yörünge */
html[data-nx="light"] .nx-space { background: linear-gradient(180deg, #cfe0ff 0%, #e6eeff 46%, #f6f8ff 100%); }
html[data-nx="light"] .nx-neb1 { background: radial-gradient(closest-side, rgba(56, 102, 255, .22), transparent); }
html[data-nx="light"] .nx-neb2 { background: radial-gradient(closest-side, rgba(167, 139, 250, .26), transparent); }
html[data-nx="light"] .nx-neb3 { background: radial-gradient(closest-side, rgba(255, 214, 165, .38), transparent); }
html[data-nx="light"] .nx-ring { border-color: rgba(56, 102, 255, .38); }
html[data-nx="light"] .nx-ring::after { background: #3866ff; box-shadow: 0 0 10px 2px rgba(56, 102, 255, .6); }
html[data-nx="light"] body.nx-auth .nx-auth-aside::before { background: linear-gradient(160deg, #0d1550, #070a1e 60%, #0a1240); }
html[data-nx="light"] .nx-console { background: linear-gradient(160deg, rgba(255, 255, 255, .88), rgba(240, 245, 255, .82)); border-color: rgba(56, 102, 255, .3);
  box-shadow: 0 24px 60px -26px rgba(30, 60, 170, .45), 0 0 40px -14px rgba(56, 102, 255, .4), inset 0 1px 0 #fff; }
html[data-nx="light"] .nx-console::before { --c: #3866ff; filter: none; }
html[data-nx="light"] .nx-console::after { background-image: linear-gradient(90deg, transparent, #3866ff, transparent); }
html[data-nx="light"] .nx-flash { background: radial-gradient(circle, #fff 0, #cfe0ff 50%, #9fb8ff 100%); }

@media (prefers-reduced-motion: reduce) {
  .nx-neb, .nx-ring, .nx-console, .nx-console::after, .nx-dot { animation: none !important; transition: none !important; }
}
html[data-nx="light"] body.nx-auth .nx-auth-pane .pt-4, html[data-nx="light"] body.nx-auth .nx-auth-pane .pt-4 * { color: #475569; }
