@font-face{font-family:'Sabbir Sorolota';src:url(/fonts/SabbirSorolota-num.woff2) format('woff2');unicode-range:U+09E6-09EF,U+09F2-09F3,U+09F9;font-weight:400 900;font-display:swap}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/HindSiliguri-400-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/HindSiliguri-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/HindSiliguri-500-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/HindSiliguri-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/HindSiliguri-600-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/HindSiliguri-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/HindSiliguri-700-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/HindSiliguri-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Amiri-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Amiri-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Amiri-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Amiri-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ---------- tokens ---------- */
:root{
  --bg:#f7f3ea;--bg2:#efe8d8;--surface:#fffdf8;--ink:#1f1b3a;--ink2:#3b3657;--muted:#6b6683;--line:#e6dfcd;
  --brand:#3a2e8c;--brand2:#5946c8;--brand-soft:#ece9fb;--gold:#d9961a;--gold2:#f2b53a;--gold-soft:#fbf0d6;--teal:#0d7f74;--teal-soft:#e2f3f0;
  --shadow:0 1px 2px rgba(31,27,58,.05),0 8px 24px -12px rgba(31,27,58,.16);
  --r:16px;--r-sm:10px;--wrap:1120px;--gut:clamp(16px,4vw,32px);
  --f:'Sabbir Sorolota','Hind Siliguri',system-ui,sans-serif;--f-ar:'Amiri','Traditional Arabic',serif;
  --top-h:62px;--tabs-h:64px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#14122b;--bg2:#1b1838;--surface:#1e1b3d;--ink:#f2efe7;--ink2:#d8d4e6;--muted:#a49fbd;--line:#2f2b56;
  --brand:#b5a8ff;--brand2:#cfc6ff;--brand-soft:#28245a;--gold:#f2bd4c;--gold2:#f6cd6e;--gold-soft:#3a3020;--teal:#5fd1c3;--teal-soft:#173a3a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -14px rgba(0,0,0,.6);color-scheme:dark}}
:root[data-theme=dark]{
  --bg:#14122b;--bg2:#1b1838;--surface:#1e1b3d;--ink:#f2efe7;--ink2:#d8d4e6;--muted:#a49fbd;--line:#2f2b56;
  --brand:#b5a8ff;--brand2:#cfc6ff;--brand-soft:#28245a;--gold:#f2bd4c;--gold2:#f6cd6e;--gold-soft:#3a3020;--teal:#5fd1c3;--teal-soft:#173a3a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -14px rgba(0,0,0,.6);color-scheme:dark}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 clamp(16px,1.05vw + 12px,18px)/1.75 var(--f);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom))}
:where(svg){width:1em;height:1em;flex:0 0 auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand2)}
h1,h2,h3{line-height:1.35;margin:0;font-weight:700;color:var(--ink)}
p{margin:0}
.n{font-family:'Sabbir Sorolota','Hind Siliguri',sans-serif;font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--brand);color:#fff;padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:2.5px solid var(--gold2);outline-offset:2px;border-radius:6px}
.i{display:inline-block;vertical-align:-.15em}
.only-dark{display:none}
:root[data-theme=dark] .only-dark{display:inline-block}:root[data-theme=dark] .only-light{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .only-dark{display:inline-block}:root:not([data-theme=light]) .only-light{display:none}}

/* ---------- view transitions (no-reload feel between pages) ---------- */
@view-transition{navigation:auto}
.top{view-transition-name:top}.tabs{view-transition-name:tabs}
::view-transition-old(root){animation:vt-out .16s ease both}
::view-transition-new(root){animation:vt-in .24s cubic-bezier(.2,.8,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding-top:env(safe-area-inset-top)}
.top-in{display:flex;align-items:center;gap:16px;height:var(--top-h)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);min-width:0}
.brand img{width:38px;height:38px;border-radius:50%}
.brand-t{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-t strong{font-size:1.06rem;white-space:nowrap}
.brand-t small{font-size:.72rem;color:var(--muted);letter-spacing:.02em;font-family:system-ui,sans-serif}
.topnav{display:none;gap:4px;margin-left:auto}
.topnav a{color:var(--ink2);padding:8px 14px;border-radius:10px;font-weight:500;font-size:.97rem}
.topnav a:hover{background:var(--bg2)}
.topnav a.on{color:var(--brand);background:var(--brand-soft)}
.top-act{display:flex;gap:4px;margin-left:auto}
.ibtn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:0;background:transparent;color:var(--ink2);cursor:pointer;transition:background .15s,color .15s}
.ibtn:hover{background:var(--bg2);color:var(--brand)}
@media (min-width:900px){.topnav{display:flex}.top-act{margin-left:8px}}

/* ---------- mobile app tab bar ---------- */
.tabs{position:fixed;inset:auto 0 0 0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabs-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:.72rem;font-weight:500;-webkit-tap-highlight-color:transparent;transition:color .15s}
.tab .i{transition:transform .2s}
.tab.on{color:var(--brand)}.tab.on .i{transform:translateY(-1px) scale(1.06)}
.tab:active .i{transform:scale(.9)}
@media (min-width:900px){.tabs{display:none}body{padding-bottom:0}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100svh - var(--top-h) - var(--tabs-h));display:grid;place-items:center;overflow:hidden;padding-block:clamp(24px,5vh,56px)}
@media (min-width:900px){.hero{min-height:calc(100svh - var(--top-h))}}
.hero-glow{position:absolute;inset:-20% -10% auto;height:120%;background:radial-gradient(48% 42% at 50% 30%,color-mix(in srgb,var(--gold2) 30%,transparent),transparent 70%),radial-gradient(40% 40% at 80% 70%,color-mix(in srgb,var(--brand2) 16%,transparent),transparent 70%),radial-gradient(36% 36% at 15% 75%,color-mix(in srgb,var(--teal) 12%,transparent),transparent 70%);pointer-events:none}
.hero-in{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.2vh,20px)}
.hero-logo{width:clamp(72px,10vh,96px);height:auto;border-radius:50%;filter:drop-shadow(0 12px 28px rgba(217,150,26,.35))}
.hero h1{font-size:clamp(2rem,4.6vw + .6rem,3.6rem);letter-spacing:-.01em;line-height:1.2}
.hero-sub{font-size:clamp(1rem,1.2vw + .7rem,1.25rem);color:var(--ink2);max-width:40ch}
.hero-search{display:flex;align-items:center;gap:8px;width:min(680px,100%);background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:6px 6px 6px 16px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s;position:relative}
.hero-search:focus-within{border-color:var(--brand2);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand2) 18%,transparent),var(--shadow)}
.hero-search>.i{color:var(--muted)}
.hero-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--ink);padding:10px 4px;outline:none;font-size:1.02rem}
.hero-search button{border:0;background:var(--brand);color:#fff;font:600 1rem var(--f);padding:11px 20px;border-radius:13px;cursor:pointer;transition:transform .15s,background .2s}
:root[data-theme=dark] .hero-search button{color:#14122b}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-search button{color:#14122b}}
.hero-search button:hover{background:var(--brand2)}.hero-search button:active{transform:scale(.97)}
.hero-search.slim{margin-top:14px}
.hero-quick{font-size:.95rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;max-width:640px}
.hero-quick a{color:var(--ink2);border-bottom:1px dashed color-mix(in srgb,var(--ink2) 40%,transparent)}
.hero-quick a:hover{color:var(--brand);border-color:var(--brand)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,24px);margin:clamp(4px,1vh,12px) 0 0;width:min(620px,100%)}
.hero-stats div{background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line);border-radius:14px;padding:10px 8px}
.hero-stats dt{font-size:.78rem;color:var(--muted)}
.hero-stats dd{margin:0;font-weight:700;font-size:clamp(1rem,1.6vw + .5rem,1.45rem);color:var(--ink)}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);text-align:left;overflow:hidden;z-index:20;max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain}

