/* Dubbble: one stylesheet, no web fonts, no JavaScript. */
:root{
  color-scheme:light dark;
  --fg:#202124;--fg2:#4d5156;--mut:#70757a;--bg:#fff;--bg2:#f8f9fa;--line:#dadce0;--line2:#ecedef;
  --link:#1a0dab;--visited:#681da8;--acc:#1a73e8;--cur:#ea4335;
  --pill-shadow:0 1px 6px rgba(32,33,36,.28);
  --lead:24px;--col:652px
}
@media (prefers-color-scheme:dark){:root{
  --fg:#e8eaed;--fg2:#bdc1c6;--mut:#9aa0a6;--bg:#202124;--bg2:#171717;--line:#5f6368;--line2:#3c4043;
  --link:#99c3ff;--visited:#c58af9;--acc:#8ab4f8;--cur:#f28b82;
  --pill-shadow:0 1px 6px rgba(0,0,0,.6)
}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.58 system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans Bengali","Hind Siliguri",sans-serif}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--link)}
button{font:inherit;color:inherit}
.ico{width:20px;height:20px;fill:currentColor;flex:none}

/* logo */
.logo{font-weight:700;letter-spacing:-.045em;margin:0;line-height:1}
.logo a,a.logo{color:var(--fg);text-decoration:none}
.logo b{color:var(--acc)}
.logo.big{font-size:clamp(3.4rem,11vw,5.6rem)}
.logo.mid{font-size:1.75rem;flex:none}

/* home */
.home .hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12vh 16px 4rem}
.home-form{width:min(584px,100%);margin-top:1.75rem}
.pill{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:0 6px 0 16px;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--mut);transition:box-shadow .15s}
.pill:hover,.pill:focus-within{box-shadow:var(--pill-shadow);border-color:transparent}
.pill input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--fg);font:inherit;padding:11px 0}
.pill input::-webkit-search-cancel-button{cursor:pointer}
.buttons{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.soft{background:var(--bg2);border:1px solid var(--bg2);border-radius:6px;padding:0 16px;height:36px;font-size:.88rem;color:var(--fg);cursor:pointer}
.soft:hover{border-color:var(--line);box-shadow:0 1px 1px rgba(0,0,0,.1)}
.tagline{color:var(--mut);margin-top:1.6rem;font-size:.9rem;text-align:center}

/* results header */
.top{display:flex;align-items:center;gap:20px 28px;padding:20px var(--lead) 16px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.top-form{flex:1 1 320px;min-width:0;max-width:692px}
.top .pill{min-height:46px;padding-right:4px}
.go{border:0;background:transparent;color:var(--acc);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.go:hover{background:var(--bg2)}

/* results body */
.serp{display:flex;flex-direction:column;padding:0 var(--lead);flex:1}
.results-col{max-width:var(--col);min-width:0}
.meta{color:var(--mut);font-size:.84rem;margin:12px 0 18px}
.note{color:var(--fg2);font-size:.9rem;margin:-6px 0 18px}
.empty{color:var(--fg2);margin:8px 0 40px}
.empty p{margin:.4rem 0}
ol.hits{list-style:none;padding:0;margin:0}
.hit{margin:0 0 30px}
.hit .link{display:block;text-decoration:none;color:inherit}
.src-line{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:#fff;flex:none;border:1px solid var(--line2)}
.h0{background:#1a73e8}.h1{background:#188038}.h2{background:#d93025}.h3{background:#e37400}.h4{background:#9334e6}.h5{background:#12858a}
.src-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.site{font-size:.875rem;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
cite{font-style:normal;font-size:.75rem;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hit h3{margin:0;font-size:1.25rem;font-weight:400;line-height:1.3;color:var(--link);overflow-wrap:anywhere}
.hit .link:visited h3{color:var(--visited)}
.hit .link:hover h3,.hit .link:focus-visible h3{text-decoration:underline}
.hit .s{margin:4px 0 0;color:var(--fg2);font-size:.875rem;line-height:1.58;overflow-wrap:anywhere}
.hit .s b{color:var(--fg);font-weight:600}

/* related searches */
.related{margin:8px 0 8px}
.related h2{font-size:1.25rem;font-weight:400;margin:0 0 12px}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.chip{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-radius:24px;background:var(--bg2);color:var(--fg);text-decoration:none;font-size:.92rem}
.chip .ico{width:18px;height:18px;color:var(--mut)}
.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip:hover{background:var(--line2)}
@media (max-width:520px){.related-grid{grid-template-columns:1fr}}

/* knowledge panel: top on phones, right column on wide screens */
.answer{border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin:16px 0 8px;max-width:var(--col)}
.answer h2{margin:0 0 8px;font-size:1.5rem;font-weight:400;line-height:1.25}
.answer p{margin:6px 0;color:var(--fg2);font-size:.92rem}
.answer .more a{font-weight:500}
.answer .host{color:var(--mut);font-size:.8rem}
.answer .src{display:block;color:var(--mut);font-size:.72rem;margin-top:12px;padding-top:10px;border-top:1px solid var(--line2)}

/* pagination: "du b b b ... le" with page numbers under each b */
.pager{margin:24px 0 48px}
.pager-row{display:flex;align-items:flex-start;justify-content:center;gap:4px}
.word{display:flex;align-items:flex-start}
.col{display:flex;flex-direction:column;align-items:center;text-decoration:none;min-width:20px}
.ch{font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1.1}
.ch.d{color:var(--fg)}
.ch.b{color:var(--acc)}
.cur .ch.b{color:var(--cur)}
.num{font-size:.85rem;color:var(--link);margin-top:2px}
a.col:hover .num{text-decoration:underline}
.cur .num{color:var(--fg);font-weight:700}
.arrow{display:flex;flex-direction:column;align-items:center;min-width:56px;text-decoration:none}
.arrow .chev{font-size:2rem;line-height:1.1;color:var(--acc)}
.arrow .lab{font-size:.85rem;color:var(--link);margin-top:2px}
.arrow.off{visibility:hidden}

@media (min-width:760px){
  :root{--lead:calc(28px + 1.75rem * 4.1 + 28px)}
  .top{padding-left:28px}
}
@media (min-width:1180px){
  .serp{display:grid;grid-template-columns:minmax(0,var(--col)) minmax(0,368px);grid-template-areas:"main side";column-gap:76px;align-items:start}
  .results-col{grid-area:main}
  .answer{grid-area:side;margin-top:40px}
}
@media (max-width:520px){
  .top{gap:12px;padding:14px 16px 12px}
  .top-form{flex-basis:100%}
  .serp{padding:0 16px}
  .ch{font-size:1.55rem}
  .arrow{min-width:40px}
  .arrow .lab{display:none}
}

/* simple pages */
.prose{max-width:var(--col);padding:8px var(--lead) 40px;flex:1}
.prose h1{font-weight:400;font-size:1.8rem}
.prose h2{font-size:1.1rem;margin-top:1.6rem}
.prose li{margin:.35rem 0}
pre{background:var(--bg2);border:1px solid var(--line2);padding:.6rem .8rem;border-radius:8px;overflow:auto}

/* footer */
.foot{background:var(--bg2);color:var(--mut);font-size:.875rem;margin-top:auto}
.foot .loc{padding:14px var(--lead);border-bottom:1px solid var(--line2)}
.foot .links{display:flex;flex-wrap:wrap;gap:8px 28px;padding:14px var(--lead)}
.foot a{color:inherit;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .sep{flex-basis:100%;height:0}
@media (min-width:900px){.foot .sep{flex-basis:auto;margin-left:auto}}
.meta .report{color:var(--mut)}
/* blog + forms on public pages */
.posts{list-style:none;padding:0;margin:0}
.posts li{margin:0 0 28px}
.posts h2{margin:0;font-size:1.3rem;font-weight:500;color:var(--link)}
.post-link{text-decoration:none}
.posts time{color:var(--mut);font-size:.85rem}
.posts p{margin:.3rem 0 0;color:var(--fg2)}
.post article{font-size:1.05rem;line-height:1.75}
.post article h2,.post article h3{margin-top:1.8rem}
.post article pre,.post article code{font-size:.9rem}
.post article blockquote{border-left:3px solid var(--line);margin:1rem 0;padding:.2rem 1rem;color:var(--fg2)}
.post article table{width:auto}
.prose .form select{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.home .foot .loc,.home .foot .links{padding-left:30px;padding-right:30px}

/* admin */
.bar{display:flex;align-items:center;gap:.75rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.bar .logo.small{font-size:1.6rem;text-decoration:none;color:var(--fg)}
.adminnav{display:flex;gap:1rem}
.who{margin-left:auto;color:var(--mut);font-size:.85rem}
.adminmain{max-width:1000px;padding:1rem;margin:0 auto;width:100%}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0}
.card{border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem}
.card b{display:block;font-size:1.4rem}
.card span{color:var(--mut);font-size:.82rem}
.days{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.85rem}
.days a.on{font-weight:700;text-decoration:none;color:var(--fg)}
table{border-collapse:collapse;width:100%;margin:.5rem 0 1.5rem;font-size:.92rem}
th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
th{color:var(--mut);font-weight:600}
th.n,td.n{text-align:right;white-space:nowrap}
th{white-space:nowrap}
table td:first-child{min-width:9rem}
.form label{display:block;font-weight:600;margin:.9rem 0 .3rem}
.form input[type=text],.form input[type=url],.form textarea{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.form textarea{min-height:9rem}
.form .help{color:var(--mut);font-size:.82rem;margin:.25rem 0 0}
.btn{font:inherit;padding:.55rem 1.1rem;border:1px solid var(--acc);background:var(--acc);color:#fff;border-radius:8px;cursor:pointer;text-decoration:none}
.btn.danger{background:transparent;color:#d93025;border-color:#d93025}
.err{color:#d93025;font-weight:600}
.row{display:flex;gap:1rem;align-items:center;margin-top:1.2rem;flex-wrap:wrap}
/* admin: page heads, forms, actions, danger zone (no inline styles: CSP blocks them) */
.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1rem}
.page-head h1{margin:0}
.inline-form{display:flex;gap:.5rem;align-items:center;margin:0}
.inline-form select{font:inherit;height:38px;padding:0 .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.adminmain .form{max-width:760px}
.form textarea.short{min-height:4.5rem}
.form textarea.tall{min-height:22rem}
.form label.check{display:flex;align-items:center;gap:.6rem;font-weight:500;margin:1.2rem 0 0;cursor:pointer}
.form label.check input{width:18px;height:18px;margin:0;accent-color:var(--acc)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 1.2rem;line-height:1;box-sizing:border-box}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.btn.ghost:hover{background:var(--bg2)}
.actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line2)}
.actions .stamp{margin-left:auto;color:var(--mut);font-size:.82rem}
.danger-zone{max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding:1rem 1.1rem;border:1px solid #f4c7c3;border-radius:10px}
.danger-zone div{display:flex;flex-direction:column;gap:.15rem}
.danger-zone span{color:var(--mut);font-size:.85rem}
td.pre{white-space:pre-wrap}
.history{border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;margin:0 0 1rem}
.history h2{margin:.2rem 0 .4rem;font-size:1.05rem}
.history ol{margin:0;padding-left:1.2rem}
.history li{margin:.25rem 0}
.history .when{color:var(--mut);font-size:.85rem;margin-right:.4rem}
.history .hn{color:var(--mut);font-size:.85rem}
.back{margin-top:2rem}
.nf-form{margin-top:1rem}
@media (prefers-color-scheme:dark){.danger-zone{border-color:#5c2b29}}
