/* PRIM3 course-feed additions. Keep the LMS conventional; the brand lives in
   proportion, type, approved artwork and signal-red accents rather than a game HUD. */
body:has(#courseGate:not([hidden])) .p3-reset{display:none}
.p3-id{grid-template-columns:auto minmax(0,1fr);align-items:center;text-align:left;gap:.65rem}
.p3-id__mark{width:34px;height:34px;object-fit:cover;border-radius:3px;display:block}
.p3-id>div{display:grid;gap:.12rem}
.p3-gate{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:2rem 1rem;background:#0b0a09;color:#f4efe6}
.p3-gate[hidden]{display:none!important}
.p3-gate__card{width:min(560px,100%);padding:clamp(1.5rem,5vw,2.6rem);border:1px solid rgba(244,239,230,.18);background:#151310;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.p3-gate__mark{width:72px;height:72px;border-radius:5px;object-fit:cover;display:block;margin-bottom:1.25rem}
/* The full lockup, not a square crop: it is a wide composition and the
   wordmark has to be legible. Transparent PNG, so the card shows through. */
.p3-gate__lockup{display:block;width:min(260px,88%);height:auto;margin:0 0 1.1rem -.5rem;margin-left:-.3rem}
@media (min-width: 620.02px) { .p3-gate__lockup { width: min(320px,80%); margin-left: -.5rem; } }
.p3-gate__eyebrow{margin:0 0 .55rem;font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#e35a5d}
.p3-gate h1{margin:0;font-size:clamp(2.1rem,7vw,4rem);line-height:.96;text-transform:uppercase;overflow-wrap:break-word}
.p3-gate p{color:#c8c0b3;line-height:1.65;max-width:46ch}.p3-gate strong{color:#fff}
/* Two audiences on the gate: someone who wants to learn, and someone who
   teaches or wants to partner. Same card, same system, no new visual language. */
.p3-gate__audience{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;margin-top:1.4rem}
.p3-gate__aud{padding:.95rem 1rem;border:1px solid rgba(244,239,230,.14);background:#0f0e0c}
.p3-gate__aud h2{margin:0 0 .4rem;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f4efe6}
.p3-gate__aud p{margin:0;font-size:.82rem;line-height:1.55;color:#b9b1a5;max-width:none}
.p3-gate__aud-link{display:inline-block;margin-top:.6rem;font-size:.76rem;font-weight:800;letter-spacing:.04em;color:#e35a5d;text-decoration:none;border-bottom:1px solid rgba(227,90,93,.45);padding-bottom:1px}
.p3-gate__aud-link:hover{color:#fff;border-bottom-color:#fff}
@media (min-width: 620.02px) { .p3-gate__audience { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
.p3-gate__actions{display:grid;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.p3-gate__actions a{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.7rem 1rem;border:1px solid #e5383b;text-decoration:none;font-weight:900;letter-spacing:.04em;width:100%}.p3-gate__actions a:first-child{background:#db3538;color:#fff}.p3-gate__actions a:last-child{color:#f4efe6;background:transparent}
.p3-sourcebar{display:flex;align-items:center;gap:.65rem;min-height:38px;padding:.55rem .75rem;border:1px solid var(--p3-line);background:#eae6dd;font-size:.61rem;letter-spacing:.06em;text-transform:uppercase;color:var(--p3-muted);flex-wrap:wrap}
.p3-sourcebar__light{width:7px;height:7px;border-radius:50%;background:var(--p3-warn);box-shadow:0 0 0 3px rgba(139,100,25,.12)}
.p3-sourcebar.is-live .p3-sourcebar__light{background:var(--p3-ok);box-shadow:0 0 0 3px rgba(31,107,73,.12)}
.p3-sourcebar.is-error .p3-sourcebar__light{background:var(--p3-accent);box-shadow:0 0 0 3px rgba(181,42,45,.12)}
.p3-sourcebar b{color:var(--p3-ink);font-size:.64rem}.p3-sourcebar small{margin-left:0;font-weight:900;color:var(--p3-warn)}
.p3-sourcebar.is-live small{color:var(--p3-ok)}.p3-sourcebar.is-error small{color:var(--p3-accent)}
.p3-syllabus__intro{margin:-.65rem 0 1.35rem;color:var(--p3-muted);font-size:.8rem;line-height:1.5}
.p3-season{margin-top:1.4rem}.p3-season:first-child{margin-top:0}.p3-season__head{display:flex;justify-content:space-between;align-items:center;padding:.55rem .3rem;border-bottom:2px solid var(--p3-ink);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.p3-season__head span:last-child{color:var(--p3-muted);font-weight:700}
.p3-unit-label{display:flex;justify-content:space-between;gap:.8rem;align-items:start;padding:.8rem .3rem .45rem;margin-top:.75rem;border-bottom:1px solid var(--p3-line);background:#f6f2ea;flex-direction:column}.p3-unit-label b{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.p3-unit-label span{font-size:.64rem;color:var(--p3-muted);text-align:left}
.p3-module-list{border-top:0;display:block}
.p3-module.is-building{color:var(--p3-muted)}.p3-module.is-building .p3-module__state{color:var(--p3-accent)}
.p3-module__title small{line-height:1.35}
.p3-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.15rem}.p3-meta span{border:1px solid var(--p3-line);padding:.35rem .48rem;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--p3-muted);background:#faf7f0}
.p3-concepts,.p3-provenance{padding:clamp(1.5rem,4vw,3.5rem);border-bottom:1px solid var(--p3-line)}
.p3-concept-list{display:flex;flex-wrap:wrap;gap:.55rem}.p3-concept-list span{padding:.5rem .65rem;background:#ece8df;border:1px solid var(--p3-line);font-size:.76rem;font-weight:700}.p3-concept-list .is-exam{background:#fff5e8;border-style:dashed;color:#6b4d18}
.p3-reading.is-building{background:#f0ece3}.p3-reading.is-building #readingBody{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.94rem;line-height:1.6}.p3-reading.is-building .p3-secondary{display:none}
.p3-build-note{padding:1rem 1.1rem;border-left:3px solid var(--p3-accent);background:#fffdf8;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:.86rem!important;line-height:1.55!important}
.p3-labroles{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:1rem}.p3-labroles div{padding:.8rem;border:1px solid var(--p3-line);background:#fff}.p3-labroles small{display:block;color:var(--p3-muted);font-size:.6rem;font-weight:900;letter-spacing:.1em;margin-bottom:.35rem}.p3-labroles b{font-size:.82rem}
.p3-provenance p{max-width:760px;color:var(--p3-muted);font-size:.84rem;line-height:1.55}.p3-provenance ul{margin:1rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem}.p3-provenance li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;overflow-wrap:anywhere;color:#4d4942}.p3-provenance code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#ece8df;padding:.12rem .28rem}
.p3-assessment.is-building{background:#f7f4ed}.p3-assessment.is-building form,.p3-assessment.is-building .p3-quiz-actions{display:none}
.p3-source-error{padding:1rem;border-left:3px solid var(--p3-accent);background:var(--p3-accent-soft);font-size:.82rem;line-height:1.5}
.p3-module:nth-child(odd) { border-right: 0; }
@media (min-width: 980.02px) {
  .p3-sourcebar { flex-wrap: nowrap; }
  .p3-sourcebar small { margin-left: auto; }
  .p3-labroles { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 620.02px) {
  .p3-id__mark { width: 38px; height: 38px; }
  .p3-gate__actions { display: flex; }
  .p3-gate__actions a { width: auto; }
  .p3-sourcebar { font-size: .68rem; }
  .p3-unit-label { align-items: end; flex-direction: row; }
  .p3-unit-label span { text-align: right; }
  .p3-meta { gap: .45rem; }
}
