/* Bloomward — the guided tour (js/ui/tour.js): a notebook card beside what it points at, and a
   spotlight that dims everything else. Above the HUD and side sheet, below the journal and screens. */

#tour { position: fixed; inset: 0; z-index: 30; pointer-events: none; }
#tour[hidden], html.screen-open #tour { display: none; }

.tour-spot {
  position: fixed; border-radius: 10px; pointer-events: none; opacity: 0;
  box-shadow: 0 0 0 1.5px rgba(244, 238, 223, .9), 0 0 0 9999px rgba(10, 11, 8, .42);
  transition: left var(--t-med) var(--ease), top var(--t-med) var(--ease), width var(--t-med) var(--ease), height var(--t-med) var(--ease), opacity var(--t-med) var(--ease);
}
.tour-spot.on { opacity: 1; }

.tour-card {
  position: fixed; width: min(430px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto;
  padding: 18px 22px 16px; pointer-events: auto;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .18);
  transition: left var(--t-med) var(--ease), top var(--t-med) var(--ease);
  animation: tour-in var(--t-med) var(--ease) both;
}
@keyframes tour-in { from { opacity: 0; transform: translateY(6px); } }
.tour-card h2 { font-size: var(--fs-xl) !important; margin: 4px 0 8px !important; line-height: 1.2; }
.tour-body { font-size: var(--fs-m); }
.tour-body p { margin: 0 0 9px; }
.tour-body ul { margin: 0 0 10px; padding-left: 18px; line-height: 1.55; color: var(--ink-2); }
.tour-body li { margin-bottom: 4px; }
.tour-body kbd { display: inline-block; min-width: 1.6em; padding: 0 5px; border: 1px solid var(--rule); border-bottom-width: 2px; border-radius: 3px; font: 600 11px/1.6 var(--sans); text-align: center; color: var(--ink); background: var(--paper-2); }
.tour-body b { font-weight: 600; color: var(--ink); }
.tour-try { font-family: var(--serif); font-style: italic; color: var(--moss) !important; }
.tour-aside { font-size: var(--fs-s); color: var(--ink-3) !important; font-style: italic; font-family: var(--serif); }
.tour-goals li::marker { color: var(--moss); }

.tour-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--rule-soft); }
.tour-leave { font-size: var(--fs-s); padding-left: 0; }
.tour-dots { display: flex; gap: 4px; flex-wrap: wrap; justify-content: center; flex: 1; }
.tour-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--rule); }
.tour-dots i.done { background: var(--ink-3); }
.tour-dots i.on { background: var(--moss); transform: scale(1.4); }

@media (max-width: 560px) {
  .tour-dots { display: none; }
}
