:root{
  --p3-paper:#f4f1ea;
  --p3-ink:#171717;
  --p3-muted:#68655f;
  --p3-line:#d7d1c5;
  --p3-panel:#fffdf8;
  --p3-dark:#121212;
  --p3-accent:#b52a2d;
  --p3-accent-soft:#f1d9d8;
  --p3-ok:#1f6b49;
  --p3-warn:#8b6419;
  --p3-lock:#8f8b84;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.prim3-lms{margin:0;background:var(--p3-paper);color:var(--p3-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:calc(92px + env(safe-area-inset-bottom));}
.p3-skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#111;padding:.75rem 1rem;border:1px solid #111}.p3-skip:focus{top:1rem}
.p3-topbar{position:sticky;top:0;z-index:40;min-height:64px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:0 1rem;background:rgba(244,241,234,.96);border-bottom:1px solid var(--p3-line);backdrop-filter:blur(16px)}
.p3-house{justify-self:start;color:var(--p3-ink);font-weight:800;text-decoration:none;letter-spacing:-.02em}.p3-id{text-align:left;display:grid;gap:.15rem}.p3-id strong{font-size:1.05rem;letter-spacing:.18em}.p3-id span{font-size:.67rem;color:var(--p3-muted);text-transform:uppercase;letter-spacing:.08em;display:none}.p3-reset{justify-self:end;border:0;background:transparent;color:var(--p3-muted);font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:none}
.p3-shell{width:min(1500px,100%);margin:0 auto;padding:1rem}
.p3-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;padding:2.7rem 0}
.p3-kicker{margin:0 0 .65rem;color:var(--p3-accent);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.p3-hero h2{max-width:860px;margin:0;font-size:clamp(3rem,18vw,5rem);line-height:.88;letter-spacing:-.06em;font-weight:900}.p3-hero h2 span{color:var(--p3-accent)}.p3-lede{max-width:760px;margin:1.6rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.55;color:#46423d}
.p3-progress-card{background:var(--p3-dark);color:#f6f2ea;padding:1.35rem;border-radius:4px;box-shadow:0 18px 55px rgba(0,0,0,.12)}.p3-progress-card__line{display:flex;justify-content:space-between;gap:1rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.p3-progress-card__line strong{font-size:1.1rem}.p3-progress{height:7px;margin:1rem 0 1.25rem;background:#333;overflow:hidden}.p3-progress i{display:block;width:0;height:100%;background:#fff;transition:width .3s ease}.p3-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 1.25rem}.p3-stats div{border-left:1px solid #3d3d3d;padding-left:.75rem}.p3-stats dt{font-size:1.55rem;font-weight:800}.p3-stats dd{margin:.1rem 0 0;color:#aaa;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.p3-primary,.p3-secondary{border:0;border-radius:2px;font:inherit;font-weight:800;cursor:pointer}.p3-primary{width:100%;padding:.9rem 1rem;background:#f5f1e8;color:#171717}.p3-primary:disabled,.p3-secondary:disabled{opacity:.45;cursor:not-allowed}.p3-secondary{padding:.8rem 1rem;background:transparent;border:1px solid #202020;color:#202020}
.p3-contract{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--p3-line);background:var(--p3-panel);margin-bottom:clamp(3rem,6vw,6rem)}.p3-contract article{min-height:130px;padding:1.1rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:.8rem;border-right:0;border-bottom:1px solid var(--p3-line)}.p3-contract article:last-child{border-right:0;border-bottom:0}.p3-contract article>span{font-family:monospace;color:var(--p3-muted);font-size:.75rem}.p3-contract b{font-size:.9rem;letter-spacing:.08em}.p3-contract p{margin:.45rem 0 0;color:var(--p3-muted);font-size:.86rem;line-height:1.45}.p3-contract em{grid-column:2;font-style:normal;align-self:end;color:var(--p3-accent);font-size:.62rem;font-weight:800;letter-spacing:.12em}
.p3-course-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.4rem,3vw,3rem);align-items:start}.p3-syllabus{position:static;top:92px}.p3-section-head h2{margin:.1rem 0 1.25rem;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em}.p3-module-list{border-top:1px solid var(--p3-line);display:grid;grid-template-columns:minmax(0,1fr)}.p3-module{width:100%;border:0;border-bottom:1px solid var(--p3-line);background:transparent;text-align:left;padding:1rem .3rem;display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.7rem;align-items:start;color:var(--p3-ink);font:inherit;cursor:pointer}.p3-module:hover:not(:disabled){background:rgba(255,255,255,.45)}.p3-module.is-current{background:#fff}.p3-module:disabled{cursor:not-allowed;color:var(--p3-lock)}.p3-module__no{font-family:monospace;font-size:.72rem}.p3-module__title{display:grid;gap:.25rem}.p3-module__title b{font-size:.92rem;line-height:1.25}.p3-module__title small{color:var(--p3-muted);font-size:.68rem}.p3-module__state{font-size:.61rem;font-weight:900;letter-spacing:.09em;color:var(--p3-lock)}.p3-module.is-passed .p3-module__state{color:var(--p3-ok)}.p3-module.is-open .p3-module__state{color:var(--p3-warn)}.p3-safety{margin:1.3rem 0 0;padding:1rem;border-left:3px solid var(--p3-accent);background:var(--p3-accent-soft);font-size:.77rem;line-height:1.5}
.p3-lesson{min-height:720px;background:var(--p3-panel);border:1px solid var(--p3-line)}.p3-empty{padding:clamp(2rem,5vw,5rem);min-height:500px;display:flex;flex-direction:column;justify-content:center}.p3-empty h2{margin:0;font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:-.05em}.p3-empty>p:last-child{color:var(--p3-muted)}.p3-lesson-head{padding:clamp(1.5rem,4vw,3.5rem);display:block;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--p3-line)}.p3-lesson-head h2{margin:.1rem 0 .7rem;font-size:clamp(2.4rem,5vw,5rem);line-height:.92;letter-spacing:-.055em}.p3-lesson-head>div>p:last-child{max-width:760px;color:var(--p3-muted);line-height:1.55}.p3-status{height:max-content;white-space:nowrap;border:1px solid var(--p3-line);padding:.45rem .65rem;font-size:.62rem;font-weight:900;letter-spacing:.1em;display:inline-block;margin-top:1rem}.p3-status.is-passed{border-color:var(--p3-ok);color:var(--p3-ok)}
.p3-objectives,.p3-reading,.p3-assessment,.p3-companions{padding:clamp(1.5rem,4vw,3.5rem);border-bottom:1px solid var(--p3-line)}.p3-objectives h3,.p3-terms h3{margin:0 0 1rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.p3-objectives ul{margin:0;padding-left:1.2rem;display:grid;gap:.65rem;line-height:1.5}.p3-section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}.p3-section-label span{color:var(--p3-accent);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.p3-section-label b{font-size:1.1rem}.p3-reading #readingBody{max-width:790px;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.78}.p3-reading #readingBody h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;margin:2rem 0 .7rem;font-size:1.15rem;letter-spacing:-.02em}.p3-reading #readingBody p{margin:.8rem 0}.p3-reading #readingBody aside{margin:1.5rem 0;padding:1rem 1.2rem;background:#f0ece3;border-left:3px solid #222;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.84rem;line-height:1.55}.p3-terms{margin:2rem 0 1.4rem;padding-top:1.5rem;border-top:1px solid var(--p3-line)}.p3-terms dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem}.p3-terms dt{font-weight:800}.p3-terms dd{margin:0;color:var(--p3-muted);line-height:1.45;margin-bottom:.65rem}.p3-secondary.is-done{border-color:var(--p3-ok);color:var(--p3-ok)}
.p3-assessment__rule{margin:-.5rem 0 1.5rem;color:var(--p3-muted);font-size:.86rem}.p3-question{padding:1.25rem 0;border-top:1px solid var(--p3-line)}.p3-question legend{font-weight:800;line-height:1.4;margin-bottom:.8rem}.p3-question label{display:flex;gap:.7rem;align-items:flex-start;padding:.45rem 0;cursor:pointer;color:#494641}.p3-question input{margin-top:.23rem}.p3-quiz-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:center;margin-top:1rem}.p3-quiz-actions .p3-primary{background:var(--p3-dark);color:#fff}.p3-quiz-actions span{font-weight:800}.p3-quiz-actions span.pass{color:var(--p3-ok)}.p3-quiz-actions span.fail{color:var(--p3-accent)}
.p3-layer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.p3-layer-grid article{min-height:190px;padding:1.1rem;border:1px solid var(--p3-line);background:#faf7f0}.p3-layer-grid small{display:block;margin-bottom:2.2rem;color:var(--p3-muted);font-size:.62rem;font-weight:900;letter-spacing:.09em}.p3-layer-grid b{display:block;font-size:1.1rem}.p3-layer-grid p{margin:.5rem 0 0;color:var(--p3-muted);font-size:.82rem;line-height:1.5}.p3-layer-grid article[data-layer="remember"]{border-top:4px solid #7254a2}.p3-layer-grid article[data-layer="watch"]{border-top:4px solid #b5792e}.p3-layer-grid article[data-layer="lab"]{border-top:4px solid #2c7181}
.p3-roadmap{margin:clamp(3rem,7vw,7rem) 0 2rem;padding:clamp(1.4rem,4vw,3.5rem);background:var(--p3-dark);color:#f5f0e8}.p3-roadmap .p3-kicker{color:#d65d60}.p3-roadmap h2{max-width:900px}.p3-roadmap>p{max-width:820px;color:#bbb4aa;line-height:1.6}.p3-roadmap-flow{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.72rem;font-weight:900;letter-spacing:.1em}.p3-roadmap-flow span,.p3-roadmap-flow strong{border:1px solid #444;padding:.65rem .8rem}.p3-roadmap-flow strong{background:#fff;color:#111;border-color:#fff}.p3-roadmap-flow i{font-style:normal;color:#777}
.p3-footer{width:min(1500px,100%);margin:0 auto;padding:1rem clamp(1.2rem,3vw,3rem) 2.5rem;display:flex;gap:1rem;align-items:flex-start;color:var(--p3-muted);font-size:.72rem;flex-wrap:wrap}.p3-footer strong{color:var(--p3-ink);letter-spacing:.15em}.p3-footer a{margin-left:0;color:inherit;width:100%}
.p3-contract article:nth-child(2){border-right:0}
.p3-contract article:nth-child(-n+2){border-bottom:1px solid var(--p3-line)}
.p3-module:nth-child(odd){border-right:0}
@media (min-width:980.02px){.p3-topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.p3-id{text-align:center}.p3-reset{display:inline-block}.p3-hero{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr)}.p3-course-grid{grid-template-columns:minmax(270px,.78fr) minmax(0,2.22fr)}.p3-syllabus{position:sticky}.p3-module-list{display:block}.p3-layer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p3-contract article:nth-child(2){border-right:1px solid var(--p3-line)}.p3-contract article:nth-child(-n+2){border-bottom:0}}
@media (min-width:620.02px){.p3-topbar{min-height:72px;padding:0 clamp(1rem,4vw,3rem)}.p3-id span{display:inline}.p3-shell{padding:clamp(1.2rem,3vw,3rem)}.p3-hero{padding:clamp(2.5rem,7vw,7rem) 0 clamp(2.5rem,5vw,5rem)}.p3-hero h2{font-size:clamp(3rem,8vw,7.8rem)}.p3-contract{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.p3-contract article{min-height:170px;border-right:1px solid var(--p3-line);border-bottom:0}.p3-module-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.p3-lesson-head{display:flex}.p3-status{display:inline;margin-top:0}.p3-terms dl{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:.7rem 1rem}.p3-terms dd{margin-bottom:0}.p3-quiz-actions{grid-template-columns:minmax(180px,260px) minmax(0,1fr)}.p3-footer{align-items:center;flex-wrap:nowrap}.p3-footer a{width:auto;margin-left:auto}.p3-module:nth-child(odd){border-right:1px solid var(--p3-line)}}
@media (min-width:980.02px){.p3-contract{grid-template-columns:repeat(4,minmax(0,1fr))}.p3-module-list{grid-template-columns:none}.p3-module:nth-child(odd){border-right:0}}
