/* ══════════════════════════════════════════════════════════
   THEME — 프로덕션 툴 (CLAUDE.md 스펙)
   중립 다크(#0d0e10) + 오렌지 단일 액센트. 퍼플/글래스 없음.
   style.css / home.css 뒤에 로드하여 하드코딩 값을 override 한다.
   · 오렌지(#ff8c1a) = CTA/LIVE/활성   · 미터색 = 기능 신호
   ══════════════════════════════════════════════════════════ */

body{
  background:var(--bg-light);
  color:var(--text-dark);
  font-family:'Pretendard','Pretendard Variable',-apple-system,'Noto Sans KR',sans-serif;
}

/* ── PIN 잠금 화면 ── */
#pin-screen{ background:#0d0e10; }
.pin-box{
  background:var(--bg-card);
  border:1px solid var(--border-l);
  border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.pin-logo{ color:var(--accent); }
.pin-title{ color:var(--text-dark); }
.pin-key{ background:var(--bg-panel-2); border:1px solid var(--border-l); border-radius:6px; color:var(--text-dark); }
.pin-key:hover{ color:var(--accent); border-color:var(--accent); background:#1f2227; }
.pin-ok{ background:var(--accent); color:#1a0f04; border-color:var(--accent); }

/* ── 세션 상세 (노래 목록) → 중립 다크 ── */
.view-service{ background:var(--bg-light); color:var(--text-dark); min-height:100vh;
  font-family:'Pretendard','Pretendard Variable',-apple-system,'Noto Sans KR',sans-serif; }
.page-title{ color:var(--text-dark); letter-spacing:-.01em; }
.page-subtitle{ font-family:var(--hx-mono,'JetBrains Mono',monospace); color:var(--text-lite); }
.service-week-badge{ background:rgba(255,140,26,.14); color:var(--accent); border-radius:5px; }
.btn-back-page{ border-radius:6px; border-color:var(--border-l); }
.btn-back-page:hover{ border-color:var(--accent); color:var(--accent); }
.service-meta{ background:var(--bg-card); border:1px solid var(--border-l); border-radius:8px; }
.meta-label{ color:var(--text-lite); }

.team-section{
  background:var(--bg-card);
  border:1px solid var(--border-l);
  border-radius:8px;
  box-shadow:none;
}
.team-header{ border-bottom:1px solid var(--border-l); }
.team-icon{ background:var(--bg-panel-2); border:1px solid var(--border-l); color:var(--text-dark); box-shadow:none; }
.team-name{ color:var(--text-dark); }
.song-item{ background:#131519; border:1px solid var(--border-l); border-radius:6px; }
.song-item:hover{
  background:var(--bg-surface-hover,#22252a); border-color:#33363d;
  box-shadow:none; transform:none;
}
.song-number{ background:var(--bg-panel-2); color:var(--text-lite); font-family:var(--hx-mono,'JetBrains Mono',monospace); }
.song-name{ color:var(--text-dark); }
.song-meta{ font-family:var(--hx-mono,'JetBrains Mono',monospace); color:var(--text-lite); }
.song-play-icon{ color:var(--text-lite); }
.song-item:hover .song-play-icon{ color:var(--accent); }

/* 전체 곡 연속 듣기 카드: 중립 서피스 + 오렌지 CTA */
.play-all-card{
  background:var(--bg-card);
  border:1px solid var(--border-l);
  border-radius:8px;
  box-shadow:none;
}
.play-all-info h3{ color:var(--text-dark); }
.play-all-info p{ color:var(--text-lite); }
.btn-play-all{
  background:var(--accent); color:#1a0f04;
  border-radius:6px; box-shadow:none;
  display:inline-flex; align-items:center;
}
.btn-play-all:hover{ background:#ffa03d; transform:none; }
.btn-play-team{
  background:transparent; color:var(--accent);
  border:1px solid var(--border-l); border-radius:6px;
  display:inline-flex; align-items:center;
}
.btn-play-team:hover{ border-color:var(--accent); background:rgba(255,140,26,.08); }
.btn-play-team .mi svg{ width:13px; height:13px; }

/* 수치·시간·날짜 모노 */
.page-title, .song-meta, .meta-value, .time-display, .status-bar{ font-feature-settings:"tnum"; }

/* ── 콘솔(플레이어) — 중립 + 오렌지 ── */
.console-header{
  background:var(--bg-card);
  border-bottom:1px solid var(--border-l);
  box-shadow:none;
}
.logo{ color:var(--accent); text-shadow:none; }
.master-strip{ border-color:var(--accent); box-shadow:none; }

/* ── 홈 오렌지 액센트 ── */
.hx-logo{ color:var(--hx-orange); text-shadow:none; }
.hx-search:focus-within{ border-color:#3a3e46; box-shadow:none; background:var(--hx-surface-2); }
.hx-avatar{ border-color:var(--hx-border); color:var(--hx-dim); }
.hx-mode-btn.pc:hover{ color:var(--hx-orange); border-color:rgba(255,140,26,.5); background:rgba(255,140,26,.08); }
.hx-row.is-latest{ box-shadow:inset 3px 0 0 var(--hx-orange); }
.hx-vt-btn.is-active{ color:var(--hx-text); }

/* ── Lucide 인라인 아이콘 (.mi) ── */
.mi{ display:inline-flex; align-items:center; vertical-align:-2px; margin-right:5px; color:currentColor; }
.mi svg{ width:15px; height:15px; stroke-width:1.5; }
.view-service svg{ width:15px; height:15px; stroke-width:1.5; }
.song-play-icon svg{ width:16px; height:16px; }
.team-leader{ display:flex; align-items:center; gap:0; }
.meta-label{ display:inline-flex; align-items:center; }
.btn-play-all .mi svg{ width:14px; height:14px; }
