/* AP® Precalculus entry pages and trainer, on top of pages.css: the
   "Make it specific" trainer (pages/justify.js), the
   formulas page and the unit practice tests
   (scripts/lib/apprecalc-entry.mjs). Kept out of pages.css so the exams page
   does not carry them. */
.pcalc-js-how summary{cursor:pointer;font:900 16px var(--font-ui);color:var(--cink);min-height:44px;display:flex;align-items:center;}
.pcalc-js-how[open] summary{margin-bottom:6px;}
.pcalc-js-nav span{color:var(--muted);}
@media (max-width:640px){
  body[data-app="justify"] .pcalc-hero{margin-top:10px;padding:14px 16px;border-radius:16px;}
  body[data-app="justify"] .pcalc-hero .eyebrow{margin-bottom:4px;}
  body[data-app="justify"] .pcalc-hero h1{font-size:22px;line-height:1.2;margin:0;}
  body[data-app="justify"] .pcalc-hero .lede{display:none;}
}
.pcalc-js-steps{margin:0 0 8px;padding-left:22px;}
.pcalc-js-steps li{margin:4px 0;}
.pcalc-js-card .pcalc-js-title{margin:4px 0 12px;font-size:21px;}
.pcalc-js-card .pcalc-js-title:focus{outline:none;}
.pcalc-js-prompt{font-size:16px;margin:14px 0;}
.pcalc-js-check{margin:18px 0 0;}
.pcalc-js-check h2:focus{outline:none;}
.pcalc-js-yours{margin:0 0 12px;padding:10px 12px;border-radius:10px;border:2px dashed var(--line);}
.pcalc-js-yours p{margin:0;overflow-wrap:anywhere;}
.pcalc-js-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:14px 0;}
.pcalc-js-model{padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--white);}
.pcalc-js-model.is-earns{border-color:var(--cink);background:var(--ctint);}
.pcalc-js-model p{margin:0 0 8px;}
.pcalc-js-model .pcalc-js-why{margin:0;font-size:14px;}
.pcalc-js-model .pcalc-fq-sample-k{font:900 11.5px var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--cink);}
.pcalc-js-model.is-misses .pcalc-fq-sample-k{color:var(--muted);}
.pcalc-js-empty{color:var(--ink);}
.pcalc-eq{width:100%;border-collapse:collapse;font-size:14.5px;}
.pcalc-eq th,.pcalc-eq td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--line);}
.pcalc-eq thead th{font:900 12.5px var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.pcalc-eq-f{font:700 15px var(--font-mono, monospace);white-space:normal;color:var(--cink);}
.pcalc-eq tbody th{min-width:150px;}
/* Fixed columns so a long formula cannot squeeze the words; MathML does not wrap, so it scrolls in its cell.
   From 720 px: below that the columns size to their content and the whole table scrolls in its (focusable) region. */
@media (min-width: 720px){
  .pcalc-eq{table-layout:fixed;}
  .pcalc-eq thead th:nth-child(1){width:34%;} .pcalc-eq thead th:nth-child(2){width:25%;} .pcalc-eq thead th:nth-child(3){width:27%;} .pcalc-eq thead th:nth-child(4){width:14%;}
}
.pcalc-eq-f{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0 4px;}
@media (max-width: 719px){ .pcalc-eq-f{max-width:none;overflow:visible;} }
.pcalc-eq-not li{margin:8px 0;}
.pcalc-entry .pcalc-qs{margin:16px 0;}
.pcalc-cards-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px;}
.pcalc-sample-done{margin:14px 0;}
@media (max-width:560px){
  .pcalc-eq thead{display:none;}
  .pcalc-eq tr{display:block;padding:8px 0;border-bottom:1px solid var(--line);}
  .pcalc-eq th,.pcalc-eq td{display:block;border:0;padding:3px 0;}
  .pcalc-eq tbody th{min-width:0;}
}
.pcalc-eq-tools{display:block;margin-top:6px;font-weight:700;}
.pcalc-eq-tools a{display:inline-block;min-height:24px;}

/* Justification trainer on the Tool Studio (justify.js studio()): the
   prompt and the answer box are the stage; no card inside the stage card. */
