/* 제목 글꼴 (2026-08-23 로그인 화면 개편). 로그인·가입·대기 제목과 GNB 이름에만 쓰는 서브셋 —
   글자 집합은 ../fonts/DoHyeon-subset.txt. 경기장 오프라인 원칙이라 CDN이 아니라 벤더링(OFL 1.1).
   static_url의 해시는 CSS 안에서 못 쓰므로 글꼴 파일을 바꾸면 파일 이름을 바꾼다. */
@font-face{font-family:"Do Hyeon";src:url("../fonts/DoHyeon-subset.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* 디자인 토큰. 값의 출처는 docs/mockups/mockup-b-workspace.html 8~44행이다.
   라이트를 맨 :root에 정의하고, 다크는 시스템 설정과 명시 토글 양쪽에서
   재정의한다. 어느 한쪽에만 두면 토글이 한 방향으로만 듣는다. */
:root{
  /* UA가 스크롤바·select 팝업·날짜 선택기를 어느 쪽으로 그릴지 알려 준다.
     이게 없으면 data-theme="dark"인데 OS가 라이트일 때 그 위젯들만 흰색으로 뜬다. */
  color-scheme:light;
  --bg:#f1f5f9; --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#eef2f7;
  --border:#e2e8f0; --border-strong:#cbd5e1;
  /* --faint는 .note(0.78rem)·.empty(0.88rem)에 쓰여 큰 글씨 예외가 없다.
     목업의 #7c8ba1은 라이트 배경 대비 3.1~3.5:1로 스펙 §13의 4.5:1에 못 미쳤다.
     다크도 같은 이유로 목업의 #7488a3에서 옮겼다 — --surface-3에서 4.34:1이었다. */
  --text:#0f172a; --muted:#475569; --faint:#5f6e85;
  --brand:#15803d; --brand-ink:#ffffff; --brand-soft:#dcfce7; --brand-line:#86efac;
  --accent:#c2410c; --accent-soft:#ffedd5;
  /* 목업의 #a16207은 여러 배경에서 4.5:1에 못 미쳤다 — --bg 4.49 ·
     --surface-3 4.38 · --brand-soft 4.48 · --danger-soft 4.03. `.slot-warn`
     (0.76rem)과 `.legend-chip.miss`가 큰 글씨 예외를 못 쓴다. --faint를 두 번
     옮긴 것과 같은 이유다(위 주석). #8f5a05는 같은 배경에서 5.26 · 5.14 ·
     5.26 · 4.73이고 --warn-soft에서도 4.58→5.38로 여유가 는다. */
  --warn:#8f5a05; --warn-soft:#fef9c3;
  --danger:#b91c1c; --danger-soft:#fee2e2;
  --radius:14px; --radius-sm:9px;
  /* 하단 탭 바 높이 (모바일 셸 스펙 §5-3). 탭 바 위에 놓이는 것 셋 — 오류 플래시,
     FAB, 라인업 고정 막대 — 이 같은 기준선을 쓰게 하려고 토큰 하나로 둔다.
     안전 영역은 여기 더하지 않는다: env()는 이 파일이 아니라 쓰는 자리에서 더해야
     `calc(var(--tabbar-h) + env(safe-area-inset-bottom))` 한 모양으로 읽힌다. */
  --tabbar-h:56px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow:0 1px 2px rgba(15,23,42,.06),0 10px 28px -16px rgba(15,23,42,.28);
  --focus:0 0 0 3px rgba(21,128,61,.32);
  /* NTB 브랜드 (2026-08-23 로그인 화면 개편) — 로고의 남색·빨강과 야간 구장 사진의 남색·조명색.
     사진 위에 놓이는 색이라 테마에 안 묶인다 — 다크 블록에서 다시 정하지 않는다. */
  --ntb-navy:#1c2a4f; --ntb-night:#0a1a3f; --ntb-night-2:#071432;
  --ntb-red:#c1272d; --ntb-red-deep:#9f1d22; --ntb-flood:#9fd9ff;
  /* 차트 (2026-08-23 대시보드, 스펙 §5-3) — 한 색(브랜드) + 회색. 승/패는 색만으로 가르지 않고
     글자(승·패·무)가 늘 함께 간다. */
  --viz-win:#15803d; --viz-lose:#64748b; --viz-draw:#cbd5e1; --viz-wash:rgba(21,128,61,.12);
  --viz-grid:#e2e8f0; --viz-axis:#cbd5e1;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#080d17; --surface:#101a2b; --surface-2:#0c1524; --surface-3:#16233a;
    --border:#1f2d45; --border-strong:#2c3d59;
    --text:#e8eefa; --muted:#a3b4cc; --faint:#7d90aa;
    --brand:#34d399; --brand-ink:#04231a; --brand-soft:#0c3326; --brand-line:#137a54;
    --accent:#fb923c; --accent-soft:#3a2313;
    --warn:#fbbf24; --warn-soft:#3a2f0d;
    --danger:#f87171; --danger-soft:#3b1616;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -18px rgba(0,0,0,.8);
    --focus:0 0 0 3px rgba(52,211,153,.35);
    --viz-win:#34d399; --viz-lose:#7d90aa; --viz-draw:#2c3d59; --viz-wash:rgba(52,211,153,.14);
    --viz-grid:#1f2d45; --viz-axis:#2c3d59;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#080d17; --surface:#101a2b; --surface-2:#0c1524; --surface-3:#16233a;
  --border:#1f2d45; --border-strong:#2c3d59;
  --text:#e8eefa; --muted:#a3b4cc; --faint:#7d90aa;
  --brand:#34d399; --brand-ink:#04231a; --brand-soft:#0c3326; --brand-line:#137a54;
  --accent:#fb923c; --accent-soft:#3a2313;
  --warn:#fbbf24; --warn-soft:#3a2f0d;
  --danger:#f87171; --danger-soft:#3b1616;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -18px rgba(0,0,0,.8);
  --focus:0 0 0 3px rgba(52,211,153,.35);
  --viz-win:#34d399; --viz-lose:#7d90aa; --viz-draw:#2c3d59; --viz-wash:rgba(52,211,153,.14);
  --viz-grid:#1f2d45; --viz-axis:#2c3d59;
}
