/* 1765 Regina — The Daily Examen (tool CSS, scoped to .rk-tool--examen; kit.css does the rest).
   Colours come only from kit tokens (--rk-*), so both themes follow. Motion: transform/opacity only. */

.rk-tool--examen { max-width: 720px; margin: 0 auto; font-size: 17px; line-height: 1.6; container-type: inline-size; }
.rk-tool--examen > * + * { margin-top: 0; }
.rk-tool--examen .ex-apptitle { margin-bottom: 14px; }
.rk-tool--examen .rk-day { margin-bottom: 10px; }
.rk-tool--examen .ex-h3 { font: 600 22px/1.2 var(--rk-f-display); color: var(--rk-ink); margin: 28px 0 12px; }
.rk-tool--examen .ex-saint { font-size: 15.5px; color: var(--rk-ink-mute); margin: -4px 0 16px 18px; font-style: italic; }
.rk-tool--examen .ex-hint { font-size: 14.5px; color: var(--rk-ink-mute); margin: 10px 0 0; line-height: 1.45; }
.rk-tool--examen .ex-total { font-size: 15px; color: var(--rk-ink-mute); margin: -6px 0 18px; }
.rk-tool--examen .ex-src { font-size: 13.5px; color: var(--rk-ink-mute); margin: 8px 0 0; line-height: 1.45; }
.rk-tool--examen .ex-src a, .ex-sheet .ex-src a { color: inherit; }

/* tonight card */
.rk-tool--examen .ex-tonight .rk-card__title { font-size: 26px; margin-bottom: 12px; text-wrap: balance; }
.rk-tool--examen .ex-for { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 0 0 14px; color: var(--rk-ink-dim); font-size: 16px; }
.rk-tool--examen .ex-tonight .rk-btn-row { margin-top: 6px; }
.rk-tool--examen .ex-last, .ex-sheet .ex-last {
  margin: 0 0 16px; padding: 12px 16px; border-left: 2px solid var(--rk-gold); border-radius: 0 var(--rk-r2) var(--rk-r2) 0;
  background: color-mix(in srgb, var(--rk-gold) 7%, transparent);
}
.rk-tool--examen .ex-last__label { font: 600 10.5px/1.4 var(--rk-f-inscr); letter-spacing: 0.2em; text-transform: uppercase; color: var(--rk-gold); margin: 0 0 4px; }
.rk-tool--examen .ex-last__text { font: italic 500 20px/1.4 var(--rk-f-display); color: var(--rk-ink); margin: 0; }
.rk-tool--examen .ex-summary, .ex-sheet .ex-summary { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0 0 16px; }
.rk-tool--examen .ex-summary dt, .ex-sheet .ex-summary dt { font: 600 10.5px/1.9 var(--rk-f-inscr); letter-spacing: 0.18em; text-transform: uppercase; color: var(--rk-ink-mute); }
.rk-tool--examen .ex-summary dd, .ex-sheet .ex-summary dd { margin: 0; color: var(--rk-ink); font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }

/* vocation picker */
.rk-tool--examen .ex-voc__chips, .ex-sheet .ex-voc__chips { margin: 4px 0 14px; }
.rk-tool--examen .ex-voc .rk-chip, .ex-sheet .ex-voc .rk-chip { min-height: 44px; font-size: 16px; }

/* history */
.rk-tool--examen .ex-history { margin: 0 0 8px; }
.rk-tool--examen .ex-history__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 10px; }
.rk-tool--examen .ex-history__bar .ex-h3 { margin: 0; }
.rk-tool--examen .ex-history__nav { display: flex; gap: 8px; }
.rk-tool--examen .ex-history__stats { font-size: 15px; color: var(--rk-ink-mute); margin: -6px 0 0; }

/* rows */
.rk-tool--examen .rk-list .rk-item { min-height: 60px; }
.rk-tool--examen .ex-privacy { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--rk-ink-mute); margin: 22px 0 6px; }
.rk-tool--examen .ex-privacy .rk-icon { margin-top: 3px; color: var(--rk-gold); }
.rk-tool--examen .ex-help, .ex-sheet .ex-help { margin: 10px 0 0; }
.rk-tool--examen .ex-quiet, .ex-sheet .ex-quiet {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px; border: 0; background: transparent; cursor: pointer;
  color: var(--rk-ink-dim); font: italic 400 16px/1.3 var(--rk-f-body); text-decoration: underline; text-decoration-color: var(--rk-line-gold-2); text-underline-offset: 4px;
  touch-action: manipulation;
}
.rk-tool--examen .ex-quiet .rk-icon, .ex-sheet .ex-quiet .rk-icon { color: var(--rk-alert); }
.rk-tool--examen .ex-quiet.is-pressed, .ex-sheet .ex-quiet.is-pressed { opacity: 0.7; }

