/* FISD TSIA2 Practice Bank – teacher tools (FARM style) */
:root{--tp-purple:#442872;--tp-deep:#2e1a4f;--tp-gold:#fdb61c;--tp-lav:#f4f1fa;--tp-line:#cfc6e2;--tp-ok:#1f8a4c;--tp-bad:#c0392b}
.tb{font:700 16px "Barlow Semi Condensed","Segoe UI",Arial,sans-serif;padding:8px 16px;border-radius:7px;border:2px solid var(--tp-purple);background:#fff;color:var(--tp-purple);cursor:pointer;white-space:nowrap}
.tb.p{background:var(--tp-purple);color:#fff}
.tb.g{background:var(--tp-gold);border-color:var(--tp-gold);color:#1d1d24}
.tb.w{background:#fff;color:var(--tp-deep);border-color:#fff}
.tb.sm{font-size:15px;padding:6px 12px}
.tb:disabled{opacity:.4;cursor:default}
.tb:focus-visible,.tn:focus-visible,.tp-ch:focus-visible,.sw:focus-visible{outline:3px solid #6aa6ff;outline-offset:2px}

/* ---------- selection bar ---------- */
.tbar-sel{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;z-index:55;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;
  max-width:calc(100vw - 32px);padding:12px 18px;border-radius:12px;background:var(--tp-deep);border-bottom:4px solid var(--tp-gold);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tbar-sel[hidden]{display:none}
.tcount{color:#fff;font:800 1.1rem "Barlow Semi Condensed","Segoe UI",Arial,sans-serif;margin-right:6px}
/* the selection bar buttons, as in FARM: gold for the first, white for the rest */
.tbar-sel .tb{border:0;border-radius:7px;padding:8px 14px;font:800 17px "Barlow Semi Condensed",Arial,sans-serif}
.tbar-sel .tb.g{background:var(--tp-gold);color:var(--tp-deep)}
.tbar-sel .tb.w{background:#fff;color:var(--tp-deep)}
.tlink{background:none;border:0;color:#ddd2f2;font:700 16px "Barlow Semi Condensed",Arial,sans-serif;text-decoration:underline;cursor:pointer;padding:6px}
body.has-tbar .wrap{padding-bottom:110px}

/* ---------- presenter ---------- */
html.tp-lock,html.tp-lock body{overflow:hidden}
.tp{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:#fff;color:#111;outline:none}
.tp[hidden]{display:none}
.tp-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:var(--tp-purple);border-bottom:6px solid var(--tp-gold)}
.tp-head h2{margin:0;color:#fff;font:700 24px "Segoe UI",Arial,sans-serif}
#tp-tag{color:var(--tp-gold);font:700 20px "Segoe UI",Arial,sans-serif;text-align:right}
.tp-scroll{position:relative;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
.tp-body{padding:28px 48px 40px;font:24px/1.5 Verdana,"Segoe UI",Arial,sans-serif;max-width:1700px;margin:0 auto}
/* markup: marks are drawn on one layer over the whole presenter; while marking, a catcher over the questions takes the pen */
.tk-layer{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}
.tk-layer .tk-hl,.tk-layer .tk-live{mix-blend-mode:multiply;opacity:.42}
.tk-catch{position:fixed;z-index:6;touch-action:none;cursor:crosshair}
.tk-catch[hidden]{display:none}
.tk-catch[data-tool="erase"]{cursor:cell}
.tp.inking .tp-scroll{box-shadow:inset 0 0 0 4px var(--tp-gold)}
#tp-nvis[aria-pressed="true"]{background:#efe8fb}
@media print{.tk-layer,.tk-catch{display:none!important}}
.tp-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:start}
.tp-one{max-width:1100px;margin:0 auto}
.tp-stim{border:1.5px solid #222;padding:14px 22px;background:#fff}
.tp-stim img{display:block;max-width:100%;height:auto;margin:0 auto}
.tp-stim .psg{font-size:.86em;line-height:1.55;color:#111}
.tp-stim .psg p{margin:0 0 .6em}
.tp-stim .psg-intro{font-style:italic}
.tp-stim .psg-src,.tp-stim .psg-fn{font-size:.8em;color:#444}
.tp-stim .psg.k-set p,.tp-stim .psg.k-essay p{text-indent:1.6em}
.tp-stim .psg.k-set .psg-intro{text-indent:0}
.tp-stim.sm{max-height:42vh;overflow:auto;font-size:.82em;margin-bottom:14px}
.tp-q{position:relative;margin:0 0 30px}
.tp-q+.tp-q{border-top:1px solid #ddd;padding-top:24px}
.tp-num{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 8px;margin-bottom:8px;border-radius:8px;background:var(--tp-purple);color:#fff;font:700 18px "Segoe UI",Arial,sans-serif}
.tp-inst{font-size:.72em;font-style:italic;color:#444;margin:0 0 .6em}
.tp-stem p{margin:0 0 .7em}
.tp-stem .quote{font-style:italic}
.tp-stem img{display:block;max-width:100%;margin:6px 0 12px}
.tp-choices{display:flex;flex-direction:column;gap:6px;margin:6px 0 16px}
.tp-ch{display:flex;align-items:center;gap:14px;padding:6px 10px;border:2px solid transparent;border-radius:8px;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.tp-ch:hover{background:#f3eefc}
.tp-L{flex:none;width:36px;height:36px;border-radius:50%;border:2px solid #222;display:grid;place-items:center;font:700 16px "Segoe UI",Arial,sans-serif}
.tp-ch.sel{border-color:var(--tp-purple);background:#efe8fb}.tp-ch.sel .tp-L{background:var(--tp-purple);border-color:var(--tp-purple);color:#fff}
.tp-ch.right{border-color:var(--tp-ok);background:#e3f3e8}.tp-ch.right .tp-L{background:var(--tp-ok);border-color:var(--tp-ok);color:#fff}
.tp-ch.wrong{border-color:var(--tp-bad);background:#fbeaea}.tp-ch.wrong .tp-L{background:var(--tp-bad);border-color:var(--tp-bad);color:#fff}
.tp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tp-fb{font:700 18px "Segoe UI",Arial,sans-serif}.tp-fb.y{color:var(--tp-ok)}.tp-fb.n{color:var(--tp-bad)}
.tp-rat{margin-top:14px;padding:12px 16px;border-left:5px solid var(--tp-gold);background:#fdf6e3;border-radius:0 8px 8px 0;font:17px/1.5 "Segoe UI",Arial,sans-serif;color:#1d1d24}
.tp-ans{display:inline-block;margin-bottom:8px;padding:3px 12px;border:1px solid var(--tp-ok);border-radius:6px;background:#e6f5ec;color:#1f6b3e;font-weight:800}
.tp-why{list-style:none;margin:0;padding:0}.tp-why li{padding:5px 8px;margin:2px 0;border-radius:5px}.tp-why li.ok{background:#e3f3e8;border-left:3px solid var(--tp-ok)}.tp-why b{margin-right:4px}
/* 2–4 per screen */
.tp-body.per2,.tp-body.per3,.tp-body.per4{font-size:19px}
.tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tp-cell{border:1px solid var(--tp-line);border-radius:10px;padding:16px 18px}
.tp-cell .tp-q{margin:0}
.tp-body.per2 .tp-two,.tp-body.per3 .tp-two,.tp-body.per4 .tp-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.tp-body.per2 .tp-L,.tp-body.per3 .tp-L,.tp-body.per4 .tp-L{width:30px;height:30px;font-size:14px}
/* bottom bars */
.tp-nav,.tp-mbar{flex:none;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 18px}
.tp-nav{background:var(--tp-lav);border-top:1px solid var(--tp-line)}
.tp-nav[hidden],.tp-mbar[hidden]{display:none}
.tp-per{display:inline-flex;align-items:center;gap:6px;margin:0 6px}
.tp-per b{font:700 15px "Barlow Semi Condensed",Arial,sans-serif;color:var(--tp-purple);margin-right:4px}
.tn{width:38px;height:38px;border-radius:7px;border:2px solid var(--tp-purple);background:#fff;color:var(--tp-purple);font:700 16px "Barlow Semi Condensed",Arial,sans-serif;cursor:pointer}
.tn.on{background:var(--tp-purple);color:#fff}
.tb.tmk{background:#fff7e0;border-color:var(--tp-gold);color:var(--tp-deep)}
.tp-mbar{background:var(--tp-deep);border-top:6px solid var(--tp-gold)}
.tp-mbar b{color:#fff;font:700 16px "Barlow Semi Condensed",Arial,sans-serif;margin:0 2px 0 10px}
.sw{width:38px;height:38px;border-radius:50%;border:3px solid #fff;cursor:pointer;padding:0}
.sw.sq{border-radius:6px}
.sw.on{box-shadow:0 0 0 3px var(--tp-deep),0 0 0 6px var(--tp-gold)}
.tp-mbar .tb.w{background:transparent;color:#fff;border-color:#fff}
.tp-mbar .tb.w.on{background:#fff;color:var(--tp-deep)}
@media (max-width:900px){.tp-two,.tp-grid{grid-template-columns:1fr}.tp-body{padding:18px 16px 30px;font-size:19px}.tp-head{padding:10px 16px}.tp-head h2{font-size:19px}#tp-tag{font-size:15px}.tb{font-size:14px;padding:7px 10px}}

/* ---------- dialogs ---------- */
.tmodal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(15,8,30,.6)}
.tmodal-box{position:relative;width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;color:#1d1a24;border-radius:12px;border-top:6px solid var(--tp-purple);padding:20px 22px;font:17px/1.45 "Barlow Semi Condensed","Segoe UI",Arial,sans-serif}
.tmodal-box h2{margin:0 0 12px;color:#1d1a24;font:800 1.6rem "Barlow Semi Condensed","Segoe UI",Arial,sans-serif}
.tmodal-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:18px;cursor:pointer;color:#444}
.tf{display:block;font-weight:700;margin:0 0 12px}
.tf small{font-weight:400;color:#555}
.tf input{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid #bbb;border-radius:7px;font:15px "Segoe UI",Arial,sans-serif;color:#111;background:#fff}
.tf input[readonly]{background:#f4f2f8;color:#333}
.tc{display:flex;gap:8px;align-items:flex-start;margin:0 0 9px;cursor:pointer}
.tc input{margin-top:4px;width:17px;height:17px;flex:none}
.tnote{font-size:14.5px;color:#4a4560;margin:12px 0}
.twarn{font-size:14.5px;background:#fff4d6;border-left:4px solid var(--tp-gold);padding:8px 12px;margin:8px 0 12px}
.tbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.tfb{min-height:1.4em;margin:10px 0 0;font-weight:700;color:var(--tp-ok)}
@media (max-width:640px){
  .tbar-sel{width:calc(100vw - 20px);bottom:10px;padding:10px;gap:8px}
  .tbar-sel .tb{flex:1 1 45%;font-size:14px;padding:8px 6px}
  .tcount{flex-basis:100%;text-align:center}
  .tp-nav{gap:6px;padding:8px}.tp-nav .tb{padding:6px 8px;font-size:13px}.tp-per b{display:none}.tn{width:32px;height:32px}
  .tmodal-box{padding:18px 16px}
}
.ms-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #e3ddef}
.ms-t{flex:1 1 220px}.ms-t b{display:block;font-size:16px}.ms-t small{color:#5b5670}
.ms-b{display:flex;gap:6px;flex-wrap:wrap}
#onlysel[aria-pressed="true"]{background:var(--gold);color:#1d1d24;border-color:var(--gold)}
.tp-rp{margin-left:auto;color:#45286f}

/* ---------- the practice test's tools in present mode (teach.js): Calculator, Accessibility, Highlighter ---------- */
.tp-head{gap:14px}
.tp-tools{display:flex;gap:4px;margin-left:8px;flex:none}
.tp-tool{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:4px 8px;border:1.5px solid transparent;border-radius:9px;background:none;color:#fff;font:700 13px "Barlow Semi Condensed",Arial,sans-serif;cursor:pointer}
.tp-tool svg{width:24px;height:24px}
.tp-tool:hover,.tp-tool[aria-pressed="true"]{background:rgba(255,255,255,.12);border-color:rgba(253,182,28,.65)}
.tp-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:5;min-width:210px;padding:6px;border-radius:12px;background:#fff;color:#1d1a24;box-shadow:0 16px 40px rgba(8,2,20,.45);text-align:left;cursor:default}
.tp-menu h4{margin:8px 8px 4px;font:800 .72rem/1 Raleway,"Barlow Semi Condensed",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#5f586f}
.tp-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:none;color:#1d1a24;font:600 15px "Barlow Semi Condensed",Arial,sans-serif;cursor:pointer;text-align:left}
.tp-menu button:hover{background:#ece6f6}
.tp-menu .chk{margin-left:auto;color:#1b7a43;font-weight:800}
.tp-menu .sw{width:16px;height:16px;border-radius:3px;border:1px solid #999;flex:none}
#tpres mark.hl-yellow{background:#ffff00;color:#111}#tpres mark.hl-green{background:#00ff00;color:#111}#tpres mark.hl-blue{background:#0000ff;color:#fff}#tpres mark.hl-pink{background:#ff00ff;color:#111}
.tp.hl-on .tp-body{cursor:text}
/* calculators open above the presentation */
html.tp-lock .c108,html.tp-lock .gc{z-index:130}
/* text size and line spacing */
.tp.fs-l .tp-body{font-size:30px}.tp.fs-l .tp-body.per2,.tp.fs-l .tp-body.per3,.tp.fs-l .tp-body.per4{font-size:23px}
.tp.fs-xl .tp-body{font-size:36px}.tp.fs-xl .tp-body.per2,.tp.fs-xl .tp-body.per3,.tp.fs-xl .tp-body.per4{font-size:27px}
.tp.ls-2 .tp-body{line-height:2}.tp.ls-25 .tp-body{line-height:2.5}
/* color schemes, as on the test screen */
.tp.cs-wb .tp-scroll,.tp.cs-wb .tp-stim,.tp.cs-wb .tp-cell{background:#000;color:#fff;border-color:#888}
.tp.cs-yb .tp-scroll,.tp.cs-yb .tp-stim,.tp.cs-yb .tp-cell{background:#00205b;color:#ffff00;border-color:#8890b8}
.tp.cs-bc .tp-scroll,.tp.cs-bc .tp-stim,.tp.cs-bc .tp-cell{background:#fdf6e3;color:#000}
.tp.cs-wb .tp-stim .psg,.tp.cs-yb .tp-stim .psg,.tp.cs-wb .tp-inst,.tp.cs-yb .tp-inst,.tp.cs-wb .tp-stim .psg-src,.tp.cs-yb .tp-stim .psg-src{color:inherit}
.tp.cs-wb .tp-L,.tp.cs-yb .tp-L{border-color:currentColor}
.tp.cs-wb .tp-ch:hover,.tp.cs-yb .tp-ch:hover{background:rgba(255,255,255,.12)}
.tp.cs-wb .tp-ch.sel,.tp.cs-wb .tp-ch.right,.tp.cs-wb .tp-ch.wrong,.tp.cs-yb .tp-ch.sel,.tp.cs-yb .tp-ch.right,.tp.cs-yb .tp-ch.wrong{color:#111}
.tp.cs-wb .tp-q+.tp-q,.tp.cs-yb .tp-q+.tp-q{border-top-color:#666}
.tp.cs-wb .tp-stim img,.tp.cs-yb .tp-stim img{background:#fff}
@media (max-width:900px){.tp-tool span{display:none}.tp-tool{min-width:0;padding:4px 6px}}
.tp.cs-wb .tp-rp,.tp.cs-yb .tp-rp{color:inherit}
