/* ==========================================================================
   리눅스 커널 정리 /with MINZKN - Theme Definitions
   5 Themes: dark-kernel (default), light, solarized, nord, high-contrast
   ========================================================================== */

/* ---------- Dark Kernel (기본 테마: 터미널 느낌) ---------- */
[data-theme="dark-kernel"] {
  --bg-primary: #0d1117;
  --bg-secondary: #161b22;
  --bg-tertiary: #1c2128;
  --bg-code: #1a1e24;
  --bg-card: #161b22;
  --bg-nav: #0d1117;
  --bg-toc: #0d1117;
  --bg-hover: #1f262e;
  --bg-active: #253341;
  --bg-search: #161b22;
  --bg-tooltip: #2d333b;
  --bg-kbd: #2d333b;
  --bg-table-header: #1c2128;
  --bg-table-stripe: #131820;
  --bg-hero: linear-gradient(135deg, #0d1117 0%, #0f1923 50%, #0d1117 100%);
  --bg-overlay: rgba(0, 0, 0, 0.7);

  --text-primary: #e6edf3;
  --text-secondary: #8b949e;
  --text-muted: #6e7681;
  --text-heading: #f0f6fc;
  --text-link: #58a6ff;
  --text-link-hover: #79c0ff;
  --text-code: #79c0ff;
  --text-nav: #c9d1d9;
  --text-nav-active: #58a6ff;

  --accent-primary: #39d353;
  --accent-secondary: #f0883e;
  --accent-tertiary: #58a6ff;
  --accent-danger: #f85149;
  --accent-warning: #d29922;
  --accent-info: #58a6ff;
  --accent-glow: rgba(57, 211, 83, 0.15);

  --border-primary: #30363d;
  --border-secondary: #21262d;
  --border-active: #58a6ff;
  --border-code: #30363d;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 3px 8px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

  --scrollbar-track: #161b22;
  --scrollbar-thumb: #30363d;
  --scrollbar-thumb-hover: #484f58;

  --diagram-bg: #161b22;
  --diagram-stroke: #39d353;
  --diagram-fill: #1c2128;
  --diagram-text: #e6edf3;
  --diagram-accent: #58a6ff;
  --diagram-arrow: #8b949e;

  --syntax-keyword: #ff7b72;
  --syntax-string: #a5d6ff;
  --syntax-comment: #6e7681;
  --syntax-function: #d2a8ff;
  --syntax-number: #79c0ff;
  --syntax-type: #ffa657;
  --syntax-macro: #f0883e;
  --syntax-preprocessor: #ff7b72;

  --info-bg-info: rgba(88, 166, 255, 0.08);
  --info-bg-warning: rgba(210, 153, 34, 0.08);
  --info-bg-danger: rgba(248, 81, 73, 0.08);
}

/* ---------- Light ---------- */
[data-theme="light"] {
  --bg-primary: #ffffff;
  --bg-secondary: #f6f8fa;
  --bg-tertiary: #eef1f5;
  --bg-code: #f6f8fa;
  --bg-card: #ffffff;
  --bg-nav: #f6f8fa;
  --bg-toc: #f6f8fa;
  --bg-hover: #eef1f5;
  --bg-active: #dbe4ed;
  --bg-search: #ffffff;
  --bg-tooltip: #24292f;
  --bg-kbd: #eef1f5;
  --bg-table-header: #f6f8fa;
  --bg-table-stripe: #f6f8fa;
  --bg-hero: linear-gradient(135deg, #f6f8fa 0%, #eef1f5 50%, #f6f8fa 100%);
  --bg-overlay: rgba(0, 0, 0, 0.4);

  --text-primary: #24292f;
  --text-secondary: #57606a;
  --text-muted: #8b949e;
  --text-heading: #1b1f24;
  --text-link: #0969da;
  --text-link-hover: #0550ae;
  --text-code: #0550ae;
  --text-nav: #24292f;
  --text-nav-active: #0969da;

  --accent-primary: #1a7f37;
  --accent-secondary: #cf222e;
  --accent-tertiary: #0969da;
  --accent-danger: #cf222e;
  --accent-warning: #9a6700;
  --accent-info: #0969da;
  --accent-glow: rgba(9, 105, 218, 0.1);

  --border-primary: #d0d7de;
  --border-secondary: #e1e4e8;
  --border-active: #0969da;
  --border-code: #d0d7de;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 3px 8px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

  --scrollbar-track: #f6f8fa;
  --scrollbar-thumb: #d0d7de;
  --scrollbar-thumb-hover: #afb8c1;

  --diagram-bg: #f6f8fa;
  --diagram-stroke: #1a7f37;
  --diagram-fill: #ffffff;
  --diagram-text: #24292f;
  --diagram-accent: #0969da;
  --diagram-arrow: #57606a;

  --syntax-keyword: #cf222e;
  --syntax-string: #0a3069;
  --syntax-comment: #6e7781;
  --syntax-function: #8250df;
  --syntax-number: #0550ae;
  --syntax-type: #953800;
  --syntax-macro: #cf222e;
  --syntax-preprocessor: #cf222e;

  --info-bg-info: rgba(9, 105, 218, 0.08);
  --info-bg-warning: rgba(154, 103, 0, 0.08);
  --info-bg-danger: rgba(207, 34, 46, 0.08);
}

/* ---------- Solarized ---------- */
[data-theme="solarized"] {
  --bg-primary: #002b36;
  --bg-secondary: #073642;
  --bg-tertiary: #0a3f4d;
  --bg-code: #073642;
  --bg-card: #073642;
  --bg-nav: #002b36;
  --bg-toc: #002b36;
  --bg-hover: #0a3f4d;
  --bg-active: #134858;
  --bg-search: #073642;
  --bg-tooltip: #073642;
  --bg-kbd: #0a3f4d;
  --bg-table-header: #073642;
  --bg-table-stripe: #003845;
  --bg-hero: linear-gradient(135deg, #002b36 0%, #073642 50%, #002b36 100%);
  --bg-overlay: rgba(0, 0, 0, 0.6);

  --text-primary: #93a1a1;
  --text-secondary: #657b83;
  --text-muted: #586e75;
  --text-heading: #93a1a1;
  --text-link: #268bd2;
  --text-link-hover: #2aa198;
  --text-code: #2aa198;
  --text-nav: #93a1a1;
  --text-nav-active: #268bd2;

  --accent-primary: #859900;
  --accent-secondary: #cb4b16;
  --accent-tertiary: #268bd2;
  --accent-danger: #dc322f;
  --accent-warning: #b58900;
  --accent-info: #268bd2;
  --accent-glow: rgba(133, 153, 0, 0.15);

  --border-primary: #2a4a54;
  --border-secondary: #1a3a44;
  --border-active: #268bd2;
  --border-code: #2a4a54;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 3px 8px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

  --scrollbar-track: #073642;
  --scrollbar-thumb: #2a4a54;
  --scrollbar-thumb-hover: #3a5a64;

  --diagram-bg: #073642;
  --diagram-stroke: #859900;
  --diagram-fill: #002b36;
  --diagram-text: #93a1a1;
  --diagram-accent: #268bd2;
  --diagram-arrow: #657b83;

  --syntax-keyword: #859900;
  --syntax-string: #2aa198;
  --syntax-comment: #586e75;
  --syntax-function: #268bd2;
  --syntax-number: #d33682;
  --syntax-type: #b58900;
  --syntax-macro: #cb4b16;
  --syntax-preprocessor: #cb4b16;

  --info-bg-info: rgba(38, 139, 210, 0.08);
  --info-bg-warning: rgba(181, 137, 0, 0.08);
  --info-bg-danger: rgba(220, 50, 47, 0.08);
}

/* ---------- Nord ---------- */
[data-theme="nord"] {
  --bg-primary: #2e3440;
  --bg-secondary: #3b4252;
  --bg-tertiary: #434c5e;
  --bg-code: #3b4252;
  --bg-card: #3b4252;
  --bg-nav: #2e3440;
  --bg-toc: #2e3440;
  --bg-hover: #434c5e;
  --bg-active: #4c566a;
  --bg-search: #3b4252;
  --bg-tooltip: #434c5e;
  --bg-kbd: #434c5e;
  --bg-table-header: #3b4252;
  --bg-table-stripe: #333a47;
  --bg-hero: linear-gradient(135deg, #2e3440 0%, #3b4252 50%, #2e3440 100%);
  --bg-overlay: rgba(0, 0, 0, 0.6);

  --text-primary: #d8dee9;
  --text-secondary: #a4b0c2;
  --text-muted: #7b88a1;
  --text-heading: #eceff4;
  --text-link: #88c0d0;
  --text-link-hover: #8fbcbb;
  --text-code: #8fbcbb;
  --text-nav: #d8dee9;
  --text-nav-active: #88c0d0;

  --accent-primary: #a3be8c;
  --accent-secondary: #d08770;
  --accent-tertiary: #88c0d0;
  --accent-danger: #bf616a;
  --accent-warning: #ebcb8b;
  --accent-info: #88c0d0;
  --accent-glow: rgba(163, 190, 140, 0.15);

  --border-primary: #4c566a;
  --border-secondary: #434c5e;
  --border-active: #88c0d0;
  --border-code: #4c566a;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 3px 8px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.45);

  --scrollbar-track: #3b4252;
  --scrollbar-thumb: #4c566a;
  --scrollbar-thumb-hover: #5a6580;

  --diagram-bg: #3b4252;
  --diagram-stroke: #a3be8c;
  --diagram-fill: #2e3440;
  --diagram-text: #eceff4;
  --diagram-accent: #88c0d0;
  --diagram-arrow: #a4b0c2;

  --syntax-keyword: #81a1c1;
  --syntax-string: #a3be8c;
  --syntax-comment: #616e88;
  --syntax-function: #88c0d0;
  --syntax-number: #b48ead;
  --syntax-type: #ebcb8b;
  --syntax-macro: #d08770;
  --syntax-preprocessor: #bf616a;

  --info-bg-info: rgba(136, 192, 208, 0.08);
  --info-bg-warning: rgba(235, 203, 139, 0.08);
  --info-bg-danger: rgba(191, 97, 106, 0.08);
}

/* ---------- High Contrast ---------- */
[data-theme="high-contrast"] {
  --bg-primary: #000000;
  --bg-secondary: #0a0a0a;
  --bg-tertiary: #141414;
  --bg-code: #0a0a0a;
  --bg-card: #0a0a0a;
  --bg-nav: #000000;
  --bg-toc: #000000;
  --bg-hover: #1a1a1a;
  --bg-active: #2a2a2a;
  --bg-search: #0a0a0a;
  --bg-tooltip: #1a1a1a;
  --bg-kbd: #1a1a1a;
  --bg-table-header: #0a0a0a;
  --bg-table-stripe: #050505;
  --bg-hero: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #000000 100%);
  --bg-overlay: rgba(0, 0, 0, 0.85);

  --text-primary: #ffffff;
  --text-secondary: #d0d0d0;
  --text-muted: #a0a0a0;
  --text-heading: #ffffff;
  --text-link: #6ef2ff;
  --text-link-hover: #a0f8ff;
  --text-code: #6ef2ff;
  --text-nav: #ffffff;
  --text-nav-active: #6ef2ff;

  --accent-primary: #00ff41;
  --accent-secondary: #ff6600;
  --accent-tertiary: #6ef2ff;
  --accent-danger: #ff3333;
  --accent-warning: #ffcc00;
  --accent-info: #6ef2ff;
  --accent-glow: rgba(0, 255, 65, 0.2);

  --border-primary: #ffffff;
  --border-secondary: #808080;
  --border-active: #6ef2ff;
  --border-code: #ffffff;

  --shadow-sm: 0 1px 2px rgba(255, 255, 255, 0.05);
  --shadow-md: 0 3px 8px rgba(255, 255, 255, 0.08);
  --shadow-lg: 0 8px 24px rgba(255, 255, 255, 0.1);

  --scrollbar-track: #0a0a0a;
  --scrollbar-thumb: #404040;
  --scrollbar-thumb-hover: #606060;

  --diagram-bg: #0a0a0a;
  --diagram-stroke: #00ff41;
  --diagram-fill: #000000;
  --diagram-text: #ffffff;
  --diagram-accent: #6ef2ff;
  --diagram-arrow: #d0d0d0;

  --syntax-keyword: #ff6666;
  --syntax-string: #6ef2ff;
  --syntax-comment: #808080;
  --syntax-function: #cc99ff;
  --syntax-number: #6ef2ff;
  --syntax-type: #ffcc00;
  --syntax-macro: #ff6600;
  --syntax-preprocessor: #ff6666;

  --info-bg-info: rgba(110, 242, 255, 0.08);
  --info-bg-warning: rgba(255, 204, 0, 0.08);
  --info-bg-danger: rgba(255, 51, 51, 0.08);
}
