




:root {
  --bg-color: #000000;
  --text-color: #ffffff;
  --prompt-color: #aaaaaa;
  --accent-color: #ffffff;
  --link-color: #888888;
  --selection-bg: #ffffff;
  --selection-text: #000000;
  --font-family: 'Maple Mono', monospace;
  --font-size: 18px;
  --line-height: 1.4;
  --terminal-background-image: none;
}


body[data-font="default"], body[data-font="maple-mono"] { --font-family: 'Maple Mono', monospace; }
body[data-font="fira-code"] { --font-family: 'Fira Code', monospace; }
body[data-font="jetbrains-mono"] { --font-family: 'JetBrains Mono', monospace; }
body[data-font="vt323"] { --font-family: 'VT323', monospace; --font-size: 18px; }
body[data-font="share-tech-mono"] { --font-family: 'Share Tech Mono', monospace; }
body[data-font="courier-prime"] { --font-family: 'Courier Prime', monospace; }
body[data-font="source-code-pro"] { --font-family: 'Source Code Pro', monospace; }


body[data-theme="capuccin"], body[data-theme="catppuccin"], body[data-theme="mocha"] {
  --bg-color: var(--ctp-mocha-base);
  --text-color: var(--ctp-mocha-text);
  --prompt-color: var(--ctp-mocha-mauve);
  --accent-color: var(--ctp-mocha-rosewater);
  --link-color: var(--ctp-mocha-blue);
  --selection-bg: var(--ctp-mocha-surface2);
  --selection-text: var(--ctp-mocha-text);
}

body[data-theme="macchiato"] {
  --bg-color: var(--ctp-macchiato-base);
  --text-color: var(--ctp-macchiato-text);
  --prompt-color: var(--ctp-macchiato-mauve);
  --accent-color: var(--ctp-macchiato-rosewater);
  --link-color: var(--ctp-macchiato-blue);
  --selection-bg: var(--ctp-macchiato-surface2);
  --selection-text: var(--ctp-macchiato-text);
}

body[data-theme="frappe"] {
  --bg-color: var(--ctp-frappe-base);
  --text-color: var(--ctp-frappe-text);
  --prompt-color: var(--ctp-frappe-mauve);
  --accent-color: var(--ctp-frappe-rosewater);
  --link-color: var(--ctp-frappe-blue);
  --selection-bg: var(--ctp-frappe-surface2);
  --selection-text: var(--ctp-frappe-text);
}

body[data-theme="latte"] {
  --bg-color: var(--ctp-latte-base);
  --text-color: var(--ctp-latte-text);
  --prompt-color: var(--ctp-latte-mauve);
  --accent-color: var(--ctp-latte-rosewater);
  --link-color: var(--ctp-latte-blue);
  --selection-bg: var(--ctp-latte-surface2);
  --selection-text: var(--ctp-latte-text);
}


body[data-theme="matrix"] {
  --bg-color: #0d0d0d;
  --text-color: #00ff66;
  --prompt-color: #00b347;
  --accent-color: #33ff33;
  --link-color: #66ff99;
  --selection-bg: #00ff66;
  --selection-text: #0d0d0d;
}

body[data-theme="amber"] {
  --bg-color: #120a00;
  --text-color: #ffb000;
  --prompt-color: #cc8d00;
  --accent-color: #ffd000;
  --link-color: #ffc233;
  --selection-bg: #ffb000;
  --selection-text: #120a00;
}

body[data-theme="dracula"] {
  --bg-color: #282a36;
  --text-color: #f8f8f2;
  --prompt-color: #ff79c6;
  --accent-color: #8be9fd;
  --link-color: #bd93f9;
  --selection-bg: #44475a;
  --selection-text: #f8f8f2;
}

body[data-theme="solarized"] {
  --bg-color: #002b36;
  --text-color: #839496;
  --prompt-color: #2aa198;
  --accent-color: #b58900;
  --link-color: #268bd2;
  --selection-bg: #073642;
  --selection-text: #93a1a1;
}

body[data-theme="cyberpunk"] {
  --bg-color: #120428;
  --text-color: #00f0ff;
  --prompt-color: #ff007f;
  --accent-color: #ffe600;
  --link-color: #ff00f0;
  --selection-bg: #ff007f;
  --selection-text: #120428;
}

body[data-theme="light"] {
  --bg-color: #f4f4f4;
  --text-color: #111111;
  --prompt-color: #666666;
  --accent-color: #000000;
  --link-color: #0066cc;
  --selection-bg: #111111;
  --selection-text: #ffffff;
}


body[data-theme="glass"] {
  --bg-color: #0b1020;
  --text-color: #f4f7ff;
  --prompt-color: #a7c7ff;
  --accent-color: #7ee7ff;
  --link-color: #b9a7ff;
  --selection-bg: rgba(126, 231, 255, 0.5);
  --selection-text: #07101d;
  background-image: linear-gradient(rgba(7, 12, 25, 0.44), rgba(7, 12, 25, 0.44)), var(--terminal-background-image);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}


body[data-theme="glass"] #app-container {
  background-color: rgba(7, 12, 25, 0.58);
  backdrop-filter: blur(8px);
}



body[data-theme="glass"] .tab-bar,
body[data-theme="glass"] .vim-overlay,
body[data-theme="glass"] .vim-cmdline-container,
body[data-theme="glass"] .nano-prompt {
  background-color: transparent;
}



body[data-theme="glass"] .vim-overlay,
body[data-theme="glass"] .nano-overlay {
  background-color: rgba(7, 12, 25, 0.96);
  backdrop-filter: blur(12px);
}

body[data-theme="glass"] .vim-cmdline-container,
body[data-theme="glass"] .nano-prompt {
  background-color: rgba(7, 12, 25, 0.96);
}