/* ---------- sections ---------- */
.sec{padding-block:clamp(24px,4vw,44px)}
.sec+.sec{padding-top:0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:clamp(12px,2vw,18px)}
.sec-h h2,.block h2{font-size:clamp(1.2rem,1.2vw + .8rem,1.55rem)}
.more{font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.pagehead{padding-block:clamp(20px,4vw,40px) clamp(6px,1vw,10px)}
.pagehead h1{font-size:clamp(1.55rem,2.6vw + .7rem,2.4rem);margin-bottom:8px}
.pagehead>p{color:var(--ink2);max-width:70ch}
.pagehead .btn{margin-top:14px}

/* categories grid: 2 / 3 / 4 columns, never a single column */
.cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:640px){.cats{grid-template-columns:repeat(3,1fr);gap:14px}}
@media (min-width:1000px){.cats{grid-template-columns:repeat(4,1fr)}}
.cats a{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.cats a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand2) 40%,var(--line));box-shadow:var(--shadow)}
.cats a .i{color:var(--gold);width:26px;height:26px;padding:6px;box-sizing:content-box;background:var(--gold-soft);border-radius:12px}
.cats strong{font-size:1rem;line-height:1.35}
.cats span{font-size:.82rem;color:var(--muted)}
.cats em{font-style:normal;font-size:.86rem;color:var(--ink2);line-height:1.55}
.cats.big a{padding:18px}

