/* ═══════════════════════════════════════════════════════════════════
   ኤላም — base layer

   Reset, typography, and the primitives every screen shares: buttons,
   pills, cards, panels, the mastery indicator. Load after tokens.css and
   before anything page-specific.
   ═══════════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--ui);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(180,64,46,.14);
  overscroll-behavior-y: none;
}
body.is-locked { overflow: hidden; }

button, input, select, textarea { font-family: var(--ui); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-2); }
input::placeholder { color: var(--ink-6); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: var(--r-md);
}

/* Anything that came out of a book */
.et { font-family: var(--et); line-height: 1.8; }

/* The secondary numeral in "both" mode is a whisper, never a shout */
.num-alt {
  font-family: var(--ui);
  font-size: .82em;
  font-weight: 600;
  color: var(--ink-4);
  margin-inline-start: .35em;
}

@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes pop    { from { opacity: 0; transform: scale(.97); }      to { opacity: 1; transform: none; } }

/* A nudge answers "you tapped the wrong side" and must not look like an
   entrance: `pop` fades in from nothing, which on an element already on
   screen reads as the thing vanishing. This leans and returns. */
@keyframes nudge {
  0%, 100% { transform: none; }
  30%      { transform: translateX(-4px); }
  65%      { transform: translateX(3px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ── Invariants ───────────────────────────────────────────────────
   Three rules that every surface has broken at least once, kept here
   so no stylesheet has to remember them. All three need !important:
   each one has to outrank a class written later in a page stylesheet,
   and a media query adds no specificity of its own. */

/* `hidden` means hidden. Any `display:` rule on a class outranks the
   UA's [hidden], so a hidden element with a flex or grid class stays
   on screen. review.css, challenge.css, teacher.css and admin.css each
   restate this; app.css was instead excusing elements one at a time,
   fourteen of them, and finding the fifteenth by seeing it. */
[hidden] { display: none !important; }

/* iOS Safari zooms the page in when a field under 16px takes focus,
   and does not zoom back out — the learner is left on a page they have
   to pinch. The designed size stays on desktop; on a touch screen no
   type scale is worth that. */
@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea { font-size: 16px !important; }
}

/* Double-tapping a control on a phone selects its label instead of
   pressing it twice, which reads as the app coming apart. Fields are
   left alone — text there is meant to be selected. */
button, .btn, [role="button"], summary, label { -webkit-user-select: none; user-select: none; }


/* ── Brand ────────────────────────────────────────────────────────
   Shared by the landing page and the app, so it lives in the base layer
   rather than in either one of them. */
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); flex: none; }
.brand:hover { color: var(--ink); }
.brand { gap: 11px; }
/* The emblem of the ማዕከል. Inlined rather than linked so dist/elam.html
   still carries its own mark on a USB stick with no network, and so the
   header never flashes an empty square while a file loads. The letters
   inside it are part of the artwork, so the tile has no background and
   no text of its own — it is a picture, and it is labelled by the words
   beside it. */
.brand__tile {
  flex: none;
  width: 38px; height: 38px;
  border-radius: 999px;
  background: url("data:image/png;base64,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") center/contain no-repeat;
  text-indent: -9999px;
  overflow: hidden;
}
.brand__txt { display: flex; flex-direction: column; min-width: 0; text-align: start; }
.brand__name { font: 800 16px/1.25 var(--ui); letter-spacing: -.02em; color: var(--ink); }
.brand__sub  { font: 500 11.5px/1.4 var(--ui); color: var(--ink-5); }
.brand__sub.et { font-family: var(--et); font-size: 11px; line-height: 1.5; }

/* ═══════════════════ Primitives ═══════════════════ */


/* Cards in this system are drawn with a hairline, not floated on a
   shadow: on cream, a 5% shadow disappears and the card stops being a
   card. The shadow is there to lift, the border to define. */
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
}

/* A container whose children are flush rows */
/* A panel of flush rows. Lifted by shadow rather than boxed by a border —
   the whole point of the BibleProject system is that almost nothing has a
   line drawn around it. */
.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-1);
}
.panel > :last-child { border-bottom: 0; }

