/* engben.website — design system */
:root{
  --bg:#0f1720;
  --surface:#16212c;
  --surface-2:#1d2c3a;
  --line:#27384a;
  --text:#eaf2f8;
  --muted:#9fb3c4;
  --brand:#1fb589;
  --brand-2:#14a0c8;
  --brand-ink:#04211a;
  --radius:14px;
  --maxw:980px;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --bn:"Noto Sans Bengali","Nirmala UI","Shonar Bangla",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.65;
  -webkit-text-size-adjust:100%;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}

header.site{
  background:linear-gradient(90deg,#0d1b24,#122a33);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.logo{font-weight:800;font-size:1.15rem;color:var(--text);letter-spacing:.2px}
.logo span{color:var(--brand)}
.menu-btn{background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  border-radius:10px;padding:8px 12px;font-size:1rem;cursor:pointer}
nav.site{display:none;padding-bottom:10px}
nav.site.open{display:block}
nav.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
nav.site a{display:block;padding:10px 12px;border-radius:10px;color:var(--text);font-size:.96rem}
nav.site a:hover{background:var(--surface-2);text-decoration:none}
nav.site a.active{background:var(--surface-2);color:var(--brand)}
@media(min-width:860px){
  .menu-btn{display:none}
  nav.site{display:block!important;padding:0}
  nav.site ul{flex-direction:row;gap:4px}
}

main{padding:22px 0 40px}
h1{font-size:1.6rem;line-height:1.3;margin:.2em 0 .1em}
h2{font-size:1.22rem;margin:1.6em 0 .4em}
h3{font-size:1.04rem;margin:1.2em 0 .3em}
.lead{color:var(--muted);margin:.2em 0 1.2em}

.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:18px}
.field{position:relative;margin-bottom:12px}
.field label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:6px}
textarea{
  width:100%;min-height:150px;resize:vertical;padding:14px;border-radius:12px;
  background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  font-size:1.12rem;font-family:var(--font);outline:none;
}
textarea:focus{border-color:var(--brand)}
textarea.bn{font-family:var(--bn);line-height:1.9}
.acts{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}
button.btn{
  background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  border-radius:10px;padding:9px 14px;font-size:.92rem;cursor:pointer;
}
button.btn:hover{border-color:var(--brand)}
button.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));border:0;color:var(--brand-ink);font-weight:700}
.hint{font-size:.85rem;color:var(--muted);margin-top:8px}

/* suggestion strip */
.sugg{display:flex;gap:6px;overflow-x:auto;padding:6px 0 0;min-height:0}
.sugg button{
  flex:0 0 auto;background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  border-radius:999px;padding:6px 14px;font-family:var(--bn);font-size:1.05rem;cursor:pointer;
}
.sugg button:hover,.sugg button.sel{border-color:var(--brand);color:var(--brand)}

.adslot{border:1px dashed var(--line);border-radius:12px;color:var(--muted);
  text-align:center;font-size:.78rem;letter-spacing:1px;padding:14px;margin:18px 0}

.cards{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.card h3{margin:0 0 4px}
.card p{margin:0;color:var(--muted);font-size:.93rem}

table.phrases{width:100%;border-collapse:collapse;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.97rem}
table.phrases th,table.phrases td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.phrases th{background:var(--surface-2);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.6px}
table.phrases td.bn{font-family:var(--bn);font-size:1.1rem}
table.phrases tr:last-child td{border-bottom:0}

details.about{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:18px 0}
details.about summary{cursor:pointer;font-weight:700}
details.about p,details.about li{color:var(--muted)}

.faq{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 14px;margin:8px 0}
.faq summary{cursor:pointer;padding:10px 0;font-weight:600}
.faq p{color:var(--muted);margin-top:0}

footer.site{border-top:1px solid var(--line);background:#0c151d;padding:22px 0;margin-top:30px}
footer.site .links{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}
footer.site small{color:var(--muted)}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--brand);color:var(--brand-ink);font-weight:700;padding:10px 18px;border-radius:999px;
  opacity:0;pointer-events:none;transition:.25s;z-index:60}
.toast.show{opacity:1;transform:translateX(-50%)}

/* === Animations & Language Site Enhancements === */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes softPulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
@keyframes letterFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
main { animation: fadeUp .45s ease both; }
.tool { transition: box-shadow .25s, border-color .25s; }
.tool:hover { box-shadow: 0 8px 28px rgba(0,0,0,.25); border-color: var(--brand); }
.btn.primary { transition: transform .2s, box-shadow .2s; }
.btn.primary:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(31,181,137,.35); }
.card { transition: transform .25s, border-color .25s; }
.card:hover { transform: translateY(-4px); border-color: var(--brand); }

/* Alphabet / script showcase */
.script-showcase {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  margin: 16px 0 22px; padding: 14px; background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius);
}
.script-showcase span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 8px;
  background: var(--surface-2); border-radius: 10px;
  font-size: 1.35rem; color: var(--brand);
  animation: letterFloat 3s ease-in-out infinite;
}
.script-showcase span:nth-child(odd) { animation-delay: .4s; }
.script-showcase span:nth-child(3n) { animation-delay: .8s; }

/* Language grid for easy nav */
.lang-grid {
  display: grid; gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  margin: 18px 0;
}
.lang-grid a {
  display: block; text-align: center; padding: 14px 10px;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: 12px; color: var(--text); font-weight: 600;
  transition: .2s;
}
.lang-grid a:hover {
  border-color: var(--brand); background: var(--surface-2);
  text-decoration: none; transform: translateY(-3px);
}
.lang-grid a small { display: block; font-weight: 400; color: var(--muted); font-size: .78rem; margin-top: 4px; }

/* Sticky better nav on desktop */
@media(min-width: 900px) {
  nav.site ul { flex-wrap: wrap; }
}

/* EngBen News */
.news-main{max-width:860px}.news-intro{padding:24px 0 4px}.news-kicker{display:inline-block;color:var(--brand);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.news-grid{display:grid;gap:18px}.news-card{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.news-card img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block}.news-card>div{padding:18px 18px 18px 0}.news-card h2{margin:.25em 0 .35em;font-size:1.24rem}.news-card h2 a{color:var(--text)}.news-card p{color:var(--muted);margin:.25em 0 .7em}.news-card time,.news-meta{font-size:.82rem;color:var(--muted)}.news-article{max-width:760px;margin:auto}.news-article h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.08;margin:.25em 0}.news-dek{font-size:1.15rem;color:var(--muted);line-height:1.55}.news-meta{display:flex;gap:16px;padding:10px 0 18px;border-bottom:1px solid var(--line)}.news-hero{margin:24px 0}.news-hero img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}.news-hero figcaption{font-size:.75rem;color:var(--muted);margin-top:7px}.news-article>p{font-size:1.04rem}.source-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:26px}.source-box h2{margin-top:0}.source-box p,.source-box li{color:var(--muted);font-size:.9rem}.back-news{margin-top:26px}.sitemap-news{margin-top:28px}@media(max-width:640px){.news-card{grid-template-columns:1fr}.news-card img{height:auto;min-height:0}.news-card>div{padding:0 16px 18px}.news-article h1{font-size:2.05rem}}
