/* MEDCUE GLASS · review tools (Recall, Gotchas, Saved, Learning points, History). Port of the prototype pages-review.css + the focus-page chrome from pages-core.css. */
@layer glass.page {

/* ── Focus chrome (shared with the question pages) ───────────────── */
:where(.mc-glass) .q-shell { min-height: 100dvh; background: var(--g-bg); }
:where(.mc-glass) .q-top { position: sticky; top: 0; z-index: 50; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: max(10px, env(safe-area-inset-top)) 14px 10px; }
:where(.mc-glass) .q-top::after { content: ""; position: absolute; inset: 0 0 -24px; z-index: -1; pointer-events: none; background: linear-gradient(var(--g-bg) 45%, transparent); }
:where(.mc-glass) .q-top .lead { justify-self: start; display: flex; gap: 6px; }
:where(.mc-glass) .q-top .trail { justify-self: end; display: flex; gap: 6px; }
:where(.mc-glass) .q-pill { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: var(--g-r-capsule); border: 0; cursor: pointer; color: var(--g-label); font: 500 calc(var(--g-t-subhead) * var(--g-scale))/1 var(--g-font); text-decoration: none !important; }
:where(.mc-glass) .q-pill.round { width: 40px; padding: 0; justify-content: center; }
:where(.mc-glass) .q-pill[aria-pressed="true"] { color: var(--g-tint); }
:where(.mc-glass) .q-capsule { white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 4px 14px 4px 4px; border-radius: var(--g-r-capsule); border: 0; cursor: pointer; color: var(--g-label); font: 600 calc(var(--g-t-subhead) * var(--g-scale))/1 var(--g-font); }
:where(.mc-glass) .q-capsule img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: var(--g-stage); }
:where(.mc-glass) .q-capsule .bar { width: 56px; height: 4px; border-radius: 2px; background: var(--g-fill-2); overflow: hidden; }
:where(.mc-glass) .q-capsule .bar i { display: block; height: 100%; width: var(--p, 20%); background: var(--g-tint); }
:where(.mc-glass) .q-capsule .clock { font-variant-numeric: tabular-nums; color: var(--g-label-2); font-weight: 500; }
:where(.mc-glass) .q-capsule .clock.over { color: var(--g-warn); }
:where(.mc-glass) .q-capsule .mode { font: 600 11px/1 var(--g-font); text-transform: uppercase; letter-spacing: .04em; color: var(--g-label-2); padding: 4px 7px; border-radius: 6px; background: var(--g-fill-3); }

:where(.mc-glass) .t-play { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--g-orange); color: #fff; cursor: pointer; position: relative; }
:where(.mc-glass) .t-play .g-ic { width: 18px; height: 18px; }
:where(.mc-glass) .t-play svg.ring { position: absolute; inset: -4px; width: 52px; height: 52px; transform: rotate(-90deg); }
:where(.mc-glass) .t-play svg.ring circle { fill: none; stroke: var(--g-orange); stroke-width: 2.5; stroke-dasharray: 150.8; stroke-dashoffset: var(--off, 150.8); stroke-linecap: round; transition: stroke-dashoffset .25s linear; }
:where(.mc-glass) .t-stepper { display: inline-flex; align-items: center; border-radius: 9px; background: var(--g-fill-3); }
:where(.mc-glass) .t-stepper button { width: 46px; height: 32px; border: 0; background: transparent; color: var(--g-label); font: 400 22px/1 var(--g-font); cursor: pointer; }
:where(.mc-glass) .t-stepper button + button { box-shadow: inset 1px 0 0 var(--g-sep); }
:where(.mc-glass) .q-dock { position: fixed; z-index: 55; left: var(--dock-x, 50%); translate: -50% 0; bottom: max(16px, env(safe-area-inset-bottom)); display: flex; gap: 6px; align-items: center; padding: 6px; border-radius: var(--g-r-capsule); transition: opacity 200ms linear, translate var(--g-d-move) var(--g-spring-smooth); }
:where(.mc-glass) .q-dock .g-btn-filled { min-width: 210px; }
:where(.mc-glass) .q-dock.gone { opacity: 0; translate: -50% 24px; pointer-events: none; }
@media (max-width: 1099px) {
  :where(.mc-glass) .q-dock { left: 12px; right: 12px; translate: none; justify-content: space-between; }
  :where(.mc-glass) .q-dock.gone { translate: 0 24px; }
  :where(.mc-glass) .q-dock .g-btn-filled { flex: 1; min-width: 0; }
  :where(.mc-glass) .q-top { grid-template-columns: auto 1fr auto; padding-left: 10px; padding-right: 10px; }
  :where(.mc-glass) .q-capsule { justify-self: center; }
  :where(.mc-glass) .q-capsule .bar { width: 36px; }
  :where(.mc-glass) .q-top .lead .lbl { display: none; }
}
@media (max-width: 440px) { :where(.mc-glass) .q-capsule .bar { display: none; } :where(.mc-glass) .rc-cap .mode { max-width: 11ch; } :where(.mc-glass) .q-capsule { gap: 8px; padding-right: 12px; } }
@media (max-width: 360px) { :where(.mc-glass) .q-capsule .bar { display: none; } }


/* ── Shared ──────────────────────────────────────────────────────── */
:where(.mc-glass) .rv-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }
:where(.mc-glass) .rv-plainlink, :where(.mc-glass) .rv-plainlink:hover, :where(.mc-glass) .hs-plain, :where(.mc-glass) .hs-plain:hover { color: inherit; text-decoration: none; }
:where(.mc-glass) .rv-hero, :where(.mc-glass) .rc-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px; }
@media (min-width: 760px) { :where(.mc-glass) .rv-hero, :where(.mc-glass) .rc-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; } }
:where(.mc-glass) .rv-hero-main, :where(.mc-glass) .rc-hero-main { display: grid; gap: 8px; align-content: start; min-width: 0; }
:where(.mc-glass) .rv-due, :where(.mc-glass) .rc-count { font-size: 56px; margin-top: 6px; }
:where(.mc-glass) .rv-next { display: grid; gap: 6px; align-content: center; padding: 18px; border-radius: 14px; background: var(--g-bg-3); min-width: 0; }
:where(.mc-glass) .rv-listen { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
:where(.mc-glass) .rv-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 20px; margin-top: 28px; }
@media (min-width: 900px) { :where(.mc-glass) .rv-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } :where(.mc-glass) .rv-cols > .g-section + .g-section { margin-top: 0; } }
:where(.mc-glass) .gt-lock, :where(.mc-glass) .rc-lock { color: var(--g-label-2); }
:where(.mc-glass) .gt-check { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; margin: 0; border-radius: 50%; flex: none; cursor: pointer; background: transparent; box-shadow: inset 0 0 0 1.5px var(--g-fill); transition: background-color var(--g-d-fast) linear, box-shadow var(--g-d-fast) linear; }
:where(.mc-glass) .gt-check { position: relative; }
:where(.mc-glass) .gt-check:checked { background: var(--g-tint); box-shadow: none; }
:where(.mc-glass) .gt-check:checked::after { content: ""; position: absolute; left: 8px; top: 4px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; rotate: 45deg; }
:where(.mc-glass) .gt-check:focus-visible { outline: 3px solid color-mix(in srgb, var(--g-tint) 55%, transparent); outline-offset: 2px; }
:where(.mc-glass) .gt-chips-row, :where(.mc-glass) .gt-mods-chips, :where(.mc-glass) .sv-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--g-gutter) * -1); padding: 2px var(--g-gutter); }
:where(.mc-glass) .gt-mods-chips::-webkit-scrollbar, :where(.mc-glass) .sv-chips::-webkit-scrollbar { display: none; }
:where(.mc-glass) .gt-chip, :where(.mc-glass) .sv-chip { flex: none; height: 36px; padding: 0 14px; border: 0; cursor: pointer; background: var(--g-bg-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); font-weight: 500; }
:where(.mc-glass) .gt-chip[aria-current="true"], :where(.mc-glass) .sv-chip[aria-current="true"] { background: var(--g-fill-3); color: var(--g-tint); font-weight: 600; }
:where(.mc-glass) .sv-chip .g-footnote { color: var(--g-label-2); }
:where(.mc-glass) .sv-chip[aria-current="true"] .g-footnote { color: var(--g-tint); }
:where(.mc-glass) :is(.gt-mod, .sv-side .g-cell)[aria-current="true"] { background: var(--g-fill-3); }
:where(.mc-glass) :is(.gt-mod, .sv-side .g-cell)[aria-current="true"] .g-cell-title { color: var(--g-tint); font-weight: 600; }
:where(.mc-glass) .sv-new .g-cell-title { color: var(--g-tint); }

/* ── Recall: deck ────────────────────────────────────────────────── */
:where(.mc-glass) .rc-free { margin-bottom: 16px; }
:where(.mc-glass) .rc-modebar { margin: 2px 0 16px; }
:where(.mc-glass) .rc-modebar .g-seg { width: 100%; }
@media (min-width: 720px) { :where(.mc-glass) .rc-modebar .g-seg { width: 420px; } }
:where(.mc-glass) .rc-decks { margin-top: 28px; }
:where(.mc-glass) .rc-browse { display: grid; gap: 12px; }
:where(.mc-glass) .rc-select { width: auto; min-height: 34px; padding: 4px 10px; max-width: 58%; }
:where(.mc-glass) .rc-nomatch { display: grid; justify-items: center; }