/* Buttons are soft rectangles, not pills. Pills are used for status —
   "Multiple choice", "All caught up" — and letting the two share a shape
   makes a label look tappable and a button look decorative. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 0 22px;
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  font: 700 14.5px/1.4 var(--ui);
  cursor: pointer;
  transition: background .16s var(--ease), border-color .16s var(--ease),
              box-shadow .16s var(--ease), transform .16s var(--ease);
}
.btn:hover {
  background: var(--card);
  border-color: var(--line-2);
  box-shadow: var(--sh-lift);
  transform: translateY(-1px);
}
.btn:active { transform: translateY(0); box-shadow: none; }
.btn:disabled {
  cursor: default; transform: none; box-shadow: none;
  background: var(--sunk); border-color: transparent; color: var(--ink-5);
}

.btn--dark {
  min-height: 54px;
  padding: 0 28px;
  background: var(--ink);
  color: #fff;
  border: 1px solid var(--ink);
  border-radius: var(--r-lg);
  font-size: 15.5px;
}
.btn--dark:hover { background: #2b2823; border-color: #2b2823; color: #fff; }
.btn--dark:disabled { background: var(--sunk); border-color: transparent; color: var(--ink-5); }

.btn--light {
  background: #fff;
  color: var(--ink);
  border: 1px solid transparent;
  min-height: 56px;
  padding: 0 30px;
  border-radius: var(--r-lg);
  font-size: 16px;
}
.btn--light:hover { background: #fff; color: var(--ink); }

.btn--danger {
  background: var(--bad-bg); color: var(--bad);
  border: 1px solid var(--bad-line);
  min-height: 50px; font-size: 15px;
}
.btn--danger:hover { background: #f5ddd7; border-color: var(--bad-line); color: var(--bad-2); }

/* The quietest button on the site still has to look like a button. It
   keeps a border so it reads as a control at a glance; only its fill is
   given up, which is what makes it recede next to a filled one. */
.btn--quiet {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink-4);
  min-height: 48px;
  font-weight: 700;
  font-size: 14px;
}
.btn--quiet:hover { background: var(--hover); border-color: var(--line-2); color: var(--ink); }

.btn--block { width: 100%; }

/* A pill, but a control: it keeps its slim look and still answers a
   thumb, because "go back" is the most-pressed thing on a phone. */
.backpill {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 14px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 999px;
  font: 600 12.5px/1.3 var(--ui);
  color: var(--ink-2);
  cursor: pointer;
}
.backpill:hover { background: var(--line-soft); color: var(--ink); }
.backpill .et { font-size: 13px; }

/* ─── The action row ──────────────────────────────────────────────
   One grammar for every cluster of controls that ends a piece of work:
   a form's foot, a dialog's answer, the results screen, a heading's
   tools. Six surfaces had each invented their own, and they disagreed
   about the two things that decide whether a row is safe — where the
   sentence about the work goes, and how far the control that loses
   work sits from the one people mean to press.

   Slots, in DOM order, and DOM order is the only order. Nothing here
   uses `order`, so what a screen reader hears is what an eye sees at
   both widths:

     .actions__say   what is true of the work right now. Not a control.
     .btn--danger    the way that loses work.
     .btn--quiet     the way back.
     .btn--dark      the one answer most people want. Always last.

   There is no class for "primary" beyond the fill it already wears.
   Last child and filled is what primary means here, which is a thing a
   test can read and a class nobody remembers to add is not.

   A confirmation inverts the second slot on purpose. When the
   destructive act *is* the answer to the question in the title —
   "Delete this question?" — it takes the last slot and wears
   .btn--danger there. It is the primary then, not a trap beside one.
   When it is not the answer — Discard, in a dialog whose answer is
   Save — it leads, and the quiet way back stands between the two.

   Stacked, the row is a column in that same order, so the destructive
   one is controls and a fence away from the thumb. Wide, whichever of
   .actions__say or a non-final danger opens the row anchors the start
   and pushes the rest to the end: the gap between them is then the
   whole width of the row, which is the separation /review's footer had
   to build by hand out of a band of rule. A row never carries both, so
   there is never a second auto margin to split the space with. */
.actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.actions__say { margin: 0; color: var(--ink-4); font: 500 12.5px/1.5 var(--ui); }
/* The fence. Wherever something destructive has a sibling after it,
   the space to that sibling is more than the space between any two
   ordinary controls — on the block axis while the row is a column,
   and on the inline axis once it is a row. */
