/* study.css — round 39 (owned by the study agent). Loaded after app.css/game.css/hud.css, so rules here override them.
 *
 * Two tools live here:
 *   1. The Objection Trainer's study set (tools/study.js): Review, Speak it, Flashcards, Learn, Test, Match, Stats.
 *   2. The Script Library (tools/scripts.js): the working bar, the stage rail, the index and the beat reader, Practice.
 * Everything sits on deep navy glass with electric-blue accents and white type, like the Vault and the Map.
 */

/* =========================================================================
   1. Study set
   ========================================================================= */

.study { gap: var(--s-4); }
.study__head { align-items: center; }
.study__tools { display: flex; gap: var(--s-2); align-items: center; }
.study__reset.is-armed { color: #fff; background: rgba(var(--red-rgb), 0.22); box-shadow: inset 0 0 0 1px rgba(255, 122, 131, 0.6); }

/* Six tabs: one row on desktop, a clean 3 × 2 on a phone. */
.study__tabs { flex-wrap: nowrap; max-width: 100%; }
.study__tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; }
.study__tabs button[aria-selected="true"] { box-shadow: 0 0 18px -4px rgba(var(--volt-rgb), 0.8); }
.study__badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #fff; color: var(--volt-deep); font-size: 0.7rem; font-weight: 800; line-height: 1; }
@media (max-width: 720px) {
  .study__head { display: grid; grid-template-columns: minmax(0, 1fr); }
  .study__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; border-radius: 18px; }
  .study__tabs button { padding: 9px 4px; font-size: var(--t-xs); border-radius: 14px; }
  .study__tools { justify-content: space-between; }
}

/* The strip: four tiers and today's pills. */
.study__bar .is-review { background: var(--scan); }
.study__bar .is-learning { background: var(--volt); }
.study__counts { align-items: center; }
.study__counts .is-review b { color: var(--scan-hot); }
.study__today { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
@media (max-width: 560px) { .study__today { margin-left: 0; width: 100%; } }

.study__meta { font-size: var(--t-sm); color: var(--fg-dim); }
.study__meta b { color: var(--fg); }
.study__meter { height: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); overflow: hidden; }
.study__meter i { display: block; height: 100%; background: linear-gradient(90deg, var(--volt), var(--scan)); border-radius: inherit; transition: width 300ms var(--ease-out); }

/* Status chips: one look per tier. */
.study__chip { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; color: var(--fg-dim); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(144, 195, 255, 0.22); }
.study__chip.is-learning { color: var(--volt-hot); box-shadow: inset 0 0 0 1px rgba(var(--volt-rgb), 0.55); }
.study__chip.is-review { color: var(--scan-hot); box-shadow: inset 0 0 0 1px rgba(var(--scan-rgb), 0.5); }
.study__chip.is-mastered { color: var(--money-hot); box-shadow: inset 0 0 0 1px rgba(var(--money-rgb), 0.5); }

/* The review card: one glass panel, the objection big, the answer underneath once shown. */
.rcard { display: grid; gap: var(--s-3); width: 100%; max-width: 780px; margin: 0 auto; min-height: 260px; align-content: center; padding: clamp(20px, 4vw, 40px); border-radius: 20px; background: linear-gradient(180deg, rgba(20, 103, 239, 0.2), rgba(9, 22, 52, 0.92)); border: 1px solid rgba(144, 195, 255, 0.35); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.08); overflow-wrap: break-word; }
.rcard.is-shown { align-content: start; }
.rcard__q { margin: 0; font-family: var(--font-display); font-size: clamp(1.35rem, 2.4vw, 1.95rem); font-weight: 800; line-height: 1.22; text-wrap: balance; }
.rcard__q--sm { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--fg-dim); }
.study__answer { display: grid; gap: var(--s-2); padding-top: var(--s-3); border-top: 1px solid rgba(144, 195, 255, 0.2); animation: study-in 220ms var(--ease-out) both; }
.study__answer .flip__label { color: var(--money-hot); }
.study__answer .flip__full { margin: 0; }
.study__reveal { min-width: min(220px, 100%); }
@keyframes study-in { from { opacity: 0; transform: translateY(6px); } }

