.question-list {  /*@question-list*/
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0;
}

.question-card {
  background: var(--card-bg);
  border: 1px solid var(--split-border);
  border-radius:var(--radius-box);
  padding: 1rem 1.2rem;
  counter-increment: question-counter;
}

.q-stem { font-weight: 500; margin-bottom: 0.6rem; white-space: pre-wrap; }

.q-stem, .q-stem-preview, .admin-stem-preview,  /*@q-stem*/
.q-choices, .q-explanation, .q-fr-answer {
  font-family: var(--font-content);
}

.q-stem ul, .q-stem-preview ul, .admin-stem-preview ul {
  white-space: normal;
  list-style: disc;
  margin: 0.5rem 0;
  padding-left: 1.6rem;
}
.q-stem li, .q-stem-preview li, .admin-stem-preview li { margin: 0.2rem 0; }
.q-stem div, .q-stem-preview div, .admin-stem-preview div, .result-stem div { padding-top: var(--para-gap); } /*@stem-paragraph-spacing*/
.q-stem :is(p,div):first-child, .q-stem-preview :is(p,div):first-child, .admin-stem-preview :is(p,div):first-child, .result-stem :is(p,div):first-child { padding-top: 0; } /*@stem-first-child-reset*/
.q-stem blockquote > :first-child, .q-stem-preview blockquote > :first-child, .admin-stem-preview blockquote > :first-child, .result-stem blockquote > :first-child, .q-stem blockquote div, .q-stem-preview blockquote div, .admin-stem-preview blockquote div, .result-stem blockquote div { padding-top: 0; } /*@stem-blockquote-reset*/
.q-stem blockquote, .q-stem-preview blockquote, .admin-stem-preview blockquote {
  white-space: pre-wrap;
  margin: var(--para-gap) 0 var(--para-gap) var(--indent-step) !important;
  padding: 0;
  border: none;
  font-style: normal;
}

.q-choices {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: var(--fs-md);
  margin-bottom: 0.6rem;
}

.q-choices li { padding: 0.15rem 0.4rem; border-radius:var(--radius-sm); }
.q-choices li.correct { background: var(--correct-bg); color: var(--correct-text); font-weight: var(--correct-weight); } /*@correct-choice-unbold*/

.q-explanation { font-size: var(--fs-content); color: #555; margin-bottom: 0.6rem; }





.q-type-badge {  /*@q-type-badge-2*/
  display: inline-block;
  padding: var(--badge-pad);
  border-radius: var(--badge-radius);
  font-size: var(--badge-fs);
  font-weight: var(--badge-fw);
  text-transform: var(--badge-case);
  line-height: var(--badge-lh);
}
.badge-mc { background: var(--badge-type-mc-bg); color: var(--badge-type-mc-ink); }
.badge-fr { background: var(--badge-type-fr-bg); color: var(--badge-type-fr-ink); }

.q-fr-answer { font-size: var(--fs-content); color: var(--text-strong); margin-bottom: 0.5rem; }
.fr-also-accepted { color: var(--text-muted); } /*@fr-also-accepted*/

.q-stem, .q-stem-preview, .admin-stem-preview, .result-stem,
.q-choices li, .q-fr-answer, .q-explanation, .result-explanation { font-size: var(--fs-content) !important; /*@strict-uniform-sizing*/
  line-height: var(--lh-content); } /*@proportional-line-height*/
.q-stem, .q-stem-preview, .admin-stem-preview, .result-stem,
.rn-q-body { --para-gap: 0.3rem; } /*@stem-runner-para-gap*/
.q-stem sup, .q-stem sub, .q-stem-preview sup, .q-stem-preview sub, /*@supsub-no-lineheight*/
.admin-stem-preview sup, .admin-stem-preview sub,
.result-stem sup, .result-stem sub,
.q-choices sup, .q-choices sub, .result-choice sup, .result-choice sub,
.q-fr-answer sup, .q-fr-answer sub, .rte-editor sup, .rte-editor sub,
.expl-text sup, .expl-text sub { line-height: 0; }
.q-stem :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"], /*@neutralize-inline-fontsize*/
.q-stem-preview :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"],
.admin-stem-preview :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"],
.result-stem :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"],
.q-choices :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"],
.expl-text :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="font-size"] { font-size: inherit !important; }
.q-stem :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"], /*@neutralize-inline-lineheight*/
.q-stem-preview :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"],
.admin-stem-preview :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"],
.result-stem :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"],
.q-choices :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"],
.expl-text :is(span,td,th,p,div,font,li,b,i,strong,em,u,s,strike,code)[style*="line-height"] { line-height: inherit !important; }
.expl-text { font-size: 0.85rem !important; line-height: var(--lh-content); --para-gap: 0.3rem; } /*@explanation-85pct*/
.expl-text div { padding-top: var(--para-gap); }
.expl-text :is(p,div):first-child { padding-top: 0; }
.desmos-jump-row { padding-top: 6px; } /*@desmos-jump*/
.desmos-jump {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.3rem 0.7rem; border-radius:var(--radius-md);
  background: #e7f5ea; color: #1f7a33; border: 1px solid #b6dcbd;
  font-family: var(--font-ui); font-size: var(--fs-sm); font-weight: 600;
  text-decoration: none; line-height: 1.2;
}
.desmos-jump:hover { background: #d8eede; }

.ans-graph-img { max-width: 100%; height: auto; display: block; mix-blend-mode: multiply; } /*@graph-answer-choices*/
.choice-text-inner img, .result-choice img, .qc-choice img,
.result-choices img { max-width: 100%; height: auto; }

.rn-q-stem { font-size: 0.85rem !important; }
.rn-q-body .result-stem { font-size: var(--fs-content) !important; }




.admin-stem-preview .q-table,  /*@admin-stem-preview*/
.result-stem .q-table,
.qc-choices .q-table,
.result-choices .q-table {
  border-collapse: collapse;
  font-size: inherit;
  margin: 0.3rem auto 0;
  font-family: var(--font-content);
  max-width: 100%;
}
.admin-stem-preview .q-table:not(:has(tfoot)), /*@stem-table-footless-gap*/
.result-stem .q-table:not(:has(tfoot)),
.q-stem-preview .q-table:not(:has(tfoot)) { margin-bottom: 0.5rem; }
.qc-choices .q-table, .result-choices .q-table {
  display: inline-block; vertical-align: top; margin: 0 0 0.35rem 0.4rem;
}
.admin-stem-preview .q-table th,
.admin-stem-preview .q-table td,
.result-stem .q-table th,
.result-stem .q-table td,
.qc-choices .q-table th,
.qc-choices .q-table td,
.result-choices .q-table th,
.result-choices .q-table td {
  border: 1px solid var(--text-muted);
  padding: 0.45rem 0.85rem;
  text-align: center;
  white-space: normal;
  word-break: normal;
  font-weight: inherit;
}

.admin-stem-preview .q-table, .result-stem .q-table, .rte-editor .q-table { width: fit-content; } /*@stem-tables-fit-content*/

.q-diff-badge {  /*@q-diff-badge*/
  display: inline-block;
  padding: var(--badge-pad);
  border-radius: var(--badge-radius);
  font-size: var(--badge-fs);
  font-weight: var(--badge-fw);
  text-transform: var(--badge-case);
  line-height: var(--badge-lh);
}
.diff-easy   { background: var(--badge-diff-easy-bg); color: var(--badge-diff-easy-ink); }
.diff-medium { background: var(--badge-diff-medium-bg); color: var(--badge-diff-medium-ink); }
.diff-hard   { background: var(--badge-diff-hard-bg); color: var(--badge-diff-hard-ink); }
.diff-challenge { background:var(--badge-diff-challenge-bg); color:var(--badge-diff-challenge-ink); } /*@diff-challenge-badge*/

.q-cat-badge {
  display: inline-block;
  padding: var(--badge-pad);
  border-radius: var(--badge-radius);
  font-size: var(--badge-fs);
  font-weight: var(--badge-fw);
  text-transform: var(--badge-case);
  line-height: var(--badge-lh);
  background: var(--badge-cat-bg);
  color: var(--badge-cat-ink);
  box-shadow: inset 0 0 0 1px var(--badge-cat-border); /*@badge-cat-soft-tint-border*/
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cat-desmos { background: var(--badge-desmos-bg) !important; color: var(--badge-desmos-ink) !important; border-color: var(--badge-desmos-bg) !important; } /*@desmos-category-badge*/



.q-image {  /*@q-image*/
  display: block;
  max-width: 340px;
  max-height: 340px;
  object-fit: contain;
  border: 1px solid var(--split-border);
  border-radius:var(--radius-md);
  margin: 0 auto 0.75rem;
  background: var(--surface-subtle);
}

.ms-wrap { position: relative; display: inline-block; }  /*@ms-wrap*/
.ms-btn {
  display: flex; align-items: center; gap: 0.4rem;
  box-sizing: border-box; min-height: var(--ctrl-h);
  padding: 0.2rem 0.65rem;
  border: 1px solid var(--soft-border);
  border-radius:var(--radius-md);
  background: var(--card-bg);
  font-size: var(--fs-sm);
  color: var(--text-strong);
  cursor: pointer;
  white-space: nowrap;
  width: 9rem; min-width: 9rem; max-width: 9rem;
  justify-content: space-between; overflow: hidden;
  font-family: inherit;
}
.ms-wrap.cat-wide { display: inline-block; width: 16rem; max-width: 100%; }
.ms-wrap.cat-wide .ms-btn { width: 100%; min-width: 0; max-width: none; }
.ms-btn .ms-label {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0;
}

.ms-btn:hover { border-color: var(--sidebar-bg); }
.ms-wrap:has(> .ms-dropdown.open) > .ms-btn { border-color: var(--sidebar-bg); } /*@b58-open-dropdown-keeps-hover-ink*/
.ms-btn .ms-arrow { height: 0.35rem; width: auto; flex-shrink: 0; display: block; }
.ms-btn.has-value { border-color: var(--soft-border); color: var(--text-strong); background: var(--card-bg); }

#ms-test .ms-btn { width: 12rem; min-width: 12rem; max-width: 12rem; }  /*@ms-test*/
.ms-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 100%;
  background: var(--card-bg);
  border: 1px solid var(--soft-border);
  border-radius:var(--radius-box);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: var(--z-dropdown);
  padding: 0.4rem 0;
  max-height: 240px;
  overflow-y: auto;
  overscroll-behavior: contain; /*@ms-dropdown-overscroll-contain*/
  max-width: 320px;
}
.ms-dropdown.open { display: block; }
.dropdown-scroll { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; } /*@dropdown-scroll-overscroll-contain*/


.ms-grouphdr {  /*@ms-grouphdr*/
  cursor: pointer;
  font-size: var(--fs-2xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-faint);
  padding: 0.55rem 0.75rem 0.25rem;
  user-select: none;
}
.ms-grouphdr:hover { color: var(--text-secondary); }

.ms-grouphdr.selected { font-weight: 800; }  /*@ms-grouphdr-selected*/

.dom-mstree .ms-secgroup { border-bottom: 1.5px solid var(--slate-ink); }  /*@dom-hdr*/
.dom-mstree .dom-hdr {
  font: 400 var(--fs-2xs) var(--font-ui); text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--text-faint); cursor: pointer; user-select: none;
  margin: 0 0.8rem 0; padding: 0.35rem 0 0.15rem; border-top: 1px solid var(--split-border);
}
.dom-mstree .dom-hdr:hover { color: var(--text-muted); }
.dom-mstree .ms-secgroup + .dom-hdr, .dom-mstree .dom-hdr:first-child { border-top: none; margin-top: 0; padding-top: 0.35rem; }
.dom-mstree .dom-hdr.dom-partial { color: var(--text-muted); }
.dom-mstree .dom-hdr.dom-full { color: var(--slate-ink); }
.dom-mstree .ms-option input[type=checkbox] { width: 1em; height: 1em; margin: 0; }