.actions > :is(.btn--danger, .text-button--danger):not(:last-child) { margin-block-end: var(--space-sm, 8px); }

@media (min-width: 640px) {
  .actions { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
  .actions > .actions__say { margin-inline-end: auto; }
  .actions > :is(.btn--danger, .text-button--danger):not(:last-child) { margin-block-end: 0; margin-inline-end: auto; }
}

/* A heading's tools are a row at every width — they sit beside a title
   in a space that never has room to stack, and flinging the destructive
   one to the far end of a heading would read as a second title. The
   fence there is a measured gap instead of the whole row. */
.actions--inline { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-sm, 8px); }
.actions--inline > :is(.btn--danger, .text-button--danger):not(:last-child) { margin-block-end: 0; margin-inline-end: var(--space-lg, 16px); }

/* ─── Section label ───────────────────────────────────────────────
   The small caps line above a group — "Tracks", "Your figures",
   "Account". Used by nearly every screen in views.js and by the results
   overlay; it lived only in the retired style.css, so until now those
   headings had been rendering as unstyled h2s. */
.eyebrow {
  margin: 0;
  font: 700 11.5px/1.4 var(--ui);
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--ink-5);
}
.eyebrow--accent { color: var(--accent); }
.eyebrow--bad    { color: var(--bad); }
.eyebrow--good   { color: var(--good); }

.tag {
  display: inline-block;
  /* A pill is sized by its own text. Without this it stretches to the
     full width of any column flex it is dropped into — which is most of
     the cards on this site — and stops reading as a pill. */
  align-self: flex-start;
  padding: 5px 12px;
  border-radius: 999px;
  font: 700 11px/1.4 var(--ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.tag--accent { background: var(--accent-bg); color: var(--accent); }
.tag--good   { background: var(--good-bg);   color: var(--good); }
.tag--warn   { background: var(--warn-bg);   color: var(--warn); }
.tag--bad    { background: var(--bad-bg);    color: var(--bad); }
.tag--onDark { background: rgba(255,255,255,.1); color: var(--accent-lt); }
.tag--gold   { background: var(--warn-bg);   color: var(--gold); }

.chip {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 11px/1.5 var(--ui);
  white-space: nowrap;
}
.chip--draft { background: var(--warn-bg); color: var(--warn); }
.chip--due   { background: var(--accent-bg); color: var(--accent); padding: 4px 10px; }
.chip--done  { background: var(--good-bg); color: var(--good); padding: 4px 9px; }
.chip--due .num-alt { color: var(--accent-soft); }

/* ─── Mastery indicator ───────────────────────────────────────────
   Four dots that fill in, plus the level in words. Colour reinforces
   the reading but never carries it alone — which matters, since this
   appears in dense rows at 11px. */
.dots {
  font: 400 12px/1 var(--ui);
  letter-spacing: .3em;
  color: var(--mc, var(--m0));
  white-space: nowrap;
}
.dots--sm { font-size: 9px;  letter-spacing: .24em; }
.dots--rw { font-size: 11px; letter-spacing: .28em; }
.dots--lg { font-size: 22px; letter-spacing: .28em; }

.mlabel { font: 700 12px/1.5 var(--ui); color: var(--mc, var(--m0)); }
.mlabel--sm { font-size: 11.5px; }
.mlabel--lg { font: 800 20px/1.35 var(--ui); letter-spacing: -.01em; }

[data-lvl="none"]  { --mc: var(--m0); }
[data-lvl="start"] { --mc: var(--m1); }
[data-lvl="fam"]   { --mc: var(--m2); }
[data-lvl="prof"]  { --mc: var(--m3); }
[data-lvl="mast"]  { --mc: var(--m4); }

.mstat { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }

/* ─── Two-column pages ─── */
.cols {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  align-items: flex-start;
}
.cols__main {
  flex: 1 1 460px;
  min-width: min(100%, 420px);
  max-width: 780px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cols__side {
  flex: 1 1 260px;
  min-width: 250px;
  max-width: 330px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 34px;
}

.stack { display: flex; flex-direction: column; gap: 12px; }
