:root{--ink:#15312e;--muted:#657772;--line:#d8e4dd;--green:#14594b;--dark:#143d35}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f4f7f3;color:var(--ink);font:16px/1.7 "Noto Sans Bengali","Hind Siliguri","Kalpurush","SolaimanLipi","Nirmala UI","Vrinda","Bangla Sangam MN","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
header{background:var(--dark);color:#fff;padding:20px 16px 18px}
header .tag{font-size:12px;letter-spacing:1px;color:#a9cbbf}
header h1{font-size:22px;line-height:1.35;margin:4px 0 6px}
header p{margin:0;color:#d5e7df;font-size:14px}
.bar{position:sticky;top:0;z-index:5;background:#f4f7f3ee;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:8px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bar a.home{font-size:14px;text-decoration:none;font-weight:600}
.lang{margin-left:auto;display:flex;border:1px solid #aac6b6;border-radius:8px;overflow:hidden}
.lang button{font:inherit;font-size:14px;border:0;background:#fff;padding:5px 12px;cursor:pointer;color:var(--ink)}
.lang button.on{background:var(--green);color:#fff}
.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch}
.chips a{white-space:nowrap;font-size:13px;border:1px solid var(--line);border-radius:14px;padding:3px 10px;text-decoration:none;background:#f4f7f3}
.wrap{max-width:900px;margin:auto;padding:12px}
a{color:#16634e}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;scroll-margin-top:60px}
.card>h2,.card .L>h2{font-size:18px;line-height:1.4;margin:2px 0 10px}
h3{font-size:16px;margin:16px 0 6px}
.badge{display:inline-block;border-radius:6px;padding:1px 8px;background:#e4efe6;font-size:12px;margin:0 4px 2px 0;font-weight:600;white-space:nowrap}
.badge.req{background:#fde2e1;color:#9b1c1c}.badge.auto{background:#eef0f3;color:#5e6571}.badge.opt{background:#e4efe6;color:#14594b}
.badge.warn{background:#fff0cd;color:#80590e}
.notice{border-left:4px solid #ad8135;padding:10px 14px;background:#fff8e9;margin:12px 0;border-radius:0 8px 8px 0}
.notice.red{border-color:#b42318;background:#fdecea}
blockquote{margin:10px 0;padding:10px 14px;background:#f1f7f0;border-left:3px solid #60997d;border-radius:0 8px 8px 0}
blockquote p{margin:4px 0}
code{background:#eef3ef;border-radius:4px;padding:1px 5px;font-size:.92em;word-break:break-all}
table{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px;background:#fff}
th,td{border:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
th{background:#e9f2ec;font-size:13px}
ul,ol{padding-left:22px}
.grid{display:grid;grid-template-columns:1fr;gap:12px}
.sc{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}
.sc .n{display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;background:var(--green);color:#fff;font-weight:700;margin-right:8px}
.sc b{font-size:16px}.sc .who{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.track{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;background:#fbfdfb}
.track h3{margin:0 0 4px;color:var(--green)}.track .badge{white-space:normal;display:inline}.track .who{color:var(--muted);font-size:13px;margin:0 0 8px}
.track.later{opacity:.85}.soon{display:block;border:1px dashed #b8c9bf;border-radius:12px;padding:12px;color:var(--muted);font-size:14px}
.sc .prog{position:absolute;right:12px;top:12px;font-size:12px;color:var(--muted)}
.check{background:#f1f7f0;border:1px solid #cfe3d6;border-radius:10px;padding:10px 12px;margin-top:12px}
.check h3{margin:0 0 6px;color:var(--green)}
.check label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:15px;cursor:pointer}
.check input[type=checkbox]{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--green)}
.check .rec{display:block;margin:2px 0 6px 32px}
.check .rec input{font:inherit;font-size:15px;width:100%;max-width:320px;padding:7px 9px;border:1px solid #bacdc1;border-radius:8px}
.check label.cp{border-top:1px dashed #b8d3c2;margin-top:4px;padding-top:8px;font-weight:600}
.pn{display:flex;justify-content:space-between;gap:10px;margin:18px 0}
.pn a{flex:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;text-decoration:none;font-size:14px}
.pn a.next{text-align:right}
footer{color:var(--muted);font-size:12px;padding:24px 12px;text-align:center}
.reset{font:inherit;font-size:13px;border:1px solid #aac6b6;background:#fff;border-radius:6px;padding:3px 10px;cursor:pointer}
body.lang-bn .zh{display:none!important}body.lang-zh .bn{display:none!important}
@media(max-width:640px){
 table.ft thead{display:none}
 table.ft,table.ft tbody,table.ft tr,table.ft td{display:block;width:100%}
 table.ft tr{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:6px 10px;background:#fff}
 table.ft td{border:0;padding:3px 0}
 table.ft td:first-child{font-weight:700;color:var(--green);border-bottom:1px dashed var(--line);padding-bottom:5px;margin-bottom:3px}
 table.ft td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted)}
}
@media(min-width:720px){header{padding:28px max(22px,calc((100vw - 900px)/2))}header h1{font-size:28px}.grid{grid-template-columns:1fr 1fr}.wrap{padding:20px}}