/* ── Recall: focus review ────────────────────────────────────────── */
:where(.mc-glass) .rc-focus { min-height: 100dvh; background: var(--g-bg); }
:where(.mc-glass) .rc-cap { cursor: default; }
:where(.mc-glass) .rc-cap-ic { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--g-orange); color: #fff; }
:where(.mc-glass) .rc-main { max-width: 760px; margin: 0 auto; padding: 10px 16px 190px; }
:where(.mc-glass) .rc-stage { position: relative; }
:where(.mc-glass) .rc-card { position: relative; display: flex; flex-direction: column; gap: 18px; min-height: min(440px, 56dvh); padding: 20px 22px 22px; border-radius: var(--g-r-window); background: var(--g-bg-2); cursor: pointer; touch-action: none; -webkit-user-select: none; user-select: none; outline-offset: 3px; transition: translate var(--g-d-move) var(--g-spring), rotate var(--g-d-move) var(--g-spring); }
:where(.mc-glass) .rc-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
:where(.mc-glass) .rc-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 5px; }
:where(.mc-glass) .rc-star { --h: 36px; flex: none; margin: -2px -6px 0 0; }
:where(.mc-glass) .rc-star .g-ic { width: 20px; height: 20px; }
:where(.mc-glass) .rc-front { font: 600 calc(26px * var(--g-scale)) / 1.28 var(--g-font-display); letter-spacing: -.02em; max-width: 30ch; text-wrap: balance; }
:where(.mc-glass) .rc-card[data-revealed="false"] .rc-front { flex: 1; display: grid; align-content: center; }
:where(.mc-glass) .rc-slot { padding: 14px 18px; border-radius: 12px; background: var(--g-fill-3); color: var(--g-label-2); font-size: calc(20px * var(--g-scale)); letter-spacing: .2em; }
:where(.mc-glass) .rc-back { display: grid; gap: 18px; padding-top: 18px; border-top: .5px solid var(--g-sep); }
:where(.mc-glass) .rc-answer { font: 500 calc(21px * var(--g-scale)) / 1.4 var(--g-font); letter-spacing: -.015em; max-width: 34ch; }
:where(.mc-glass) .rc-audio { display: flex; align-items: center; gap: 14px; margin-top: 2px; }
:where(.mc-glass) .rc-audio .g-footnote { margin-left: auto; }
:where(.mc-glass) .rc-hint { text-align: center; margin-top: auto; }
:where(.mc-glass) .rc-card[data-revealed="false"] .rc-hint { margin-top: 0; }
:where(.mc-glass) .rc-timer { position: absolute; top: 0; left: 22px; right: 22px; height: 3px; border-radius: 2px; background: var(--g-fill-2); overflow: hidden; }
:where(.mc-glass) .rc-timer i { display: block; height: 100%; width: var(--p, 100%); background: var(--g-tint); }
:where(.mc-glass) .rc-swipe { position: absolute; z-index: 3; opacity: 0; padding: 8px 16px; border-radius: var(--g-r-capsule); background: var(--g-bg-elevated); color: var(--g-label); box-shadow: var(--g-glass-shadow); font: 600 calc(var(--g-t-subhead) * var(--g-scale)) / 1 var(--g-font); pointer-events: none; transition: opacity var(--g-d-fast) linear; }
:where(.mc-glass) .rc-swipe[data-dir="left"] { left: 14px; top: 50%; translate: 0 -50%; }
:where(.mc-glass) .rc-swipe[data-dir="right"] { right: 14px; top: 50%; translate: 0 -50%; }
:where(.mc-glass) .rc-swipe[data-dir="up"] { top: 14px; left: 50%; translate: -50% 0; }
:where(.mc-glass) .rc-swipe[data-dir="down"] { bottom: 14px; left: 50%; translate: -50% 0; }
:where(.mc-glass) .rc-stage[data-swipe="left"] .rc-swipe[data-dir="left"], :where(.mc-glass) .rc-stage[data-swipe="right"] .rc-swipe[data-dir="right"], :where(.mc-glass) .rc-stage[data-swipe="up"] .rc-swipe[data-dir="up"], :where(.mc-glass) .rc-stage[data-swipe="down"] .rc-swipe[data-dir="down"] { opacity: 1; }
:where(.mc-glass) .rc-dock .rc-grades { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; flex: 1; }
@media (min-width: 1100px) { :where(.mc-glass) .rc-dock .rc-grades { width: 460px; } }
:where(.mc-glass) .rc-grade { --h: 56px; flex-direction: column; gap: 3px; padding: 0 6px; color: var(--g-label); background: transparent; }
:where(.mc-glass) .rc-grade span { font-size: calc(var(--g-t-body) * var(--g-scale)); font-weight: 600; line-height: 1; }
:where(.mc-glass) .rc-grade small { font: 400 13px / 1 var(--g-font); color: var(--g-label-2); letter-spacing: 0; }
:where(.mc-glass) .rc-done { max-width: 480px; margin: 0 auto; padding: 48px 20px 120px; display: grid; justify-items: center; text-align: center; gap: 10px; }
:where(.mc-glass) .rc-done-ic { width: 64px; height: 64px; stroke-width: 1.4; color: var(--g-green); margin-bottom: 6px; }
:where(.mc-glass) .rc-done-list { width: 100%; margin-top: 20px; text-align: left; }
:where(.mc-glass) .rc-done-actions { justify-content: center; margin-top: 22px; }

/* ── Gotchas ─────────────────────────────────────────────────────── */
:where(.mc-glass) .gt-free { margin-bottom: 16px; }
:where(.mc-glass) .gt-modebar { display: grid; gap: 10px; margin: 2px 0 18px; }
:where(.mc-glass) .gt-modebar .g-seg { width: 100%; }
@media (min-width: 720px) { :where(.mc-glass) .gt-modebar { display: flex; align-items: center; gap: 18px; } :where(.mc-glass) .gt-modebar .g-seg { width: 420px; } }
:where(.mc-glass) .gt-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
:where(.mc-glass) .gt-mods { display: none; }
:where(.mc-glass) .gt-read { background: var(--g-bg-2); border-radius: var(--g-r-card); padding: 22px; display: grid; gap: 12px; align-content: start; min-width: 0; max-width: 760px; }
:where(.mc-glass) .gt-read-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
:where(.mc-glass) .gt-pager { display: inline-flex; gap: 6px; }
:where(.mc-glass) .gt-title { margin-top: 2px; }
:where(.mc-glass) .gt-h { display: flex; align-items: center; gap: 6px; font: 600 calc(var(--g-t-footnote) * var(--g-scale)) / 1.2 var(--g-font); color: var(--g-label-2); text-transform: uppercase; letter-spacing: .01em; margin: 8px 0 8px; }
:where(.mc-glass) .gt-h .g-ic { color: var(--g-orange); }
:where(.mc-glass) .gt-prose { font-size: calc(var(--g-t-body) * var(--g-scale)); line-height: 1.55; max-width: 68ch; }
:where(.mc-glass) .gt-prose p + p { margin-top: 8px; }
:where(.mc-glass) .gt-prose ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
:where(.mc-glass) .gt-prose ul ul { margin-top: 6px; gap: 5px; padding-left: 18px; font-size: calc(var(--g-t-callout) * var(--g-scale)); }
:where(.mc-glass) .gt-prose strong { font-weight: 600; }
:where(.mc-glass) .gt-callout { background: var(--g-bg-3); border-radius: 14px; padding: 6px 18px 18px; margin-top: 6px; }
:where(.mc-glass) .gt-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
:where(.mc-glass) .gt-cover { display: grid; justify-items: start; gap: 8px; padding: 22px; border-radius: 14px; background: var(--g-bg-3); margin-top: 4px; }
:where(.mc-glass) .gt-cover .g-btn { margin-top: 10px; }
:where(.mc-glass) .gt-set-item { padding: 16px 0; border-top: .5px solid var(--g-sep); display: grid; gap: 8px; }
:where(.mc-glass) .gt-set-item:first-child { border-top: 0; padding-top: 4px; }
:where(.mc-glass) .gt-row { padding: 0; gap: 0; align-items: stretch; }
:where(.mc-glass) .gt-row[aria-current="true"] { background: var(--g-fill-3); }
:where(.mc-glass) .gt-row[aria-current="true"] .g-cell-title { color: var(--g-tint); font-weight: 600; }
:where(.mc-glass) .gt-row .gt-check { align-self: center; margin-left: 16px; }
:where(.mc-glass) .gt-row-main { flex: 1; min-width: 0; display: grid; gap: 1px; align-content: center; padding: 11px 16px; border: 0; background: transparent; text-align: left; font: inherit; color: inherit; cursor: pointer; }
:where(.mc-glass) .gt-row-main:hover { background: var(--g-fill-4); }
:where(.mc-glass) .gt-row-main:focus-visible { outline-offset: -3px; }
:where(.mc-glass) .gt-row-main .g-cell-sub { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 1240px) {
  :where(.mc-glass) .gt-layout { grid-template-columns: 320px minmax(0, 1fr); grid-template-areas: "mods read" "cards read"; grid-template-rows: auto 1fr; gap: 24px 28px; align-items: start; }
  :where(.mc-glass) .gt-mods { display: grid; grid-area: mods; }
  :where(.mc-glass) .gt-mods-chips { display: none; }
  :where(.mc-glass) .gt-read { grid-area: read; max-width: none; padding: 28px 30px; }
  :where(.mc-glass) .gt-cards { grid-area: cards; margin-top: 0; }
  :where(.mc-glass) .gt-layout .g-section + .g-section { margin-top: 0; }
}