.ls-root .pcalc-ls-jcard{margin:0;padding:0;border:0;background:none;box-shadow:none;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;}
.ls-root .pcalc-ls-jcard .pcalc-js-title{margin:0;font:900 var(--ls-l)/1.25 var(--font-ui);letter-spacing:-.01em;}
.ls-root .pcalc-ls-jcard .pcalc-stim{margin:0;padding:12px 14px;border-radius:16px;background:var(--surface2);border:0;font-size:var(--ls-m);}
.ls-root .pcalc-ls-jcard .pcalc-stim-k{font:800 var(--ls-s) var(--font-ui);color:var(--muted);text-transform:none;letter-spacing:0;margin:0 0 4px;}
.ls-root .pcalc-ls-jcard .pcalc-js-prompt{margin:0;font:800 var(--ls-m)/1.45 var(--font-ui);}
.ls-root .pcalc-ls-jcard .pcalc-fq-alabel{font:800 var(--ls-s) var(--font-ui);color:var(--muted);}
.ls-root .pcalc-ls-jcard .pcalc-fq-answer{flex:1 0 120px;min-height:120px;border:0;border-radius:16px;box-shadow:inset 0 0 0 2px var(--line);font:600 var(--ls-m)/1.5 var(--font-ui);padding:12px 14px;resize:none;}
.ls-root .pcalc-ls-jcard .pcalc-fq-answer:focus{outline:none;box-shadow:inset 0 0 0 2px var(--cink);}
.ls-root .pcalc-ls-jcard > .pcalc-small{margin:0;font-size:var(--ls-s);}
.ls-root .pcalc-pr-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0;}
.ls-root .pcalc-pr-actions > *{flex:1 1 auto;}
.ls-root .pcalc-ls-jnav{margin:0;}
.ls-root .pcalc-ls-jnav a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:14px;background:var(--surface2);color:var(--ink);font:700 var(--ls-m) var(--font-ui);text-decoration:none;}
.ls-root .pcalc-ls-jnav span{display:none;}
.ls-sheet .pcalc-js-check{margin:0;}
.ls-sheet .pcalc-js-check h2{font:900 var(--ls-l)/1.25 var(--font-ui);margin:0 0 10px;}
.ls-sheet .pcalc-js-yours{border-radius:14px;}
.ls-sheet .pcalc-fq-sample-k,.ls-sheet .pcalc-js-model .pcalc-fq-sample-k{font:800 var(--ls-s) var(--font-ui);text-transform:none;letter-spacing:0;}
.ls-sheet .pcalc-js-models{grid-template-columns:1fr;}
.ls-sheet .pcalc-js-model{border-radius:16px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);}
.ls-sheet .pcalc-js-model.is-earns{box-shadow:inset 0 0 0 2px var(--cink);}
.ls-sheet .pcalc-fq-rpart{margin:0;padding:0;border:0;}
.ls-sheet .pcalc-fq-rpart legend{font:800 var(--ls-s) var(--font-ui);color:var(--muted);padding:0;margin-bottom:6px;}
.ls-sheet .pcalc-js-how{margin:0;padding:14px 0 0;border:0;border-top:1px solid var(--line-soft);background:none;box-shadow:none;border-radius:0;}
.ls-sheet .pcalc-js-how summary{color:var(--ink);pointer-events:none;min-height:0;}
.ls-sheet .pcalc-js-check[hidden]{display:none;}
.ls-root .pcalc-ls-jlist{display:flex;flex-direction:column;gap:10px;}
.ls-root .pcalc-ls-jlist .pcalc-fq-card{border:0;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:16px;}
.ls-root .pcalc-ls-jlist .pcalc-fq-card-k{font:800 var(--ls-s) var(--font-ui);text-transform:none;letter-spacing:0;}
.ls-root .pcalc-ls-jlist #pcalc-js-count{margin:0;}
.ls-root .pcalc-fq-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;}
.ls-root .pcalc-fq-filters .pcalc-pr-field{display:flex;flex-direction:column;gap:4px;font:800 var(--ls-s) var(--font-ui);color:var(--muted);}
.ls-root .pcalc-fq-filters select{width:100%;min-height:48px;padding:0 12px;border:0;border-radius:14px;background:var(--surface2);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font:700 var(--ls-m) var(--font-ui);}

/* Reference pages on the calm layout (pages/calm-ref.js): the slim bar,
   then the page in calm type (13 / 16 / 22), no caps kickers, no hero. */
body.pcalc-calm-ref main.pcalc-entry{max-width:760px;margin:0 auto;padding:4px 16px 32px;font:600 16px/1.6 var(--font-ui);color:var(--ink);}
body.pcalc-calm-ref main.pcalc-entry .pcalc-ref-lede{margin:8px 0 20px;font:700 22px/1.35 var(--font-ui);letter-spacing:-.01em;color:var(--ink);}
body.pcalc-calm-ref main.pcalc-entry .xsection{margin:0;padding:22px 0 0;border:0;background:none;box-shadow:none;border-radius:0;}
body.pcalc-calm-ref main.pcalc-entry .xsection + .xsection{margin-top:22px;border-top:1px solid var(--line-soft);}
body.pcalc-calm-ref main.pcalc-entry h2{margin:0 0 10px;font:900 22px/1.25 var(--font-ui);letter-spacing:-.01em;text-transform:none;color:var(--ink);}
body.pcalc-calm-ref main.pcalc-entry p,body.pcalc-calm-ref main.pcalc-entry li{font-size:16px;line-height:1.6;}
body.pcalc-calm-ref main.pcalc-entry .pcalc-small{font-size:13px;}
body.pcalc-calm-ref main.pcalc-entry table{font-size:13px;}
body.pcalc-calm-ref main.pcalc-entry th{text-transform:none;letter-spacing:0;}
body.pcalc-calm-ref .pcalc-foot{max-width:760px;margin:0 auto;padding:0 16px 24px;}
@media (min-width:1000px){ body.pcalc-calm-ref main.pcalc-entry{padding-top:8px;} }
.ls-root .pcalc-ls-jcard .pcalc-js-prompt{color:var(--ink);} .ls-root .pcalc-ls-jcard .pcalc-stim{box-shadow:none;}
/* "Make it specific": the builder under the checklist (pages/justify.js, carried from AP® Psychology). */
.pcalc-cl{display:flex;flex-direction:column;gap:12px;margin:6px 0;}
.pcalc-cl-slot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font:800 14px var(--font-ui);}
.pcalc-cl-slot select{width:100%;max-width:100%;min-height:44px;padding:8px 10px;border-radius:12px;border:2px solid var(--line, rgba(0,0,0,0.2));background:var(--paper);color:var(--ink);font:600 15px var(--font-ui);}
.pcalc-cl-slot select:focus-visible{outline:3px solid var(--cink);outline-offset:2px;}
.pcalc-cl-slot .pcalc-mark{margin-left:0;}
.pcalc-js-build{margin-top:14px;}
.pcalc-js-bact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.pcalc-js-bfb:empty{display:none;}
.pcalc-js-bfb{margin-top:8px;}
