/* শ্রম আইন কোর্স: হাব ও ১৯টি অধ্যায় */
.sc{--law:var(--primary);--law-soft:var(--green-50);--epz:#0E7490;--epz-soft:#E6F4F7;--bla:#006A4E;--bla-soft:#EAF5F0;max-width:980px;margin:0 auto}
[data-theme=dark] .sc{--epz:#67C9E0;--epz-soft:#123542;--bla:#2FB386;--bla-soft:#123329}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sc{--epz:#67C9E0;--epz-soft:#123542;--bla:#2FB386;--bla-soft:#123329}}
.sc[data-law=epz]{--law:var(--epz);--law-soft:var(--epz-soft)}
.sc[data-law=bla]{--law:var(--bla);--law-soft:var(--bla-soft)}
.sc .ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sc h1{margin:4px 0 8px;line-height:1.3}
.sc h2{font-size:var(--t-xl);margin:0;line-height:1.35}
.sc h3{font-size:var(--t-lg);margin:28px 0 10px;line-height:1.4}
.sc p,.sc li{line-height:1.85}
.sc-lead{font-size:var(--t-md);color:var(--text-2);max-width:68ch}
.sc-pilot{display:inline-flex;gap:6px;align-items:center;font-size:var(--t-sm);background:var(--warn-bg);color:var(--warn-text);border-radius:var(--r-pill);padding:3px 12px;margin:4px 0 10px}

/* আইন বাছাই */
.sc-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 8px}
.sc-pick button{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid var(--border);border-radius:var(--r-lg);padding:16px;background:var(--surface);display:flex;gap:12px;align-items:flex-start;transition:border-color var(--dur),transform var(--dur),box-shadow var(--dur)}
.sc-pick button:hover{transform:translateY(-2px);box-shadow:var(--e2)}
.sc-pick button:focus-visible{box-shadow:var(--focus)}
.sc-pick button b{display:block;font-size:var(--t-md)}
.sc-pick button small{display:block;color:var(--text-2);line-height:1.6;margin-top:2px}
.sc-pick .ic{width:34px;height:34px;padding:7px;border-radius:10px}
.sc-pick [data-set=bla] .ic{color:var(--bla);background:var(--bla-soft)}
.sc-pick [data-set=epz] .ic{color:var(--epz);background:var(--epz-soft)}
.sc[data-law=bla] .sc-pick [data-set=bla]{border-color:var(--bla);background:var(--bla-soft)}
.sc[data-law=epz] .sc-pick [data-set=epz]{border-color:var(--epz);background:var(--epz-soft)}
.sc-now{font-size:var(--t-sm);color:var(--text-2);margin:0 0 6px}
.sc-now b{color:var(--law)}

/* আইনভিত্তিক দেখানো */
html.js .sc[data-law=bla] .epz-only,html.js .sc[data-law=epz] .bla-only{display:none!important}
html.js .sc:not([data-law]) .sc-ch,html.js .sc:not([data-law]) .sc-tocw,html.js .sc:not([data-law]) .sc-chnav{display:none}
.sc-tag{display:inline-block;font-size:var(--t-xs);font-weight:700;border-radius:var(--r-pill);padding:1px 8px;margin-right:6px;vertical-align:.1em}
.sc-tag.bla{background:var(--bla-soft);color:var(--bla)}
.sc-tag.epz{background:var(--epz-soft);color:var(--epz)}

/* সূচি ও অগ্রগতি */
.sc-toc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px}
.sc-toc a{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;background:var(--surface)}
.sc-toc a:hover{border-color:var(--law)}
.sc-toc .ic{color:var(--law)}
.sc-toc small{display:block;color:var(--text-2);font-size:var(--t-xs)}
.sc-toc .done{margin-left:auto;font-size:var(--t-xs);color:var(--law);font-weight:700}

/* অধ্যায় */
.sc-ch{border-top:1px solid var(--border);margin-top:36px;padding-top:28px;scroll-margin-top:calc(var(--hdr) + 12px)}
.sc-chhead{display:flex;gap:14px;align-items:center}
.sc-chhead .ic{width:48px;height:48px;padding:10px;border-radius:14px;color:var(--law);background:var(--law-soft)}
.sc-chhead small{display:block;color:var(--text-2);font-size:var(--t-sm)}
.sc-steps{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px;padding:0;list-style:none}
.sc-steps li{font-size:var(--t-xs);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 10px;color:var(--text-2);line-height:1.7}

.sc-glance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.sc-glance div{background:var(--law-soft);border-radius:var(--r-lg);padding:14px}
.sc-glance b{display:block;font-size:var(--t-2xl);color:var(--law);line-height:1.2}
.sc-glance span{font-size:var(--t-sm);line-height:1.6;display:block;margin-top:4px}

.sc-story{border-left:4px solid var(--law);background:var(--surface-2);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:12px 16px;margin:14px 0}
.sc-story .who{font-weight:700}
.sc-plain{background:var(--info-bg);border-radius:var(--r-lg);padding:12px 16px;margin:14px 0}
.sc-plain b:first-child{display:block;margin-bottom:2px}
.sc-warn{background:var(--warn-bg);color:var(--text-1);border-radius:var(--r-lg);padding:10px 14px;margin:12px 0;font-size:var(--t-sm);line-height:1.75}
.sc-warn b{color:var(--warn-text)}

.sc-law{border:1px solid var(--border);border-radius:var(--r-lg);margin:12px 0;background:var(--surface)}
.sc-law summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none;display:flex;gap:8px;align-items:center}
.sc-law summary::-webkit-details-marker{display:none}
.sc-law summary::after{content:"+";margin-left:auto;font-size:1.3em;color:var(--text-2)}
.sc-law[open] summary::after{content:"−"}
.sc-law .in{padding:0 16px 12px}
.sc-law table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.sc-law th,.sc-law td{border-top:1px solid var(--border);padding:8px 6px;text-align:left;vertical-align:top;line-height:1.7}
.sc-law th{width:34%;color:var(--text-2);font-weight:600}
.sc-law a{color:var(--link)}
/* ধারা ও বিধি: আইনের পাতার লিংক (scripts/shrom/lawlinks.py), লেখার রঙেই, নিচে ডট দাগ */
.sc a.lawref{color:inherit;text-decoration:underline dotted;text-decoration-color:var(--law);text-decoration-thickness:1.5px;text-underline-offset:3px}
.sc a.lawref:hover,.sc a.lawref:focus-visible{color:var(--law);text-decoration-style:solid}