/* ── Saved ───────────────────────────────────────────────────────── */
:where(.mc-glass) .sv-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
:where(.mc-glass) .sv-side { display: none; }
:where(.mc-glass) .sv-main { min-width: 0; }
:where(.mc-glass) .sv-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 4px 4px 0 2px; }
:where(.mc-glass) .sv-notes { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-top: 16px; padding: 16px; }
@media (max-width: 680px) { :where(.mc-glass) .sv-notes { grid-template-columns: auto minmax(0, 1fr); align-items: start; } :where(.mc-glass) .sv-notes .g-btn { grid-column: 1 / -1; } }
:where(.mc-glass) .sv-search { margin: 16px 0 12px; }
:where(.mc-glass) .sv-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "thumb body more" "answer answer answer" "actions actions actions"; column-gap: 14px; row-gap: 12px; align-items: start; padding: 14px 10px 14px 16px; }
:where(.mc-glass) .sv-thumb { grid-area: thumb; width: 64px; height: 64px; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: var(--g-stage); cursor: zoom-in; }
:where(.mc-glass) .sv-thumb img { width: 100%; height: 100%; object-fit: cover; }
:where(.mc-glass) .sv-body { grid-area: body; min-width: 0; display: grid; gap: 2px; align-content: start; padding-top: 2px; }
:where(.mc-glass) .sv-more { grid-area: more; }
:where(.mc-glass) .sv-answer { grid-area: answer; display: grid; gap: 4px; padding: 12px 14px; border-radius: 12px; background: var(--g-bg-3); margin-right: 6px; }
:where(.mc-glass) .sv-actions { grid-area: actions; display: flex; gap: 8px; margin-right: 6px; }
:where(.mc-glass) .sv-actions .g-btn { flex: 1; }
@media (min-width: 680px) {
  :where(.mc-glass) .sv-row { grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "thumb body more" "thumb answer more" "thumb actions more"; row-gap: 10px; }
  :where(.mc-glass) .sv-thumb { width: 76px; height: 76px; }
  :where(.mc-glass) .sv-actions { margin-right: 0; }
  :where(.mc-glass) .sv-actions .g-btn { flex: none; }
  :where(.mc-glass) .sv-answer { margin-right: 0; }
}
:where(.mc-glass) .sv-empty { margin-top: 16px; }
@media (min-width: 1240px) {
  :where(.mc-glass) .sv-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: start; }
  :where(.mc-glass) .sv-side { display: grid; position: sticky; top: 64px; }
  :where(.mc-glass) .sv-chips { display: none; }
}

/* ── Learning points ─────────────────────────────────────────────── */
:where(.mc-glass) .lp-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
:where(.mc-glass) .lp-search { grid-column: 1 / -1; }
:where(.mc-glass) .lp-sys { justify-content: space-between; }
:where(.mc-glass) .lp-filters .g-seg { width: 100%; }
@media (min-width: 640px) { :where(.mc-glass) .lp-filters { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); } }
@media (min-width: 1100px) { :where(.mc-glass) .lp-filters { grid-template-columns: minmax(180px, 1fr) auto 270px 270px; } :where(.mc-glass) .lp-search { grid-column: auto; } }
:where(.mc-glass) .lp-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; padding: 0 16px; margin: 12px 0 6px; }
:where(.mc-glass) .lp-row { align-items: flex-start; gap: 18px; padding: 14px 12px 14px 16px; }
:where(.mc-glass) .lp-body { flex: 1; min-width: 0; display: grid; gap: 10px; }
:where(.mc-glass) .lp-text { font-size: calc(var(--g-t-body) * var(--g-scale)); line-height: 1.45; max-width: 66ch; }
:where(.mc-glass) .lp-chips { display: flex; flex-wrap: wrap; gap: 6px; }
:where(.mc-glass) .lp-id { font-family: var(--g-mono); }
:where(.mc-glass) .lp-return { flex: none; align-self: center; }
@media (max-width: 639px) { :where(.mc-glass) .lp-row { flex-direction: column; align-items: stretch; gap: 12px; padding-right: 16px; } :where(.mc-glass) .lp-return { align-self: flex-start; } }
:where(.mc-glass) .lp-empty { margin-top: 20px; }
:where(.mc-glass) .lp-cap img { background: var(--g-stage); }
:where(.mc-glass) .lp-opt, :where(.mc-glass) .lp-cap { cursor: default; }
:where(.mc-glass) .lp-figcap { justify-content: flex-start; flex-wrap: wrap; column-gap: 0; }
:where(.mc-glass) .lp-figcap #credit::before { content: "·"; margin: 0 8px; }
:where(.mc-glass) .lp-point { margin-top: 0; }
:where(.mc-glass) .lp-point .lp-chips { margin-top: 12px; }

/* ── History ─────────────────────────────────────────────────────── */
:where(.mc-glass) .hs-un { gap: 12px; }
:where(.mc-glass) .hs-un .hs-prog { margin-top: 8px; max-width: 320px; }
:where(.mc-glass) .hs-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 0 0 6px; }
@media (max-width: 559px) { :where(.mc-glass) .hs-filters .g-seg { width: 100%; } }
:where(.mc-glass) .hs-reg-head { display: none; }
:where(.mc-glass) .hs-reg-row { display: grid; grid-template-columns: minmax(0, 1fr) 52px; align-items: center; padding: 0; gap: 0; }
:where(.mc-glass) .hs-reg-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "s s v" "d m m"; align-items: baseline; column-gap: 0; row-gap: 2px; padding: 12px 8px 12px 16px; min-height: 60px; color: inherit; }
:where(.mc-glass) .hs-reg-link:hover { background: var(--g-fill-4); text-decoration: none; }
:where(.mc-glass) .hs-s { grid-area: s; font-size: calc(var(--g-t-body) * var(--g-scale)); }
:where(.mc-glass) .hs-v { grid-area: v; justify-self: end; font-size: calc(var(--g-t-body) * var(--g-scale)); white-space: nowrap; }
:where(.mc-glass) .hs-v b { font-weight: 600; }
:where(.mc-glass) .hs-d, :where(.mc-glass) .hs-m { color: var(--g-label-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .hs-d { grid-area: d; }
:where(.mc-glass) .hs-m { grid-area: m; }
:where(.mc-glass) .hs-m::before { content: "·"; margin: 0 6px; }
:where(.mc-glass) .hs-dl { display: none; }
@media (min-width: 760px) {
  :where(.mc-glass) .hs-reg-head { display: grid; grid-template-columns: 210px 90px minmax(0, 1fr) 150px 52px; padding: 10px 8px 8px 16px; font: 600 calc(var(--g-t-footnote) * var(--g-scale)) / 1.2 var(--g-font); color: var(--g-label-2); }
  :where(.mc-glass) .hs-reg-head span:nth-child(4) { text-align: right; }
  :where(.mc-glass) .hs-reg-link { grid-template-columns: 210px 90px minmax(0, 1fr) 150px; grid-template-areas: "d m s v"; align-items: center; }
  :where(.mc-glass) .hs-m::before { content: none; }
  :where(.mc-glass) .hs-dl { display: inline; }
  :where(.mc-glass) .hs-ds { display: none; }
  :where(.mc-glass) .hs-d, :where(.mc-glass) .hs-m { font-size: calc(var(--g-t-body) * var(--g-scale)); }
  :where(.mc-glass) .hs-d { color: var(--g-label); }
  :where(.mc-glass) .hs-v .g-2 { margin-left: 6px; }
}
:where(.mc-glass) .hs-answers { display: grid; gap: 16px; }
@media (min-width: 1240px) { :where(.mc-glass) .hs-answers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; } }
:where(.mc-glass) .hs-ans { gap: 12px; }
:where(.mc-glass) .hs-ans .g-cell-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:where(.mc-glass) .hs-empty { margin-top: 8px; }

/* ── Recall (production): shell, hub and live-data renderers ─────── */
:where(.mc-glass) .rc-app { min-height: 100dvh; background: var(--g-bg); }
:where(.mc-glass) .rc-wrap { max-width: 960px; margin: 0 auto; padding: 4px var(--g-gutter, 20px) 96px; }
:where(.mc-glass) .rc-hub .g-largehead { padding-top: 4px; }
:where(.mc-glass) .rc-hub .q-top, :where(.mc-glass) .rc-focus .q-top { max-width: 1100px; margin: 0 auto; }
:where(.mc-glass) .rc-hero .rv-next .rc-note-link { justify-self: start; margin-top: 6px; }
:where(.mc-glass) .rc-hero .rv-next { align-content: start; }
:where(.mc-glass) .rc-count small { font-size: 17px; font-weight: 500; color: var(--g-label-2); margin-left: 6px; }
:where(.mc-glass) .rc-deck.is-off .g-cell-title, :where(.mc-glass) .rc-deck.is-off .g-tile-ic { opacity: .55; }
:where(.mc-glass) .rc-chiprow { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--g-gutter, 20px) * -1); padding: 2px var(--g-gutter, 20px); }
:where(.mc-glass) .rc-chiprow::-webkit-scrollbar { display: none; }
:where(.mc-glass) .bf-chip { flex: none; height: 34px; padding: 0 14px; border: 0; border-radius: var(--g-r-capsule); cursor: pointer; background: var(--g-bg-2); color: var(--g-label); font: 500 calc(var(--g-t-subhead) * var(--g-scale)) / 1 var(--g-font); }
:where(.mc-glass) .bf-chip.is-on { background: var(--g-tint-soft); color: var(--g-tint); font-weight: 600; }
:where(.mc-glass) .rc-browse-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
:where(.mc-glass) .rc-browse-bar .rc-select { max-width: 240px; }
:where(.mc-glass) .rc-browse-bar .g-footnote { flex: 1; }
:where(.mc-glass) .rc-browse-list { overflow: visible; }
:where(.mc-glass) .br-row { padding: 4px 8px 4px 4px; }
:where(.mc-glass) .br-row + .br-row { box-shadow: inset 0 .5px 0 var(--g-sep); }
:where(.mc-glass) .br-head { display: flex; align-items: center; gap: 6px; min-height: 52px; }
:where(.mc-glass) .br-star { flex: none; --h: 36px; color: var(--g-label-3); }
:where(.mc-glass) .br-star[aria-pressed="true"] { color: var(--g-orange); background: transparent; }
:where(.mc-glass) .br-star[aria-pressed="true"] .g-ic, :where(.mc-glass) .rc-acts [data-act="star"][aria-pressed="true"] .g-ic { fill: currentColor; }
:where(.mc-glass) .br-q { flex: 1; min-width: 0; border: 0; background: transparent; text-align: left; font: inherit; font-size: calc(var(--g-t-body) * var(--g-scale)); color: var(--g-label); padding: 8px 4px; cursor: pointer; border-radius: 8px; overflow-wrap: anywhere; }
:where(.mc-glass) .br-q:hover { background: var(--g-fill-4); }
:where(.mc-glass) .br-state { flex: none; font: 600 12px / 1 var(--g-font); padding: 5px 9px; border-radius: var(--g-r-capsule); background: var(--g-fill-3); color: var(--g-label-2); text-transform: capitalize; }
:where(.mc-glass) .br-state.br-mature { background: var(--g-correct-soft); color: var(--g-correct); }
:where(.mc-glass) .br-state.br-leech { background: var(--g-wrong-soft); color: var(--g-wrong); }
:where(.mc-glass) .br-state.br-new { background: var(--g-tint-soft); color: var(--g-tint); }
:where(.mc-glass) .br-due { flex: none; min-width: 52px; text-align: right; }
:where(.mc-glass) .br-body { padding: 0 8px 14px 46px; display: grid; gap: 10px; }
:where(.mc-glass) .br-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
:where(.mc-glass) .br-empty { padding: 36px 16px; }
@media (max-width: 559px) { :where(.mc-glass) .br-due { display: none; } :where(.mc-glass) .br-body { padding-left: 8px; } }

