/* AP® Biology entry pages and trainer, on top of pages.css: the justification
   trainer (pages/justify.js) and the unit practice tests
   (scripts/lib/apbio-entry.mjs). Forked from calculus/assets/pages/entry.css
   (no score calculator or equations table here). Kept out of pages.css so the
   exams page does not carry them. */
.bio-js-how summary{cursor:pointer;font:900 16px var(--font-ui);color:var(--cink);min-height:44px;display:flex;align-items:center;}
.bio-js-how[open] summary{margin-bottom:6px;}
.bio-js-nav span{color:var(--muted);}
@media (max-width:640px){
  body[data-app="justify"] .bio-hero{margin-top:10px;padding:14px 16px;border-radius:16px;}
  body[data-app="justify"] .bio-hero .eyebrow{margin-bottom:4px;}
  body[data-app="justify"] .bio-hero h1{font-size:22px;line-height:1.2;margin:0;}
  body[data-app="justify"] .bio-hero .lede{display:none;}
}
.bio-js-steps{margin:0 0 8px;padding-left:22px;}
.bio-js-steps li{margin:4px 0;}
.bio-js-card .bio-js-title{margin:4px 0 12px;font-size:21px;}
.bio-js-card .bio-js-title:focus{outline:none;}
.bio-js-prompt{font-size:16px;margin:14px 0;}
.bio-js-check{margin:18px 0 0;}
.bio-js-check h2:focus{outline:none;}
.bio-js-yours{margin:0 0 12px;padding:10px 12px;border-radius:10px;border:2px dashed var(--line);}
.bio-js-yours p{margin:0;overflow-wrap:anywhere;}
.bio-js-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:14px 0;}
.bio-js-model{padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--white);}
.bio-js-model.is-earns{border-color:var(--cink);background:var(--ctint);}
.bio-js-model p{margin:0 0 8px;}
.bio-js-model .bio-js-why{margin:0;font-size:14px;}
.bio-js-model .bio-fq-sample-k{font:900 11.5px var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--cink);}
.bio-js-model.is-misses .bio-fq-sample-k{color:var(--muted);}
.bio-js-empty{color:var(--ink);}
.bio-entry .bio-qs{margin:16px 0;}
.bio-cards-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px;}
.bio-sample-done{margin:14px 0;}

/* 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 .bio-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 .bio-ls-jcard .bio-js-title{margin:0;font:900 var(--ls-l)/1.25 var(--font-ui);letter-spacing:-.01em;}
.ls-root .bio-ls-jcard .bio-stim{margin:0;padding:12px 14px;border-radius:16px;background:var(--surface2);border:0;font-size:var(--ls-m);}
.ls-root .bio-ls-jcard .bio-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 .bio-ls-jcard .bio-js-prompt{margin:0;font:800 var(--ls-m)/1.45 var(--font-ui);}
.ls-root .bio-ls-jcard .bio-fq-alabel{font:800 var(--ls-s) var(--font-ui);color:var(--muted);}
.ls-root .bio-ls-jcard .bio-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 .bio-ls-jcard .bio-fq-answer:focus{outline:none;box-shadow:inset 0 0 0 2px var(--cink);}
.ls-root .bio-ls-jcard > .bio-small{margin:0;font-size:var(--ls-s);}
.ls-root .bio-pr-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0;}
.ls-root .bio-pr-actions > *{flex:1 1 auto;}
.ls-root .bio-ls-jnav{margin:0;}
.ls-root .bio-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 .bio-ls-jnav span{display:none;}
.ls-sheet .bio-js-check{margin:0;}
.ls-sheet .bio-js-check h2{font:900 var(--ls-l)/1.25 var(--font-ui);margin:0 0 10px;}
.ls-sheet .bio-js-yours{border-radius:14px;}
.ls-sheet .bio-fq-sample-k,.ls-sheet .bio-js-model .bio-fq-sample-k{font:800 var(--ls-s) var(--font-ui);text-transform:none;letter-spacing:0;}
.ls-sheet .bio-js-models{grid-template-columns:1fr;}
.ls-sheet .bio-js-model{border-radius:16px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);}
.ls-sheet .bio-js-model.is-earns{box-shadow:inset 0 0 0 2px var(--cink);}
.ls-sheet .bio-fq-rpart{margin:0;padding:0;border:0;}
.ls-sheet .bio-fq-rpart legend{font:800 var(--ls-s) var(--font-ui);color:var(--muted);padding:0;margin-bottom:6px;}
.ls-sheet .bio-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 .bio-js-how summary{color:var(--ink);pointer-events:none;min-height:0;}
.ls-sheet .bio-js-check[hidden]{display:none;}
.ls-root .bio-ls-jlist{display:flex;flex-direction:column;gap:10px;}
.ls-root .bio-ls-jlist .bio-fq-card{border:0;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:16px;}
.ls-root .bio-ls-jlist .bio-fq-card-k{font:800 var(--ls-s) var(--font-ui);text-transform:none;letter-spacing:0;}
.ls-root .bio-ls-jlist #bio-js-count{margin:0;}
.ls-root .bio-fq-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;}
.ls-root .bio-fq-filters .bio-pr-field{display:flex;flex-direction:column;gap:4px;font:800 var(--ls-s) var(--font-ui);color:var(--muted);}
.ls-root .bio-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);}

.ls-root .bio-ls-jcard .bio-js-prompt{color:var(--ink);} .ls-root .bio-ls-jcard .bio-stim{box-shadow:none;}
