

@font-face {
  font-family: "Geist Mono";
  src: url("/-/mono.5ba8b95fe852.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

:root {
  
  --g-ground: #111317;
  --g-panel: #171a1f;
  --g-ink: #e6e8eb;
  --g-dim: #7d848e;
  --g-faint: #3a3f47;
  --g-on: #0d0f12;
  --g-shade: rgb(0 0 0 / 60%);

  
  --g-good: #3fbf7f;
  --g-fair: #e8b93c;
  --g-bad: #e5534b;
  --g-none: #1c1f24;
  
  --g-lift: #2a2f37;

  
  --g-amount-lo: #2b3a55;
  --g-amount-hi: #4a7bd1;

  
  --g-ai: #56b6f7;
  --g-human: #5fd08f;
  --g-system: #b48cf2;
  --g-ax: var(--g-ai);
  --g-bot: var(--g-ai);
  --g-caller: #f2e2b3;

  
  --g-kind-actor: #e9a27c;
  --g-kind-place: #74a7e0;
  --g-kind-thing: #a7b0bc;
  --g-kind-event: #c5a0ee;
  --g-kind-rule: #6cc5b4;

  --g-font: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --g-size: 13px;
  --g-line: 20px;
  --g-input: 16px;

  
  --g-gap: 2px;
  --g-tab-h: 32px;
  --g-slot: calc(18ch + var(--g-pad));
  --g-pad: max(2ch, env(safe-area-inset-left));
  --g-width: 88ch;

  color-scheme: dark;
  background: var(--g-ground);
}

@media (max-width: 720px) {
  :root {
    --g-tab-h: 44px;
    --g-slot: calc(44px + var(--g-pad));
    --g-pad: max(8px, env(safe-area-inset-left));
  }
}



html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--g-ground);
}

body {
  color: var(--g-ink);
  font: 400 var(--g-size) / var(--g-line) var(--g-font);
  font-variant-numeric: tabular-nums;
  font-synthesis: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.g-hold {
  box-sizing: border-box;
  display: grid;
  align-content: center;
  gap: 12px;
  width: min(100%, calc(44ch + 2 * var(--g-pad)));
  min-height: 100dvh;
  margin: 0 auto;
  padding: 0 var(--g-pad);
}

.g-hold p,
.g-hold h1 {
  margin: 0;
  font: inherit;
}

.g-hold-mark {
  display: flex;
  align-items: center;
  gap: var(--g-gap);
  margin-bottom: 12px;
}

.g-hold-cell {
  display: grid;
  place-items: center;
  width: 6ch;
  height: 28px;
  border-radius: 2px;
  background: var(--g-none);
  color: var(--g-ink);
  font-weight: 600;
}

.g-hold-caret {
  width: 1ch;
  height: 16px;
  margin-left: 6px;
  background: var(--g-human);
  animation: g-hold-blink 1.2s steps(1) infinite;
}

.g-hold-note {
  color: var(--g-dim);
}


.g-hold-contact {
  margin-top: 12px;
  color: var(--g-ink);
  user-select: all;
}

.g-hold-note a {
  color: inherit;
  text-underline-offset: 3px;
}

.g-hold-note a:focus-visible {
  outline: none;
  background-color: var(--g-lift);
  color: var(--g-ink);
}

@keyframes g-hold-blink {
  50% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .g-hold-caret {
    animation: none;
  }
}


.g-prod-title {
  margin: 0;
  font: inherit;
  font-weight: 600;
}

.g-prod-error {
  color: var(--g-bad);
}

.g-prod-form {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.g-prod-field {
  display: grid;
  gap: 4px;
}

.g-prod-label {
  color: var(--g-dim);
}

.g-prod-input {
  box-sizing: border-box;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  border-radius: 2px;
  background: var(--g-none);
  color: var(--g-ink);
  font: 400 16px / var(--g-line) var(--g-font);
  caret-color: var(--g-human);
}

.g-prod-input:focus {
  outline: none;
  background: var(--g-lift);
}

.g-prod-actions {
  display: flex;
  gap: var(--g-gap);
}

.g-prod-button {
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 2px;
  background: var(--g-human);
  color: var(--g-on);
  font: 600 var(--g-size) / var(--g-line) var(--g-font);
  cursor: pointer;
}

.g-prod-quiet {
  background: var(--g-none);
  color: var(--g-ink);
}

.g-prod-button:focus-visible {
  outline: none;
  background: var(--g-lift);
  color: var(--g-ink);
}

.g-prod-facts {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 4px 12px;
  margin: 0;
}

.g-prod-facts dt {
  color: var(--g-dim);
}

.g-prod-facts dd {
  margin: 0;
}


.g-hold-links {
  display: flex;
  gap: 2ch;
  margin-top: 12px;
}


.g-legal {
  align-content: start;
  padding-block: 48px;
}

.g-legal-home {
  color: inherit;
  text-decoration: none;
}

.g-legal-home:focus-visible {
  outline: none;
}

.g-legal-home:focus-visible .g-hold-cell {
  background: var(--g-lift);
}

.g-legal-section {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.g-legal-heading {
  margin: 0;
  font: inherit;
  font-weight: 600;
}

.g-legal p {
  overflow-wrap: anywhere;
}
