/* 이슈 편성표 — 공통 토큰과 기본 스타일 */
:root{
  --bg:#0C0C0E;
  --panel:#141417;
  --panel-2:#1B1B20;
  --ink:#F2F0EA;          /* 웜 아이보리 텍스트 */
  --ink-soft:#98959E;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --gold:#D4B274;         /* 샴페인 골드 — 유일한 포인트 컬러 */
  --gold-hi:#E6CC96;
  --onair:#E5484D;
  --c-cook:#FF8A4C;
  --c-travel:#3DD6A3;
  --c-ent:#F272B6;
  --c-movie:#A88BFA;
  --c-music:#6CA8F8;
  --c-game:#5ADE7B;
  --c-politics:#A3ADBD;
  --c-news:#F87171;
  --c-people:#F5C453;
  --radius:12px;
  --serif:'Fraunces','Noto Serif KR',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}
body{
  font-family:'IBM Plex Sans KR',sans-serif;
  background:var(--bg);
  color:var(--ink);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(212,178,116,.35)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#2A2A30;border-radius:6px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}

/* ---------- 브랜드 ---------- */
.brand{
  font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:-0.01em;
  display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;
}
.onair-dot{
  width:9px;height:9px;border-radius:50%;background:var(--onair);
  box-shadow:0 0 0 0 rgba(229,72,77,.5);animation:pulse 2.4s infinite;flex-shrink:0;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(229,72,77,.45)}
  70%{box-shadow:0 0 0 9px rgba(229,72,77,0)}
  100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}
}
@media (prefers-reduced-motion: reduce){
  .onair-dot{animation:none}
  *{transition:none!important;animation:none!important}
}

/* ---------- 버튼 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:10px;padding:12px 22px;font-family:inherit;font-size:14.5px;font-weight:700;
  cursor:pointer;text-decoration:none;border:1px solid transparent;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.btn:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.btn-gold{
  color:#161410;
  background:linear-gradient(160deg,var(--gold-hi) 0%,var(--gold) 55%,#B8975C 100%);
  box-shadow:0 4px 18px rgba(212,178,116,.24), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-gold:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}
.btn-gold:disabled{background:#2A2A30;box-shadow:none;color:#7A7A82;cursor:default}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:8px}
.btn-block{width:100%}
.link{color:var(--gold);text-decoration:none;background:none;border:none;font:inherit;cursor:pointer;padding:0}
.link:hover{color:var(--gold-hi);text-decoration:underline}

/* ---------- 입력 ---------- */
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.field input,.field textarea{
  width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;
  padding:12px 13px;color:var(--ink);font-family:inherit;font-size:14.5px;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.form-msg{font-size:13px;line-height:1.6;border-radius:8px;padding:10px 12px;margin-bottom:14px}
.form-msg.err{background:rgba(229,72,77,.09);border:1px solid rgba(229,72,77,.35);color:#F1A0A3}
.form-msg.ok{background:rgba(61,214,163,.08);border:1px solid rgba(61,214,163,.3);color:#8FE3C6}

.eyebrow{
  font-family:'Archivo',sans-serif;font-size:10px;font-weight:800;letter-spacing:.24em;color:var(--gold);
}
.serif{font-family:var(--serif)}
.stars{font-size:11.5px;letter-spacing:2px;color:var(--gold);white-space:nowrap}
.stars .off{color:#3A3A41}
