/* ═══════════════════ 새 디자인 미리보기 — 애플식 PC 화면 (ADR-029, 기능 플래그) ═══════════════════
   <html data-ui="apple"> 일 때만, 모바일(data-layout="mobile")이 아닌 화면(PC 메인 · 설정 페이지)에 걸린다.
   플래그가 꺼져 있으면 이 파일의 어떤 규칙도 걸리지 않는다 → 예전 화면과 픽셀 단위로 같다.
   값(색 · 크기 · 굵기 · 모서리 · 모션)은 tokens.css 의 토큰만 쓴다. 배치 · 기능은 바꾸지 않고 모양만.
   켜기: 주소 ?ui=apple · 설정 페이지 "새 디자인 미리보기" / 끄기: ?ui=off · 같은 스위치
   ============================================================================================ */

/* ── 1. 기존 변수를 새 토큰으로 다시 묶는다 (style.css 의 규칙들이 그대로 새 값을 쓴다) ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) {
  --bg: var(--c-bg-1);
  --canvas-bg: var(--c-bg-1);
  --panel: var(--c-bg-2);
  --panel-2: var(--c-bg-3);
  --panel-3: var(--c-bg-3);
  --panel-4: var(--c-bg-3);

  --line: var(--c-line);
  --line-soft: transparent;          /* 사이드바 칸 사이 선 → 여백으로 */
  --line-strong: var(--c-line);

  --text: var(--c-text-1);
  --text-dim: var(--c-text-2);
  --text-faint: var(--c-text-3);
  --text-ghost: var(--c-text-3);
  --text-num: var(--c-text-2);

  --accent: var(--c-accent);
  --accent-on: var(--c-accent-on);
  --accent-glow: transparent;
  --accent-soft-bg: color-mix(in srgb, var(--c-accent) 16%, var(--c-bg-2));
  --accent-soft-line: transparent;
  --accent-soft-text: var(--c-text-1);

  --topbar-a: var(--c-bg-1);
  --topbar-b: var(--c-bg-1);
  --modal-head-a: var(--c-bg-2);
  --modal-head-b: var(--c-bg-2);

  --chip-bg: var(--c-bg-3);
  --chip-text: var(--c-text-2);
  --checkbox-bg: var(--c-bg-3);
  --checkbox-line: transparent;

  --float-bg: var(--c-float);
  --tooltip-bg: var(--c-float);
  --tooltip-line: transparent;
  --sep: var(--c-line);
  --bar-track: var(--c-bg-3);
  --overlay: var(--c-veil);
  --modal-veil: var(--c-veil);

  --shadow-sm: var(--c-shadow);
  --shadow-md: var(--c-shadow);
  --shadow-lg: var(--c-shadow);

  --radius: var(--r-ctl);
  --mono: var(--font-ui);            /* 숫자도 같은 시스템 글꼴 + tabular-nums */

  /* 소스 상태 칩: 뜻은 글자로 전하므로 정상 · 대기 · 꺼짐은 회색 단계만 (오류 · 경고 색은 그대로) */
  --status-ok-bg: var(--c-bg-3);     --status-ok-text: var(--c-text-2);
  --status-idle-bg: var(--c-bg-3);   --status-idle-text: var(--c-text-2);
  --status-off-bg: var(--c-bg-3);    --status-off-text: var(--c-text-2);
}

