/* florium base stylesheet: colours come from the theme (share/themes/<name>.css) */
:root {
  --bg: #eef1f4; --card: #fff; --card2: #f7f9fb; --line: #d3d9df; --head: #2f4a63; --head2: #3d5f7d;
  --headtext: #fff; --headmuted: #c9d6e2; --text: #1f2933; --muted: #66727e; --link: #1f5f99;
  --accent: #e3edf6; --accentline: #b9cde0; --danger: #b3261e; --dangerbg: #fbeaea; --input: #fff;
  --code: #fafafa; --quote: #f3f5f7; --quoteline: #7a8fa6; --button: #3d5f7d; --buttonhover: #2f4a63;
  --button2: #8a99a8; --tool: #e7ecf1;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5em 2em;
  background: linear-gradient(var(--head2), var(--head)); color: var(--headtext); padding: .8em 1.5em; }
.site-title a { color: var(--headtext); font-size: 1.6em; font-weight: 700; letter-spacing: .02em; }
.site-description { color: var(--headmuted); font-size: .9em; }
.site-nav { display: flex; flex-wrap: wrap; gap: .3em 1.1em; align-items: center; }
.site-nav a, .site-nav .who { color: var(--headtext); display: inline-flex; align-items: center; gap: .4em; }
.site-nav form { display: inline; margin: 0; }
.site-nav button { background: none; border: 0; color: var(--headtext); cursor: pointer; font: inherit; padding: 0; }
.site-nav button:hover { background: none; text-decoration: underline; }
.site-nav .mode-toggle { font-size: 1.15em; line-height: 1; }
.site-nav .search input { padding: .25em .5em; border-radius: 4px; border: 0; width: 11em; background: var(--input); color: var(--text); }
.breadcrumb { max-width: 1200px; margin: 1em auto 0; padding: 0 1em; color: var(--muted); }
.breadcrumb .current { color: var(--text); font-weight: 600; }
.content { max-width: 1200px; margin: 0 auto; padding: 1em; }
.site-footer { text-align: center; color: var(--muted); font-size: .85em; padding: 2em 0; }
h1 { font-size: 1.5em; margin: .2em 0 .6em; }
h2 { font-size: 1.15em; }
.box { background: var(--card); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 1.2em; overflow: hidden; }
.box > h2 { margin: 0; padding: .5em .9em; font-size: 1.05em; background: var(--head2); color: var(--headtext); }
.box > p, .box > .pad { padding: .2em .9em; }
table.list { width: 100%; border-collapse: collapse; }
table.list th { text-align: left; font-size: .8em; text-transform: uppercase; color: var(--muted); background: var(--accent); padding: .4em .9em; }
table.list td { padding: .6em .9em; border-top: 1px solid var(--line); vertical-align: top; }
table.list td.num { text-align: right; white-space: nowrap; width: 6em; color: var(--muted); }
table.list td.last { width: 16em; font-size: .85em; color: var(--muted); }
.forum-title, .thread-title { font-weight: 600; font-size: 1.05em; }
.forum-desc, .meta { color: var(--muted); font-size: .88em; }
.lock-note { font-size: .8em; color: var(--muted); }
.badge { display: inline-block; font-size: .72em; padding: 0 .45em; border-radius: 3px; background: var(--head2); color: var(--headtext); margin-right: .4em; vertical-align: middle; }
.badge.locked { background: var(--danger); color: var(--card); }
.actions { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; justify-content: space-between; margin: .6em 0; }
.button, button, input[type=submit] { display: inline-block; background: var(--button); color: #fff; border: 0; border-radius: 4px;
  padding: .45em 1em; font: inherit; cursor: pointer; text-decoration: none; }
