/* ============================================================
   theme-macos.css — macOS 26 Tahoe（26 之前的外观见 theme-macos15.css）
   只声明变量。桌面壳里把 <html data-theme="macos"> 一换即可。
   ============================================================ */

[data-theme="macos"] {
  --ui-surface: #ececec;
  --ui-text: #1d1d1f;
  --ui-text-2: rgba(0, 0, 0, 0.55);
  --ui-text-disabled: rgba(0, 0, 0, 0.25);

  --ui-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue",
    Arial, sans-serif;
  --ui-font-size: 13px;
  --ui-control-h: 24px;

  --ui-accent: #007aff;
  --ui-accent-text: #ffffff;
  --ui-accent-hover: #0071eb;
  --ui-accent-active: #0068d9;

  --ui-duration: 120ms;
  --ui-ease: ease-out;

  /* 焦点是外发光，不是硬描边 */
  --focus-ring: 0 0 0 3.5px rgba(0, 122, 255, 0.32);
  --focus-outline: none;
  --focus-outline-offset: 0px;

  /* 普通按钮：白底 + 极淡描边 + 1px 落影 */
  /* 实测：窗口上是 #D5D5D5 的灰胶囊，无描边、无投影 */
  --btn-bg: rgba(0, 0, 0, 0.1);
  --btn-bg-hover: rgba(0, 0, 0, 0.14);
  --btn-bg-active: rgba(0, 0, 0, 0.19);
  --btn-fg: #212121;
  --btn-fg-active: #212121;
  --btn-border: transparent;
  --btn-border-hover: transparent;
  --btn-border-w: 0px;
  --btn-radius: 5px;
  --btn-h: 24px;
  --btn-px: 12px;
  --btn-font-size: 13px;
  --btn-font-weight: 500;
  --btn-shadow: none;

  --primary-bg: #0a60fe;
  --primary-bg-hover: #2a72fe;
  --primary-bg-active: #084fd6;
  --primary-fg: #ffffff;
  --primary-border: transparent;
  --primary-shadow: none;

  --disabled-bg: rgba(0, 0, 0, 0.055);
  --disabled-fg: #a5a5a5;
  --disabled-border: transparent;

  /* 未聚焦：白底、圆角、没有描边，只靠一道 0.5px 的描边阴影收边；
     聚焦时才冒出蓝色描边 + 外发光 */
  --field-bg: #ffffff;
  --field-border: rgba(0, 0, 0, 0.18);
  --field-border-w: 1px;
  --field-radius: 6px;
  --field-h: 24px;
  --field-px: 7px;
  --field-font-size: 13px;
  --field-shadow: none;
  --field-placeholder: rgba(0, 0, 0, 0.42);
  --field-focus-border: #007aff;
  --field-focus-shadow: none;
  --field-underline-w: 0px;
  --field-label-size: 11px;

  --check-size: 16px;
  --check-radius: 4px;
  --check-bg: #d0d0d0;
  --check-shadow: none;
  --check-border: transparent;
  --check-border-hover: transparent;
  --check-border-w: 0px;
  --check-bg-checked: #095df8;
  --check-border-checked: transparent;
  --check-bg-disabled: #85a9ed;
  --check-mark: #ffffff;
  --check-mark-disabled: #ffffff;
  --check-stroke: 3;

  --radio-size: 16px;
  --radio-bg: #d0d0d0;
  --radio-border: transparent;
  --radio-border-hover: transparent;
  --radio-border-w: 0px;
  --radio-bg-checked: #095df8;
  --radio-border-checked: transparent;
  --radio-dot: 6px;
  --radio-dot-color: #ffffff;

  --switch-w: 54px;
  --switch-h: 24px;
  --switch-knob: 20px;
  --switch-knob-w: 32px;
  --switch-pad: 2px;
  --switch-border-w: 0px;
  --switch-bg: #d0d0d0;
  --switch-border: transparent;
  --switch-bg-on: #095df8;
  --switch-border-on: transparent;
  --switch-knob-bg: #ffffff;
  --switch-knob-on-bg: #ffffff;
  --switch-knob-shadow: 0 1px 3px rgba(0, 0, 0, 0.2),
    0 0 0 0.5px rgba(0, 0, 0, 0.06);
  --select-h: 24px;
  --select-radius: 6px;
  --select-bg: rgba(0, 0, 0, 0.1);
  --select-border: transparent;
  --select-border-w: 0px;
  --select-px: 10px;
  --select-chevron: #212121;
  /* 双 chevron 用一张 mask 画成圆头折线（原生是 SF Symbols，圆头圆角）。
     mask 里上下两段各 4.5、间距 1.5；box 就是原生 ink 的 7.5×10.5。 */
  --select-chevron-up: none;
  --select-chevron-size: 7.5px;
  --select-chevron-h: 10.5px;
  --select-chevron-w: 0px;
  --select-chevron-down-transform: none;
  --select-chevron-mask-fill: currentColor;
  --select-chevron-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2021'%3E%3Cpath%20d='M1.5%207.5L7.5%201.5L13.5%207.5M1.5%2013.5L7.5%2019.5L13.5%2013.5'%20fill='none'%20stroke='white'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");

  --slider-track-h: 6px;
  --slider-track: #d0d0d0;
  --slider-fill: #095df8;
  --slider-thumb-bg: #ffffff;
  --slider-thumb-border-w: 0px;
  --slider-thumb-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);

  --menu-bg: rgba(255, 255, 255, 0.97);
  --menu-border: rgba(0, 0, 0, 0.08);
  --menu-border-w: 1px;
  --menu-radius: 6px;
  --menu-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  --menu-pad: 4px;
  --menu-item-h: 22px;
  --menu-item-radius: 4px;
  --menu-item-pad-x: 10px;
  --menu-item-hover-bg: #095df8;
  --menu-item-hover-fg: #ffffff;
  --menu-item-selected-bg: #095df8;
  --menu-item-selected-fg: #ffffff;
  --menu-item-font-size: 13px;
  /* 菜单分隔线、禁用项、快捷键：Tahoe 的分隔线两端各内缩约 10px，
     禁用项用 30% 黑，快捷键二级灰。均标估计。 */
  --menu-sep-margin: 4px 10px; /* 估计 */
  --menu-sep-color: rgba(0, 0, 0, 0.1); /* 估计 */
  --menu-item-disabled-fg: rgba(0, 0, 0, 0.3); /* 估计 */
  --menu-shortcut-opacity: 0.5; /* 估计 */

  --textarea-py: 5px;
  --switch-duration: 140ms;
  --switch-ease: cubic-bezier(0.32, 0.72, 0, 1);
  /* 分段控件：24 高、灰轨道 + 强调色实心选中块。尺寸和颜色来自 NSSegmentedControl
     离屏渲染实测（详见 docs/segmented-notes.md）；悬停 / 按下 / 焦点环是估计。 */
  --seg-h: 24px;
  --seg-radius: 6px;
  --seg-bg: #d5d5d5;
  --seg-fg: #212121;
  --seg-font-size: 13px;
  --seg-item-pad-x: 10.5px;
  --seg-item-radius: 6px;
  --seg-selected-bg: #095df8;
  --seg-selected-fg: #ffffff;
  --seg-sep-color: #c0c0c0;
  --seg-hover-bg: rgba(0, 0, 0, 0.06); /* 估计 */
  --seg-active-bg: rgba(0, 0, 0, 0.1); /* 估计 */
  --seg-focus-container: 0 0 0 3.5px rgba(10, 96, 254, 0.3); /* 估计：focus ring 由系统另画 */
  /* 标签页：NSTabView 在 26 上是「居中胶囊分段条 + 圆角内容面板」，胶囊条就是
     内部那颗 NSSegmentedControl。条 24 高（pill 20）、选中中性灰 #C7C7C7、
     未选中近黑字；面板比窗口底暗一档、无实色描边。 */
  --tabs-h: 20px;
  --tabs-gap: 0px;
  --tabs-list-width: fit-content;
  --tabs-list-justify: center;
  --tabs-list-pad-top: 2px;
  --tabs-list-pad-x: 2px;
  --tabs-list-pad-bottom: 2px;
  --tabs-list-radius: 6px;
  --tabs-list-overlap: -14px;
  --tabs-list-focus: 0 0 0 3.5px rgba(10, 96, 254, 0.3); /* 估计：focus ring 由系统另画 */
  --tabs-tab-radius: 5px;
  --tabs-pad-x: 10.5px;
  --tabs-font-size: 13px;
  --tabs-fg: #252525;
  --tabs-hover-bg: rgba(0, 0, 0, 0.05); /* 估计 */
  --tabs-hover-fg: #1a1a1a;
  --tabs-selected-bg: #c7c7c7;
  --tabs-selected-fg: #1a1a1a;
  --tabs-strip-bg: #dfdfdf; /* 半透明材质合成后的近似值 */
  --tabs-strip-border-w: 0px;
  --tabs-sep-color: #cdcdcd;
  --tabs-panel-inset-x: 7px;
  --tabs-panel-bg: #e8e8e8;
  --tabs-panel-border-w: 0px;
  --tabs-panel-radius: 5px;
  --tabs-panel-radius-top: 5px;
  --tabs-panel-pad: 12px;
  --tabs-arrow-mode: none;
  --tabs-focus-outline: none;
  --tabs-duration: 0ms;
  /* 进度条：NSProgressIndicator.bar 离屏实测：8 高、胶囊端头、轨道 #DEDEDE，
     深色 #373739；填充是强调色（换算到 sRGB 读值 #007AFF，两代同值）。
     不确定态 1.9s 的渐变光带往返，这里只做滑动。 */
  --progress-h: 8px;
  --progress-radius: 999px;
  --progress-track: #dedede;
  --progress-fill: var(--ui-accent);
  --progress-indeterminate-duration: 1900ms;
  /* 提示气泡：系统 help tag，取不到像素，下面都是估计 */
  --tooltip-bg: rgba(255, 255, 255, 0.96);
  --tooltip-fg: #1a1a1a;
  --tooltip-border: #d0d0d0;
  --tooltip-border-w: 1px;
  --tooltip-radius: 6px;
  --tooltip-pad-y: 4px;
  --tooltip-pad-x: 8px;
  --tooltip-font-size: 11px;
  --tooltip-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --tooltip-show-delay: 1000ms;
  --tooltip-focus-show: 0;
}

