.parkourSection{
  border-bottom: 0;
}

.parkourBack{
  margin: 0 0 0.8rem;
}

.parkourBack a{
  color: rgba(205,225,255,0.95);
  text-decoration: none;
  border-bottom: 1px solid rgba(205,225,255,0.4);
}

.parkourBack a:hover{
  border-bottom-color: rgba(205,225,255,0.85);
}

.parkourIntro{
  margin: 0 0 1rem;
}

.parkourShell{
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 1rem;
}

.parkourPanel{
  border: 1px solid rgba(233,233,239,0.18);
  border-radius: 14px;
  background: rgba(255,255,255,0.02);
  padding: 0.9rem;
  display: grid;
  gap: 0.6rem;
  align-content: start;
}

.parkourMetric{
  border: 1px solid rgba(233,233,239,0.16);
  border-radius: 10px;
  padding: 0.55rem 0.62rem;
  background: rgba(10,13,20,0.56);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.55rem;
}

.parkourMetric span{
  color: rgba(233,233,239,0.74);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.parkourMetric strong{
  font-size: 1.25rem;
}

.parkourTuning{
  border: 1px solid rgba(233,233,239,0.16);
  border-radius: 10px;
  padding: 0.6rem;
  background: rgba(10,13,20,0.56);
  display: grid;
  gap: 0.5rem;
}

.parkourTuning h2{
  margin: 0;
  font-size: 0.86rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(233,233,239,0.74);
}

.parkourTuneRow{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.45rem;
}

.parkourTuneRow span{
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(233,233,239,0.78);
}

.parkourTuneRow input[type="range"]{
  width: 100%;
}

.parkourTuneRow strong{
  font-size: 0.82rem;
  color: rgba(233,233,239,0.9);
  min-width: 56px;
  text-align: right;
}

.parkourControls{
  border: 1px solid rgba(233,233,239,0.16);
  border-radius: 10px;
  padding: 0.6rem;
  background: rgba(10,13,20,0.56);
}

.parkourSamplerCard{
  border: 1px solid rgba(233,233,239,0.16);
  border-radius: 10px;
  padding: 0.6rem;
  background: rgba(10,13,20,0.56);
  display: grid;
  gap: 0.46rem;
}

.parkourSamplerCard h2{
  margin: 0;
  font-size: 0.86rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(233,233,239,0.74);
}

.parkourSamplerCard p{
  margin: 0;
  color: rgba(233,233,239,0.72);
  font-size: 0.78rem;
  line-height: 1.3;
}

.parkourSamplerHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.parkourSamplerHead button{
  border: 1px solid rgba(124,177,255,0.56);
  border-radius: 8px;
  background: rgba(58,123,253,0.18);
  color: rgba(220,235,255,0.96);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.24rem 0.46rem;
  cursor: pointer;
}

.parkourSamplerHead button:hover{
  background: rgba(58,123,253,0.26);
}

.parkourSamplerViewport{
  height: 206px;
  border: 1px solid rgba(233,233,239,0.16);
  border-radius: 9px;
  overflow: hidden;
  touch-action: none;
  background:
    radial-gradient(110% 145% at 16% 0%, rgba(58,123,253,0.22), transparent 56%),
    rgba(6,9,14,0.92);
  transition: height 180ms ease;
}

.parkourSamplerViewport canvas{
  display: block;
}

.parkourSamplerViewportWrap{
  position: relative;
}

.parkourSamplerRotate{
  position: absolute;
  right: 0.56rem;
  bottom: 0.56rem;
  z-index: 5;
  border: 1px solid rgba(124,177,255,0.66);
  border-radius: 8px;
  background: rgba(7,14,28,0.78);
  color: rgba(220,235,255,0.96);
  font: inherit;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.28rem 0.44rem;
  cursor: pointer;
}

.parkourSamplerRotate:hover{
  background: rgba(14,24,44,0.92);
}

.parkourSamplerCard.parkourSamplerCardLarge .parkourSamplerViewport{
  height: 340px;
}

.parkourControls h2{
  margin: 0 0 0.45rem;
  font-size: 0.86rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(233,233,239,0.74);
}

.parkourControls p{
  margin: 0 0 0.32rem;
  color: rgba(233,233,239,0.88);
}

.parkourControls p:last-child{
  margin-bottom: 0;
}

.parkourControls kbd{
  border: 1px solid rgba(233,233,239,0.22);
  border-bottom-width: 2px;
  border-radius: 6px;
  padding: 0.06rem 0.32rem;
  background: rgba(255,255,255,0.05);
  font-family: inherit;
  font-size: 0.8rem;
}

#pkRestart{
  border: 1px solid rgba(124,177,255,0.66);
  border-radius: 10px;
  background: rgba(58,123,253,0.16);
  color: rgba(220,235,255,0.96);
  font: inherit;
  font-weight: 700;
  padding: 0.5rem 0.72rem;
  cursor: pointer;
}

#pkRestart:hover{
  background: rgba(58,123,253,0.24);
}

.parkourHint{
  margin: 0;
  color: rgba(233,233,239,0.72);
  font-size: 0.84rem;
}

.parkourViewportWrap{
  position: relative;
  border: 1px solid rgba(233,233,239,0.18);
  border-radius: 14px;
  background:
    radial-gradient(120% 160% at 12% 0%, rgba(58,123,253,0.18), transparent 56%),
    rgba(6,9,14,0.8);
  padding: 0.5rem;
}

.parkourViewport{
  height: max(540px, 74vh);
  border-radius: 10px;
  overflow: hidden;
  cursor: crosshair;
}

.parkourViewport canvas{
  display: block;
}

.parkourFullscreen{
  position: absolute;
  top: 0.92rem;
  right: 0.92rem;
  z-index: 6;
  border: 1px solid rgba(124,177,255,0.62);
  border-radius: 10px;
  background: rgba(58,123,253,0.22);
  color: rgba(220,235,255,0.96);
  font: inherit;
  font-weight: 700;
  padding: 0.38rem 0.62rem;
  cursor: pointer;
}

.parkourFullscreen:hover{
  background: rgba(58,123,253,0.3);
}

.parkourTouchOverlay{
  display: none;
}

.parkourTouchLook,
.parkourTouchLeft button{
  touch-action: none;
}

@media (pointer: coarse){
  .parkourTouchOverlay{
    position: absolute;
    inset: 0.5rem;
    border-radius: 10px;
    pointer-events: none;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }

  .parkourTouchLeft{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.55rem;
    pointer-events: auto;
  }

  .parkourTouchLeft button{
    min-width: 94px;
    border: 1px solid rgba(124,177,255,0.58);
    border-radius: 12px;
    padding: 0.56rem 0.8rem;
    background: rgba(8,14,26,0.72);
    color: rgba(224,237,255,0.96);
    font: inherit;
    font-weight: 700;
  }

  .parkourTouchLook{
    width: min(48%, 280px);
    margin-left: auto;
    border: 1px dashed rgba(233,233,239,0.24);
    border-radius: 12px;
    background: rgba(10,13,20,0.26);
    pointer-events: auto;
  }
}

@media (max-width: 980px){
  .parkourShell{
    grid-template-columns: 1fr;
  }
  .parkourViewport{
    height: max(430px, 58vh);
  }
}
