@font-face{font-family:Rubik;src:url(fonts/rubik-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url(fonts/rubik-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Rubik;src:url(fonts/rubik-bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--sky:#A9D4E0;--sky2:#e3f2f6;--mint:#d7f0e6;--mint2:#5fb39a;--teal:#1d6f75;--teal2:#14555a;--ink:#12343b;--soft:#4b666c;--line:#cfe3e8;--bg:#f3f9fa;--ok:#1f7a4f;--r:18px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Rubik,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;font-size:17px;overflow-x:hidden;
 background-image:radial-gradient(circle at 90% 0,#d8eef4 0,transparent 340px),radial-gradient(circle at 5% 30%,#e2f4ec 0,transparent 300px)}
a{color:var(--teal2)}
:focus-visible{outline:3px solid #0b6b8a;outline-offset:2px;border-radius:6px}
.skip{position:absolute;right:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:10px;z-index:30}
.skip:focus{right:8px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;max-width:980px;margin:0 auto}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;min-height:44px}
.top nav{display:flex;gap:4px;flex-wrap:wrap}
.top nav a{color:var(--teal2);text-decoration:none;padding:9px 10px;border-radius:12px;font-weight:500;font-size:15.5px;min-height:44px;display:inline-flex;align-items:center}
.top nav a[aria-current=page]{background:#fff;box-shadow:0 1px 0 var(--line)}
main{max-width:980px;margin:0 auto;padding:6px 16px 30px;outline:none}
main:focus,main:focus-visible{outline:none}
h1{font-size:27px;line-height:1.25;margin:10px 0 6px}
h2{font-size:21px;margin:0 0 8px}
h3{font-size:18px;margin:14px 0 6px}
.lead{color:var(--soft);margin:0 0 16px;max-width:60ch}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:0 4px 18px rgba(18,52,59,.05);margin-bottom:14px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.set h2{margin-bottom:2px}
.set .meta{color:var(--soft);font-size:15px;margin:0 0 12px}
.pill{display:inline-block;background:var(--sky2);color:var(--teal2);border-radius:999px;padding:2px 10px;font-size:14px;font-weight:500}
.btn{font:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:14px;border:1.5px solid var(--teal);background:#fff;color:var(--teal2);cursor:pointer;text-decoration:none;font-size:16.5px}
.btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn.primary:hover{background:var(--teal2)}
.btn.big{min-height:60px;font-size:20px;font-weight:700;padding:12px 26px;border-radius:18px}
.btn.ghost{border-color:transparent;background:transparent}
.btn:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tools{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:6px}
.tools a{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;color:var(--ink);min-height:44px}
.tools a b{color:var(--teal2)}
.tools a span{color:var(--soft);font-size:14.5px}
/* question */
.qhead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:var(--soft);font-size:15px}
.qtext{font-size:25px;font-weight:700;line-height:1.35;margin:10px 0 14px}
.opts{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.opts li{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;font-size:19px}
.opts .L{flex:none;width:40px;height:40px;border-radius:12px;background:var(--sky);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:21px}
.opts li.right{border-color:var(--mint2);background:var(--mint)}
.opts li.right .L{background:var(--ok);color:#fff}
.explain{background:var(--mint);border-radius:14px;padding:12px 14px;margin-top:12px}
.dock{position:sticky;bottom:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;margin-top:14px}
.dock .btn.big{flex:1}
.nav2{display:flex;gap:8px}
.nav2 .btn{min-width:52px;padding:10px 12px}
/* results */
.bars{display:grid;gap:10px;margin:8px 0 6px}
.bar{display:grid;grid-template-columns:42px 1fr 64px;align-items:center;gap:10px}
.bar .L{width:40px;height:40px;border-radius:12px;background:var(--sky);display:grid;place-items:center;font-weight:700;font-size:20px}
.bar .track{height:34px;background:var(--sky2);border-radius:10px;overflow:hidden}
.bar .fill{height:100%;background:#5a9fb0;border-radius:10px;min-width:2px;transition:width .5s}
.bar .n{font-weight:700;font-size:17px;text-align:left;direction:ltr}
.bar.right .L{background:var(--ok);color:#fff}
.bar.right .fill{background:var(--mint2)}
.bar .tag{font-size:13px;color:var(--ok);font-weight:700}
.who{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:8px}
.who div{background:var(--bg);border-radius:12px;padding:10px 12px}
.who b{display:block;margin-bottom:3px}
.who span{color:var(--soft);font-size:15px}
.stat{font-size:15px;color:var(--soft)}
/* board view */
body.board .top,body.board .site-foot,body.board .qhead .pill{display:none}
body.board main{max-width:1400px}
body.board .qtext{font-size:clamp(28px,4.4vw,60px)}
body.board .opts li{font-size:clamp(20px,2.8vw,40px);padding:16px 20px}
body.board .opts .L{width:clamp(40px,4.5vw,70px);height:clamp(40px,4.5vw,70px);font-size:clamp(20px,2.8vw,38px)}
/* forms */
label{font-weight:500}
input[type=text],input[type=number],textarea,select{font:inherit;width:100%;border:1.5px solid #b9d3d9;border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);min-height:46px}
textarea{min-height:180px;resize:vertical}
.field{display:grid;gap:5px;margin:10px 0}
.optrow{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;margin:6px 0}
.optrow .L{width:40px;height:40px;border-radius:12px;background:var(--sky);display:grid;place-items:center;font-weight:700}
.optrow input[type=radio]{width:26px;height:26px;accent-color:var(--ok)}
.qed{border:1px solid var(--line);border-radius:16px;padding:12px;margin:12px 0;background:#fbfdfd}
.note{background:var(--sky2);border-radius:14px;padding:12px 14px;font-size:15.5px}
.warn{background:#fff6e0;border-radius:14px;padding:12px 14px;font-size:15.5px}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:right;vertical-align:top}
th{font-weight:700;color:var(--teal2)}
td:first-child{min-width:7em}
@media (max-width:420px){table{font-size:14px}th,td{padding:7px 4px}}
td.num{direction:ltr;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}
.tablewrap{overflow-x:auto}
ol.steps{padding-inline-start:22px}
ol.steps li{margin:8px 0}




/* cards print page */
.sheet-ctl{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.sheet-ctl .field{margin:0;min-width:120px}
.preview{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:12px}
.preview figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;text-align:center}
.preview figcaption{font-size:14px;color:var(--soft)}
.kcard{display:block;width:100%;height:auto}
.print-area{display:none}
/* scan */
.scan{position:fixed;inset:0;background:#06181b;z-index:50;color:#fff}
.scan video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scan canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scan-top{position:absolute;top:0;inset-inline:0;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:linear-gradient(rgba(6,24,27,.75),transparent)}
.scan-count{font-size:26px;font-weight:700;background:rgba(6,24,27,.55);border-radius:14px;padding:6px 14px}
.scan-x{font:inherit;font-size:17px;font-weight:500;min-width:76px;height:52px;padding:0 16px;border-radius:999px;border:0;background:rgba(255,255,255,.18);color:#fff;cursor:pointer}
.scan-hint{position:absolute;top:84px;inset-inline:12px;margin:0;text-align:center;font-size:15px;color:#e6f6f9;text-shadow:0 1px 3px #000}
.scan-bottom{position:absolute;bottom:0;inset-inline:0;padding:14px 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(6,24,27,.8))}
.scan-bottom .btn{width:100%;background:var(--sky);border-color:var(--sky);color:var(--ink)}
.scan-err{position:absolute;inset:30% 16px auto;background:#fff;color:var(--ink);border-radius:18px;padding:18px;font-size:16px}
.site-foot{max-width:980px;margin:0 auto;padding:10px 16px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.credits{margin:0;font-size:13.5px;color:var(--soft)}
body.scanning .site-foot{display:none}
.fb{display:inline-flex;align-items:center;gap:7px;background:#ffffffeb;border:1px solid #cfe5e8;border-radius:999px;padding:9px 14px 9px 12px;font-size:14.5px;color:#2a4d53;text-decoration:none;min-height:44px}
.fb svg{color:var(--teal)}
.fb:hover{background:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:420px){h1{font-size:24px}.qtext{font-size:22px}.opts li{font-size:17.5px}.top nav a{padding:9px 7px;font-size:14.5px}.brand span{font-size:17px}}
@media print{
 @page{size:A4;margin:0}
 body{background:#fff}
 .no-print,.top,.site-foot,.screen-only,#scan,.skip{display:none!important}
 main{padding:0;max-width:none}
 .print-area{display:block}
 .page{width:210mm;height:296mm;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;page-break-after:always;break-after:page;overflow:hidden}
 .page:last-child{page-break-after:auto;break-after:auto}
 .page.four{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;place-items:center;padding:8mm}
 .page .pc{width:136mm;height:auto;position:relative}
 .page.four .pc{width:92mm}
 .pc .nm{position:absolute;top:1.2%;left:3%;font-size:12pt;color:#55747b;font-family:Rubik,Arial}
 .page.four .pc .nm{font-size:9pt}
}

/* classes */
.clsbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.clsl{color:var(--soft);font-size:15px;font-weight:500}
.chip{font:inherit;font-weight:500;font-size:16.5px;min-height:48px;min-width:56px;padding:8px 16px;border-radius:999px;border:1.5px solid #9cc7d2;background:#fff;color:var(--teal2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.chip.on::before{content:"✓";margin-inline-end:6px}
.chip.add{border-style:dashed;font-size:15px}
.chip:focus-visible{outline:3px solid var(--teal2);outline-offset:2px}
.qhead + .clsbar{margin:8px 0 2px}
body.board .clsbar{display:none}
.clsrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.clsrow h2{margin:0}
.clsrow .stat{margin:2px 0 0}
.clsrow.cur{border-color:var(--mint2);box-shadow:0 0 0 2px var(--mint)}
.pbar{display:inline-block;width:56px;height:10px;background:var(--sky2);border-radius:6px;overflow:hidden;vertical-align:middle}
.pbar i{display:block;height:100%;background:var(--teal)}
.scan-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.scan-cls{font-size:15px;font-weight:700;background:rgba(169,212,224,.95);color:#06181b;border-radius:999px;padding:2px 12px}
.scan-cls:empty{display:none}
@media print{.clsbar{display:none}}

/* question image (kartisim-preview, sets wkNN) */
.qimg{margin:6px 0 14px}
.qimg img{display:block;width:100%;max-width:560px;max-height:36vh;object-fit:contain;margin:0 auto;border-radius:14px;border:1px solid var(--line);background:#fff}
body.board .qimg img{max-width:760px;max-height:40vh}
@media print{.qimg img{max-height:60mm}}

/* ---- question nav: clear prev/next (Lucide chevrons, RTL) + projector 16:9 fit · v5 ---- */
.dock .btn.big{flex:1 1 auto;min-width:0}
.btn.navb{flex:none;min-height:60px;padding:8px 16px;border-radius:16px;border-width:2px;font-size:18px;font-weight:700;gap:6px;background:#fff}
.btn.navb .ico{flex:none;width:28px;height:28px}
.btn.navb:hover:not(:disabled){background:var(--sky2)}
.btn.navb:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.btn.navb:disabled{opacity:1;color:#8aa0a5;border-color:var(--line);border-style:dashed;background:transparent;cursor:not-allowed}
@media (max-width:599px){.nlw{display:none}.btn.navb{padding:8px 10px;font-size:16.5px;gap:2px}.btn.navb .ico{width:24px;height:24px}.dock{gap:8px}.dock .btn.big{padding:12px 10px}}
@media (min-width:900px) and (min-aspect-ratio:13/10){
 body.qv{display:flex;flex-direction:column;min-height:100vh}
 body.qv .site-foot{display:none}
 body.qv .top{max-width:none;padding:4px 2.4vw;min-height:0}
 body.qv .top nav a{min-height:40px;padding:6px 10px}
 body.qv main{max-width:none;width:100%;flex:1;display:flex;flex-direction:column;padding:0 2.4vw}
 body.qv .qhead{font-size:clamp(15px,1.5vh,20px)}
 body.qv .qhead .btn{min-height:40px;padding:6px 14px}
 body.qv .qhead{flex-wrap:nowrap}
 body.qv .qhead .clsbar{margin:0 auto 0 0;flex-wrap:nowrap}
 body.qv .qbody{flex:1;display:flex;align-items:center;min-height:0}
 body.qv .qmain{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(10px,1.8vh,24px) 3vw;align-content:center}
 body.qv .has-img .qmain{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-areas:"q i" "o i"}
 body.qv .has-img .qtext{grid-area:q;align-self:end}
 body.qv .has-img .opts{grid-area:o;align-self:start}
 body.qv .has-img .qimg{grid-area:i;align-self:center;margin:0}
 body.qv .qimg img{max-width:100%;width:100%;max-height:calc(100vh - 210px);border-radius:18px}
 body.qv .qtext{margin:0;font-size:clamp(26px,min(2.6vw,4.9vh),66px);line-height:1.3}
 body.qv .opts{gap:clamp(8px,1.4vh,18px)}
 body.qv .qbody:not(.has-img) .opts{grid-template-columns:1fr 1fr}
 body.qv .opts li{font-size:clamp(20px,min(2.15vw,3.9vh),50px);line-height:1.3;padding:clamp(8px,1.3vh,18px) clamp(12px,1.2vw,24px);gap:clamp(12px,1vw,20px);border-radius:clamp(14px,1.2vw,22px);border-width:2px}
 body.qv .opts .L{width:clamp(40px,min(3.4vw,6vh),80px);height:clamp(40px,min(3.4vw,6vh),80px);font-size:clamp(22px,min(2.1vw,3.8vh),46px);border-radius:clamp(10px,.9vw,18px)}
 body.qv .explain{font-size:clamp(18px,min(1.6vw,2.9vh),36px)}
 body.qv .dock{margin-top:clamp(8px,1.4vh,18px);padding:clamp(8px,1.2vh,14px) 0;gap:1.4vw}
 body.qv .dock .btn.big{flex:0 1 auto;min-width:min(34vw,560px);margin:0 auto;min-height:clamp(58px,7.4vh,96px);font-size:clamp(20px,min(1.8vw,3.2vh),40px)}
 body.qv .btn.navb{min-height:clamp(58px,7.4vh,96px);min-width:clamp(190px,15vw,320px);font-size:clamp(18px,min(1.45vw,2.6vh),32px);padding:6px clamp(14px,1.2vw,26px)}
 body.qv .btn.navb .ico{width:clamp(28px,2vw,44px);height:clamp(28px,2vw,44px)}
 body.qv #res:not(:empty){margin-top:10px}
 body.qv .qbody:not(.has-img) .qtext{font-size:clamp(28px,min(3vw,6vh),76px)}
 body.qv .qbody:not(.has-img) .opts li{font-size:clamp(20px,min(2.2vw,4.3vh),54px);padding:clamp(10px,2vh,26px) clamp(14px,1.4vw,28px)}
 body.qv .qbody:not(.has-img) .opts .L{width:clamp(42px,min(3.8vw,7vh),92px);height:clamp(42px,min(3.8vw,7vh),92px);font-size:clamp(22px,min(2.4vw,4.4vh),52px)}
 body.board.qv main{max-width:none}
 body.board.qv .qtext{font-size:clamp(28px,min(2.9vw,5.4vh),76px)}
 body.board.qv .opts li{font-size:clamp(20px,min(2.2vw,4vh),54px);padding:clamp(8px,1.5vh,20px) clamp(12px,1.3vw,26px)}
 body.board.qv .opts .L{width:clamp(40px,min(3.8vw,6.8vh),92px);height:clamp(40px,min(3.8vw,6.8vh),92px);font-size:clamp(22px,min(2.4vw,4.2vh),52px)}
 body.board.qv .qimg img{max-width:100%;max-height:calc(100vh - 170px)}
}
body.qv{background-image:none}
.qhead .clsbar{margin:2px 0}
@media (max-width:899px),(max-aspect-ratio:13/10){.qhead .clsbar{order:3;flex-basis:100%}}

/* KT-LINK v1 */
.sgback{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:6px 6px 6px 12px;background:#fff;border:1px solid var(--line);border-radius:14px}
.sgback .sgb{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 10px;border-radius:10px;color:var(--teal2);font-weight:700;text-decoration:none}
.sgback .sgb:hover{background:var(--sky2)}
.sgback .sgt{font-size:14px;color:var(--soft);background:var(--mint);border-radius:999px;padding:3px 11px}
.sgi{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sgdone{margin:14px 0 6px;width:100%}
body.board .sgback,body.board .sgdone{display:none}

/* profile corner + sign-in (sync.js) */
.top{position:relative}
.profw{position:relative;flex:none;order:3}
.prof{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--teal2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font:inherit}
.prof:hover{border-color:var(--teal)}
.prof.in{background:var(--teal);border-color:var(--teal);color:#fff}
.prof .av{font-weight:700;font-size:18px;line-height:1}
.profmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:240px;max-width:min(320px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(18,52,59,.16);padding:8px}
.pm-who{display:flex;flex-direction:column;padding:6px 10px 2px}
.pm-who b{font-size:16.5px}
.pm-who span{color:var(--soft);font-size:14px;text-align:right;overflow-wrap:anywhere}
.pm-st{margin:4px 10px 8px;color:var(--soft);font-size:14px;line-height:1.4}
.pm-i{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:none;font:inherit;font-size:16px;font-weight:500;color:var(--teal2);text-decoration:none;cursor:pointer;text-align:right}
.pm-i:hover,.pm-i:focus-visible{background:var(--sky2)}
.pm-i.pm-main{background:var(--teal);color:#fff}
.pm-dlg{position:fixed;inset:0;z-index:80;background:rgba(18,52,59,.35);display:flex;align-items:center;justify-content:center;padding:16px}
.pm-box{background:#fff;border-radius:18px;padding:20px;max-width:440px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.pm-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.authf{max-width:440px;display:flex;flex-direction:column;gap:4px}
.authf label{font-weight:500;margin-top:8px}
.authf input{font:inherit;font-size:17px;min-height:48px;padding:10px 12px;border:1.5px solid #9cc7d2;border-radius:12px;background:#fff;color:var(--ink)}
.authf input[dir=ltr]{text-align:left}
.authf .btn{margin-top:12px}
.authf .hint{color:var(--soft);font-size:14px;margin:4px 0 0}
.authf .err{color:#a3341f;font-weight:500;margin:6px 0 0;min-height:0}
.authf .err:empty{display:none}
.authf .alt{margin:10px 0 0}
.authf .note{color:var(--ink);background:#fff8e6;border:1px solid #ecd9a8;border-radius:12px;padding:10px 12px;margin:10px 0 0;font-size:15px;line-height:1.5}
.authf .note:empty{display:none}
.gbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.pm-i .gi{margin-inline-end:8px;flex:none}
.nudge{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;background:#fff;border:1px dashed #9cc7d2;border-radius:14px;padding:8px 12px;margin:6px 0 12px;font-size:15px;color:var(--soft)}
.nudge a{font-weight:500}
.nudge button{margin-inline-start:auto;border:0;background:none;color:var(--soft);width:36px;height:36px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
body.board .profw{display:none}
/* four-corners full-screen button */
.btn.icob{min-width:48px;padding:8px 10px;border:1.5px solid var(--line);background:#fff}
.btn.icob .ico{width:24px;height:24px}
.btn.icob:hover{border-color:var(--teal)}
body.board .btn.icob{border-color:transparent;background:transparent}
@media print{.profw,.nudge{display:none!important}}
.top nav{flex-wrap:nowrap}
.top nav a{white-space:nowrap}
@media (max-width:440px){.top{padding:8px 12px;gap:6px}.brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.top nav{gap:0}.top nav a{padding:9px 8px}}
.profw{margin-inline-start:auto}
body.qv .top{width:100%}

.scan-miss{font-size:14px;line-height:1.5;margin:0 0 10px;max-height:4.6em;overflow:hidden;color:#e6f6f9;text-shadow:0 1px 2px #000}.scan-miss b{font-weight:700;margin-inline-end:4px}.scan-miss span{display:inline-block;background:rgba(6,24,27,.62);border-radius:999px;padding:0 9px;margin:2px 0 2px 4px}
.who span{display:flex;flex-wrap:wrap;gap:5px}.who .nm{font-style:normal;background:#fff;border:1px solid var(--line,#dfe6ef);border-radius:999px;padding:1px 10px;color:var(--ink);font-size:15px;line-height:1.6}.who .nm.num{min-width:2.2em;text-align:center;font-variant-numeric:tabular-nums}

/* ---------- projector view (#/live, live.js) — v14: the question is the main area, the class is a narrow panel on the left edge ---------- */
body.lv .top,body.lv .site-foot,body.lv .ktsync-note{display:none}
body.lv main{max-width:none;width:100%;padding:0;margin:0;min-height:100vh;display:flex;flex-direction:column}
.lv-solo{padding:0 2.2vw 2vh}
.lv-wrap{--sw:clamp(190px,15.5vw,320px);display:grid;grid-template-columns:minmax(0,1fr) var(--sw);height:100vh;overflow:hidden}
.lv-wrap.wide{--sw:clamp(240px,21vw,420px)}
.lv-mainc{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0 2.6vw 2.4vh 2vw;overflow:hidden}
.lv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1.2vh 0 .8vh;font-size:clamp(15px,1.3vw,22px);color:var(--soft)}
.lv-where{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-tools{display:flex;align-items:center;gap:8px;flex:none}
.lv-tools .btn{min-height:42px;padding:6px 14px}
.lv-conn{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--soft)}
.lv-conn.bad{color:#9a3412;font-weight:700}
.lv-wait{max-width:860px;margin:6vh auto;text-align:center;padding:4vh 4vw}
.lv-wait h1{font-size:clamp(28px,3.4vw,48px);margin:0 0 .4em}
.lv-lead{font-size:clamp(20px,2.2vw,32px);line-height:1.45}
.lv-lead .ico{vertical-align:-3px}
.lv-small{color:var(--soft);font-size:clamp(15px,1.4vw,20px)}
.lv-code{font-size:clamp(90px,16vw,220px);font-weight:700;letter-spacing:.12em;color:var(--teal2);line-height:1.05;margin:2vh 0;font-variant-numeric:tabular-nums}
.lv-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:2vh;padding-bottom:2vh}
.lv-qt{font-size:clamp(26px,min(3.5vw,6.4vh),74px);line-height:1.22;margin:0 0 3vh;color:var(--ink)}
.lv-qb{display:grid;grid-template-columns:minmax(0,1fr);gap:2.2vw;align-items:center}
.lv-q.has-img .lv-qb{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.lv-img{width:100%;max-height:52vh;object-fit:contain;border-radius:16px;background:#fff}
.lv-opts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2vh 1.8vw}
.lv-q.has-img .lv-opts{grid-template-columns:minmax(0,1fr);gap:1.6vh}
.lv-opts li{display:flex;align-items:center;gap:clamp(10px,1vw,20px);font-weight:500;font-size:clamp(19px,min(2.4vw,4.4vh),50px);line-height:1.25;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.3vh 1.2vw 1.3vh .9vw;min-width:0}
.lv-opts li>span:last-child{min-width:0;overflow-wrap:anywhere}
.lv-opts .L{flex:none;width:clamp(38px,min(3.6vw,6.6vh),84px);height:clamp(38px,min(3.6vw,6.6vh),84px);border-radius:12px;background:var(--sky);display:grid;place-items:center;font-weight:700}
.lv-opts li.right{border-color:var(--ok);border-width:2.5px}
.lv-opts li.right .L{background:var(--ok);color:#fff}
.lv-q.compact .lv-qt{font-size:clamp(22px,min(2.3vw,4.2vh),46px);margin-bottom:1.6vh}
.lv-q.compact .lv-opts{gap:1.2vh 1.4vw}
.lv-q.compact .lv-opts li{font-size:clamp(16px,min(1.6vw,3vh),32px);padding:.8vh 1vw .8vh .7vw}
.lv-q.compact .lv-opts .L{width:clamp(30px,min(2.5vw,4.6vh),56px);height:clamp(30px,min(2.5vw,4.6vh),56px)}
.lv-body.done{justify-content:flex-start;padding-top:1vh}
.lv-body.done .lv-res{display:grid;gap:1.2vh}
.lv-res .lv-count{margin:0;font-size:clamp(24px,min(2.6vw,4.6vh),52px);font-weight:700;color:#2f7565;font-variant-numeric:tabular-nums}
.lv-body.done .lv-res{display:grid;gap:1vh}
.lv-bars .bar{grid-template-columns:clamp(42px,3.6vw,60px) 1fr clamp(90px,8vw,140px)}
.lv-bars .bar .L{width:clamp(40px,3.4vw,56px);height:clamp(40px,3.4vw,56px);font-size:clamp(20px,2vw,32px)}
.lv-bars .bar .track{height:clamp(30px,4.2vh,52px)}
.lv-bars .bar .n{font-size:clamp(18px,1.8vw,30px)}
@keyframes lvpop{0%{transform:scale(.92);background:var(--mint2)}55%{transform:scale(1.06)}100%{transform:scale(1)}}
/* the class panel (left edge in RTL; secondary) */
.lv-side{display:flex;flex-direction:column;gap:1vh;min-height:0;height:100vh;box-sizing:border-box;padding:1.4vh clamp(8px,.8vw,16px);background:var(--sky2);border-inline-start:1px solid var(--line)}
.lv-sh{flex:none;display:flex;flex-direction:column;gap:2px}
.lv-side .lv-count{margin:0;font-size:clamp(20px,min(1.8vw,3.4vh),38px);font-weight:700;color:#2f7565;font-variant-numeric:tabular-nums;line-height:1.15}
.lv-side .lv-state{margin:0;font-size:clamp(13px,min(1vw,1.9vh),20px);color:var(--soft)}
.lv-grid{list-style:none;margin:0;padding:0;flex:1 1 auto;min-height:0;max-height:calc(var(--r) * 6vh);display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));grid-template-rows:repeat(var(--r),minmax(0,1fr));grid-auto-flow:column;gap:clamp(3px,.5vh,7px) clamp(4px,.4vw,8px)}
.lv-t{display:flex;align-items:center;gap:5px;min-width:0;min-height:0;padding:0 clamp(6px,.55vw,12px);background:#fff;border:1.5px solid #dfe6ef;border-radius:8px;color:var(--ink);font-weight:500;font-size:clamp(12px,min(calc((100vh - 120px) / var(--r) * .6),1.12vw),26px);line-height:1.1;overflow:hidden;transition:background .25s,color .25s,border-color .25s}
.lv-grid.c1 .lv-t{font-size:clamp(12px,min(calc((100vh - 120px) / var(--r) * .62),1.4vw),28px)}
.lv-n{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-grid.nums .lv-t{justify-content:center;font-weight:700;font-variant-numeric:tabular-nums}
.lv-grid.nums .lv-n{flex:0 1 auto}
.lv-k{flex:none;font-size:.72em;color:var(--soft);font-variant-numeric:tabular-nums}
.lv-grid.c3 .lv-k,.lv-t.on .lv-k{display:none}
.lv-t.on{background:#2f7565;border-color:#2f7565;color:#fff}
.lv-c{flex:none;display:grid;place-items:center;width:1.1em;height:1.1em;border-radius:50%;background:#fff;color:#2f7565}
.lv-c .ico{width:78%;height:78%}
.lv-t.pop{animation:lvpop .5s ease-out}
@media (prefers-reduced-motion:reduce){.lv-t{transition:none}.lv-t.pop{animation:none}}
@media (max-width:700px){.lv-wrap{grid-template-columns:1fr;height:auto;overflow:visible}.lv-side{height:auto;border:0}.lv-grid{max-height:none;grid-auto-rows:34px;grid-template-rows:none;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.lv-q.has-img .lv-qb,.lv-opts{grid-template-columns:1fr}.lv-tools .icob{display:none}}
/* phone: the "מקרן" button, the scan-screen badge and the code dialog */
.lvb{gap:6px}.lvb.on{color:var(--ok)}
.lvb-t{font-size:15px}
@media (max-width:420px){.lvb-t{display:none}}
.scan-live{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;background:rgba(6,24,27,.55);color:#fff;border-radius:12px;padding:4px 10px}
.scan-live.on{background:rgba(22,120,80,.85)}
.ldlg{position:fixed;inset:0;z-index:60;background:rgba(18,52,59,.45);display:grid;place-items:center;padding:16px}
.ldlg-in{position:relative;max-width:460px;width:100%;margin:0}
.ldlg-in h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:22px}
.ldlg-x{position:absolute;top:8px;left:8px;width:44px;height:44px;border:0;background:transparent;color:var(--soft);cursor:pointer;border-radius:10px;display:grid;place-items:center}
.lstat{color:var(--soft)}.lstat.on{color:var(--ok);font-weight:500}
.lstat .ico{vertical-align:-3px}
.lform label{display:block;font-weight:500;margin-bottom:6px}
.lform input{font:inherit;font-size:28px;letter-spacing:.2em;width:7.5em;text-align:center;padding:6px 10px;border:1.5px solid var(--line);border-radius:12px;min-height:48px}
.lerr{color:#9a3412;min-height:1.4em;margin:8px 0 0}

/* grade headings (Nov 9) */
.grh{margin:20px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--sky2);color:var(--teal2)}
.grsec:first-of-type .grh{margin-top:8px}
.srch{position:relative;display:flex;align-items:center;margin:12px 0 4px;max-width:560px}
.srch input{font:inherit;font-size:17px;width:100%;min-height:48px;padding:8px 44px;border:1.5px solid #9cc7d2;border-radius:999px;background:#fff;color:var(--ink,#1d2b36);-webkit-appearance:none;appearance:none}
.srch input::-webkit-search-cancel-button{display:none}
.srch input:focus-visible{outline:3px solid var(--teal2);outline-offset:2px}
.srch .srico{position:absolute;inset-inline-start:14px;color:var(--teal2);pointer-events:none}
.srch .srx{position:absolute;inset-inline-end:4px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--teal2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.srch .srx[hidden]{display:none}
.srch .srx:focus-visible{outline:3px solid var(--teal2)}
.srch .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.srn{margin:10px 0}
.grsec[hidden],article.set[hidden]{display:none}

/* play flow + class queue (Nov 9) */
.back{margin:4px 0 0}
.meta{color:var(--soft);margin:0 0 14px}
.ctiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:6px 0 16px}
.ctile{font:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:68px;padding:10px 16px;border-radius:16px;border:2px solid #9cc7d2;background:#fff;color:var(--ink);cursor:pointer;text-align:start;text-decoration:none}
.ctile b{font-size:19px;color:var(--teal2)}
.ctile span{font-size:15px;color:var(--soft)}
.ctile:hover{border-color:var(--teal)}
.ctile.on{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 3px var(--mint)}
.ctile.on b,.ctile.on span{color:#fff}
.ctile.add{border-style:dashed;flex-direction:row;align-items:center;gap:8px;color:var(--teal2);font-weight:500}
.ctile.add span{color:var(--teal2);font-size:16px}
.playrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn.playb{min-width:180px;font-size:22px;letter-spacing:.04em}
.btn.playb .ico{width:24px;height:24px;fill:currentColor}
.btn .ico{flex:none}
.inq{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:500}
.nxt{color:var(--ink);font-size:17px}
.scrok{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:500;margin:0 0 14px}
.scrhow{border:2px solid var(--sky)}
.scrhow h2{display:flex;align-items:center;gap:8px;color:var(--teal2)}
.steps{margin:4px 0 10px;padding-inline-start:24px;font-size:17px}
.steps li{margin:4px 0}
.scrhow .lform input{width:6.5em}
.scrhow .stat{color:var(--soft);margin:10px 0 0}
.qlist,.qlib{list-style:none;margin:12px 0 0;padding:0}
.qrow,.qlib li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.qrow:first-child,.qlib li:first-child{border-top:0}
.qrow .qn{flex:none;width:34px;height:34px;border-radius:50%;background:var(--sky2);color:var(--teal2);font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.qrow.next .qn{background:var(--teal);color:#fff}
.qt,.qlib li>div{flex:1;min-width:0;display:flex;flex-direction:column}
.qt b,.qlib li>div b{font-size:17.5px}
.qt span,.qlib li>div span{color:var(--soft);font-size:15px}
.qbtns{display:inline-flex;gap:6px;flex:none}
.qlib li .btn{flex:none}
#qtt,#nut{display:flex;align-items:center;gap:8px}
.qhint{display:flex;align-items:center;gap:8px;color:var(--soft);margin:-4px 0 14px;font-size:15.5px}
.qhint .ico{color:var(--teal2)}
@media (max-width:520px){
 .qrow{flex-wrap:wrap}.qrow .qbtns{width:100%;justify-content:flex-end}
 .nextup .qlib li{flex-wrap:wrap}.nextup .qbtns{width:100%}.nextup .qbtns .btn{flex:1}
 .ctiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .btn.playb{flex:1}
}
.scrhow .lerr{margin:6px 0 0;min-height:0}.scrhow .lerr:empty{display:none}
.scrhow .stat{font-size:15.5px}
.btn .ico polygon{fill:currentColor}

/* ---- Nov 10: one classroom-screen flow (same account = automatic, code = fallback), phone remote, teach panel ---- */
.top nav a.navscr{display:none}
html.bigscr .top nav a.navscr{display:inline-flex}
.btn.scrst{gap:8px;font-weight:500}
.btn.scrst .ico{flex:none}
.btn.scrst.on{color:var(--ok);border-color:var(--ok);background:#eef8f2}
.btn.scrst.wait{color:#8a5300;border-color:#e3b778;background:#fff8ec}
.teach{border:2px solid var(--sky)}
.teach-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.teach-h h2{margin:0;font-size:22px}
.nextset{border-top:1px solid var(--line);padding-top:12px}
.nextset h3{margin:8px 0 2px;font-size:23px;color:var(--ink)}
.nextset .meta{margin:0 0 10px;color:var(--soft)}
.nextnone{margin:4px 0 0}
.follow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:var(--mint);border:2px solid var(--mint2);color:var(--ink);text-decoration:none;margin:8px 0 12px}
.follow .ico{color:var(--teal2)}
.follow .go{margin-inline-start:auto;font-weight:700;color:var(--teal2)}
.scrline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 14px;color:var(--soft)}
.lcode{margin-top:12px;border-top:1px solid var(--line);padding-top:6px}
.lcode summary{cursor:pointer;font-weight:500;color:var(--teal2);display:flex;align-items:center;gap:6px;min-height:44px}
.lcode .lform{margin-top:6px}
.lcode input{width:6.5em;font-size:22px;letter-spacing:.15em;text-align:center}
.lvb.scrst span{font-size:15px}
.btn.live{background:#c62828;border-color:#c62828;color:#fff;font-weight:700;gap:8px}
.btn.live:hover{background:#a51f1f}
.lv-okbig{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ok);margin-bottom:1vh}
.lv-okbig h1{color:var(--ink);margin:0}
.lv-ready{border:3px solid var(--mint2)}
.lv-row{justify-content:center;gap:12px;margin:2vh 0}
.lv-codebox{display:flex;align-items:center;justify-content:center;gap:4vw;flex-wrap:wrap}
.lv-codebox .lv-code{margin:1vh 0}
.lv-qr svg{width:clamp(150px,17vw,250px);height:auto;display:block;background:#fff;border-radius:12px}
.lv-swap{margin:4vh 0 0}
.lv-swap .btn{color:var(--soft);font-size:clamp(14px,1.2vw,18px);gap:6px}
.lv-small .btn{vertical-align:middle;gap:6px}
.lv-pick{max-width:1100px}
.lv-pick h1{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ink)}
.lv-pick h1 .ico{color:#c62828}
.lv-cls{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:3vh 0}
.lv-ctile{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 20px;border-radius:18px;border:2px solid #9cc7d2;background:#fff;color:var(--ink);cursor:pointer;text-align:start;min-height:96px}
.lv-ctile b{font-size:clamp(22px,2vw,30px);color:var(--teal2)}
.lv-ctile span{font-size:clamp(15px,1.25vw,19px);color:var(--soft)}
.lv-ctile:hover:not([disabled]){border-color:var(--teal);box-shadow:0 0 0 3px var(--mint)}
.lv-ctile[disabled]{opacity:.55;cursor:default}
.lv-void{display:inline-block;background:#56666b;color:#fff;border-radius:999px;padding:1px 12px;font-size:.9em;margin-inline-start:8px}
.lv-hint{display:flex;align-items:center;gap:8px;color:var(--soft);font-size:clamp(14px,1.2vw,18px);margin:1.4vh 0 0}
.lv-wrap.voided .lv-q{opacity:.5;text-decoration:line-through;text-decoration-thickness:2px}
@media (max-width:420px){.teach-h .btn.scrst{width:100%;justify-content:center}.follow .go{margin-inline-start:0}}
.lv-codebox{flex-wrap:nowrap}
.lv-codebox .lv-code{font-size:clamp(80px,11vw,170px)}
.lv-pair .lv-lead{font-size:clamp(18px,1.8vw,28px)}
.lstat{display:flex;align-items:center;gap:6px}

/* ---- Nov 10: void a question, leave students out of a question ---- */
.qtools{margin:6px 0 0;display:flex}
.btn.voidb{color:var(--soft);gap:6px;min-height:40px;font-size:15.5px;padding:6px 12px}
.voidbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eceff0;border:2px solid #9aa9ad;color:#33464b;border-radius:14px;padding:10px 14px;margin:10px 0}
.voidbar > .ico{color:#56666b;flex:none}
.voidbar > span{flex:1 1 0;min-width:0}
.voidbar .btn{margin-inline-start:auto;gap:6px}
.qbody.voided .qtext,.qbody.voided .opts,.qbody.voided .qimg{opacity:.45}
.qbody.voided .qtext{text-decoration:line-through;text-decoration-thickness:2px}
section.card.voided{background:#f1f3f4}
section.card.voided .bars,section.card.voided .stat{opacity:.55;filter:grayscale(1)}
.vdtag{display:inline-flex;align-items:center;gap:4px;background:#56666b;color:#fff;border-radius:999px;padding:1px 10px;font-size:14px;font-weight:500;vertical-align:middle;white-space:nowrap}
.vdtag .ico{width:15px;height:15px}
tr.vdrow td,tr.vdrow td a{color:#6f8085}
tr.vdrow td a{text-decoration:line-through}
.exrow b{color:var(--soft)}
.exrow .nm{opacity:.65}
body.board .qtools,body.board .voidbar .btn{display:none}
.scan-miss{max-height:36vh;overflow-y:auto;pointer-events:auto}
.scan-miss .mchip{font:inherit;font-size:15px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.55);background:rgba(6,24,27,.62);color:#fff;border-radius:999px;padding:3px 12px;margin:3px 0 3px 5px;min-height:36px;cursor:pointer;text-shadow:none}
.scan-miss .mchip.off{background:rgba(120,130,133,.6);border-style:dashed}
.scan-miss .mchip small{font-size:12px;text-decoration:none;opacity:.9}
.scan-miss .mex,.scan-miss .mtip{display:block;margin-top:4px;background:none;padding:0}
.scan-miss .mtip{font-size:13px;opacity:.8}
.mmenu{background:#fff;color:var(--ink);border-radius:16px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.mmenu b{width:100%;font-size:17px}
.mmenu .btn{gap:6px;min-height:44px;flex:1 1 auto;width:auto}
.scan-bottom .mmenu .btn{width:auto;background:#fff;border-color:#9cc7d2;color:var(--ink)}
.scan-bottom .mmenu .btn.ghost{border-color:transparent}

/* ---------- הסטים שלי · מאגר המורים · העורך (mine.js, Nov 10) ---------- */
article.set[data-sid],article.set[data-go]{cursor:pointer}
article.set[data-sid]:hover,article.set[data-go]:hover{border-color:#9cc7d2;box-shadow:0 6px 22px rgba(18,52,59,.09)}
.grh-a{font-size:16px;font-weight:500;margin-inline-start:10px}
.mn-tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:6px 0 16px}
.mn-tile{font:inherit;display:flex;align-items:center;gap:14px;min-height:84px;padding:14px 18px;border-radius:18px;border:2px solid #9cc7d2;background:#fff;color:var(--teal2);cursor:pointer;text-align:start;text-decoration:none;box-shadow:0 4px 18px rgba(18,52,59,.05)}
.mn-tile:hover{border-color:var(--teal);background:var(--sky2)}
.mn-tile[aria-expanded=true]{border-color:var(--teal);background:var(--sky2)}
.mn-tile .ico{flex:none;width:30px;height:30px}
.mn-tile span{display:flex;flex-direction:column;gap:2px}
.mn-tile b{font-size:19px;color:var(--teal2)}
.mn-tile small{font-size:15px;color:var(--soft)}
.mn-tile.wide{max-width:420px}
.mn-imp textarea,.mn-key{width:100%;font:15px/1.45 ui-monospace,Menlo,Consolas,monospace;padding:12px;border:1.5px solid #9cc7d2;border-radius:14px;background:#fbfdfd;color:var(--ink);resize:vertical}
.mn-key{min-height:48px;margin:4px 0 10px;direction:ltr;text-align:left}
.mn-imp .row{margin-top:10px}
.mn-err{background:#fff4ef;border:1.5px solid #e2a68f;color:#7a2a12;border-radius:14px;padding:10px 14px;margin:10px 0}
.mn-err ul{margin:4px 0 0;padding-inline-start:20px}
.mn-empty p{margin:0}
.mn-set{position:relative;display:flex;flex-direction:column}
.mn-set .meta{margin-bottom:10px}
.mn-acts{margin-top:auto}
.mn-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}
.mn-st{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:500;color:var(--ok);background:var(--mint);border-radius:999px;padding:2px 10px;vertical-align:middle}
.mn-st.off{color:#7a4b12;background:#fdf0d9}
.mn-st .ico{width:16px;height:16px}
.mn-by{margin:-6px 0 10px;color:var(--soft);font-size:15px}
.mn-hidden{opacity:.7;border-style:dashed}
.mn-sw{font:inherit;display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:6px 0;min-height:44px;border:0;background:none;color:var(--ink);font-size:16px;font-weight:500;cursor:pointer;align-self:flex-start}
.mn-sw .knob{position:relative;width:48px;height:28px;border-radius:999px;background:#c5d6da;transition:background .15s;flex:none}
.mn-sw .knob::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:inset-inline-start .15s}
.mn-sw[aria-checked=true] .knob{background:var(--ok)}
.mn-sw[aria-checked=true] .knob::after{inset-inline-start:23px}
.mn-sw:disabled{opacity:.6}
.mn-tab h2{display:flex;align-items:center;gap:10px}
.mn-tab .row{gap:8px}
.mn-dev{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}
.mn-name{color:var(--soft);font-size:15.5px}
.mn-login{max-width:520px}
.mn-login .btn{margin:6px 0}
.hint{color:var(--soft);font-size:15px}
.opt{color:var(--soft);font-weight:400;font-size:14.5px}
.mn-2{display:grid;gap:0 14px;grid-template-columns:2fr 1fr}
.card .field input,.card .field select,.mn-q textarea,.mn-q input[type=text]{font:inherit;font-size:17px;min-height:48px;padding:10px 12px;border:1.5px solid #9cc7d2;border-radius:12px;background:#fff;color:var(--ink);width:100%}
.mn-q textarea{resize:vertical;line-height:1.4}
.field label{font-weight:500}
.mn-q{position:relative;background:#fff;padding:14px 16px}
.mn-q legend{font-weight:700;font-size:18px;color:var(--teal2);padding:0 6px}
.mn-qtools{position:absolute;top:6px;inset-inline-end:10px;display:flex;gap:6px}
.mn-ol{margin:12px 0 4px;color:var(--soft);font-size:15px}
.mn-opt{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;margin:6px 0;padding:4px;border-radius:14px;border:2px solid transparent}
.mn-opt.ok{border-color:var(--ok);background:#eef8f2}
.mn-L{font:inherit;width:48px;height:48px;border-radius:12px;border:2px solid #9cc7d2;background:var(--sky2);color:var(--teal2);font-size:20px;font-weight:700;cursor:pointer;display:grid;place-items:center}
.mn-L:hover{border-color:var(--teal)}
.mn-opt.ok .mn-L{background:var(--ok);border-color:var(--ok);color:#fff}
.mn-okl{font-weight:700;color:var(--ok);font-size:15px;padding-inline-end:6px}
.mn-img{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.mn-img img{display:block;max-width:220px;max-height:140px;border-radius:12px;border:1px solid var(--line);background:#fff}
.mn-steps{padding-inline-start:36px}
.mn-steps li{margin:8px 0}
.mn-code{background:#12343b;color:#e9f6f8;border-radius:14px;padding:14px;overflow-x:auto;font:14px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre;text-align:left;margin:10px 0}
.mn-rules li{margin:5px 0}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--sky2);border-radius:6px;padding:1px 5px}
.mn-code code,pre code{background:none;padding:0}
.mn-pact{margin:10px 0 16px}
.mn-pql{list-style:none;padding:0;margin:0}
.mn-pq img{display:block;max-width:100%;max-height:260px;border-radius:12px;border:1px solid var(--line);margin:6px 0 10px}
.mn-pqq{font-size:18px;margin:0 0 8px}
.mn-pqo{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.mn-pqo li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;border:1.5px solid var(--line)}
.mn-pqo li.ok{border-color:var(--ok);background:#eef8f2;font-weight:500}
.mn-pqo .L{flex:none;width:34px;height:34px;border-radius:10px;background:var(--sky2);display:grid;place-items:center;font-weight:700;color:var(--teal2)}
.mn-pqo li.ok .L{background:var(--ok);color:#fff}
@media (max-width:560px){.mn-2{grid-template-columns:1fr}.mn-tiles{grid-template-columns:1fr}.mn-tile{min-height:72px}.mn-tab .row .btn{flex:1 1 100%}.mn-pact .btn{width:100%}}

/* Nov 10 17:39: header LIVE button + menu, and the always-visible exit on the class screen */
.top nav{align-items:center}
.navlive{font:inherit;font-weight:700;font-size:15.5px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;margin-inline-start:6px;border-radius:12px;border:0;background:#c62828;color:#fff;cursor:pointer;letter-spacing:.02em}
.navlive:hover{background:#a51f1f}
.navlive .ico{width:20px;height:20px}
@media (max-width:440px){.navlive{padding:6px 10px;margin-inline-start:2px;font-size:14.5px}.navlive .ico{width:18px;height:18px}}
.lmenu{max-width:560px}
.lmtiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
@media (max-width:480px){.lmtiles{grid-template-columns:1fr}}
.lmtile{font:inherit;text-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;min-height:140px}
.lmtile:hover{border-color:var(--teal)}
.lmtile .ico{color:var(--teal);margin-bottom:4px}
.lmtile b{font-size:20px}
.lmtile span{color:var(--soft);font-size:15.5px;line-height:1.4}
.lmtile em{font-style:normal;margin-top:auto;font-size:14px;font-weight:500;color:var(--teal2);background:var(--sky2);border-radius:999px;padding:2px 10px}
.lmtile.rec{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal) inset}
.btn.lvexit{min-height:42px;padding:6px 14px;border-color:var(--ink);color:var(--ink);background:#fff;font-weight:500}
.btn.lvexit:hover{background:var(--bg)}
@media (max-width:700px){.btn.lvexit span{font-size:15px}}

/* ---- סדין (results sheet, Nov 10): students × questions, letter per cell, light green right / light pink wrong ---- */
main.wide{max-width:1320px}
.shback{margin:4px 0 0}
.shtop{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.shtop h1{margin:6px 0 2px}
.shtop .stat{margin:0;color:var(--soft)}
.shtop .stat b{color:var(--ink)}
.shact .btn{min-height:44px}
.shcls{margin:4px 0 10px}
.shpick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.shpick .chip small{font-weight:400;opacity:.8;margin-inline-start:4px}
.shinfo{position:relative;padding-inline-end:52px}
.shinfo .stat{margin:0 0 4px;color:var(--soft);font-weight:500}
.shinfo .shq{font-size:19px;font-weight:500;margin:0 0 8px}
.shopts{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.shopts li{background:var(--bg);border-radius:10px;padding:6px 10px}
.shopts li b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#fff;border:1px solid var(--line);margin-inline-end:6px}
.shopts li.right{background:#dcf3e3;font-weight:500}
.shopts li.right b{border-color:#5fb39a}
.shx{position:absolute;top:8px;left:8px}
.shwrap{overflow:auto;max-height:calc(100vh - 170px);min-height:220px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px rgba(18,52,59,.05);-webkit-overflow-scrolling:touch}
table.sheet{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:16px}
table.sheet th,table.sheet td{border-bottom:1px solid #e3eef1;border-inline-start:1px solid #edf4f6;padding:0;text-align:center;height:44px}
table.sheet thead th{position:sticky;top:0;z-index:3;background:#f3f9fa;color:var(--soft);font-weight:500;font-size:15px;border-bottom:2px solid var(--line)}
table.sheet thead tr.r2 th{z-index:3}
table.sheet .nmc{position:sticky;inset-inline-start:0;z-index:2;background:#fff;text-align:start;padding:0 12px;min-width:118px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--ink);border-inline-end:2px solid var(--line)}
table.sheet thead .nmc.corner{z-index:5;background:#f3f9fa;color:var(--soft)}
table.sheet tfoot th,table.sheet tfoot td{position:sticky;bottom:0;z-index:2;background:#f3f9fa;border-top:2px solid var(--line);font-weight:500;color:var(--ink)}
table.sheet tfoot .nmc{z-index:4;background:#f3f9fa}
table.sheet .qh button{font:inherit;font-weight:700;color:var(--teal2);background:transparent;border:0;width:100%;min-width:48px;height:44px;cursor:pointer;border-radius:8px}
table.sheet .qh button:hover{background:#e3f2f6}
table.sheet .qh.sel{background:#d7ecf1}
table.sheet .setth{padding:0;max-width:220px}
table.sheet .setb{font:inherit;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:6px;width:100%;min-width:112px;max-width:220px;min-height:52px;padding:4px 10px;background:transparent;border:0;cursor:pointer;text-align:start;color:var(--ink)}
table.sheet .setb:hover{background:#e3f2f6}
table.sheet .setb .st{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.sheet .setb .sd{grid-row:2;font-size:13.5px;color:var(--soft);white-space:nowrap}
table.sheet .setb .ico{grid-row:1/3;grid-column:2;color:var(--teal);transition:transform .15s}
table.sheet .setth.open .setb .ico{transform:rotate(180deg)}
table.sheet .gs{border-inline-start:2px solid #c9dee4}
table.sheet td.c{min-width:48px;width:48px;font-weight:700;font-size:19px}
table.sheet td.c.ok{background:#dcf3e3;color:#17603a}
table.sheet td.c.no{background:#fde2e2;color:#9b2c2c}
table.sheet td.c.e{background:#f6f8f9;color:#a3b2b6;font-weight:400}
table.sheet td.c.x{background:repeating-linear-gradient(135deg,#eef2f3 0 6px,#e2e8ea 6px 12px)}
table.sheet .sc,table.sheet .tot,table.sheet .sch{min-width:76px;padding:0 8px;white-space:nowrap}
table.sheet td.sc b,table.sheet td.tot b{display:block;font-size:16px;line-height:1.1}
table.sheet td.sc small,table.sheet td.tot small{display:block;font-size:13.5px;color:var(--soft);line-height:1.2}
table.sheet td.tot{background:#f3f9fa;font-weight:500}
table.sheet tbody td.tot b{font-size:17px}
table.sheet td.qp{font-size:15px;color:var(--ink)}
table.sheet .dash{color:#a3b2b6}
table.sheet tr.grp th{position:sticky;inset-inline-start:0;text-align:start;padding:6px 12px;height:auto;background:#f7fafb;color:var(--soft);font-weight:500;font-size:15px}
table.sheet tr.dim td,table.sheet tr.dim th{opacity:.6}
table.sheet tr.dim .nmc small{display:inline-block;margin-inline-start:8px;font-size:13px;font-weight:400;color:var(--soft)}
table.sheet tbody tr:hover th.nmc{background:#f3f9fa}
.shleg{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 2px 4px;color:var(--soft);font-size:15px}
.shleg span{display:inline-flex;align-items:center;gap:6px}
.shleg i.c{font-style:normal;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;font-weight:700}
.shleg i.ok{background:#dcf3e3;color:#17603a}.shleg i.no{background:#fde2e2;color:#9b2c2c}.shleg i.e{background:#f6f8f9;color:#a3b2b6}.shleg i.x{background:repeating-linear-gradient(135deg,#eef2f3 0 5px,#e2e8ea 5px 10px)}
.shnote{margin-top:6px}
.sumhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sumhead h2{margin:0}
.sumset{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.sumset h3{margin:0}
.sumset .btn{min-height:42px;padding:6px 14px}
@media (max-width:480px){table.sheet .nmc{min-width:96px;max-width:120px;padding:0 8px}table.sheet td.c{min-width:44px;width:44px}.shwrap{max-height:calc(100vh - 140px)}.shtop .shact{width:100%}.shtop .shact .btn{flex:1}}
@media print{.shwrap{max-height:none;overflow:visible;border:0;box-shadow:none}table.sheet thead th,table.sheet .nmc,table.sheet tfoot td,table.sheet tfoot th{position:static}.shpick,.shact,.shback,.shinfo,.top,.site-foot{display:none!important}}
table.sheet thead th{vertical-align:middle}

/* ---- Nov 10 17:43 (her note: one hue everywhere is no fun): teal stays the base; warm coral for "go" buttons, a colour per heading, a colour per subject ---- */
:root{--coral:#c8451f;--coral2:#a8391a;--coralbg:#fde8dd;--amber:#9a6400;--amberbg:#fbefd6;--blue:#1f5f9e;--bluebg:#e1edf9;--leaf:#2e6b31;--leafbg:#e2f2e3}
.btn.primary.go,.btn.big.primary.playb{background:var(--coral);border-color:var(--coral);color:#fff}
.btn.primary.go:hover,.btn.big.primary.playb:hover{background:var(--coral2);border-color:var(--coral2)}
.grh{display:flex;align-items:center;gap:10px;border-bottom-width:3px}
.grh::before{content:"";flex:none;width:12px;height:26px;border-radius:6px;background:currentColor}
.grsec.g-z .grh{color:#14555a;border-bottom-color:#bfe0e6}
.grsec.g-h .grh{color:var(--coral2);border-bottom-color:#f6cdb9}
.grsec.g-m .grh{color:var(--amber);border-bottom-color:#efd9a6}
.grsec.g-z .card.set{border-top:5px solid #5fb3bd}
.grsec.g-h .card.set{border-top:5px solid #e58a63}
.grsec.g-m .card.set{border-top:5px solid #d9a63a}
.grsec.g-h .card.set .pill{background:var(--coralbg);color:var(--coral2)}
.grsec.g-m .card.set .pill{background:var(--amberbg);color:var(--amber)}
.setchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.subj{display:inline-block;border-radius:999px;padding:2px 10px;font-size:14px;font-weight:500}
.subj.s-chem{background:var(--amberbg);color:var(--amber)}
.subj.s-phys{background:var(--bluebg);color:var(--blue)}
.subj.s-bio{background:var(--leafbg);color:var(--leaf)}
.subj.s-tech{background:#f0e9df;color:#6b5536}
.teach{border-color:#f0b79e;border-top:5px solid var(--coral)}
.tools a{border-top:4px solid var(--sky)}
.tools a:nth-child(2){border-top-color:#e58a63}.tools a:nth-child(3){border-top-color:#d9a63a}.tools a:nth-child(4){border-top-color:#7fa8d6}.tools a:nth-child(5){border-top-color:#7cbf80}
/* projector: the picture in its own column beside the question (RTL: left), whole picture fitted; a portrait picture fills the column's full height */
.lv-body>.lv-q.tall{flex:1;min-height:0}
.lv-q.tall{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:2.4vw;align-items:center;min-height:0}
.lv-q.tall .lv-qcol{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0}
.lv-q.tall .lv-qt{font-size:clamp(24px,min(3vw,6vh),68px);margin-bottom:2.6vh}
.lv-q.tall .lv-opts{grid-template-columns:minmax(0,1fr);gap:1.6vh}
.lv-fig{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#fff;min-height:0;border:1.5px solid var(--line);box-shadow:0 8px 28px rgba(18,52,59,.10)}
.lv-figbg{display:none}
.lv-fig .lv-img{position:relative;display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:0;background:transparent}
.lv-q.tall.port{align-items:stretch}
.lv-q.tall.port .lv-fig{display:grid;place-items:center;background:#eef5f7}
.lv-q.tall.port .lv-figbg{display:block;position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(22px) saturate(.85);opacity:.35}
.lv-q.tall.port .lv-fig .lv-img{height:100%;max-height:none}
.lv-wrap.voided .lv-fig{opacity:.5}
@media (max-width:700px){.lv-q.tall{grid-template-columns:1fr}.lv-fig{max-height:46vh}.lv-fig .lv-img{height:auto;max-height:46vh}}

/* class archive + delete (Nov 10 18:30) */
.cmore{position:relative;display:inline-flex}
.cmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(18,52,59,.18);padding:6px}
.cmenu .pm-i{gap:10px}
.pm-i.pm-del,.btn.danger{color:#b42318}
.btn.danger{border-color:#e7b4ae}
.btn.danger:hover{background:#fdf0ee}
.btn.danger.solid{background:#b42318;border-color:#b42318;color:#fff}
.btn.danger.solid:hover{background:#912018}
.pm-box h2{margin:0 0 6px;font-size:22px}
.pm-box p{margin:0 0 6px}
.archs{padding-top:6px;padding-bottom:6px}
.archs summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-weight:700;font-size:19px;color:var(--teal2);list-style:none}
.archs summary::-webkit-details-marker{display:none}
.archs summary>span{flex:1}
.archs summary .ico:last-child{transition:transform .2s}
.archs[open] summary .ico:last-child{transform:rotate(180deg)}
.archs .stat{margin:4px 0 8px}
.arow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.arow>div:first-child{display:flex;flex-direction:column}
.arow b{font-size:18px}
.arow .stat{margin:0}
.utoast{position:fixed;bottom:16px;left:16px;right:16px;z-index:70;max-width:520px;margin:auto;display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:14px;padding:8px 8px 8px 8px;padding-inline-start:16px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:16px}
.utoast span{flex:1}
.utoast .btn{min-height:44px;background:#fff;color:var(--teal2);border-color:#fff;padding:6px 16px}

/* header + question view trim (Nov 10 18:33-18:35): LIVE pinned to the far left, nav links hidden while a question is up, one active-class chip */
.top>.navlive{order:4;margin-inline-start:6px;flex:none}
.top nav{order:2}
.brand{order:1}
body.qv .top nav{display:none}
.clsone{align-items:center}
.clsone .clsb{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.clsone span.clsb{cursor:default}
.clsone .clsb .clsl{font-weight:400;opacity:.85}
.clsone .clsb .ico{width:16px;height:16px}
.clsone .clsb[aria-expanded=true] .ico{transform:rotate(180deg)}
.clsw{display:inline-flex;flex-wrap:wrap;gap:6px}
.clsw[hidden]{display:none}

.clsone .clsb{background:#fff;color:var(--teal2);border-color:var(--line);font-weight:700}
.clsone .clsb .clsl{color:var(--soft);font-weight:400}

/* page background (Nov 10 18:39, her ask): a soft lab illustration BEHIND the page, not a hero. Fixed layer, nothing moves. Hidden on the class screen (live), full screen (board) and the question/scanner screen (projected). */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(243,249,250,.18) 0,rgba(243,249,250,.64) 24%,rgba(243,249,250,.74) 50%,rgba(243,249,250,.64) 76%,rgba(243,249,250,.18) 100%),url(img/bg/lab-wide.webp) center bottom/cover no-repeat}
body{isolation:isolate}
@media(max-width:719px){body::before{background:linear-gradient(180deg,rgba(243,249,250,.35) 0,rgba(243,249,250,.72) 38%,rgba(243,249,250,.72) 70%,rgba(243,249,250,.4) 100%),url(img/bg/lab-phone.webp) center top/cover no-repeat}}
body.lv::before,body.board::before{display:none}
body.qv::before{display:none}
body:has(#scan:not([hidden]))::before{display:none}
@media print{body::before{display:none}}

/* grade tabs (her ask Nov 10 19:05): one grade at a time; while searching, matches from every grade show under small grade labels */
.gtabs{display:flex;gap:4px;padding:4px;margin:14px 0 14px;background:#fff;border:1.5px solid #9cc7d2;border-radius:999px;width:fit-content;max-width:100%}
.gtab{font:inherit;font-weight:500;font-size:16.5px;min-height:44px;padding:6px 18px;border:0;border-radius:999px;background:transparent;color:var(--teal2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.gtab:hover{background:var(--sky2)}
.gtab:focus-visible{outline:3px solid var(--teal2);outline-offset:2px}
.gtn{font-size:13px;font-weight:500;line-height:20px;min-width:24px;padding:0 7px;border-radius:999px;background:var(--sky2);color:var(--teal2);text-align:center}
.gtab.g-h .gtn{background:var(--coralbg);color:var(--coral2)}
.gtab.g-m .gtn{background:var(--amberbg);color:var(--amber)}
.gtab[aria-selected=true]{color:#fff;background:#1d6f75}
.gtab.g-h[aria-selected=true]{background:var(--coral)}
.gtab.g-m[aria-selected=true]{background:var(--amber)}
.gtab[aria-selected=true] .gtn{background:rgba(255,255,255,.22);color:#fff}
#gwrap .grh{display:none}
#gwrap .gmng{margin:-4px 0 10px}
#gwrap.gsearch .gtabs,#gwrap.gsearch .gmng{display:none}
#gwrap.gsearch .grh{display:flex;font-size:18px;margin:16px 0 8px;padding-bottom:4px;border-bottom-width:2px}
#gwrap.gsearch .grh::before{width:8px;height:18px}
#gwrap.gsearch .grsec:first-of-type .grh{margin-top:6px}
@media (max-width:520px){.gtabs{width:100%}.gtab{flex:1;padding:6px 8px;font-size:15.5px;gap:6px}}

/* #/tabhelp — three steps with their buttons (Nov 11) */
.tb-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:14px;max-width:760px}
.tb-step{display:flex;gap:16px;align-items:flex-start;padding:20px 20px 18px;margin:0}
.tb-num{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;font-size:22px;font-weight:700}
.tb-step.done .tb-num{background:var(--ok)}
.tb-step.later .tb-num{background:var(--sky2);color:var(--teal2)}
.tb-body{flex:1;min-width:0}
.tb-body h2{display:flex;align-items:center;gap:10px;margin:6px 0 6px;font-size:21px;color:var(--teal2)}
.tb-body h2 .ico{flex:none;color:var(--teal)}
.tb-body p{margin:0 0 4px;font-size:17px;line-height:1.5}
.tb-body .row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px}
.tb-body q{font-weight:500;color:var(--ink)}
.tb-key{margin:10px 0 0!important;padding:10px 14px;border-radius:12px;background:var(--bg);border:1.5px solid var(--line);font:15.5px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);text-align:left;overflow-wrap:anywhere}
.mn-tab .tb-key{margin:4px 0 12px!important;max-width:620px}
.tb-alt{max-width:760px;margin:16px 0 4px;font-size:16.5px;color:var(--ink)}
.tb-sec{margin:6px 0 18px;color:var(--soft);font-size:15.5px}
.tb-link{font:inherit;background:none;border:0;padding:8px 2px;min-height:40px;color:var(--teal2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tb-link:disabled{opacity:.5}
.tb-adv{max-width:760px;margin-top:18px}
.tb-adv summary{cursor:pointer;font-weight:500;color:var(--teal2);min-height:44px;display:flex;align-items:center;font-size:17px}
.tb-adv pre{white-space:pre-wrap;overflow-wrap:anywhere;direction:rtl;text-align:right;font-size:14.5px;max-height:none}
@media (max-width:520px){.tb-step{gap:12px;padding:16px 14px}.tb-num{width:40px;height:40px;font-size:20px}.tb-body h2{font-size:19px}.tb-body .btn.big{width:100%}}
.tb-wait{margin:0!important;color:var(--soft);font-size:16px!important}

/* סרקוני mascot (Nov 11) */
.brand .brand-m{width:36px;height:36px;flex:none;display:block}
img.mascot{display:block;height:auto;flex:none;user-select:none;-webkit-user-drag:none}
.mn-mascot{display:flex;align-items:center;gap:18px}
.mn-mascot .mascot{width:84px}
.abtop{display:flex;align-items:flex-end;justify-content:flex-start;gap:14px}
.abtop h1{margin-bottom:6px}
.abtop .mascot{width:70px;margin-bottom:-4px}
.pplace .pmascot{width:58px;margin-inline-start:auto;margin-top:-18px;margin-bottom:-6px}
@media (max-width:440px){.brand .brand-m{width:34px;height:34px}.mn-mascot{gap:12px}.mn-mascot .mascot{width:64px}.abtop .mascot{width:58px}}

/* home top: mascot welcome + main tiles (Nov 11 12:13) */
.hwel{display:flex;align-items:center;gap:22px;background:linear-gradient(135deg,var(--sky2),var(--mint));border-radius:22px;padding:14px 26px;margin:6px 0 14px;overflow:hidden}
.hwel-m{width:180px;height:auto;flex:none;margin:0;filter:drop-shadow(0 6px 10px rgba(18,52,59,.14))}
.hwel-x h1{font-size:clamp(34px,4vw,52px);margin:0 0 4px;color:var(--ink)}
.hwel-x p{margin:0;font-size:clamp(19px,1.8vw,24px);font-weight:500;color:var(--teal2);line-height:1.4}
@media (max-width:640px){.hwel{gap:14px;padding:10px 16px}.hwel-m{width:112px;margin:0}}

.htools{grid-template-columns:repeat(4,1fr);margin:0 0 18px}
.htools a{min-height:84px;justify-content:center}
.htools a b{font-size:18px}
@media (max-width:820px){.htools{grid-template-columns:1fr 1fr}}
/* about: how it works, CSS motion (Nov 11) — loops 12 s; reduced motion shows the end state */
.hw .hw-lead{margin:0 0 10px;color:var(--soft);font-size:17px}
.hw-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:center}
.hw-svg{width:100%;height:auto;display:block;background:linear-gradient(180deg,#f3f9fa,#e3f2f6);border-radius:16px;font-family:Rubik,system-ui,sans-serif}
.hw-l{font-size:13px;font-weight:700;fill:#12343b;text-anchor:middle;dominant-baseline:central}
.hw-bl{font-size:15px;font-weight:700;fill:#12343b;text-anchor:middle}
.hw-bn{font-size:13px;font-weight:700;fill:#14555a;text-anchor:middle}
.hw-ct{font-size:15px;font-weight:700;fill:#14555a;text-anchor:middle;direction:rtl}
.hw-cnt{font-size:17px;font-weight:700;fill:#1f7a4f;text-anchor:middle;direction:ltr}
.hw-beam{opacity:0}
.hw-at{font-size:20px;font-weight:700;fill:#fff;text-anchor:middle;dominant-baseline:central}
.hw-ans{transform-box:fill-box;transform-origin:center bottom}
.hw-cam{opacity:0}
.hw-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hw-steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;font-size:17px;line-height:1.45;border:2px solid transparent}
.hw-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--sky2);color:var(--teal2);font-weight:700;display:flex;align-items:center;justify-content:center}
.hw-rot,.hw-ck,.hw-bar,.hw-ph,.hw-sl{transform-box:fill-box;transform-origin:center}
.hw-bar{transform-origin:bottom}
@media (prefers-reduced-motion:no-preference){
.hw-scene{animation:hwScene 12s linear infinite}
.hw-rot{animation:hwRot 12s ease-in-out infinite}
.hw-ph{animation:hwPh 12s ease-out infinite}
.hw-beam{animation:hwBeam 12s linear infinite}
.hw-cam{animation:hwCam 12s linear infinite}
.hw-sl{animation:hwSl 12s linear infinite}
.hw-ans{animation:hwAns 12s ease-out infinite}
#hwcnt{animation:hwCnt 12s linear infinite}
.hw-chart{animation:hwChart 12s linear infinite}
.hw-bar{animation:hwBar 12s ease-out infinite}
#hwk1{animation:hwCk1 12s ease-out infinite}#hwk2{animation:hwCk2 12s ease-out infinite}#hwk3{animation:hwCk3 12s ease-out infinite}
.hw-s1{animation:hwSt1 12s linear infinite}.hw-s2{animation:hwSt2 12s linear infinite}.hw-s3{animation:hwSt3 12s linear infinite}.hw-s4{animation:hwSt4 12s linear infinite}
}
@media (prefers-reduced-motion:reduce){.hw-rot{transform:rotate(-90deg)}}
@keyframes hwScene{0%{opacity:0}3%,94%{opacity:1}98%,100%{opacity:0}}
@keyframes hwRot{0%,8%{transform:rotate(0)}18%,97%{transform:rotate(-90deg)}100%{transform:rotate(0)}}
@keyframes hwPh{0%,24%{transform:translateX(-230px)}32%,100%{transform:none}}
@keyframes hwBeam{0%,32%{opacity:0}35%,47%{opacity:.22}51%,100%{opacity:0}}
@keyframes hwCam{0%,30%{opacity:0}33%,69%{opacity:1}72%,100%{opacity:0}}
@keyframes hwSl{0%,33%{transform:translateY(0)}41%{transform:translateY(170px)}49%{transform:translateY(0)}100%{transform:translateY(0)}}
@keyframes hwAns{0%,17%{opacity:0;transform:translateY(8px)}21%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes hwCnt{0%,58%{opacity:0}60%,100%{opacity:1}}
@keyframes hwChart{0%,70%{opacity:0}73%,100%{opacity:1}}
@keyframes hwBar{0%,72%{transform:scaleY(0)}80%,100%{transform:scaleY(1)}}
@keyframes hwCk1{0%,50%{opacity:0;transform:scale(.3)}53%,96%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes hwCk2{0%,53%{opacity:0;transform:scale(.3)}56%,96%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes hwCk3{0%,56%{opacity:0;transform:scale(.3)}59%,96%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes hwSt1{0%,24%{background:var(--sky2);border-color:var(--sky)}26%,100%{background:transparent;border-color:transparent}}
@keyframes hwSt2{0%,24%{background:transparent;border-color:transparent}26%,49%{background:var(--sky2);border-color:var(--sky)}51%,100%{background:transparent;border-color:transparent}}
@keyframes hwSt3{0%,49%{background:transparent;border-color:transparent}51%,71%{background:var(--sky2);border-color:var(--sky)}73%,100%{background:transparent;border-color:transparent}}
@keyframes hwSt4{0%,71%{background:transparent;border-color:transparent}73%,96%{background:var(--sky2);border-color:var(--sky)}98%,100%{background:transparent;border-color:transparent}}
@media (max-width:760px){.hw-wrap{grid-template-columns:1fr}.hw-steps li{font-size:16px}}

/* about FAQ (Nov 11 12:18) */
.faq details{border-top:1px solid var(--line)}
.faq details:first-of-type{border-top:0}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;min-height:48px;cursor:pointer;font-size:18px;font-weight:500;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:8px}
.faq-c{flex:none;color:var(--teal);transition:transform .2s}
.faq details[open] .faq-c{transform:rotate(180deg)}
.faq details p{margin:0 4px 14px;font-size:17px;line-height:1.55;color:var(--ink)}
.abvid video{width:100%;display:block;border-radius:14px;background:#12343b}

/* subject tree chips (Nov 11): subjects outside science */
.subj.s-gen{background:var(--sky2);color:var(--teal2)}

/* card deck מפגש שכבה (Nov 11): quiet link, badge, note */
.deckq{margin:10px 0 0;font-size:.95rem}
.linkb{background:none;border:0;padding:4px 0;margin:0;font:inherit;color:var(--soft,#4d6a70);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.linkb:hover{color:var(--ink,#12343b)}
.chip.deckb{background:#fff4e5;border:1.5px solid #e2a35a;color:#7a4a12;font-weight:700;text-decoration:none;white-space:nowrap}
a.chip.deckb:hover{background:#ffe9cc}
.deckbox{margin:12px 0;padding:12px 14px;border:1.5px solid #e2a35a;border-radius:12px;background:#fffaf2}
.deckbox p{margin:0 0 8px}.deckbox .note{margin:0 0 8px}.deckbox .row{gap:8px;flex-wrap:wrap}
.lv-wrap.wider{--sw:clamp(300px,30vw,560px)}
.lv-grid.c4 .lv-k{display:none}
@media print{.deckbox,.deckq{display:none}}

/* FAQ screen animations (her ask Nov 11 12:22): real screen crops, a tapping hand and a ring; one step every 3.2s, starts when the item opens (closed <details> renders nothing) */
.fx{margin:4px 4px 14px;max-width:620px}
.fx-st{position:relative;aspect-ratio:16/10;border:3px solid var(--line);border-radius:16px;overflow:hidden;background:#e3f2f6}
.fx-s{position:absolute;inset:0;opacity:0}
.fx-s:first-child,.fxcard .fx-s.fx-lt:nth-of-type(1){opacity:1}
.fx-s img{width:100%;height:100%;object-fit:cover;display:block}
.fx-ring{position:absolute;width:64px;height:64px;margin:-32px 0 0 -32px;border:5px solid var(--teal);border-radius:50%;opacity:0;box-shadow:0 0 0 4px rgba(255,255,255,.7)}
.fx-hand{position:absolute;width:40px;height:40px;margin:-3px 0 0 -16px;opacity:0;filter:drop-shadow(0 3px 4px rgba(18,52,59,.35))}
.fx-cap{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.fx-cap li{display:flex;gap:10px;align-items:center;padding:6px 10px;border-radius:12px;border:2px solid transparent;font-size:16px;line-height:1.4}
.fx-cap b{flex:none;width:26px;height:26px;border-radius:50%;background:var(--sky2);color:var(--teal2);display:flex;align-items:center;justify-content:center;font-size:14px}
.fxcard .fx-st{display:flex;align-items:center;justify-content:center}
.fx-card{height:66%;width:auto;aspect-ratio:1;border-radius:10px;box-shadow:0 6px 18px rgba(18,52,59,.18);background:#fff}
.fx-up{position:absolute;top:4%;inset-inline-start:6%;display:flex;flex-direction:column;align-items:center;color:var(--teal2);font-weight:700;font-size:15px}
.fx-lt{inset:auto;top:6%;inset-inline-end:6%;width:64px;height:64px;border-radius:18px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:700}
@media (prefers-reduced-motion:no-preference){
.fx-s{animation:var(--kf) var(--D) linear infinite;animation-delay:var(--d)}
.fx-ring{animation:var(--kr) var(--D) ease-out infinite;animation-delay:inherit}
.fx-hand{animation:var(--kh) var(--D) ease-in-out infinite;animation-delay:inherit}
.fx-s .fx-ring,.fx-s .fx-hand{animation-delay:var(--d)}
.fx-cap li{animation:var(--kc) var(--D) linear infinite;animation-delay:var(--d)}
.fx-card{animation:fxRot var(--D) cubic-bezier(.6,0,.3,1) infinite}
}
@keyframes fxRot{0%,15%{transform:rotate(0)}25%,40%{transform:rotate(-90deg)}50%,65%{transform:rotate(-180deg)}75%,90%{transform:rotate(-270deg)}100%{transform:rotate(-360deg)}}
@media (prefers-reduced-motion:reduce){
.fx:not(.fxcard) .fx-st{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:none;border:0}
.fx:not(.fxcard) .fx-s{position:relative;opacity:1;aspect-ratio:16/10;border:2px solid var(--line);border-radius:10px;overflow:hidden}
.fx-ring{opacity:1;width:44px;height:44px;margin:-22px 0 0 -22px}
.fx-hand{display:none}
.fxcard .fx-s{display:none}
}
.fxn3{--kf:fxS3;--kr:fxR3;--kh:fxH3;--kc:fxC3}
@keyframes fxS3{0%,33.6%{opacity:1}33.7%,97.5%{opacity:0}100%{opacity:1}}
@keyframes fxC3{0%,33.33%{background:var(--sky2);border-color:var(--sky)}33.34%,100%{background:transparent;border-color:transparent}}
@keyframes fxH3{0%{opacity:0;transform:translate(70px,60px)}4.00%{opacity:1;transform:translate(70px,60px)}14.00%{opacity:1;transform:none}16.67%{transform:scale(.82)}20.00%{transform:none;opacity:1}30.00%{opacity:1}32.33%,100%{opacity:0;transform:none}}
@keyframes fxR3{0%,16.67%{opacity:0;transform:scale(.4)}18.33%{opacity:1;transform:scale(.8)}28.33%{opacity:.95;transform:scale(1.15)}31.67%,100%{opacity:0;transform:scale(1.15)}}
.fxn4{--kf:fxS4;--kr:fxR4;--kh:fxH4;--kc:fxC4}
@keyframes fxS4{0%,25.25%{opacity:1}25.35%,98%{opacity:0}100%{opacity:1}}
@keyframes fxC4{0%,25%{background:var(--sky2);border-color:var(--sky)}25.01%,100%{background:transparent;border-color:transparent}}
@keyframes fxH4{0%{opacity:0;transform:translate(70px,60px)}3.00%{opacity:1;transform:translate(70px,60px)}10.50%{opacity:1;transform:none}12.50%{transform:scale(.82)}15.00%{transform:none;opacity:1}22.50%{opacity:1}24.25%,100%{opacity:0;transform:none}}
@keyframes fxR4{0%,12.50%{opacity:0;transform:scale(.4)}13.75%{opacity:1;transform:scale(.8)}21.25%{opacity:.95;transform:scale(1.15)}23.75%,100%{opacity:0;transform:scale(1.15)}}
/* FAQ demos v2 (Nov 11): each frame stays fully visible for its whole slot; the next fades in over it (~0.25 s), then the old one cuts, so the stage background never shows */
@media (prefers-reduced-motion:no-preference){.fx:not(.fxcard) .fx-st{background:#fff}}

/* footer at the bottom of the screen on short pages (her note Nov 11 12:48): body is a column, main grows, the existing footer sits last; long pages unchanged */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>.top,body>main,body>.site-foot{width:100%;box-sizing:border-box;flex-shrink:0}
body>main{flex:1 0 auto}
body>.site-foot{margin-top:auto}
body.qv .site-foot{display:flex}
body.lv:has(.lv-path.pend) .site-foot{display:flex}
@media print{body{display:block;min-height:0}}

/* series label on a set card (Nov 11 12:52) */
.set .ser{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;font-size:14px;font-weight:600;color:var(--teal2)}
.set .ser .ico{color:var(--teal)}

/* כל הכיתה צדקה! — confetti.js (Nov 11) */
.kt-cf{position:fixed;inset:0;z-index:2147483000;pointer-events:none;display:flex;align-items:center;justify-content:center;transition:opacity .45s}
.kt-cf.out{opacity:0}
.kt-cf canvas{position:absolute;inset:0;width:100%;height:100%}
.kt-cf-msg{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:rgba(255,255,255,.94);border:2px solid #5fae9c;border-radius:28px;padding:18px 34px 22px;box-shadow:0 18px 50px rgba(18,52,59,.22);animation:ktcfIn .5s cubic-bezier(.2,1.4,.4,1) both}
.kt-cf-msg img{height:clamp(120px,24vh,240px);width:auto;transform-origin:50% 100%;animation:ktcfHop .75s ease-in-out .3s 4 both}
.kt-cf-msg b{font-family:Rubik,system-ui,sans-serif;font-weight:700;font-size:clamp(30px,6.4vw,76px);line-height:1.1;color:#14555a;white-space:nowrap}
@keyframes ktcfIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes ktcfHop{0%,100%{transform:translateY(0) rotate(0) scale(1,1)}12%{transform:translateY(0) scale(1.06,.92)}38%{transform:translateY(-26px) rotate(-6deg) scale(.97,1.04)}62%{transform:translateY(-8px) rotate(6deg)}84%{transform:translateY(0) rotate(-2deg) scale(1.03,.97)}}
.kt-cf.rm .kt-cf-msg,.kt-cf.rm .kt-cf-msg img{animation:none}
@media (prefers-reduced-motion:reduce){.kt-cf-msg,.kt-cf-msg img{animation:none}.kt-cf{transition:none}}

/* owner-only usage-stats chip (sync.js paintOwner) — sits beside her profile button */
.profw{display:flex;align-items:center;gap:8px}
.navstats{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--teal2);font-weight:500;font-size:15.5px;text-decoration:none;white-space:nowrap}
.navstats:hover{border-color:var(--teal)}
.navstats[aria-current=page]{border-color:var(--teal);background:var(--sky2)}
.navstats .ico{width:20px;height:20px;flex:none}
@media (max-width:900px){.navstats{padding:0;width:44px;justify-content:center;border-radius:50%}.navstats .ns-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-width:560px){.navstats{display:none}} /* phone header is full: on a phone her stats link lives in the profile menu */
body.board .navstats,body.qv .navstats{display:none}
@media print{.navstats{display:none!important}}
/* math & numbers in Hebrew text (mtx.js, Nov 11): islands read left-to-right in the order typed; $…$ drawn by KaTeX */
bdi.mt{unicode-bidi:isolate}
bdi.mtr,bdi.mtk{unicode-bidi:isolate;direction:ltr}
bdi.mtr{white-space:nowrap}
bdi.mtr sup,bdi.mtr sub{font-size:.68em;line-height:0}
bdi.mtk{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle;padding:.06em .04em}
bdi.mtk .katex{font-size:1.08em}
.mn-q textarea,.mn-q input[type=text]{unicode-bidi:plaintext}
.mxp{margin:10px 0 14px;padding:12px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg)}
.mxp label{font-weight:500}
.mxp .mxi{direction:ltr;text-align:left;unicode-bidi:normal;font-size:19px}
.mxk{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.mxk button{min-width:46px;min-height:46px;padding:2px 10px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:19px;line-height:1;cursor:pointer}
.mxk button:hover{border-color:var(--teal)}
.mxk button .katex{font-size:1em}
.mxo{min-height:52px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:12px;background:#fff;border:1.5px dashed #9cc7d2;font-size:22px;overflow-x:auto}
.mxo:empty::before{content:attr(data-ph);color:var(--soft);font-size:15px}
.mxp .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mxpv{margin:12px 0 4px;padding:10px 14px;border-radius:14px;background:#fffbea;border:1.5px solid #f0e2a4}
.mxpv-h{margin:0 0 4px;font-size:14.5px;color:var(--soft)}
.mxpv-q{margin:0 0 6px;font-weight:500;font-size:18px}
.mxpv ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
.mxpv li b{color:var(--teal2);margin-inline-end:6px}
@media (max-width:520px){.mxpv ol{grid-template-columns:1fr}}

/* ---------- the hall set אולם (Nov 12, hall.js): numbers only; the screen shows who is still missing ---------- */
.hallb,.chip.hallb{background:var(--teal);border:1.5px solid var(--teal2);color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
a.hallb:hover{background:var(--teal2)}
.deckbox.hallbox{border-color:var(--teal);background:var(--sky2)}
.lv-wrap.hallw{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:0 2.4vw 2vh}
.hallw .lv-top{flex:none}
.hallw.hq .hl-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hallw.hq .lv-qt{font-size:clamp(30px,min(4.4vw,8vh),96px)}
.hl-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:2vw;padding-top:1.4vh;border-top:2px solid var(--line)}
.hl-tag{margin:0;font-size:clamp(16px,1.4vw,26px);color:var(--ink)}
.hl-join{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:8px 14px;color:var(--ink)}
.hl-join p{margin:0}
.hl-j1{display:flex;align-items:center;gap:8px;font-size:clamp(15px,1.1vw,20px)}
.hl-j1 .ico{flex:none;color:var(--teal)}
.hl-j2{font-size:clamp(16px,1.25vw,24px)}
.hl-code{font-size:1.5em;letter-spacing:.06em;color:var(--teal2)}
.hl-ph{font-size:clamp(15px,1.05vw,20px);color:var(--ink)}
.hl-ph b{color:var(--ink)}
.hl-qr{flex:none;width:clamp(64px,5.5vw,104px);background:#fff;border-radius:8px}
.hl-qr svg{display:block;width:100%;height:auto}
.hl-join.big .hl-qr{width:clamp(96px,9vw,170px)}
.hl-join.big .hl-j1{font-size:clamp(16px,1.25vw,24px)}
.hl-join.big .hl-code{font-size:1.9em}
.hl-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:2vw;padding:.4vh 0 1.4vh}
.hl-bq{min-width:0;flex:1}
.hl-qs{margin:0;font-size:clamp(17px,1.5vw,30px);font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-count{margin:.4vh 0 0;font-size:clamp(22px,2.2vw,44px);color:var(--ink)}
.hl-count b{color:var(--teal2);font-size:1.2em}
.hl-field{flex:1;min-height:0;position:relative;overflow:hidden}
.hl-sq{position:absolute;top:0;left:0;will-change:transform;transition:transform .6s cubic-bezier(.2,.8,.2,1),width .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1),font-size .6s cubic-bezier(.2,.8,.2,1)}
.hl-in{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;border:max(2px,.06em) solid var(--teal);border-radius:12%;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;transition:transform .4s ease-in,opacity .4s ease-in,background .2s}
.hl-sq.gone .hl-in{transform:scale(.15);opacity:0;background:var(--mint)}
.hl-field.still .hl-sq{transition:none}
.hl-all{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;font-size:clamp(30px,4vw,80px);font-weight:700;color:var(--ok)}
.hl-all[hidden]{display:none}
.hl-all .ico{width:clamp(64px,8vw,160px);height:auto}
.hallw.hd .hl-body{flex:1;min-height:0;overflow:auto}
.hl-miss{margin:2vh 0 0;font-size:clamp(16px,1.3vw,26px);color:var(--ink);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hl-miss span{display:inline-block;min-width:2.4em;text-align:center;padding:2px 8px;border:2px solid var(--teal);border-radius:8px;background:#fff;font-weight:700}
@media (prefers-reduced-motion:reduce){.hl-sq,.hl-in{transition:none}}
@media (max-width:700px){.lv-wrap.hallw{height:auto;min-height:100vh}.hl-field{min-height:60vh}.hl-bar,.hl-foot{flex-direction:column;align-items:stretch}}
/* hall scanning screen v2 (her note Nov 12 08:28): the question + answers big beside the squares; the join panel moves behind a QR button */
.hallw.hs .hl-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:2.4vw;padding-top:1.2vh}
.hl-qa{--hs:30px;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:calc(var(--hs) * .55)}
.hl-qt{margin:0;font-size:calc(var(--hs) * 1.2);line-height:1.22;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.lv-opts.hl-opts{grid-template-columns:minmax(0,1fr);gap:calc(var(--hs) * .38)}
.lv-opts.hl-opts li{font-size:var(--hs);line-height:1.22;padding:calc(var(--hs) * .32) calc(var(--hs) * .5) calc(var(--hs) * .32) calc(var(--hs) * .38);gap:calc(var(--hs) * .45);border-width:2px}
.lv-opts.hl-opts .L{width:calc(var(--hs) * 1.5);height:calc(var(--hs) * 1.5);font-size:var(--hs)}
.hl-fig{margin:0;flex:none;display:flex;justify-content:center}
.hl-fig img{display:block;max-width:100%;height:clamp(130px,30vh,380px);width:auto;object-fit:contain;border-radius:14px;background:#fff;border:1.5px solid var(--line)}
.hl-side{min-width:0;min-height:0;display:flex;flex-direction:column}
.hallw.hs .hl-count{flex:none;margin:0 0 1vh;text-align:center}
.hl-jb{position:relative}
.hl-jn{position:absolute;top:-7px;left:-7px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--teal);color:#fff;font-size:15px;font-weight:700;line-height:24px;text-align:center}
.hl-jn[hidden]{display:none}
.hl-ov{position:fixed;inset:0;z-index:60;background:rgba(11,31,35,.6);display:grid;place-items:center;padding:4vh 4vw}
.hl-ovb{position:relative;background:#fff;border-radius:22px;padding:64px 32px 28px;max-width:min(980px,94vw);max-height:92vh;overflow:auto;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.hl-ovb .hl-join{border:0;padding:0;gap:clamp(18px,2.4vw,40px);background:none}
.hl-ovb .hl-join.big .hl-qr{width:clamp(180px,22vw,340px)}
.hl-ovb .hl-join.big .hl-j1{font-size:clamp(18px,1.7vw,32px)}
.hl-ovb .hl-j2{font-size:clamp(20px,1.8vw,34px)}
.hl-ovb .hl-ph{font-size:clamp(17px,1.4vw,26px)}
.hl-x{position:absolute;top:12px;left:12px}
@media (max-width:700px){.hallw.hs .hl-main{grid-template-columns:minmax(0,1fr);gap:16px}.hl-qa{--hs:20px;overflow:visible}.hl-fig img{height:auto;max-height:34vh}.hl-ovb{padding:60px 16px 18px}.hl-ovb .hl-join{flex-direction:column;text-align:center}.hl-ovb .hl-j1{justify-content:center}.lv-tools .icob.hl-jb{display:inline-flex}.hallw .lv-top{flex-wrap:wrap}.hallw .lv-tools{flex-wrap:wrap;flex:1 1 auto;justify-content:flex-start}}
/* helper phone #/hall */
.hl-joinp h1{display:flex;align-items:center;gap:10px}
.hl-joinp input{font-size:28px;letter-spacing:.12em;max-width:220px;text-align:center}
.hl-help{display:flex;flex-direction:column;gap:12px}
.hl-hhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hl-hhead .chip{font-size:18px}
.hl-hst{flex:1;font-size:18px;font-weight:700;color:var(--ink)}
.hl-cam{position:relative;width:100%;aspect-ratio:3/4;max-height:68vh;background:#0b1f23;border-radius:16px;overflow:hidden}
.hl-cam video,.hl-cam canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hl-wait{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-align:center;padding:20px;font-size:20px;font-weight:700;background:rgba(11,31,35,.82)}
.hl-wait[hidden]{display:none}
.hl-wait p{margin:0}
.hl-mine{margin:0;text-align:center;font-size:26px;font-weight:700;color:var(--ink)}
.hl-mine b{font-size:1.5em;color:var(--teal2)}
.scan-miss .mhall{display:block;margin-top:4px;font-size:15px;font-weight:400}

/* print tips + הדפסת השלמות (her notes Nov 12 09:45–09:46) */
.tip{display:flex;gap:8px;align-items:flex-start;background:var(--mint);border-radius:14px;padding:10px 12px;margin:12px 0 0;font-size:15.5px;line-height:1.5}
.tip .tipi{flex:none;margin-top:2px;color:var(--teal2)}
.faq details p.tip{margin:0 4px 14px;font-size:16px}
.rp{margin:14px 0 0;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.rp summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 12px;min-height:46px;cursor:pointer;font-weight:600;color:var(--teal2)}
.rp summary small{font-weight:400;color:var(--soft);font-size:14.5px}
.rp summary:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:12px}
.rp .note{margin:0 12px 10px}
.rp-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding:0 12px 4px;max-height:300px;overflow:auto}
.rp-i{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 8px;border-radius:10px;background:var(--sky2);cursor:pointer;font-size:15.5px}
.rp-i input{width:22px;height:22px;flex:none;margin:0}
.rp-i b{direction:ltr;min-width:1.6em;text-align:center;color:var(--teal2)}
.rp-i span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-n{margin:4px 12px 10px;font-size:15px;min-height:32px;color:var(--teal2);font-weight:600}
@media print{.rp,.tip{display:none}}

/* pool set -> class queue (Nov 12): "לשייך לכיתה" picker, the "בתור של" line, the pool tag in a queue row */
.pa-box{max-width:460px}
.pa-list{list-style:none;margin:10px 0 4px;padding:0;display:grid;gap:8px;max-height:min(52vh,420px);overflow:auto}
.pa-c{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;background:#fff}
.pa-c:has(input:checked:not(:disabled)){border-color:var(--teal);background:var(--sky2)}
.pa-c.in{cursor:default;background:#f4f8f9;border-style:dashed}
.pa-c input{width:22px;height:22px;flex:none;accent-color:var(--teal);margin:0}
.pa-n{display:flex;flex-direction:column;line-height:1.3}
.pa-n b{font-size:17px;color:var(--ink)}
.pa-n small{font-size:14.5px;color:var(--soft)}
.pa-c.in .pa-n small{color:var(--ok);font-weight:500}
.pa-new{margin:6px 0 0}
.pa-new a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:500}
.pa-box .btn:disabled{opacity:.6;cursor:default}
.mn-pin{display:flex;align-items:center;gap:8px;margin:-6px 0 10px;color:var(--ok);font-weight:500;font-size:16px}
.mn-pin[hidden],.mn-pin:empty{display:none}
.mn-pin a{color:var(--teal2);font-weight:700}
.mn-cph{margin:-4px 0 14px}
.qpool{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:14px;color:var(--teal2)}
.qpool.gone{color:var(--amber,#9a6400)}
.qpl{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:var(--soft);font-size:15.5px}
.qpl .ico{flex:none;margin-top:2px}