/* sheets */
:where(.mc-glass) .rc-sheet-note { margin: 0 0 12px; }
:where(.mc-glass) .rc-deck-tools { display: flex; gap: 8px; margin-bottom: 14px; }
:where(.mc-glass) .fc-deck-row { display: flex; align-items: stretch; }
:where(.mc-glass) .fc-deck-row > label.g-cell { flex: 1; min-width: 0; }
:where(.mc-glass) .fc-deck-row .d-cram { align-self: center; margin-right: 12px; }
:where(.mc-glass) .d-bar { display: flex; height: 4px; border-radius: 2px; background: var(--g-fill-2); overflow: hidden; margin-top: 6px; }
:where(.mc-glass) .d-bar .db-m { background: var(--g-green); }
:where(.mc-glass) .d-bar .db-l { background: var(--g-orange); }
:where(.mc-glass) .d-leech { margin-left: 6px; font-size: 12px; color: var(--g-wrong); font-weight: 600; }
:where(.mc-glass) .fc-removed { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 4px 0; }
:where(.mc-glass) .rc-radio { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin: 0; border-radius: 50%; flex: none; cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--g-fill); background: transparent; position: relative; }
:where(.mc-glass) .rc-radio:checked { box-shadow: inset 0 0 0 1.5px var(--g-tint); }
:where(.mc-glass) .rc-radio:checked::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--g-tint); }
:where(.mc-glass) .rc-radio:focus-visible { outline: 3px solid color-mix(in srgb, var(--g-tint) 55%, transparent); outline-offset: 2px; }
:where(.mc-glass) .rc-radios .g-cell { cursor: pointer; }
:where(.mc-glass) .rc-slider .g-cell-main { gap: 4px; }
:where(.mc-glass) .rc-slider .g-cell-title .g-cell-value { margin-left: 6px; }
:where(.mc-glass) .rc-fs, :where(.mc-glass) .g-seg[aria-label="Card text size"] button[aria-pressed="true"] { font-weight: 600; background: var(--g-bg-elevated); border-radius: 7px; box-shadow: 0 1px 4px rgb(0 0 0 / .12); }
:where(.mc-glass) .rc-backup { display: grid; gap: 10px; }
:where(.mc-glass) .rc-import { min-height: 96px; resize: vertical; }
:where(.mc-glass) .rc-kbds { display: inline-flex; gap: 4px; }
:where(.mc-glass) .g-cell.g-btn-destructive { background: var(--g-bg-2); height: auto; border-radius: 0; text-align: left; justify-content: flex-start; }
:where(.mc-glass) .g-cell.g-btn-destructive .g-cell-title { color: var(--g-red); }
:where(.mc-glass) .g-cell.g-btn-destructive .g-cell-sub { color: var(--g-label-2); }
:where(.mc-glass) .cmd-item { cursor: pointer; }
:where(.mc-glass) .cmd-empty { padding: 18px 12px; }

