:root{
  --enh-blue:#3b82f6;
  --enh-blue-dark:#2563eb;
  --enh-blue-light:#60a5fa;
  --enh-gold:#facc15;
  --enh-gold-dark:#eab308;
  --enh-bg-1:#111827;
  --enh-bg-2:#1a2235;
  --enh-bg-3:#1f2d3d;
  --enh-card-bg:linear-gradient(145deg,rgba(31,45,61,0.72) 0%,rgba(26,34,53,0.82) 100%);
  --enh-card-border:rgba(59,130,246,0.18);
  --enh-shadow-sm:0 2px 10px rgba(0,0,0,0.18);
  --enh-shadow:0 8px 26px rgba(0,0,0,0.28);
  --enh-shadow-lg:0 18px 44px rgba(0,0,0,0.42);
  --enh-shadow-blue:0 8px 28px rgba(59,130,246,0.38);
  --enh-shadow-gold:0 6px 22px rgba(250,204,21,0.32);
  --enh-radius-card:14px;
  --enh-radius-btn:9px;
  --enh-radius-input:8px;
  --enh-transition:0.3s cubic-bezier(0.4,0,0.2,1);
  --enh-bn-font:'Noto Sans Bengali','Hind Siliguri','SolaimanLipi','Poppins',system-ui,sans-serif;
}

html{
  font-family:var(--enh-bn-font);
  background:
    radial-gradient(ellipse 80% 60% at 15% -5%,rgba(59,130,246,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 70% 50% at 85% 105%,rgba(250,204,21,0.06) 0%,transparent 50%),
    var(--bg);
}

body{
  font-family:var(--enh-bn-font);
  line-height:1.78;
  letter-spacing:0.008em;
  background:transparent;
}

:lang(bn),[lang="bn"],html[lang="bn"] body{
  font-family:var(--enh-bn-font);
  line-height:1.82;
  letter-spacing:0;
}

:lang(bn) p,:lang(bn) li,[lang="bn"] p,[lang="bn"] li{
  line-height:1.85;
  word-spacing:0.02em;
}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:rgba(15,23,42,0.35)}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
  border-radius:4px;
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#60a5fa 0%,#3b82f6 100%)}
*{scrollbar-width:thin;scrollbar-color:#3b82f6 rgba(15,23,42,0.3)}

::selection{background:rgba(59,130,246,0.32);color:#facc15}
::selection:window-inactive{background:rgba(59,130,246,0.18)}

.navbar{
  background:linear-gradient(180deg,rgba(26,34,53,0.88) 0%,rgba(17,24,39,0.92) 100%);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(59,130,246,0.15);
  box-shadow:0 4px 22px rgba(0,0,0,0.32);
}

.navbar-brand img{filter:drop-shadow(0 2px 10px rgba(59,130,246,0.45))}

.navbar .nav-link{
  color:rgba(203,213,225,0.85);
  font-weight:500;
  padding:0.5rem 0.95rem;
  border-radius:8px;
  transition:var(--enh-transition);
  position:relative;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{
  color:#60a5fa;
  background:rgba(59,130,246,0.12);
  text-shadow:0 0 14px rgba(59,130,246,0.55);
}

.navbar .nav-link::after{
  content:'';
  position:absolute;
  bottom:3px;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:2px;
  background:linear-gradient(90deg,#3b82f6,#facc15);
  border-radius:2px;
  transition:width 0.3s ease;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after{width:55%}

.hero-wrap{
  background:
    radial-gradient(ellipse 60% 50% at 28% 38%,rgba(59,130,246,0.16) 0%,transparent 60%),
    radial-gradient(ellipse 55% 45% at 72% 62%,rgba(250,204,21,0.09) 0%,transparent 55%),
    linear-gradient(135deg,#111827 0%,#1a2235 50%,#1f2d3d 100%);
}

.hero-card,.hero-grad.hero-card{
  background:linear-gradient(145deg,rgba(31,45,61,0.88) 0%,rgba(17,24,39,0.92) 100%);
  border:1px solid rgba(59,130,246,0.26);
  border-radius:18px;
  box-shadow:0 20px 52px rgba(0,0,0,0.42),inset 0 1px 0 rgba(59,130,246,0.22);
  padding:26px;
}

.hero-grad{
  background:linear-gradient(135deg,rgba(59,130,246,0.12) 0%,rgba(250,204,21,0.06) 100%);
}

.section-pad{
  padding-top:72px;
  padding-bottom:72px;
  position:relative;
}

.section-pad.pt-0{padding-top:0}

main .section-pad:nth-of-type(even){
  background:linear-gradient(180deg,transparent 0%,rgba(26,34,53,0.28) 50%,transparent 100%);
}

main .card,
.feature-card,
.notice-card{
  background:var(--enh-card-bg);
  border:1px solid var(--enh-card-border);
  border-radius:var(--enh-radius-card);
  box-shadow:var(--enh-shadow-sm);
  padding:22px;
  transition:transform var(--enh-transition),box-shadow var(--enh-transition),border-color var(--enh-transition);
  position:relative;
  overflow:hidden;
}

main .card::before,
.feature-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent 10%,rgba(59,130,246,0.45) 50%,rgba(250,204,21,0.3) 70%,transparent 90%);
  opacity:0.6;
}

main .card:hover,
.feature-card:hover,
.notice-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--enh-shadow-lg);
  border-color:rgba(59,130,246,0.42);
}

.feature-card:hover::before{opacity:1}

.btn,
.btn-main,
.btn-accent,
.site-btn,
.cta-register{
  border-radius:var(--enh-radius-btn);
  font-weight:600;
  letter-spacing:0.02em;
  transition:transform var(--enh-transition),box-shadow var(--enh-transition),background var(--enh-transition);
  position:relative;
  overflow:hidden;
}

.btn-main,
.btn.btn-main,
.btn-primary{
  background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);
  box-shadow:0 4px 16px rgba(59,130,246,0.36),inset 0 1px 0 rgba(255,255,255,0.16);
  color:#fff;
}

.btn-main:hover,
.btn.btn-main:hover,
.btn-primary:hover{
  transform:translateY(-2px) scale(1.025);
  box-shadow:0 8px 30px rgba(59,130,246,0.52),inset 0 1px 0 rgba(255,255,255,0.22);
  background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);
}

