/* ═══════════════════════════════════════════════════════════════════════
   SESSION LOG — append to the end of css/style.css.

   Every colour here points at a custom property already declared in
   index.html, so retuning the palette retunes this section too. Nothing
   below sets a hex value directly.

   Once this is in and the section looks right, the old .runsheet,
   .runsheet-time and .runsheet-aside rules further up style.css are dead
   and can be deleted. Search the file for them first — if they appear
   anywhere other than the how-it-works section, leave them alone.
   ═══════════════════════════════════════════════════════════════════════ */

/* The sprite is a definitions block, not a picture. Hiding it this way
   keeps the <use> references working; display:none on the <symbol>s
   themselves would not. */
.tt-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* Single column on phones, log-beside-kit from tablet up. The double class
   raises specificity just enough to beat the old .session-layout rule
   regardless of where it sits in the file. */
.session-layout.session-layout--log {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 768px) {
  .session-layout.session-layout--log {
    grid-template-columns: 1.5fr 1fr;
    gap: 1.5rem;
  }
}

/* ─── The log panel ─────────────────────────────────────────────────── */

.session-log {
  background: var(--card);
  border: 3px solid var(--border);
  border-radius: 1.5rem;
  overflow: hidden;
}

.session-log-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--secondary);
  border-bottom: 3px solid var(--border);
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--primary);
}

.session-log-head svg {
  width: 1.125rem;
  height: 1.125rem;
  flex: none;
}

.log-entries {
  list-style: none;
  margin: 0;
  padding: 0.25rem 1.25rem 1.25rem;
}

.log-entries li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.875rem 0;
  border-bottom: 2px dotted var(--border);
}

.log-entries li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.log-entries h3 {
  margin-bottom: 0.25rem;
  font-size: 1.0625rem;
  color: var(--foreground);
}

.log-entries p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.55;
  color: var(--secondary-foreground);
}

/* Darkened against --secondary so the numerals stay legible: --primary at
   full strength is tuned for large display type, not 15px figures. */
.log-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex: none;
  border-radius: 0.625rem;
  background: var(--secondary);
  color: color-mix(in oklab, var(--primary) 78%, black);
  font-family: var(--font-display);
  font-size: 0.9375rem;
}

.log-badge--done {
  background: var(--quest-3);
  color: var(--primary-foreground);
}

.log-badge svg {
  width: 1rem;
  height: 1rem;
}

/* ─── The kit panel ─────────────────────────────────────────────────── */

/* Dashed border matches the hero, which is what marks both as "aside"
   rather than "content" across the page. */
.kit-panel {
  background: var(--secondary);
  border: 3px dashed color-mix(in oklab, var(--primary) 40%, transparent);
  border-radius: 1.5rem;
  padding: 1.125rem 1.25rem;
}

.kit-panel h3 {
  font-size: 1rem;
  color: var(--primary);
}

.kit-note {
  margin: 0.2rem 0 0.625rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted-foreground);
}

.kit-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kit-list li {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  padding: 0.375rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--secondary-foreground);
}

.kit-list svg {
  width: 1rem;
  height: 1rem;
  flex: none;
  margin-top: 0.15rem;
  color: var(--primary);
}

/* The one item a parent is actually scanning for gets the green. */
.kit-list .kit-icon--safe {
  color: var(--quest-3);
}
