/* Whitecream Dark — tokens & shared motifs */
:root, [data-theme="dark"] {
  --ink-950: #0A0E17;
  --ink-900: #0F1420;
  --ink-850: #12182A;
  --ink-800: #161D30;
  --ink-700: #202A42;
  --line: #28324A;
  --line-soft: #1C2438;
  --brass: #C9A24A;
  --brass-bright: #E0BE6E;
  --brass-dim: #7A6431;
  --teal: #379489;
  --teal-dim: #1F4D48;
  --amber: #C9832E;
  --amber-dim: #5A3C19;
  --rose: #B14556;
  --rose-dim: #5A2530;
  --parchment: #EEE8D8;
  --parchment-dim: #C9C2AC;
  --muted: #8A93A9;
  --muted-2: #5D6579;
  --serif: 'Fraunces', serif;
  --mono: 'IBM Plex Mono', monospace;
  --sans: 'Public Sans', sans-serif;
  --display: var(--serif);
}

body {
  background: var(--ink-950);
  color: var(--parchment);
  font-family: var(--sans);
}

::selection { background: var(--brass); color: var(--ink-950); }

.regframe { position: relative; }
.regframe::before,
.regframe::after,
.regframe .rm-tr,
.regframe .rm-br {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
}
.regframe::before { top: -1px; left: -1px; border-top: 1.5px solid var(--brass-dim); border-left: 1.5px solid var(--brass-dim); }
.regframe::after { bottom: -1px; left: -1px; border-bottom: 1.5px solid var(--brass-dim); border-left: 1.5px solid var(--brass-dim); }
.regframe .rm-tr { top: -1px; right: -1px; border-top: 1.5px solid var(--brass-dim); border-right: 1.5px solid var(--brass-dim); }
.regframe .rm-br { bottom: -1px; right: -1px; border-bottom: 1.5px solid var(--brass-dim); border-right: 1.5px solid var(--brass-dim); }

.stamp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  padding: 5px 10px 5px 9px;
  border-radius: 3px;
  border: 1.5px solid currentColor;
  transform: rotate(-2deg);
  white-space: nowrap;
}
.stamp::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}
.stamp.active { color: var(--teal); background: rgba(55, 148, 137, 0.08); }
.stamp.expiring { color: var(--amber); background: rgba(201, 131, 46, 0.08); }
.stamp.expired { color: var(--rose); background: rgba(177, 69, 86, 0.08); }
.stamp.revoked { color: var(--muted); background: rgba(138, 147, 169, 0.08); }
