/* VATCONS Challenge Player. Everything is scoped under .vcc so the theme's styles don't leak in or out.
   Phone: video > lesson info > tabs > sticky next bar; lesson list sits below in a drawer.
   Desktop (>=960px): lesson list on the left, player on the right. */
body.vcc-body{margin:0;background:#f6f4f2}
.vcc{--bg:#f6f4f2;--surface:#fff;--ink:#1c1715;--muted:#6b625c;--line:#e9e3de;--soft:#f3eee9;--brand:#c8102e;--brand-soft:#fdecee;--dark:#16110f;--ok:#15803d;--ok-soft:#e7f5ec;
  --display:"Noto Serif Bengali","Hind Siliguri",Georgia,serif;--body:"Hind Siliguri","Noto Sans Bengali",system-ui,sans-serif;
  background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;padding-bottom:40px;min-height:100vh;text-align:left}
.vcc *,.vcc *:before,.vcc *:after{box-sizing:border-box}
.vcc .vcc-facade{color:#fff}
:where(.vcc) button{font:inherit;color:inherit;line-height:1.4;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;min-width:0;margin:0;-webkit-appearance:none;appearance:none}
.vcc a{text-decoration:none}
.vcc p{margin:0}
.vcc ul{margin:0}
.vcc [hidden]{display:none!important}

.vcc-bar{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:20}
body.admin-bar .vcc-bar{top:32px}
@media (max-width:782px){body.admin-bar .vcc-bar{top:46px}}
@media (max-width:600px){body.admin-bar .vcc-bar{top:0}}
.vcc-bar-in{max-width:1180px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:12px}
.vcc-brand{display:flex;align-items:center;color:var(--ink)}
.vcc-brand img{height:30px;width:auto;display:block}
.vcc-steps{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:12px;font-weight:700;color:#8a817b}
.vcc-steps span{padding:3px 9px;border-radius:99px;background:#f3eee9;white-space:nowrap}
.vcc-steps span.on{background:var(--brand);color:#fff}
.vcc-steps span.done{background:var(--ok-soft);color:var(--ok)}
.vcc-steps i{font-style:normal;color:#c9c1bb}
@media (max-width:420px){.vcc-steps span:not(.on){display:none}.vcc-steps i{display:none}}

.vcc-wrap{max-width:1180px;margin:0 auto;padding:16px}
.vcc-need{background:var(--brand-soft);color:var(--brand);border:1px solid #f5c2c9;border-radius:12px;padding:10px 14px;font-weight:600;margin-bottom:14px}
.vcc-notice{background:#fffbeb;color:#78350f;border:1px solid #fcd34d;border-radius:12px;padding:10px 14px;font-weight:600;margin-bottom:14px;line-height:1.6}
.vcc-layout{display:grid;gap:18px}
@media (min-width:960px){.vcc-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}}

/* lesson list */
.vcc-side{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
@media (min-width:960px){.vcc-side{position:sticky;top:64px}}
.vcc-prog{padding:14px 16px;border-bottom:1px solid var(--line)}
.vcc-prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.vcc-prog b{font-size:16px}.vcc-prog small{color:var(--muted);font-size:12px;text-align:right}
.vcc-track{height:8px;border-radius:99px;background:var(--soft);margin-top:8px;overflow:hidden}
.vcc-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#c8102e,#ef4444);border-radius:99px;transition:width .4s}
.vcc-toggle{display:none;width:100%;border:0;background:none;padding:12px 16px;font-weight:700;text-align:left;cursor:pointer;justify-content:space-between;align-items:center}
@media (max-width:959px){.vcc-toggle{display:flex}.vcc-list[data-open="false"]{display:none}.vcc-side{order:2}}
.vcc-list{list-style:none;margin:0;padding:6px}
.vcc-list li{margin:0;padding:0;list-style:none}
.vcc-list li button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;padding:10px;border-radius:10px;cursor:pointer;text-align:left}
.vcc-list li button:hover{background:var(--soft)}
.vcc-list li button.cur{background:var(--brand-soft)}
.vcc-st{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:12px;font-weight:800;border:2px solid var(--line);color:var(--muted)}
.vcc-st.done{background:var(--ok);border-color:var(--ok);color:#fff}
.cur .vcc-st:not(.done){border-color:var(--brand);color:var(--brand)}
.vcc-li-t{display:grid;min-width:0}.vcc-li-t b{font-size:14.5px;line-height:1.35;font-weight:700}.vcc-li-t small{color:var(--muted);font-size:12px}
.vcc-test-row{margin:6px;padding:12px;border-radius:12px;border:1px dashed var(--line);display:flex;gap:10px;align-items:center;color:var(--ink);cursor:default}
.vcc-test-row.open{border:1px solid var(--brand);background:var(--brand-soft);cursor:pointer}
.vcc-test-row b{font-size:14.5px}.vcc-test-row small{display:block;color:var(--muted);font-size:12px}

/* player */
.vcc-main{min-width:0;display:grid;gap:12px;align-content:start}
.vcc-vbox{position:relative;background:#000;border-radius:16px;overflow:hidden}
.vcc-stage{position:relative;aspect-ratio:16/9;width:100%}
.vcc-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vcc-facade{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#16110f center/cover no-repeat;color:#fff;display:grid;place-items:center}
.vcc-facade:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.vcc-facade span{position:relative;display:grid;justify-items:center;gap:10px;font-weight:700;padding:0 16px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.vcc-play{display:block;width:70px;height:48px;border-radius:12px;background:#e11d1d;position:relative}
.vcc-play:after{content:"";position:absolute;left:28px;top:13px;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
@media (max-width:959px){.vcc-wrap{padding-top:0}.vcc-vbox{border-radius:0;margin-inline:-16px}}
/* Full screen: the video box fills the whole screen in every browser (Edge kept the old 16:9 height and left the lower half empty). */
.vcc-vbox:fullscreen{position:fixed!important;inset:0!important;border-radius:0;margin:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;display:block!important;background:#000;transform:none!important}
.vcc-vbox:fullscreen .vcc-stage{position:absolute!important;inset:0!important;aspect-ratio:auto!important;width:100%!important;height:100%!important;max-height:none!important}
.vcc-vbox:-webkit-full-screen{position:fixed!important;inset:0!important;border-radius:0;margin:0!important;width:100vw!important;height:100vh!important;max-width:none!important;display:block!important;background:#000}
.vcc-vbox:-webkit-full-screen .vcc-stage{position:absolute!important;inset:0!important;aspect-ratio:auto!important;width:100%!important;height:100%!important}
.vcc-vbox::backdrop{background:#000}
.vcc .vcc-fsx{display:none;position:absolute;right:10px;top:10px;z-index:4;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:18px;cursor:pointer}
.vcc-vbox:fullscreen .vcc-fsx,.vcc-vbox:-webkit-full-screen .vcc-fsx{display:block}
.vcc .vcc-opt:hover{background:var(--surface)}.vcc .vcc-opt.right:hover{background:var(--ok-soft)}.vcc .vcc-opt.wrong:hover{background:var(--brand-soft)}
.vcc-rotate{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;font-weight:700;font-size:14px;padding:8px 14px;border-radius:99px;z-index:3;pointer-events:none;white-space:nowrap}

.vcc-vtools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vcc-watch{font-size:13px;color:var(--muted);flex:1 1 auto;min-width:0}
.vcc-watch b{color:var(--ink)}
.vcc-watch .bar{display:inline-block;vertical-align:middle;width:70px;height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-right:6px}
.vcc-watch .bar i{display:block;height:100%;background:var(--ok)}
.vcc-fs{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:7px 14px;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.vcc-alt{font-size:13.5px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:9px 12px}
.vcc-alt a{color:#c4302b;font-weight:700;white-space:nowrap}

.vcc-info{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.vcc-kick{font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.04em}
.vcc .vcc-h1{font-family:var(--display);font-size:clamp(20px,4.2vw,28px);line-height:1.3;margin:2px 0 4px;color:var(--ink);font-weight:800;padding:0;border:0;text-transform:none}
.vcc-desc{color:var(--muted)}
.vcc-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:14px -16px 0;padding:0 16px;overflow-x:auto;scrollbar-width:none}
.vcc-tabs::-webkit-scrollbar{display:none}
.vcc-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:10px 4px;margin-right:10px;font-weight:700;font-size:15px;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:0}
.vcc-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brand)}
.vcc-badge{display:inline-block;margin-left:4px;font-size:11px;background:var(--soft);border-radius:99px;padding:0 7px;color:var(--muted)}
.vcc-panel{padding-top:14px}
.vcc-panel:empty{display:none}
.vcc-points{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.vcc-points li{position:relative;padding-left:22px;list-style:none}.vcc-points li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.vcc-q{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.vcc .vcc-q h3{font-size:15.5px;margin:0 0 8px;line-height:1.5;font-family:var(--body);font-weight:700;color:var(--ink)}
.vcc-opt{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px;margin-top:6px!important;cursor:pointer;font-size:15px}
.vcc-opt:hover{border-color:#cfc6c0}
.vcc-opt .l{font-weight:800;color:var(--muted);flex:none;width:18px}
.vcc-opt.right{border-color:var(--ok);background:var(--ok-soft)}
.vcc-opt.wrong{border-color:var(--brand);background:var(--brand-soft)}
.vcc-opt:disabled{cursor:default;opacity:1}
.vcc-why{margin-top:8px;font-size:14px;color:var(--muted);background:var(--soft);border-radius:8px;padding:8px 10px}
.vcc-qhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--muted)}
.vcc-qdots{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.vcc-qdots i{width:18px;height:5px;border-radius:99px;background:var(--line)}.vcc-qdots i.past{background:var(--ok)}.vcc-qdots i.now{background:var(--brand)}
.vcc-qnext{margin-top:10px!important;width:100%;border:0;background:var(--dark);color:#fff!important;border-radius:10px;padding:11px;font-weight:700;cursor:pointer}
.vcc-result{text-align:center;padding:10px 0}.vcc-result .big{font-family:var(--display);font-size:40px;font-weight:800}
.vcc-result p{margin:2px 0 10px;color:var(--muted)}
.vcc-dots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.vcc-dots span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff}.vcc-dots .ok{background:var(--ok)}.vcc-dots .no{background:var(--brand)}
.vcc-ghost{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer}
.vcc-note{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;flex-wrap:wrap}
.vcc-pdf{width:44px;height:54px;border-radius:6px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.vcc-note b{display:block}.vcc-note small{color:var(--muted)}
.vcc-note .dl{margin-left:auto;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;font-weight:700;color:var(--ink);white-space:nowrap}

.vcc-nextbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vcc-status{font-size:13.5px;color:var(--muted);flex:1 1 160px}
.vcc-status.ok{color:var(--ok);font-weight:700}
.vcc-done{border:1px solid var(--ok);background:var(--ok-soft);color:var(--ok)!important;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
.vcc-next{margin-left:auto;border:0;background:var(--brand);color:#fff!important;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;white-space:nowrap}
@media (max-width:959px){.vcc-nextbar{position:sticky;bottom:0;z-index:5;background:var(--bg);padding:10px 16px;margin-inline:-16px;border-top:1px solid var(--line)}}

.vcc-unlock{background:var(--dark);color:#f7f1ec;border-radius:16px;padding:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.vcc-unlock div{flex:1 1 220px}
.vcc-unlock b{display:block;font-family:var(--display);font-size:20px;line-height:1.35}
.vcc-unlock small{display:block;color:#cfc4bc;font-size:13px;margin-top:4px}
.vcc-go{background:var(--brand);color:#fff!important;border-radius:10px;padding:11px 18px;font-weight:700}
.vcc-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--dark,#16110f);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:99999;max-width:calc(100vw - 32px);text-align:center;font-family:"Hind Siliguri",system-ui,sans-serif}
.vcc :focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.vcc *{transition:none!important}}

/* ---- v2: header course name, modules, resume, chapters, resources, password gate ---- */
.vcc{--xls:#1d7a46;--pdfc:#c8102e;--docc:#2b5cb8;--sheet:#0f9d58;--pptc:#c2410c;--linkc:#6b625c}
.vcc-cname{margin-left:auto;font-size:13px;font-weight:700;color:var(--muted);text-align:right;line-height:1.35;max-width:60%}
.vcc-list ul{list-style:none;margin:0;padding:0}
.vcc-list > ul{padding:6px}
.vcc-mod{border-bottom:1px solid var(--line)}
.vcc-mod:last-child{border-bottom:0}
.vcc .vcc-mod-h{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;padding:12px 16px;cursor:pointer;text-align:left}
.vcc-mod-h:hover{background:var(--soft)}
.vcc-mt{flex:1;min-width:0;display:grid}
.vcc-mt b{font-size:14.5px;line-height:1.35;font-weight:700}
.vcc-mt small{color:var(--muted);font-size:12px}
.vcc-ar{color:var(--muted);transition:transform .2s}
.vcc-mod[data-open="true"] .vcc-ar{transform:rotate(180deg)}
.vcc-mod[data-open="false"] ul{display:none}
.vcc-mod ul{padding:0 6px 8px}
.vcc-ring{width:30px;height:30px;flex:none}
.vcc-st.half{border-color:var(--brand);color:var(--brand)}
.vcc .vcc-resume{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.75);color:#fff;font-style:normal;font-size:13px;font-weight:700;padding:5px 11px;border-radius:99px}
.vcc-ch{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.vcc-ch li{list-style:none;margin:0}
.vcc .vcc-ch button{width:100%;display:flex;gap:12px;align-items:baseline;border:0;background:none;text-align:left;padding:8px 10px;border-radius:10px;cursor:pointer}
.vcc .vcc-ch button:hover{background:var(--soft)}
.vcc .vcc-ch button.now{background:var(--brand-soft)}
.vcc-ch time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand);font-size:14px;min-width:64px;flex:none}
.vcc-ch span{font-size:15px}
.vcc-ch .tag{font-style:normal;font-size:12px;font-weight:700;color:var(--brand);margin-left:4px;white-space:nowrap}
.vcc-res{display:grid;gap:8px}
.vcc .vcc-r{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--ink);background:var(--surface)}
.vcc .vcc-r:hover{border-color:#cfc6c0}
.vcc-ic{width:40px;height:46px;border-radius:6px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:10.5px;flex:none;letter-spacing:.02em}
.vcc-ic.xls{background:var(--xls)}.vcc-ic.pdf{background:var(--pdfc)}.vcc-ic.doc{background:var(--docc)}.vcc-ic.sheet{background:var(--sheet)}.vcc-ic.ppt{background:var(--pptc)}.vcc-ic.link{background:var(--linkc)}
.vcc-rt{min-width:0;display:grid}
.vcc-rt b{font-size:15px;line-height:1.35}.vcc-rt small{color:var(--muted);font-size:12.5px}
.vcc-act{margin-left:auto;font-size:13px;font-weight:700;color:var(--brand);white-space:nowrap}
.vcc-gate{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:24px 16px}
.vcc-gate-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center}
.vcc-lock{width:52px;height:52px;border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;margin:0 auto 10px;font-size:22px}
.vcc-gate-card .vcc-h1{font-size:24px}
.vcc-gate-card p{margin:0 0 16px;color:var(--muted);font-size:15px}
.vcc-gate-card label{display:block;text-align:left;font-weight:700;font-size:14px;margin-bottom:6px}
.vcc .vcc-gate-card input{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;font-size:16px;color:var(--ink);box-shadow:none;height:auto;margin:0}
.vcc .vcc-gate-card input:focus{outline:3px solid var(--brand-soft);border-color:var(--brand)}
.vcc .vcc-gate-go{width:100%;margin-top:12px!important;border:0;background:var(--brand);color:#fff!important;border-radius:12px;padding:12px;font-weight:700;cursor:pointer}
.vcc-gate-card small{display:block;margin-top:12px;color:var(--muted);font-size:13px}
.vcc-gate-err{background:var(--brand-soft);color:var(--brand);border-radius:10px;padding:8px 12px;font-weight:700;font-size:14px;margin-bottom:12px}
@media (max-width:600px){.vcc-cname{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* ---- v3: learner login, final test ---- */
.vcc-auth form{display:grid;gap:6px;text-align:left;margin-top:8px}
.vcc-auth label{margin:6px 0 0}
.vcc-gate-ok{background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:8px 12px;font-weight:700;font-size:14px;margin-bottom:12px}
.vcc .vcc-gate-alt{width:100%;margin-top:6px!important;border:1px solid var(--line);background:var(--surface);color:var(--ink)!important;border-radius:12px;padding:11px;font-weight:700;cursor:pointer}
.vcc-forgot{margin-top:14px;text-align:left;border-top:1px solid var(--line);padding-top:12px}
.vcc-forgot summary{cursor:pointer;font-weight:700;color:var(--brand);font-size:14.5px}
.vcc .vcc-btnlink{display:block;text-align:center;color:#fff!important;text-decoration:none}
.vcc-who{margin-top:8px;font-size:12.5px;color:var(--muted)}
.vcc-who a{color:var(--brand);font-weight:700}
.vcc .vcc-ft-row{width:calc(100% - 12px);margin:6px;display:flex;gap:10px;align-items:center;text-align:left;border:1px dashed var(--line);background:var(--surface);border-radius:12px;padding:12px;cursor:pointer}
.vcc .vcc-ft-row.open{border:1px solid var(--ok);background:var(--ok-soft)}
.vcc .vcc-ft-row.passed{border:1px solid var(--ok)}
.vcc-ft{position:fixed;inset:0;z-index:9999;background:rgba(20,16,15,.55);display:grid;place-items:center;padding:16px;overflow:auto}
.vcc-ft-box{position:relative;background:var(--surface);color:var(--ink);border-radius:16px;padding:22px 18px 18px;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;display:grid;gap:12px}
.vcc .vcc-ft-x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer;padding:4px 8px}
.vcc .vcc-ft-box .vcc-qhead{padding-right:34px}
.vcc .vcc-ft-go{display:block;width:100%;text-align:center;margin:0}
.vcc-ft-nav{display:flex;gap:10px;justify-content:space-between}
.vcc-ft-nav .vcc-next{margin-left:0;flex:1}
.vcc .vcc-opt.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.vcc .vcc-ft-submit{background:var(--ok)}
.vcc-ft-wrong{background:var(--soft);border-radius:10px;padding:10px 12px;font-size:14.5px}
.vcc-ft-wrong ul{margin:6px 0;padding-left:18px}
.vcc-ft-wrong small{color:var(--muted)}
.vcc-pass{color:var(--ok);font-weight:700}
.vcc-ft-note{margin:0;font-size:14.5px}.vcc-ft-note a{color:var(--brand);font-weight:700}

/* join gate */
.vcc .vcc-join form{display:grid;gap:6px;margin-top:4px}
.vcc .vcc-join label{font-weight:600;font-size:14px;margin-top:6px}
.vcc .vcc-join input:not([type=checkbox]),.vcc .vcc-join select{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;font-size:16px;color:var(--ink);box-shadow:none;height:auto;margin:0}
.vcc .vcc-join input:focus,.vcc .vcc-join select:focus{outline:3px solid var(--brand-soft);border-color:var(--brand)}
.vcc .vcc-join .vcc-join-ck{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:13.5px}
.vcc .vcc-join .vcc-join-err{background:var(--brand-soft);color:var(--brand);border-radius:10px;padding:8px 12px;font-size:14px}
.vcc .vcc-join .vcc-join-note{color:var(--muted);font-size:13px;margin:4px 0 0}
.vcc .vcc-join .vcc-ft-go{margin-top:10px;width:100%}
.vcc .vcc-join .vcc-join-alt{margin-top:6px;width:100%}

.vcc .vcc-join .vcc-join-sent{display:flex;gap:12px;align-items:flex-start;background:#ecfdf3;border:1.5px solid #16a34a;border-radius:12px;padding:12px 14px;margin:6px 0 10px}
.vcc .vcc-join .vcc-join-sent span{font-size:24px;line-height:1}
.vcc .vcc-join .vcc-join-sent b{display:block;color:#166534;font-size:16px}
.vcc .vcc-join .vcc-join-sent em{display:block;font-style:normal;font-weight:700;color:#1c1917;margin-top:2px;word-break:break-all}
.vcc .vcc-join .vcc-join-sent small{display:block;color:#57534e;margin-top:4px;font-size:13px}

.vcc .vcc-testmode{margin-top:6px;background:#fef3c7;color:#92400e;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}
.vcc .vcc-mylink{flex:none;font-size:12.5px;font-weight:700;color:var(--brand);text-decoration:none;border:1px solid currentColor;border-radius:20px;padding:2px 10px;white-space:nowrap}
.vcc .vcc-cname+.vcc-mylink{margin-left:8px}.vcc .vcc-steps+.vcc-mylink{margin-left:auto}
.vcc .vcc-ml-s{display:none}
@media (max-width:600px){.vcc .vcc-ml-l{display:none}.vcc .vcc-ml-s{display:inline}.vcc .vcc-mylink{font-size:12px;padding:2px 9px}}

/* ---- 3.47: access period (মেয়াদ) ---- */
.vcc-exp{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:14px}
.vcc-exp.warn{background:#fffbeb;border-color:#fcd34d}
.vcc-exp-r{display:flex;gap:12px;align-items:flex-start}
.vcc-exp-r .ic{font-size:22px;line-height:1.2}
.vcc-exp-r small{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.vcc-exp-r b{display:block;font-size:15.5px;line-height:1.5}
.vcc-exp-d{margin-left:auto;text-align:center;background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:4px 10px;font-weight:800;font-size:18px;line-height:1.2;white-space:nowrap}
.vcc-exp-d span{display:block;font-size:11px;font-weight:600}
.vcc-exp.warn .vcc-exp-d{background:#fef3c7;color:#b45309}
.vcc-exp-c{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px;font-size:14.5px}
.vcc .vcc-exp-c ul{list-style:none;padding:0;margin:6px 0 0}
.vcc-exp-c li{display:flex;gap:8px;padding:3px 0}
.vcc-exp-c .y{color:var(--ok);font-weight:800}.vcc-exp-c .n{color:var(--muted)}
.vcc-exp-c a{color:var(--brand);font-weight:700}
.vcc .vcc-exp-c p{color:var(--muted);font-size:13px;margin-top:6px}
.vcc-exp-rules{margin-top:8px;font-size:13.5px}
.vcc-exp-rules summary{cursor:pointer;color:var(--muted);font-weight:600}
.vcc .vcc-exp-rules ul{margin:6px 0 0;padding-left:18px;color:var(--muted)}
.vcc .vcc-exp-end p{margin-bottom:12px}
.vcc .vcc-exp-btn{display:block;width:100%;border:0;border-radius:12px;padding:12px;font-weight:700;font-size:15.5px;background:var(--ink);color:#fff!important;text-align:center;margin-top:8px;cursor:pointer;text-decoration:none}
.vcc .vcc-exp-btn.o{background:var(--surface);color:var(--ink)!important;border:1px solid var(--line)}
.vcc .vcc-exp-btn.r{background:var(--brand)}
.vcc .vcc-exp-btn:disabled{opacity:.45;cursor:not-allowed}
.vcc .vcc-exp-k{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;text-align:left;font-size:14.5px;font-weight:600;cursor:pointer}
.vcc .vcc-gate-card .vcc-exp-k input{width:20px;height:20px;flex:none;margin:2px 0 0;padding:0;accent-color:var(--ok)}
.vcc .vcc-exp-p{margin:0 0 4px!important;font-size:13.5px}
.vcc-exp-bar{height:7px;background:var(--soft);border-radius:9px;margin:0 0 14px;overflow:hidden}.vcc-exp-bar i{display:block;height:100%;background:var(--ok);border-radius:9px}
.vcc .vcc-exp-once{border-top:1px dashed var(--line);margin-top:18px;padding-top:14px;display:block}
.vcc .vcc-exp-once h2{font-family:var(--display);font-size:18px;margin:0 0 6px;color:var(--ink)}
.vcc .vcc-exp-once p{font-size:14px}
.vcc .vcc-exp-once .vcc-exp-k{font-weight:500;font-size:14px;line-height:1.55}
.vcc .vcc-exp-end > small{margin-top:8px}

/* ---- 3.51: live classes listed before they happen ---- */
.vcc-wait{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:16px;color:#fff;background:linear-gradient(160deg,#2a2320,#16110f)}
.vcc-wait b{display:block;font-size:clamp(16px,3.4vw,20px);line-height:1.4;margin:4px 0}
.vcc-wait small{display:block;font-size:13px;opacity:.85;line-height:1.5}
.vcc-wait .vcc-wait-s{margin-top:10px;opacity:.75}
.vcc-cd{display:flex;gap:6px;justify-content:center;margin-top:8px}
.vcc-cd span{background:rgba(255,255,255,.12);border-radius:8px;padding:4px 8px;font-weight:800;font-size:clamp(16px,4vw,22px);min-width:50px;line-height:1.2}
.vcc-cd span small{display:block;font-size:10px;font-weight:600;opacity:.8}
.vcc .vcc-mat{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vcc .vcc-mat span{border:1px dashed #cfc6c0;border-radius:20px;padding:3px 10px;font-size:13px;color:#57534e;background:#faf8f6}
.vcc .vcc-lk-s{color:var(--muted);font-size:13px;margin-top:6px}
.vcc .vcc-lk .vcc-li-t b{color:#57534e;font-weight:600}

/* 3.52 resource library */
.vcc-lib-row{display:flex;gap:10px;align-items:center;padding:12px 14px;margin-top:10px;border:1px solid #ece6df;border-radius:14px;background:#fff;text-decoration:none;color:inherit}.vcc-lib-row b{display:block;font-size:14.5px}.vcc-lib-row small{color:#78716c;font-size:12.5px}.vcc-lib-row:hover{border-color:#c8102e}.vcc-lib{margin:22px 0 8px;background:#fff;border:1px solid #ece6df;border-radius:18px;padding:20px 18px;scroll-margin-top:70px}.vcc-lib-hd h2{margin:0 0 4px;font-size:20px}.vcc-lib-hd p{margin:0 0 12px;color:#78716c;font-size:14px}.vcc-lib-g h3{font-size:15px;margin:16px 0 6px;color:#c8102e}.vcc-lib-g h3 small{color:#a8a29e;font-weight:500}.vcc-lib-g ul{list-style:none;margin:0;padding:0}.vcc-lib-g li a{display:flex;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid #f3eee9;text-decoration:none;color:inherit}.vcc-lib-g li:first-child a{border-top:0}.vcc-lib-i{flex:none;min-width:44px;height:30px;border-radius:8px;background:#fbeaec;color:#9f1239;font-size:11.5px;font-weight:700;display:grid;place-items:center;padding:0 6px}.vcc-lib-t{flex:1;min-width:0}.vcc-lib-t b{display:block;font-size:14.5px;font-weight:600}.vcc-lib-t small{color:#78716c;font-size:12.5px}.vcc-lib-t em{font-style:normal;background:#ecfdf5;color:#065f46;border-radius:6px;padding:1px 6px;margin-right:6px}.vcc-lib-t i{font-style:normal;background:#c8102e;color:#fff;border-radius:6px;padding:0 6px;font-size:11px}.vcc-lib-go{flex:none;color:#c8102e;font-weight:700;font-size:13.5px}
/* 3.53 batch WhatsApp group */
.vcc-wa-grp{display:flex;gap:10px;align-items:center;margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#ecfdf3;border:1px solid #bbf7d0;color:#14532d;text-decoration:none}.vcc-wa-grp b{flex:1;font-size:14.5px}.vcc-wa-grp span{font-size:18px}.vcc-wa-grp i{font-style:normal;font-weight:700}