.ms-dropdown .ms-divider { border-top: 1px solid var(--split-border); margin: 0.35rem 0; }

.ms-option,
.question-form .ms-option {
  display: flex; flex-direction: row; align-items: center; gap: 0.5rem; /*@b54c-checkbox-baseline-flush*/
  padding: 0.45rem 0.8rem;
  font-size: var(--fs-sm);
  font-weight: normal;
  cursor: pointer;
  color: var(--text-strong);
}
.ms-option:hover { background: var(--slate-bg); }
.ms-option input[type=checkbox] {
  cursor: pointer; flex-shrink: 0; /*@b54c-no-margin-nudge-baseline-owns-alignment*/
}
.ms-option span { flex: 1; min-width: 0; }
.ms-option.checked { color: var(--slate-ink); font-weight: 500; }









.two-pane { display: flex; flex-direction: column; } /*@two-pane*/
.two-pane.is-2col {
  flex-direction: row;
  align-items: flex-start;
  gap: 1.5rem;
}
.two-pane.is-2col > .tp-stem { flex: 1 1 0; min-width: 0; }
.two-pane.is-2col > .tp-side { flex: 1 1 0; min-width: 0; }
.two-pane.is-2col > .tp-side > :first-child { margin-top: 0; }

.two-pane.is-2col:not(.tp-form) > .tp-stem, /*@tp-pane-cap*/
.two-pane.is-2col:not(.tp-form) > .tp-side {
  max-width: 720px;
  max-height: 60vh;
  overflow: hidden auto;
  overscroll-behavior: var(--scroll-chain);
  padding-right: 0.5rem;
}
.two-pane.is-2col:not(.tp-form) > .tp-stem :is(table, img, svg, .q-fig-frame, .q-svg-fig),
.two-pane.is-2col:not(.tp-form) > .tp-side :is(table, img, svg, .q-fig-frame, .q-svg-fig) {
  max-width: 100%;
}

.tp-form, .tp-form > .tp-stem, .tp-form > .tp-side { display: flex; flex-direction: column; gap: 0.9rem; } /*@tp-form*/
.tp-form.is-2col > .tp-stem { flex: 0 0 auto; }

.tp-form.is-2col { align-items: stretch; } /*@tp-stem-fill-height*/
.tp-form.is-2col > .tp-stem > .field-group { flex: 1 1 auto; min-height: 0; }
.tp-form.is-2col > .tp-stem .rte-wrap { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }


.filterbar { margin:-1.5rem -2.25rem 1.5rem; padding:0.7rem 2.25rem 0.85rem;
  background:var(--foldout-fill); border-bottom:1px solid var(--section-divider); } /*@unified-page-filter-drawer*/
.filterbar { position:sticky; top:var(--topbar-h, 0px); z-index:calc(var(--z-sticky) - 1); } /*@filterbar-frozen*/
.filter-row { display:flex; gap:0.7rem; flex-wrap:wrap; align-items:center; }
.qs-field { display:flex; align-items:center; gap:0.4rem; font-size:var(--fs-sm); color:var(--text-secondary); } /*@qs-field*/
.qs-field .qs-input { width:110px; min-width:0; margin:0; }
.qs-field .qs-input-wide { width:260px; }
.qs-field.is-off { opacity:0.45; } /*@qs-field-off*/
.qs-field.is-off .qs-input { cursor:not-allowed; }
  .qc-actions { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
    margin: 0.9rem -1.1rem 0 calc(-1 * var(--qh-edge-x, 1.1rem));
    padding: 0.7rem 1.1rem 0 var(--qh-edge-x, 1.1rem);
    border-top: 1px solid var(--section-divider); } /*@qc-separators-run-edge-to-edge*/
  .qc-btn-row { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; min-height: 2rem; } /*@qc-btn-row-fixed-line*/

  .qc-detail-image { max-width: 340px; height: auto; display: block; margin: 0.4rem auto 0.6rem; border: none; border-radius:var(--radius-sm); }

  .qc-blackout { min-height: 6rem; } /*@qc-blackout-css*/
  .qc-blackout .qc-blackout-msg { text-align: left; max-width: 46rem; }

.qc-qid { /*@qc-qid*/
  margin-left:auto; font-size:var(--fs-xs); color:var(--text-muted);
  white-space:nowrap; user-select:text;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}
.qc-qid[role="button"] { cursor:pointer; } /*@qc-qid-toggle*/
.qc-qid[role="button"]:hover, .qc-qid[role="button"]:focus-visible { color:var(--text-secondary); }
.qc-qid-fixed { cursor:default; }
.qs-input-tiny { max-width:5.5rem; } /*@qs-input-tiny*/
.filterbar .filter-row + .filter-row { margin-top:0.7rem; } /*@stacked-filter-rows*/
.filterbar .fb-divider { width:1px; height:1.25rem; background:var(--split-border); flex-shrink:0; align-self:center; }
.filter-find-wrap { position:relative; display:inline-flex; }
.filter-find-btn.active { background:var(--acc); color:var(--acc-on); border-color:var(--acc); }
.fdot { position:absolute; top:5px; right:5px; width:7px; height:7px; border-radius:50%;
  background:var(--acc); border:1.5px solid var(--card-bg); pointer-events:none; }
