view hg-web/src/base.css @ 204:e5aed6c36672

[Notes] Added icons and updated styling a bit. Probalby usable now.
author MrJuneJune <me@mrjunejune.com>
date Sun, 15 Feb 2026 11:02:13 -0800
parents 9f4429c49733
children
line wrap: on
line source

/* Reset CSS: https://meyerweb.com/eric/tools/css/reset/ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* ===========================================
   Base CSS - Color Variables and Basic Setup
   =========================================== */

/* Light mode (default) */
:root {
  --bg: #ffffff;
  --bg-subtle: #f6f8fa;
  --bg-code: #f6f8fa;
  --border: #d0d7de;
  --accent: #0969da;
  --text-primary: #1f2328;
  --text-secondary: #656d76;
  --hover: #f3f4f6;
  --success: #1a7f37;
  --danger: #cf222e;
  --danger-bg: #ffebe9;
  --danger-border: #ffdce0;
  --overlay: rgba(0, 0, 0, 0.5);

  /* Graph colors - light mode */
  --graph-1: #495057;
  --graph-2: #1971c2;
  --graph-3: #099268;
  --graph-4: #e67700;
  --graph-5: #7048e8;
  --graph-6: #c92a2a;
  --graph-7: #c2255c;
  --graph-node-border: #ffffff;
}

/* Dark mode - applied when html has .dark class */
:root.dark {
  --bg: #0d1117;
  --bg-subtle: #161b22;
  --bg-code: #161b22;
  --border: #30363d;
  --accent: #58a6ff;
  --text-primary: #e6edf3;
  --text-secondary: #8b949e;
  --hover: #1c2128;
  --success: #238636;
  --danger: #f85149;
  --danger-bg: #f8514926;
  --danger-border: #f8514966;
  --overlay: rgba(0, 0, 0, 0.7);

  /* Graph colors - dark mode */
  --graph-1: #868e96;
  --graph-2: #4dabf7;
  --graph-3: #63e6be;
  --graph-4: #ffbc42;
  --graph-5: #b197fc;
  --graph-6: #ff8787;
  --graph-7: #f06595;
  --graph-node-border: #1a1a1a;
}

/* System preference fallback (when no explicit class is set) */
@media (prefers-color-scheme: dark) {
  :root:not(.light) {
    --bg: #0d1117;
    --bg-subtle: #161b22;
    --bg-code: #161b22;
    --border: #30363d;
    --accent: #58a6ff;
    --text-primary: #e6edf3;
    --text-secondary: #8b949e;
    --hover: #1c2128;
    --success: #238636;
    --danger: #f85149;
    --danger-bg: #f8514926;
    --danger-border: #f8514966;
    --overlay: rgba(0, 0, 0, 0.7);

    --graph-1: #868e96;
    --graph-2: #4dabf7;
    --graph-3: #63e6be;
    --graph-4: #ffbc42;
    --graph-5: #b197fc;
    --graph-6: #ff8787;
    --graph-7: #f06595;
    --graph-node-border: #1a1a1a;
  }
}

/* Fonts */
@font-face {
  font-family: "Roboto";
  src: url("/public/fonts/Roboto-Regular.ttf");
}
@font-face {
  font-family: "Roboto Light";
  src: url("/public/fonts/Roboto-Thin.ttf");
}
@font-face {
  font-family: "More Thin";
  src: url("/public/fonts/more-sugar.thin.otf");
}
@font-face {
  font-family: "More";
  src: url("/public/fonts/more-sugar.regular.otf");
}

button {
  font-family: "More Thin", sans-serif;
}

/* Reset and Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  background: var(--bg);
  color: var(--text-primary);
  font-family: "More Thin", sans-serif;
  line-height: 1.6;
  transition: background 0.2s, color 0.2s;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

code {
  background: var(--bg-code);
  padding: 0.2em 0.4em;
  border-radius: 3px;
  font-size: 0.9em;
}

pre {
  background: var(--bg-code);
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
}

pre code {
  background: none;
  padding: 0;
}

/* Icon invert for dark mode */
:root.dark .icon-invert {
  filter: invert(0.8);
}

:root.light .icon-invert,
:root:not(.dark):not(.light) .icon-invert {
  filter: none;
}

@media (prefers-color-scheme: dark) {
  :root:not(.light) .icon-invert {
    filter: invert(0.8);
  }
}