/* practice.html — 실습 허브 페이지 */
.practice-page {
  min-height: calc(100vh - 70px);
  padding: 6rem 1.25rem 3rem;
  background: #0a0a0a;
}
.practice-inner {
  max-width: 1180px;
  margin: 0 auto;
}
.practice-header {
  text-align: center;
  margin-bottom: 2rem;
}
.practice-header h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  margin: 0 0 .5rem;
  background: linear-gradient(90deg, #00d4ff, #e2b714);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.practice-header p {
  color: #a0a0a0;
  font-size: 1rem;
  margin: 0;
}

/* Tabs */
.practice-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  justify-content: center;
  margin: 1.25rem 0 1.5rem;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: .75rem;
}
.practice-tab {
  background: #161616;
  border: 1px solid #2a2a2a;
  color: #c0c0c0;
  font-size: .95rem;
  font-weight: 600;
  padding: .6rem 1.1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: all .18s ease;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.practice-tab:hover {
  border-color: #00d4ff;
  color: #00d4ff;
}
.practice-tab.active {
  background: linear-gradient(135deg, rgba(0,212,255,.18), rgba(226,183,20,.12));
  border-color: #00d4ff;
  color: #00d4ff;
  box-shadow: 0 0 12px rgba(0,212,255,.18);
}
.practice-tab .tab-ico {
  font-size: 1.1rem;
}

/* Section headers */
.practice-desc {
  background: #111;
  border: 1px solid #2a2a2a;
  border-left: 3px solid #00d4ff;
  padding: .85rem 1.1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
  color: #c0c0c0;
  font-size: .92rem;
  line-height: 1.55;
}
.practice-desc strong { color: #00d4ff; }

/* Mount slot */
#practice-sandbox {
  min-height: 520px;
}

@media (max-width: 720px) {
  .practice-page { padding: 5rem .6rem 2rem; }
  .practice-tab { font-size: .85rem; padding: .5rem .8rem; }
}