.filter-clear { display:inline-flex; align-items:center; gap:0.35rem; text-decoration:none; } /*@clear-filter-control*/
.filter-clear svg { width:0.95rem; height:0.95rem; flex:none; }
.section-tabs { display:flex; gap:0.5rem; margin-bottom:1rem; flex-wrap:wrap; align-items:center; } /*@view-by-section-tabs*/
.section-tab { /*@viewby-solid-fill*/
  padding:0.22rem 0.75rem; border-radius:var(--badge-radius); border:1px solid var(--viewby-border);
  background:var(--viewby-bg); font-size: var(--fs-sm); color:var(--viewby-ink); cursor:pointer;
  font-weight:500; transition:all var(--t-base);
}
.section-tab:hover { border-color:var(--text-faint); }
.section-tab.active { background:var(--slate-ink); color:var(--text-inverse); border-color:var(--slate-ink); }
.section-tab[data-section="both"].active    { background:var(--viewby-active-both-bg); color:var(--viewby-active-both-ink); border-color:var(--viewby-active-both-bg); }
.section-tab[data-section="english"].active { background:var(--viewby-active-rw-bg); color:var(--viewby-active-rw-ink); border-color:var(--viewby-active-rw-bg); }
.section-tab[data-section="math"].active    { background:var(--viewby-active-math-bg); color:var(--viewby-active-math-ink); border-color:var(--viewby-active-math-bg); }


.ft-tally { /*@results-ledger*/
  display: flex; height: 10px; border-radius: var(--radius-pill); overflow: hidden;
  background: var(--slate-border);
}
.ft-tally i { display: block; height: 100%; }
.ft-tally .t-ok   { background: var(--tier-high); }
.ft-tally .t-bad  { background: var(--tier-low); }
.ft-tally .t-none { background: var(--slate-faint); }
.ft-tally.is-thin { height: 4px; }
.ft-key { display: flex; flex-wrap: wrap; gap: 0.15rem 1rem; margin-top: 0.5rem;
  font-size: var(--fs-xs); color: var(--text-secondary); }
.ft-key span { display: inline-flex; align-items: center; gap: 0.35rem; }
.ft-key i { width: 0.5rem; height: 0.5rem; border-radius: 50%; flex: none; }
.ft-key b { color: var(--ink-strong); font-weight: 700; }

.ft-hero { background: var(--card-bg); border: 1px solid var(--split-border);
  border-radius: var(--radius-hero); box-shadow: var(--shadow-sm);
  padding: 1.5rem 1.6rem 1.35rem; margin-bottom: 1.1rem; }
.ft-hero-top { position: relative; margin-bottom: 0.85rem; } /*@score-sits-on-the-title-baseline*/
.ft-hero-id { min-width: 0; padding-right: 12rem; }
.ft-eyebrow { font-size: var(--fs-label); font-weight: 700; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--text-muted); }
.ft-hero-title { font-size: var(--fs-base); font-weight: 700; margin-top: 0.3rem; }
.ft-hero-score { position: absolute; right: 0; bottom: 0;
  display: flex; align-items: baseline; line-height: 1; white-space: nowrap; }
.ft-score { font-variant-numeric: tabular-nums; font-size: 2.5rem; font-weight: 800;
  letter-spacing: -0.03em; line-height: 1; color: var(--ink-strong); }
.ft-score sup { font-size: 1.15rem; font-weight: 600; color: var(--text-muted);
  vertical-align: baseline; margin-left: 0.1rem; }
.ft-pct { font-variant-numeric: tabular-nums; font-size: var(--fs-lg); font-weight: 700;
  color: var(--text-secondary); margin-left: 0.7rem; }
@media (max-width: 560px) {
  .ft-hero-id { padding-right: 0; }
  .ft-hero-score { position: static; margin-top: 0.6rem; }
}
.est-score { text-align: right; font-size: var(--fs-sm); color: var(--text-secondary); /*@est-score*/
  font-weight: 600; margin-top: 0.35rem; }
.est-score .est-margin { font-weight: 400; color: var(--text-muted); }
.xv-entry { display: inline-flex; align-items: center; justify-content: center; /*@xv-entry-button*/
  width: 1.9rem; height: 1.9rem; flex-shrink: 0; border: 1px solid var(--pill-border);
  border-radius: var(--radius-pill); background: var(--pill-bg); color: var(--pill-ink);
  cursor: pointer; text-decoration: none;
  transition: color var(--t-fast), background var(--t-fast), border-color var(--t-fast); }
.xv-entry svg { width: 1.15rem; height: 1.15rem; display: block; }
.xv-entry:hover { background: var(--pill-fill); color: var(--pill-fill-ink); border-color: var(--pill-fill); }

.ft-label { font-size: var(--fs-2xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--text-muted); margin-bottom: 0.3rem; }
.ft-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ft-chip { font-size: var(--badge-fs); font-weight: var(--badge-fw); padding: var(--badge-pad);
  border-radius: var(--badge-radius); text-transform: var(--badge-case); line-height: var(--badge-lh);
  background: var(--badge-wrongcat-bg); color: var(--badge-wrongcat-ink); }
.ft-chip .ct { opacity: 0.7; font-weight: 700; margin-left: 0.15rem; }
.ft-qline { font-size: var(--fs-sm); color: var(--text-strong); font-variant-numeric: tabular-nums; }
.ft-qline .meta { color: var(--text-muted); }
.ft-none { font-size: var(--fs-sm); color: var(--success-strong); font-weight: 600; }
.ft-hint { font-size: var(--fs-2xs); color: var(--text-muted); margin-top: 0.4rem; line-height: 1.35; }

.score-card {  /*@score-card*/
  background: #fff;
  border: 1px solid var(--split-border);
  border-radius:var(--radius-modal);
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
}



.result-card {
  background: var(--q-box-bg);
  border: 1px solid var(--split-border);
  border-radius:var(--radius-card);
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.result-card summary { list-style: none; }
.result-card summary::-webkit-details-marker { display: none; }
.result-correct { border-left: 4px solid var(--success); }
.result-wrong   { border-left: 4px solid var(--danger); }
.result-blank   { border-left: 4px solid var(--slate-faint); }


.result-card-body {
  padding: 0 1.25rem 1.1rem;
  border-top: 1px solid var(--slate-bg-alt);
  padding-top: 0.9rem;
}


.result-correct .result-qnum { color: var(--success); }
.result-wrong   .result-qnum { color: var(--danger); }
.result-blank   .result-qnum { color: var(--slate-faint); }

.result-qnum { /*@result-qnum*/
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--slate-ink);
  margin-bottom: 0.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--split-border);
}