/* stats and coverage */
:where(.mc-glass) .rc-stats h3, :where(.mc-glass) .rc-exam h4, :where(.mc-glass) .rc-exam h3 { font: 600 calc(var(--g-t-headline) * var(--g-scale)) / 1.3 var(--g-font); margin: 22px 0 8px; }
:where(.mc-glass) .rc-stats h3:first-child { margin-top: 4px; }
:where(.mc-glass) .st-description, :where(.mc-glass) .st-activity-summary, :where(.mc-glass) .rc-exam p { color: var(--g-label-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); line-height: 1.4; margin: 0 0 10px; }
:where(.mc-glass) .st-maturity { display: flex; flex-wrap: wrap; gap: 8px; }
:where(.mc-glass) .st-chip { padding: 8px 12px; border-radius: 12px; background: var(--g-bg-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .st-chip b { font-weight: 700; margin-right: 4px; font-variant-numeric: tabular-nums; }
:where(.mc-glass) .st-chip.mature b { color: var(--g-correct); }
:where(.mc-glass) .st-chip.new b { color: var(--g-tint); }
:where(.mc-glass) .st-forecast { display: flex; gap: 8px; align-items: flex-end; height: 112px; padding: 12px 14px 8px; border-radius: 14px; background: var(--g-bg-2); }
:where(.mc-glass) .st-fcol { flex: 1; display: grid; justify-items: center; align-content: end; gap: 4px; font-size: 12px; color: var(--g-label-2); }
:where(.mc-glass) .st-fbar { width: 100%; max-width: 28px; min-height: 2px; border-radius: 4px 4px 2px 2px; background: var(--g-tint); }
:where(.mc-glass) .st-fn { font-variant-numeric: tabular-nums; color: var(--g-label); font-weight: 600; }
:where(.mc-glass) .st-cal { display: grid; grid-template-columns: repeat(15, 1fr); gap: 4px; padding: 14px; border-radius: 14px; background: var(--g-bg-2); }
:where(.mc-glass) .st-cal .cal-day { aspect-ratio: 1; border-radius: 4px; background: var(--g-green); }
:where(.mc-glass) .st-daily { margin: 10px 0; }
:where(.mc-glass) .st-daily summary { cursor: pointer; font-size: calc(var(--g-t-subhead) * var(--g-scale)); color: var(--g-tint); padding: 6px 0; }
:where(.mc-glass) .st-table { width: 100%; border-collapse: collapse; background: var(--g-bg-2); border-radius: 14px; overflow: hidden; font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .st-table th, :where(.mc-glass) .st-table td { padding: 10px 12px; text-align: left; border-bottom: .5px solid var(--g-sep); font-weight: 400; }
:where(.mc-glass) .st-table thead th { color: var(--g-label-2); font-weight: 600; font-size: 13px; }
:where(.mc-glass) .st-table th button { all: unset; cursor: pointer; font-weight: 600; }
:where(.mc-glass) .st-table th button:focus-visible { outline: 3px solid color-mix(in srgb, var(--g-tint) 55%, transparent); }
:where(.mc-glass) .st-table tr:last-child > * { border-bottom: 0; }
:where(.mc-glass) .st-table caption { text-align: left; padding: 8px 12px; color: var(--g-label-2); }
:where(.mc-glass) .st-list, :where(.mc-glass) .st-log { list-style: none; margin: 0; padding: 0; background: var(--g-bg-2); border-radius: 14px; overflow: hidden; }
:where(.mc-glass) .st-list li, :where(.mc-glass) .st-log li { display: flex; gap: 10px; justify-content: space-between; align-items: baseline; padding: 10px 14px; border-bottom: .5px solid var(--g-sep); font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .st-list li:last-child, :where(.mc-glass) .st-log li:last-child { border-bottom: 0; }
:where(.mc-glass) .st-log .lg-g { font-weight: 600; min-width: 48px; }
:where(.mc-glass) .st-log .lg-g.g0 { color: var(--g-wrong); }
:where(.mc-glass) .st-log .lg-g.g3 { color: var(--g-correct); }
:where(.mc-glass) .st-log .lg-ivl { margin-left: auto; color: var(--g-label-2); }
:where(.mc-glass) .ex-ring { --p: 0; position: relative; width: 112px; height: 112px; border-radius: 50%; flex: none; display: grid; place-items: center; background: conic-gradient(var(--g-tint) calc(var(--p) * 1%), var(--g-fill-2) 0); }
:where(.mc-glass) .ex-ring::after { content: ""; position: absolute; inset: 11px; border-radius: 50%; background: var(--g-bg); }
:where(.mc-glass) .rc-exam .ex-ring::after { background: var(--g-bg); }
:where(.mc-glass) .ex-ring i { position: relative; z-index: 1; text-align: center; font-style: normal; display: grid; }
:where(.mc-glass) .ex-ring i b { font: 700 26px / 1 var(--g-font-display); font-variant-numeric: tabular-nums; }
:where(.mc-glass) .ex-ring i span { font-size: 11px; color: var(--g-label-2); }
:where(.mc-glass) .ex-hero { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
:where(.mc-glass) .ex-hero-meta h3 { margin: 0 0 6px; font: 700 22px / 1.2 var(--g-font-display); }
:where(.mc-glass) .ex-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 18px 0; }
:where(.mc-glass) .ex-stat { background: var(--g-bg-2); border-radius: 12px; padding: 12px 8px; text-align: center; display: grid; gap: 2px; }
:where(.mc-glass) .ex-stat b { font: 700 22px / 1 var(--g-font-display); font-variant-numeric: tabular-nums; }
:where(.mc-glass) .ex-stat span { font-size: 12px; color: var(--g-label-2); }
:where(.mc-glass) .ex-plan { background: var(--g-bg-2); border-radius: 14px; padding: 14px 16px; display: grid; gap: 8px; justify-items: start; }
:where(.mc-glass) .ex-plan h4 { margin: 0; }
:where(.mc-glass) .ex-modules { display: grid; gap: 12px; background: var(--g-bg-2); border-radius: 14px; padding: 14px 16px; }
:where(.mc-glass) .ex-mod { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
:where(.mc-glass) .ex-mod-pct { color: var(--g-label-2); font-variant-numeric: tabular-nums; font-size: 13px; }
:where(.mc-glass) .ex-mod-bar { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: var(--g-fill-2); overflow: hidden; }
:where(.mc-glass) .ex-mod-bar i { display: block; height: 100%; background: var(--g-green); }

/* session */
:where(.mc-glass) .rc-cap .mode { max-width: 22ch; overflow: hidden; text-overflow: ellipsis; text-transform: none; font-size: 12px; letter-spacing: 0; }
:where(.mc-glass) .rc-main { max-width: 760px; margin: 0 auto; padding: 10px 16px 24px; outline: none; }
:where(.mc-glass) .rc-main .rc-card { min-height: min(440px, 56dvh); height: auto; transition: transform .18s ease, opacity .18s ease; }
:where(.mc-glass) .rc-focus .rc-main { padding-bottom: 8px; }
:where(.mc-glass) .rc-loading { text-align: center; padding: 80px 0; }
:where(.mc-glass) .rc-acts { display: flex; gap: 2px; align-items: center; flex: none; }
:where(.mc-glass) .rc-acts .g-btn { --h: 36px; }
:where(.mc-glass) .rc-acts [data-act="star"][aria-pressed="true"] { color: var(--g-orange); background: transparent; }
:where(.mc-glass) .rc-leech { background: var(--g-wrong-soft); color: var(--g-wrong); }
:where(.mc-glass) .rc-front { overflow-wrap: anywhere; }
:where(.mc-glass) .fc-edited-tag { margin-left: 10px; vertical-align: middle; font-size: 12px; }
:where(.mc-glass) .rc-card[data-revealed="true"] .rc-front { font-size: calc(19px * var(--g-scale) * var(--fs-scale, 1)); color: var(--g-label-2); font-weight: 500; }
:where(.mc-glass) .rc-card .rc-front { font-size: calc(26px * var(--g-scale) * var(--fs-scale, 1)); }
:where(.mc-glass) .rc-card[data-revealed="true"] .fc-q-echo { display: none; }
:where(.mc-glass) .fc-timer { position: absolute; top: 0; left: 22px; right: 22px; }
:where(.mc-glass) .rc-stage[data-swipe="left"] .rc-swipe[data-dir="left"], :where(.mc-glass) .rc-stage[data-swipe="right"] .rc-swipe[data-dir="right"] { opacity: 1; }
:where(.mc-glass) .rc-dock { max-width: calc(100vw - 24px); }
:where(.mc-glass) .rc-dock .fc-flip-btn { min-width: 210px; }
:where(.mc-glass) .rc-blitz { display: flex; gap: 6px; }
:where(.mc-glass) .rc-blitz .g-btn { min-width: 150px; }
:where(.mc-glass) .rc-dock .rc-grades { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; flex: 1; width: 100%; }
@media (max-width: 1099px) { :where(.mc-glass) .rc-blitz { flex: 1; } :where(.mc-glass) .rc-blitz .g-btn { flex: 1; min-width: 0; } }
:where(.mc-glass) .rc-grade { padding: 0 6px; }
:where(.mc-glass) .rc-grade .g-lbl { font-size: calc(var(--g-t-body) * var(--g-scale)); font-weight: 600; line-height: 1; }
:where(.mc-glass) .rc-grade .g-ivl { font: 400 13px / 1 var(--g-font); color: var(--g-label-2); }
:where(.mc-glass) .rc-foot { max-width: 760px; margin: 0 auto; padding: 8px 16px 120px; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; justify-content: center; color: var(--g-label-2); font-size: calc(var(--g-t-footnote) * var(--g-scale)); }
:where(.mc-glass) .rc-counts { display: inline-flex; gap: 14px; font-variant-numeric: tabular-nums; }
:where(.mc-glass) .rc-counts b { color: var(--g-label); font-weight: 600; margin-right: 3px; }
@media (max-width: 759px) { :where(.mc-glass) .rc-keys { display: none; } }
:where(.mc-glass) .rc-back .fc-a { font-size: calc(18px * var(--g-scale) * var(--fs-scale, 1)); line-height: 1.5; outline: none; display: grid; gap: 10px; max-width: 62ch; }
:where(.mc-glass) .rc-back .fc-a strong { font-weight: 600; }
:where(.mc-glass) .fc-row { margin: 0; }
:where(.mc-glass) .fc-num { font-variant-numeric: tabular-nums; font-weight: 600; }
:where(.mc-glass) .fc-danger { font-weight: 700; color: var(--g-wrong); }
:where(.mc-glass) .fc-tag { display: inline-block; font: 600 11px / 1 var(--g-font); text-transform: uppercase; letter-spacing: .04em; padding: 4px 7px; border-radius: 6px; margin-right: 6px; background: var(--g-fill-3); color: var(--g-label-2); vertical-align: 2px; }
:where(.mc-glass) .fc-tag.tag-act { background: var(--g-tint-soft); color: var(--g-tint); }
:where(.mc-glass) .fc-tag.tag-dx { background: color-mix(in srgb, var(--g-blue) 12%, transparent); color: var(--g-blue); }
:where(.mc-glass) .fc-cloze { border: 0; background: var(--g-label); color: var(--g-label); border-radius: 6px; padding: 0 10px; cursor: pointer; font: inherit; font-weight: 600; }
:where(.mc-glass) .fc-cloze.open { background: var(--g-tint-soft); color: var(--g-label); }
:where(.mc-glass) .fc-table { width: 100%; border-collapse: collapse; font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .fc-table th, :where(.mc-glass) .fc-table td { border-bottom: .5px solid var(--g-sep); padding: 8px 10px; text-align: left; vertical-align: top; }
:where(.mc-glass) .fc-table th { color: var(--g-label-2); font-weight: 600; font-size: 13px; }
:where(.mc-glass) .fc-callout, :where(.mc-glass) .fc-hookbox, :where(.mc-glass) .fc-mcq-trap, :where(.mc-glass) .fc-nudge { border-radius: 14px; padding: 12px 16px; font-size: calc(var(--g-t-callout) * var(--g-scale)); line-height: 1.45; background: var(--g-bg-3); }
:where(.mc-glass) .fc-callout.fc-trap { background: color-mix(in srgb, var(--g-orange) 12%, var(--g-bg-2)); }
:where(.mc-glass) .fc-callout.fc-redflag { background: var(--g-wrong-soft); }
:where(.mc-glass) .fc-co-head, :where(.mc-glass) .fc-hook-lbl { font: 600 12px / 1 var(--g-font); text-transform: uppercase; letter-spacing: .04em; color: var(--g-label-2); display: block; margin-bottom: 6px; }
:where(.mc-glass) .fc-co-line + .fc-co-line { margin-top: 4px; }
:where(.mc-glass) .rc-more { background: var(--g-bg-3); border-radius: 14px; }
:where(.mc-glass) .fc-more-toggle { cursor: pointer; padding: 12px 16px; font-weight: 600; font-size: calc(var(--g-t-subhead) * var(--g-scale)); list-style: none; display: flex; align-items: center; gap: 8px; }
:where(.mc-glass) .fc-more-toggle::-webkit-details-marker { display: none; }
:where(.mc-glass) .fc-more-toggle::before { content: ""; width: 8px; height: 8px; border: solid var(--g-label-2); border-width: 0 2px 2px 0; rotate: -45deg; transition: rotate var(--g-d-fast) linear; }
:where(.mc-glass) .fc-more[open] .fc-more-toggle::before { rotate: 45deg; }
:where(.mc-glass) .fc-more-body { padding: 0 16px 16px; }
:where(.mc-glass) .fc-more-body h4 { font: 600 12px / 1 var(--g-font); text-transform: uppercase; letter-spacing: .04em; color: var(--g-label-2); margin: 16px 0 6px; }
:where(.mc-glass) .fc-more-body p, :where(.mc-glass) .fc-more-body li { font-size: calc(var(--g-t-callout) * var(--g-scale)); line-height: 1.5; margin: 0 0 6px; }
:where(.mc-glass) .fc-more-body ul { margin: 4px 0; padding-left: 20px; }
:where(.mc-glass) .fc-nudge a { color: var(--g-tint); font-weight: 600; }
:where(.mc-glass) .fc-img { margin: 0; display: grid; gap: 6px; }
:where(.mc-glass) .fc-img img { max-width: 100%; border-radius: 12px; background: var(--g-stage); display: block; }
:where(.mc-glass) .fc-img figcaption, :where(.mc-glass) .fc-src { font-size: 12px; color: var(--g-label-2); }
:where(.mc-glass) .learner-inspect { justify-self: start; border: 0; background: var(--g-fill-3); color: var(--g-label); border-radius: var(--g-r-capsule); padding: 6px 12px; font: 500 13px / 1 var(--g-font); cursor: pointer; }
:where(.mc-glass) .fc-source-action { margin-top: 4px; }
:where(.mc-glass) .fc-source-link { color: var(--g-tint); font-weight: 600; text-decoration: none; }
:where(.mc-glass) .fc-source-link::after { content: " ↗"; }
:where(.mc-glass) .fc-bury { justify-self: start; color: var(--g-label-2); }
:where(.mc-glass) .rc-edit { display: grid; gap: 8px; }
:where(.mc-glass) .rc-edit textarea { min-height: 96px; resize: vertical; }
:where(.mc-glass) .rc-audio { margin-top: 2px; }
:where(.mc-glass) .rc-done .ex-ring { margin: 6px 0; }
:where(.mc-glass) .rc-done .ex-ring::after { background: var(--g-bg); }
:where(.mc-glass) .rc-done .fc-summary { margin-top: 10px; }
:where(.mc-glass) .rc-done .sm-badge { font-weight: 600; color: var(--g-label); }
:where(.mc-glass) .learner-image-dialog { width: min(1100px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 16px; border: 0; border-radius: var(--g-r-card); background: var(--g-bg-elevated); color: var(--g-label); overflow: auto; box-shadow: var(--g-pop-shadow); }
:where(.mc-glass) .learner-image-dialog::backdrop { background: rgb(0 0 0 / .5); }
:where(.mc-glass) .learner-image-dialog img { display: block; max-width: 100%; max-height: 75dvh; margin: 12px auto; object-fit: contain; }
:where(.mc-glass) .learner-image-dialog button { all: revert; cursor: pointer; }

:where(.mc-glass) .rc-main .rc-done { padding-bottom: 24px; }
:where(.mc-glass) .fc-mcq-trap p, :where(.mc-glass) .fc-mcq-trap ul { margin: 6px 0 0; }
:where(.mc-glass) .fc-mcq-trap ul { padding-left: 18px; display: grid; gap: 4px; }
:where(.mc-glass) .rc-hub .q-top { max-width: 960px; }
:where(.mc-glass) dialog.g-spotlight .g-spot-in { flex: none; }
:where(.mc-glass) dialog.g-spotlight { flex-direction: column; }
:where(.mc-glass) .rc-modebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
:where(.mc-glass) .rc-modebar .g-seg { width: min(100%, 420px); }

/* ── Recall note capture (bare page, no shell) ───────────────────── */
:where(.mc-glass.capture-page) { background: var(--g-bg); min-height: 100dvh; }
:where(.mc-glass) .capture-skip { position: fixed; z-index: 300; inset: 8px auto auto 8px; padding: 10px 14px; border-radius: var(--g-r-capsule); background: var(--g-tint); color: var(--g-tint-on); font-weight: 600; translate: 0 -200%; text-decoration: none; }
:where(.mc-glass) .capture-skip:focus-visible { translate: 0 0; }
:where(.mc-glass) .capture-mast { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 680px; margin: 0 auto; padding: max(14px, env(safe-area-inset-top)) 20px 6px; }
:where(.mc-glass) .capture-brand { display: inline-flex; align-items: center; min-height: 44px; color: inherit; }
:where(.mc-glass) .capture-brand:focus-visible, :where(.mc-glass) .capture-footnote a:focus-visible, :where(.mc-glass) .capture-action:focus-visible, :where(.mc-glass) .capture-save:focus-visible, :where(.mc-glass) .capture-details summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--g-tint) 55%, transparent); outline-offset: 2px; }
:where(.mc-glass) .capture-product { font-size: calc(var(--g-t-subhead) * var(--g-scale)); color: var(--g-label-2); }
:where(.mc-glass) .capture-main { max-width: 680px; margin: 0 auto; padding: 8px 20px max(48px, env(safe-area-inset-bottom)); display: grid; gap: 18px; }
:where(.mc-glass) .capture-intro h1 { font: 700 calc(var(--g-t-largetitle) * var(--g-scale)) / 1.1 var(--g-font-display); letter-spacing: -.02em; margin: 8px 0 8px; }
:where(.mc-glass) .capture-intro p { color: var(--g-label-2); font-size: calc(var(--g-t-body) * var(--g-scale)); max-width: 52ch; }
:where(.mc-glass) .capture-cue { position: relative; background: var(--g-bg-2); border-radius: var(--g-r-card); padding: 20px; display: grid; gap: 14px; }
:where(.mc-glass) .capture-cue::before { content: ""; position: absolute; left: 20px; right: 20px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--g-orange); }
:where(.mc-glass) .capture-cue.is-saving::before { background: var(--g-fill); }
:where(.mc-glass) .capture-cue.is-saved::before { background: var(--g-green); }
:where(.mc-glass) .capture-cue__header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
:where(.mc-glass) .capture-cue__header h2 { font: 600 calc(var(--g-t-headline) * var(--g-scale)) / 1.25 var(--g-font); margin: 0; }
:where(.mc-glass) .capture-context { min-width: 0; overflow-wrap: anywhere; max-width: 60%; text-align: right; padding: 4px 10px; border-radius: var(--g-r-capsule); background: var(--g-fill-3); font-size: calc(var(--g-t-footnote) * var(--g-scale)); }
:where(.mc-glass) #captureForm { display: grid; gap: 14px; }
:where(.mc-glass) .capture-field { display: grid; gap: 6px; }
:where(.mc-glass) .capture-field label { font: 600 calc(var(--g-t-subhead) * var(--g-scale)) / 1.2 var(--g-font); }
:where(.mc-glass) .capture-field :is(textarea, input[type="text"], input[type="url"]) { width: 100%; min-height: 44px; padding: 11px 14px; border: 0; border-radius: var(--g-r-control); background: var(--g-fill-3); color: var(--g-label); font: inherit; font-size: calc(var(--g-t-body) * var(--g-scale)); resize: vertical; }
:where(.mc-glass) .capture-field :is(textarea, input):focus-visible { outline: 3px solid color-mix(in srgb, var(--g-tint) 45%, transparent); outline-offset: 0; }
:where(.mc-glass) .capture-field :is(textarea, input)[aria-invalid="true"] { box-shadow: inset 0 0 0 1.5px var(--g-red); }
:where(.mc-glass) .capture-field ::placeholder { color: var(--g-label-3); }
:where(.mc-glass) .capture-hint { color: var(--g-label-2); font-size: calc(var(--g-t-footnote) * var(--g-scale)); }
:where(.mc-glass) .capture-divider { display: none; }
:where(.mc-glass) .capture-details { border-radius: var(--g-r-cell); background: var(--g-bg-3); }
:where(.mc-glass) .capture-details summary { min-height: 44px; display: flex; align-items: center; padding: 0 14px; cursor: pointer; font-weight: 600; font-size: calc(var(--g-t-subhead) * var(--g-scale)); list-style: none; border-radius: var(--g-r-cell); }
:where(.mc-glass) .capture-details summary::-webkit-details-marker { display: none; }
:where(.mc-glass) .capture-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 4px 14px 14px; }
:where(.mc-glass) .capture-meta-grid .capture-field :is(input) { background: var(--g-bg-2); }
@media (max-width: 640px) { :where(.mc-glass) .capture-meta-grid { grid-template-columns: 1fr; } :where(.mc-glass) .capture-cue { padding: 16px; } }
:where(.mc-glass) .capture-status { min-height: 1.4em; color: var(--g-label-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .capture-status[data-tone="error"] { color: var(--g-wrong); }
:where(.mc-glass) .capture-status[data-tone="warning"] { color: var(--g-warn); }
:where(.mc-glass) .capture-status[data-tone="success"] { color: var(--g-correct); }
:where(.mc-glass) .capture-save { min-height: 52px; border: 0; border-radius: var(--g-r-capsule); background: var(--g-tint); color: var(--g-tint-on); font: 600 calc(var(--g-t-body) * var(--g-scale)) / 1 var(--g-font); cursor: pointer; padding: 0 28px; width: 100%; }
:where(.mc-glass) .capture-save:hover:not(:disabled) { background: var(--g-tint-hover); }
:where(.mc-glass) .capture-save:disabled { background: var(--g-fill-3); color: var(--g-label-3); cursor: default; }
:where(.mc-glass) .capture-privacy { color: var(--g-label-2); font-size: calc(var(--g-t-footnote) * var(--g-scale)); text-align: center; }
:where(.mc-glass) .capture-saved { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: start; }
:where(.mc-glass) .capture-saved[hidden] { display: none; }
:where(.mc-glass) .capture-saved > * { min-width: 0; }
:where(.mc-glass) .capture-saved__mark { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--g-correct-soft); color: var(--g-correct); font-size: 22px; font-weight: 700; }
:where(.mc-glass) .capture-saved h2 { font: 700 calc(var(--g-t-title2) * var(--g-scale)) / 1.2 var(--g-font-display); margin: 2px 0 6px; outline: none; }
:where(.mc-glass) .capture-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
:where(.mc-glass) .capture-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; padding: 0 20px; border: 0; border-radius: var(--g-r-capsule); background: var(--g-fill-3); color: var(--g-tint); font: 600 calc(var(--g-t-body) * var(--g-scale)) / 1.2 var(--g-font); text-decoration: none; cursor: pointer; }
:where(.mc-glass) .capture-action--primary { background: var(--g-tint); color: var(--g-tint-on); }
:where(.mc-glass) .capture-footnote { text-align: center; color: var(--g-label-2); font-size: calc(var(--g-t-footnote) * var(--g-scale)); }
:where(.mc-glass) .capture-footnote a { display: inline-flex; align-items: center; min-height: 44px; color: var(--g-tint); font-weight: 600; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { :where(.mc-glass) .capture-cue::before, :where(.mc-glass) .capture-save { transition: none; } }
@media (min-width: 600px) { :where(.mc-glass) .rc-dock { left: 50%; right: auto; translate: -50% 0; width: min(520px, calc(100vw - 24px)); } }

/* ── Gotchas ─ page additions ── */

/* top bar title */
:where(.mc-glass) .gt-cap { padding: 4px 16px 4px 6px; cursor: default; }
:where(.mc-glass) .gt-cap-ic { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--g-orange); color: #fff; }
:where(.mc-glass) .gt-cap h1 { font: 600 calc(var(--g-t-subhead) * var(--g-scale))/1 var(--g-font); }
:where(.mc-glass) .gt-main { padding-bottom: 48px; }
:where(.mc-glass) .gt-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* banners */
:where(.mc-glass) .gt-banner-actions { margin-top: 10px; display: flex; gap: 8px; }
:where(.mc-glass) #gx-lock { display: grid; gap: 10px; }
:where(.mc-glass) #gx-lock:not(:empty) { margin-bottom: 16px; }
:where(.mc-glass) #gx-lock .gt-free { margin-bottom: 0; }
:where(.mc-glass) .gt-free .g-ic { color: var(--g-blue); }
:where(.mc-glass) .gt-sync .g-ic { color: var(--g-orange); }
:where(.mc-glass) .gt-free.flash { animation: gt-flash .9s var(--g-ease); }
@keyframes gt-flash { 30% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--g-blue) 40%, transparent); } }