.button:hover, button:hover { background: var(--buttonhover); text-decoration: none; }
.button.secondary, button.secondary { background: var(--button2); }
.button.danger, button.danger { background: var(--danger); color: var(--card); }
.pages { display: flex; gap: .25em; flex-wrap: wrap; }
.pages a, .pages span { padding: .15em .55em; border: 1px solid var(--line); border-radius: 3px; background: var(--card); }
.pages .current { background: var(--button); color: #fff; border-color: var(--button); }
.avatar { border-radius: 50%; object-fit: cover; background: var(--accent); vertical-align: middle; }
.post { display: grid; grid-template-columns: 11em 1fr; background: var(--card); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 1em; }
.post-author { padding: .9em; border-right: 1px solid var(--line); background: var(--card2); font-size: .88em; color: var(--muted); }
.post-author .avatar { display: block; margin-bottom: .5em; }
.post-author .name { font-weight: 700; font-size: 1.1em; display: block; margin-bottom: .2em; }
.post-main { display: flex; flex-direction: column; min-width: 0; }
.post-head { display: flex; justify-content: space-between; padding: .4em .9em; border-bottom: 1px solid var(--line); font-size: .85em; color: var(--muted); }
.post-body { padding: .9em; overflow-wrap: anywhere; flex: 1; }
.post-sig { margin: 0 .9em; padding: .5em 0; border-top: 1px dashed var(--line); font-size: .85em; color: var(--muted); }
.post-tools { padding: .4em .9em; display: flex; gap: .8em; justify-content: flex-end; font-size: .85em; }
.post-tools form { display: inline; margin: 0; }
.post-tools button { background: none; color: var(--danger); padding: 0; }
.edited { font-size: .8em; color: var(--muted); font-style: italic; padding: 0 .9em .4em; }
form.editor, form.stack { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 1em; margin-bottom: 1.2em; }
form.stack label, form.editor label { display: block; font-weight: 600; margin: .6em 0 .2em; }
form.stack label.check { font-weight: normal; }
input, select, textarea { background: var(--input); color: var(--text); }
form.stack input[type=text], form.stack input[type=password], form.stack input[type=email], form.stack input[type=number],
form.stack input[type=url], form.stack select, form.stack textarea, form.editor input[type=text], form.editor textarea {
  width: 100%; padding: .45em .6em; border: 1px solid var(--line); border-radius: 4px; font: inherit; }
form.editor textarea, form.stack textarea { min-height: 8em; font-family: ui-monospace, monospace; font-size: .92em; }
form.editor textarea { min-height: 14em; }
.form-buttons { margin-top: .8em; display: flex; gap: .6em; flex-wrap: wrap; }
.hint { color: var(--muted); font-size: .85em; margin: .2em 0; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.toolbar { display: flex; flex-wrap: wrap; gap: .3em; margin: .3em 0; align-items: center; }
.toolbar button { background: var(--tool); color: var(--text); padding: .2em .6em; font-size: .85em; }
.toolbar .smilie-btn { background: none; padding: 0 .1em; line-height: 0; }
.toolbar .upload { font-size: .85em; padding: .2em .6em; margin: 0; font-weight: normal; }
.upload.busy { opacity: .5; pointer-events: none; }
.notice { padding: .7em 1em; border-radius: 4px; margin-bottom: 1em; background: var(--accent); border: 1px solid var(--accentline); }
.notice.error { background: var(--dangerbg); border-color: var(--danger); color: var(--danger); }
.preview { background: var(--card); border: 2px dashed var(--line); border-radius: 6px; padding: .9em; margin-bottom: 1em; }
.stats { font-size: .9em; color: var(--muted); padding: .7em .9em; }
.inline-form { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; padding: .6em .9em; border-top: 1px solid var(--line); margin: 0; }
.inline-form input[type=text], .inline-form input[type=number], .inline-form select { padding: .3em .5em; border: 1px solid var(--line); border-radius: 4px; font: inherit; }
.search-hit { padding: .7em .9em; border-top: 1px solid var(--line); }
.search-hit .excerpt { color: var(--text); font-size: .92em; }
/* user control centre */
.ucp { display: grid; grid-template-columns: 14em 1fr; gap: 1.2em; align-items: start; }
.ucp-menu { background: var(--card); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.ucp-menu .who { display: flex; gap: .6em; align-items: center; padding: .8em; border-bottom: 1px solid var(--line); font-weight: 600; }
.ucp-menu a { display: block; padding: .5em .9em; border-top: 1px solid var(--line); color: var(--text); }
.ucp-menu a.active { background: var(--accent); font-weight: 600; border-left: 3px solid var(--button); }
.policy-list { list-style: none; padding: 0 .9em; margin: .5em 0; }
.policy-list li { padding: .25em 0; }
.policy-list .yes { color: #2e7d32; font-weight: 700; } .policy-list .no { color: var(--danger); font-weight: 700; }
.theme-choice { display: flex; flex-wrap: wrap; gap: .8em; margin: .4em 0; }
.theme-choice label { display: flex; gap: .4em; align-items: center; border: 1px solid var(--line); border-radius: 4px; padding: .4em .7em; font-weight: normal; margin: 0; }
.swatch { display: inline-block; width: 1em; height: 1em; border-radius: 50%; border: 1px solid var(--line); }
/* libvbulletinpp classes follow the theme */
.vb-quote-body { background: var(--quote) !important; border-color: var(--line) !important; border-left-color: var(--quoteline) !important; }
.vb-code-body, .vb-php-body, .vb-html-body { background: var(--code) !important; border-color: var(--line) !important; color: var(--text); }
.vb-table td, .vb-table th { border-color: var(--line) !important; }
html[data-mode="dark"] .vb-php-tag, html[data-mode="dark"] .vb-php-keyword, html[data-mode="dark"] .vb-php-function,
html[data-mode="dark"] .vb-php-variable { color: #8ab4f8 !important; }
html[data-mode="dark"] .vb-php-string { color: #f28b82 !important; } html[data-mode="dark"] .vb-html-tag { color: #8ab4f8 !important; }
html[data-mode="dark"] .vb-html-value { color: #a8c7fa !important; } html[data-mode="dark"] .vb-html-attr { color: #d7aefb !important; }
@media (prefers-color-scheme: dark) {
  html[data-mode="auto"] .vb-php-tag, html[data-mode="auto"] .vb-php-keyword, html[data-mode="auto"] .vb-php-function,
  html[data-mode="auto"] .vb-php-variable, html[data-mode="auto"] .vb-html-tag { color: #8ab4f8 !important; }
  html[data-mode="auto"] .vb-php-string { color: #f28b82 !important; } html[data-mode="auto"] .vb-html-value { color: #a8c7fa !important; }
  html[data-mode="auto"] .vb-html-attr { color: #d7aefb !important; }
}
@media (max-width: 700px) {
  .post { grid-template-columns: 1fr; }
  .post-author { border-right: 0; border-bottom: 1px solid var(--line); display: flex; gap: .8em; align-items: center; flex-wrap: wrap; }
  .post-author .avatar { display: inline-block; margin: 0; width: 40px; height: 40px; }
  table.list td.last, table.list th.last { display: none; }
  .ucp { grid-template-columns: 1fr; }
}

/* theme classic */
/* name: Klassisch */
html[data-theme="classic"] {
  --bg: #eef1f4;
  --card: #ffffff;
  --card2: #f7f9fb;
  --line: #d3d9df;
  --head: #2f4a63;
  --head2: #3d5f7d;
  --headtext: #ffffff;
  --headmuted: #c9d6e2;
  --text: #1f2933;
  --muted: #66727e;
  --link: #1f5f99;
  --accent: #e3edf6;
  --accentline: #b9cde0;
  --danger: #b3261e;
  --dangerbg: #fbeaea;
  --input: #ffffff;
  --code: #fafafa;
  --quote: #f3f5f7;
  --quoteline: #7a8fa6;
  --button: #3d5f7d;
  --buttonhover: #2f4a63;
  --button2: #8a99a8;
  --tool: #e7ecf1;
  color-scheme: light;
}
html[data-theme="classic"][data-mode="dark"] {
  --bg: #11161c;
  --card: #1a2129;
  --card2: #151b22;
  --line: #2c3640;
  --head: #0e141a;
  --head2: #1d2a37;
  --headtext: #e6edf3;
  --headmuted: #8ea3b6;
  --text: #dbe2e9;
  --muted: #8d99a5;
  --link: #7fb6ec;
  --accent: #1f2c3a;
  --accentline: #34485c;
  --danger: #f2b8b5;
  --dangerbg: #3a1d1b;
  --input: #10161c;
  --code: #0f141a;
  --quote: #18212b;
  --quoteline: #5b7c9d;
  --button: #3b6890;
  --buttonhover: #4c7ca6;
  --button2: #4a5866;
  --tool: #25303b;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html[data-theme="classic"][data-mode="auto"] {
    --bg: #11161c;
    --card: #1a2129;
    --card2: #151b22;
    --line: #2c3640;
    --head: #0e141a;
    --head2: #1d2a37;
    --headtext: #e6edf3;
    --headmuted: #8ea3b6;
    --text: #dbe2e9;
    --muted: #8d99a5;
    --link: #7fb6ec;
    --accent: #1f2c3a;
    --accentline: #34485c;
    --danger: #f2b8b5;
    --dangerbg: #3a1d1b;
    --input: #10161c;
    --code: #0f141a;
    --quote: #18212b;
    --quoteline: #5b7c9d;
    --button: #3b6890;
    --buttonhover: #4c7ca6;
    --button2: #4a5866;
    --tool: #25303b;
  color-scheme: dark;
  }
}

/* theme fenriros */
/* name: FenrirOS */
/* Colours and shapes of https://fenriros.org/ (feos-scripts/files/website/index.html):
   warm paper background, white cards, rust accent, flat header with a hairline. */
html[data-theme="fenriros"] {
  --bg: #f6f5f2;
  --card: #ffffff;
  --card2: #faf9f6;
  --line: #e2e0da;
  --head: #f6f5f2;
  --head2: #f6f5f2;
  --headtext: #1d1f23;
  --headmuted: #5b6069;
  --text: #1d1f23;
  --muted: #5b6069;
  --link: #b4462b;
  --accent: #f6e3dc;
  --accentline: #ecc7b9;
  --danger: #a3271b;
  --dangerbg: #fbe9e5;
  --input: #ffffff;
  --code: #efede8;
  --quote: #f6f5f2;
  --quoteline: #b4462b;
  --button: #b4462b;
  --buttonhover: #9c3b23;
  --button2: #5b6069;
  --tool: #efede8;
  --accenttext: #ffffff;
  --soft: #f6e3dc;
  color-scheme: light;
}
html[data-theme="fenriros"][data-mode="dark"] {
  --bg: #121417;
  --card: #1b1e22;
  --card2: #17191d;
  --line: #2c3036;
  --head: #121417;
  --head2: #121417;
  --headtext: #e7e8ea;
  --headmuted: #9aa0a8;
  --text: #e7e8ea;
  --muted: #9aa0a8;
  --link: #e0714f;
  --accent: #3a2420;
  --accentline: #5a342b;
  --danger: #f08a73;
  --dangerbg: #3a1f1a;
  --input: #15171a;
  --code: #23272c;
  --quote: #1f2226;
  --quoteline: #e0714f;
  --button: #e0714f;
  --buttonhover: #ea8566;
  --button2: #3a3f46;
  --tool: #23272c;
  --accenttext: #15171a;
  --soft: #3a2420;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html[data-theme="fenriros"][data-mode="auto"] {
    --bg: #121417;
    --card: #1b1e22;
    --card2: #17191d;
    --line: #2c3036;
    --head: #121417;
    --head2: #121417;
    --headtext: #e7e8ea;
    --headmuted: #9aa0a8;
    --text: #e7e8ea;
    --muted: #9aa0a8;
    --link: #e0714f;
    --accent: #3a2420;
    --accentline: #5a342b;
    --danger: #f08a73;
    --dangerbg: #3a1f1a;
    --input: #15171a;
    --code: #23272c;
    --quote: #1f2226;
    --quoteline: #e0714f;
    --button: #e0714f;
    --buttonhover: #ea8566;
    --button2: #3a3f46;
    --tool: #23272c;
    --accenttext: #15171a;
    --soft: #3a2420;
    color-scheme: dark;
  }
}

/* the site's shapes: flat header with a hairline, 10px cards, 8px buttons, pill badges */
html[data-theme="fenriros"] body { font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif; }
html[data-theme="fenriros"] .site-header { background: var(--bg); border-bottom: 1px solid var(--line); padding: .7em 1.5em; }
html[data-theme="fenriros"] .site-title a { color: var(--text); font-size: 1.25em; letter-spacing: 0; }
html[data-theme="fenriros"] .site-title a::before {
  content: ""; display: inline-block; width: .7em; height: .7em; margin-right: .45em; border-radius: 3px;
  background: var(--link); vertical-align: .02em;
}
html[data-theme="fenriros"] .site-nav a, html[data-theme="fenriros"] .site-nav button { color: var(--muted); font-size: .95em; font-weight: normal; }
html[data-theme="fenriros"] .site-nav a:hover, html[data-theme="fenriros"] .site-nav button:hover { color: var(--text); text-decoration: none; }
html[data-theme="fenriros"] .site-nav .search input { border: 1px solid var(--line); border-radius: 6px; background: var(--card); }
html[data-theme="fenriros"] .content, html[data-theme="fenriros"] .breadcrumb { max-width: 1040px; }
html[data-theme="fenriros"] h1 { letter-spacing: -.02em; }
html[data-theme="fenriros"] .box, html[data-theme="fenriros"] .post, html[data-theme="fenriros"] form.editor,
html[data-theme="fenriros"] form.stack, html[data-theme="fenriros"] .ucp-menu, html[data-theme="fenriros"] .preview { border-radius: 10px; }
html[data-theme="fenriros"] .box > h2 { background: var(--card); color: var(--text); border-bottom: 1px solid var(--line);
  font-size: 1.05em; letter-spacing: -.01em; padding: .7em 1em; }
html[data-theme="fenriros"] table.list th { background: transparent; font-weight: 600; text-transform: none; font-size: .85em; }
html[data-theme="fenriros"] .button, html[data-theme="fenriros"] button, html[data-theme="fenriros"] input[type=submit] {
  border-radius: 8px; font-weight: 600; color: var(--accenttext); }
html[data-theme="fenriros"] .button.secondary, html[data-theme="fenriros"] button.secondary {
  background: var(--card); color: var(--text); border: 1px solid var(--line); }
html[data-theme="fenriros"] .button:hover, html[data-theme="fenriros"] button:hover { filter: brightness(1.05); }
html[data-theme="fenriros"] .toolbar button { color: var(--text); border-radius: 6px; font-weight: normal; }
html[data-theme="fenriros"] .toolbar .smilie-btn { background: none; }
html[data-theme="fenriros"] .post-tools button { background: none; color: var(--danger); font-weight: normal; }
html[data-theme="fenriros"] .badge { border-radius: 999px; background: var(--soft); color: var(--text); padding: .05em .7em; }
html[data-theme="fenriros"] .badge.locked { background: var(--danger); color: var(--accenttext); }
html[data-theme="fenriros"] .pages a, html[data-theme="fenriros"] .pages span { border-radius: 6px; }
html[data-theme="fenriros"] .pages .current { color: var(--accenttext); }
html[data-theme="fenriros"] .post-author { border-radius: 10px 0 0 10px; }
html[data-theme="fenriros"] .notice { border-radius: 8px; }
html[data-theme="fenriros"] .ucp-menu a.active { border-left-color: var(--link); }
html[data-theme="fenriros"] .vb-code-body, html[data-theme="fenriros"] .vb-php-body, html[data-theme="fenriros"] .vb-html-body {
  border: 0 !important; border-radius: 8px; font-family: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace; }
html[data-theme="fenriros"] .vb-quote-body { border-radius: 0 8px 8px 0; border-top: 0 !important; border-right: 0 !important; border-bottom: 0 !important; }
html[data-theme="fenriros"] .site-footer { border-top: 1px solid var(--line); max-width: 1040px; margin: 2em auto 0; }
@media (max-width: 700px) {
  html[data-theme="fenriros"] .post-author { border-radius: 10px 10px 0 0; }
}

/* theme forest */
/* name: Wald */
html[data-theme="forest"] {
  --bg: #eef2ec;
  --card: #ffffff;
  --card2: #f6f8f4;
  --line: #d2dbcc;
  --head: #2e4a2c;
  --head2: #44663f;
  --headtext: #ffffff;
  --headmuted: #cfe0c8;
  --text: #1f2a1d;
  --muted: #64725f;
  --link: #2f6b2a;
  --accent: #e5efe0;
  --accentline: #bcd3b2;
  --danger: #a8322a;
  --dangerbg: #fbeae8;
  --input: #ffffff;
  --code: #f8faf6;
  --quote: #f1f5ee;
  --quoteline: #7f9c74;
  --button: #44663f;
  --buttonhover: #2e4a2c;
  --button2: #8b9a86;
  --tool: #e6ede2;
  color-scheme: light;
}
html[data-theme="forest"][data-mode="dark"] {
  --bg: #121712;
  --card: #1a211a;
  --card2: #161c16;
  --line: #2d382c;
  --head: #0f150f;
  --head2: #22321f;
  --headtext: #e4ede1;
  --headmuted: #93a98c;
  --text: #dce5d8;
  --muted: #8f9d8a;
  --link: #94cf86;
  --accent: #1f2b1d;
  --accentline: #3a5034;
  --danger: #f2b8b5;
  --dangerbg: #3a1d1b;
  --input: #111611;
  --code: #0e130e;
  --quote: #182118;
  --quoteline: #5f8256;
  --button: #46703f;
  --buttonhover: #578a4e;
  --button2: #4b5949;
  --tool: #253023;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html[data-theme="forest"][data-mode="auto"] {
    --bg: #121712;
    --card: #1a211a;
    --card2: #161c16;
    --line: #2d382c;
    --head: #0f150f;
    --head2: #22321f;
    --headtext: #e4ede1;
    --headmuted: #93a98c;
    --text: #dce5d8;
    --muted: #8f9d8a;
    --link: #94cf86;
    --accent: #1f2b1d;
    --accentline: #3a5034;
    --danger: #f2b8b5;
    --dangerbg: #3a1d1b;
    --input: #111611;
    --code: #0e130e;
    --quote: #182118;
    --quoteline: #5f8256;
    --button: #46703f;
    --buttonhover: #578a4e;
    --button2: #4b5949;
    --tool: #253023;
  color-scheme: dark;
  }
}

/* theme graphite */
/* name: Graphit */
html[data-theme="graphite"] {
  --bg: #f2f2f3;
  --card: #ffffff;
  --card2: #f8f8f9;
  --line: #dcdce0;
  --head: #26272b;
  --head2: #3a3b41;
  --headtext: #ffffff;
  --headmuted: #b9bac2;
  --text: #202124;
  --muted: #6b6d75;
  --link: #8a3ffc;
  --accent: #efe9fb;
  --accentline: #d3c3f5;
  --danger: #b3261e;
  --dangerbg: #fbeaea;
  --input: #ffffff;
  --code: #fafafa;
  --quote: #f5f4f8;
  --quoteline: #a28bd4;
  --button: #6f32d4;
  --buttonhover: #5a26b3;
  --button2: #8d8f99;
  --tool: #ececef;
  color-scheme: light;
}
html[data-theme="graphite"][data-mode="dark"] {
  --bg: #121214;
  --card: #1b1b1f;
  --card2: #17171a;
  --line: #2e2e34;
  --head: #0c0c0e;
  --head2: #232329;
  --headtext: #ececf1;
  --headmuted: #9a9aa6;
  --text: #e3e3e8;
  --muted: #9798a3;
  --link: #b893ff;
  --accent: #251f33;
  --accentline: #43355f;
  --danger: #f2b8b5;
  --dangerbg: #3a1d1b;
  --input: #111113;
  --code: #0e0e10;
  --quote: #1d1b24;
  --quoteline: #7d63b5;
  --button: #7a45dc;
  --buttonhover: #8d5cf0;
  --button2: #4c4d55;
  --tool: #2a2a31;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html[data-theme="graphite"][data-mode="auto"] {
    --bg: #121214;
    --card: #1b1b1f;
    --card2: #17171a;
    --line: #2e2e34;
    --head: #0c0c0e;
    --head2: #232329;
    --headtext: #ececf1;
    --headmuted: #9a9aa6;
    --text: #e3e3e8;
    --muted: #9798a3;
    --link: #b893ff;
    --accent: #251f33;
    --accentline: #43355f;
    --danger: #f2b8b5;
    --dangerbg: #3a1d1b;
    --input: #111113;
    --code: #0e0e10;
    --quote: #1d1b24;
    --quoteline: #7d63b5;
    --button: #7a45dc;
    --buttonhover: #8d5cf0;
    --button2: #4c4d55;
    --tool: #2a2a31;
  color-scheme: dark;
  }
}

/* libvbulletinpp */
.vb-smilie{vertical-align:middle;display:inline-block}
.vb-img{max-width:100%;height:auto}
.vb-quote,.vb-code,.vb-php,.vb-html{margin:.6em 0}
.vb-quote-title,.vb-code-title,.vb-php-title,.vb-html-title{font-size:.85em;font-weight:bold;margin-bottom:.2em}
.vb-quote-body{margin:0;padding:.5em .8em;border:1px solid #c8cdd3;border-left:4px solid #7a8fa6;background:#f3f5f7}
.vb-quote-author{font-style:italic;margin-bottom:.3em}
.vb-quote-link{text-decoration:none;margin-left:.2em}
.vb-code-body,.vb-php-body,.vb-html-body{margin:0;padding:.5em .8em;border:1px solid #c8cdd3;background:#fafafa;overflow:auto;max-height:30em;font-family:monospace;white-space:pre}
.vb-php-tag{color:#000;font-weight:bold}.vb-php-keyword{color:#0000bb;font-weight:bold}.vb-php-function{color:#0000bb}
.vb-php-variable{color:#0000bb}.vb-php-string{color:#dd0000}.vb-php-comment{color:#ff8000;font-style:italic}.vb-php-number{color:#0a7d00}
.vb-html-tag{color:#000080}.vb-html-attr{color:#7d0072}.vb-html-value{color:#0000ff}.vb-html-comment{color:#808080;font-style:italic}.vb-html-entity{color:#a65700}
.vb-highlight{background:#ff0;color:#000}
.vb-video{position:relative;max-width:640px;aspect-ratio:16/9}.vb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vb-table{border-collapse:collapse}.vb-table td,.vb-table th{border:1px solid #c8cdd3;padding:.3em .5em}