.result-card-head { /*@result-card-head*/
  margin-bottom: 0.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--split-border);
}
.result-card-head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.result-card-head .result-qnum {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.mark-ico {  /*@mark-ico*/
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  vertical-align: -0.14em;
}
.mark-ico.is-marked { fill: var(--danger); }
.qrv-mark { color: var(--ink-strong); font-size: var(--fs-base); } /*@qrv-mark-cell*/

.rmark-btn {  /*@rmark-btn*/
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: 0.5rem;
  padding: 0.1rem 0.4rem;
  border: none;
  border-radius:var(--radius-sm);
  background: none;
  font: 400 0.8rem/1 var(--font-ui);
  color: var(--text-secondary);
  cursor: pointer;
}
.rmark-btn:hover { background: var(--hover-grey, #f1f5f9); color: var(--ink-strong); font-weight: 600; }
.rmark-btn.is-marked {
  color: var(--ink-strong);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rmark-btn.is-saving { opacity: 0.55; pointer-events: none; }
.result-qnum-wrap { display: inline-flex; align-items: center; }

.result-source { /*@result-source*/
  margin-top: 0.3rem;
  font: 400 0.78rem/1.35 var(--font-ui);
  color: var(--text-secondary);
}

.result-time-block { /*@result-time-chips*/
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-left: auto;
}
.rt-ico { width: 0.85rem; height: 0.85rem; flex-shrink: 0; }
.ico-clock { width: 1em; height: 1em; vertical-align: -0.15em; flex-shrink: 0; } /*@ico-clock*/
.rt-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.22rem 0.6rem;
  border: 1px solid var(--split-border);
  border-radius:var(--radius-pill);
  background: var(--slate-bg);
  font: 400 0.78rem/1.35 var(--font-ui);
  color: var(--text-secondary);
}
.rt-chip b { font-weight: 600; color: var(--text-strong); font-variant-numeric: tabular-nums; }
.rt-chip-total { background: var(--slate-bg-alt); }
.rt-round { display: inline-flex; align-items: center; gap: 0.25rem; }
.rt-round-lbl { color: var(--text-faint); }
.rt-round-sep { color: var(--slate-border-strong); margin: 0 0.15rem; }

.serif-text {
  font-family: var(--font-content);
}

.result-image {
  display: block;
  max-width: 50%;
  max-height: 260px;
  object-fit: contain;
  border-radius:var(--radius-md);
  margin: 0 auto 0.75rem;
}


.q-svg-fig { display: block; margin-left: auto; margin-right: auto; max-height: none; } /*@inline-svg-figure-slot*/ /*@svg-fig-maxheight-none*/

.result-stem {
  font-size: var(--fs-md);
  line-height: var(--lh-content);
  margin-bottom: 0.75rem;
  white-space: pre-wrap;
}


.result-stem ul {  /*@result-stem*/
  white-space: normal;
  list-style: disc;
  margin: 0.5rem 0;
  padding-left: 1.6rem;
}
.result-stem li { margin: 0.2rem 0; }

.result-stem blockquote, .q-stem-preview blockquote, .admin-stem-preview blockquote {  /*@result-stem-3*/
  white-space: pre-wrap;
  margin: var(--para-gap) 0 var(--para-gap) var(--indent-step) !important;
  padding: 0;
  border: none;
  font-style: normal;
}


.result-stem { overflow-x: auto; overscroll-behavior: var(--scroll-chain); padding: 0.3rem 0; } /*@math-stem-breathing-room*/

.result-answer-row { font-size: var(--fs-content); margin-bottom: 0.5rem; }
.correct-val { color: var(--success); }

.result-choices {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.6rem;
}
.result-choice { /*@result-choice*/
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.4rem 0.7rem;
  border-radius:var(--radius-md);
  font-size: var(--fs-content); /*@choice-matches-its-stem*/
  line-height: var(--lh-content);
  border: 1px solid var(--split-border);
}
.rc-correct    { background: var(--correct-bg); border-color: var(--success); }
.rc-wrong      { background: var(--danger-bg); border-color: var(--danger); }
.rc-eliminated    { background: var(--surface-subtle); border-color: var(--slate-mid); opacity: 0.6; } /*@rc-eliminated-border-sharpen*/
.rc-elim-conflict { background: #fef9c3; border-color: var(--success); }
.rc-letter     { font-weight: 700; min-width: 1.2rem; flex-shrink: 0; }

.qc-choices li mjx-container:has(g[data-mml-node="mtr"] ~ g[data-mml-node="mtr"], mjx-mtr ~ mjx-mtr) { vertical-align: top !important; } /*@choice-multirow-topalign*/
.rn-q-choice:has(g[data-mml-node="mtr"] ~ g[data-mml-node="mtr"], mjx-mtr ~ mjx-mtr) { align-items: flex-start; }
.qc-choices li .ans-graph-img,  /*@choice-figure-topalign*/
.q-choices-preview li .ans-graph-img { vertical-align: top; }
.rn-q-choice:has(.ans-graph-img) { align-items: flex-start; }
.rc-text       { flex: 1; }
.rc-elim-text  { color: var(--text-faint); } /*@rc-elim-no-strikethrough*/
.qc-choices li > div:only-of-type, /*@answer-choice-stray-div-guard*/
.q-choices-preview li > div:only-of-type,
.rc-text-inner > div:only-of-type { display: inline; }
.rc-tags             { display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; flex-shrink: 0; }
.rc-tag              { font-size: var(--fs-xs); font-weight: 600; color: var(--success); white-space: nowrap; }
.rc-wrong-tag        { color: var(--danger); }
.rc-elim-tag         { color: var(--text-faint); }
.rc-elim-conflict-tag { color: var(--warning-ink); }

.result-explanation {
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  background: var(--surface-subtle);
  border-radius:var(--radius-md);
  padding: 0.6rem 0.8rem;
  margin-top: 0.4rem;
  border: 1px solid var(--split-border);
  font-family: var(--font-content);
}






.btn-group { display:inline-flex; flex-wrap:wrap; align-items:center; gap:var(--gap-btn); }  /*@btn-group*/



.stu-card-actions { display:flex; flex-wrap:wrap; align-items:center; margin-top:0.6rem; row-gap:0.35rem; column-gap:var(--gap-btn); }

.scores-recent-input { width:4.5rem; }
.scores-recent-wrap { display:flex; align-items:center; gap:0.4rem; font-size: var(--fs-sm); color:var(--text-secondary); }
.scores-filter-form .fb-divider { width:1px; height:1.25rem; background:var(--split-border); flex-shrink:0; }








.ft-card { position: relative; display: flex; flex-direction: column; border-left: 1px solid var(--split-border); } /*@ft-card*/
.ft-badge-assigned { /*@ft-badge-assigned*/
  display: inline-block; vertical-align: middle; font-size: var(--fs-2xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em; padding: 0.05rem 0.4rem; border-radius: var(--radius-pill);
  background: var(--warning-bg); color: var(--warning-ink); border: 1px solid var(--warning-border);
}
.ft-card-top-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.6rem 0 0.2rem; }
.ft-card-section-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 0.2rem; } /*@ft-section-actions-row*/
.ft-wipe-btn { position: absolute; top: 0.4rem; right: 0.5rem; z-index: var(--z-raised); background: none; border: none; cursor: pointer; color: var(--text-muted); font-size: 1.3rem; line-height: 1; padding: 0.05rem 0.35rem; border-radius: var(--radius-sm); } /*@ft-wipe-btn*/
.ft-wipe-btn:hover { color: var(--danger); background: var(--hover-grey); }
.ft-wipe-overlay { position: absolute; inset: 0; z-index: var(--z-dropdown); display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(255,245,245,0.97); border: 1px solid #fca5a5; border-radius: inherit; } /*@ft-wipe-overlay*/
.ft-wipe-box { text-align: center; max-width: 100%; }
.ft-wipe-msg { color: #b91c1c; font-weight: 500; font-size: var(--fs-sm); margin: 0 0 0.7rem; }
.ft-wipe-actions { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.pt-inst-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1rem; } /*@ft-inprogress-instances*/
.pt-inst { position: relative; display: flex; flex-direction: column; min-height: 8.5rem; background: var(--card-bg); border: 1px solid var(--split-border); border-radius: 14px; box-shadow: 0 1px 8px rgba(0,0,0,0.09); overflow: hidden; }
.pt-inst-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.75rem 0.9rem; background: var(--slate-bg, #f4f5f7); border-bottom: 1px solid var(--split-border); }
.pt-inst-title-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem; min-width: 0; flex: 1; } /*@ft-inprogress-adaptive-badge*/
.pt-inst-title { font-weight: 700; font-size: var(--fs-sm); color: var(--text-strong); line-height: 1.25; }
.pt-inst-del { display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; flex-shrink: 0; border: none; border-radius: 999px; background: rgba(0,0,0,0.05); color: var(--text-muted); cursor: pointer; }
.pt-inst-del:hover { color: var(--danger); background: rgba(0,0,0,0.09); }
.pt-inst-del svg { width: 1.05rem; height: 1.05rem; } /*@179g-card-bin-size*/
.pt-inst-body { display: flex; flex-direction: column; gap: 0.9rem; flex: 1; padding: 0.8rem 0.9rem; }
.pt-inst-status { display: flex; align-items: flex-start; gap: 0.4rem; font-size: var(--fs-xs); color: var(--text-muted); line-height: 1.35; }
.pt-inst-clock { width: 0.95rem; height: 0.95rem; flex-shrink: 0; margin-top: 0; } /*@179e-clock-ink-align*/
.pt-inst-actions { display: flex; gap: var(--gap-btn); justify-content: flex-end; margin-top: auto; }
.pt-inst-overlay { position: absolute; inset: 0; z-index: var(--z-raised); display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; background: var(--blackout-fill); border-radius: inherit; } /*@ft-inst-delete-overlay*/
.pt-inst-ov-inner { position: absolute; left: 0; right: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; box-sizing: border-box; } /*@blackout-visible-pane-pin*/
.pt-inst-ov-msg { color: #fff; font-weight: 700; font-size: var(--fs-md); white-space: normal; } /*@blackout-msg-always-wraps*/
.pt-inst-ov-actions { display: flex; gap: 0.6rem; justify-content: flex-end; flex-wrap: nowrap; } /*@blackout-actions-no-wrap-row*/
.pt-ov-btn { padding: 0.35rem 1.2rem; border-radius: 999px; font: 600 var(--fs-sm) var(--font-ui); background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.45); cursor: pointer; white-space: nowrap; flex-shrink: 0; } /*@blackout-btn-no-wrap*/
.pt-ov-btn:hover { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,0.5); }
.dpv-hidden { display: none !important; } /*@dpv-hidden-global*/
.pt-new-card { align-items: center; justify-content: center; gap: 10px; padding: 27px 32px; background: #fff; border: 1px solid var(--ink); box-shadow: none; color: var(--ink); font-weight: 500; font-size: 17px; line-height: 22px; text-align: center; text-decoration: none; } /*@ft-new-test-card*/
.pt-new-card:hover { color: var(--ink); }
.pt-new-ico { display: inline-flex; line-height: 0; }
.pt-new-ico svg { width: 80px; height: 80px; }
.ft-sec { margin-top: 0.7rem; }
.ft-sec-label {
  font-size: var(--fs-xs); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--text-secondary); margin-bottom: 0.35rem;
}
.ft-mod { /*@r-css-14-ft-mods-shadowed-by-ft-results*/
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.15rem 0.5rem; padding: 0.3rem 0;
  border-top: 1px solid var(--section-divider);
}
.ft-mod:first-child { border-top: none; }
.ft-mod-meta { color: var(--text-muted); font-size: var(--fs-xs); flex-shrink: 0; }
.ft-mod-score { font-size: var(--fs-xs); color: var(--text-secondary); text-decoration: none; flex-shrink: 0; }
.ft-mod-score:hover { text-decoration: underline; }
.ft-mod-act { margin-left: auto; display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem; }
.ft-mod-locked { font-size: var(--fs-xs); color: var(--text-faint); font-style: italic; }
.ft-mini-link {
  background: none; border: none; padding: 0; cursor: pointer;
  font-size: var(--fs-xs); color: var(--text-muted); text-decoration: underline;
}
.ft-mini-link:hover { color: var(--text-secondary); }
.ft-card .test-card-status { display: inline-flex; align-items: center; gap: 0.3rem; } /*@ft-card-status-clock*/














body.student-portal .result-image { border: none; background: none; }  /*@body-student-portal-3*/




body.student-portal,
body.admin-portal                                     { background: var(--page-bg); }




body.student-portal .scl-card               { border-top: 4px solid var(--success); }  /*@body-student-portal-6*/
body.student-portal .scl-card-individual    { border-top-color: #0d9488; }  /*@body-student-portal-7*/
body.student-portal .scl-card-onetime       { border-top-color: #d97706; }  /*@body-student-portal-8*/


.rn-stu-grp, .asg-list-stu-grp { /*@blanket-toggles-picker*/
  cursor: pointer; font-size: var(--fs-sm); font-weight: 400; color: var(--text-secondary);
  padding: 0.28rem 0.75rem; user-select: none;
}
.rn-stu-grp:hover, .asg-list-stu-grp:hover { color: #1f2937; }
.rn-stu-grp.selected, .asg-list-stu-grp.selected { font-weight: 700; }
.ms-option:has(#rn-all-students:checked),
.ms-option:has(#asg-list-all-students:checked) { font-weight: 700; }
.ms-dropdown .rn-stu-row { padding-left: 1.35rem; }

.rn-scope-chip { /*@chipgap-scope-chip-top-align*/
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  background: #eef2f7;
  border: 1px solid var(--split-border);
  border-radius:var(--radius-hero);
  padding: 0.3rem 0.7rem;
  font-size: var(--fs-sm);
  color: #334155;
  margin: 0 0 1.25rem;
  line-height: var(--lh-content); /*@chip-line-height-on-container*/
}
.rn-scope-chip.fp-chip { line-height: 1.2; } /*@fp-chip-line-height-optout*/
.rn-scope-chip .lbl { font-weight: 600; }
.rn-scope-chip .x { cursor: pointer; font-weight: 700; color: var(--due-later); text-decoration: none; } /*@chipgap-x-on-flex-start*/
.rn-scope-chip .x:hover { color: #334155; }


.bin-note, .bin-hint { font-size: var(--fs-2xs); color:var(--text-muted); margin:0; text-align:right; max-width:24rem; }  /*@bin-note*/


.rn-card {  /*@rn-card*/
  padding: 0; overflow: hidden;
  background: #fef3c7;
}
.rn-card.rn-shelved { background: var(--danger-bg); }
.rn-card.rn-cleared { background: var(--success-bg); }
.rn-card.rn-binned  { background: var(--slate-bg); }
.rn-card.rn-binned .rn-card-header { background: var(--slate-bg-alt); }
.rn-card.rn-binned .rn-card-qinfo,
.rn-card.rn-binned .rn-card-student { color: var(--text-muted); }

.rn-card-header {
  display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
  padding: 0.65rem 0.9rem; cursor: pointer; user-select: none;
}
.rn-card.rn-shelved .rn-card-header { background: #fff8f8; }
.rn-card.rn-cleared .rn-card-header { background: #f6fff8; }
.rn-card-header:hover { filter: brightness(0.97); }
.rn-card-headlines { display: flex; flex-direction: column; gap: 0.15rem; flex: 1; min-width: 0; }
.rn-card-student { font-weight: 600; font-size: var(--fs-sm); color: var(--slate-ink); }
.rn-card-owner   { font-size: var(--fs-xs); color: var(--text-muted); margin-left: 0.35rem; }
.rn-card-qinfo   { font-size: var(--fs-sm); color: var(--text-secondary); }
.rn-changed-badge {
  font-size: var(--fs-2xs); font-weight: 600; padding: 0.1rem 0.45rem; border-radius:var(--radius-pill);
  background: #fef3c7; color: var(--warning-ink); margin-left: auto;
}
.rn-chevron { font-size: var(--fs-2xs); color: var(--slate-faint); transition: transform var(--t-base); }
details.rn-card[open] > .rn-card-header .rn-chevron { transform: rotate(180deg); }
.rn-card-body { padding: 0 0.9rem 0.75rem; }


.rn-q-reveal { margin-bottom: 0.75rem; }  /*@rn-q-reveal*/
.rn-q-reveal > summary {
  font-size: var(--fs-xs); font-weight: 600; color: var(--text-secondary); cursor: pointer;
  padding: 0.4rem 0; list-style: none; user-select: none;
}
.rn-q-reveal > summary::-webkit-details-marker { display: none; }
.rn-q-reveal > summary::before { content: '▶ '; font-size: var(--fs-2xs); }
details.rn-q-reveal[open] > summary::before { content: '▼ '; }
.rn-q-body { padding: 0.5rem 0.65rem; background: var(--q-box-bg); border: 1px solid var(--split-border); border-radius:var(--radius-md); margin-top: 0.25rem; overflow-x: auto; overscroll-behavior: var(--scroll-chain); font-size: var(--fs-content); }
.rn-q-stem { font-size: 0.85rem; color: var(--slate-ink); margin: 0 0 0.5rem; }
.rn-q-body .result-stem { font-size: var(--fs-content); margin-bottom: 0.5rem; }
.rn-q-body .result-image { max-width: 100%; }
.rn-q-body .result-stem .q-table { font-size: inherit; }
.rn-q-choices { display: flex; flex-direction: column; gap: 0.3rem; }
.rn-q-choice {
  display: flex; gap: 0.5rem; align-items: baseline;
  font-size: var(--fs-sm); padding: 0.25rem 0.4rem; border-radius:var(--radius-chip);
}
.rn-q-choice.rn-correct { background: var(--correct-bg); }
.rn-q-choice.rn-chosen  { background: var(--danger-bg); }
.rn-q-choice.rn-both    { background: var(--correct-bg); outline: 2px solid var(--success); }
.rn-q-letter { font-weight: 600; min-width: 1.1rem; color: var(--text-strong); }
.rn-q-chosen-info { font-size: var(--fs-xs); color: var(--text-muted); margin-top: 0.35rem; font-style: italic; }


.rn-subnote {  /*@rn-subnote*/
  border: 1px solid var(--split-border); border-radius:var(--radius-panel); padding: 0.55rem 0.75rem;
  margin-bottom: 0.5rem; background: var(--card-bg);
}
.rn-subnote:last-child { margin-bottom: 0; }
.rn-subnote-meta {
  display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
.rn-subnote-chose { font-size: var(--fs-xs); font-weight: 600; color: var(--text-strong); }
.rn-subnote-date  { font-size: var(--fs-xs); color: var(--text-muted); }
.rn-acted-by { font-size: var(--fs-2xs); color: var(--text-muted); font-style: italic; }
.rn-subnote-badge {
  font-size: var(--fs-2xs); font-weight: 600; padding: 0.1rem 0.4rem; border-radius:var(--radius-pill);
}
.rn-badge-unread  { background: #fef3c7; color: var(--warning-ink); }
.rn-badge-shelved { background: var(--danger-bg); color: var(--danger-strong); }
.rn-badge-cleared { background: var(--success-bg); color: var(--success-strong); }
.rn-badge-edited  { background: #fef3c7; color: var(--warning-ink); }
.rn-note-text { margin: 0 0 0.4rem; font-size: var(--fs-sm); color: var(--slate-ink); white-space: pre-wrap;
  font-family: var(--font-content); }
.rn-subnote-actions { display: flex; gap: 0.35rem; flex-wrap: wrap; align-items: center; }
.rn-edit-ta {
  background: var(--card-bg); margin-bottom: 0.35rem;
}
.rn-edit-ta:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue-tint); }


.rn-bin-note { border: 1px solid var(--split-border); border-radius:var(--radius-panel); padding: 0.6rem 0.85rem; margin-bottom: 0.75rem; background: var(--slate-bg); }  /*@rn-bin-note*/
.rn-bin-meta  { font-size: var(--fs-xs); color: var(--text-muted); margin-bottom: 0.25rem; }
.rn-bin-text  { margin: 0 0 0.4rem; font-size: var(--fs-sm); color: var(--text-strong); white-space: pre-wrap;
  font-family: var(--font-content); }


.student-edit-input {  /*@student-edit-input*/
  display: block; width: 100%; margin-bottom: 0.25rem;
}


.rn-edit-ta { font-family: var(--font-content); color: var(--slate-ink); }  /*@admin-textarea-prose*/
.result-stem-hl mark.hl-mark          { padding: 0 1px; } /*@mark-background-explicit-class*/
.result-stem-hl mark.hl-yellow        { background: #fef08a; }
.result-stem-hl mark.hl-blue          { background: #bfdbfe; }
.result-stem-hl mark.hl-pink          { background: #fbcfe8; }


.result-note {  /*@result-note*/
  margin-top: 0.75rem;
  padding: 0.6rem 0.85rem;
  border-radius:var(--radius-md);
  font-size: var(--fs-md);
}
.result-note-math { background: #fffbeb; border: 1px solid #fde68a; }
.result-note-hl   { background: var(--success-bg-soft); border: 1px solid #bbf7d0; }
.result-note-label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  margin-bottom: 0.3rem;
}
.result-note p { margin: 0.2rem 0 0; color: var(--exam-ink); }


.result-hl-pair {  /*@result-hl-pair*/
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #d1fae5;
}
.result-hl-pair:first-of-type { border-top: none; margin-top: 0.25rem; }
.result-hl-pair p { margin: 0; }


.hl-note-ref {  /*@hl-note-ref*/
  text-decoration: none;
  color: #0f766e;
  cursor: pointer;
}
.hl-note-ref sup {
  font-size: 0.68em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
  top: -0.42em;
  font-family: var(--font-ui);
  font-weight: 600;
  padding-left: 0.5px;
  white-space: nowrap;
}
.hl-note-ref:hover sup { text-decoration: underline; }

.hl-fnotes {  /*@hl-fnotes*/
  position: relative;
  margin-top: 0.7rem;
  margin-bottom: 0.5rem;
  padding-top: 0.45rem;
}
.hl-fnotes::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 33%;
  border-top: 1px solid var(--split-border);
}
.hl-fnote {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  padding: 0.15rem 0.25rem;
  border-radius:var(--radius-sm);
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--text-secondary);
  transition: background 0.25s;
}
.hl-fnote-num {
  flex: none;
  min-width: 0.9rem;
  font-family: var(--font-ui);
  font-weight: 600;
  color: #0f766e;
}
.hl-fnote-text { flex: 1; }
.hl-fnote.is-lit { background: #ccfbf1; }




.note-dot { display:inline-block; width:6px; height:6px; border-radius:50%; }  /*@note-dot*/
.nd-unread  { background:#eab308; }
.nd-shelved { background:#ef4444; }
.nd-cleared { background:#22c55e; }
.nd-binned  { background:var(--slate-faint); }


.note-counter { display:inline-flex; align-items:center; gap:0.35rem; flex-shrink:0;  /*@note-counter*/
  background:var(--slate-bg-alt); color:#475569; border-radius:var(--radius-pill);
  padding:0.1rem 0.45rem 0.1rem 0.38rem; font-size: var(--fs-2xs); font-weight:700;
  text-decoration:none; line-height:1.4; }
a.note-counter:hover { background:var(--slate-border); }
.note-counter .nc-ic { width:13px; height:13px; flex-shrink:0; }


.note-dots { display:inline-flex; align-items:center; gap:3px; flex-shrink:0;  /*@note-dots*/
  margin-left:0.4rem; text-decoration:none; vertical-align:middle; }
.note-dots .nc-ic { width:13px; height:13px; color:var(--slate-faint); }
.note-dots .note-dot { width:7px; height:7px; }


.title-wrap { display:flex; align-items:center; gap:0.5rem; min-width:0; }  /*@title-wrap*/




.asg-check-body:has(.asg-ff-jump) { display: block; } /*@freeform-jump-to-float*/
.asg-check-body:has(.asg-ff-jump)::after { content: ''; display: block; clear: both; }
.asg-ff-jump { float: right; margin: calc(1.18em - 0.95rem) 0 0.15rem 0.6rem; } /*@jump-btn-sits-on-first-line*/
.asg-check-body:has(.asg-ff-jump) .asg-sub { display: block; } /*@progress-line-keeps-own-row*/
.asg-check-body { flex: 1 1 auto; min-width: 0; } /*@check-body-fills-row*/
.asg-upload-form input[type=file]::file-selector-button { /*@asg-upload-form*/
  margin-right: 0.45rem; padding: 0.18rem 0.5rem; border-radius:var(--radius-sm);
  border: 1px solid var(--soft-border); background: var(--card-bg);
  font-size: var(--fs-xs); color: var(--text-secondary); cursor: pointer; font-family: inherit;
  transition: border-color var(--t-fast), color var(--t-fast);
}
.asg-upload-form input[type=file]::file-selector-button:hover { border-color: var(--sidebar-bg); color: var(--text-strong); }
.asg-upload-form { flex-wrap: wrap; row-gap: 0.35rem; column-gap: 0.4rem; } /*@asg-upload-gap*/
.asg-upload-form input[type=file] { max-width: 100%; }
.asg-ff-clear { display: block; clear: both; margin-top: 0.5rem; } /*@clear-condition-own-line*/

.asg-brief {  /*@asg-brief*/
  border: 1px solid var(--split-border);
  border-top: 4px solid var(--card-accent, var(--due-soon));
  border-radius:0.75rem;
  background: var(--card-bg);
  box-shadow: var(--shadow-xs);
  padding: 0.85rem 1.1rem;
  margin-bottom: 1.25rem;
}
.asg-brief-head { font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--due-ink); }
.asg-brief-body { font-size: var(--fs-md); font-weight: 600; color: var(--text-strong); margin-top: 0.2rem; }
.asg-brief-sub  { font-size: var(--fs-sm); color: var(--text-secondary); margin-top: 0.25rem; }

body.student-portal .asg-card {  /*@body-student-portal-9*/
  border-left: none;
  border-right: none;
  border-top: 4px solid var(--card-accent, var(--due-later));  /*@single-urgency-accent*/
}
body.student-portal .asg-card.asg-due-soon  { --card-accent: var(--due-soon); }  /*@body-student-portal-10*/
body.student-portal .asg-card.asg-done {
  --card-accent: var(--due-done);  /*@border-top-color*/
  opacity: 0.85;
}
body.student-portal .asg-card.asg-uncompletable {
  --card-accent: var(--slate-border-strong);
  background: var(--slate-bg);
  opacity: 0.7;
  pointer-events: none;
}
body.student-portal .asg-card.asg-uncompletable .asg-card-name { color: var(--text-muted); }
body.student-portal .asg-card.asg-uncompletable .asg-unavailable-note {
  font-size: var(--fs-sm);
  color: var(--text-muted);
  font-style: italic;
  margin: 0.4rem 0;
}








.share-flag { font-size: var(--fs-2xs); color: #7c5800; background: #fef3c7; border-radius:var(--radius-pill);
  padding: 0.05rem 0.45rem; font-weight: 600; }
.share-meta { font-size: var(--fs-xs); color: var(--text-muted); }
.swu-temp-tag { font-size: var(--badge-fs-rail); font-weight: var(--badge-fw); color: var(--badge-tier-fyi-ink); background: var(--badge-tier-fyi-bg);
  border: 1px solid var(--badge-tier-fyi-border); border-radius:var(--badge-radius); padding: 0.05rem 0.45rem; } /*@swu-temp-tag-fyi-tokens*/
.shared-badge { display: inline-block; font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 0.02em;
  color: var(--danger-strong); background: var(--danger-bg); border: 1px solid #fecaca; border-radius:var(--radius-pill);
  padding: 0.02rem 0.4rem; vertical-align: middle; white-space: nowrap; flex: 0 0 auto; }
.share-soon-row { background: var(--warning-bg); }
.share-soon-row td:first-child { box-shadow: inset 3px 0 0 var(--warning); }
.share-group-title { font-size: 1.08rem; font-weight: 700; color: #1f2937;
  border-bottom: 2px solid var(--split-border); padding-bottom: 0.3rem; margin: 0 0 0.5rem; }
.share-subhead { font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--text-muted); margin: 0.75rem 0 0.3rem; }
.share-table { width: 100%; table-layout: auto; margin-bottom: 0.4rem; }
.share-table th, .share-table td { padding: 0.5rem 0.6rem; vertical-align: middle;
  white-space: normal; overflow-wrap: anywhere; }
.share-table td.col-name { font-weight: 600; }
.share-actions { display: flex; gap: var(--gap-btn); align-items: center; flex-wrap: wrap;
  justify-content: flex-end; }
.share-actions form { display: inline-flex; gap: 0.25rem; align-items: center; margin: 0; }
.share-actions select.student-edit-input { width: auto; min-width: 84px; padding: 0.12rem 0.3rem;
  font-size: var(--fs-xs); }
.share-actions .pill { padding: 0.15rem 0.5rem; }
.account-form { max-width: 560px; }  /*@account-form*/
.account-card {
  background: var(--card-bg);
  border: 1px solid var(--split-border);
  border-radius:var(--radius-box);
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
}
.account-card-title {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
}
.account-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.55rem 0;
}
.account-row + .account-row { border-top: 1px solid #f1f3f5; }
.account-row label {
  flex: 0 0 160px;
  padding-top: 0.3rem;
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  white-space: nowrap;
}
.account-control { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.account-control input, .account-control select {
  width: 100%;
  max-width: 300px;
}

.official-result-card { max-width: 560px; }  /*@official-result-card*/
.official-result-current { margin-bottom: 0.75rem; }  /*@official-result-current-css*/
.official-result-empty { font-size: var(--fs-sm); color: var(--text-muted); }  /*@official-result-empty-css*/
.official-result-card .official-result-chip { display: inline-block; }  /*@official-result-chip-css*/
[id^="sofficial-"] .official-result-card { max-width: none; margin-bottom: 0; }  /*@rp-pane-official-result-card-fits*/

/*@official-result-form-card*/
.orf-line { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.55rem; }
.orf-field { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.orf-field label { font-size: var(--fs-xs); color: var(--text-secondary); white-space: nowrap;
  display: inline-flex; align-items: center; gap: 0.2rem; }
.orf-field input { width: 4.5rem; max-width: 4.5rem; }
.orf-field-date { flex: 1 1 8rem; min-width: 7rem; }
.orf-field-date select { width: 100%; max-width: 14rem; }
.orf-actions { margin-top: 0.85rem; }

.student-edit-input, .inline-form input:not([type="checkbox"]), .rename-input,  /*@admin-input*/
.inline-num, .pos-input, .tbl-num, .account-control input, .account-control select, .orf-field input, .orf-field select, .scores-recent-input, .question-form input[type="text"] {
  box-sizing: border-box; padding: var(--ctrl-py) var(--ctrl-px); border: 1px solid var(--input-border);
  border-radius:var(--radius-sm); font: 400 var(--ctrl-fs) var(--font-ui); line-height: var(--ctrl-lh); color: var(--text-strong);
  min-height: var(--ctrl-h);
}
.student-edit-input:focus, .inline-form input:not([type="checkbox"]):focus, .rename-input:focus,  /*@admin-input-focus*/
.inline-num:focus, .pos-input:focus, .tbl-num:focus, .account-control input:focus, .account-control select:focus, .orf-field input:focus, .orf-field select:focus, .scores-recent-input:focus, .question-form input[type="text"]:focus {
  border-color: var(--blue); outline: none;
}

.u-card {  /*@u-card*/
  background: #fff;
  border: 1px solid var(--split-border);
  border-radius:0.75rem;
  box-shadow: var(--shadow-xs);
  border-top: 4px solid var(--card-accent, var(--slate-border-strong));
  padding: 1rem 1.15rem;
  transition: box-shadow var(--t-base);
}
.u-card:hover { box-shadow: var(--shadow-card-hover); }


.stu-card { --card-accent: var(--acc); }


.u-tag {  /*@u-tag*/
  font-size: var(--badge-fs); font-weight: var(--badge-fw); padding: var(--badge-pad); border-radius: var(--badge-radius);
  text-transform: var(--badge-case); line-height: var(--badge-lh);
  border: 1px solid transparent; background: var(--badge-tag-neutral-bg); color: var(--badge-tag-neutral-ink);
  display: inline-block; white-space: nowrap;
}
.u-tag--shared     { background: var(--badge-tag-shared-bg); border-color: transparent; color: var(--badge-tag-shared-ink); }
.u-tag--class      { background: var(--badge-tag-neutral-bg); border-color: transparent; color: var(--badge-tag-neutral-ink); }
.u-tag--individual { background: var(--badge-tag-neutral-bg); border-color: transparent; color: var(--badge-tag-neutral-ink); }
.u-tag--locked     { background: var(--badge-tag-locked-bg); border-color: transparent; color: var(--badge-tag-locked-ink); }
.u-tag--done       { background: var(--badge-tag-done-bg); border-color: transparent; color: var(--badge-tag-done-ink); }





.foldout-title { font-weight: 700; font-size: var(--fs-base); }

.stu-foldout {
  margin-top: 0.6rem; padding: 0.65rem 0.8rem; border-radius:var(--radius-panel);
  background: var(--foldout-fill);
  border: 1px solid var(--soft-border);
}



.kb-section { margin-bottom: 1.5rem; } /*@kb-collapse*/
.kb-section > summary.sp-section-title { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; }
.kb-section > summary.sp-section-title::-webkit-details-marker { display: none; }
.kb-section > summary.sp-section-title svg { transition: transform var(--t-base); color: var(--text-muted); }
.kb-section:not([open]) > summary.sp-section-title svg { transform: rotate(180deg); }
.kb-section-count { font-weight: 400; font-size: var(--fs-sm); color: var(--text-muted); margin-left: 0.4rem; } /*@kb-section-count*/

.admin-section > .kb-section:last-child { margin-bottom: 0; } /*@kb-section-in-admin-section*/








.ms-class-header {  /*@ms-class-header-2*/
  padding: 0.3rem 0.75rem 0.15rem;
  font-size: var(--fs-2xs); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--text-faint); cursor: pointer;
  user-select: none; margin-top: 0.25rem;
}
.ms-class-header:first-child { margin-top: 0; }  /*@ms-class-header*/
.ms-class-header:hover { color: var(--text-strong); }
.ms-class-header-active { color: var(--link-ink); }
.ms-class-member { padding-left: 0.8rem; }  /*@ms-class-member*/


/* DOCS+EDIT-FIRST: read code-docs/static/css/style.css.md before editing (comments live there). */
/*@cf-split*/
.ap-content.cf2-locked, .sp-content.cf2-locked { display:flex; flex-direction:column; height:100%; min-height:0;
  box-sizing:border-box; } /*@cf-locked-viewport*/
/*@cf-locked-fills-ap-main-not-the-viewport*/
.cf2-tabstrip { display:flex; align-items:flex-end; justify-content:space-between; gap:0.5rem;
  flex-wrap:wrap; flex:0 0 auto; margin-bottom:0; } /*@cf-tabstrip*/ /*@cf-tabstrip-no-own-border*/
.cf2-tabstrip .folder-tabs { margin:0; }
/*@cf-add-popout-one-row*/
#addstu-panel .foldout-title, #addcls-panel .foldout-title, #mergecls-panel .foldout-title {
  font-size:var(--fs-sm); margin-bottom:0.45rem; }
#addstu-panel, #addcls-panel { max-width:min(44rem, calc(100vw - 2rem)); } /*@cf-add-popout-wide-enough-for-one-row*/
#addstu-panel .inline-form, #addcls-panel .inline-form { flex-direction:row; flex-wrap:nowrap;
  align-items:center; }
#addstu-panel .inline-form input, #addcls-panel .inline-form input,
#addstu-panel .inline-form select, #addcls-panel .inline-form select { flex:1 1 0; min-width:0; }
#addstu-panel .inline-form .fp-composer-actions, #addcls-panel .inline-form .fp-composer-actions {
  flex-direction:row; flex:0 0 auto; }
.cf2-panel { flex:1 1 auto; min-height:0; display:flex; padding:0; overflow:hidden; } /*@cf-panel*/
.cf2-split { flex:1 1 auto; min-height:0; width:100%; display:grid;
  grid-template-columns:300px 1fr; gap:0; } /*@cf-split-grid*/
.cf2-rail { min-height:0; overflow-y:auto; overscroll-behavior:var(--scroll-chain);
  padding:0.7rem var(--rail-inset); border-right:1px solid var(--split-border); } /*@cf-rail-scrolls*/
.cf2-rail .ros-sechead, .cf2-rail .ros-secfold > summary.ros-sechead, .cf2-rail .ros-secnote { display:none; } /*@cf-rail-drops-the-scale-header-and-note-tabs-already-label-the-group*/
/*@cf-rail-group-visibility*/
.cf2-rail [data-group] { display:none; } /*@cf-rail-group-hidden-by-default*/
.cf2-rail [data-group].cf-tab-active { display:block; } /*@cf-rail-group-active-tab*/
.cf2-rail .ros-bars, .cf2-rail .ros-tot, .cf2-rail .ros-acts { display:none !important; } /*@cf-rail-row-is-compact*/
.cf2-rail .ros-row { display:block; padding:0.5rem 0.6rem; border:0; border-left:var(--rail-sel-bar-w) solid transparent; border-radius:var(--rail-row-radius); margin-bottom:0; } /*@cf-rail-row-selection-bar-slot*/
.cf2-detail { min-height:0; overflow-y:auto; overscroll-behavior:var(--scroll-chain);
  padding:1.1rem 1.4rem 2rem; } /*@cf-detail-scrolls*/
.cf2-detail-title { font-size:var(--fs-lg); font-weight:700; color:var(--ink-strong); margin-bottom:0.8rem; } /*@cf-detail-title*/
.cf2-detail-empty { font-size:var(--fs-sm); color:var(--text-faint); padding:0.5rem; } /*@cf-detail-empty*/
/*@cf-detail-rp-slot-fix*/
.cf2-detail .rp-slot { flex-wrap:wrap; row-gap:calc(var(--ctrl-py) * 0.6); } /*@cf-detail-rp-slot-wraps*/
.cf2-detail .rp-slot .rm { margin-left:auto; } /*@cf-detail-rp-slot-rm-still-reads-right-aligned-on-wrap*/
/*@cf-detail-strip-fold-wrapper*/
.cf2-detail .ros-fold, .cf2-detail .cls-fold, .cf2-detail .clsmeta { background:transparent; border:0; padding:0;
  border-radius:0; margin-bottom:0; overflow:visible; } /*@cf-detail-strips-fold-wrapper*/
.cf2-detail .ros-fold.open, .cf2-detail .cls-fold.open { display:block; }

/*@cls-detail-boxes*/
.cf2-detail .cls-ctrlbox, .cf2-detail .rp-ctrlbox, .cf2-detail .cls-rosterbox { background:var(--card-bg);
  border:1px solid var(--split-border); border-radius:var(--radius-sm);
  padding:0.6rem 0.7rem 0.7rem; margin:0 0 0.55rem; } /*@cls-ctrlbox-rosterbox-shell*/
.cf2-detail .cls-fold > .rp.rp-cls.cls-ctrlbox { margin:0 0 0.55rem; } /*@cls-ctrlbox-margin-override-legacy-fold-rule*/
.cf2-detail .cls-ctrlbox > .rp-tabs, .cf2-detail .rp-ctrlbox > .rp-tabs { padding:0; margin:0; border:0; } /*@cls-ctrlbox-tabs-flush*/
/*@cls-ctrlbox-flat-foldout*/
.cf2-detail .cls-ctrlbox .rp-pane, .cf2-detail .rp-ctrlbox .rp-pane { margin:0; padding:0; background:transparent; border:0; border-radius:0; }
.cf2-detail .cls-ctrlbox .rp-pane:not([style*="none"]), .cf2-detail .rp-ctrlbox .rp-pane:not([style*="none"]) { margin-top:0.55rem; padding-top:0.55rem;
  border-top:1px solid var(--split-border); } /*@cls-ctrlbox-open-pane-separator*/
/*@cls-ctrlbox-flat-groups*/
.cf2-detail .cls-ctrlbox .rp-pnl, .cf2-detail .rp-ctrlbox .rp-pnl { background:transparent; border:0; border-radius:0; padding:0; }
.cf2-detail .cls-ctrlbox .orb-box, .cf2-detail .rp-ctrlbox .orb-box { background:transparent; border:0;
  border-radius:0; padding:0; margin:0; } /*@ctrlbox-official-results-debox*/
.cf2-detail .cls-ctrlbox .rp-grp, .cf2-detail .cls-ctrlbox .rp-danger,
.cf2-detail .rp-ctrlbox .rp-grp, .cf2-detail .rp-ctrlbox .rp-danger { background:transparent; border:0;
  border-radius:0; padding:0; margin:0; }
.cf2-detail .cls-ctrlbox .rp-grp-h, .cf2-detail .rp-ctrlbox .rp-grp-h { margin-bottom:0.4rem; }
.cf2-detail .cls-ctrlbox .rp-col > .rp-grp + .rp-grp,
.cf2-detail .rp-ctrlbox .rp-col > .rp-grp + .rp-grp { margin-top:calc(var(--ctrl-px) * 1.1); } /*@ctrlbox-stacked-group-gap*/
.cf2-detail .cls-ctrlbox .ros-acct.ros-arch-acts, .cf2-detail .rp-ctrlbox .ros-acct.ros-arch-acts { margin:0; }
/*@ctrlbox-twocol-r1c*/
.cf2-detail .cls-ctrlbox .rp-cols .rp-col + .rp-col,
.cf2-detail .rp-ctrlbox .rp-cols .rp-col + .rp-col { border-left:1px solid var(--split-border);
  padding-left:calc(var(--ctrl-px) * 1.4); } /*@ctrlbox-twocol-separator*/
@media (max-width:800px) { /*@ctrlbox-twocol-stacks*/
  .cf2-detail .cls-ctrlbox .rp-cols .rp-col + .rp-col,
  .cf2-detail .rp-ctrlbox .rp-cols .rp-col + .rp-col { border-left:0; padding-left:0;
    border-top:1px solid var(--split-border); padding-top:calc(var(--ctrl-px) * 1.4); margin-top:calc(var(--ctrl-px) * 1.4); } /*@ctrlbox-twocol-separator-stacks*/
}

/*@cls-rosterbox-head*/
.cf2-detail .cls-rosterbox .cls-memhead { border:0; padding:0 0 0.5rem; grid-template-columns:none;
  display:flex; align-items:center; justify-content:space-between; }
.cf2-detail .cls-rosterbox .ros-overall-h { display:none; }
.cf2-detail .cls-rosterbox .cls-members { padding:0; }
.cf2-detail .cls-rosterbox .ros-row { display:flex !important; align-items:center; justify-content:space-between;
  gap:0.6rem; padding:0.45rem 0.5rem; border:0 !important; border-radius:var(--rail-row-radius);
  margin-bottom:0.1rem; background:transparent; }
.cf2-detail .cls-rosterbox .ros-row:hover { background:var(--hover-grey); }
.cf2-detail .cls-rosterbox .ros-row.open { background:var(--slate-bg); } /*@cls-rosterbox-row-still-opens-in-place*/
.cf2-detail .cls-rosterbox .ros-idcell { padding-left:0 !important; flex:1 1 auto; min-width:0; }
.cf2-detail .cls-rosterbox .ros-nm, .cf2-detail .cls-rosterbox .ros-sub2 { padding-left:0 !important; }
.cf2-detail .cls-rosterbox .ros-bars { display:none !important; }
.cf2-detail .cls-rosterbox .ros-tot { font-weight:700; font-size:var(--fs-sm); flex:0 0 auto; }
.cf2-detail .cls-rosterbox .ros-acts { gap:0.2rem; flex:0 0 auto; }
.cf2-detail .cls-rosterbox .ros-acts .pill-icon svg { width:1rem; height:1rem; }

@media (max-width:760px) {
  .cf2-split { grid-template-columns:1fr; }
  .cf2-tabstrip { flex-direction:column; align-items:stretch; }
}