/* flow */
.rk-tool--examen .ex-flowbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 18px; }
.rk-tool--examen .ex-flowbar .rk-btn--ghost { padding-left: 0; }
.rk-tool--examen .ex-dots { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.rk-tool--examen .ex-dots li {
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--rk-line-2);
  font: 600 10px/1 var(--rk-f-inscr); color: var(--rk-ink-mute); letter-spacing: 0.04em;
}
.rk-tool--examen .ex-dots li.is-done { border-color: var(--rk-line-gold-2); color: var(--rk-gold); }
.rk-tool--examen .ex-dots li.is-on { background: var(--rk-btn-bg); color: var(--rk-btn-ink); border-color: transparent; }
.rk-tool--examen .ex-step__head { margin: 0 0 12px; }
.rk-tool--examen .ex-step__h { font: 600 clamp(30px, 7vw, 40px)/1.1 var(--rk-f-display); margin: 0; color: var(--rk-ink); outline: none; text-wrap: balance; }
.rk-tool--examen .ex-done__h { font: 600 clamp(30px, 7vw, 40px)/1.1 var(--rk-f-display); margin: 0 0 12px; color: var(--rk-ink); outline: none; }
.rk-tool--examen .ex-done__h em { font-style: italic; font-weight: 500; color: var(--rk-gold-bright); }
.rk-tool--examen .ex-ignatius, .ex-sheet .ex-ignatius {
  margin: 0 0 18px; padding: 2px 0 2px 16px; border-left: 2px solid var(--rk-line-gold-2);
}
.rk-tool--examen .ex-ignatius p, .ex-sheet .ex-ignatius p { font: italic 500 19px/1.5 var(--rk-f-display); color: var(--rk-ink-dim); margin: 0; }
.rk-tool--examen .ex-ignatius cite, .ex-sheet .ex-ignatius cite,
.rk-tool--examen .ex-scripture cite, .ex-sheet .ex-scripture cite {
  display: block; margin-top: 6px; font: 600 10px/1.5 var(--rk-f-inscr); letter-spacing: 0.16em; text-transform: uppercase; font-style: normal; color: var(--rk-ink-mute);
}
.rk-tool--examen .ex-step__body { margin: 0 0 8px; }
.rk-tool--examen .ex-step__body .rk-text { color: var(--rk-ink); font-size: 18px; }
.rk-tool--examen .ex-scripture, .ex-sheet .ex-scripture { margin: 18px 0; padding: 0 0 0 16px; border-left: 2px solid var(--rk-gold); }
.rk-tool--examen .ex-scripture p, .ex-sheet .ex-scripture p { font: italic 500 21px/1.45 var(--rk-f-display); color: var(--rk-ink); margin: 0; }
.rk-tool--examen .ex-prayer, .ex-sheet .ex-prayer {
  margin: 18px 0; padding: 16px 18px; border-radius: var(--rk-r2); border: 1px solid var(--rk-line-gold);
  background: linear-gradient(180deg, var(--rk-raised), var(--rk-surface));
}
.rk-tool--examen .ex-prayer__name, .ex-sheet .ex-prayer__name { font: 600 11px/1.3 var(--rk-f-inscr); letter-spacing: 0.22em; text-transform: uppercase; color: var(--rk-gold); margin: 0 0 8px; }
.rk-tool--examen .ex-prayer__text, .ex-sheet .ex-prayer__text { font-size: 18px; line-height: 1.6; color: var(--rk-ink); margin: 0 0 8px; }
.rk-tool--examen .ex-prayer__latin, .ex-sheet .ex-prayer__latin { font-style: italic; font-size: 16px; color: var(--rk-ink-dim); margin: 0 0 4px; }
.rk-tool--examen .ex-field { margin-top: 20px; }
.rk-tool--examen .ex-textarea { min-height: 76px; }
.rk-tool--examen .ex-hours { list-style: none; margin: 4px 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rk-tool--examen .ex-hours li {
  padding: 6px 12px; border-radius: 999px; border: 1px solid var(--rk-line-2); font-size: 15px; color: var(--rk-ink-dim);
}
.rk-tool--examen .ex-season {
  --ex-season: var(--rk-season);
  margin: 0 0 16px; padding: 12px 16px; border-radius: var(--rk-r2); border: 1px solid var(--rk-line-2);
  border-left: 4px solid var(--ex-season); font: italic 500 19px/1.45 var(--rk-f-display); color: var(--rk-ink);
}
.rk-tool--examen .ex-lamps { margin: 0 0 6px; }
.rk-tool--examen .ex-lampgroup, .ex-sheet .ex-lampgroup { margin: 0 0 18px; }
.rk-tool--examen .ex-lampgroup h3, .ex-sheet .ex-lampgroup h3 {
  font: 600 11px/1.3 var(--rk-f-inscr); letter-spacing: 0.22em; text-transform: uppercase; color: var(--rk-gold); margin: 0 0 8px;
}
.rk-tool--examen .ex-lampgroup.is-lane h3 { color: var(--rk-gold-bright); }
.rk-tool--examen .ex-lampgroup ul, .ex-sheet .ex-lampgroup ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rk-line); }
.rk-tool--examen .ex-lampgroup li, .ex-sheet .ex-lampgroup li {
  padding: 11px 0 11px 22px; border-bottom: 1px solid var(--rk-line); position: relative; font-size: 17.5px; line-height: 1.5; color: var(--rk-ink);
}
.rk-tool--examen .ex-lampgroup li::before, .ex-sheet .ex-lampgroup li::before {
  content: ""; position: absolute; left: 4px; top: 21px; width: 6px; height: 6px; border-radius: 50%; background: var(--rk-gold); opacity: 0.8;
}
.rk-tool--examen .ex-morelamps { margin: 0 0 16px; }
.rk-tool--examen .ex-note, .ex-sheet .ex-note {
  margin: 0 0 16px; padding: 12px 16px; border-radius: var(--rk-r2); background: var(--rk-surface); border: 1px solid var(--rk-line);
  font-size: 15.5px; line-height: 1.5; color: var(--rk-ink-dim);
}
.rk-tool--examen .ex-note p { margin: 0; }
.rk-tool--examen .ex-note--plain { background: transparent; border: 0; padding: 0; font-style: italic; }
.rk-tool--examen .ex-note--safety { border-color: color-mix(in srgb, var(--rk-alert) 45%, transparent); }
.rk-tool--examen .ex-note--safety .ex-quiet { margin-top: 6px; }
.rk-tool--examen .ex-mark { margin: 22px 0 6px; padding-top: 18px; border-top: 1px solid var(--rk-line); }
.rk-tool--examen .ex-mark .rk-choice { margin-bottom: 4px; }
.rk-tool--examen .ex-counsel { margin-top: 16px; }
.rk-tool--examen .ex-counsel[hidden] { display: none; }
.rk-tool--examen .ex-sugg { margin: -4px 0 18px; }
.rk-tool--examen .ex-sugg .ex-hint { margin: 0 0 8px; }
.rk-tool--examen .ex-sugg .rk-chip { min-height: 40px; text-align: left; line-height: 1.25; padding: 8px 14px; }
.rk-tool--examen .ex-nav {
  position: sticky; bottom: var(--rk-bottom-inset, 0px); z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: 10px;
  margin: 24px 0 0; padding: 14px 0 max(14px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, transparent, var(--rk-bg) 28%);
}
.rk-tool--examen .ex-done__acts { margin: 6px 0 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.rk-tool--examen .ex-done .ex-scripture { margin-bottom: 14px; }

/* library reader inside a sheet */
.ex-sheet .ex-reader { font-size: 17.5px; line-height: 1.65; }
.ex-sheet .ex-passages { margin: 0 0 14px; }
.ex-sheet .ex-passage { margin: 0 0 12px; padding: 0 0 0 14px; border-left: 2px solid var(--rk-line-gold-2); font-style: normal; color: var(--rk-ink); }
.ex-sheet .ex-passage p { margin: 0; }
.ex-sheet .ex-notes { padding-left: 1.1em; margin: 0 0 14px; }
.ex-sheet .ex-notes li { margin: 0 0 8px; }
.ex-sheet .ex-reader .rk-btn { margin-top: 8px; }

@media (max-width: 380px) {
  .rk-tool--examen .ex-dots { gap: 4px; }
  .rk-tool--examen .ex-dots li { width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .rk-tool--examen .ex-quiet { transition: none; }
}
@media print {
  .rk-tool--examen .ex-nav, .rk-tool--examen .ex-flowbar, .rk-tool--examen .ex-quiet { display: none !important; }
}

/* the /examen/ page around the mounted tool (page-level, used only by examen/index.html) */
.ex-page__tool { padding: clamp(28px, 5vw, 56px) 0 clamp(40px, 6vw, 72px); }
.ex-page__noscript { max-width: 640px; margin: 0 auto; font-size: 18px; color: var(--rk-ink-dim); }
.ex-page__sources li { font-size: 16.5px; }

/* wide tools (container query: the tool's own width, not the window's, so a phone-width app column on a
   tablet stays one column): streak, confession and the library on the left, the nights calendar on the right */
.rk-tool--examen .ex-row__a, .rk-tool--examen .ex-row__b { min-width: 0; }
@container (min-width: 640px) {
  .rk-tool--examen .ex-row {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "a h" "b h";
    grid-template-rows: auto 1fr; gap: 0 24px; align-items: start; margin-top: 8px;
  }
  .rk-tool--examen .ex-row__a { grid-area: a; }
  .rk-tool--examen .ex-row__b { grid-area: b; }
  .rk-tool--examen .ex-row .ex-history { grid-area: h; }
  .rk-tool--examen .ex-row .ex-history__bar { margin-top: 0; }
  .rk-tool--examen .ex-row__b .ex-h3 { margin-top: 12px; }
}
@container (min-width: 520px) { .rk-tool--examen .ex-done__acts { grid-template-columns: 1fr 1fr; } }

/* the nights calendar: every day is a 44px target. The hit area spans the whole grid pitch (cell + the 5px
   gap, split between neighbours, so targets never overlap); on a phone the card's side padding narrows so the
   pitch stays >= 44px at 360px wide. */
.rk-tool--examen button.rk-calendar__d { position: relative; }
.rk-tool--examen button.rk-calendar__d::after { content: ""; position: absolute; inset: -3.5px; }
@container (max-width: 400px) { .rk-tool--examen .rk-calendar { padding: 14px 10px; } }

/* first night: the streak explained before there is one */
.rk-tool--examen .ex-streak0 { display: block; }
.rk-tool--examen .ex-streak0 .rk-card__label { margin-bottom: 8px; }
.rk-tool--examen .ex-streak0__text { margin: 0; font-size: 16px; line-height: 1.5; color: var(--rk-ink-dim); }

/* this browser is not saving */
.rk-tool--examen .ex-note--warn { border-color: color-mix(in srgb, var(--rk-alert) 55%, transparent); color: var(--rk-ink); }
.rk-tool--examen .ex-note--warn strong { color: var(--rk-alert); font-weight: 600; }

/* the quiet help line closing every step */
.rk-tool--examen .ex-step__body ~ .ex-help { margin-top: 18px; }

/* the page reserves the tool's height while it loads, so the article below never jumps (CLS) */
.ex-page__tool #rg-tool { min-height: 100vh; min-height: 100svh; }
.ex-page__tool #rg-tool:has(> .rk-tool--examen:not([data-view="loading"])) { min-height: 0; }
.ex-sheet .ex-src { font-size: 13.5px; color: var(--rk-ink-mute); margin: 10px 0 0; line-height: 1.45; }
.ex-page__prose blockquote cite {
  display: block; margin-top: 10px; font: 600 11px/1.5 var(--f-inscr); letter-spacing: 0.18em; text-transform: uppercase;
  font-style: normal; color: var(--ink-mute);
}
.ex-page__prose blockquote p { margin: 0; }

/* the safety block: one note, its items divided by a hairline */
.rk-tool--examen .ex-safety + .ex-safety { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rk-line); }

/* list rows: the focus ring sits inside the row (the list clips anything outside it) */
.rk-tool--examen .rk-list .rk-item:focus-visible { outline-offset: -3px; }