/* Grade buttons (Anki): label, the interval it promises, the key. */
.grades { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-2); width: 100%; max-width: 780px; margin: 0 auto; }
.grade { position: relative; display: grid; gap: 2px; justify-items: center; padding: 12px 8px 10px; border-radius: 14px; border: 1px solid rgba(144, 195, 255, 0.28); background: rgba(9, 22, 52, 0.78); color: var(--fg); font: inherit; cursor: pointer; transition: transform 140ms, border-color 140ms, background 140ms; }
.grade:hover { transform: translateY(-1px); border-color: rgba(144, 195, 255, 0.6); }
.grade:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.grades__label { font-weight: 800; font-size: var(--t-sm); }
.grades__when { font-size: var(--t-xs); color: var(--fg-dim); }
.grades__key { position: absolute; top: 6px; right: 8px; font-family: var(--font-mono); font-size: 0.62rem; color: var(--fg-faint); }
.grade--again { border-color: rgba(255, 122, 131, 0.45); }
.grade--again:hover { background: rgba(var(--red-rgb), 0.16); border-color: var(--red-hot); }
.grade--hard:hover { background: rgba(255, 255, 255, 0.07); }
.grade--good { border-color: rgba(var(--volt-rgb), 0.7); background: rgba(20, 103, 239, 0.24); }
.grade--good:hover { background: rgba(20, 103, 239, 0.38); border-color: var(--volt); }
.grade--easy { border-color: rgba(var(--money-rgb), 0.45); }
.grade--easy:hover { background: rgba(var(--money-rgb), 0.14); border-color: var(--money); }
@media (max-width: 420px) { .grades__key { display: none; } .grade { padding: 10px 4px; } }

/* Done states. */
.study__seal { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #5b96ff, var(--volt-deep)); color: #fff; font-size: 1.5rem; font-weight: 800; box-shadow: 0 0 0 4px rgba(var(--volt-rgb), 0.18), 0 0 30px -4px rgba(var(--volt-rgb), 0.8); }
.study__done h3 { font-size: clamp(1.3rem, 2.4vw, 1.9rem); text-wrap: balance; max-width: 30ch; }
.study__done p { max-width: 52ch; }
.study__score { --p: 0; display: grid; place-items: center; align-content: center; width: 116px; height: 116px; border-radius: 50%; background: radial-gradient(closest-side, rgba(7, 14, 34, 1) 80%, transparent 81% 100%), conic-gradient(var(--money) calc(var(--p) * 360deg), rgba(255, 255, 255, 0.1) 0); }
.study__score b { font-size: 2.2rem; line-height: 1; }
.study__score span { font-size: var(--t-xs); color: var(--fg-dim); }

/* Speak it. */
.rcard--speak.is-live { border-color: rgba(var(--red-rgb), 0.55); box-shadow: 0 0 0 1px rgba(var(--red-rgb), 0.3), 0 30px 60px -30px rgba(0, 0, 0, 0.9), 0 0 44px -16px rgba(var(--red-rgb), 0.7); }
.rcard--speak.is-live .flip__label { color: var(--red-hot); }
.speak__dot { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px var(--red); vertical-align: 1px; }
.is-live .flip__label::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--red); animation: speak-pulse 1.2s infinite; vertical-align: 1px; }
@keyframes speak-pulse { 50% { opacity: 0.25; } }
.speak__clock { font-family: var(--font-dot); font-size: clamp(2.4rem, 6vw, 3.6rem); font-weight: 800; line-height: 1; color: #fff; }
.speak__clock.is-over { color: var(--warn); }
.speak__live { margin: 0; min-height: 3em; color: var(--fg-dim); font-size: var(--t-sm); line-height: 1.5; }
.speak__toggle { display: flex; gap: 10px; align-items: center; justify-content: center; font-size: var(--t-sm); color: var(--fg-dim); cursor: pointer; text-align: left; }
.speak__toggle input { width: 18px; height: 18px; accent-color: var(--volt); flex: none; }
.speak__result { display: flex; flex-wrap: wrap; gap: 6px; }
.speak__heard { display: grid; gap: 6px; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, 0.04); }
.speak__heard p { margin: 0; font-size: var(--t-sm); line-height: 1.55; }
.speak__words { display: flex; flex-wrap: wrap; gap: 4px; }
.speak__word { padding: 2px 8px; border-radius: 999px; font-size: var(--t-2xs); color: var(--fg-faint); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12); }
.speak__word.is-hit { color: var(--money-hot); box-shadow: inset 0 0 0 1px rgba(var(--money-rgb), 0.55); }
.speak__check { margin: 0; padding: 12px 0 0; list-style: none; display: grid; gap: 6px; border-top: 1px dashed rgba(144, 195, 255, 0.2); font-size: var(--t-sm); color: var(--fg-dim); }
.speak__check li::before { content: '□'; margin-right: 8px; color: var(--volt-hot); }

