/* Bow-Tie Builder — Nursia theme layer (Frame + UI).
   The desk and paper panels become Nursia paper and cards. The pin board stays a
   board you pin cards to, but as a flat chart sheet instead of kraft. Thread:
   dashed = still open, teal = target, green = stitched (correct). */

:root {
  --paper: var(--nc-card);
  --ink: var(--nc-ink);
  --ink-soft: var(--nc-ink-2);
  --suture: var(--nc-teal);
  --teal: var(--nc-correct);
  --amber: var(--nc-wrong);
  --pin-ring: rgba(20, 22, 26, 0.32);
  --radius: var(--nc-radius);
  --font: var(--nc-font-ui);
  --desk: var(--nc-paper);
  --desk-deep: var(--nc-muted);
}

[data-nursia-clinic="bow-tie"] {
  background: var(--nc-paper);
  background-image: none;
}

/* Fit below the 48px bar. */
[data-nursia-clinic="bow-tie"] #stage {
  height: calc(100dvh - var(--nc-bar-h));
}
[data-nursia-clinic="bow-tie"] #stage.narrow {
  height: 640px;
  border-color: var(--nc-rule);
}

/* ---- panels ---- */
[data-nursia-clinic="bow-tie"] :is(.start-card, .intro-card, .debrief-card, .end-card, .sources-card, .pause-card) {
  background: var(--nc-card);
  border: 1px solid var(--nc-rule);
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow);
}
[data-nursia-clinic="bow-tie"] :is(.start-card, .intro-card, .end-card)::before {
  display: none; /* tape strip */
}
[data-nursia-clinic="bow-tie"] :is(h1, h2) {
  font-family: var(--nc-font-ui);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--nc-ink);
}
[data-nursia-clinic="bow-tie"] .start-bow path { stroke: var(--nc-teal); }
[data-nursia-clinic="bow-tie"] .start-bow circle { fill: var(--nc-ink); }
[data-nursia-clinic="bow-tie"] .pitch {
  font-family: var(--nc-font-body);
  font-size: 1.05rem;
}
[data-nursia-clinic="bow-tie"] :is(.best, .intro-level, .intro-hint, .end-levels) {
  font-family: var(--nc-font-mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
[data-nursia-clinic="bow-tie"] .intro-card #intro-rule,
[data-nursia-clinic="bow-tie"] .debrief-lines li,
[data-nursia-clinic="bow-tie"] .sources-card ul,
[data-nursia-clinic="bow-tie"] .sources-card .credits {
  font-family: var(--nc-font-body);
}
[data-nursia-clinic="bow-tie"] .debrief-lines li b { font-family: var(--nc-font-ui); }
[data-nursia-clinic="bow-tie"] .debrief-lines li { border-bottom-color: var(--nc-rule); }
[data-nursia-clinic="bow-tie"] .end-score { letter-spacing: -0.03em; }
[data-nursia-clinic="bow-tie"] .stamp-newbest {
  border: 0;
  border-radius: 2px;
  background: var(--nc-highlight);
  color: var(--nc-ink);
  font-family: var(--nc-font-mono);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transform: none;
}

/* ---- buttons ---- */
[data-nursia-clinic="bow-tie"] .btn {
  border-radius: var(--nc-radius-btn);
  font-family: var(--nc-font-ui);
  letter-spacing: -0.01em;
}
[data-nursia-clinic="bow-tie"] .btn.primary {
  background: var(--nc-teal);
  color: #fff;
  box-shadow: none;
}
[data-nursia-clinic="bow-tie"] .btn.primary:hover { background: var(--nc-teal-dark); }
[data-nursia-clinic="bow-tie"] .btn.primary:active { box-shadow: none; transform: translateY(1px); }
[data-nursia-clinic="bow-tie"] .btn.ghost {
  border: 1px solid var(--nc-ink);
  color: var(--nc-ink);
  text-decoration: none;
  font-weight: 600;
  padding: 8px 14px;
}
[data-nursia-clinic="bow-tie"] .btn.ghost:hover { background: var(--nc-ink); color: var(--nc-paper); }
[data-nursia-clinic="bow-tie"] .start-row,
[data-nursia-clinic="bow-tie"] .end-card .btn + .btn { margin-top: 10px; }
[data-nursia-clinic="bow-tie"] .btn:focus-visible,
[data-nursia-clinic="bow-tie"] .card:focus-visible { outline: 3px solid var(--nc-teal); outline-offset: 2px; }
[data-nursia-clinic="bow-tie"] .btn.icon {
  background: var(--nc-card);
  color: var(--nc-ink);
  border: 1px solid var(--nc-ink);
  border-radius: var(--nc-radius-btn);
  width: 34px;
  height: 34px;
}

/* ---- HUD ---- */
[data-nursia-clinic="bow-tie"] .hud { color: var(--nc-ink); }
[data-nursia-clinic="bow-tie"] .hud-level {
  font-family: var(--nc-font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--nc-ink-2);
}
[data-nursia-clinic="bow-tie"] .hud-score { font-family: var(--nc-font-mono); font-weight: 600; }
[data-nursia-clinic="bow-tie"] .hud-clock {
  font-family: var(--nc-font-mono);
  background: var(--nc-card);
  border: 1px solid var(--nc-rule);
  border-radius: var(--nc-radius-btn);
}
[data-nursia-clinic="bow-tie"] .hud-clock.low { color: var(--nc-wrong); }
[data-nursia-clinic="bow-tie"] .hud-streak {
  background: var(--nc-highlight);
  color: var(--nc-ink);
  border-radius: 2px;
  font-family: var(--nc-font-mono);
  font-size: 0.78rem;
}

/* ---- board: a flat chart sheet ---- */
[data-nursia-clinic="bow-tie"] .board {
  background-color: var(--nc-paper-2);
  background-image:
    linear-gradient(rgba(20, 22, 26, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 22, 26, 0.045) 1px, transparent 1px);
  background-size: 24px 24px;
  border: 1px solid var(--nc-rule);
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow);
}
[data-nursia-clinic="bow-tie"] .case {
  background: var(--nc-card);
  border: 1px solid var(--nc-rule);
  box-shadow: none;
  font-family: var(--nc-font-body);
}
[data-nursia-clinic="bow-tie"] .case-toggle {
  font-family: var(--nc-font-mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.7rem !important;
}
[data-nursia-clinic="bow-tie"] .pin { background: rgba(255, 255, 255, 0.6); }
[data-nursia-clinic="bow-tie"] .pin-label {
  color: var(--nc-ink-2);
  opacity: 1;
  font-family: var(--nc-font-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.7rem;
}
[data-nursia-clinic="bow-tie"] .pin.keyfocus { outline-color: var(--nc-teal); }
[data-nursia-clinic="bow-tie"] .thread .seg { stroke: var(--nc-muted); }
[data-nursia-clinic="bow-tie"] .thread .seg.hot { stroke: var(--nc-teal); }
[data-nursia-clinic="bow-tie"] .thread .seg.stitched { stroke: var(--nc-correct); }
[data-nursia-clinic="bow-tie"] .thread .dot { fill: var(--nc-card); }
[data-nursia-clinic="bow-tie"] .tied-stamp { background: rgba(255, 255, 255, 0.85); }

/* cards: drop the ruled-paper line, keep them readable */
[data-nursia-clinic="bow-tie"] .card {
  background-image: none;
  border: 1px solid var(--nc-rule);
  box-shadow: 0 1px 0 rgba(20, 22, 26, 0.05), 0 4px 10px -6px rgba(20, 22, 26, 0.3);
}
[data-nursia-clinic="bow-tie"] .card .stamp { background: rgba(255, 255, 255, 0.8); }

/* ---- tray ---- */
[data-nursia-clinic="bow-tie"] .tray {
  background: var(--nc-paper-2);
  border-top: 1px solid var(--nc-rule);
}
[data-nursia-clinic="bow-tie"] .shelf h3 {
  color: var(--nc-ink-2);
  opacity: 1;
  font-family: var(--nc-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
[data-nursia-clinic="bow-tie"] #stage.is-narrow .tab {
  border-radius: var(--nc-radius-btn);
  background: var(--nc-card);
  border: 1px solid var(--nc-rule);
  color: var(--nc-ink);
  font-weight: 600;
}
[data-nursia-clinic="bow-tie"] #stage.is-narrow .tab[aria-selected="true"] {
  background: var(--nc-ink);
  border-color: var(--nc-ink);
  color: var(--nc-paper);
}
[data-nursia-clinic="bow-tie"] #stage.is-narrow .tab:focus-visible { outline: 3px solid var(--nc-teal); outline-offset: 2px; }

/* ---- overlays ---- */
[data-nursia-clinic="bow-tie"] .pause-veil { background: rgba(20, 22, 26, 0.45); }

/* glow/ring pulses: teal instead of the game's blue (same timing). */
@keyframes glowpulse { from { box-shadow: 0 0 0 2px var(--nc-teal), 0 4px 10px rgba(11,107,98,0.25); } to { box-shadow: 0 0 0 4px var(--nc-teal), 0 8px 18px rgba(11,107,98,0.4); } }
@keyframes ring { from { box-shadow: 0 0 0 0 rgba(11,107,98,0.22); } to { box-shadow: 0 0 0 6px rgba(11,107,98,0.22); } }
