/* কার্ড তুলে উত্তর (PAARO-CARD-SCAN-v1), after portal/paaro-card-scan-v1.html. Scoped under .pt. */
body{margin:0;background:#F6F9F7}
.pt{--green:#006A4E;--green-2:#0E9F6E;--green-soft:#E6F4EE;--sun:#FFC93C;--sun-soft:#FFF4D1;--ink:#12241E;--body:#43574F;--mut:#5F7169;--line:#DDE9E3;--cam:#10201A;
 --f:'Noto Sans','Noto Sans Bengali',system-ui,sans-serif;font-family:var(--f);color:var(--ink);font-size:16px;line-height:1.55;min-height:60vh}
.pt *{box-sizing:border-box}
.pt button{font-family:inherit;cursor:pointer}
.pt .w{max-width:1100px;margin:0 auto;padding:18px 16px 0}
.pt .frame{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:32px}
.pt .steps{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);background:#fbfdfc}
.pt .steps span{flex:1;min-width:max-content;text-align:center;font-size:13px;font-weight:700;color:var(--mut);padding:10px 12px;border-right:1px solid var(--line)}
.pt .steps span:last-child{border-right:0}.pt .steps span.on{color:var(--green);background:var(--green-soft)}
.pt .body{padding:20px}
.pt h1{font-size:clamp(22px,3.2vw,30px);line-height:1.3;margin:0 0 6px;text-wrap:balance}
.pt h2{font-size:18px;margin:14px 0 8px}
.pt .lede{color:var(--body);margin:0 0 16px;max-width:62ch}
.pt .g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:720px){.pt .g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pt .card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.pt .card .hd{display:flex;gap:10px;align-items:center;font-weight:700}
.pt .ic{width:36px;height:36px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.pt .ic svg{width:20px;height:20px}
.pt .card p{margin:8px 0 0;font-size:14px;color:var(--body)}
.pt .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.pt .field label{font-weight:700;font-size:14px}
.pt select,.pt input[type=number],.pt input[type=text]{font:600 15px var(--f);min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;color:var(--ink);max-width:100%}
.pt input[type=number]{width:110px}
.pt .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pt .chips{display:flex;flex-wrap:wrap;gap:8px}
.pt .chip{min-height:44px;min-width:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:15px;color:var(--ink)}
.pt .chip.on{background:var(--green);border-color:var(--green);color:#fff}
.pt .chip:disabled{opacity:.4;cursor:default}
.pt .btn{font:700 15px var(--f);min-height:48px;padding:0 20px;border-radius:12px;border:0;background:var(--green);color:#fff;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.pt .btn.ghost{background:#fff;color:var(--green);border:1.5px solid var(--green)}
.pt .btn.sun{background:var(--sun);color:#3a2c00}
.pt .btn:disabled{opacity:.45;cursor:default}
.pt .act{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);background:#fff;padding:12px 20px;z-index:2}
.pt .act .meta{font-size:14px;color:var(--mut);font-weight:600}
.pt .qlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.pt .qlist li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.pt .qlist input{width:22px;height:22px;margin-top:2px;accent-color:var(--green);flex:none}
.pt .lvt{font-size:12px;font-weight:700;border-radius:99px;padding:1px 8px;background:var(--green-soft);color:var(--green);white-space:nowrap}
.pt .mt{font-size:13px;color:var(--mut)}
.pt .note{font-size:14px;color:var(--mut);margin-top:10px}
.pt .empty{border:1.5px dashed var(--line);border-radius:12px;padding:16px;color:var(--mut);text-align:center}
/* the card, on screen */
.pt .pc{border:1px dashed #b9c8c1;border-radius:10px;padding:8px;background:#fff;aspect-ratio:1;position:relative;display:grid;place-items:center;max-width:100%}
.pt .pc svg{width:62%;height:auto}
.pt .pc .l,.pa .l{position:absolute;font-weight:800;line-height:1;color:#111}
.pt .pc .l{font-size:18px}
.pt .pc .t,.pa .t{top:6px;left:50%;transform:translateX(-50%)}.pt .pc .r,.pa .r{right:6px;top:50%;transform:translateY(-50%) rotate(90deg)}
.pt .pc .b,.pa .b{bottom:6px;left:50%;transform:translateX(-50%) rotate(180deg)}.pt .pc .lf,.pa .lf{left:6px;top:50%;transform:translateY(-50%) rotate(-90deg)}
.pt .pc .n{position:absolute;bottom:6px;right:8px;font-size:11px;color:var(--mut);font-weight:700}
.pt .how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media(max-width:720px){.pt .how{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pt .how .pc{max-width:180px;margin:0 auto}
.pt .how .cap{font-size:13px;font-weight:700;text-align:center;margin-top:6px}
.pt .tips{margin:12px 0 0;padding-left:20px;color:var(--body);font-size:14px}
/* question */
.pt .qbig{font-size:clamp(22px,3.4vw,34px);font-weight:700;line-height:1.35;margin:6px 0 16px;text-wrap:balance}
.pt .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:620px){.pt .opts{grid-template-columns:minmax(0,1fr)}}
.pt .opt{border:1.5px solid var(--line);border-radius:14px;padding:14px;font-size:20px;font-weight:600;display:flex;gap:12px;align-items:center}
.pt .opt b{width:40px;height:40px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
/* scan */
.pt .scan{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
@media(max-width:820px){.pt .scan{grid-template-columns:minmax(0,1fr)}}
.pt .cam{position:relative;background:var(--cam);border-radius:16px;aspect-ratio:4/3;overflow:hidden}
.pt .cam video,.pt .cam canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pt .cam .hint{position:absolute;left:12px;top:10px;color:#cfe;font-size:13px;font-weight:600;background:rgba(0,0,0,.45);padding:3px 10px;border-radius:99px;z-index:1}
.pt .cam .err{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-align:center;padding:20px;font-weight:600}
.pt .count{font-size:30px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.pt .roll{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:10px}
.pt .roll button{aspect-ratio:1;border-radius:7px;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--mut);background:#fff;padding:0;min-height:34px}
.pt .roll button.in{background:var(--green);color:#fff;border-color:var(--green)}
.pt .roll button.man{background:var(--green-soft);color:var(--green);border-color:var(--green-2)}
.pt .roll button.abs{background:#f1f3f2;color:#a9b5b0;text-decoration:line-through}
.pt .tog{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--body);margin-top:10px}
.pt .tog input{width:20px;height:20px;accent-color:var(--green)}
.pt .fps{font-size:12px;color:var(--mut);margin-top:4px}
/* results */
.pt .bars{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pt .bar{display:grid;grid-template-columns:44px minmax(0,1fr) 70px;gap:10px;align-items:center;font-weight:700}
.pt .bar .t{height:22px;border-radius:8px;background:var(--line);overflow:hidden}.pt .bar .t i{display:block;height:100%;background:#9fb3ab}
.pt .bar.ok .t i{background:var(--green-2)}.pt .bar .n{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}
.pt .big{font-size:40px;font-weight:800;color:var(--green);line-height:1}
.pt .tipbox{background:var(--green);color:#fff;border-radius:14px;padding:14px 16px;font-weight:600;margin-top:14px}.pt .tipbox b{color:var(--sun)}
.pt .grp{border-radius:14px;padding:14px;border:1px solid var(--line)}
.pt .grp .gn{font-size:28px;font-weight:800}
.pt .g1{background:var(--green-soft)}.pt .g1 .gn{color:var(--green)}.pt .g2{background:#EEF4FB}.pt .g2 .gn{color:#2F6FB3}.pt .g3{background:var(--sun-soft)}.pt .g3 .gn{color:#8A5A00}
.pt details{margin-top:8px;font-size:14px}.pt summary{cursor:pointer;font-weight:700;color:var(--body);min-height:32px}
.pt table.qs{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.pt table.qs td,.pt table.qs th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}
.pt table.qs th{font-size:13px;color:var(--mut)}
.pt .scroll{overflow-x:auto}
/* the roll-number picker sheet */
#sheet.pt .scrim{position:fixed;inset:0;background:rgba(11,42,32,.5);display:grid;place-items:center;z-index:50;padding:16px}
#sheet.pt .box{background:#fff;border-radius:18px;padding:18px;max-width:360px;width:100%;display:grid;gap:10px}
#toast.pt{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#12241E;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;z-index:60;display:none}
#toast.pt.on{display:block}
/* print: two big cards an A4 page, black and white, the footer only (§2.2) */
#printArea{display:none}
.pa{font-family:'Noto Sans','Noto Sans Bengali',system-ui,sans-serif;color:#111}
.pa .a4{height:252mm;display:flex;flex-direction:column;justify-content:space-between;align-items:center}
.pa .cd{position:relative;width:120mm;height:118mm;display:grid;place-items:center}
.pa .cd svg{width:96mm;height:96mm}
.pa .l{font-size:13mm}
.pa .t{top:0}.pa .b{bottom:0}.pa .r{right:0}.pa .lf{left:0}
.pa .no{position:absolute;right:2mm;bottom:2mm;font-size:9pt;font-weight:700}
.pa .ft{font-size:9pt;color:#444}
@media print{
 @page{size:A4;margin:1in 0.7in 0.7in 1in}
 html,body{background:#fff!important}
 body>*:not(#printArea){display:none!important}
 #printArea{display:block!important}
 .pa .a4{break-after:page;page-break-after:always}
 .pa .a4:last-child{break-after:auto;page-break-after:auto}
}