[data-theme="macos"][data-mode="dark"] {
  --ui-surface: #1e1d1f;
  --ui-text: #f5f5f7;
  --ui-text-2: rgba(255, 255, 255, 0.55);
  --ui-text-disabled: rgba(255, 255, 255, 0.25);

  --ui-accent: #0a84ff;
  --ui-accent-hover: #1a8cff;
  --ui-accent-active: #0077ea;

  --focus-ring: 0 0 0 3.5px rgba(10, 132, 255, 0.4);

  --btn-bg: rgba(255, 255, 255, 0.07);
  --btn-bg-hover: rgba(255, 255, 255, 0.11);
  --btn-bg-active: rgba(255, 255, 255, 0.05);
  --btn-fg: #dfdfdf;
  --btn-fg-active: #dfdfdf;
  --btn-border: transparent;
  --btn-border-hover: transparent;
  --btn-shadow: none;

  --primary-bg: #1064fe;
  --primary-bg-hover: #2a74fe;
  --primary-bg-active: #0a56e0;
  --primary-fg: #ffffff;
  --primary-border: transparent;
  --primary-shadow: none;

  --disabled-bg: rgba(255, 255, 255, 0.04);
  --disabled-fg: #8a8a8a;
  --disabled-border: transparent;

  --field-bg: #171717;
  --field-border: rgba(255, 255, 255, 0.12);
  --field-shadow: none;
  --field-placeholder: rgba(255, 255, 255, 0.38);
  --field-focus-border: #0a84ff;
  --field-focus-shadow: none;

  --check-bg: #333234;
  --check-border: transparent;
  --check-border-hover: transparent;
  --check-shadow: none;
  --check-bg-checked: #1064fe;
  --check-border-checked: transparent;
  --check-bg-disabled: #193d81;

  --radio-bg: #333234;
  --radio-border: transparent;
  --radio-border-hover: transparent;
  --radio-bg-checked: #1064fe;
  --radio-border-checked: transparent;

  --switch-bg: #333234;
  --switch-bg-on: #1064fe;
  --switch-knob-bg: #e1e0e1;
  --switch-knob-on-bg: #dbe8ff;

  --select-bg: rgba(255, 255, 255, 0.07);
  --select-chevron: #dfdfdf;

  --slider-track: #333234;
  --slider-fill: #1064fe;

  --menu-bg: #2c2c2e;
  --menu-border: rgba(255, 255, 255, 0.1);
  --menu-hover-bg: #1064fe;
  --menu-item-hover-bg: #1064fe;
  --menu-item-selected-bg: #1064fe;
  --menu-sep-color: rgba(255, 255, 255, 0.12); /* 估计 */
  --menu-item-disabled-fg: rgba(255, 255, 255, 0.3); /* 估计 */
  --seg-bg: #29292a;
  --seg-fg: #dedede;
  --seg-selected-bg: #1064fe;
  --seg-sep-color: #3e3e3f;
  --seg-hover-bg: rgba(255, 255, 255, 0.06); /* 估计 */
  --seg-active-bg: rgba(255, 255, 255, 0.1); /* 估计 */
  --seg-focus-container: 0 0 0 3.5px rgba(16, 100, 254, 0.35); /* 估计 */
  --tabs-fg: #dedede;
  --tabs-hover-bg: rgba(255, 255, 255, 0.06); /* 估计 */
  --tabs-hover-fg: #f5f5f7;
  --tabs-selected-bg: #5b5b5d;
  --tabs-selected-fg: #ffffff;
  --tabs-strip-bg: #2c2c2e; /* 估计 */
  --tabs-sep-color: #3e3e3f;
  --tabs-panel-bg: #272729;
  --tabs-selctor-bogus: 0;
  --tabs-list-focus: 0 0 0 3.5px rgba(16, 100, 254, 0.35); /* 估计 */
  --progress-track: #373739;
  --tooltip-bg: rgba(44, 44, 46, 0.96);
  --tooltip-fg: #f5f5f7;
  --tooltip-border: rgba(255, 255, 255, 0.1);
}

/* 滚动条：窗口内容区用，避免默认浏览器滚动条破坏平台观感 */
[data-theme="macos"] {
  --scrollbar-size: 8px;
  --scrollbar-width: thin;
  --scrollbar-track: transparent;
  --scrollbar-thumb: rgba(0, 0, 0, 0.25);
  --scrollbar-thumb-hover: rgba(0, 0, 0, 0.42);
  --scrollbar-radius: 4px;
  --scrollbar-border: 1px;
}

[data-theme="macos"][data-mode="dark"] {
  --scrollbar-thumb: rgba(255, 255, 255, 0.25);
  --scrollbar-thumb-hover: rgba(255, 255, 255, 0.42);
}