/* mode bar count, search */
:where(.mc-glass) .gt-n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 4px; border-radius: 10px; background: var(--g-tint-soft); color: var(--g-tint); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
:where(.mc-glass) .gt-n[hidden] { display: none; }
:where(.mc-glass) .gt-search { margin: 0 0 16px; max-width: 520px; }
:where(.mc-glass) .gt-search .g-field { min-height: 40px; padding-right: 40px; }
:where(.mc-glass) .gt-search-x { position: absolute; right: 6px; top: 50%; translate: 0 -50%; width: 28px; height: 28px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--g-fill-2); color: var(--g-label-2); cursor: pointer; }
:where(.mc-glass) .gt-search-x[hidden] { display: none; }
:where(.mc-glass) .gt-search-x .g-ic { position: static; width: 14px; height: 14px; color: inherit; }

/* module list: categories */
:where(.mc-glass) .gt-modgroups { display: grid; gap: 14px; max-height: min(46dvh, 440px); overflow: auto; overscroll-behavior: contain; padding-bottom: 2px; }
:where(.mc-glass) .gt-modgroup { display: grid; gap: 4px; }
:where(.mc-glass) .gt-catname { padding: 0 16px; font: 600 calc(var(--g-t-footnote) * var(--g-scale))/1.3 var(--g-font); color: var(--g-label-2); text-transform: uppercase; letter-spacing: .01em; }
:where(.mc-glass) .gt-mod { width: 100%; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; background: transparent; }
:where(.mc-glass) .gt-mod:hover { background: var(--g-fill-4); }
:where(.mc-glass) .gt-mod .g-cell-title { overflow-wrap: anywhere; }
:where(.mc-glass) .gt-chip { gap: 6px; }
:where(.mc-glass) .gt-chip .g-ic { width: 14px; height: 14px; }
:where(.mc-glass) .gt-chip[aria-pressed="true"] { background: var(--g-fill-3); color: var(--g-tint); font-weight: 600; }

