/* VibeCrew 디자인 토큰 — 단일 진실 원천. 정의 변경은 별도 PR. */
/* v2 (Bridge direction) — 기존 변수명 유지 + --vc-* 신규 추가 */
:root {
  /* ===== 기존 변수 (v1 호환 — 사용 중인 것만 유지) ===== */
  /* --bg/--panel: standalone 페이지(intro.html·ir/index.html) 참조 */
  --bg:#07090f; --panel:#131826;
  --border:rgba(255,255,255,0.06);
  --text:#eaeef6; --muted:#6f7991;
  --primary:#5b8def;
  --danger:#f56565; --warn:#f6ad55; --ok:#48bb78;
  /* 간격 (4px 베이스) */
  --space-1:4px; --space-2:8px;
  /* 반경 */
  --radius-sm:6px; --radius-md:8px; --radius-lg:10px; --radius-xl:12px;
  /* 폰트 */
  --fs-2xs:10px;
  /* 그림자 */
  --shadow-md:0 8px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04);
  /* 모션 */
  --motion-fast:0.14s; --motion-normal:0.22s;

  /* ===== v2 신규 변수 (--vc-* 계열) ===== */
  /* Surface */
  --vc-bg:        #07090f;
  --vc-bg-2:      #0b0e16;
  --vc-bg-deep:   #04060c;
  --vc-bg-2-40:   rgba(11,14,22,0.40);
  --vc-bg-2-50:   rgba(11,14,22,0.50);
  --vc-bg-2-70:   rgba(11,14,22,0.70);
  --vc-surface:   #131826;
  --vc-surface-2: #1a2030;
  --vc-surface-3: #232b3e;
  --vc-bg-elev:   var(--vc-surface);
  --vc-surface-98: rgba(18,24,37,0.98);
  --vc-input:     #0a0d14;
  --vc-input-72:  rgba(10,13,20,0.72);
  --vc-overlay:   rgba(7,9,15,0.72);

  /* Lines */
  --vc-line:      var(--vc-white-06);
  --vc-line-2:    var(--vc-white-10);
  --vc-line-3:    var(--vc-white-18);
  --vc-border:    var(--vc-line);

  /* Text */
  --vc-text:      #eaeef6;
  --vc-text-2:    #a3acbd;
  --vc-muted:     #6f7991;
  --vc-faint:     #4a5366;
  --vc-on-accent: #ffffff;
  --vc-ink:       #000000;

  /* Brand / Accent */
  --vc-blue:      #5b8def;
  --vc-blue-h:    #4a7ad9;
  --vc-blue-2:    #7da9ff;
  --vc-purple:    #c084fc;
  --vc-purple-2:  #d9bcff;
  --vc-amber:     #f6ad55;
  --vc-amber-2:   #fbd9a8;
  --vc-green:     #48bb78;
  --vc-green-2:   #7ee2a0;
  --vc-red:       #f56565;
  --vc-red-h:     #e04848;
  --vc-red-deep:  #c53030;
  --vc-red-2:     #f9a0a0;

  /* Brand tints */
  --vc-blue-04:   rgba(91,141,239,0.04);
  --vc-blue-05:   rgba(91,141,239,0.05);
  --vc-blue-08:   rgba(91,141,239,0.08);
  --vc-blue-10:   rgba(91,141,239,0.10);
  --vc-blue-15:   rgba(91,141,239,0.15);
  --vc-blue-20:   rgba(91,141,239,0.20);
  --vc-blue-25:   rgba(91,141,239,0.25);
  --vc-blue-28:   rgba(91,141,239,0.28);
  --vc-blue-30:   rgba(91,141,239,0.30);
  --vc-blue-35:   rgba(91,141,239,0.35);
  --vc-blue-40:   rgba(91,141,239,0.40);
  --vc-blue-50:   rgba(91,141,239,0.50);
  --vc-blue-60:   rgba(91,141,239,0.60);
  --vc-blue-3-45: rgba(147,197,253,0.45);
  --vc-purple-06: rgba(192,132,252,0.06);
  --vc-purple-08: rgba(192,132,252,0.08);
  --vc-purple-10: rgba(192,132,252,0.10);
  --vc-purple-15: rgba(192,132,252,0.15);
  --vc-purple-20: rgba(192,132,252,0.20);
  --vc-purple-22: rgba(192,132,252,0.22);
  --vc-purple-25: rgba(192,132,252,0.25);
  --vc-purple-30: rgba(192,132,252,0.30);
  --vc-purple-55: rgba(192,132,252,0.55);
  --vc-amber-10:  rgba(246,173,85,0.10);
  --vc-amber-06:  rgba(246,173,85,0.06);
  --vc-amber-15:  rgba(246,173,85,0.15);
  --vc-amber-20:  rgba(246,173,85,0.20);
  --vc-amber-22:  rgba(246,173,85,0.22);
  --vc-amber-25:  rgba(246,173,85,0.25);
  --vc-amber-28:  rgba(246,173,85,0.28);
  --vc-amber-30:  rgba(246,173,85,0.30);
  --vc-amber-35:  rgba(246,173,85,0.35);
  --vc-amber-45:  rgba(246,173,85,0.45);
  --vc-amber-50:  rgba(246,173,85,0.50);
  --vc-green-05:  rgba(72,187,120,0.05);
  --vc-green-10:  rgba(72,187,120,0.10);
  --vc-green-15:  rgba(72,187,120,0.15);
  --vc-green-20:  rgba(72,187,120,0.20);
  --vc-green-22:  rgba(72,187,120,0.22);
  --vc-green-25:  rgba(72,187,120,0.25);
  --vc-green-30:  rgba(72,187,120,0.30);
  --vc-green-40:  rgba(72,187,120,0.40);
  --vc-green-50:  rgba(72,187,120,0.50);
  --vc-green-55:  rgba(72,187,120,0.55);
  --vc-green-60:  rgba(72,187,120,0.60);
  --vc-red-10:    rgba(245,101,101,0.10);
  --vc-red-18:    rgba(245,101,101,0.18);
  --vc-red-30:    rgba(245,101,101,0.30);
  --vc-red-40:    rgba(245,101,101,0.40);

  /* Neutral alpha surfaces */
  --vc-white-02:  rgba(255,255,255,0.02);
  --vc-white-025: rgba(255,255,255,0.025);
  --vc-white-03:  rgba(255,255,255,0.03);
  --vc-white-035: rgba(255,255,255,0.035);
  --vc-white-04:  rgba(255,255,255,0.04);
  --vc-white-045: rgba(255,255,255,0.045);
  --vc-white-05:  rgba(255,255,255,0.05);
  --vc-white-055: rgba(255,255,255,0.055);
  --vc-white-06:  rgba(255,255,255,0.06);
  --vc-white-07:  rgba(255,255,255,0.07);
  --vc-white-08:  rgba(255,255,255,0.08);
  --vc-white-10:  rgba(255,255,255,0.10);
  --vc-white-12:  rgba(255,255,255,0.12);
  --vc-white-15:  rgba(255,255,255,0.15);
  --vc-white-18:  rgba(255,255,255,0.18);
  --vc-white-20:  rgba(255,255,255,0.20);
  --vc-white-25:  rgba(255,255,255,0.25);
  --vc-white-30:  rgba(255,255,255,0.30);
  --vc-white-35:  rgba(255,255,255,0.35);
  --vc-white-50:  rgba(255,255,255,0.50);
  --vc-white-60:  rgba(255,255,255,0.60);
  --vc-white-70:  rgba(255,255,255,0.70);
  --vc-white-80:  rgba(255,255,255,0.80);
  --vc-white-88:  rgba(255,255,255,0.88);
  --vc-white-90:  rgba(255,255,255,0.90);
  --vc-black-12:  rgba(0,0,0,0.12);
  --vc-black-20:  rgba(0,0,0,0.20);
  --vc-black-25:  rgba(0,0,0,0.25);
  --vc-black-28:  rgba(0,0,0,0.28);
  --vc-black-30:  rgba(0,0,0,0.30);
  --vc-black-35:  rgba(0,0,0,0.35);
  --vc-black-40:  rgba(0,0,0,0.40);
  --vc-black-45:  rgba(0,0,0,0.45);
  --vc-black-50:  rgba(0,0,0,0.50);
  --vc-black-55:  rgba(0,0,0,0.55);
  --vc-black-60:  rgba(0,0,0,0.60);
  --vc-black-70:  rgba(0,0,0,0.70);
  --vc-black-88:  rgba(0,0,0,0.88);

  /* Component primitives */
  --vc-avatar-fallback: linear-gradient(135deg, #1e2a42, #2d3a56);
  --avatar-grad: var(--vc-avatar-fallback);
  /* 크루카드 배경 그라데이션 (보비 2026-06-13·#803 후속 — crewcards 직접 hex 토큰화) */
  --vc-grad-card:        linear-gradient(160deg, #1a2030, #11161f);
  --vc-grad-card-active: linear-gradient(160deg, #232c44, #141a28);

  /* Spacing */
  --vc-s-1: 4px;  --vc-s-2: 8px;  --vc-s-3: 12px; --vc-s-4: 16px;
  --vc-s-5: 20px; --vc-s-6: 24px; --vc-s-7: 32px; --vc-s-8: 48px; --vc-s-9: 64px;

  /* Radius */
  --vc-r-1: 6px;  --vc-r-2: 8px;  --vc-r-3: 10px; --vc-r-4: 12px;
  --vc-r-5: 16px; --vc-r-6: 20px; --vc-r-pill: 9999px;

  /* Type */
  --vc-fs-xs:  11px;
  --vc-fs-sm:  13px;
  --vc-fs-md:  14px;
  --vc-fs-lg:  16px;
  --vc-fs-xl:  20px;

  /* 모노스페이스 폰트 스택 (보비 2026-06-02) — chat.css:164 가 var(--vc-mono) 를 참조하는데
     정의가 없어 fallback 으로 깨지던 것 정의. CSS 전역의 monospace 스택과 통일. */
  --vc-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "JetBrains Mono", monospace;

  /* Shadow / Elevation */
  --vc-elev-1: 0 1px 0 rgba(255,255,255,0.04) inset, 0 1px 2px rgba(0,0,0,0.4);
  --vc-elev-2: 0 8px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04);
  --vc-elev-3: 0 18px 60px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06);
  --vc-glow-blue:   0 0 0 4px var(--vc-blue-15);
  --vc-glow-purple: 0 0 0 4px var(--vc-purple-15);

  /* Motion */
  --vc-ease:     cubic-bezier(0.22, 0.65, 0.3, 1);
  --vc-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --vc-fast:     0.14s;
  --vc-base:     0.22s;

  /* Touch */
  --vc-touch:    44px;

  /* Backdrop */

  /* === 미매칭 색상 토큰화 (보비 2026-05-30) — 값 byte-identical 보존 === */
  /* 표준 hue alpha 보충 + 별도 hue(emerald/slate/teal) */
  --vc-amber-00: rgba(246,173,85,0);
  --vc-amber-60: rgba(246,173,85,0.60);
  --vc-black-10: rgba(0,0,0,0.10);
  --vc-black-15: rgba(0,0,0,0.15);
  --vc-blue-03: rgba(91,141,239,0.03);
  --vc-blue-12: rgba(91,141,239,0.12);
  --vc-blue-20a: rgba(91,141,239,0.20);
  --vc-emerald: #2ecc71;
  --vc-emerald-00: rgba(46,204,113,0);
  --vc-emerald-60: rgba(46,204,113,0.60);
  --vc-green-00: rgba(72,187,120,0);
  --vc-green-70: rgba(72,187,120,0.70);
  --vc-green-deep: #226633;
  --vc-purple-12: rgba(192,132,252,0.12);
  --vc-red-03: rgba(245,101,101,0.03);
  --vc-slate-60: rgba(30,41,59,0.60);
  --vc-slate-85: rgba(30,41,59,0.85);
  --vc-teal-deep: #226677;
  /* 워커 오케스트레이션 보드 — 모델별 구분 테두리색 (보비·기존 팔레트 alias·하드 hex 금지) */
  --vc-model-claude:   var(--vc-blue);
  --vc-model-codex:    var(--vc-green);
  --vc-model-grok:     var(--vc-purple);
  --vc-model-deepseek: var(--vc-emerald);
  --vc-model-gemini:   var(--vc-amber);
  --vc-model-local:    var(--vc-faint);
  --vc-model-unknown:  var(--vc-muted);
  --vc-white-40: rgba(255,255,255,0.40);
  /* CEO 저널 오버레이 전용 팔레트 */
  --vc-co-bg: #0c0e12;
  --vc-co-bg2-50: rgba(15,18,25,0.50);
  --vc-co-bg2-60: rgba(15,18,25,0.60);
  --vc-co-bg3-75: rgba(10,12,16,0.75);
  --vc-co-gray: #9ca3af;
  --vc-co-gray-2: #d1d5db;
  --vc-co-gray-3: #e5e7eb;
  --vc-co-gray-4: #f3f4f6;
  --vc-co-green: #28c76f;
  --vc-co-green-10: rgba(40,199,111,0.10);
  --vc-co-green-30: rgba(40,199,111,0.30);
  --vc-co-green-95: rgba(40,199,111,0.95);
  --vc-co-orange: #ff9f43;
  --vc-co-orange-01: rgba(255,159,67,0.01);
  --vc-co-orange-05: rgba(255,159,67,0.05);
  --vc-co-orange-08: rgba(255,159,67,0.08);
  --vc-co-orange-10: rgba(255,159,67,0.10);
  --vc-co-orange-12: rgba(255,159,67,0.12);
  --vc-co-orange-15: rgba(255,159,67,0.15);
  --vc-co-orange-2: #ffb062;
  --vc-co-orange-20: rgba(255,159,67,0.20);
  --vc-co-orange-25: rgba(255,159,67,0.25);
  --vc-co-orange-30: rgba(255,159,67,0.30);
  --vc-co-purple: #a855f7;
  --vc-co-purple-03: rgba(168,85,247,0.03);
  --vc-co-red: #ef4444;
  --vc-co-red-05: rgba(239,68,68,0.05);
  --vc-co-red-10: rgba(239,68,68,0.10);
  --vc-co-red-15: rgba(239,68,68,0.15);
  --vc-co-red-20: rgba(239,68,68,0.20);
  --vc-co-red-30: rgba(239,68,68,0.30);
  --vc-co-surface-95: rgba(18,22,30,0.95);
  /* PR 번호 배지 (공정보드 드릴다운·#869 pr_num·픽시 설계·블루 alias) */
  --vc-pr-badge-bg: var(--vc-blue-10);
  --vc-pr-badge-text: var(--vc-blue);
}
