.exam-login {
  max-width:31rem;
}
.exam-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.exam-launch,.field-head,.field-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.exam-launch {
  margin-top:20px;
}
.exam-launch p {
  margin-top:6px;
}
#feedback {
  margin-top:12px;
}
#report {
  margin:0 0 28px;
}
.report-head {
  padding:24px 28px;
  background:var(--dark);
  color:white;
  border-radius:8px 8px 0 0;
}
.report-head p {
  color:#cee3fa;
}
.report-head h2 {
  margin:4px 0;
}
.report-module {
  margin:16px 0;
}
.condition-contrasts td:last-child { white-space: normal; min-width: 8em; }
.report-module h3 {
  border-left:3px solid #c91f24;
  padding-left:10px;
}
.report-counts {
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  margin:15px 0;
}
.report-counts dt {
  font-size:13px;
  color:var(--sub);
}
.report-counts dd {
  margin:0;
  font-size:18px;
  font-weight:650;
}
.report-warning {
  color:#813b14;
  margin-top:10px;
}
.field-head,.field-foot {
  width:100%;
}
.field-head h2 {
  font-size:26px;
}
.field-head {
  border-bottom:1px solid #ced8e2;
  padding:16px 0;
}
.field-head .eyebrow {
  font-size:13px;
  font-weight:650;
  color:var(--teal);
  margin-bottom:5px;
}
.field-head #progress {
  font-variant-numeric:tabular-nums;
}
.field-foot {
  padding:14px 0;
  border-top:1px solid #ced8e2;
}
.field-foot p {
  font-size:14px;
}
.field-foot button {
  flex-shrink:0;
}
body.exam-active {
  overflow:hidden;
}
#field {
  position:fixed;
  inset:0;
  background:#f7f9fc;
  z-index:20;
  padding:0 clamp(18px,6vw,100px);
  display:flex;
  flex-direction:column;
  color:#172e4a;
  user-select:none;
}
#seven-slots,#seven-map{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:14px;}
#seven-slots{top:48%}
#seven-map{top:78%;gap:18px;font-size:16px}
#seven-map>span{display:flex;flex-direction:column;align-items:center;gap:4px}
.g-slot{width:78px;height:78px;border:1px solid #b5c3d0;display:grid;place-items:center}
.g-slot.current{border:3px solid #163e6e}
.g-face{width:var(--face-size);height:var(--face-size);display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:1px;background:#273747;border:1px solid #273747}
#seven-map .g-face{width:30px;height:30px}
#seven-shape,#seven-dot,#seven-cue{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
#seven-cue{top:calc(50% - 96px);font-size:26px;font-weight:700;color:#193e67}
#seven-dot{width:48px;height:48px;border-radius:50%;background:#174374;z-index:1}
#arena {
  position:relative;
  flex:1;
  min-height:0;
  outline:none;
}
#fixation,#visual-target,#mouse-target,#choice-target,#pattern .face,#pattern-four .face,.guide {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
#fixation {
  font:400 26px/1 system-ui;
  color:#293846;
}
#visual-target,#mouse-target {
  border-radius:50%;
}
#mouse-target {
  border:1px solid #a7b5c4;
  display:grid;
  place-items:center;
}
#mouse-target span {
  display:block;
  border:1px dashed #77899d;
  border-radius:50%;
}
#mouse-target.on {
  border:0;
}
#mouse-target.on span {
  display:none;
}
.face {
  display:grid;
  grid-template-columns:repeat(2,var(--tile));
  grid-template-rows:repeat(2,var(--tile));
  background:#202d3a;
  gap:2px;
  padding:2px;
  border-radius:3px;
}
#choice-target[data-shape=circle] {
  border-radius:50%;
}
#choice-target[data-shape=triangle] {
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
#pattern-four [data-key]::after {
  content:attr(data-key);
  position:absolute;
  top:calc(100% + 7px);
  width:100%;
  font:500 15px/1.3 var(--mono);
  color:#42556c;
  text-align:center;
}
.face i {
  display:block;
  border-radius:1px;
}
.guide {
  text-align:center;
  width:min(520px,92%);
}
.guide p {
  margin:12px 0 20px;
}
.guide h3 {
  font-size:24px;
}
.field-foot button,.field-head * {
  animation:none;
  transition:none;
}
#history a {
  white-space:nowrap;
}
#field #seven-slots,#seven-map{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:14px;}
#seven-slots{top:48%}
#seven-map{top:78%;gap:18px;font-size:16px}
#seven-map>span{display:flex;flex-direction:column;align-items:center;gap:4px}
.g-slot{width:78px;height:78px;border:1px solid #b5c3d0;display:grid;place-items:center}
.g-slot.current{border:3px solid #163e6e}
.g-face{width:var(--face-size);height:var(--face-size);display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:1px;background:#273747;border:1px solid #273747}
#seven-map .g-face{width:30px;height:30px}
#seven-shape,#seven-dot,#seven-cue{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
#seven-cue{top:calc(50% - 96px);font-size:26px;font-weight:700;color:#193e67}
#seven-dot{width:48px;height:48px;border-radius:50%;background:#174374;z-index:1}
#arena {
  touch-action:none;
}
#report .panel {
  margin-bottom:12px;
}
@media(max-width:780px) {
  .exam-columns {
    grid-template-columns:1fr;
  }
  .exam-launch {
    align-items:start;
    flex-direction:column;
  }
  .field-head h2 {
    font-size:19px;
  }
  .field-head,.field-foot {
    gap:9px;
  }
  .field-head {
    align-items:end;
  }
  .field-head #progress {
    font-size:13px;
  }
}

#choice-target[data-shape=diamond] {
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
#choice-target[data-shape=cross] {
  clip-path:polygon(0 17%,17% 0,50% 33%,83% 0,100% 17%,67% 50%,100% 83%,83% 100%,50% 67%,17% 100%,0 83%,33% 50%);
}
#motor-board,#rotation-board {
  display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
}
#motor-board {box-sizing:content-box;background:#fafbfd;outline:1px solid #b7c8d5;touch-action:none;}
#rotation-board {width:900px;height:470px;}
#field.spatial-level-four {padding:0;}
.spatial-level-four .field-head,.spatial-level-four .field-foot {align-self:center;width:min(100%,1100px);}
#rotation-coach {display:block;width:260px;height:170px;margin:8px auto;}
#mot-board {position:absolute;display:block;left:50%;top:50%;transform:translate(-50%,-50%);background:#fafbfd;outline:1px solid #b7c8d5;touch-action:manipulation;}
#field[data-state=motion] #mot-board,#field[data-state=neutral] #mot-board,#field[data-state=cue] #mot-board {cursor:none;}
#mot-controls {display:flex;gap:12px;align-items:center;white-space:nowrap;}
#mot-controls button {transition:none;}

#dual-board {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:content-box;outline:1px solid #b7c8d5;touch-action:none;}
#field[data-module="match6"] .face {grid-template:repeat(3,var(--tile)) / repeat(3,var(--tile));}
#field[data-module="match6"] #pattern-four-target {outline:2px solid #1c4268;outline-offset:5px;}

/* Keep the grade-nine tracking plane stationary when the frozen rule replaces the movement prompt. */
#field[data-module="filter9"] .field-foot {flex:0 0 80px;}

/* The candidate layout keeps task coordinates independent of instruction and control wrapping. */
#field[data-geometry] {display:grid;grid-template-rows:84px minmax(0,1fr) 88px;}
#field[data-geometry] .field-head,#field[data-geometry] .field-foot {height:100%;min-width:0;overflow:auto;}
