/* Bluhost auth pages (login / register) — light & dark, same tokens as the dashboard theme */
html[data-blu-theme="light"]{
  --blu-bg:#f4f6fb; --blu-surface:#ffffff; --blu-surface-2:#f1f4fa; --blu-line:#e2e7f2; --blu-text:#1d2340; --blu-muted:#6b7390;
  --blu-grad:linear-gradient(135deg,#5b6cff 0%,#8a5cff 100%); --blu-primary:#5b6cff; color-scheme:light;
}
html[data-blu-theme="dark"]{
  --blu-bg:#0b0d15; --blu-surface:#0f1320; --blu-surface-2:#171c2c; --blu-line:#232a40; --blu-text:#e8ebf7; --blu-muted:#8d96b3;
  --blu-grad:linear-gradient(135deg,#6a7bff 0%,#9a6bff 100%); --blu-primary:#7b8bff; color-scheme:dark;
}
html[data-blu-theme] body{ background:var(--blu-bg) !important; color:var(--blu-text); font-family:'Vazirmatn',yekanbakhreg,Tahoma,sans-serif; }

/* surfaces */
html[data-blu-theme] .bg-black{ background:var(--blu-surface) !important; }
html[data-blu-theme] .bg-gray-900{ background:var(--blu-surface) !important; }
html[data-blu-theme] .bg-gray-800{ background:var(--blu-surface-2) !important; }
html[data-blu-theme] .bg-gray-700{ background:var(--blu-line) !important; }
html[data-blu-theme] .border-gray-800,
html[data-blu-theme] .border-gray-700{ border-color:var(--blu-line) !important; }
html[data-blu-theme] [class*="bg-black/80"]{ background:rgba(8,10,20,.55) !important; }
html[data-blu-theme="light"] [class*="bg-black/80"]{ background:rgba(30,36,64,.35) !important; }

/* text */
html[data-blu-theme] .text-white{ color:var(--blu-text) !important; }
html[data-blu-theme] .text-gray-300,
html[data-blu-theme] .text-gray-400,
html[data-blu-theme] .text-gray-500{ color:var(--blu-muted) !important; }
html[data-blu-theme] .text-black{ color:#fff !important; }
html[data-blu-theme] [class*="bg-gradient"] svg,
html[data-blu-theme] [class*="bg-gradient"] .text-white,
html[data-blu-theme] [class*="from-blue-900"],
html[data-blu-theme] [class*="from-blue-900"] *{ color:#fff !important; }

/* left hero */
html[data-blu-theme] .hero-gradient{
  background:radial-gradient(90% 70% at 20% 0%,rgba(91,108,255,.28),transparent 60%),
             radial-gradient(80% 70% at 90% 100%,rgba(138,92,255,.24),transparent 60%), var(--blu-bg) !important;
}
html[data-blu-theme] .hero-gradient h1{ background:var(--blu-grad); -webkit-background-clip:text; background-clip:text; color:transparent !important; font-weight:800; }
.blu-aurora{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.blu-aurora::before{ content:""; position:absolute; inset:0; opacity:.55;
  background-image:linear-gradient(var(--blu-line) 1px,transparent 1px),linear-gradient(90deg,var(--blu-line) 1px,transparent 1px);
  background-size:36px 36px; -webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 10%,transparent 70%); mask-image:radial-gradient(ellipse at 50% 40%,#000 10%,transparent 70%); }
.blu-aurora i{ position:absolute; border-radius:50%; filter:blur(90px); animation:bluFloat 16s ease-in-out infinite; }
.blu-aurora i:nth-child(1){ width:380px; height:380px; background:rgba(59,91,255,.45); top:-90px; right:-60px; }
.blu-aurora i:nth-child(2){ width:340px; height:340px; background:rgba(138,92,255,.38); bottom:-100px; left:-50px; animation-delay:-7s; }
@keyframes bluFloat{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(36px,-26px) scale(1.12); } }

/* form */
html[data-blu-theme] .form-input{ background:var(--blu-surface-2) !important; border:1px solid var(--blu-line) !important; color:var(--blu-text) !important; border-radius:12px !important; padding-top:.95rem !important; padding-bottom:.95rem !important; }
html[data-blu-theme] .form-input:focus{ border-color:var(--blu-primary) !important; box-shadow:0 0 0 4px rgba(123,139,255,.18); }
html[data-blu-theme] .floating-label{ background:var(--blu-surface-2) !important; color:var(--blu-muted) !important; }
html[data-blu-theme] .floating-label.active{ color:var(--blu-primary) !important; }
html[data-blu-theme] .btn-primary{ background:var(--blu-grad) !important; color:#fff !important; border:0; border-radius:12px !important; font-weight:600;
  box-shadow:0 14px 30px -14px var(--blu-primary); transition:transform .2s,filter .2s,box-shadow .2s; }
html[data-blu-theme] .btn-primary:hover{ transform:translateY(-2px); filter:brightness(1.08); }
html[data-blu-theme] .tab-active{ color:var(--blu-text) !important; text-shadow:none; font-weight:700; }
html[data-blu-theme] .tab-inactive{ color:var(--blu-muted) !important; }
html[data-blu-theme] .verification-input{ background:var(--blu-surface-2) !important; color:var(--blu-text) !important; border-color:var(--blu-line) !important; border-radius:14px !important; }
html[data-blu-theme] .verification-input:focus{ border-color:var(--blu-primary) !important; box-shadow:0 0 0 4px rgba(123,139,255,.18); }
html[data-blu-theme] #loginForm, html[data-blu-theme] #signupForm{ animation:bluRiseIn .5s both; }
@keyframes bluRiseIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* theme toggle */
.blu-toggle{ position:fixed; top:16px; left:16px; z-index:60; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px; border:1px solid var(--blu-line); background:var(--blu-surface); color:var(--blu-text); cursor:pointer; box-shadow:0 10px 30px -14px rgba(0,0,0,.4); transition:transform .25s; }
.blu-toggle:hover{ transform:scale(1.08); }
.blu-toggle svg{ transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
html.blu-switching .blu-toggle svg{ transform:rotate(360deg) scale(1.2); }
::view-transition-old(root),::view-transition-new(root){ animation:none; mix-blend-mode:normal; }
::view-transition-old(root){ z-index:1; } ::view-transition-new(root){ z-index:2147483646; }
@media (prefers-reduced-motion:reduce){ .blu-aurora i,#loginForm,#signupForm{ animation:none !important; } }