/* ── 2. 글꼴 · 바탕 · 구분선 대신 여백 ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) body {
  font-family: var(--font-ui);
  font-weight: var(--fw-regular);
  font-variant-numeric: tabular-nums;
  background: var(--c-bg-1);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .topbar { background: var(--c-bg-1); border-bottom-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .sidebar { border-right-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .statusbar { background: var(--c-bg-1); border-top-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-block { padding: 16px 16px 12px; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-title { letter-spacing: .02em; text-transform: none; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .stat small { white-space: nowrap; }
:root[data-ui="apple"]:not([data-layout="mobile"]) #treemap { fill: var(--c-text-1); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row .ratio { color: var(--c-text-2); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .axis text,
:root[data-ui="apple"]:not([data-layout="mobile"]) .sector .sector-name,
:root[data-ui="apple"]:not([data-layout="mobile"]) .sector .sector-meta,
:root[data-ui="apple"]:not([data-layout="mobile"]) .build-badge { font-size: var(--fs-11); }

/* ── 3. 버튼 · 칩 · 입력: 테두리 없이 면으로, 모서리 8 ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods,
:root[data-ui="apple"]:not([data-layout="mobile"]) .lang-switch {
  background: var(--c-bg-2);
  border-color: transparent;
  border-radius: var(--r-ctl);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods button.active { box-shadow: none; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .icon-btn,
:root[data-ui="apple"]:not([data-layout="mobile"]) .quick-btns button,
:root[data-ui="apple"]:not([data-layout="mobile"]) .seg-btns button,
:root[data-ui="apple"]:not([data-layout="mobile"]) .wide-btn,
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip,
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-add button,
:root[data-ui="apple"]:not([data-layout="mobile"]) .searchbox input,
:root[data-ui="apple"]:not([data-layout="mobile"]) .card input[type="text"],
:root[data-ui="apple"]:not([data-layout="mobile"]) .card input[type="url"],
:root[data-ui="apple"]:not([data-layout="mobile"]) .card select,
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row,
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-play,
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-exit {
  border-color: transparent;
  border-radius: var(--r-ctl);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-play { border-radius: 50%; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .searchbox input { background: var(--c-bg-2); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .searchbox input:focus { border-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row { background: var(--c-bg-3); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .checkbox { border-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .save-btn,
:root[data-ui="apple"]:not([data-layout="mobile"]) .signin-btn { border-color: transparent; border-radius: var(--r-ctl); }

/* ── 4. 패널 · 카드 · 떠 있는 층: 모서리 12, 테두리 없음, 그림자는 떠 있는 층에만 아주 옅게 ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal,
:root[data-ui="apple"]:not([data-layout="mobile"]) .card,
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-card,
:root[data-ui="apple"]:not([data-layout="mobile"]) .tooltip,
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-results,
:root[data-ui="apple"]:not([data-layout="mobile"]) .map-legend,
:root[data-ui="apple"]:not([data-layout="mobile"]) .coverage-note,
:root[data-ui="apple"]:not([data-layout="mobile"]) .timelapse,
:root[data-ui="apple"]:not([data-layout="mobile"]) .toast {
  border-color: transparent;
  border-radius: var(--r-card);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .card,
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-card { box-shadow: none; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-card { background: var(--c-bg-1); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-head { border-bottom-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-backdrop { backdrop-filter: none; }

/* ── 5. 반응: 누름은 transform, 호버 · 포커스는 150~250ms (움직임 줄이기면 끔) ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) button,
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row,
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-item,
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip,
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-row,
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-row {
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) button:active:not(:disabled),
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row:active,
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-item:active,
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip:active { transform: scale(var(--press)); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .signin-btn:hover,
:root[data-ui="apple"]:not([data-layout="mobile"]) .save-btn:hover { filter: none; opacity: .88; }

/* 키보드 포커스: 강조색 링 (마우스 클릭에는 안 보임) */
:root[data-ui="apple"]:not([data-layout="mobile"]) :focus { outline: none; }
:root[data-ui="apple"]:not([data-layout="mobile"]) :focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .searchbox input:focus-visible,
:root[data-ui="apple"]:not([data-layout="mobile"]) .card input:focus-visible,
:root[data-ui="apple"]:not([data-layout="mobile"]) .card select:focus-visible { outline-offset: 0; }
/* 사이드바 소스 항목은 체크박스를 숨긴 label 이라 안쪽 input 포커스를 항목에 표시 */
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-item:focus-within { outline: 2px solid var(--c-accent); outline-offset: -2px; }

@media (prefers-reduced-motion: reduce) {
  :root[data-ui="apple"]:not([data-layout="mobile"]) button,
  :root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row,
  :root[data-ui="apple"]:not([data-layout="mobile"]) .source-item,
  :root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip { transition: none; }
  :root[data-ui="apple"]:not([data-layout="mobile"]) button:active:not(:disabled),
  :root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row:active,
  :root[data-ui="apple"]:not([data-layout="mobile"]) .source-item:active,
  :root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip:active { transform: none; }
}
:root[data-ui="apple"].reduce-motion:not([data-layout="mobile"]) button:active:not(:disabled) { transform: none; }

/* ── 6. 글자 크기 6단계(32/24/18/15/13/11) · 굵기 400/600(숫자 500) · 모서리 8/12 ──
   style.css 의 크기 · 굵기 · 모서리 규칙을 같은 선택자로 단계 값에 맞춘다 (자동 생성 후 검토). */
