/* /practice/: the question bank (10 Oct 2026). Source: practice/app.css.
   Sits on top of the lm layer and borrows its tokens. */
.pr {
  --pr-ink:var(--lm-ink,#111);
  --pr-paper:#fff;
  --pr-page:var(--lm-page,#f4f6ec);
  --pr-lime:var(--lm-lime,#c5f135);
  --pr-moss:var(--lm-moss,#3f5a0a);
  --pr-muted:var(--lm-muted,#555);
  --pr-line:var(--lm-line,#ddd);
  --pr-grey:#9a9a9a;
  --pr-right:#2f7d1e;
  --pr-right-bg:#eef8e2;
  --pr-wrong:#b3261e;
  --pr-wrong-bg:#fdeceb;
}
.pr-hero { padding:48px var(--lm-gutter) 28px; max-width:1200px; margin:0 auto; }
.pr-hero .lm-h1 { margin-bottom:16px; }
html.pr-deep .pr-hero { display:none; }
html.pr-deep .pr-wrap { padding-top:24px; }
.pr-wrap { max-width:1200px; margin:0 auto; padding:0 var(--lm-gutter) 64px; }
.pr-h2 { font:900 clamp(22px,2.4vw,28px)/1.1 var(--lm-font); letter-spacing:-.01em; margin:0 0 14px; }
.pr-eyebrow { font:600 11px/1.2 var(--lm-font); letter-spacing:.14em; text-transform:uppercase; color:var(--pr-moss); margin:0 0 8px; }
.pr-label { display:block; font:600 11px/1 var(--lm-font); letter-spacing:.12em; text-transform:uppercase; color:var(--pr-muted); margin:0 0 8px; }
.pr-small { font:400 14px/1.45 var(--lm-font); color:var(--pr-muted); margin:0 0 10px; }
.pr-note { font:400 12px/1.45 var(--lm-font); color:var(--pr-muted); margin:8px 0 0; }
.pr-vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pr-tag { display:inline-block; vertical-align:middle; font:700 10px/1 var(--lm-font); letter-spacing:.08em; background:var(--pr-ink); color:#fff; padding:4px 6px; }

/* ---- buttons ---------------------------------------------------------- */
.pr-btns { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 0; }
.pr-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; box-sizing:border-box;
  border:2px solid var(--pr-ink); background:var(--pr-paper); color:var(--pr-ink); text-decoration:none;
  font:700 15px/1.1 var(--lm-font); padding:12px 16px; cursor:pointer; border-radius:0; }
.pr-btn:hover { background:var(--pr-page); }
.pr-btn--lime { background:var(--pr-lime); }
.pr-btn--lime:hover { background:#b6e325; }
.pr-btn--small { font-size:13px; padding:8px 12px; }
.pr-btn:disabled { opacity:.45; cursor:default; }
.pr .pr-btn, .pr a.pr-btn { color:var(--pr-ink); }
.pr-linkbtn { background:none; border:0; padding:0; font:inherit; color:var(--pr-moss); text-decoration:underline; cursor:pointer; }

/* ---- gate ------------------------------------------------------------- */
.pr-gate { border:2px solid var(--pr-ink); background:var(--pr-lime); padding:24px; max-width:620px; box-sizing:border-box; }
.pr-gate h2 { font:900 24px/1.1 var(--lm-font); margin:0 0 8px; }
.pr-gate p { margin:0 0 12px; font:400 15px/1.45 var(--lm-font); }
.pr-gate__row { display:flex; gap:8px; flex-wrap:wrap; }
.pr-gate input[type=email] { flex:1 1 240px; min-width:0; box-sizing:border-box; border:2px solid var(--pr-ink); padding:12px 14px;
  font:400 16px/1.2 var(--lm-font); background:#fff; border-radius:0; }
.pr-gate .pr-btn { background:var(--pr-ink); color:#fff; }
.pr-gate .pr-btn:hover { background:#333; }
.pr-gate__msg { font:600 14px/1.4 var(--lm-font); color:var(--pr-wrong); margin:10px 0 0; }
.pr-gate__fine { font:400 12px/1.45 var(--lm-font); color:#2b3510; margin:12px 0 0; }
.pr-gate__fine a { color:#2b3510; }
.pr-gate .hp { position:absolute; left:-9999px; }
.pr-in { display:none; border:2px solid var(--pr-ink); background:var(--pr-paper); padding:20px 24px; max-width:620px; box-sizing:border-box; }
.pr-in p { margin:0 0 12px; }
html.pr-unlocked .pr-in { display:block; }
html.pr-known #pr-gate { display:none; }
.pr-loading { display:none; font:600 15px/1.4 var(--lm-font); color:var(--pr-muted); padding:24px 0; }
html.pr-known .pr-loading { display:block; }
html.pr-unlocked .pr-loading { display:none; }

/* ---- landing ---------------------------------------------------------- */
.pr-points { list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pr-points li { border:2px solid var(--pr-ink); background:var(--pr-paper); padding:18px; }
.pr-points b { display:block; font:900 18px/1.15 var(--lm-font); margin:0 0 6px; }
.pr-points span { font:400 14px/1.45 var(--lm-font); color:var(--lm-body,#333); }
@media (max-width:800px) { .pr-points { grid-template-columns:minmax(0,1fr); } }
.pr-counts { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; }
.pr-counts span { border:2px solid var(--pr-ink); background:var(--pr-paper); padding:10px 12px; font:400 13px/1.2 var(--lm-font); }
.pr-counts b { font:900 20px/1 var(--lm-font); margin-right:4px; }
.pr-subjects { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin:16px 0 0; }
.pr-subject { border:2px solid var(--pr-ink); background:var(--pr-paper); padding:20px; display:flex; flex-direction:column; gap:8px; }
.pr-subject--soon { background:transparent; border-style:dashed; color:var(--pr-muted); }
.pr-subject b { font:900 22px/1.1 var(--lm-font); }
.pr-disclaimer { font:400 12px/1.5 var(--lm-font); color:var(--pr-muted); max-width:760px; margin:28px 0 0; }

/* ---- stats, filters --------------------------------------------------- */
.pr-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.pr-stats > div { border:2px solid var(--pr-ink); background:var(--pr-paper); padding:14px 16px; }
.pr-stats__fig { display:block; font:900 28px/1 var(--lm-font); margin:0 0 6px; }
.pr-stats .pr-label { margin:0; }
.pr-filters { display:flex; flex-wrap:wrap; gap:14px 22px; margin:0 0 18px; }
.pr-chips { display:flex; flex-wrap:wrap; gap:6px; }
.pr-chip { border:2px solid var(--pr-ink); background:var(--pr-paper); color:var(--pr-ink); font:700 13px/1 var(--lm-font); padding:8px 11px; cursor:pointer; border-radius:0; }
.pr-chip.is-on { background:var(--pr-ink); color:#fff; }
.pr-quick { margin:0 0 26px; }
.pr-quick .pr-btns { margin:0; }

/* ---- topics ----------------------------------------------------------- */
.pr-theme { margin:0 0 26px; }
.pr-theme__k { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--pr-lime); border:2px solid var(--pr-ink); font-size:18px; margin-right:6px; vertical-align:2px; }
.pr-topics { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:10px; }
.pr-topic a { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"code name" "meta meta" "meter meter"; gap:6px 10px;
  border:2px solid var(--pr-ink); background:var(--pr-paper); padding:14px; text-decoration:none; color:var(--pr-ink); height:100%; box-sizing:border-box; }
.pr-topic a:hover { background:var(--pr-page); }
.pr-topic.is-dim a { opacity:.5; }
.pr-topic__code { grid-area:code; font:900 15px/1.25 var(--lm-font); }
.pr-topic__name { grid-area:name; font:700 15px/1.25 var(--lm-font); }
.pr-topic__meta { grid-area:meta; font:400 13px/1.2 var(--lm-font); color:var(--pr-muted); }
.pr-meter { grid-area:meter; display:block; height:6px; background:var(--pr-line); }
.pr-meter span { display:block; height:100%; background:var(--pr-moss); }
.pr-reset { margin-top:30px; }

/* static list before the script runs */
.pr-static .pr-topic a:not([href]) { cursor:default; }
.pr-static .pr-topic__meta b { color:var(--pr-ink); }

/* ---- question list ---------------------------------------------------- */
.pr-crumbs { font:400 14px/1.4 var(--lm-font); color:var(--pr-muted); margin:0 0 14px; }
.pr-crumbs a { color:var(--pr-moss); }
.pr-crumbs span { margin:0 4px; color:var(--pr-grey); }
.pr-qlist { list-style:none; margin:0; padding:0; border-top:2px solid var(--pr-ink); }
.pr-qrow a { display:grid; grid-template-columns:86px 1fr auto auto; gap:8px 16px; align-items:center; padding:14px 6px;
  border-bottom:1px solid var(--pr-line); text-decoration:none; color:var(--pr-ink); }
.pr-qrow a:hover { background:var(--pr-paper); }
.pr-qrow__id { font:700 13px/1 ui-monospace,Menlo,monospace; color:var(--pr-muted); }
.pr-qrow__title { font:700 15px/1.3 var(--lm-font); }
.pr-qrow__meta { display:flex; gap:8px; align-items:center; }
.pr-style { font:700 11px/1 var(--lm-font); letter-spacing:.06em; text-transform:uppercase; border:1.5px solid var(--pr-ink); padding:4px 6px; white-space:nowrap; }
.pr-style--1A { background:var(--pr-paper); }
.pr-style--1B { background:#e8f0ff; }
.pr-style--2A { background:#fff4d6; }
.pr-style--2B { background:#f1e6ff; }
.pr-style--P1 { background:#f1e6ff; }
.pr-style--P2 { background:#e8f0ff; }
.pr-style--P3 { background:#fff4d6; }
/* Band-marked parts (Economics, 12 Oct 2026): the student picks the band, then the mark. */
.pr-lv { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.pr-lv__band { border:1px solid var(--pr-line); background:#fff; padding:8px 10px; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; }
.pr-lv__band.is-on { background:var(--pr-right-bg); border-color:var(--pr-right); }
.pr-lv__pills { display:flex; gap:4px; align-items:center; flex-wrap:wrap; }
.pr-lv__range { font:700 12px/1 var(--lm-font); color:var(--pr-muted); min-width:34px; }
.pr-lv__m { font:700 13px/1 var(--lm-font); width:30px; height:30px; border:1.5px solid var(--pr-ink); background:#fff; color:var(--pr-ink); cursor:pointer; padding:0; }
.pr-lv__m:hover { background:var(--pr-page); }
.pr-lv__m.is-on { background:var(--pr-ink); color:#fff; }
.pr-lv__t { font:400 14px/1.45 var(--lm-font); }
.pr-may { margin:6px 0 0; padding-left:18px; font:400 14px/1.45 var(--lm-font); }
.pr-may li { margin:0 0 4px; }
@media (max-width:600px) { .pr-lv__band { grid-template-columns:1fr; gap:6px; } }
.pr-score { font:700 13px/1 var(--lm-font); white-space:nowrap; min-width:64px; text-align:right; }
.pr-score.is-full { color:var(--pr-right); }
.pr-score.is-part, .pr-score.is-none { color:var(--pr-muted); font-weight:400; }
.pr-dots { display:inline-flex; gap:3px; }
.pr-dots span { width:7px; height:7px; border:1.5px solid var(--pr-ink); border-radius:50%; box-sizing:border-box; }
.pr-dots span.on { background:var(--pr-ink); }
.pr-empty { font:400 15px/1.5 var(--lm-font); }
@media (max-width:640px) {
  .pr-qrow a { grid-template-columns:1fr auto; }
  .pr-qrow__id { grid-column:1 / -1; }
  .pr-qrow__meta { grid-column:1; }
  .pr-stats { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .pr-stats > div:last-child { display:none; }
}

/* ---- question --------------------------------------------------------- */
.pr-q { background:var(--pr-paper); border:2px solid var(--pr-ink); padding:24px; }
.pr-q__head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; border-bottom:2px solid var(--pr-ink); padding:0 0 14px; margin:0 0 18px; }
.pr-q__title { margin:0; }
.pr-q__side { display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex:0 0 auto; }
.pr-q__id { font:700 12px/1 ui-monospace,Menlo,monospace; background:var(--pr-page); border:1.5px solid var(--pr-ink); padding:4px 6px; user-select:all; }
.pr-q__total { font:900 18px/1 var(--lm-font); }
.pr-q__grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:28px; align-items:start; }
.pr-q__aside { position:sticky; top:16px; }
@media (max-width:960px) {
  .pr-q__grid { grid-template-columns:minmax(0,1fr); }
  .pr-q__aside { position:static; }
  .pr-q__grid:not(.has-solution) .pr-q__aside { display:none; }
}
.pr-q__intro { font:400 16px/1.6 var(--lm-font); margin:0 0 14px; max-width:72ch; }
.pr-part { border-top:1px solid var(--pr-line); padding:16px 0 18px; }
.pr-part:first-of-type { border-top:0; }
.pr-part__head { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:baseline; margin:0 0 12px; }
.pr-part__label { font:700 16px/1.5 var(--lm-font); }
.pr-part__prompt { font:400 16px/1.55 var(--lm-font); margin:0; }
.pr-part__head > .pr-part__prompt:first-child { grid-column:1 / 3; }
.pr-part__marks { font:700 15px/1.5 var(--lm-font); white-space:nowrap; }

.pr-opts { display:grid; gap:8px; }
.pr-opt { display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:center; text-align:left; border:2px solid var(--pr-ink);
  background:var(--pr-paper); color:var(--pr-ink); padding:10px 12px; font:400 15px/1.45 var(--lm-font); cursor:pointer; border-radius:0; }
.pr-opt:hover:not(:disabled) { background:var(--pr-page); }
.pr-opt__l { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:2px solid var(--pr-ink); font:900 15px/1 var(--lm-font); }
.pr-opt.is-sel { background:var(--pr-page); box-shadow:inset 0 0 0 2px var(--pr-ink); }
.pr-opt.is-sel .pr-opt__l { background:var(--pr-ink); color:#fff; }
.pr-opt:disabled { cursor:default; color:var(--pr-ink); opacity:1; }
.pr-opt.is-right { background:var(--pr-right-bg); border-color:var(--pr-right); }
.pr-opt.is-right .pr-opt__l { background:var(--pr-right); border-color:var(--pr-right); color:#fff; }
.pr-opt.is-wrong { background:var(--pr-wrong-bg); border-color:var(--pr-wrong); }
.pr-opt.is-wrong .pr-opt__l { background:var(--pr-wrong); border-color:var(--pr-wrong); color:#fff; }

.pr-text { display:block; width:100%; box-sizing:border-box; border:2px solid var(--pr-ink); padding:12px; font:400 15px/1.55 var(--lm-font); resize:vertical; min-height:90px; border-radius:0; background:#fff; }
.pr-text--short { min-height:60px; margin-top:8px; }
.pr-text[readonly] { background:var(--pr-page); }
.pr-num { display:flex; gap:8px; align-items:center; }
.pr input.pr-input { border:2px solid var(--pr-ink); background:#fff; padding:10px 12px; font:700 18px/1.2 var(--lm-font); width:160px; border-radius:0; }
.pr-unit { font:400 16px/1 var(--lm-font); }

.pr-reveal { margin:14px 0 0; }
.pr-verdict { font:700 15px/1.4 var(--lm-font); margin:0 0 8px; }
.pr-verdict.is-right { color:var(--pr-right); }
.pr-verdict.is-wrong { color:var(--pr-wrong); }
.pr-explain { font:400 15px/1.55 var(--lm-font); background:var(--pr-page); border-left:4px solid var(--pr-lime); padding:10px 14px; margin:10px 0 0; }
.pr-ms { border:2px solid var(--pr-ink); padding:16px; background:#fcfdf7; }
.pr-ms__head { display:flex; justify-content:space-between; align-items:center; margin:0 0 8px; }
.pr-ms__head .pr-eyebrow { margin:0; }
.pr-ms__score { font:900 18px/1 var(--lm-font); }
.pr-mps { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.pr-mp { display:grid; grid-template-columns:22px 1fr; gap:10px; align-items:start; cursor:pointer; font:400 15px/1.45 var(--lm-font); padding:6px 8px; border:1px solid var(--pr-line); background:#fff; }
.pr-mp input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--pr-moss); }
.pr-mp:has(input:checked) { background:var(--pr-right-bg); border-color:var(--pr-right); }
.pr-mp__alt { display:block; font-size:13px; color:var(--pr-muted); margin-top:2px; }
.pr-notes { margin:10px 0 0; padding-left:18px; font:400 13px/1.45 var(--lm-font); color:var(--pr-muted); }
.pr-model { margin:12px 0 0; border:1px solid var(--pr-line); background:#fff; padding:10px 12px; }
.pr-model summary { font:700 14px/1.2 var(--lm-font); cursor:pointer; }
.pr-model p { margin:8px 0 0; font:400 15px/1.55 var(--lm-font); }
.pr-quality { margin:16px 0 0; border:2px solid var(--pr-ink); padding:12px; }

.pr-video { border:2px solid var(--pr-ink); background:var(--pr-ink); color:#fff; padding:16px; }
.pr-video .pr-eyebrow { color:var(--pr-lime); }
.pr-video .pr-note, .pr-video .pr-small { color:#ccc; }
.pr-video--locked { background:var(--pr-paper); color:var(--pr-ink); border-style:dashed; }
.pr-video--locked .pr-eyebrow { color:var(--pr-moss); }
.pr-video--locked .pr-small { color:var(--pr-muted); margin:0; }
.pr-video__play { display:flex; align-items:center; gap:12px; width:100%; aspect-ratio:16/9; justify-content:center; flex-direction:column;
  background:#222; border:2px solid var(--pr-lime); color:#fff; font:700 15px/1.2 var(--lm-font); cursor:pointer; }
.pr-video__tri { width:0; height:0; border-left:22px solid var(--pr-lime); border-top:14px solid transparent; border-bottom:14px solid transparent; }
.pr-video__frame { position:relative; aspect-ratio:16/9; background:#000; }
.pr-video__frame iframe, .pr-video__frame video { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pr-video__soon { font:700 15px/1.35 var(--lm-font); margin:0 0 10px; }
.pr-video--none .pr-btn { background:var(--pr-lime); border-color:var(--pr-lime); }

.pr-q__foot { border-top:2px solid var(--pr-ink); margin:22px 0 0; padding:14px 0 0; }
.pr-q__foot .pr-btns { margin:0 0 8px; }

/* ---- figures ---------------------------------------------------------- */
.pr-fig { margin:6px 0 18px; max-width:640px; }
.pr-fig figcaption { font:400 13px/1.45 var(--lm-font); color:var(--pr-muted); margin:6px 0 0; }
.pr-chart { display:block; width:100%; height:auto; color:var(--pr-ink); font-family:var(--lm-font); background:#fff; }
.pr-grid { stroke:#e6e6e6; stroke-width:1; }
.pr-axis { stroke:var(--pr-ink); stroke-width:1.5; }
.pr-tick { font-size:12px; fill:var(--pr-ink); }
.pr-alabel { font-size:13px; font-weight:700; fill:var(--pr-ink); }
.pr-line { fill:none; stroke:var(--pr-ink); stroke-width:2; }
.pr-line--fit { stroke-width:1.5; stroke-dasharray:6 4; }
.pr-err { fill:none; stroke:var(--pr-ink); stroke-width:1.5; }
.pr-mk { fill:var(--pr-ink); stroke:var(--pr-ink); stroke-width:1.5; }
.pr-mk--open { fill:#fff; }
.pr-mk--line { fill:none; stroke-width:2; }
.pr-bar { stroke:var(--pr-ink); stroke-width:1.5; }
.pr-box { fill:#fff; stroke:var(--pr-ink); stroke-width:1.5; }
.pr-median { stroke:var(--pr-ink); stroke-width:3; }
.pr-legend { list-style:none; display:flex; flex-wrap:wrap; gap:6px 18px; padding:0; margin:6px 0 0; font:400 13px/1.3 var(--lm-font); }
.pr-legend li { display:flex; align-items:center; gap:6px; }
.pr-key { width:34px; height:14px; }
.pr-key[viewBox="0 0 18 14"] { width:18px; }
.pr-table-wrap { overflow-x:auto; }
.pr-table { border-collapse:collapse; font:400 14px/1.4 var(--lm-font); background:#fff; min-width:50%; }
.pr-table th, .pr-table td { border:1.5px solid var(--pr-ink); padding:7px 10px; text-align:center; }
.pr-table th { background:var(--pr-page); font-weight:700; }
.pr .pr-table td:first-child { white-space:normal; }
.pr-fignote { font:400 12px/1.4 var(--lm-font); color:var(--pr-muted); margin:4px 0 0; }
.pr-mono { font:500 15px/1.6 ui-monospace,Menlo,monospace; background:#fff; border:1.5px solid var(--pr-ink); padding:10px 12px; overflow-x:auto; white-space:pre-wrap; word-break:break-all; margin:0; }
.pr-svg { background:#fff; color:var(--pr-ink); }
.pr-svg svg { display:block; max-width:100%; height:auto; font-family:var(--lm-font); }
@media (max-width:640px) {
  .pr-q { padding:16px; }
  .pr-q__head { flex-direction:column; }
  .pr-q__side { flex-direction:row; align-items:center; }
}

/* ---- /account/ (10 Oct 2026) ------------------------------------------ */
.acct-wrap { max-width:980px; }
.js #acct.is-checking #acct-signin, .js #acct.is-checking #acct-dash { display:none; }
.acct-checking { display:none; font:600 15px/1.4 var(--lm-font); color:var(--pr-muted); padding:12px 0; }
.js #acct.is-checking .acct-checking { display:block; }
.acct-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; align-items:start; }
@media (max-width:860px) { .acct-grid { grid-template-columns:minmax(0,1fr); } }
.acct-form { border:2px solid var(--pr-ink); background:var(--pr-lime); padding:24px; }
.acct-form h2 { font:900 24px/1.1 var(--lm-font); margin:0 0 8px; }
.acct-form p { margin:0 0 12px; font:400 15px/1.45 var(--lm-font); }
.acct-form label { display:block; font:700 13px/1.2 var(--lm-font); margin:0 0 6px; }
.acct-form input[type=email], .acct-form input[name=code] { width:100%; box-sizing:border-box; border:2px solid var(--pr-ink); padding:12px 14px;
  font:400 16px/1.2 var(--lm-font); background:#fff; border-radius:0; }
.acct-form input[name=code] { font:900 28px/1 ui-monospace,Menlo,monospace; letter-spacing:.35em; text-align:center; max-width:260px; }
.acct-form .pr-btn { background:var(--pr-ink); color:#fff; margin-top:10px; }
.acct-form .pr-btn:hover { background:#333; }
.acct-form .hp { position:absolute; left:-9999px; }
.acct-form .pr-linkbtn { color:#2b3510; }
.acct-fine { font:400 12px/1.45 var(--lm-font); color:#2b3510; margin:12px 0 0; }
.acct-fine a { color:#2b3510; }
.acct-msg { font:600 14px/1.4 var(--lm-font); margin:10px 0 0; color:var(--pr-moss); }
.acct-msg.is-bad { color:var(--pr-wrong); }
.acct-perks { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.acct-perks li { border:2px solid var(--pr-ink); background:#fff; padding:14px 16px; }
.acct-perks b { display:block; font:900 16px/1.2 var(--lm-font); margin:0 0 4px; }
.acct-perks span { font:400 14px/1.45 var(--lm-font); color:var(--lm-body,#333); }
.acct-hello { margin:0 0 18px; }
.acct-hello .pr-h2 { margin:0 0 4px; }
.acct-card { border:2px solid var(--pr-ink); background:#fff; padding:22px; margin:0 0 18px; }
.acct-card .pr-stats > div { background:var(--pr-page); }
.acct-themes { display:grid; gap:8px; margin:18px 0 0; }
.acct-theme { display:grid; grid-template-columns:30px minmax(0,1fr) 120px 52px; gap:10px; align-items:center; font:400 14px/1.2 var(--lm-font); }
.acct-theme .pr-meter { grid-area:auto; }
.acct-theme__k { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; background:var(--pr-lime); border:2px solid var(--pr-ink); font:900 13px/1 var(--lm-font); }
.acct-theme__n { text-align:right; font-weight:700; }
@media (max-width:560px) { .acct-theme { grid-template-columns:30px minmax(0,1fr) 52px; } .acct-theme .pr-meter { display:none; } }
.acct-weak { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.acct-weak li { font:400 15px/1.4 var(--lm-font); }
.acct-weak span { color:var(--pr-muted); font-size:13px; margin-left:6px; }
.acct-res { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
@media (max-width:700px) { .acct-res { grid-template-columns:minmax(0,1fr); } }
.acct-res__group ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.acct-res__group li a { font:700 15px/1.3 var(--lm-font); color:var(--pr-moss); }
.acct-res__group li span { display:block; font:400 13px/1.45 var(--lm-font); color:var(--pr-muted); margin-top:2px; }
.acct-settings p { margin:0 0 10px; font:400 15px/1.5 var(--lm-font); }
.pr-acct { font:400 14px/1.45 var(--lm-font); border:2px dashed var(--pr-ink); background:#fff; padding:10px 14px; margin:0 0 14px; }
.pr-acct.is-on { border-style:solid; background:var(--pr-right-bg); border-color:var(--pr-right); }
.pr-acct a { color:var(--pr-moss); font-weight:700; }
#acct-link-email, #acct-code-to, .acct-hello b, .acct-settings b { overflow-wrap:anywhere; }

/* ---- one page per topic (14 Oct 2026) ------------------------------------ */
.pr-crumbs { max-width:1200px; margin:0 auto; padding:20px var(--lm-gutter) 0; box-sizing:border-box; font:600 13px/1.4 var(--lm-font); color:var(--pr-muted); }
.pr-crumbs a { color:var(--pr-ink); }
.pr-crumbs + .pr-hero { padding-top:20px; }
.pr-sample { max-width:760px; border:2px solid var(--pr-ink); background:var(--pr-paper); padding:20px 24px; box-sizing:border-box; }
.pr-sample__title { font:800 20px/1.25 var(--lm-font); margin:0 0 12px; }
.pr-sample p { font:400 16px/1.5 var(--lm-font); margin:0 0 12px; }
.pr-sample__prompt { font-weight:600 !important; }
.pr-sample__marks { font-weight:400; color:var(--pr-muted); white-space:nowrap; }
.pr-sample__opts { margin:0 0 16px; padding-left:28px; font:400 16px/1.5 var(--lm-font); }
.pr-sample__opts li { margin:0 0 6px; padding-left:4px; }
.pr-sample__answer { border-top:2px solid var(--pr-line); padding-top:12px; }
.pr-sample__answer summary { cursor:pointer; font:700 15px/1.3 var(--lm-font); }
.pr-sample__answer[open] summary { margin-bottom:12px; }
.pr-qlist { list-style:none; margin:0; padding:0; max-width:900px; border-top:2px solid var(--pr-ink); }
.pr-qlist li { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"id title" "id meta"; gap:2px 14px;
  padding:12px 0; border-bottom:1px solid var(--pr-line); }
.pr-qlist__id { grid-area:id; font:900 14px/1.4 var(--lm-font); }
.pr-qlist__title { grid-area:title; font:700 15px/1.4 var(--lm-font); }
.pr-qlist__meta { grid-area:meta; font:400 13px/1.3 var(--lm-font); color:var(--pr-muted); }
.pr-related { list-style:none; margin:0 0 16px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pr-related a { display:inline-block; border:2px solid var(--pr-ink); background:var(--pr-paper); padding:8px 12px;
  font:600 14px/1.2 var(--lm-font); color:var(--pr-ink); text-decoration:none; }
.pr-related a:hover { background:var(--pr-lime); }
.pr-faq { margin-top:48px; max-width:900px; }