/* Flashcards: the card face carries its status row above it. */
.flip__inner { min-height: 280px; }

/* Test: the true/false prompt reads as one line. */
.test__shown .flip__label { margin-right: 6px; }

/* Stats. */
.stats__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); }
@media (max-width: 720px) { .stats__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.stat { display: grid; gap: 4px; align-content: start; padding: 14px 16px; border-radius: 14px; background: rgba(9, 22, 52, 0.7); border: 1px solid rgba(144, 195, 255, 0.2); min-width: 0; }
.stat b { font-family: var(--font-dot); font-size: 1.8rem; line-height: 1; color: #fff; }
.stat span { font-size: var(--t-xs); color: var(--fg-dim); line-height: 1.35; }
.stats__charts { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--s-3); }
@media (max-width: 720px) { .stats__charts { grid-template-columns: minmax(0, 1fr); } }
.stats__chart { margin: 0; display: grid; gap: var(--s-3); padding: 14px 16px; border-radius: 14px; background: rgba(9, 22, 52, 0.7); border: 1px solid rgba(144, 195, 255, 0.2); min-width: 0; }
.bars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; height: 120px; align-items: end; }
.bars__col { display: grid; grid-template-rows: auto 1fr auto; justify-items: center; gap: 4px; height: 100%; min-width: 0; }
.bars__col i { align-self: end; width: 100%; max-width: 28px; min-height: 2px; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, var(--scan), var(--volt)); }
.bars__n { font-size: var(--t-2xs); color: var(--fg-dim); }
.bars__x { font-size: var(--t-2xs); color: var(--fg-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.heat { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.heat i { --a: 0; aspect-ratio: 1; border-radius: 6px; background: rgba(var(--volt-rgb), var(--a)); box-shadow: inset 0 0 0 1px rgba(144, 195, 255, 0.14); }
.stats__table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.stats__table th { text-align: left; font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-faint); font-weight: 400; padding: 8px 10px; border-bottom: 1px solid rgba(144, 195, 255, 0.2); }
.stats__table td { padding: 9px 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); vertical-align: middle; }
.stats__table .num { text-align: right; }
@media (max-width: 560px) {
  .stats__table th, .stats__table td { padding: 8px 6px; }
  .stats__table .study__chip { white-space: normal; letter-spacing: 0.04em; }
  .bars { gap: 3px; }
  .bars__x { font-size: 0.62rem; }
}

/* =========================================================================
   2. Script Library
   ========================================================================= */

.scripts { gap: var(--s-4); }

/* The working bar: which location, and who you are. */
.sc-work__warn { margin: 0; padding: 10px 12px; border-radius: 12px; font-size: var(--t-sm); color: #fff; background: rgba(251, 191, 36, 0.12); box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.45); }
.sc-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-3); align-items: center; padding: 12px 14px; border-radius: 14px; background: linear-gradient(90deg, rgba(20, 103, 239, 0.3), rgba(20, 103, 239, 0.08)); box-shadow: inset 0 0 0 1px rgba(var(--volt-rgb), 0.5); }
.sc-next__text { display: grid; gap: 2px; min-width: 0; }
.sc-next__text b { font-size: var(--t-sm); line-height: 1.3; }
@media (max-width: 480px) { .sc-next { grid-template-columns: minmax(0, 1fr); } }

