/* Basis: Fonts, Reset, Grund-Tokens. Farben kommen aus styles/themes/*.css */

@font-face {
  font-family: "Space Mono";
  src: url("../assets/fonts/SpaceMono-Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Space Mono";
  src: url("../assets/fonts/SpaceMono-Bold.ttf") format("truetype");
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* Maße, Zahlen, Codes, Eingabefelder: IMMER mono (Deko-Fonts haben Glyphenlücken bei : / % 8 @) */
  --font-mono: "Space Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --font-ui: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font-ui);

  --radius: 6px;
  --radius-sm: 4px;
  --gap: 8px;
  --topbar-h: 48px;
  --sidebar-w: 236px;
  --inspector-w: 300px;
  --statusbar-h: 26px;
  --shadow: 0 1px 2px rgb(0 0 0 / .06), 0 4px 16px rgb(0 0 0 / .08);
  --focus: 0 0 0 2px var(--c-accent-soft), 0 0 0 1px var(--c-accent);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body {
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.4;
  color: var(--c-text);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
button, input, select, textarea { font: inherit; color: inherit; }
input, select, textarea, .mono, code, kbd { font-family: var(--font-mono); font-size: 12px; }
kbd {
  display: inline-block; padding: 0 4px; border: 1px solid var(--c-border); border-bottom-width: 2px;
  border-radius: 3px; font-size: 10.5px; line-height: 16px; color: var(--c-text-muted); background: var(--c-panel);
}
h1, h2, h3, h4 { margin: 0; font-family: var(--font-display); font-weight: 600; }
:focus-visible { outline: none; box-shadow: var(--focus); }
[hidden] { display: none !important; }
::selection { background: var(--c-accent-soft); }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