/* question list */
.qlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.qlist{grid-template-columns:repeat(2,1fr);gap:14px}}
.qc a{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:border-color .18s,box-shadow .18s,transform .18s}
.qc a:hover{border-color:color-mix(in srgb,var(--brand2) 40%,var(--line));box-shadow:var(--shadow);transform:translateY(-1px)}
.qc h3{font-size:1.02rem;font-weight:600;line-height:1.5}
.qc p{font-size:.9rem;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qc-cat{font-size:.78rem;color:var(--teal);font-weight:600}
ol.qlist{counter-reset:q}

.eps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:640px){.eps{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.eps{grid-template-columns:repeat(5,1fr)}}
.eps a{display:flex;flex-direction:column;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:border-color .18s}
.eps a:hover{border-color:var(--brand2)}
.eps span{font-size:.8rem;color:var(--muted)}

.trust>div{background:linear-gradient(135deg,var(--gold-soft),color-mix(in srgb,var(--teal-soft) 60%,var(--surface)));border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,36px);display:grid;gap:12px;justify-items:start}
.trust p{color:var(--ink2);max-width:75ch}
.btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:12px;padding:10px 18px;background:var(--brand);color:#fff;font:600 .97rem var(--f);cursor:pointer}
.btn.ghost{background:var(--surface);color:var(--brand);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--brand2)}

/* ---------- question page ---------- */
.qpage{max-width:820px;padding-block:clamp(14px,3vw,30px) clamp(24px,5vw,48px)}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.86rem;color:var(--muted);margin-bottom:10px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--brand)}
.crumbs .i{opacity:.6}
.qpage h1{font-size:clamp(1.45rem,2.4vw + .75rem,2.25rem);line-height:1.4;letter-spacing:-.005em}
.qmeta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.88rem;color:var(--muted);margin:10px 0 18px}
.qmeta a{color:var(--teal);font-weight:600}
.short{position:relative;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold2);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.short h2{font-size:.86rem;color:var(--gold);font-weight:700;letter-spacing:.02em;margin-bottom:4px}
.short p{font-size:clamp(1.02rem,.5vw + .9rem,1.12rem);line-height:1.8;color:var(--ink)}
.yt{margin:20px 0 0}
.yt-lite{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:pointer;background:#000}
.yt-lite img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform .5s,opacity .3s}
.yt-lite:hover img{transform:scale(1.02);opacity:1}
.yt-play{position:absolute;inset:0;margin:auto;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:#c4302b;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.yt-play .i{fill:currentColor;margin-left:4px}
.yt-lite:hover .yt-play{transform:scale(1.07)}
.yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);display:block;background:#000}
.yt figcaption{font-size:.84rem;color:var(--muted);margin-top:6px;text-align:center}
.block{margin-top:clamp(22px,4vw,34px)}
.block h2{margin-bottom:10px}
.block-note{font-size:.88rem;color:var(--muted);margin:-4px 0 12px}
.asked{margin:0;padding:12px 16px;border-radius:var(--r-sm);background:var(--bg2);color:var(--ink2);font-size:.98rem;line-height:1.75}
.prose p{margin:0 0 .9em}.prose p:last-child{margin:0}
.prose ul{padding-left:1.2em}.prose h2{font-size:1.2rem;margin:1.2em 0 .5em}
.kp{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kp li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;line-height:1.65}
.kp .i{color:var(--teal);margin-top:.35em}
.refs{display:grid;gap:14px}
.ref{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;scroll-margin-top:calc(var(--top-h) + 12px)}
.ref-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.ref-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--teal-soft);color:var(--teal);flex:0 0 auto}
.ref h3{font-size:1.02rem}
.ref-meta{font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px}
.ref-meta strong{color:var(--teal)}
.ref-said{color:var(--gold);font-weight:600;display:inline-flex;align-items:center;gap:3px}
.ar{font-family:var(--f-ar);font-size:clamp(1.3rem,.8vw + 1.05rem,1.55rem);line-height:2.05;color:var(--ink);text-align:right;margin:4px 0 10px;padding:10px 14px;background:var(--bg2);border-radius:12px}
.bn-t{color:var(--ink2);line-height:1.85}
.ref-more summary{list-style:none;cursor:pointer}
.ref-more summary::-webkit-details-marker{display:none}
.ref-more[open] summary{display:none}
.more-t{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-weight:600;font-size:.9rem;margin-top:4px}
.ref-why{font-size:.92rem;color:var(--ink2);margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.ref-src{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:.88rem;font-weight:600}
.other{margin-top:14px;padding:14px 16px;border-radius:var(--r);background:var(--gold-soft)}
.other h3{font-size:.98rem;margin-bottom:6px}.other ul{margin:0;padding-left:1.2em}
.faq{display:grid;gap:8px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:12px 16px;font-weight:600;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{transition:transform .2s;color:var(--muted)}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq details p{padding:0 16px 14px;color:var(--ink2)}
.tags{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:22px;font-size:.9rem}
.tags a{color:var(--muted)}.tags a:hover{color:var(--brand)}
.share{display:flex;align-items:center;gap:4px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.share span{margin-right:6px}
.related .qlist{grid-template-columns:1fr}
@media (min-width:760px){.related .qlist{grid-template-columns:repeat(2,1fr)}}
.updated{margin-top:22px;font-size:.82rem;color:var(--muted)}
.adm-warn{background:var(--gold-soft);padding:8px 12px;border-radius:10px;margin-bottom:10px;font-size:.9rem}

.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:24px;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;display:inline-grid;place-items:center;padding:0 10px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink2)}
.pager .cur{background:var(--brand);color:#fff;border-color:var(--brand)}
.pager .gap{border:0;background:none}
.static{max-width:820px}.static .prose{margin-top:14px;color:var(--ink2)}
.nf{text-align:center;min-height:50svh;display:grid;align-content:center;justify-items:center;gap:10px}

/* ---------- search sheet ---------- */
.sheet{position:fixed;inset:0;z-index:60;background:rgba(15,12,35,.35);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:max(10px,env(safe-area-inset-top)) 10px 10px;animation:fade .15s}
.sheet[hidden]{display:none}
.sheet-panel{width:min(680px,100%);background:var(--surface);border-radius:20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);overflow:hidden;margin-top:min(9vh,80px);animation:pop .2s cubic-bezier(.2,.8,.2,1)}
.sbox{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--line)}
.sbox>.i{color:var(--muted)}
.sbox input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.05rem;color:var(--ink);outline:none;padding:8px 0}
.sresults{max-height:min(62vh,520px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sr{display:block;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--ink)}
.sr:hover,.sr.act{background:var(--brand-soft)}
.sr small{display:block;color:var(--teal);font-size:.78rem;font-weight:600}
.sempty{padding:16px;color:var(--muted);font-size:.92rem}
@keyframes fade{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(-8px) scale(.98)}}
html.lock{overflow:hidden}

