/* มินิเกมฝึกหัน — หน้าแยก ไม่ใช้ blocks.css / student.css ของด่านหลัก */
.pr{
  display:flex; flex-direction:column;
  min-height:100dvh; gap:10px;
  padding:10px 12px 14px;
}
.pr-bar{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:8px 14px;
  background:linear-gradient(135deg,var(--royal-700),var(--royal-500));
  color:#fff; border-radius:18px; box-shadow:var(--sh-2);
}
.pr-bar .brand{ display:flex; align-items:center; gap:9px; font-weight:900; font-size:19px; }
.pr-bar .brand small{
  display:block; font-size:10.5px; font-weight:700; opacity:.75; letter-spacing:1.6px;
}
.pr-bar .brand > span > small:first-of-type{
  display:inline; font-size:10px; opacity:.5; letter-spacing:.06em; margin-left:6px;
}
.pr-bar .spacer{ margin-left:auto; }
.pr-bar a.btn{ text-decoration:none; }

.pr-main{
  flex:1; min-height:0;
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(240px,340px);
  gap:12px;
}
@media (max-width:720px){
  .pr-main{ grid-template-columns:1fr; }
}

.pr-map, .pr-pad{
  background:var(--panel); border-radius:var(--r-lg);
  box-shadow:var(--sh-1); padding:14px 16px 16px;
  display:flex; flex-direction:column; min-height:0;
}
.pr-map h2, .pr-pad h2{
  margin:0 0 8px; font-size:15px; color:var(--royal-700);
}
.pr-stage{
  flex:1; min-height:240px; display:grid; place-items:center;
}
.pr-stage canvas{
  width:min(100%, 72dvh); height:auto; max-height:min(72dvh, 560px);
  display:block; border-radius:16px;
}

.pr-hint{
  margin:10px 0 0; padding:12px 14px; border-radius:14px;
  background:var(--panel-2); font-size:16px; font-weight:700; line-height:1.45;
}
.pr-hint b{ color:var(--royal-600); font-size:20px; }

.pr-pad p{ margin:0 0 14px; color:var(--ink-soft); font-size:14.5px; line-height:1.5; }
.pr-btns{ display:flex; flex-direction:column; gap:12px; }
.pr-turn{
  display:flex; align-items:center; justify-content:center; gap:10px;
  min-height:72px; border:0; border-radius:18px; cursor:pointer;
  color:#fff; font-family:inherit; font-weight:800; font-size:22px;
  box-shadow:0 5px 0 rgba(0,0,0,.22), var(--sh-1);
}
.pr-turn:active{ transform:translateY(3px); box-shadow:0 2px 0 rgba(0,0,0,.22); }
.pr-turn__en{ font-size:15px; font-weight:600; opacity:.88; }
.pr-turn--left{ background:#e23d3d; }
.pr-turn--right{ background:#1f6fdb; }
.pr-turn .blk__icon{ font-size:28px; font-weight:900; }

.win-pop{
  position:fixed; left:50%; top:38%;
  z-index:50;
  padding:18px 28px; border-radius:22px;
  background:#fff; color:var(--royal-700);
  font-size:28px; font-weight:900;
  box-shadow:var(--sh-2);
  transform:translate(-50%,-50%);
  animation:popWin .4s ease forwards;
}
@keyframes popWin{
  from{ transform:translate(-50%,-50%) scale(.72); }
  to{ transform:translate(-50%,-50%) scale(1); }
}
