/* Allonic design-system UI for the card-AR pages.
   Tokens from projects/ux-ui-system (dark theme): warm-dark canvas, cream ink,
   sparse indigo/terracotta accents, hairline borders, DM Sans/Mono, flat (no shadows). */
:root {
  --canvas: #0D0D0D;
  --surface-1: #161616;
  --surface-2: #1F1F1F;
  --ink: #F9F5EF;
  --ink-secondary: #C9C4BB;
  --ink-muted: #908B82;
  --hairline: #2A2A28;
  --hairline-strong: #3A3A37;
  --indigo: #7960F4;
  --indigo-text: #A593F8;
  --indigo-shade: #4A3AA6;
  --on-indigo: #0D0D0D;
  --focus: #9B86F7;
  --font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "DM Mono", "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --radius-md: 8px;
  --ease: cubic-bezier(0.2, 0, 0.2, 1);
}

/* The canvas backdrop lives on <html> so it sits BEHIND MindAR's camera <video>
   (z-index:-2) and never blacks out the passthrough. <body> stays transparent. */
html { height: 100%; background: var(--canvas); }
body { margin: 0; height: 100%; overflow: hidden; font-family: var(--font-body); color: var(--ink); }
#container { position: absolute; inset: 0; }

/* Primary call-to-action — Allonic indigo */
#startBtn {
  position: absolute; inset: 0; margin: auto;
  width: 240px; height: 56px; z-index: 10;
  background: var(--indigo); color: var(--on-indigo);
  border: 0; border-radius: var(--radius-md);
  font-family: var(--font-body); font-size: 16px; font-weight: 600; letter-spacing: 0.01em;
  cursor: pointer; transition: background 180ms var(--ease);
}
#startBtn:hover, #startBtn:active { background: var(--indigo-shade); }
#startBtn:disabled { opacity: .45; cursor: default; }
#startBtn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Hint — a small flat chip so it stays legible over the live camera feed */
#hint {
  position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%);
  z-index: 10; display: none; white-space: nowrap;
  background: var(--surface-1); border: 1px solid var(--hairline); border-radius: 999px;
  padding: 8px 16px; font-family: var(--font-mono); font-size: 12px; color: var(--ink-secondary);
}

/* Placement tuner (?tune) — surface panel with ghost buttons */
#tune {
  position: absolute; left: 12px; top: 12px; z-index: 20; display: none;
  background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--radius-md);
  padding: 12px; font-family: var(--font-mono); font-size: 12px; color: var(--ink-secondary);
}
#tune .row { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
#tune button {
  min-width: 44px; padding: 8px 10px;
  background: var(--surface-2); color: var(--ink);
  border: 1px solid var(--hairline); border-radius: var(--radius-md);
  font-family: var(--font-mono); font-size: 12px; cursor: pointer;
  transition: border-color 120ms var(--ease), background 120ms var(--ease);
}
#tune button:hover { border-color: var(--indigo); }
#tune button:active { background: var(--indigo); color: var(--on-indigo); border-color: var(--indigo); }
#tune button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
#tuneOut { margin: 8px 0 0; white-space: pre; color: var(--indigo-text); user-select: all; }