/* sub-area filter and card list */
:where(.mc-glass) .gt-subs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--g-gutter) * -1); padding: 2px var(--g-gutter); }
:where(.mc-glass) .gt-subs::-webkit-scrollbar { display: none; }
:where(.mc-glass) .gt-subs[hidden] { display: none; }
:where(.mc-glass) .gt-list:empty { display: none; }
:where(.mc-glass) .gt-list li[hidden] { display: none; }
:where(.mc-glass) .gt-grouphead { background: var(--g-bg-3); }
:where(.mc-glass) .gt-grouphead button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 9px 16px; border: 0; background: transparent; color: var(--g-label-2); font: 600 calc(var(--g-t-footnote) * var(--g-scale))/1.3 var(--g-font); cursor: pointer; text-align: left; }
:where(.mc-glass) .gt-gname { flex: 1; min-width: 0; text-transform: uppercase; letter-spacing: .01em; }
:where(.mc-glass) .gt-gchev { transition: rotate var(--g-d-fast) linear; }
:where(.mc-glass) .gt-grouphead button[aria-expanded="false"] .gt-gchev { rotate: -90deg; }
:where(.mc-glass) .gt-tcflag { color: var(--g-orange); font-weight: 600; }
:where(.mc-glass) .gt-tcflag::before { content: " · "; color: var(--g-label-2); font-weight: 400; }
:where(.mc-glass) .gt-tcflag.solo::before { content: none; }

/* layout states */
:where(.mc-glass) .gt-layout[data-boot="loading"] > :not(.gt-read),
:where(.mc-glass) .gt-layout[data-boot="error"] > :not(.gt-read) { display: none; }
:where(.mc-glass) .gt-layout[data-boot="loading"] > .gt-read,
:where(.mc-glass) .gt-layout[data-boot="error"] > .gt-read { max-width: none; grid-area: auto; }
:where(.mc-glass) .gt-read { scroll-margin-top: 72px; }
:where(.mc-glass) .gt-read .g-empty { padding: 32px 12px; }
:where(.mc-glass) .gt-title { scroll-margin-top: 72px; outline: none; overflow-wrap: anywhere; }
:where(.mc-glass) .gt-sub { margin-top: -4px; }

/* reader fields */
:where(.mc-glass) .gt-tags { display: flex; flex-wrap: wrap; gap: 6px; }
:where(.mc-glass) .gt-tag.tc { background: color-mix(in srgb, var(--g-orange) 14%, var(--g-bg-2)); color: var(--g-warn); }
:where(.mc-glass) .gt-tag.ok { color: var(--g-correct); background: var(--g-correct-soft); }
:where(.mc-glass) .gt-field { display: grid; gap: 0; min-width: 0; }
:where(.mc-glass) .gt-field .gt-h { margin-top: 12px; }
:where(.mc-glass) .gt-field.callout { background: var(--g-bg-3); border-radius: 14px; padding: 4px 18px 16px; margin-top: 8px; }
:where(.mc-glass) .gt-field.callout.warn { background: color-mix(in srgb, var(--g-orange) 10%, var(--g-bg-3)); }
:where(.mc-glass) .gt-field.callout.warn .gt-h .g-ic { color: var(--g-warn); }
:where(.mc-glass) .gt-field.mnemonic .gt-prose { font-family: var(--g-mono); font-size: calc(var(--g-t-callout) * var(--g-scale)); }
:where(.mc-glass) .gt-field.cutoffs ul { list-style: none; padding: 0; display: grid; gap: 6px; }
:where(.mc-glass) .gt-field.cutoffs li { padding: 8px 12px; border-radius: 10px; background: var(--g-bg-3); font-size: calc(var(--g-t-callout) * var(--g-scale)); }
:where(.mc-glass) .gt-ans { margin-top: 8px; color: var(--g-label-2); }
:where(.mc-glass) .gt-ans b { color: var(--g-label); font-weight: 600; }
:where(.mc-glass) .gt-source { margin-top: 8px; padding-top: 12px; border-top: .5px solid var(--g-sep); font-size: calc(var(--g-t-footnote) * var(--g-scale)); color: var(--g-label-2); overflow-wrap: anywhere; }
:where(.mc-glass) .gt-source b { font-weight: 600; text-transform: uppercase; margin-right: 6px; }
:where(.mc-glass) .gt-read .gt-prose { overflow-wrap: anywhere; }

