.tol_canvas {
  width: 70vw;
  height: 80vh;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(-50%,-50%);
  background-color: #C8C8C8;
  border-radius: 25px;
  border: 2px solid #606060;
}


.tol_peg_board {
  width: 25vw;
  height: 20vw;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(10%,-50%);
}

.tol_your_board {
  width: 25vw;
  height: 20vw;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(-110%, -50%);
}

.tol_base {
  width: 100%;
  height: 3vw;
  background-color: brown;
  position:absolute;
  top:100%
}

.tol_board_label {
  position: absolute;      /* anchor to .tol_your_board / .tol_peg_board */
  left: 0;
  width: 100%;             /* same width as the base */
  height: 2vw;
  top: calc(100% + 0.5vw); /* vertically center within a 3vw base: (3-2)/2 = 0.5vw */
  transform: none;         /* no translate needed now */
  text-align: center;
  line-height: 2vw;        /* vertically center text inside the label box */
  font-size: 30px;
  color: white;
  white-space: nowrap;
  pointer-events: none;    /* clicks pass through (won’t block pegs/overlay) */
  z-index: 1;
}

#tol_peg_1 {
  width:20%;
  height: 103%;
  position:absolute;
  top:0%;
  left:0%;
  margin-right:-50%;
    -moz-transform:rotate(180deg);
  -webkit-transform:rotate(180deg);
  -o-transform:rotate(180deg);
  -ms-transform:rotate(180deg);
  
}

#tol_peg_2 {
  width:20%;
  height: 70%;
  position:absolute;
  top:33%;
  left:35%;
  margin-right:-50%;
    -moz-transform:rotate(180deg);
  -webkit-transform:rotate(180deg);
  -o-transform:rotate(180deg);
  -ms-transform:rotate(180deg);
}

#tol_peg_3 {
  width:20%;
  height: 36%;
  position:absolute;
  top:67%;
  left:70%;
  margin-right:-50%;
    -moz-transform:rotate(180deg);
  -webkit-transform:rotate(180deg);
  -o-transform:rotate(180deg);
  -ms-transform:rotate(180deg);
}

.tol_ball {
  width: 5vw;
  height: 5vw;
  background: red;
  -moz-border-radius: 2.5vw;
  -webkit-border-radius: 2.5vw;
  border-radius: 2.5vw;
  margin-top: 1vw;
  position: relative;
}

.tol_hand_ball {
  width: 5vw;
  height: 5vw;
  background: red;
  -moz-border-radius: 2.5vw;
  -webkit-border-radius: 2.5vw;
  border-radius: 2.5vw;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}

.tol_peg {
  width: 25%;
  height: 101%;
  background-color: brown;
  margin-left: 37%;
  margin-right: 37%;
  position: relative;
  vertical-align: bottom;
  border-radius: 15px;
}

.tol_Red {
  background: red;
}

.tol_Green {
  background: #00CC33;
}

.tol_Blue {
  background: #0099FF;
}

.tol_hand_box {
  width: 10vw;
  height: 9vw;
  position:absolute;
  top:15%;
  left:30%;
  margin-right:-50%;
  background-color: gray;
  border-radius: 25px;
  border: 2px solid #606060;
  /* remove the stray/incorrect rotate lines */
  /* -moz-transform:rotate80deg);
  -webkit-transform:rotate(180deg);
  -o-transform:rotate(180deg);
  -ms-transform:rotate(180deg); */
}

.tol_hand_label {
  /* old values … */
  /* width: 15vw;
     height: 10vw;
     top:11.5%;
     left:31%;
     margin-right:-50%; */
  position: absolute;
  top: 15%;                         /* align with box top */
  left: calc(30% + 5vw);            /* 30% + half the 10vw box = box center */
  transform: translate(-50%, -120%);/* center horizontally, move above box with gap */
  font-size: 25px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;             /* clicks pass through */
}

.tol_topbox {
  width:60vw;
  height: 30vw;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(-50%,-70%);
}

.tol_bottombox {
  width:60vw;
  height: 20vw;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(-50%,70%);
}

.tol_feedbackbox {
  width:42vw;
  height: 10vh;
  position:absolute;
  top:50%;
  left:50%;
  margin-right:-50%;
  transform: translate(-50%,-360%);
}

.jspsych-instructions-nav {
  text-align: center;
  margin-top: 0px;
  position: relative;
  z-index: 1;
}


.progress, 
.progress-bar, 
[class*="completion"],
[class*="Progress"] {
    display: none !important;
}

.jspsych-display-element {
    width: auto !important;
    height: auto !important;
    display: block !important;
}

.jspsych-content {
    max-width: 95%;
    text-align: center;
    margin: auto;
    background-color: white;
    padding: 20px;
}

body {
    margin: 0;
    padding: 0;
}
.clickable-peg {
  cursor: pointer;
  transition: all 0.2s ease;
}

.clickable-peg:hover {
  transform: scale(1.05);
  filter: brightness(1.1);
}

.clickable-peg:active {
  transform: scale(0.95);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.jspsych-content {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

.block-text {
    font-size: 20px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 20px;
    text-align: left;
    max-width: 65ch; /* 约65个字符宽度 */
}

.center-block-text {
    font-size: 20px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 25px;
    max-width: 70ch;
    margin-left: auto;
    margin-right: auto;
}

.jspsych-btn {
    font-size: 16px;
    font-weight: 500;
    padding: 12px 24px;
    letter-spacing: 0.025em;
}

.jspsych-instructions-nav button {
    font-size: 16px;
    font-weight: 500;
    padding: 10px 20px;
}

/* Ball letter: center it in the circle (used by BOTH boards and hand) */
.tol_ball_label{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* tweak -55%..-60% if you want */
  font-size: 40px;
  line-height: 1;
  text-align: center;
  user-select: none;
  pointer-events: none;
}

/* Only labels on the boards need to be flipped (pegs are rotated) */
.tol_your_board .tol_ball_label,
.tol_peg_board  .tol_ball_label{
  transform: translate(-50%, -50%) rotate(180deg);
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
}

/* Make "You got it!" (and other feedback) bigger & bold */
.tol_feedbackbox .center-text {
  font-size: 24px; /* pick a size; scales with screen */
  font-weight: 700;
  text-align: center;
  margin: 0;
}

.final-message {
  font-size: 24px; /* responsive: 24–40px */
  font-weight: 500;                  /* bold */
  text-align: center;
  margin-top: 100px;
  line-height: 1.6;
}
