/* ============================================================
   theme-gnome.css — GNOME / libadwaita（GTK4，GNOME 47 / libadwaita 1.7）
   数值取自上游 SCSS（见 reference/adwaita-tokens.md），不是估的：
   - 按钮是「当前文字色 10%」的半透明填充，无边框、无投影，字重 bold
   - 圆角 9px，控件高度 34px，焦点环在控件内侧（offset -2px）
   - 复选框 / 单选框的可见方块只有 14px，外面还有 3px 留白
   ============================================================ */

[data-theme="gnome"] {
  --ui-surface: #fafafb;
  --ui-text: #323237;
  --ui-text-2: rgba(50, 50, 55, 0.62);
  --ui-text-disabled: rgba(50, 50, 55, 0.4);

  --ui-font: "Cantarell Local", "Cantarell", "Noto Sans", system-ui, sans-serif;
  --ui-font-size: 14.67px;
  --ui-control-h: 34px;

  --ui-accent: #3584e4;
  --ui-accent-text: #ffffff;
  --ui-accent-hover: #2f7ad6;
  --ui-accent-active: #2a6fc7;

  --ui-duration: 160ms;
  --ui-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* GTK4 的焦点环画在控件里面：2px，offset -2px */
  --focus-ring: 0 0 0 0 transparent;
  --focus-outline: 2px solid rgba(53, 132, 228, 0.5);
  --focus-outline-offset: -2px;
  --switch-focus-outline-offset: 2px;

  --btn-bg: rgba(50, 50, 55, 0.1);
  --btn-bg-hover: rgba(50, 50, 55, 0.15);
  --btn-bg-active: rgba(50, 50, 55, 0.3);
  --btn-fg: #323237;
  --btn-fg-active: #323237;
  --btn-border: transparent;
  --btn-border-hover: transparent;
  --btn-border-w: 0px;
  --btn-radius: 9px;
  --btn-h: 34px;
  --btn-px: 10px;
  --btn-font-size: 14.67px;
  --btn-font-weight: 700;
  --btn-shadow: none;

  --primary-bg: #3584e4;
  --primary-bg-hover: #2f7ad6;
  --primary-bg-active: #2a6fc7;
  --primary-fg: #ffffff;
  --primary-border: transparent;
  --primary-shadow: none;

  --disabled-bg: rgba(50, 50, 55, 0.06);
  --disabled-fg: rgba(50, 50, 55, 0.4);
  --disabled-border: transparent;

  --field-bg: rgba(50, 50, 55, 0.1);
  --field-border: transparent;
  --field-border-w: 0px;
  --field-radius: 9px;
  --field-h: 34px;
  --field-px: 9px;
  --field-font-size: 14.67px;
  --field-shadow: none;
  --field-placeholder: rgba(50, 50, 55, 0.55);
  --field-focus-border: transparent;
  --field-focus-shadow: none;
  --field-underline-w: 0px;
  --field-label-size: 12px;

  --check-size: 14px;
  --check-pad: 3px;
  --check-radius: 4px;
  --check-bg: transparent;
  --check-border: transparent;
  --check-border-hover: transparent;
  --check-border-w: 0px;
  --check-shadow: inset 0 0 0 2px rgba(50, 50, 55, 0.15);
  --check-shadow-checked: none;
  --check-bg-checked: #3584e4;
  --check-border-checked: #3584e4;
  --check-mark: #ffffff;
  --check-stroke: 2.6;

  --radio-size: 14px;
  --radio-pad: 3px;
  --radio-bg: transparent;
  --radio-border: transparent;
  --radio-border-hover: transparent;
  --radio-border-w: 0px;
  --radio-shadow: inset 0 0 0 2px rgba(50, 50, 55, 0.15);
  --radio-shadow-checked: inset 0 0 0 2px #3584e4;
  --radio-bg-checked: transparent;
  --radio-border-checked: transparent;
  --radio-dot: 8px;
  --radio-dot-color: #3584e4;

  --switch-w: 46px;
  --switch-h: 26px;
  --switch-knob: 20px;
  --switch-pad: 3px;
  --switch-border-w: 0px;
  --switch-bg: rgba(50, 50, 55, 0.15);
  --switch-border: transparent;
  --switch-bg-on: #3584e4;
  --switch-border-on: transparent;
  --switch-knob-bg: #ffffff;
  --switch-knob-on-bg: #ffffff;
  --switch-knob-shadow: 0 2px 4px rgba(0, 0, 6, 0.2);
  --select-h: 34px;
  --select-radius: 9px;
  --select-bg: rgba(50, 50, 55, 0.1);
  --select-border: transparent;
  --select-border-w: 0px;
  --select-px: 12px;
  --select-chevron: #323237;

  --slider-track-h: 6px;
  --slider-track: rgba(50, 50, 55, 0.15);
  --slider-fill: #3584e4;

  --menu-bg: #36363a;
  --menu-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
  --menu-item-hover-bg: rgba(255, 255, 255, 0.08);
  --menu-item-selected-bg: rgba(255, 255, 255, 0.12);
  --menu-item-selected-fg: #ffffff;
  --slider-thumb-bg: #ffffff;
  --slider-thumb-border-w: 0px;
  --slider-thumb-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);

  --menu-bg: #ffffff;
  --menu-border: transparent;
  --menu-border-w: 0px;
  --menu-radius: 12px;
  --menu-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
  --menu-pad: 6px;
  --menu-item-h: 34px;
  --menu-item-radius: 6px;
  --menu-item-pad-x: 12px;
  --menu-item-hover-bg: rgba(0, 0, 0, 0.06);
  --menu-item-selected-bg: rgba(0, 0, 0, 0.1);
  --menu-item-selected-fg: #241f31;
  --menu-item-font-size: 14px;
  /* 菜单分隔线、禁用项、快捷键：按 Adwaita popover 菜单的做法推，标估计 */
  --menu-sep-margin: 6px 12px; /* 估计 */
  --menu-sep-color: rgba(0, 0, 0, 0.1); /* 估计 */
  --menu-item-disabled-fg: rgba(0, 0, 0, 0.5); /* 估计 */
  --menu-shortcut-opacity: 0.5; /* 估计 */

  --textarea-py: 7px;
  --switch-duration: 120ms;
  --switch-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* 分段控件：AdwToggleGroup 的 SCSS 值（GNOME 48 / libadwaita 1.7），组高 34、
     内边距 3、选中白色 pill + 双层阴影。字重和具体字号是推断。 */
  --seg-h: 34px;
  --seg-radius: 9px;
  --seg-pad: 3px;
  --seg-bg: rgba(0, 0, 6, 0.08);
  --seg-fg: var(--ui-text);
  --seg-font-size: 14px;
  --seg-font-weight: 700;
  --seg-item-pad-x: 8px;
  --seg-item-min-w: 24px;
  --seg-item-radius: 6px;
  --seg-selected-bg: #ffffff;
  --seg-selected-fg: rgba(0, 0, 6, 0.8);
  --seg-selected-shadow: 0 1px 3px 1px rgba(0, 0, 6, 0.07), 0 2px 6px 2px rgba(0, 0, 6, 0.03);
  --seg-hover-bg: rgba(0, 0, 6, 0.07);
  --seg-active-bg: rgba(0, 0, 6, 0.16);
  --seg-sep-color: rgba(0, 0, 6, 0.1);
  --seg-sep-inset: 3px;
  --seg-focus-outline: 2px solid rgba(53, 132, 228, 0.5);
  --seg-focus-offset: 0px;
  --seg-disabled-opacity: 0.5;
  --seg-duration: 200ms;
  /* 标签页：AdwTabBar 的 inline 变体（libadwaita _tab-view.scss）：高 34、
     圆角 9、选中 currentColor 10%、悬停 7%、按下 16%、过渡 150ms。 */
  --tabs-h: 34px;
  --tabs-gap: 0px;
  --tabs-tab-radius: 9px;
  --tabs-pad-x: 10px; /* 估计：SCSS 只给了 padding 4 */
  --tabs-font-size: 14px;
  --tabs-fg: rgba(0, 0, 6, 0.8);
  --tabs-hover-bg: rgba(0, 0, 6, 0.07);
  --tabs-hover-fg: rgba(0, 0, 6, 0.9);
  --tabs-selected-bg: rgba(0, 0, 6, 0.1);
  --tabs-selected-fg: rgba(0, 0, 6, 0.9);
  --tabs-selected-hover-bg: rgba(0, 0, 6, 0.13);
  --tabs-selected-active-bg: rgba(0, 0, 6, 0.19);
  --tabs-strip-border-w: 0px;
  --tabs-panel-pad: 12px;
  --tabs-arrow-mode: select;
  --tabs-focus-outline: 2px solid rgba(53, 132, 228, 0.5);
  --tabs-focus-offset: 0px;
  --tabs-duration: 150ms;
  /* 进度条：GtkProgressBar（libadwaita 只上样式）：8 高、99px 圆角胶囊、
     轨道 currentColor 15%、填充强调色。不确定态由应用 pulse 驱动，没有固定周期。 */
  --progress-h: 8px;
  --progress-radius: 999px;
  --progress-track: rgba(0, 0, 6, 0.15);
  --progress-fill: var(--ui-accent);
  --progress-indeterminate-duration: 1200ms;
  /* 提示气泡：libadwaita _tooltip.scss 实测值：底色 80% 黑、白字、
     1px 白 10% 描边、圆角 9、内边距 6×10、无阴影。出现延迟 500ms。 */
  --tooltip-bg: rgb(0 0 6 / 80%);
  --tooltip-fg: #ffffff;
  --tooltip-border: rgba(255, 255, 255, 0.1);
  --tooltip-border-w: 1px;
  --tooltip-radius: 9px;
  --tooltip-pad-y: 6px;
  --tooltip-pad-x: 10px;
  --tooltip-font-size: 14px;
  --tooltip-shadow: none;
  --tooltip-show-delay: 500ms;
  --tooltip-focus-show: 0;
}

