/* tier1-pages: small additions on top of style.css / classroom.css. Uses the site's colour tokens only. */
.t1-jump{font-size:.92rem;margin:.6rem 0 1rem;line-height:1.9}
.t1-ex,.t1-act{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:14px 0;box-shadow:var(--shadow)}
.t1-ex h3,.t1-act h3{margin:0 0 .4rem}
.t1-ex h4{margin:.9rem 0 .2rem;font-size:.95rem}
.t1-ex p,.t1-act p{margin:.25rem 0}
.t1-exf{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0}
.t1-exf div{display:flex;gap:6px}.t1-exf dt{font-weight:700}.t1-exf dd{margin:0}
.t1-table{border-collapse:collapse;width:100%;font-size:.92rem}
.t1-table th,.t1-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.t1-table th{background:var(--brand-soft)}
.t1-acts{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.t1-meta{margin:.2rem 0 .5rem}
.t1-safety{margin:1rem 0}
.t1-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0}
.t1-row .field{flex:1 1 160px}
.t1-out{margin-top:12px}
.t1-big{font-size:clamp(1.4rem,4vw,2.6rem);font-weight:800;line-height:1.25;margin:.4em 0;font-family:var(--head)}
.t1-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(16px,4vw,40px);text-align:center;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.t1-stage.fill{position:fixed;inset:0;z-index:50;border-radius:0;min-height:100vh}
.t1-stage.fill .t1-big{font-size:clamp(2rem,6vw,4.4rem)}
.t1-tag{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.t1-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.t1-chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;cursor:pointer;background:var(--surface);min-height:36px}
.t1-chips input{margin:0;accent-color:var(--brand)}
.t1-chips label:has(input:checked){background:var(--brand-soft);border-color:var(--brand)}
.t1-list{columns:2 300px;column-gap:28px;padding-left:1.2em}
.t1-list li{break-inside:avoid;margin:0 0 .45em}
.t1-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.t1-warn{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:10px;padding:8px 12px;font-size:.92rem}
.t1-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media print{.t1-jump,.t1-ex .row-btns,.t1-act .row-btns{display:none}}
/* rubric maker */
.rb-levels{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0}
.rb-levels legend{font-weight:700;padding:0 4px}
.rb-lv{display:flex;flex-wrap:wrap;gap:8px}
.rb-l{display:flex;align-items:center;gap:4px}
.rb-l input[type=text]{width:8.5em}.rb-l input[type=number]{width:4.2em}
.rb-c{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0;background:var(--surface)}
.rb-ch{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rb-ch label{font-weight:700}.rb-ch input{flex:1 1 180px}
.rb-ds{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));margin-top:8px}
.rb-ds textarea{width:100%;font-size:.9rem}
.rb-opt{display:inline-flex;gap:6px;align-items:center;min-height:36px}
.rb-ph{margin:18px 0 4px}
.rb-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.86rem;min-width:640px}
.rb-table th,.rb-table td{border:1px solid #9aa6a2;padding:6px 7px;vertical-align:top;text-align:left}
.rb-table thead th{background:#e6f2ef;text-align:center}
.rb-table tbody th{background:#f3f6f5;width:16%}
.rb-table .rb-sc{width:9%}.rb-table .rb-tot{text-align:right}
.rb-name{margin:.2rem 0 .6rem;font-size:.9rem}
.rb-comm{border:1px solid #9aa6a2;min-height:70px;margin-top:10px;padding:6px 8px;font-size:.9rem}
.print-root .rb-table{min-width:0;font-size:9.5pt}
/* bell ringers */
.bl-f{border:0;padding:0;margin:0 0 4px}.bl-f legend{font-weight:700;margin-bottom:2px}
.bl-stage{margin:12px 0}
.bl-ans{font-weight:700;color:var(--brand)}
.bl-time{font-size:clamp(1.6rem,5vw,3rem);font-weight:800;font-variant-numeric:tabular-nums;margin:.2em 0}
.bl-own{margin:10px 0}.bl-own summary{cursor:pointer;font-weight:700;min-height:32px}
.bl-band{font-size:.78rem;color:var(--muted)}
.ba{display:block;color:var(--muted)}
.bl-sheet .bl-day{border:1px solid #9aa6a2;border-radius:6px;padding:8px 10px;margin:0 0 8px;break-inside:avoid}
.bl-sheet .bl-day p{margin:.2rem 0 .3rem}
.bl-sheet .bl-subj{font-size:.8em;color:#555}
.bl-sheet .bl-lines{height:24mm;background:repeating-linear-gradient(transparent 0 7mm,#bbb 7mm calc(7mm + 1px))}
/* times table test */
.tt-tabs label{min-width:3.6em;justify-content:center}
.tt-stage{margin:12px 0;gap:8px}
.tt-q{font-variant-numeric:tabular-nums;font-size:clamp(2rem,8vw,4rem)}
.tt-form{display:flex;gap:8px;justify-content:center}
.tt-in{font-size:2rem;width:5.5em;text-align:center;padding:6px 8px;border:2px solid var(--brand);border-radius:10px;background:var(--surface);color:var(--ink)}
.tt-bar{width:min(100%,420px);height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.tt-bar i{display:block;height:100%;width:0;background:var(--brand)}
.tt-keys{display:grid;grid-template-columns:repeat(3,minmax(64px,90px));gap:8px;justify-content:center;margin-top:6px}
.tt-keys .btn{font-size:1.4rem;min-height:52px;padding:6px}
.tt-res{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin:12px 0}
.tt-wrong{columns:2 180px;padding-left:1.2em}
.tt-sheet .tt-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 10mm}
.tt-sheet .tt-pq li{font-size:14pt;margin:0 0 4.2mm;font-variant-numeric:tabular-nums}
.tt-sheet .tt-blank{display:inline-block;width:22mm;border-bottom:1px solid #555}
.tt-sheet .tt-pa{columns:3;font-size:11pt}
@media (min-width:700px){.tt-stage.fill .tt-keys{grid-template-columns:repeat(3,110px)}}
/* reward chart */
.rw-chart{--a:#0e7c6b;--b:#e3f2ee;color:#1f2a37;border:3px solid var(--a);border-radius:14px;padding:14px 16px}
.rw-chart.theme-sun{--a:#c98a00;--b:#fdf1d3}.rw-chart.theme-berry{--a:#b0306a;--b:#fbe3ee}.rw-chart.theme-sky{--a:#2f6fc0;--b:#e2edfb}.rw-chart.theme-ink{--a:#222;--b:#fff}
.rw-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:10px}
.rw-head h3{margin:0;color:var(--a);font-size:1.7rem}
.rw-name{margin:0;font-size:1.1rem;font-weight:700}.rw-name.blank{font-weight:400}
.rw-spaces{display:grid;grid-template-columns:repeat(var(--c),1fr);gap:8px}
.rw-spaces span{position:relative;aspect-ratio:1;border:2px solid var(--a);border-radius:10px;background:var(--b);display:flex;align-items:center;justify-content:center;color:var(--a);min-width:0}
.rw-spaces svg{width:62%;height:62%}
.rw-spaces i{position:absolute;top:3px;left:6px;font-style:normal;font-size:.75rem;color:#444}
.rw-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:520px}
.rw-table th,.rw-table td{border:2px solid var(--a);padding:6px;text-align:center;vertical-align:middle}
.rw-table thead th{background:var(--a);color:#fff}.rw-chart.theme-ink .rw-table thead th{background:#fff;color:#000}
.rw-table tbody th{background:var(--b);text-align:left;width:30%;font-size:.95rem}
.rw-table td{height:54px;color:var(--a)}.rw-table td svg{width:34px;height:34px}
.rw-class tbody th{width:22%}.rw-class td{height:30px}.rw-class td svg{width:20px;height:20px}
.rw-reward{margin:12px 0 0;font-size:1.05rem}
.rw-chart.half{padding:10px 12px}.rw-chart.half .rw-head h3{font-size:1.3rem}.rw-chart.half .rw-spaces{gap:5px}
.rw-cut{border-top:2px dashed #999;margin:7mm 0}
.print-root .rw-chart{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.print-root .rw-table{min-width:0}
.print-root .rw-chart.half .rw-spaces span{aspect-ratio:auto;height:19mm}
/* visual timetable */
.vt-cols{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:900px){.vt-cols{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.vt-h2{margin:.2rem 0;font-size:1.2rem}
.vt-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:460px;overflow-y:auto;padding:2px}
.vt-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:#1f2a37;cursor:grab;font:inherit;font-size:.8rem;line-height:1.15;min-height:84px}
.vt-card:hover,.vt-card:focus-visible{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.vt-card svg{width:40px;height:40px;color:#0a5c50}
.vt-day{list-style:none;padding:0;margin:8px 0;min-height:80px;border:2px dashed var(--line-2);border-radius:12px;padding:6px}
.vt-day.drop-end{border-bottom-color:var(--brand);border-bottom-style:solid}
.vt-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border-radius:10px;background:var(--surface);border:1px solid var(--line);margin:0 0 6px;cursor:grab}
.vt-row.drop-before{box-shadow:0 -3px 0 var(--brand)}
.vt-row.dragging{opacity:.5}
.vt-row.done{opacity:.55}.vt-row.done .vt-l{text-decoration:line-through}
.vt-ic{width:40px;height:40px;flex:0 0 40px;background:#fff;border-radius:8px;color:#0a5c50;display:flex;align-items:center;justify-content:center}
.vt-ic svg{width:32px;height:32px}
.vt-row .vt-l{flex:1 1 120px;min-width:0;width:auto}.vt-row .vt-t{flex:0 0 5.2em;width:5.2em}
.vt-btns{display:flex;gap:4px;margin-left:auto}
.vt-btns .btn{min-width:36px;min-height:36px;padding:4px 8px}
.vt-stage{background:var(--bg);padding:12px}
.vt-stage:fullscreen,.vt-stage.fill{position:fixed;inset:0;z-index:60;overflow:auto;display:flex;flex-direction:column}
.vt-sbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}
.vt-sview{flex:1;display:flex;align-items:center;justify-content:center}
.vt-big{background:#fff;color:#1f2a37;border:3px solid #c9d1ce;border-radius:18px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:150px}
.vt-big svg{width:clamp(70px,12vw,150px);height:clamp(70px,12vw,150px);color:#0a5c50}
.vt-big b{font-size:clamp(1.1rem,2.4vw,2rem);text-align:center}
.vt-big small{font-size:1rem;color:#555}
.vt-big.now{border-color:#0e7c6b;box-shadow:0 0 0 6px rgba(14,124,107,.25)}
.vt-big.done{opacity:.35}
.vt-big.empty{min-height:200px;justify-content:center}
.vt-strip{display:flex;gap:12px;overflow-x:auto;padding:10px;max-width:100%}
.vt-strip .vt-big{flex:0 0 auto}
.vt-nnv{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,4vw,48px);width:min(100%,1000px)}
.vt-nnv .vt-big{min-height:clamp(220px,40vh,420px);justify-content:center}
.vt-nnv .vt-big svg{width:clamp(90px,18vw,220px);height:clamp(90px,18vw,220px)}
.vt-h{text-align:center;font-weight:800;font-size:clamp(1.2rem,3vw,2.2rem);margin:0 0 8px}
.vt-psheet .vt-pc{border:2px solid #333;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;padding:3mm;text-align:center;break-inside:avoid;color:#000}
.vt-psheet .vt-pc svg{color:#000}
.vt-psheet .vt-pc b{font-size:13pt}.vt-psheet .vt-pc small{font-size:10pt}
.vt-pst{display:grid;gap:3mm}
.vt-pstrip.across .vt-pst{grid-template-columns:repeat(6,1fr)}.vt-pstrip.across .vt-pc svg{width:22mm;height:22mm}
.vt-pstrip.down .vt-pst{grid-template-columns:1fr;width:60mm}.vt-pstrip.down .vt-pc{flex-direction:row;justify-content:flex-start;padding:1.5mm 3mm}.vt-pstrip.down .vt-pc svg{width:13mm;height:13mm}
.vt-pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}
.vt-pcards .vt-pc{height:62mm}.vt-pcards .vt-pc svg{width:34mm;height:34mm}.vt-pcards .vt-pc b{font-size:16pt}
.vt-pnn{display:grid;grid-template-columns:1fr 1fr;gap:10mm}
.vt-pnn div{border:3px solid #000;border-radius:14px;height:150mm;display:flex;flex-direction:column;align-items:center;padding:6mm}
.vt-pnn b{font-size:30pt}.vt-pnn span{flex:1;width:80%;margin-top:6mm;border:2px dashed #999;border-radius:10px}
@media (max-width:520px){.vt-nnv{grid-template-columns:1fr}.vt-btns{margin-left:0}}
