/* ============================================================
   UNCOMPANY · BASE
   Element defaults + the drawing-system helpers (mono labels,
   corner ticks, dimension lines, sheet frame, signal rule).
   These give the brand its "drawing set" feel without a JS lib.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--un-bg);
  color: var(--un-text-body);
  font-family: var(--un-font-body);
  font-size: var(--un-size-body);
  line-height: var(--un-leading-body);
  font-weight: var(--un-weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--un-signal); color: var(--un-ink); }

/* --- Headings --- */
.un-display, .un-h1, .un-h2, .un-h3 {
  font-family: var(--un-font-display);
  color: var(--un-text-strong);
  margin: 0;
}
.un-display { font-size: var(--un-size-display); font-weight: 800; letter-spacing: var(--un-track-display); line-height: var(--un-leading-tight); }
.un-h1 { font-size: var(--un-size-h1); font-weight: 800; letter-spacing: var(--un-track-display); line-height: var(--un-leading-tight); }
.un-h2 { font-size: var(--un-size-h2); font-weight: 700; letter-spacing: var(--un-track-head); line-height: var(--un-leading-snug); }
.un-h3 { font-size: var(--un-size-h3); font-weight: 700; letter-spacing: var(--un-track-tight); line-height: var(--un-leading-snug); }

.un-subhead { font-family: var(--un-font-body); font-size: var(--un-size-subhead); font-weight: 500; line-height: var(--un-leading-normal); color: var(--un-text-body); }
.un-body { font-size: var(--un-size-body); line-height: var(--un-leading-body); color: var(--un-text-body); }
.un-muted { color: var(--un-text-muted); }

/* --- The mono label / annotation voice --- */
.un-label {
  font-family: var(--un-font-mono);
  font-size: var(--un-size-label);
  font-weight: 500;
  letter-spacing: var(--un-track-label);
  text-transform: uppercase;
  color: var(--un-text-muted);
}

/* --- The signal rule (the line under "UN") --- */
.un-rule {
  display: inline-block;
  height: var(--un-rule);
  width: 2.4em;
  background: var(--un-signal);
}

/* --- Corner ticks — the "sheet" accent, used sparingly --- */
.un-sheet { position: relative; }
.un-sheet::before, .un-sheet::after {
  content: ""; position: absolute; width: var(--un-tick); height: var(--un-tick);
  border-color: var(--un-border-strong); border-style: solid; pointer-events: none;
}
.un-sheet::before { top: 0; left: 0; border-width: 1px 0 0 1px; }
.un-sheet::after { bottom: 0; right: 0; border-width: 0 1px 1px 0; }

/* --- Dimension line — a rule with end-ticks --- */
.un-dim {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--un-font-mono); font-size: 10.5px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--un-text-faint);
}
.un-dim::before, .un-dim::after { content: ""; flex: 1; height: 1px; background: var(--un-border-strong); }

a { color: inherit; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
