/* Scoped to the problems programme and its reciprocal application panels. */
.p-programme,.p-app-context{--p-blue:#155f83;--p-ink:#173e48;--p-line:#c7dce4;--p-paper:#fffefa;--p-pale:#eaf3f7;color:var(--p-ink);line-height:1.75}
.p-programme *,.p-app-context *{box-sizing:border-box}.p-programme [hidden]{display:none!important}
.p-programme{max-width:1320px;margin:auto;padding:26px 30px 60px}.p-programme a{color:#0c587d;text-underline-offset:3px}.p-programme :focus-visible,.p-app-context :focus-visible{outline:3px solid #ac6626;outline-offset:4px}
.p-section-nav{display:flex;flex-wrap:wrap;gap:7px 18px;border-block:1px solid var(--p-line);padding:14px 0;margin-bottom:28px;font-size:.79rem}.p-section-nav a{text-decoration:none;padding:4px 0}.p-section-nav a[aria-current]{font-weight:800;border-bottom:2px solid var(--p-blue)}.p-section-nav a:hover{text-decoration:underline}
.p-eyebrow{font:750 .68rem/1.6 var(--s-sans,system-ui,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--p-blue);margin:0 0 12px}
.p-hero{padding:20px 0 36px;max-width:1100px}.p-hero h1{font:400 clamp(2.4rem,5vw,4.4rem)/1.1 var(--s-serif,Georgia,serif);letter-spacing:-.035em;margin:12px 0 22px;max-width:1050px}.p-lead{font-size:1.08rem;max-width:84ch;color:#405f6b}.p-hero-meta{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:.8rem;color:#456472;margin:25px 0}.p-hero-meta span{border-left:2px solid #85abbc;padding-left:12px}
.p-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.p-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--p-blue,#155f83);border-radius:5px;padding:10px 16px;background:var(--p-paper,#fffefa);color:#0c587d!important;font:650 .82rem/1.5 var(--s-sans,system-ui,sans-serif);text-decoration:none;cursor:pointer}.p-button.primary{background:#155f83;color:#fff!important}.p-button:hover{background:#e2eef4}.p-button.primary:hover{background:#104b68}
.p-programme h2{font:400 2rem/1.25 var(--s-serif,Georgia,serif);letter-spacing:-.02em}.p-programme h3{font:500 1.25rem/1.35 var(--s-serif,Georgia,serif)}.p-programme section{scroll-margin-top:calc(var(--s-sticky-nav-height,88px) + 22px)}
.p-mechanism-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;background:#eaf3f7;border:1px solid var(--p-line);border-radius:12px;padding:30px;margin:14px 0 40px}.p-mechanism-overview h2{margin-top:0}.p-mechanism-overview p{font-size:.94rem}.p-cycle{display:grid;gap:13px;align-content:center}.p-cycle-step{background:#fffefa;border-left:3px solid #3a86a4;padding:15px 20px}.p-cycle-step strong{display:block;color:#174f66}.p-cycle-step p{margin:5px 0;font-size:.85rem}.p-cycle-return{font-size:.78rem!important;color:#536f77;margin:0;padding-left:23px}
.p-featured{margin:36px 0}.p-featured-grid,.p-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.p-featured article{background:#f1f3ed;border-top:3px solid #8f9e74;padding:24px}.p-featured h3{margin:4px 0 13px}.p-featured p{font-size:.9rem}.p-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-directory{padding-top:20px;border-top:1px solid var(--p-line)}.p-directory>h2{margin-bottom:10px}.p-filter-form{padding:22px;background:#edf4f7;border:1px solid var(--p-line);border-radius:8px;margin:25px 0}.p-filter-form label{display:block;font-size:.78rem;font-weight:700;margin-bottom:6px}.p-filter-form input,.p-filter-form select,.p-mechanism-select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid #9db9c5;border-radius:5px;background:#fffefa;color:#173e48;font:inherit;font-size:.85rem}.p-filter-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.p-filter-fields>div{min-width:0}.p-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.p-filter-footer p{margin:0}
.p-topic-card{padding:25px;background:#fffefa;border:1px solid var(--p-line);border-radius:9px;display:flex;flex-direction:column;min-width:0}.p-topic-card h3{font-size:1.5rem;margin:0 0 14px}.p-topic-card h3 a{color:inherit;text-decoration:none}.p-topic-card h3 a:hover{text-decoration:underline}.p-topic-card>p:not(.p-eyebrow){font-size:.9rem;color:#45616c}.p-badges{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.p-badge{font:.68rem/1.5 var(--s-sans,system-ui,sans-serif);display:inline-block;padding:5px 8px;border:1px solid #c0d1d7;border-radius:4px;background:#f0f5f6;color:#355c6a}.p-status-target{background:#f5eee0;color:#695129;border-color:#d9c8a8}.p-status-conditional{background:#e7f2eb;color:#285e47;border-color:#b3cdbd}.p-card-bottom{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:auto;padding-top:18px;border-top:1px solid var(--p-line);font-size:.81rem;font-weight:650}.p-empty{padding:26px;background:#f9f0e3;border:1px solid #d8bc91;border-radius:8px}
.p-small{font-size:.79rem;color:#4c6974}.p-note{border-left:3px solid #a8864e;background:#f3f2e9;padding:17px 22px;margin:25px 0;font-size:.88rem}.p-wide-section{margin:44px 0}.p-wide-section>p{max-width:90ch}
.p-programme.f-guide{max-width:1400px}.p-programme .f-layout{grid-template-columns:230px minmax(0,1fr)}.p-programme .f-content{min-width:0;max-width:none}.p-programme .f-section{max-width:90ch}.p-programme .f-toc{min-width:0}.p-programme .f-equation{max-width:100%;overflow:auto}.p-article-route{margin:0 0 26px;border:1px solid var(--p-line);border-radius:9px;overflow:hidden;background:#edf5f8;padding:24px}.p-article-route>h2{margin-top:0;font-size:1.7rem}.p-mechanism-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.p-mechanism-cell{min-width:0}.p-mechanism-cell h3{font-size:1.16rem;margin:7px 0 12px}.p-mechanism-cell p:not(.p-eyebrow){font-size:.87rem;margin-bottom:0}.p-mechanism-cell+.p-mechanism-cell{border-left:1px solid #c1d8e3;padding-left:20px}.p-route-guide{font-size:.8rem;margin:22px 0 0}
.p-research-panel{border:1px solid var(--p-line);border-radius:9px;padding:24px;margin:25px 0 35px;background:#fffefa}.p-research-panel h2{font-size:1.6rem;margin-top:0}.p-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.p-status-grid h3{font:750 .8rem/1.5 var(--s-sans,system-ui);color:#204d60}.p-status-grid p{font-size:.86rem}.p-original-anchor{scroll-margin-top:calc(var(--s-sticky-nav-height,88px) + 22px)}
.p-lab-bridge,.p-app-context{border:1px solid #bad3df;background:#edf5f8;border-radius:9px;padding:26px;margin:35px 0}.p-lab-bridge h2,.p-app-context h2{font:400 1.65rem/1.25 var(--s-serif,Georgia);margin:8px 0 15px}.p-lab-bridge p,.p-app-context p,.p-app-context li{font-size:.87rem}.p-lab-bridge ul,.p-app-context ul{padding-left:20px}.p-revision{border-top:1px solid var(--p-line);padding-top:16px;margin-top:30px;color:#526d76;font-size:.76rem}.p-revision p{margin:5px 0}
.p-prose{max-width:950px}.p-prose p,.p-prose li{line-height:1.9}.p-prose h2{margin-top:38px}.p-prose .p-equation{padding:17px 22px;background:#edf4f7;border-left:3px solid #5c93aa;font-family:Georgia,serif;overflow:auto}.p-model-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.p-model-roles>div{padding:20px;border:1px solid var(--p-line);border-radius:7px;background:#fffefa}.p-model-roles h3{margin-top:0}.p-model-roles p{font-size:.9rem}.p-sequence{padding-left:24px}.p-sequence li{padding:8px 0}
.p-matrix{max-width:100%;overflow:auto;border:1px solid var(--p-line);border-radius:8px;margin:25px 0}.p-matrix table{border-collapse:collapse;width:100%;font-size:.82rem;background:#fffefa;min-width:780px}.p-matrix th,.p-matrix td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid #d8e5ea}.p-matrix th{background:#e8f2f6;color:#164b63}.p-matrix td:first-child{min-width:210px}.p-matrix caption{text-align:left;padding:15px 18px;background:#eef5f7;font-weight:650}.p-roadmap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.p-roadmap-card{border:1px solid var(--p-line);padding:25px;border-radius:9px;background:#fffefa;min-width:0}.p-roadmap-card h3{font-size:1.45rem;margin:0 0 15px}.p-roadmap-card dl{font-size:.88rem}.p-roadmap-card dt{font-weight:750;color:#1c5067;margin-top:15px}.p-roadmap-card dd{margin:5px 0 15px}.p-source-card{border-top:2px solid #7da4b5;padding:22px 0}.p-source-card h3{font-size:1.45rem}.p-source-card p{max-width:95ch}.p-source-card .p-bib{font-size:.85rem;color:#4d6874}.p-source-card a{overflow-wrap:anywhere}.p-programme .r-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-programme .r-table-wrap{max-width:100%;overflow:auto}
@media(max-width:1100px){.p-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.p-programme .f-layout{grid-template-columns:190px minmax(0,1fr)}.p-mechanism-grid,.p-status-grid{grid-template-columns:1fr}.p-mechanism-cell+.p-mechanism-cell{border-left:0;border-top:1px solid #c1d8e3;padding:15px 0 0}.p-status-grid{gap:0}}
@media(max-width:850px){.p-programme .f-layout{display:block}.p-programme .f-toc{position:static;max-height:none;margin-bottom:25px}.p-mechanism-overview,.p-featured-grid{grid-template-columns:1fr}.p-mechanism-overview{gap:18px}.p-hero h1{font-size:3.1rem}.p-topic-card{padding:22px}}
@media(max-width:620px){.p-programme{padding:20px 16px 40px}.p-hero{padding-top:8px}.p-hero h1{font-size:2.5rem}.p-lead{font-size:1rem}.p-topic-grid,.p-roadmap-grid,.p-model-roles,.p-programme .r-grid{grid-template-columns:minmax(0,1fr)}.p-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.p-filter-form{padding:16px}.p-mechanism-overview,.p-article-route,.p-research-panel,.p-lab-bridge,.p-app-context{padding:19px}.p-section-nav{gap:5px 14px}.p-programme h2{font-size:1.7rem}.p-filter-footer{align-items:flex-start}.p-topic-card h3{font-size:1.4rem}.p-programme .s-page-hero h1{font-size:2.1rem;overflow-wrap:anywhere}.p-programme .s-lead{font-size:1rem}.p-programme .f-toc details{padding:15px}}
@media(prefers-reduced-motion:reduce){.p-programme *{scroll-behavior:auto!important;transition:none!important}}
@media print{.p-section-nav,.p-filter-form,.p-programme .f-toc,.p-actions{display:none!important}.p-programme{max-width:none;padding:0}.p-programme .f-layout{display:block}.p-topic-grid,.p-roadmap-grid,.p-mechanism-grid,.p-status-grid{display:block}.p-topic-card,.p-roadmap-card,.p-source-card{break-inside:avoid}.p-matrix{overflow:visible}.p-matrix table{min-width:0;font-size:10pt}.p-mechanism-cell+.p-mechanism-cell{padding-left:0;border:0}.p-topic-card{margin-bottom:15px}}
