/*
 * Obsidian Publish - Flexoki Theme (Minimal)
 */

/* ===== Base Colors (Dark Theme) ===== */
:root {
  --flexoki-bg: #100F0F;
  --flexoki-bg-2: #1C1B1A;
  --flexoki-bg-3: #282726;
  --flexoki-ui: #343331;
  --flexoki-ui-2: #403E3C;
  --flexoki-ui-3: #575653;
  --flexoki-tx-3: #6F6E69;
  --flexoki-tx-2: #878580;
  --flexoki-tx: #CECDC3;

  --flexoki-red: #D14D41;
  --flexoki-orange: #DA702C;
  --flexoki-yellow: #D0A215;
  --flexoki-green: #879A39;
  --flexoki-cyan: #3AA99F;
  --flexoki-blue: #4385BE;
  --flexoki-purple: #8B7EC8;
  --flexoki-pink: #CE5D97;
}

/* ===== Published Site Overrides ===== */
.published-container {
  --background-primary: var(--flexoki-bg);
  --background-secondary: var(--flexoki-bg-2);
  --background-modifier-border: var(--flexoki-ui);
  --text-normal: var(--flexoki-tx);
  --text-muted: var(--flexoki-tx-2);
  --text-faint: var(--flexoki-tx-3);
  --interactive-accent: var(--flexoki-cyan);
}

body {
  background-color: var(--flexoki-bg);
  color: var(--flexoki-tx);
}

:root, html {
  background-color: #100F0F !important;
  color-scheme: dark;
}

/* ===== Links ===== */
a {
  color: #28998A !important;
  text-decoration: none;
}

a:hover {
  color: #28998A !important;
  text-decoration: underline;
}

/* ===== Headers ===== */
h1, h2, h3, h4, h5, h6 {
  color: var(--flexoki-tx);
}

/* ===== Code Blocks ===== */
pre {
  background-color: #012B36 !important;
  border: 1px solid var(--flexoki-ui) !important;
  border-radius: 8px;
  padding: 1em;
  overflow: auto;
  max-height: 500px;
}

code:not(pre code) {
  background-color: var(--flexoki-bg-2);
  color: var(--flexoki-orange);
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.9em;
}

pre code {
  background: none !important;
  color: var(--flexoki-tx);
}

/* ===== Syntax Highlighting ===== */
.token.comment, .token.prolog, .token.doctype, .token.cdata {
  color: var(--flexoki-tx-3);
  font-style: italic;
}

.token.punctuation {
  color: var(--flexoki-tx-2);
}

.token.keyword, .token.tag, .token.operator {
  color: var(--flexoki-purple);
}

.token.string, .token.attr-value {
  color: var(--flexoki-green);
}

.token.number, .token.boolean {
  color: var(--flexoki-orange);
}

.token.function {
  color: var(--flexoki-blue);
}

.token.class-name, .token.builtin {
  color: var(--flexoki-yellow);
}

.token.property, .token.attr-name {
  color: var(--flexoki-cyan);
}

.token.variable, .token.parameter, .token.plain, .token.plain-text, .token.identifier, .token.constant, .token.symbol {
  color: var(--flexoki-tx) !important;
}

pre code, code[class*="language-"], pre[class*="language-"] {
  color: var(--flexoki-tx) !important;
}

.token.regex, .token.important {
  color: var(--flexoki-pink);
}

/* ===== Blockquotes ===== */
blockquote {
  border-left: 3px solid var(--flexoki-cyan);
  background-color: var(--flexoki-bg-2);
  padding: 0.5em 1em;
  margin: 1em 0;
  color: var(--flexoki-tx-2);
}

/* ===== Tables ===== */
th, td {
  border: 1px solid var(--flexoki-ui);
}

th {
  background-color: var(--flexoki-bg-2);
}

tr:nth-child(even) {
  background-color: var(--flexoki-bg-2);
}

/* ===== Selection ===== */
::selection {
  background-color: var(--flexoki-cyan);
  color: var(--flexoki-bg);
}
