/* ========== base.css ========== */
/* Default theme variables (themes.css will override) */
:root {
  --bg: #0e2122;
  --panel: #112a2c;
  --panel-2: #0e2223;
  --text: #ECECBB;
  --muted: #bfc8a9;
  --accent: #239BA7;
  --accent-2: #E1AA36;
  --frame: #1a3a3d;
  --border: #214b4f;
  --link: #7ADAA5;
  --shadow: rgba(0,0,0,.55);
  --xp-border: #7b0000;
  --xp-border-inner: #330000;
  --xp-shadow: #300000;
  --xp-header-start: #be1111;
  --xp-header-end: #870a0a;
  --xp-header-text: #fff9f0;
  --xp-body-bg: #ffd9cf;
  --xp-body-text: #3b1510;
  --xp-links-text: #8f4a4a;
  --xp-links-link: #cd5a5a;
  --xp-meta-bg: #f6d3c9;
  --xp-meta-border: #901212;
  --xp-meta-text: #6b0d0d;
  --proj-mint-bg: #bfe9d9;
  --proj-mint-bar: #dff5ee;
  --proj-rose-bg: #f4b4ce;
  --proj-rose-bar: #ffd3e8;
  --proj-lime-bg: #d5ffa1;
  --proj-lime-bar: #b1ff6b;
  --proj-amber-bg: #f8d57c;
  --proj-amber-bar: #ffbe5b;
  --proj-lilac-bg: #d3b8ff;
  --proj-lilac-bar: #c196ff;
  --proj-cyan-bg: #9de8ff;
  --proj-cyan-bar: #6ddfff;

  /* spacing + radius tokens (optional) */
  --radius-0: 0;
  --radius-1: .4rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
}

/* Reset & typography */
*,
*::before,
*::after { box-sizing: border-box; }

html, body {
  height: 100%;
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

@font-face {
  font-family: 'LeviWindows';
  src: url('../fonts/LeviWindows-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'AdvinePixel';
  src: url('../fonts/AdvinePixel-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}


body {  
  color: var(--text);
  font-family: 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Global cursor (static PNG for cross-browser; animated .ani is Windows-only) */
  cursor: url(https://cur.cursors-4u.net/anime/ani-10/ani979.png) 2 2, auto;

  /* You’re using a centered app window with its own scroll; prevent page scroll */
  overflow: hidden;
}

/* Links */
a {
  color: var(--link);
  text-underline-offset: 2px;
}

a:hover { opacity: .9; }

/* Buttons/interactive: pointer cursor override */
a, button, [role="button"] {
  cursor: url(https://cur.cursors-4u.net/anime/ani-10/ani977.png) 2 2, pointer;
}

/* Images */
img { max-width: 100%; height: auto; }

/* Code blocks */
pre, code, kbd, samp { font-family: 'Fira Code', ui-monospace, monospace; }

/* Focus styles (accessible, non-intrusive) */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Text selection */
::selection { background: color-mix(in oklab, var(--accent) 30%, black); color: white; }

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Utility classes you’ll reuse everywhere */
.ui-pixel { font-family: 'LeviWindows', 'Press Start 2P', monospace; }
.ui-crt   { font-family: 'VT323','Fira Code',monospace; }