.btn-main:active,
.btn-primary:active{transform:translateY(0) scale(1.01)}

.btn-accent,
.btn.btn-accent{
  background:linear-gradient(135deg,#facc15 0%,#eab308 100%);
  color:#1a2235;
  box-shadow:0 4px 16px rgba(250,204,21,0.36),inset 0 1px 0 rgba(255,255,255,0.22);
}

.btn-accent:hover,
.btn.btn-accent:hover{
  transform:translateY(-2px) scale(1.025);
  box-shadow:0 8px 30px rgba(250,204,21,0.5),inset 0 1px 0 rgba(255,255,255,0.28);
  background:linear-gradient(135deg,#fde047 0%,#facc15 100%);
}

.cta-register,
.site-btn.cta-register{
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  color:#fff;
  box-shadow:0 4px 18px rgba(34,197,94,0.42),inset 0 1px 0 rgba(255,255,255,0.2);
  animation:enhPulse 2.6s ease-in-out infinite;
}

.cta-register:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 10px 34px rgba(34,197,94,0.56),inset 0 1px 0 rgba(255,255,255,0.26);
}

@keyframes enhPulse{
  0%,100%{box-shadow:0 4px 18px rgba(34,197,94,0.42),inset 0 1px 0 rgba(255,255,255,0.2)}
  50%{box-shadow:0 4px 30px rgba(34,197,94,0.62),inset 0 1px 0 rgba(255,255,255,0.25)}
}

.btn-nav-register,.btn-nav-reg{
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  color:#fff;
  border-radius:var(--enh-radius-btn);
  box-shadow:0 3px 12px rgba(34,197,94,0.35);
  transition:var(--enh-transition);
}

.btn-nav-register:hover,.btn-nav-reg:hover{
  transform:translateY(-1px) scale(1.03);
  box-shadow:0 6px 20px rgba(34,197,94,0.5);
}

.btn-nav-login{
  background:linear-gradient(135deg,#facc15 0%,#eab308 100%);
  color:#1a2235;
  border-radius:var(--enh-radius-btn);
  box-shadow:0 3px 12px rgba(250,204,21,0.35);
  transition:var(--enh-transition);
}

.btn-nav-login:hover{
  transform:translateY(-1px) scale(1.03);
  box-shadow:0 6px 20px rgba(250,204,21,0.5);
}

.display-6,.section-title,h3.fw-bold,h4.fw-bold{
  background:linear-gradient(135deg,#f8fafc 0%,#60a5fa 55%,#facc15 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:0.01em;
  text-shadow:0 0 32px rgba(59,130,246,0.18);
}

.section-title{
  position:relative;
  padding-bottom:14px;
}

.section-title::after{
  content:'';
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:64px;
  height:3px;
  background:linear-gradient(90deg,#3b82f6,#facc15);
  border-radius:3px;
  box-shadow:0 0 14px rgba(59,130,246,0.5);
}

.text-warning,[class*="gold"]:not(.btn):not([class*="btn"]),
.text-gold,.text-yellow{
  text-shadow:0 0 14px rgba(250,204,21,0.42),0 1px 2px rgba(0,0,0,0.32);
}

.form-control,.form-select,
input[type="text"],input[type="email"],input[type="password"],
input[type="search"],input[type="tel"],textarea,select{
  border-radius:var(--enh-radius-input);
  background:rgba(17,24,39,0.62);
  border:1px solid rgba(59,130,246,0.2);
  color:#e2e8f0;
  padding:0.6rem 0.9rem;
  transition:border-color var(--enh-transition),box-shadow var(--enh-transition),background var(--enh-transition);
}

.form-control:focus,.form-select:focus,
input:focus,textarea:focus,select:focus{
  border-color:rgba(59,130,246,0.6);
  box-shadow:0 0 0 3px rgba(59,130,246,0.16);
  background:rgba(17,24,39,0.82);
  outline:none;
}

.form-control::placeholder,input::placeholder,textarea::placeholder{
  color:rgba(148,163,184,0.6);
}

footer{
  background:linear-gradient(180deg,#1a2235 0%,#111827 100%);
  border-top:1px solid rgba(59,130,246,0.15);
  color:rgba(203,213,225,0.82);
}

footer a{
  color:rgba(148,163,184,0.88);
  transition:color var(--enh-transition),text-shadow var(--enh-transition);
  padding:2px 0;
}

footer a:hover{
  color:#60a5fa;
  text-shadow:0 0 10px rgba(59,130,246,0.42);
}

footer h5,footer h4,footer .fw-bold,footer h6{
  color:#facc15;
  text-shadow:0 0 12px rgba(250,204,21,0.32);
}

.badge{
  border-radius:6px;
  font-weight:600;
  letter-spacing:0.03em;
  padding:0.42em 0.72em;
}

.badge.bg-primary,.badge.text-bg-primary{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  box-shadow:0 2px 8px rgba(59,130,246,0.32);
}

.badge.bg-warning,.badge.text-bg-warning{
  background:linear-gradient(135deg,#facc15,#eab308);
  color:#1a2235;
  box-shadow:0 2px 8px rgba(250,204,21,0.32);
}

.badge.bg-success,.badge.text-bg-success{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  box-shadow:0 2px 8px rgba(34,197,94,0.32);
}

.author-box,.author-card{
  background:
    radial-gradient(ellipse 50% 60% at 18% 40%,rgba(59,130,246,0.1) 0%,transparent 55%),
    linear-gradient(145deg,rgba(31,45,61,0.72) 0%,rgba(17,24,39,0.82) 100%);
  border:1px solid rgba(59,130,246,0.2);
  border-radius:18px;
  padding:32px;
  box-shadow:var(--enh-shadow);
}

.bd-hot-links a,.bd-hot-links li a{
  padding:0.5rem 0.95rem;
  border-radius:8px;
  background:rgba(59,130,246,0.08);
  border:1px solid rgba(59,130,246,0.15);
  color:rgba(203,213,225,0.9);
  font-size:0.875rem;
  transition:var(--enh-transition);
}

.bd-hot-links a:hover,.bd-hot-links li a:hover{
  background:rgba(59,130,246,0.2);
  border-color:rgba(59,130,246,0.42);
  color:#60a5fa;
  transform:translateY(-1px);
  text-shadow:0 0 10px rgba(59,130,246,0.4);
}

img{transition:transform var(--enh-transition),filter var(--enh-transition)}

.feature-card img:hover,.card img:hover{
  transform:scale(1.04);
  filter:brightness(1.08) saturate(1.05);
}

a{transition:color var(--enh-transition),text-shadow var(--enh-transition)}

.text-primary{color:#60a5fa}
a.text-primary:hover{color:#93c5fd;text-shadow:0 0 10px rgba(59,130,246,0.4)}

.list-group-item{
  background:rgba(31,45,61,0.5);
  border-color:rgba(59,130,246,0.15);
  transition:var(--enh-transition);
}

.list-group-item:hover{
  background:rgba(59,130,246,0.08);
  border-color:rgba(59,130,246,0.3);
}

.accordion-item{
  background:rgba(31,45,61,0.5);
  border-color:rgba(59,130,246,0.15);
  border-radius:var(--enh-radius-card);
}

.accordion-button{
  background:rgba(17,24,39,0.4);
  color:#e2e8f0;
  border-radius:var(--enh-radius-card);
}

.accordion-button:not(.collapsed){
  background:rgba(59,130,246,0.12);
  color:#60a5fa;
  box-shadow:none;
}

.accordion-button:focus{box-shadow:0 0 0 3px rgba(59,130,246,0.16)}

.table{color:rgba(203,213,225,0.9)}

.table>:not(caption)>*>*{
  background:rgba(31,45,61,0.4);
  border-color:rgba(59,130,246,0.15);
  padding:0.75rem 1rem;
}

.table-striped>tbody>tr:nth-of-type(odd)>*
  {background:rgba(31,45,61,0.55)}

.table-hover>tbody>tr:hover>*
  {background:rgba(59,130,246,0.1);color:#f8fafc}

@keyframes enhFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

.hero-card{animation:enhFloat 5s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){
  .hero-card,.cta-register{animation:none}
  *{transition-duration:0.01s}
}

@media (max-width:767.98px){
  .section-pad{padding-top:56px;padding-bottom:56px}
  .author-box,.author-card{padding:22px}
  .hero-card{padding:20px}
  main .card,.feature-card,.notice-card{padding:18px}
  .display-6{font-size:1.6rem}
}