/* ---------- footer ---------- */
.foot{margin-top:clamp(28px,5vw,56px);border-top:1px solid var(--line);background:var(--bg2);padding-block:clamp(22px,4vw,40px) 18px}
.foot-in{display:grid;gap:16px}
.foot-brand{display:flex;gap:12px;align-items:center}
.foot-brand img{width:44px;height:44px;border-radius:50%}
.foot-brand p{font-size:.88rem;color:var(--muted)}
.foot-links{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 18px;font-size:.93rem}
@media (min-width:760px){.foot-links{display:flex;flex-wrap:wrap}}
.foot-links a{color:var(--ink2)}.foot-links a:hover{color:var(--brand)}
.foot-note{font-size:.82rem;color:var(--muted);max-width:80ch}
.credit{font-size:.82rem;color:var(--muted);text-align:center;padding-top:12px;border-top:1px solid var(--line)}
.credit a{color:var(--ink2);font-weight:600}.credit a:hover{color:var(--gold)}

/* ---------- guide mode (staff only) ---------- */
html.gm [data-g]{outline:2px dashed color-mix(in srgb,var(--gold2) 80%,transparent);outline-offset:4px;border-radius:6px;cursor:pointer;transition:outline-color .15s,background .15s}
html.gm [data-g]:hover{outline-color:var(--brand2);outline-style:solid;background:color-mix(in srgb,var(--brand-soft) 50%,transparent)}
.gm-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabs-h) + 12px + env(safe-area-inset-bottom));z-index:70;background:#1f1b3a;color:#fff;border-radius:14px;padding:8px 10px 8px 14px;display:flex;gap:10px;align-items:center;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
@media (min-width:900px){.gm-bar{bottom:18px}}
.gm-bar button,.gm-bar a{background:#3a2e8c;color:#fff;border:0;border-radius:9px;padding:6px 10px;font:inherit;cursor:pointer}
.gm-pop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(15,12,35,.4);padding:12px}
.gm-card{width:min(720px,100%);max-height:88svh;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);overflow:hidden}
.gm-card header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-weight:700}
.gm-card .gm-body{padding:14px 16px;overflow-y:auto;overscroll-behavior:contain}
.gm-card textarea,.gm-card input{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.gm-card textarea{min-height:160px;resize:vertical}
.gm-card footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.gm-card .hint{font-size:.82rem;color:var(--muted);margin-top:6px}
.gm-faq{display:grid;gap:10px}.gm-faq div{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px}
.toast{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--top-h) + 12px);z-index:90;background:#1f1b3a;color:#fff;padding:10px 16px;border-radius:12px;font-size:.92rem;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:pop .2s}
.toast.err{background:#a3262a}