.sc-diff{background:var(--diff-bg);border:1px solid var(--diff-line);border-radius:var(--r-lg);padding:14px 16px;margin:16px 0}
.sc-diff h4{margin:0 0 8px;display:flex;gap:8px;align-items:center;color:var(--diff-line)}
.sc-diff table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.sc-diff th,.sc-diff td{padding:7px 6px;border-top:1px solid color-mix(in srgb,var(--diff-line) 30%,transparent);text-align:left;vertical-align:top;line-height:1.65}
.sc-diff thead th{border-top:0;font-size:var(--t-xs)}
.sc-diff .me{font-weight:700;background:color-mix(in srgb,var(--law-soft) 70%,transparent)}

.sc-remember{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0;padding:0;list-style:none}
.sc-remember li{border:1px dashed var(--law);border-radius:var(--r-lg);padding:10px 14px;font-size:var(--t-sm);display:flex;gap:10px}
.sc-remember li .ic{color:var(--law)}

/* অ্যানিমেটেড দৃশ্য */
.sc-scene{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:16px;margin:16px 0;overflow:hidden}
.sc-scene figcaption{font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.sc-replay{all:unset;cursor:pointer;font-size:var(--t-xs);font-weight:600;border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 10px;color:var(--text-2)}
.sc-replay:hover{border-color:var(--law);color:var(--law)}
.sc-replay:focus-visible{box-shadow:var(--focus)}
.sc-scene .note{font-size:var(--t-sm);color:var(--text-2);margin:10px 0 0;line-height:1.7}

/* ধাপে ধাপে আসা */
.sc-scene .st{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.sc-scene.play .st{opacity:1;transform:none}
.sc-scene.play .st:nth-child(2){transition-delay:.5s}
.sc-scene.play .st:nth-child(3){transition-delay:1s}
.sc-scene.play .st:nth-child(4){transition-delay:1.5s}
.sc-scene.play .st:nth-child(5){transition-delay:2s}
.sc-scene.play .st:nth-child(6){transition-delay:2.5s}

/* মজুরির সময়রেখা */
.tl{position:relative;height:150px;margin:4px 16px 0}
.tl .bar{position:absolute;left:0;right:0;top:66px;height:10px;border-radius:6px;background:var(--sunken)}
.tl .fill{position:absolute;left:0;top:66px;height:10px;border-radius:6px;background:var(--law);width:0}
.sc-scene.play .tl .fill{animation:tlfill 3.2s var(--ease) forwards}
@keyframes tlfill{to{width:var(--to,100%)}}
.tl .seg{position:absolute;top:66px;height:10px;border-radius:6px;opacity:.9}
.tl .pin{position:absolute;top:0;transform:translateX(-50%);text-align:center;font-size:var(--t-xs);line-height:1.4;width:110px;opacity:0;transition:opacity .4s}
.tl .pin i{display:block;width:2px;height:18px;background:var(--text-2);margin:2px auto 0}
.tl .pin.lo{top:80px}
.tl .pin.lo i{margin:0 auto 2px}
.sc-scene.play .tl .pin{opacity:1}
.sc-scene.play .tl .pin.d1{transition-delay:.4s}.sc-scene.play .tl .pin.d2{transition-delay:1.4s}.sc-scene.play .tl .pin.d3{transition-delay:2.4s}.sc-scene.play .tl .pin.d4{transition-delay:3s}
.tl .walker{position:absolute;top:57px;left:0;width:28px;height:28px;margin-left:-14px;border-radius:50%;background:var(--surface);border:2px solid var(--law);color:var(--law);display:grid;place-items:center}
.tl .walker .ic{width:16px;height:16px}
.sc-scene.play .tl .walker{animation:walk 3.2s var(--ease) forwards}
@keyframes walk{to{left:var(--to,100%)}}

/* হিসাবের কার্ড */
.calc-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}
.calc-flow .st{flex:1 1 140px;border-radius:var(--r-lg);background:var(--sunken);padding:10px 12px;font-size:var(--t-sm);line-height:1.6}
.calc-flow .st b{display:block;font-size:var(--t-lg);color:var(--text-1)}
.calc-flow .st.op{flex:0 0 auto;background:none;display:grid;place-items:center;font-size:var(--t-xl);color:var(--text-2);padding:0}
.calc-flow .st.res{background:var(--law);color:#fff}
.calc-flow .st.res b{color:#fff}
[data-theme=dark] .calc-flow .st.res,[data-theme=dark] .calc-flow .st.res b{color:#06231A}

/* কর্তনের চেকপোস্ট */
.gate{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gate ul{list-style:none;margin:0;padding:0}
.gate li{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;border-radius:var(--r-md);margin-bottom:6px;font-size:var(--t-sm);line-height:1.6}
.gate .ok li{background:var(--green-50)}
.gate .no li{background:var(--red-50)}
.gate h5{margin:0 0 6px;font-size:var(--t-sm)}
.gate .ok h5{color:var(--primary)}
.gate .no h5{color:var(--danger-text)}

/* প্রসূতি টাইমলাইন */
.mat{position:relative;margin:4px 0 0}
.mat .row{display:flex;height:44px;border-radius:10px;overflow:hidden;background:var(--sunken)}
.mat .pre,.mat .post{display:grid;place-items:center;padding:0 34px;text-align:center;line-height:1.3;color:#fff;font-weight:700;font-size:var(--t-sm);transform:scaleX(0);transition:transform .9s var(--ease)}
.mat .pre{flex:1;background:#C2577A;transform-origin:right}
.mat .post{flex:1;background:#8A4FB0;transform-origin:left}
.sc-scene.play .mat .pre{transform:none;transition-delay:.3s}
.sc-scene.play .mat .post{transform:none;transition-delay:1.1s}
.mat .baby{position:absolute;left:50%;top:-6px;transform:translateX(-50%) scale(0);width:56px;height:56px;border-radius:50%;background:var(--surface);border:3px solid #C2577A;display:grid;place-items:center;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.mat .baby .ic{width:26px;height:26px;color:#C2577A}
.sc-scene.play .mat .baby{transform:translateX(-50%) scale(1);transition-delay:.9s}
.mat .lbl{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--text-2);margin-top:6px}
.mat .shield{margin-top:14px;position:relative;border-radius:8px}
.mat .shield>span{display:block;padding:6px 10px;text-align:center;line-height:1.5;border-radius:8px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--law) 30%,transparent) 0 8px,color-mix(in srgb,var(--law) 15%,transparent) 8px 16px);border:2px solid var(--law);display:grid;place-items:center;font-size:var(--t-xs);font-weight:700;color:var(--text-1);opacity:0;transition:opacity .6s}
.sc-scene.play .mat .shield>span{opacity:1;transition-delay:2s}
.pay-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.pay-steps .st{border:1px solid var(--border);border-radius:var(--r-lg);padding:10px;font-size:var(--t-sm);line-height:1.6}
.pay-steps .st b{display:block;color:var(--law)}

/* বিদায়ের পথ */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.door{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;background:var(--surface);perspective:600px;text-align:left;transition:border-color var(--dur),box-shadow var(--dur)}
.door:hover,.door[aria-pressed=true]{border-color:var(--law);box-shadow:var(--e2)}
.door:focus-visible{box-shadow:var(--focus)}
.door .leaf{display:flex;gap:8px;align-items:center;font-weight:700;transform-origin:left;transition:transform .5s var(--ease)}
.door[aria-pressed=true] .leaf{transform:rotateY(-18deg)}
.door .leaf .ic{color:var(--law);width:26px;height:26px}
.door small{display:block;color:var(--text-2);margin-top:4px;line-height:1.5}
.door-out{margin-top:12px;border-radius:var(--r-lg);background:var(--law-soft);padding:14px 16px;min-height:96px}
.door-out h5{margin:0 0 6px;font-size:var(--t-md)}
.door-out dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:var(--t-sm);line-height:1.65}
.door-out dt{color:var(--text-2)}
.door-out dd{margin:0}
.door-out.pop{animation:pop .45s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.stairs{display:flex;align-items:flex-end;gap:10px;height:170px;padding:0 4px;border-bottom:2px solid var(--border)}
.stairs .s{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.stairs .b{width:100%;border-radius:8px 8px 0 0;background:var(--law);height:0;transition:height .9s var(--ease);display:grid;place-items:start center;color:#fff;font-weight:700;font-size:var(--t-sm);padding-top:4px;min-height:0}
[data-theme=dark] .stairs .b{color:#06231A}
.stairs .b.zero{background:var(--border-strong)}
.sc-scene.play .stairs .s:nth-child(1) .b{height:var(--h);transition-delay:.2s}
.sc-scene.play .stairs .s:nth-child(2) .b{height:var(--h);transition-delay:.7s}
.sc-scene.play .stairs .s:nth-child(3) .b{height:var(--h);transition-delay:1.2s}
.sc-scene.play .stairs .s:nth-child(4) .b{height:var(--h);transition-delay:1.7s}
.stairs-x{display:flex;gap:10px;padding:6px 4px 0}
.stairs-x span{flex:1;text-align:center;font-size:var(--t-xs);color:var(--text-2);line-height:1.5}

.race{display:grid;gap:10px}
.race .ln{display:grid;grid-template-columns:70px 1fr 90px;gap:10px;align-items:center;font-size:var(--t-sm)}
.race .tr{height:16px;border-radius:8px;background:var(--sunken);position:relative;overflow:hidden}
.race .tr i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;transition:width 2.2s var(--ease)}
.race .ln.bla .tr i{background:var(--bla)}
.race .ln.epz .tr i{background:var(--epz)}
.sc-scene.play .race .ln.bla .tr i{width:100%}
.sc-scene.play .race .ln.epz .tr i{width:50%}

/* ক্যালকুলেটর */
.sc-calc{border:2px solid var(--law);border-radius:var(--r-lg);padding:16px;margin:16px 0;background:var(--surface)}
.sc-calc h4{margin:0 0 10px;display:flex;gap:8px;align-items:center}
.sc-calc h4 .ic{color:var(--law)}
.sc-calc .flds{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.sc-calc label{display:block;font-size:var(--t-sm);color:var(--text-2)}
.sc-calc input,.sc-calc select{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:9px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text-1);font:inherit}
.sc-calc input:focus,.sc-calc select:focus{outline:0;box-shadow:var(--focus)}
.sc-calc .out{margin-top:12px;border-radius:var(--r-md);background:var(--law-soft);padding:12px 14px;line-height:1.85}
.sc-calc .out .big{font-size:var(--t-2xl);font-weight:800;color:var(--law);display:block;line-height:1.3}
.sc-calc .out small{color:var(--text-2)}

/* কুইজ */
.sc-quiz{border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin:18px 0;background:var(--surface-2)}
.sc-quiz h4{margin:0 0 4px;display:flex;gap:8px;align-items:center}
.sc-quiz h4 .ic{color:var(--law)}
.sc-quiz .meta{font-size:var(--t-sm);color:var(--text-2);margin:0 0 10px}
.sc-q{border-top:1px solid var(--border);padding:12px 0}
.sc-q p{margin:0 0 8px;font-weight:600}
.sc-q .opts{display:grid;gap:6px}
.sc-q button{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:9px 12px;background:var(--surface);line-height:1.6;transition:background var(--dur),border-color var(--dur)}
.sc-q button:hover:not([disabled]){border-color:var(--law)}
.sc-q button:focus-visible{box-shadow:var(--focus)}
.sc-q button[disabled]{cursor:default}
.sc-q button.right{background:var(--green-50);border-color:var(--primary);font-weight:600}
.sc-q button.wrong{background:var(--red-50);border-color:var(--danger-text);animation:shake .35s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.sc-q .why{margin-top:8px;font-size:var(--t-sm);line-height:1.75;border-left:3px solid var(--law);padding:4px 10px;background:var(--surface)}
.sc-score{margin-top:12px;font-weight:700;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sc-score .badge{display:inline-flex;gap:6px;align-items:center;background:var(--law);color:#fff;border-radius:var(--r-pill);padding:4px 12px;animation:pop .5s var(--ease)}
[data-theme=dark] .sc-score .badge{color:#06231A}
.sc-score .again{all:unset;cursor:pointer;font-size:var(--t-sm);text-decoration:underline;color:var(--link)}

.sc-end{margin-top:40px;border-radius:var(--r-lg);background:var(--law-soft);padding:18px}
.sc-end h2{display:flex;gap:10px;align-items:center}
.sc-end .ic{color:var(--law)}
.sc-src{font-size:var(--t-sm);color:var(--text-2);line-height:1.8}

@media (max-width:760px){
  .sc-toc,.sc-glance,.doors,.pay-steps{grid-template-columns:1fr}
  .sc-remember,.gate{grid-template-columns:1fr}
  .sc-pick{grid-template-columns:1fr}
  .tl .pin{width:84px;font-size:.68rem}
  .race .ln{grid-template-columns:52px 1fr 70px}
  .mat .row{height:56px}.mat .pre,.mat .post{font-size:var(--t-xs);padding:0 26px}.mat .baby{width:44px;height:44px;top:6px}
}
@media (prefers-reduced-motion:reduce){
  .sc *,.sc *::before,.sc *::after{animation-duration:1ms!important;animation-delay:0s!important;transition-duration:1ms!important;transition-delay:0s!important}
}
@media print{.sc-pick,.sc-replay,.sc-quiz{display:none}.sc-scene .st,.tl .pin{opacity:1;transform:none}}
.sc[data-law=bla] .sc-diff .bla-me,.sc[data-law=epz] .sc-diff .epz-me{font-weight:700;background:var(--law-soft)}

/* ===== আকর্ষণীয় উপস্থাপনা ===== */
/* হিরো ব্যানার */
.sc-hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8px;border-radius:20px;padding:22px 22px 18px;color:#fff;overflow:hidden;box-shadow:var(--e2)}
.sc-hero.h-g{background:linear-gradient(135deg,#006A4E 0%,#0E7490 100%)}
.sc-hero.h-p{background:linear-gradient(135deg,#C2577A 0%,#8A4FB0 100%)}
.sc-hero.h-o{background:linear-gradient(135deg,#0B1F3A 0%,#B3132A 120%)}
.sc-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 45%),radial-gradient(circle at 10% 110%,rgba(255,255,255,.12),transparent 40%);pointer-events:none}
.hero-txt{position:relative}
.hero-part{display:inline-block;font-size:var(--t-xs);background:rgba(255,255,255,.18);border-radius:var(--r-pill);padding:2px 10px}
.hero-no{display:block;font-size:var(--t-sm);opacity:.85;margin-top:10px;font-weight:700;letter-spacing:.02em}
.sc .sc-hero h2,.sc .sc-hero h1{color:#fff;font-size:1.7rem;margin:2px 0 12px;line-height:1.3}
.hero-meta{display:flex;flex-wrap:wrap;gap:6px}
.hero-meta span{display:inline-flex;gap:5px;align-items:center;font-size:var(--t-xs);background:rgba(0,0,0,.18);border-radius:var(--r-pill);padding:3px 10px}
.hero-meta .ic{width:14px;height:14px}
.hero-art{width:100%;height:auto;max-height:190px;position:relative}
.hero-art text{font-family:var(--f-ui)}
.hero-art .fl1{animation:float 4s ease-in-out infinite}
.hero-art .fl2{animation:float 4s ease-in-out -2s infinite}
.hero-art .coins{animation:bob 1.6s ease-in-out infinite;transform-origin:166px 146px}
.hero-art .clock .hand{transform-origin:150px 40px;animation:spin 6s linear infinite}
.hero-art .beat{transform-origin:191px 56px;animation:beat 1.2s ease-in-out infinite}
.hero-art .door-leaf{transform-origin:196px 88px;animation:door 4s ease-in-out infinite}
.hero-art .walker2{animation:stroll 4s ease-in-out infinite}
.hero-art .spark circle{animation:twinkle 2s ease-in-out infinite}
.hero-art .spark circle:nth-child(2){animation-delay:.7s}.hero-art .spark circle:nth-child(3){animation-delay:1.4s}
@keyframes float{50%{transform:translateY(-6px)}}
@keyframes bob{50%{transform:scaleY(1.04)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes beat{0%,100%{transform:scale(1)}30%{transform:scale(1.18)}}
@keyframes door{0%,20%{transform:scaleX(1)}50%,80%{transform:scaleX(.35)}100%{transform:scaleX(1)}}
@keyframes stroll{0%,15%{transform:translateX(0)}55%,80%{transform:translateX(22px)}100%{transform:translateX(0)}}
@keyframes twinkle{50%{opacity:.2}}

/* পয়েন্ট বার */
.sc-xp{position:sticky;top:calc(var(--hdr) + 6px);z-index:5;display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:6px 14px;margin:14px 0 0;box-shadow:var(--e1);font-size:var(--t-sm)}
.sc-xp span{display:inline-flex;gap:6px;align-items:center}
.sc-xp .ic{color:#D99A00}
.sc-xp b{color:var(--law);font-size:var(--t-md)}
.sc-xp .xp-hint{color:var(--text-2);font-size:var(--t-xs);margin-left:auto}
.sc-xp.bump b[data-xp]{animation:pop .5s var(--ease)}
html.js .sc:not([data-law]) .sc-xp{display:none}

/* ধাপ */
.sc-stepper{margin:14px 0 6px}
.sp-bar{height:8px;border-radius:8px;background:var(--sunken);overflow:hidden}
.sp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--law),#F5B82E);border-radius:8px;transition:width .5s var(--ease)}
.sp-dots{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.sp-dots button{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--t-xs);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 10px;color:var(--text-2);background:var(--surface);transition:all var(--dur)}
.sp-dots button.done{border-color:var(--law);color:var(--law)}
.sp-dots button.done::before{content:"✓ "}
.sp-dots button[aria-current=step]{background:var(--law);border-color:var(--law);color:#fff}
[data-theme=dark] .sp-dots button[aria-current=step]{color:#06231A}
.sp-dots button:focus-visible{box-shadow:var(--focus)}
.sc-step{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:18px 18px 8px;margin:10px 0;box-shadow:var(--e1)}
html.js .sc-ch:not(.all) .sc-step{display:none}
html.js .sc-ch:not(.all) .sc-step.on{display:block;animation:slidein .45s var(--ease)}
@keyframes slidein{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.sc-ch.back .sc-step.on{animation-name:slideback}
@keyframes slideback{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.step-h{display:flex;gap:10px;align-items:center;margin:0 0 12px!important;font-size:var(--t-lg)}
.step-h span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--law-soft);color:var(--law);font-size:var(--t-sm);font-weight:800;flex:none}
.sc-ctrl{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.sc-ctrl button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-weight:700;border-radius:var(--r-pill);padding:10px 18px;transition:transform var(--dur),opacity var(--dur)}
.sc-ctrl .next{background:var(--law);color:#fff;box-shadow:var(--e2)}
[data-theme=dark] .sc-ctrl .next{color:#06231A}
.sc-ctrl .next:hover{transform:translateX(3px)}
.sc-ctrl .prev{border:1px solid var(--border);color:var(--text-2)}
.sc-ctrl button[disabled]{opacity:.35;cursor:default;transform:none}
.sc-ctrl button:focus-visible{box-shadow:var(--focus)}
.sp-count{font-size:var(--t-sm);color:var(--text-2)}
.sc-all{all:unset;cursor:pointer;display:block;margin:10px auto 0;font-size:var(--t-xs);color:var(--link);text-decoration:underline}
.sc-ch.all .sc-ctrl,html:not(.js) .sc-ctrl,html:not(.js) .sc-all,html:not(.js) .sc-stepper{display:none}

/* সিদ্ধান্ত */
.sc-decide{border-radius:16px;background:linear-gradient(180deg,var(--law-soft),transparent 70%);padding:14px;margin:4px 0 10px}
.sc-decide .dq{display:flex;gap:12px;align-items:flex-start}
.sc-decide .av,.sc-chat .av{width:52px;height:52px;flex:none;border-radius:50%}
.sc-decide .dq b{font-size:var(--t-sm);color:var(--text-2)}
.sc-decide .dq p{margin:4px 0 0;background:var(--surface);border-radius:4px 14px 14px 14px;padding:10px 14px;box-shadow:var(--e1);font-size:var(--t-md);line-height:1.75}
.dlead{font-weight:800;margin:14px 0 8px;color:var(--law)}
.dopts{display:grid;gap:8px}
.dopts button{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid var(--border);border-radius:14px;padding:11px 14px;background:var(--surface);line-height:1.6;transition:transform var(--dur),border-color var(--dur)}
.dopts button:hover:not([disabled]){transform:translateY(-2px);border-color:var(--law)}
.dopts button:focus-visible{box-shadow:var(--focus)}
.dopts button[disabled]{cursor:default}
.dopts button.right{border-color:var(--primary);background:var(--green-50);font-weight:700}
.dopts button.wrong{border-color:var(--danger-text);background:var(--red-50);animation:shake .35s}
.dfb:not(:empty){margin-top:10px;border-radius:12px;padding:10px 14px;line-height:1.75;animation:pop .4s var(--ease)}
.dfb.good{background:var(--green-50)}
.dfb.bad{background:var(--warn-bg)}
.dfb .pts{display:inline-block;background:#F5B82E;color:#3A2A00;border-radius:var(--r-pill);padding:0 8px;font-weight:800;font-size:var(--t-xs);margin-left:6px}

/* চ্যাট */
.sc-chat{display:grid;gap:10px;padding:6px 0 10px}
.sc-chat .msg{display:flex;gap:10px;align-items:flex-end;max-width:88%;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.sc-chat .msg.r{flex-direction:row-reverse;margin-left:auto}
.sc-chat .msg.in{opacity:1;transform:none}
.sc-chat .av{width:40px;height:40px}
.sc-chat .bub{border-radius:16px 16px 16px 4px;background:var(--sunken);padding:9px 13px;line-height:1.7}
.sc-chat .msg.r .bub{border-radius:16px 16px 4px 16px;background:var(--law-soft)}
.sc-chat .bub b{display:block;font-size:var(--t-xs);color:var(--text-2)}
.sc-chat .typing{display:inline-flex;gap:3px;padding:4px 0}
.sc-chat .typing i{width:6px;height:6px;border-radius:50%;background:var(--text-2);animation:tdot 1s infinite}
.sc-chat .typing i:nth-child(2){animation-delay:.15s}.sc-chat .typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{50%{opacity:.25;transform:translateY(-3px)}}
.sc-chat .msg.slipwrap{max-width:100%;width:100%;justify-content:center}
.slip{width:min(380px,100%);border-radius:14px;background:var(--surface);border:1px dashed var(--border-strong);padding:12px 16px;box-shadow:var(--e2)}
.sl-h{display:flex;gap:6px;align-items:center;font-weight:800;color:var(--law);margin-bottom:6px}
.sl-r,.sl-t{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:var(--t-sm);border-bottom:1px solid var(--border)}
.sl-r b{color:var(--primary)}
.sl-r.neg b{color:var(--danger-text)}
.sl-t{border:0;font-size:var(--t-md);padding-top:8px}
.sl-t b{color:var(--law);font-size:var(--t-xl)}
.slip small{display:block;color:var(--text-2);line-height:1.6;margin-top:4px}

/* ফ্লিপ কার্ড */
.sc-flips{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:4px 0 14px}
.flip{all:unset;box-sizing:border-box;cursor:pointer;position:relative;min-height:130px;perspective:800px}
.flip .fr,.flip .bk{position:absolute;inset:0;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;justify-content:center;backface-visibility:hidden;transition:transform .6s var(--ease);line-height:1.6}
.flip .fr{background:var(--law);color:#fff;font-weight:700;font-size:var(--t-md)}
[data-theme=dark] .flip .fr{color:#06231A}
.flip .fr small{font-weight:400;font-size:var(--t-xs);opacity:.8}
.flip .bk{background:var(--surface);border:2px solid var(--law);transform:rotateY(180deg);font-size:var(--t-sm)}
.flip .ic{width:22px;height:22px}
.flip .bk .ic{color:var(--law)}
.flip[aria-pressed=true] .fr{transform:rotateY(-180deg)}
.flip[aria-pressed=true] .bk{transform:rotateY(0)}
.flip:focus-visible{box-shadow:var(--focus);border-radius:16px}
.sc-apply{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.sc-apply li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:10px 12px;cursor:pointer;line-height:1.65;font-size:var(--t-sm);transition:background var(--dur)}
.sc-apply li .ic{color:var(--text-2)}
.sc-apply li.ok{background:var(--green-50);border-color:var(--primary)}
.sc-apply li.ok .ic{color:var(--primary)}
.sc-apply li.ok span{text-decoration:line-through;text-decoration-color:var(--primary)}

/* কনফেটি */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:999;overflow:hidden}
.confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:fall 2.4s cubic-bezier(.2,.6,.4,1) forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg);opacity:.6}}

@media (max-width:760px){
  .sc-hero{grid-template-columns:1fr;padding:18px}
  .hero-art{max-height:150px;order:-1}
  .sc .sc-hero h2,.sc .sc-hero h1{font-size:1.35rem}
  .sc-xp .xp-hint{display:none}
  .sc-chat .msg{max-width:100%}
  .sc-step{padding:14px 12px 6px}
  .sc-ctrl button{padding:9px 14px}
}
@media (prefers-reduced-motion:reduce){.hero-art *{animation:none!important}.sc-chat .msg{opacity:1;transform:none}}
@media print{.sc-step{display:block!important}.sc-chat .msg{opacity:1;transform:none}.sc-ctrl,.sc-all,.sc-stepper,.sc-xp{display:none}}
.sc-stepper,.sc-step{scroll-margin-top:calc(var(--hdr) + 64px)}
/* site.css styles the home page's .hero-art (absolute, top:50%, translateY(-50%)); undo that here or the art slides up out of the card */
.sc-hero .hero-art{top:auto;right:auto;transform:none;opacity:1;z-index:auto}
@media (max-width:760px){.sc-hero .hero-art{display:block;width:100%;height:150px;max-height:none}}
.sc .h-hint{font-size:var(--t-xs);color:var(--text-2);font-weight:400;margin-left:8px}

/* ===== পূর্ণ কোর্স: হাব, অধ্যায় পাতা ও নতুন চিত্র ===== */
.sc-hero.h-n{background:linear-gradient(135deg,#0B1F3A 0%,#006A4E 110%)}
.sc-hero.h-b{background:linear-gradient(135deg,#1D4E89 0%,#0E7490 100%)}
.sc-hero.h-t{background:linear-gradient(135deg,#0E7490 0%,#2FB386 120%)}
.sc-hero.h-a{background:linear-gradient(135deg,#9A5B00 0%,#B3132A 130%)}
.hero-art .beat2{transform-origin:186px 40px;animation:beat 1.6s ease-in-out infinite}
.hero-art .grow{animation:grow 3s ease-in-out infinite}
@keyframes grow{0%{width:8px}60%,100%{width:68px}}

.sc-facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.sc-facts span,.sc-facts a{display:inline-flex;gap:6px;align-items:center;font-size:var(--t-sm);border:1px solid var(--border);border-radius:var(--r-pill);padding:4px 12px;background:var(--surface)}
.sc-facts a{color:inherit;text-decoration:none}
.sc-facts a:hover{border-color:var(--law)}
.sc-facts .ic{color:var(--law)}
.sc-facts b{color:var(--law)}
.sc-part{display:flex;align-items:center;gap:8px;font-size:var(--t-md)!important;margin:26px 0 0!important;color:var(--text-2)}
.sc-part::after{content:"";flex:1;height:1px;background:var(--border)}
.sc-toc{margin-top:10px}
.sc-toc>*{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;background:var(--surface);transition:border-color var(--dur),transform var(--dur)}
.sc-toc a:hover{transform:translateY(-2px);box-shadow:var(--e1)}
.sc-toc .soon{opacity:.6}
.sc-toc>* .ic{width:30px;height:30px;padding:6px;border-radius:9px;background:var(--law-soft)}

.sc-lawbox{margin:6px 0 0}
.sc-lawbox h2{margin-bottom:0}
.sc[data-law] .sc-lawbox h2{display:none}
.sc[data-law] .sc-lawbox .sc-pick{margin:4px 0}
.sc[data-law] .sc-lawbox .sc-pick button{padding:8px 12px;align-items:center}
.sc[data-law] .sc-lawbox .sc-pick small{display:none}
.sc[data-law] .sc-lawbox .sc-pick .ic{width:28px;height:28px;padding:5px}

.sc-obj{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px;margin:14px 0 0}
.sc .sc-obj h3{display:flex;gap:8px;align-items:center;margin:0 0 6px;font-size:var(--t-md)}
.sc-obj h3 .ic{color:var(--law)}
.sc-obj ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.sc-obj li{display:flex;gap:8px;align-items:flex-start;font-size:var(--t-sm);line-height:1.7}
.sc-obj li .ic{color:var(--law);margin-top:3px}

.sc-glance em{display:block;font-style:normal;font-weight:700;color:var(--text-1);margin-bottom:2px}
.sc-law .note{font-size:var(--t-sm);color:var(--text-2);margin:8px 0 0}

.sc-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px}
.sc-rows>div{display:flex;gap:10px;align-items:flex-start;background:var(--sunken);border-radius:var(--r-md);padding:10px 12px;font-size:var(--t-sm);line-height:1.65}
.sc-rows b{display:block}
.sc-rows .ic{color:var(--law);margin-top:3px}

.tl.tl2{height:170px}
.tl .seglbl{position:absolute;top:44px;text-align:center;font-size:var(--t-xs);font-weight:700;color:var(--law);opacity:0;transition:opacity .5s .8s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-scene.play .tl .seglbl{opacity:1}
.tl.tl2 .pin.lo{top:84px}

.sc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sc-cards .cd{border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;background:var(--surface);font-size:var(--t-sm);line-height:1.65;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s var(--ease)}
.sc-cards .cd>.ic{width:34px;height:34px;padding:7px;border-radius:10px;color:var(--law);background:var(--law-soft);display:block;margin-bottom:6px}
.sc-cards .cd b{display:block;font-size:var(--t-md);margin-bottom:2px}
.sc-cards .cd span{display:block;color:var(--text-2)}
.sc-scene.play .sc-cards .cd{opacity:1;transform:none}
.sc-scene.play .sc-cards .cd:nth-child(2){transition-delay:.15s}.sc-scene.play .sc-cards .cd:nth-child(3){transition-delay:.3s}
.sc-scene.play .sc-cards .cd:nth-child(4){transition-delay:.45s}.sc-scene.play .sc-cards .cd:nth-child(5){transition-delay:.6s}.sc-scene.play .sc-cards .cd:nth-child(6){transition-delay:.75s}

.pyr{display:flex;flex-direction:column;align-items:center;gap:6px}
.pyr .lv{width:var(--w);min-width:min(260px,100%);border-radius:10px;padding:8px 14px;text-align:center;background:color-mix(in srgb,var(--law) calc(100% - var(--i) * 16%),var(--surface));color:#fff;opacity:0;transform:scale(.9);transition:opacity .5s,transform .5s var(--ease);transition-delay:calc(var(--i) * .35s)}
.pyr .lv b{display:block;font-size:var(--t-md)}
.pyr .lv span{display:block;font-size:var(--t-xs);line-height:1.6;opacity:.95}
.pyr .lv:nth-child(n+4){color:var(--text-1)}
.sc-scene.play .pyr .lv{opacity:1;transform:none}

.sc-tblw{overflow-x:auto}
.sc-tbl{width:100%;border-collapse:collapse;font-size:var(--t-sm);line-height:1.65}
.sc-tbl th,.sc-tbl td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
.sc-tbl thead th{background:var(--law-soft);color:var(--law)}
.sc-tbl tbody th{white-space:nowrap}

.sc-chnav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:28px 0 10px}
.sc-chnav a{display:flex;gap:8px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 14px;background:var(--surface);font-size:var(--t-sm);line-height:1.5}
.sc-chnav a:hover{border-color:var(--law)}
.sc-chnav small{display:block;color:var(--text-2);font-size:var(--t-xs)}
.sc-chnav .nx{justify-content:flex-end;text-align:right}
.sc-chnav .hub{font-weight:700;color:var(--law)}
.sc-chnav .ic{color:var(--law)}
@media (max-width:760px){
  .sc-obj ul,.sc-cards{grid-template-columns:1fr}
  .sc-chnav{grid-template-columns:1fr}
  .sc-chnav .nx{justify-content:flex-start;text-align:left}
  .tl .seglbl{font-size:.62rem}
}
@media print{.sc-cards .cd,.pyr .lv{opacity:1;transform:none}.sc-chnav,.sc-lawbox{display:none}}
/* Illustrations: inline SVG scenes; .pop parts appear in order of --d (seconds) */
.sc-ill{border-radius:var(--r-lg);overflow:hidden;background:#F7FAF9;border:1px solid var(--border)}
.sc-ill svg{display:block;width:100%;max-width:640px;margin:0 auto;height:auto;font-family:inherit}
.sc-ill .pop{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.7)}
.sc-scene.play .sc-ill .pop{animation:illpop .55s var(--ease) forwards;animation-delay:calc(var(--d,0) * 1s)}
.sc-ill .flow{stroke-dasharray:7 6}
.sc-scene.play .sc-ill .flow{animation:illdash .9s linear infinite}
.sc-ill .spin{transform-box:fill-box;transform-origin:center;animation:illspin 6s linear infinite}
.sc-ill .ring{transform-box:fill-box;transform-origin:center;animation:illring 1.6s ease-out infinite}
@keyframes illpop{to{opacity:1;transform:none}}
@keyframes illdash{to{stroke-dashoffset:-13}}
@keyframes illspin{to{transform:rotate(360deg)}}
@keyframes illring{from{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}
@media (prefers-reduced-motion:reduce){.sc-ill .pop{opacity:1;transform:none;animation:none!important}.sc-ill .flow,.sc-ill .spin,.sc-ill .ring{animation:none!important}.sc-ill .mover{display:none}}
@media (max-width:600px){.sc-ill{overflow-x:auto;-webkit-overflow-scrolling:touch}.sc-ill svg{min-width:540px}}
/* Pictures (Canva illustrations): the opening picture of step 1, and "ছবিতে খুঁজুন" with numbered pins that appear in order of --d */
.sc-pic{max-width:600px;margin:4px auto 16px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.sc-pic img{display:block;width:100%;height:auto}
.sc-pic figcaption{padding:8px 14px;font-size:var(--t-sm);color:var(--text-2);line-height:1.6}
.sc-find{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:16px;align-items:start}
.sc-find .pic{position:relative;border-radius:var(--r-md);overflow:hidden}
.sc-find .pic img{display:block;width:100%;height:auto}
.sc-find .pin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#B3132A;color:#fff;font-weight:800;font-size:15px;line-height:1;display:grid;place-items:center;box-shadow:0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.4);opacity:0}
.sc-find ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.sc-find li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);background:var(--law-soft);font-size:var(--t-sm);line-height:1.7;opacity:0}
.sc-find li .n{flex:none;width:26px;height:26px;border-radius:50%;background:#B3132A;color:#fff;font-weight:800;font-size:14px;line-height:1;display:grid;place-items:center;margin-top:2px}
.sc-find li b{display:block}
.sc-scene.play .sc-find .pin{animation:findpin .45s var(--ease) forwards;animation-delay:calc(var(--d,0) * .6s + .3s)}
.sc-scene.play .sc-find li{animation:findli .45s var(--ease) forwards;animation-delay:calc(var(--d,0) * .6s + .3s)}
@keyframes findpin{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@keyframes findli{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:760px){.sc-find{grid-template-columns:1fr}.sc-find .pin{width:26px;height:26px;margin:-13px 0 0 -13px;font-size:13px}}
@media print{.sc-find .pin,.sc-find li{opacity:1;animation:none}}
/* অডিটে যা ধরা পড়ে ও তার CAP: rows under the inspection checklist's questions; star colours as in the factory audit tool */
.sc-audit{--au3:#C8102E;--au3-bg:#FDE8EA;--au2:#C2410C;--au2-bg:#FFEDD5;--au1:#0E7490;--au1-bg:#E0F2FE;--au0:#475569;--au0-bg:#F1F5F9;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px;margin:22px 0 10px}
[data-theme=dark] .sc-audit{--au3:#FF8A97;--au3-bg:#4A1A22;--au2:#FDBA74;--au2-bg:#3D2410;--au1:#67C9E0;--au1-bg:#123542;--au0:#A9B6C6;--au0-bg:#1C2732}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sc-audit{--au3:#FF8A97;--au3-bg:#4A1A22;--au2:#FDBA74;--au2-bg:#3D2410;--au1:#67C9E0;--au1-bg:#123542;--au0:#A9B6C6;--au0-bg:#1C2732}}
.sc .sc-audit h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 4px;font-size:var(--t-md)}
.sc-audit h3 .ic{color:var(--law)}
.sc-audit h3 .sc-tag{margin:0}
.sc .au-lead{font-size:var(--t-sm);color:var(--text-2);margin:0 0 12px;line-height:1.75}
.sc-audit ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sc .sc-audit li{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:10px 12px;line-height:1.75}
.au-h{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}
.au-id,.au-star{font-size:var(--t-xs);font-weight:700;padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap;line-height:1.6}
.au-id{background:var(--law-soft);color:var(--law)}
.au-star.s3{background:var(--au3-bg);color:var(--au3)}
.au-star.s2{background:var(--au2-bg);color:var(--au2)}
.au-star.s1{background:var(--au1-bg);color:var(--au1)}
.au-star.s0{background:var(--au0-bg);color:var(--au0)}
.au-q{flex-basis:100%;font-size:var(--t-sm);color:var(--text-2);line-height:1.7}
.sc-audit dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:0;font-size:var(--t-sm);line-height:1.75}
.sc-audit dt{display:flex;gap:6px;align-items:flex-start;font-weight:700;white-space:nowrap}
.sc-audit dt .ic{margin-top:3px}
.sc-audit dt:nth-of-type(1) .ic{color:var(--au3)}
.sc-audit dt:nth-of-type(2) .ic{color:var(--primary)}
.sc-audit dt:nth-of-type(3) .ic{color:var(--text-2)}
.sc-audit dd{margin:0}
.sc .au-go{display:inline-flex;gap:6px;align-items:center;margin-top:12px;font-weight:700;font-size:var(--t-sm);color:var(--law);text-decoration:none}
.sc .au-go:hover{text-decoration:underline}
@media (max-width:600px){.sc-audit{padding:12px}.sc-audit dl{grid-template-columns:1fr;gap:0}.sc-audit dd{margin:0 0 8px}.sc-audit dd:last-child{margin:0}}
@media print{.sc-audit{break-inside:auto}.sc .sc-audit li{break-inside:avoid}.sc .au-go{display:none}.au-star{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* আইনি শব্দকোষ: a term's first use opens a card with its meaning and section (scripts/shrom/glossary.py) */
.sc .gl{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:help;text-decoration:underline dashed;text-decoration-color:var(--law);text-decoration-thickness:1.5px;text-underline-offset:4px}
.sc .gl:hover,.sc .gl:focus-visible{background:var(--law-soft);border-radius:4px}
.gl-pop{max-width:min(420px,calc(100vw - 32px));margin:auto;padding:16px 44px 14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:0 18px 48px rgba(11,31,58,.25);line-height:1.75;font-size:var(--t-sm)}
.gl-pop::backdrop{background:rgba(11,31,58,.28)}
.gl-pop .gl-t{display:block;font-size:var(--t-md);color:var(--law);margin-bottom:4px}
.gl-pop p{margin:0 0 6px}
.gl-pop .gl-ref{color:var(--text-2);font-weight:600}
.gl-pop .gl-all{font-size:var(--t-xs);color:var(--law);font-weight:700}
.gl-pop .gl-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-2);color:var(--text-2);cursor:pointer;font-size:14px}
.sc-gloss{display:grid;gap:10px;margin:18px 0}
.sc-gloss dl{margin:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:12px 14px;scroll-margin-top:90px}
.sc-gloss dt{font-weight:700;font-size:var(--t-md);color:var(--law)}
.sc-gloss dd{margin:4px 0 0;line-height:1.8}
.sc-gloss .gl-ref{color:var(--text-2);font-weight:600}
@media print{.sc .gl{text-decoration:none}.gl-cards{display:none}}
/* ছবিতে চাপ দিন: a sample appointment letter or pay slip with numbered points (scripts/shrom/hotspots.py) */
.sc-hot{margin:22px 0 10px}
.sc-hot h3{margin:0 0 4px;font-size:var(--t-md)}
.sc-hot .hs-lead{margin:0 0 12px;color:var(--text-2);font-size:var(--t-sm);line-height:1.75}
.hs-doc{max-width:640px;margin:0 auto;background:#FFFDF7;color:#1F2937;border:1px solid #E5DCC5;border-radius:6px;box-shadow:0 10px 30px rgba(11,31,58,.12);padding:18px 18px 10px;font-size:var(--t-sm)}
.hs-head{display:grid;justify-items:center;gap:2px;border-bottom:2px solid #1F2937;padding-bottom:10px;margin-bottom:6px;text-align:center}
.hs-head b{font-size:var(--t-md)}
.hs-head span{font-weight:700;letter-spacing:.5px}
.hs-head small{color:#9A3412;font-size:var(--t-xs);border:1px solid #FDBA74;border-radius:999px;padding:0 8px}
.hs-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1.3fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed #D6CDB5;line-height:1.6}
.hs-row:last-child{border-bottom:0}
.hs-k{color:#4B5563;font-weight:600}
.hs-v{text-align:right}
.hs-pin{width:28px;height:28px;border-radius:50%;border:0;background:var(--law);color:#fff;font:inherit;font-weight:800;font-size:var(--t-sm);cursor:pointer;box-shadow:0 0 0 4px var(--law-soft);animation:hs-pulse 2.4s ease-in-out infinite}
.hs-pin:focus-visible{outline:3px solid var(--law);outline-offset:2px}
@keyframes hs-pulse{50%{box-shadow:0 0 0 8px var(--law-soft)}}
@media (prefers-reduced-motion:reduce){.hs-pin{animation:none}}
@media (max-width:600px){.hs-row{grid-template-columns:30px minmax(0,1fr)}.hs-v{grid-column:2;text-align:left;font-weight:600}}
@media print{.hs-pin{animation:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