/* images */
:where(.mc-glass) .gt-gallery { display: flex; flex-wrap: wrap; gap: 12px; }
:where(.mc-glass) .gt-img { margin: 0; width: min(100%, 200px); display: grid; gap: 6px; align-content: start; }
:where(.mc-glass) .gt-img img { width: 100%; height: 140px; object-fit: contain; border-radius: 12px; background: var(--g-stage); }
:where(.mc-glass) .gt-img figcaption { font-size: calc(var(--g-t-caption) * var(--g-scale)); color: var(--g-label-2); overflow-wrap: anywhere; }
:where(.mc-glass) .gt-inspect { justify-self: start; }

/* authored visual blocks (server HTML) */
:where(.mc-glass) .gt-gv { overflow-x: auto; margin-top: 8px; font-size: calc(var(--g-t-callout) * var(--g-scale)); }
:where(.mc-glass) .gt-gv .gv-table { width: 100%; border-collapse: collapse; margin: 4px 0; }
:where(.mc-glass) .gt-gv .gv-table th, :where(.mc-glass) .gt-gv .gv-table td { border-bottom: .5px solid var(--g-sep); padding: 8px 10px; text-align: left; vertical-align: top; }
:where(.mc-glass) .gt-gv .gv-table :is(thead th, tr:first-child th) { background: var(--g-bg-3); font-weight: 600; }
:where(.mc-glass) .gt-gv .gv-flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; align-items: stretch; }
:where(.mc-glass) .gt-gv .gv-step { position: relative; padding: 8px 12px; border-radius: 10px; background: var(--g-bg-3); font-weight: 600; line-height: 1.3; }
:where(.mc-glass) .gt-gv .gv-step:not(:last-child)::after { content: "→"; margin-left: 8px; color: var(--g-label-3); font-weight: 400; }
:where(.mc-glass) .gt-gv .gv-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
:where(.mc-glass) .gt-gv .gv-pill { padding: 4px 10px; border-radius: var(--g-r-capsule); background: var(--g-fill-3); font-size: calc(var(--g-t-footnote) * var(--g-scale)); }
:where(.mc-glass) .gt-gv .gv-num, :where(.mc-glass) .gt-prose .gv-num { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }

/* revision set */
:where(.mc-glass) .gt-set-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
:where(.mc-glass) .gt-set-top > div { min-width: 0; }
:where(.mc-glass) .gt-read .gt-actions .g-btn[aria-pressed="true"] { color: var(--g-tint); }
:where(.mc-glass) .gt-actions .g-btn[aria-pressed="true"] { color: var(--g-tint); }
:where(.mc-glass) .gt-cover .g-headline { overflow-wrap: anywhere; }

/* wide: the reader stays in view while the card list scrolls */
@media (min-width: 1024px) {
  :where(.mc-glass) .gt-read { position: sticky; top: 72px; max-height: calc(100dvh - 88px); overflow: auto; overscroll-behavior: contain; }
  :where(.mc-glass) .gt-subs { flex-wrap: wrap; overflow: visible; margin: 0; padding: 2px 16px; }
  :where(.mc-glass) .gt-layout[data-boot="loading"] > .gt-read, :where(.mc-glass) .gt-layout[data-boot="error"] > .gt-read { position: static; max-height: none; }
}

/* footer */
:where(.mc-glass) .gt-foot { margin-top: 40px; display: grid; gap: 6px; font-size: calc(var(--g-t-footnote) * var(--g-scale)); color: var(--g-label-2); max-width: 70ch; }
:where(.mc-glass) .gt-foot a { color: inherit; text-decoration: underline; }

/* ── Saved, Learning points, History ─ page additions ── */

/* ── Saved ───────────────────────────────────────────────────────── */
:where(.mc-glass) .sv-status { padding: 24px 4px; }
:where(.mc-glass) .sv-tools { display: flex; align-items: center; gap: 10px; margin: 16px 0 12px; }
:where(.mc-glass) .sv-tools .sv-search { margin: 0; flex: 1; min-width: 0; }
:where(.mc-glass) .sv-sys { flex: none; max-width: 46%; }
:where(.mc-glass) .sv-sys span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:where(.mc-glass) .sv-notes-text { min-width: 0; display: grid; gap: 2px; }
:where(.mc-glass) .sv-notes-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 681px) { :where(.mc-glass) .sv-notes-actions { grid-column: 1 / -1; } }
:where(.mc-glass) .sv-list { margin-top: 0; }
:where(.mc-glass) .sv-thumb.is-blank { display: grid; place-items: center; background: var(--g-fill-3); color: var(--g-label-2); cursor: default; }
:where(.mc-glass) .sv-thumb.is-blank .g-ic { width: 24px; height: 24px; }
:where(.mc-glass) .sv-body .g-cell-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
:where(.mc-glass) .sv-stem { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
:where(.mc-glass) .sv-answer-line { font-weight: 600; }
:where(.mc-glass) .sv-actions { align-items: center; flex-wrap: wrap; }
:where(.mc-glass) .sv-pick { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; cursor: pointer; min-height: 32px; }
:where(.mc-glass) .sv-pick .gt-check { width: 20px; height: 20px; }
:where(.mc-glass) .sv-pick .gt-check:checked::after { left: 6px; top: 2px; width: 5px; height: 10px; }
:where(.mc-glass) .sv-sheet-note { margin-top: 8px; }
:where(.mc-glass) .sv-sheet-go { margin-top: 20px; }
:where(.mc-glass) .sv-pick-for { padding: 0 16px 8px; }
:where(.mc-glass) .sv-pick-loading { padding: 14px 16px; }
:where(.mc-glass) .sv-empty .g-empty { padding: 40px 16px; }
:where(.mc-glass) [hidden].sv-chips, :where(.mc-glass) [hidden].sv-list { display: none; }

/* ── Learning points ─────────────────────────────────────────────── */
:where(.mc-glass) .lp-status { padding: 24px 4px; }
:where(.mc-glass) .lp-sort { justify-content: space-between; }
:where(.mc-glass) .lp-ok { color: var(--g-correct); }
:where(.mc-glass) .lp-bad { color: var(--g-wrong); }
:where(.mc-glass) .lp-stem { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
:where(.mc-glass) .lp-more { display: flex; justify-content: center; margin: 20px 0 8px; }
:where(.mc-glass) .lp-empty .g-empty { padding: 40px 16px; }
@media (min-width: 640px) and (max-width: 1099px) {
  :where(.mc-glass) .lp-filters { grid-template-columns: minmax(0, 1fr) auto; }
  :where(.mc-glass) .lp-filters .g-seg { grid-column: 1 / -1; order: 3; }
}
@media (min-width: 1100px) {
  :where(.mc-glass) .lp-filters { grid-template-columns: minmax(180px, 1fr) auto auto auto; }
  :where(.mc-glass) .lp-filters .g-seg { width: auto; }
}

/* ── History ─────────────────────────────────────────────────────── */
:where(.mc-glass) .hs-state { padding: 20px 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
:where(.mc-glass) .hs-filters .g-seg { flex: none; }
:where(.mc-glass) .hs-more { display: flex; justify-content: center; margin: 16px 0 4px; }
:where(.mc-glass) .hs-un .g-cell-main { min-width: 0; }
:where(.mc-glass) .hs-reg-link { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "s s v" "d m t"; }
:where(.mc-glass) .hs-t { grid-area: t; justify-self: end; color: var(--g-label-2); font-size: calc(var(--g-t-subhead) * var(--g-scale)); }
:where(.mc-glass) .hs-s { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 760px) {
  :where(.mc-glass) .hs-reg-head { grid-template-columns: 200px 120px minmax(0, 1fr) 80px 170px 52px; }
  :where(.mc-glass) .hs-reg-head span:nth-child(4) { text-align: right; }
  :where(.mc-glass) .hs-reg-head span:nth-child(5) { text-align: right; }
  :where(.mc-glass) .hs-reg-link { grid-template-columns: 200px 120px minmax(0, 1fr) 80px 170px; grid-template-areas: "d m s t v"; column-gap: 8px; }
  :where(.mc-glass) .hs-t { color: var(--g-label); font-size: calc(var(--g-t-body) * var(--g-scale)); }
}
:where(.mc-glass) .hs-ans .g-cell-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
@media (max-width: 559px) {
  :where(.mc-glass) .hs-ans .g-cell-value { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

}
