@font-face {
  font-family: "Fusion Pixel";
  src: url("/fonts/fusion-pixel-12px-monospaced-zh-hans.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root[data-theme="terminal"] {
  color-scheme: dark;
  font-family: "Fusion Pixel", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --page: #101713;
  --surface: #151f19;
  --rail: #0c120f;
  --ink: #d2e9d5;
  --muted: #95b59e;
  --line: #304e3c;
  --control: #547c61;
  --hover: #203528;
  --selected: #243d2d;
  --accent: #a4df9d;
  --on-accent: #132418;
  --action-hover: #c2edb5;
  --error: #ffb79d;
  --shadow: 4px 4px 0 #0005;
  font-synthesis: none;
}

.swatch.terminal { border-radius: 1px; border-color: #547c61; background: #101713; box-shadow: inset 4px -4px 0 #a4df9d; }
#theme-wave[data-wave-theme="terminal"] { background: #101713; }

[data-theme="terminal"] :is(.login, .login input, .primary, .icon-btn, .theme-trigger, .settings-menu, .menu-choice, .composer, #prompt, .tool-trigger, .send, .modes button, .new-chat, .history-item, .invite-manager, .invite-fields input, .new-invite) { border-radius: 3px; }
[data-theme="terminal"] :is(.welcome h1, .brand, .choice-name, .menu-label, .message-label, .primary, .new-chat) { font-weight: 400; letter-spacing: 0; }
[data-theme="terminal"] .welcome h1 { font-size: 24px; line-height: 1.5; color: var(--accent); }
[data-theme="terminal"] .welcome h1::after { content: ""; display: inline-block; width: 9px; height: 19px; margin-left: 8px; vertical-align: -2px; background: var(--accent); }
[data-theme="terminal"] .top-title { color: var(--ink); }
[data-theme="terminal"] .message-body { font-size: 18px; line-height: 1.85; }
[data-theme="terminal"] .message.user { color: var(--accent); }
[data-theme="terminal"] .message.assistant .message-label { color: var(--muted); font-size: 14px; }
[data-theme="terminal"] .message.assistant .message-label::before { border-radius: 0; }
[data-theme="terminal"] :is(.selected-model, .theme-trigger, .menu-choice, .history-item) { font-size: 14px; }
[data-theme="terminal"] #prompt { font-size: 18px; line-height: 1.65; }
[data-theme="terminal"] .composer { border-color: var(--control); box-shadow: 3px 3px 0 #0004; }
[data-theme="terminal"] .composer:has(#prompt:focus) { border-color: var(--accent); }
[data-theme="terminal"] .zero-talk { border-radius: 4px; }
[data-theme="terminal"] .account-signin input { border-radius: 3px; }
[data-theme="terminal"] .zero-bubble { border-radius: 3px; font-size: 14px; }
[data-theme="terminal"] :focus-visible { outline-style: dashed; }