:root[data-ui="apple"]:not([data-layout="mobile"]) body { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .brand-text h1 { font-size: var(--fs-15); font-weight: var(--fw-strong); letter-spacing: -0.01em; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .brand-text p { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods button { font-size: var(--fs-13); font-weight: var(--fw-regular); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods button.active { font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods.topn button { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .periods.topn .topn-label { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .stat b { font-size: var(--fs-18); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .stat small { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .refresh-line { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .refresh-sub { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .lang-switch { border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .lang-switch button { font-size: var(--fs-11); font-weight: var(--fw-regular); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .lang-switch button.active { font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .coverage-note { font-size: var(--fs-11); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .icon-btn { font-size: var(--fs-15); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-title { font-size: var(--fs-11); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .quick-btns button { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row { border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row .flame { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row .sym { font-size: var(--fs-13); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-row .ratio { font-size: var(--fs-11); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .surge-empty { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .asset-badge { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-loading { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .cat-head { font-size: var(--fs-11); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .cat-head .cat-chip { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-item { border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-name { font-size: var(--fs-13); font-weight: var(--fw-regular); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .source-sub { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .src-status { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .src-quota { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-note { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .seg-btns button { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .seg-btns button.active { font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .wide-btn { font-size: var(--fs-13); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .timelapse { font-size: var(--fs-11); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-play,
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-exit { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-exit { border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-time { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-frame { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tl-speeds button { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .map-legend { font-size: var(--fs-11); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .legend-tick { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-foot p { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .canvas-state p { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .toast { font-size: var(--fs-13); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tooltip { font-size: var(--fs-13); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-sym { font-size: var(--fs-15); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-chg { font-size: var(--fs-13); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-name { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-row { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-row b { font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-section { font-size: var(--fs-11); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-price .px { font-size: var(--fs-13); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-price .rt { font-size: var(--fs-13); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-price .win { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-noprice { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-surge { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-crypto { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-src { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-hint { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-spark span { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal { border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-head h2 { font-size: var(--fs-24); font-weight: var(--fw-strong); letter-spacing: -0.01em; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-head p { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-kpi b { font-size: var(--fs-18); font-weight: var(--fw-num); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .modal-kpi small { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-card { border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-title { font-size: var(--fs-11); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-row { border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-badge { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-host { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-host b { font-weight: var(--fw-regular); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-time { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-arrow { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .links-empty,
:root[data-ui="apple"]:not([data-layout="mobile"]) .chart-empty { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .signin-btn { font-size: var(--fs-13); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-toggle { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip { font-size: var(--fs-11); font-weight: var(--fw-num); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-chip .x { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-empty { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .searchbox input { font-size: var(--fs-13); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-icon { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-kbd { font-size: var(--fs-11); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-results { border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-row { font-size: var(--fs-13); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-row .sym { font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-row .nm { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-row .cnt { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .search-empty { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .statusbar { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .settings-back { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .settings-wrap h1 { font-size: var(--fs-24); letter-spacing: -0.01em; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .card { border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .card h2 { font-size: var(--fs-13); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .card h2 .count { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .badge-soon { font-size: var(--fs-11); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .card .hint { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .profile-fields label { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .card input[type="text"],
:root[data-ui="apple"]:not([data-layout="mobile"]) .card input[type="url"],
:root[data-ui="apple"]:not([data-layout="mobile"]) .card select { font-size: var(--fs-13); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .link-btn { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .save-btn { font-size: var(--fs-13); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .pref-item { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .watch-add button { font-size: var(--fs-13); font-weight: var(--fw-strong); border-radius: var(--r-ctl); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .switch-row { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .build-update { font-size: var(--fs-13); border-radius: var(--r-card); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .build-update button { font-weight: var(--fw-strong); border-radius: var(--r-card); }

/* ── 7. 사이드바 정리 (10-14): 섹션 머리 · 지표 버튼 · 소스 한 줄 · 지도 위 도구 모음 — 구분선 대신 여백 ── */
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-sec { border-bottom-color: transparent; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-sec-head { padding: 14px 16px 10px; }
:root[data-ui="apple"]:not([data-layout="mobile"]) button.side-sec-head:hover { background: var(--c-bg-2); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-sec-title { font-size: var(--fs-13); font-weight: var(--fw-strong); letter-spacing: 0; text-transform: none; color: var(--c-text-1); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-sec-sum,
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-label,
:root[data-ui="apple"]:not([data-layout="mobile"]) .adv-toggle,
:root[data-ui="apple"]:not([data-layout="mobile"]) .more-btn,
:root[data-ui="apple"]:not([data-layout="mobile"]) .src-count,
:root[data-ui="apple"]:not([data-layout="mobile"]) .collect-status,
:root[data-ui="apple"]:not([data-layout="mobile"]) .tt-notes p { font-size: var(--fs-11); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-label { color: var(--c-text-2); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .side-sec-body { padding: 0 16px 16px; }
:root[data-ui="apple"]:not([data-layout="mobile"]) .metric-grid button,
:root[data-ui="apple"]:not([data-layout="mobile"]) .reset-btn,
:root[data-ui="apple"]:not([data-layout="mobile"]) .map-tool {
  border-color: transparent;
  border-radius: var(--r-ctl);
  font-size: var(--fs-11);
}
:root[data-ui="apple"]:not([data-layout="mobile"]) .metric-grid button { background: var(--c-bg-3); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .metric-grid button.active { font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .map-tool { border-radius: var(--r-card); font-size: var(--fs-13); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .src-name { font-size: var(--fs-13); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .cat-head .cat-name { font-size: var(--fs-11); font-weight: var(--fw-strong); }
:root[data-ui="apple"]:not([data-layout="mobile"]) .adv-box { border-color: transparent; background: var(--c-bg-3); }
