[hidden] { display:none!important; }
.hunt-app { grid-template-rows:auto auto minmax(0,1fr); }
.hunt-app:has(> .curriculum-tool-context) { grid-template-rows:auto auto auto minmax(0,1fr); }
.hunt-app button,.hunt-app summary,.hunt-dialog button { min-height:44px; border:2px solid #ccdbe4; border-radius:8px; background:#fff; color:#102131; font:inherit; font-weight:700; cursor:pointer; padding:8px 12px; }
.hunt-app .top-actions button { background:#122436; color:#fff; border-color:#263d51; }
.hunt-app button:disabled { cursor:default; opacity:.5; }
.hunt-app button:focus-visible,.hunt-app summary:focus-visible,.hunt-app input:focus-visible { outline:3px solid #006b99; outline-offset:2px; }
.hunt-app button.hunt-primary { background:#0878a6; color:#fff; border-color:#0878a6; }
.hunt-toolbar { display:flex; align-items:center; gap:18px; padding:6px 16px; background:#fff; border-bottom:1px solid #ccdbe4; font-weight:700; }
.hunt-toolbar details { position:relative; }
.hunt-settings-panel { position:absolute; z-index:20; width:320px; max-width:calc(100vw - 24px); top:100%; left:0; padding:16px; background:#fff; box-shadow:0 8px 24px #10213140; border:1px solid #ccdbe4; border-radius:8px; }
.hunt-settings-panel fieldset { border:0; margin:0; padding:0; }
.hunt-settings-panel label { display:flex; gap:8px; align-items:center; margin:10px 0; }
.hunt-settings-panel input[type=number] { width:90px; min-height:44px; font-size:1.2rem; }
#settingsError:empty { display:none; }
.hunt-workspace { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) clamp(280px,27vw,360px); gap:12px; padding:12px; }
.hunt-board { display:grid; grid-template-rows:52px minmax(0,1fr); min-height:0; border-radius:10px; background:#fff; padding:8px; }
.hunt-board h2 { margin:0; text-align:center; align-self:center; font-size:clamp(1.2rem,2vw,1.75rem); }
.hunt-grid { display:grid; place-items:center; min-width:0; min-height:0; }
.hunt-grid figure { margin:0; width:var(--hunt-grid-size,100%); max-width:100%; }
.hunt-grid figure figcaption,.hunt-cards figcaption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.hunt-grid .number-grid-visual { display:block; width:100%; max-width:none; height:auto; }
.hunt-panel { min-height:0; display:flex; flex-direction:column; gap:12px; padding:12px; background:#fff; border-radius:10px; }
.hunt-cards { height:90px; flex:0 0 90px; padding-bottom:22px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr); place-items:center; }
.hunt-cards > div { min-height:0; height:100%; width:100%; }
.hunt-cards figure { margin:0; width:100%; height:100%; }
.hunt-cards svg { display:block; width:100%; height:100%; }
.hunt-givens { position:relative; }
.hunt-set-labels { position:absolute; bottom:0; left:0; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:center; font-weight:700; font-size:.9rem; }
.hunt-set-labels span { padding:2px; border-radius:4px; }
#firstSetLabel { background:#cbe942; }
#secondSetLabel { background:#58c5e8; }
.hunt-app[data-stage=mark] .hunt-set-labels { visibility:hidden; }
.hunt-marks,.hunt-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.hunt-marks button { font-size:1.05rem; }
#markFirst { border-color:#6a7c1b; }
#markSecond { border-color:#14708d; }
#markFirst[aria-pressed=true] { background:#cbe942; color:#102131; }
#markSecond[aria-pressed=true] { background:#58c5e8; color:#102131; }
#noneCommon[aria-pressed=true] { background:#fff0c9; border-color:#9b6a00; }
.hunt-feedback { min-height:94px; padding:12px; background:#eef4f8; border-radius:8px; font-size:1.08rem; line-height:1.35; overflow-wrap:anywhere; }
.hunt-feedback[data-tone=success] { background:#e3f4e9; }
.hunt-feedback[data-tone=error] { background:#fff0e6; }
.hunt-beyond { border-top:1px solid #ccdbe4; padding-top:8px; }
.hunt-beyond h3 { margin:0 0 8px; }
.hunt-beyond form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.hunt-beyond label { grid-column:1/-1; }
.hunt-beyond input { min-width:0; width:100%; min-height:44px; font:inherit; font-size:1.3rem; border:2px solid #ccdbe4; border-radius:6px; padding:6px; }
.hunt-beyond .hunt-actions { margin-top:8px; }
#beyondFeedback { margin:8px 0 0; min-height:44px; line-height:1.3; }
.hunt-dialog { border:0; border-radius:10px; max-width:420px; padding:24px; }
.hunt-dialog::backdrop { background:#10213180; }
@media(max-height:760px) and (min-width:760px) {
  .hunt-workspace { padding:8px; gap:8px; }
  .hunt-panel { gap:8px; padding:8px; }
  .hunt-cards { height:64px; flex-basis:64px; }
  .hunt-feedback { min-height:74px; padding:8px; font-size:1rem; }
  .hunt-beyond h3 { display:none; }
  .hunt-beyond { padding-top:4px; }
  .hunt-beyond label { font-size:.95rem; }
  #beyondFeedback { font-size:.95rem; min-height:40px; }
}
@media(max-width:759px) {
  .hunt-app { height:auto; min-height:100dvh; overflow:visible; }
  .hunt-workspace { grid-template-columns:1fr; }
  .hunt-board { min-height:0; grid-template-rows:48px auto; }
  .hunt-grid { height:auto; }
  .hunt-grid figure { width:100%; }
  .hunt-panel { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .hunt-givens { grid-column:1/-1; }
  .hunt-cards { height:64px; }
  .hunt-marks { grid-template-columns:1fr 1fr; grid-column:1/-1; }
  .hunt-actions,.hunt-feedback,.hunt-beyond,#noneCommon { grid-column:1/-1; }
  .hunt-toolbar { gap:10px; font-size:.9rem; padding-inline:8px; flex-wrap:wrap; }
  .hunt-feedback { min-height:74px; }
}
@media(max-width:520px) {
  html[data-maths-modelled-specialist-brand="v1"] .hunt-app .brand-logo img { width:80px; max-width:80px; height:auto; }
}
@media print {
  @page spire-tool { size:A4 landscape; margin:10mm; }
  html[data-spire-print-page="a4-landscape"],html[data-spire-print-page="a4-landscape"] body { width:277mm!important; height:190mm!important; max-height:190mm!important; min-height:0!important; overflow:visible!important; background:#fff; }
  .hunt-app { display:block!important; height:auto!important; overflow:visible!important; }
  .topbar,.hunt-toolbar,.hunt-actions,.hunt-marks,#noneCommon,.hunt-dialog,dialog,.hunt-beyond button { display:none!important; }
  .hunt-workspace { display:grid!important; grid-template-columns:170mm 90mm; height:158mm; padding:0; gap:8mm; break-inside:avoid; }
  .hunt-board { grid-template-rows:14mm 140mm; padding:0; }
  .hunt-board h2 { font-size:16pt; }
  .hunt-grid { height:140mm; }
  .hunt-grid figure { width:140mm!important; }
  .hunt-panel { display:flex!important; padding:4mm 0; gap:4mm; }
  .hunt-cards { height:24mm; flex-basis:24mm; }
  .hunt-app .hunt-set-labels { visibility:visible!important; font-size:11pt; }
  .hunt-feedback { font-size:14pt; min-height:0; padding:3mm; background:#fff; }
  .hunt-beyond { font-size:13pt; }
  .hunt-beyond h3 { display:block; }
  #beyondFeedback { font-size:13pt; }
}
@media(forced-colors:active) {
  .hunt-app button[aria-pressed=true] { outline:3px solid Highlight; }
}