[data-theme="gnome"][data-mode="dark"] {
  --ui-surface: #222226;
  --ui-text: #ffffff;
  --ui-text-2: rgba(255, 255, 255, 0.62);
  --ui-text-disabled: rgba(255, 255, 255, 0.4);

  --ui-accent: #3584e4;
  --ui-accent-text: #ffffff;
  --ui-accent-hover: #3f8ce8;
  --ui-accent-active: #2f7ad6;

  --focus-outline: 2px solid rgba(129, 208, 255, 0.5);

  --btn-bg: rgba(255, 255, 255, 0.1);
  --btn-bg-hover: rgba(255, 255, 255, 0.15);
  --btn-bg-active: rgba(255, 255, 255, 0.3);
  --btn-fg: #ffffff;
  --btn-fg-active: #ffffff;

  --disabled-bg: rgba(255, 255, 255, 0.06);
  --disabled-fg: rgba(255, 255, 255, 0.4);

  --field-bg: rgba(255, 255, 255, 0.1);
  --field-placeholder: rgba(255, 255, 255, 0.55);

  --check-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.15);
  --radio-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.15);
  --radio-shadow-checked: inset 0 0 0 2px #3584e4;

  --switch-bg: rgba(255, 255, 255, 0.15);
  --switch-bg-on: #3584e4;
  --switch-knob-bg: #d2d2d2;
  --switch-knob-on-bg: #d2d2d2;

  --select-bg: rgba(255, 255, 255, 0.1);
  --select-chevron: #ffffff;

  --slider-track: rgba(255, 255, 255, 0.15);
  --slider-fill: #3584e4;

  --menu-bg: #36363a;
  --menu-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
  --menu-item-hover-bg: rgba(255, 255, 255, 0.08);
  --menu-item-selected-bg: rgba(255, 255, 255, 0.12);
  --menu-item-selected-fg: #ffffff;
  --menu-sep-color: rgba(255, 255, 255, 0.1); /* 估计 */
  --menu-item-disabled-fg: rgba(255, 255, 255, 0.5); /* 估计 */
  --seg-bg: rgba(255, 255, 255, 0.1);
  --seg-selected-bg: rgba(255, 255, 255, 0.2);
  --seg-selected-fg: #ffffff;
  --seg-hover-bg: rgba(255, 255, 255, 0.07);
  --seg-active-bg: rgba(255, 255, 255, 0.16);
  --seg-sep-color: rgba(255, 255, 255, 0.1);
  --tabs-fg: rgba(255, 255, 255, 0.8);
  --tabs-hover-bg: rgba(255, 255, 255, 0.07);
  --tabs-hover-fg: #ffffff;
  --tabs-selected-bg: rgba(255, 255, 255, 0.1);
  --tabs-selected-fg: #ffffff;
  --tabs-selected-hover-bg: rgba(255, 255, 255, 0.13);
  --tabs-selected-active-bg: rgba(255, 255, 255, 0.19);
  --progress-track: rgba(255, 255, 255, 0.15);
}

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

[data-theme="gnome"][data-mode="dark"] {
  --scrollbar-thumb: rgba(255, 255, 255, 0.3);
  --scrollbar-thumb-hover: rgba(255, 255, 255, 0.45);
}
