*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--g:rgba(255,255,255,.08);--gb:rgba(255,255,255,.15);--gs:0 8px 32px rgba(0,0,0,.3);--ac:#2563eb;--al:#60a5fa;--ag:rgba(37,99,235,.4);--tp:rgba(255,255,255,.95);--ts:rgba(255,255,255,.6);--tm:rgba(255,255,255,.4);--r:16px;--rs:10px;--fe:'Inter',system-ui,sans-serif;--fb:'Noto Sans Bengali','Inter',sans-serif;--fbr:'Space Grotesk','Inter',sans-serif}
body.light{--g:rgba(255,255,255,.55);--gb:rgba(255,255,255,.6);--gs:0 8px 32px rgba(0,0,0,.1);--ac:#1d4ed8;--al:#2563eb;--ag:rgba(37,99,235,.25);--tp:rgba(15,23,42,.95);--ts:rgba(15,23,42,.6);--tm:rgba(15,23,42,.4)}
html{font-size:16px}
body{font-family:var(--fe);background:linear-gradient(145deg,#0c1a3a,#132744 40%,#1a3352);color:var(--tp);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.light{background:linear-gradient(145deg,#dbeafe,#bfdbfe 40%,#93c5fd)}
.bg-orbs{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:fl 20s ease-in-out infinite}
body.light .orb{opacity:.3}
.o1{width:300px;height:300px;background:radial-gradient(circle,#2563eb,transparent 70%);top:-10%;left:-10%}
.o2{width:250px;height:250px;background:radial-gradient(circle,#0ea5e9,transparent 70%);top:50%;right:-15%;animation-delay:-7s;animation-duration:25s}
.o3{width:200px;height:200px;background:radial-gradient(circle,#38bdf8,transparent 70%);bottom:-5%;left:30%;animation-delay:-14s;animation-duration:22s}
@keyframes fl{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(40px,-30px) scale(1.05)}50%{transform:translate(-20px,40px) scale(.95)}75%{transform:translate(30px,20px) scale(1.02)}}
.glass{background:var(--g);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--gb);border-radius:var(--r);box-shadow:var(--gs)}
.overlay{position:fixed;inset:0;z-index:190;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .35s}
.overlay.on{opacity:1;pointer-events:auto}
body.light .overlay{background:rgba(0,0,0,.3)}
.sidebar{position:fixed;top:0;left:0;width:280px;height:100dvh;z-index:200;background:rgba(12,26,58,.97);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-right:1px solid var(--gb);transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
body.light .sidebar{background:rgba(219,234,254,.97)}
.sidebar.open{transform:translateX(0)}
.sb-head{display:flex;align-items:center;padding:28px 20px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
body.light .sb-head{border-bottom-color:rgba(0,0,0,.08)}
.sb-logo{width:36px;height:36px;border-radius:8px;margin-right:10px;flex-shrink:0}
.sb-brand{font-family:var(--fbr);font-size:1.2rem;font-weight:700;letter-spacing:2px;color:var(--al)}
.sb-btn{display:flex;align-items:center;gap:14px;padding:14px 16px;border:none;border-radius:var(--rs);background:none;color:var(--ts);font-size:.95rem;font-family:var(--fe);cursor:pointer;text-align:left;width:100%;transition:all .2s}
.sb-btn svg{width:20px;height:20px;flex-shrink:0}
.sb-btn:hover{background:rgba(255,255,255,.06);color:var(--tp)}
body.light .sb-btn:hover{background:rgba(0,0,0,.05)}
.sb-btn.active{background:rgba(37,99,235,.15);color:var(--al)}
.sb-divider{height:1px;background:rgba(255,255,255,.06);margin:8px 12px}
body.light .sb-divider{background:rgba(0,0,0,.08)}
.sb-row{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;border-radius:var(--rs);transition:background .2s}
.sb-row:hover{background:rgba(255,255,255,.06)}
body.light .sb-row:hover{background:rgba(0,0,0,.05)}
.sb-label{font-size:.85rem;color:var(--ts);font-family:var(--fe)}
.sw{width:44px;height:24px;background:rgba(255,255,255,.15);border-radius:12px;position:relative;transition:background .3s;flex-shrink:0}
body.light .sw{background:rgba(37,99,235,.2)}
.sw-t{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s;box-shadow:0 2px 4px rgba(0,0,0,.2)}
body.light #themeSw .sw-t{transform:translateX(20px);background:#2563eb}
.hdr{position:sticky;top:0;z-index:100;border-radius:0;border-top:none;border-left:none;border-right:none;padding:14px 16px}
.hdr-in{display:flex;align-items:center;max-width:600px;margin:0 auto;gap:12px}
.hdr-c{flex:1;text-align:center}
.hdr-logo{width:48px;height:48px;border-radius:10px;margin-bottom:6px}
.hdr-c h1{font-family:var(--fbr);font-size:1.5rem;font-weight:700;letter-spacing:3px;background:linear-gradient(135deg,var(--al),#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sub{font-size:.7rem;color:var(--tm);margin-top:1px}
.menu-btn{background:none;border:none;color:var(--tp);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px;width:40px;height:40px;transition:background .2s;flex-shrink:0}
.menu-btn:hover{background:rgba(255,255,255,.1)}
body.light .menu-btn:hover{background:rgba(0,0,0,.06)}
.menu-btn svg{width:22px;height:22px}
.main{flex:1;padding:20px 16px;max-width:600px;margin:0 auto;width:100%}
.search{padding:6px;margin-bottom:20px;position:relative}
.sb{display:flex;align-items:center;gap:10px;padding:0 14px;height:50px}
.si{width:20px;height:20px;color:var(--tm);flex-shrink:0}
#input{flex:1;background:none;border:none;outline:none;color:var(--tp);font-size:1rem;font-family:var(--fe);min-width:0}
#input::placeholder{color:var(--tm)}
.clr{background:none;border:none;color:var(--tm);cursor:pointer;padding:4px;display:flex;opacity:0;transition:opacity .2s;pointer-events:none}
.clr.on{opacity:1;pointer-events:auto}
.clr:hover{color:var(--tp)}
.clr svg{width:18px;height:18px}
.ld{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--ts);font-size:.9rem}
.sp{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--al);border-radius:50%;animation:spin .8s linear infinite}
body.light .sp{border-color:rgba(0,0,0,.1);border-top-color:var(--al)}
@keyframes spin{to{transform:rotate(360deg)}}
.hidden{display:none!important}
#result{display:flex;flex-direction:column;gap:16px;animation:fi .4s ease}
@keyframes fi{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.rc{padding:24px;animation:su .35s ease}
@keyframes su{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.word-en{font-family:var(--fbr);font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#fff,var(--al));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}
body.light .word-en{background:linear-gradient(135deg,#1e293b,var(--ac));-webkit-background-clip:text;background-clip:text}
.word-bn{font-family:var(--fb);font-size:1.4rem;font-weight:600;color:var(--al);line-height:1.6;margin-bottom:12px}
.word-phonetic{font-size:.85rem;color:var(--tm);margin-bottom:8px}
.word-pos{display:inline-block;padding:3px 12px;border-radius:20px;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.2);color:var(--al);font-size:.78rem;font-weight:500;margin-bottom:12px}
body.light .word-pos{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.15)}
.word-def{font-size:.9rem;color:var(--ts);line-height:1.7;margin:8px 0;padding-left:12px;border-left:2px solid rgba(37,99,235,.2)}
.word-def-bn{font-family:var(--fb);font-size:.85rem;color:#34d399;padding-left:12px;margin-bottom:4px}
.word-bn-sm{font-family:var(--fb);font-size:.85rem;color:#34d399}
.word-example{font-size:.85rem;color:#a78bfa;font-style:italic;margin:4px 0 4px 16px}
body.light .word-example{color:#7c3aed}
.word-syns{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.syn-tag{padding:4px 10px;border-radius:12px;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.2);font-size:.75rem;color:var(--al);font-family:var(--fb)}
.audio-btn{background:none;border:1px solid rgba(37,99,235,.2);border-radius:8px;padding:5px 12px;color:var(--ts);cursor:pointer;font-size:.8rem;transition:all .2s;margin-top:8px;margin-right:6px}
.audio-btn:hover{border-color:var(--al);color:var(--al);background:rgba(37,99,235,.1)}
.wotd{padding:24px;margin-bottom:20px;text-align:center;cursor:default}
.wotd-label{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--tm);margin-bottom:8px}
.wotd-en{font-family:var(--fbr);font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#fff,var(--al));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;margin-bottom:6px}
body.light .wotd-en{background:linear-gradient(135deg,#1e293b,var(--ac));-webkit-background-clip:text;background-clip:text}
.wotd-en:hover{opacity:.8}
.wotd-bn{font-family:var(--fb);font-size:1rem;color:var(--al)}
.home-section{margin-bottom:20px}
.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 16px;border-radius:20px;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.2);color:var(--al);font-size:.85rem;font-family:var(--fe);cursor:pointer;transition:all .2s}
.chip:hover{background:rgba(37,99,235,.25);border-color:var(--al);transform:translateY(-1px)}
body.light .chip{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.15)}
body.light .chip:hover{background:rgba(37,99,235,.18)}
.section-title{font-weight:600;color:var(--tm);margin-bottom:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:1px;margin-top:14px}
.error-msg{text-align:center;padding:24px;color:#f87171;font-size:.9rem}
.page{display:none;flex-direction:column;min-height:100dvh}
.page.active{display:flex}
.pc{padding:24px 20px;margin-bottom:20px}
.av-c{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:20px}
body.light .av-c{border-bottom-color:rgba(0,0,0,.08)}
.av{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid rgba(37,99,235,.4);box-shadow:0 0 30px rgba(37,99,235,.2);margin-bottom:14px}
.av.sm{width:100px;height:100px;margin-bottom:16px}
.nm{font-family:var(--fbr);font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#fff,var(--al));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body.light .nm{background:linear-gradient(135deg,#1e293b,var(--ac));-webkit-background-clip:text;background-clip:text}
.rl{font-size:.85rem;color:var(--ts);margin-top:4px}
.bio{display:flex;flex-direction:column;gap:14px}
.bio p{font-size:.9rem;color:var(--ts);line-height:1.7}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}
body.light .tags{border-top-color:rgba(0,0,0,.08)}
.tag{padding:6px 14px;border-radius:20px;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.2);color:var(--al);font-size:.78rem;font-weight:500}
body.light .tag{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.15)}
.ct{display:flex;flex-direction:column;align-items:center;text-align:center}
.ct-l{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.ctk{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--rs);background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.2);color:var(--al);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s}
body.light .ctk{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.15)}
.ctk svg{width:20px;height:20px}
.ctk:hover{background:rgba(37,99,235,.25);transform:translateY(-1px)}
.about-logo{text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:20px}
.about-logo-img{width:80px;height:80px;border-radius:16px;margin-bottom:10px}
body.light .about-logo{border-bottom-color:rgba(0,0,0,.08)}
.brand-lg{font-family:var(--fbr);font-size:2.2rem;font-weight:700;letter-spacing:4px;background:linear-gradient(135deg,var(--al),#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-tagline{font-size:.85rem;color:var(--tm);margin-top:4px}
.about-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}
body.light .about-section{border-top-color:rgba(0,0,0,.08)}
.ftr{margin-top:auto;border-radius:0;border-bottom:none;border-left:none;border-right:none;padding:14px 20px;text-align:center;font-size:.7rem;color:var(--tm)}
@media(max-width:400px){.main{padding:16px 12px}.word-en{font-size:1.4rem}}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}
:focus-visible{outline:2px solid var(--al);outline-offset:2px}
input[type="text"]{font-size:16px}