/* The stage rail: the pipeline, in order, with how many scripts each stage has. */
.sc-rail { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 2px 8px; }
.sc-rail__step { flex: 1 0 auto; display: grid; gap: 2px; min-width: 86px; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(144, 195, 255, 0.22); background: rgba(9, 22, 52, 0.66); color: var(--fg); font: inherit; text-align: left; cursor: pointer; scroll-snap-align: start; transition: border-color 140ms, background 140ms; }
.sc-rail__step:hover { border-color: rgba(144, 195, 255, 0.55); }
.sc-rail__step:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.sc-rail__step[aria-pressed="true"] { background: linear-gradient(180deg, rgba(59, 130, 255, 0.5), rgba(0, 64, 176, 0.5)); border-color: var(--volt-hot); box-shadow: 0 0 22px -8px rgba(var(--volt-rgb), 0.9); }
.sc-rail__step.is-lead { box-shadow: inset 0 -3px 0 #fff; }
.sc-rail__n { font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: 0.12em; color: var(--volt-hot); }
.sc-rail__step[aria-pressed="true"] .sc-rail__n { color: #fff; }
.sc-rail__label { font-weight: 800; font-size: var(--t-sm); line-height: 1.2; white-space: nowrap; }
.sc-rail__count { font-size: var(--t-2xs); color: var(--fg-dim); line-height: 1.25; white-space: nowrap; }
@media (max-width: 720px) {
  .sc-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sc-rail__step { min-width: 0; padding: 8px; border-radius: 12px; }
  .sc-rail__label { font-size: var(--t-xs); white-space: normal; }
  .sc-rail__count { display: none; }
}
/* The one-off fields (no lead picked): a business and its decision maker, typed in. */
.scripts__fields--two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.scripts__fields--two[hidden] { display: none; }
.scripts__fields--two .field { margin: 0; min-width: 0; }
@media (max-width: 520px) { .scripts__fields--two { grid-template-columns: minmax(0, 1fr); } }

/* The browser: index left, reader right. */
.scripts__browser { grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); }
/* The aside is exactly the visible stage tall (between the top bar and the dock); the index scrolls inside it. */
.sc-side { position: sticky; top: 0; display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; min-height: 0; max-height: calc(100dvh - var(--top-h, 64px) - var(--dock-h, 118px) - 40px); padding: var(--s-3); border-radius: 16px; background: rgba(9, 22, 52, 0.62); border: 1px solid rgba(144, 195, 255, 0.2); }
.sc-side .scripts__index { position: static; flex: 1 1 auto; max-height: none; overflow-y: auto; overscroll-behavior: contain; padding: 0; border: 0; background: none; min-height: 0; }
.sc-side > :not(.scripts__index) { flex: none; }
.sc-side__filters { display: grid; gap: var(--s-2); }
.sc-side .input { width: 100%; }
.sc-side .segmented { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sc-side .segmented button { padding-inline: 4px; white-space: nowrap; }
.sc-chips { display: flex; flex-wrap: wrap; gap: 4px; }
/* .sc-chip: the one chip look lives in arsenal.css. */
.scripts__item { grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; }
.scripts__item > :not(.sc-star) { grid-column: 1; }
.scripts__item .sc-star { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.scripts__item:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.scripts__item.is-rec { box-shadow: inset 3px 0 0 #fff; }
.scripts__item.is-on.is-rec { box-shadow: inset 3px 0 0 var(--neon); }
.sc-star { color: #fff; font-size: 0.8rem; }
.sc-empty { display: grid; gap: var(--s-2); justify-items: start; padding: var(--s-3); font-size: var(--t-sm); color: var(--fg-dim); }
@media (max-width: 900px) {
  .scripts__browser { grid-template-columns: minmax(0, 1fr); }
  .sc-side { position: static; max-height: none; }
  .sc-side .scripts__index { max-height: 46vh; }
}

/* The reader: numbered beats. Spoken lines are white and large; coaching notes are quiet. */
.script { gap: var(--s-4); padding: clamp(16px, 3vw, 28px); }
.script__head { grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: var(--s-3); }
.script__head h3 { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.45rem); line-height: 1.25; text-wrap: balance; }
.script__head .script__pills { grid-column: 1; }
.sc-fav { grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(144, 195, 255, 0.3); background: rgba(9, 22, 52, 0.6); color: var(--fg-dim); font-size: 1.1rem; cursor: pointer; }
.sc-fav[aria-pressed="true"] { color: #fff; background: rgba(20, 103, 239, 0.4); border-color: var(--volt-hot); }
.sc-fav:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.sc-why { margin: 0; font-size: var(--t-sm); color: var(--fg-dim); }
.beats { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; counter-reset: beat; max-width: 76ch; }
.beat { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 12px; padding: 12px 12px 12px 8px; border-radius: 12px; counter-increment: beat; }
.beat::before { content: counter(beat); display: grid; place-items: center; width: 26px; height: 26px; margin-top: 2px; border-radius: 8px; background: rgba(var(--volt-rgb), 0.22); color: var(--volt-hot); font-family: var(--font-mono); font-size: var(--t-xs); font-weight: 700; }
.beat > * { grid-column: 2; min-width: 0; }
.beat__tag { font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--volt-hot); margin-bottom: 4px; }
.beat__text { margin: 0; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.6; }
.beat--say .beat__text { font-size: var(--t-md); color: #fff; }
.beat--note { background: none; }
.beat--note::before { content: '!'; background: rgba(255, 255, 255, 0.06); color: var(--fg-faint); }
.beat--note .beat__text { font-size: var(--t-sm); color: var(--fg-dim); font-style: italic; }
.beat--note .beat__tag { color: var(--fg-faint); }
.beat--msg { background: rgba(255, 255, 255, 0.035); box-shadow: inset 0 0 0 1px rgba(144, 195, 255, 0.14); }
.beat--msg .beat__text { font-size: var(--t-md); color: #fff; }
.beat--say:hover, .beat--msg:hover { background: rgba(255, 255, 255, 0.04); }

/* Merge fields: dashed until filled, then a solid blue underline. */
.script .merge, .scripts__offer .merge { padding: 0 0.12em; border-radius: 4px; border-bottom: 1.5px dashed rgba(144, 195, 255, 0.6); color: var(--volt-hot); font-weight: 600; font-style: normal; }
.script .merge.is-filled, .scripts__offer .merge.is-filled { border-bottom: 2px solid var(--volt); color: #fff; background: rgba(var(--volt-rgb), 0.16); }

.sc-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
.sc-actions .sc-actions__end { margin-left: auto; }
@media (max-width: 560px) { .sc-actions .sc-actions__end { margin-left: 0; } }

/* Practice: hidden lines, hints, reveal, self-grade, timer. */
.sc-prac { display: grid; gap: var(--s-3); }
.sc-prac__bar { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; justify-content: space-between; padding: 10px 14px; border-radius: 14px; background: rgba(9, 22, 52, 0.7); box-shadow: inset 0 0 0 1px rgba(144, 195, 255, 0.2); }
.sc-prac__clock { font-family: var(--font-dot); font-size: 1.6rem; font-weight: 800; line-height: 1; }
.sc-prac__best { font-size: var(--t-xs); color: var(--fg-dim); }
.beat.is-hidden .beat__text { color: var(--fg-faint); font-style: normal; letter-spacing: 0.04em; }
.beat.is-hidden { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0 8px, transparent 8px 16px); box-shadow: inset 0 0 0 1px dashed rgba(144, 195, 255, 0.2); outline: 1px dashed rgba(144, 195, 255, 0.28); outline-offset: -1px; }
.beat.is-current { outline: 2px solid var(--volt); outline-offset: -2px; background: rgba(20, 103, 239, 0.12); }
.beat__grades { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.beat__grades .btn { min-height: 34px; }
.beat__mark { margin-top: 6px; font-size: var(--t-xs); font-weight: 700; }
.beat__mark.is-nailed { color: var(--money-hot); }
.beat__mark.is-close { color: var(--scan-hot); }
.beat__mark.is-missed { color: var(--red-hot); }
.sc-prac__done { display: grid; gap: var(--s-2); justify-items: start; padding: 14px 16px; border-radius: 14px; background: linear-gradient(90deg, rgba(var(--money-rgb), 0.14), rgba(9, 22, 52, 0.6)); box-shadow: inset 0 0 0 1px rgba(var(--money-rgb), 0.4); }
.sc-prac__done h4 { margin: 0; font-size: var(--t-lg); }
.sc-prac__done p { margin: 0; color: var(--fg-dim); font-size: var(--t-sm); }

/* The offer card sits under the browser now. */
.scripts__offer .script__body { background: rgba(9, 22, 52, 0.7); color: #fff; font-family: var(--font-sans); font-size: var(--t-md); line-height: 1.6; box-shadow: inset 0 0 0 1px rgba(144, 195, 255, 0.2); border-radius: 12px; }
.sc-kbd { margin: 0; font-size: var(--t-xs); color: var(--fg-faint); }

@media (prefers-reduced-motion: reduce) { .study__answer { animation: none; } .is-live .flip__label::before { animation: none; } }
