/* 전용 사이트 기본 — 색 변수·리셋. 점검표 style.css 공통부에서 분리(2026-10-26) */
*, *::before, *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-user-select: none; user-select: none;
  -webkit-user-drag: none; -webkit-touch-callout: none;
}
input, textarea, select, [contenteditable] {
  -webkit-user-select: text; user-select: text;
}

:root {
  /* Factory 폰트 토큰 — 한글 본문은 Pretendard(Geist엔 한글 글리프 없음),
     라틴/숫자 "계기판" 라벨(버전·상태코드·날짜 등)만 Geist Mono */
  --font-sans:'Pretendard Variable','Geist','Pretendard',-apple-system,sans-serif;
  --font-mono:'Geist Mono','Pretendard Variable',ui-monospace,'SFMono-Regular',Menlo,monospace;

  /* ===== Factory 디자인 시스템 — 라이트 모드 (스펙엔 없어 다크 모드 원칙을 반전 설계) ===== */
  --bg:#f2f1ef; --surface:#ffffff; --surface2:#f7f6f4;
  --border:#ddd9d5; --border2:#eae7e3;
  --text:#171514; --text2:#433f3d; --text3:#6b6560; --text4:#a39d97;
  --input-bg:#ffffff; --tag-bg:#f2f1ef; --tag-border:#ddd9d5;
  --accent:#ee6018; --accent-hover:#ff7530; --accent-bg:#fdf1ea; --accent-text:#b8430c;
  --btn-bg:#171514; --btn-text:#ffffff;
  --log-bg:#f7f6f4; --summary-bg:#ffffff;
  --chip-def-border:#ddd9d5; --chip-def-text:#79746f; --chip-def-count:#a39d97;
  --overlay-bg:rgba(23,21,20,0.45);
  --spinner-track:#ddd9d5; --spinner-head:#d9540f;
  --bar-bg:#ddd9d5; --bar-fg:#d9540f;
  --tooltip-bg:#ffffff; --tooltip-border:#ddd9d5; --tooltip-text:#433f3d;
  --ok-bg:#eef4ec; --ok-border:#7fa870; --ok-text:#3f6b34;
  --ok-chip-bg:#eef4ec; --ok-chip-border:#7fa870; --ok-chip-text:#3f6b34;
  --no-bg:#f0efed; --no-border:#a39d97; --no-text:#54504c;
  --no-chip-bg:#f0efed; --no-chip-border:#a39d97; --no-chip-text:#54504c;
  --em-bg:#eaf1f7; --em-border:#5f8fb3; --em-text:#2c5978;
  --em-chip-bg:#eaf1f7; --em-chip-border:#5f8fb3; --em-chip-text:#2c5978;
  --pm-bg:#fbeeec; --pm-border:#c17262; --pm-text:#8a3b2c;
  --pm-chip-bg:#fbeeec; --pm-chip-border:#c17262; --pm-chip-text:#8a3b2c;
  --err-bg:#faf1e2; --err-border:#c19752; --err-text:#7a5a1e;
  --err-chip-bg:#faf1e2; --err-chip-border:#c19752; --err-chip-text:#7a5a1e;
  /* Factory 원칙: 그림자 없음 — 표면 구분은 1px 보더 + 대비로만 */
  --shadow-xs:none; --shadow-sm:none; --shadow-md:none; --shadow-lg:none;
  /* Factory 라운드 스케일: nav/buttons 3px, cards 10px, largePanels 20px */
  --radius:10px; --radius-sm:3px; --radius-lg:10px; --radius-xl:20px;
}

[data-theme="dark"] {
  /* ===== Factory 디자인 시스템 — 다크 모드 (스펙 값 그대로) ===== */
  --bg:#101010; --surface:#1d1a18; --surface2:#17140f;
  --border:#3d3a39; --border2:#262220;
  --text:#eeeeee; --text2:#b8b3b0; --text3:#8a8380; --text4:#5c5754;
  --input-bg:#1d1a18; --tag-bg:#1d1a18; --tag-border:#3d3a39;
  --accent:#ee6018; --accent-hover:#ff7a35; --accent-bg:#241a10; --accent-text:#ff9052;
  --btn-bg:#1f1d1c; --btn-text:#eeeeee;
  --log-bg:#151210; --summary-bg:#1d1a18;
  --chip-def-border:#3d3a39; --chip-def-text:#8a8380; --chip-def-count:#6b6764;
  --overlay-bg:rgba(16,16,16,0.7);
  --spinner-track:#3d3a39; --spinner-head:#ee6018;
  --bar-bg:#3d3a39; --bar-fg:#ee6018;
  --tooltip-bg:#1d1a18; --tooltip-border:#3d3a39; --tooltip-text:#b8b3b0;
  /* 상태색: Factory는 액센트 2개(오렌지/그린)로 제한하지만, 점검 상태 4~5종은 색으로
     즉시 구분하는 게 핵심 기능이라 축소 불가 — 채도를 낮추고 절제된 칩/텍스트로만 사용해
     "장식이 아닌 실시간 신호"라는 정신은 유지 (OK는 메트릭 그린 재사용) */
  --ok-bg:#16211a; --ok-border:#4a7a3f; --ok-text:#a0ca92;
  --ok-chip-bg:#16211a; --ok-chip-border:#4a7a3f; --ok-chip-text:#a0ca92;
  --no-bg:#201d1b; --no-border:#4d4947; --no-text:#b8b3b0;
  --no-chip-bg:#201d1b; --no-chip-border:#4d4947; --no-chip-text:#b8b3b0;
  --em-bg:#151d24; --em-border:#3f6a8c; --em-text:#8ab4d6;
  --em-chip-bg:#151d24; --em-chip-border:#3f6a8c; --em-chip-text:#8ab4d6;
  --pm-bg:#241512; --pm-border:#a85142; --pm-text:#e08d7c;
  --pm-chip-bg:#241512; --pm-chip-border:#a85142; --pm-chip-text:#e08d7c;
  --err-bg:#241c0c; --err-border:#a67c2e; --err-text:#e0b458;
  --err-chip-bg:#241c0c; --err-chip-border:#a67c2e; --err-chip-text:#e0b458;
}

/* ===== 접근성 · 브라우저 크롬 — Factory 원칙(그림자/글로우 없이, 얇은 라인·대비로만 상태 표현) ===== */
:focus-visible { outline:1px solid var(--accent); outline-offset:1px; }
::selection { background:var(--accent); color:#fff; }
* { scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:99px; border:2px solid var(--bg); background-clip:padding-box; }
::-webkit-scrollbar-thumb:hover { background:var(--text4); background-clip:padding-box; }

body {
  background:var(--bg); color:var(--text);
  font-family:var(--font-sans),'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
  min-height:100vh; padding-bottom:80px;
  transition:background 0.2s cubic-bezier(0.4,0,0.2,1),color 0.2s cubic-bezier(0.4,0,0.2,1);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;
}
/* 히스토리 페이지엔 모바일 고정 버튼(.mobile-fixed-run)이 없어 80px 여유가 불필요 —
   그리드를 뷰포트에 정확히 맞춰도 이 여유분 때문에 페이지 자체 스크롤이 남는 걸 막음 */
