/* Purposeful diagrams for the Disaster Tech operations theme. Native text is the fallback. */
.project-visual{margin-block:2rem;min-width:0}
.project-visual p{overflow-wrap:anywhere}
.project-route,.benefit-route,.learning-route{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:1rem}
.project-route{grid-template-columns:repeat(4,minmax(0,1fr))}
.project-journey .project-route{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-route li{position:relative;min-width:0;border-top:3px solid var(--primary);padding:1rem 0 .5rem;display:flex;gap:.8rem}
.route-index{color:var(--link);font:700 1.15rem/1.5 ui-monospace,Consolas,monospace;flex:none}
.project-route strong,.benefit-route strong,.learning-route strong{display:block;color:var(--text);font-size:1rem}
.project-route p{font-size:1rem;margin:.35rem 0 .65rem}
.route-gate{display:block;color:var(--muted);font-size:.9rem;line-height:1.65}
.benefit-route{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.benefit-route li{position:relative;padding:1rem 0;border-top:2px solid var(--line);min-width:0}
.benefit-route li:not(:last-child)::after{content:'→';position:absolute;right:-1.55rem;top:1rem;color:var(--link);font-size:1.4rem}
.benefit-route .route-index{display:block;margin-bottom:.4rem}
.benefit-route p{margin:.4rem 0;color:var(--muted)}
.learning-system{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2rem;align-items:start;margin-block:1.25rem}
.learning-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;list-style:none;padding:0;margin:0}
.learning-inputs li{padding:.75rem 0;border-top:2px solid var(--line);min-width:0}
.learning-inputs strong{display:block;color:var(--text)}
.learning-inputs span{display:block;color:var(--muted);font-size:.95rem}
.learning-route{margin:0;gap:0}
.learning-route li{display:flex;gap:.8rem;border-left:2px solid var(--primary);padding:.5rem 0 1.2rem 1rem;min-width:0}
.learning-route li:last-child{padding-bottom:.5rem}
.learning-route p{margin:.3rem 0;color:var(--muted)}
.assessment-visual{margin-block:1rem}
.assessment-bar{display:flex;min-height:3rem;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.assessment-bar span{display:flex;justify-content:center;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.5rem .2rem;color:var(--text);min-width:0;font-weight:700;overflow-wrap:anywhere}
.assessment-bar .theory{flex:30;background:var(--info-bg)}
.assessment-bar .practice{flex:40;background:var(--raised)}
.assessment-bar .simulation{flex:30;background:var(--success-bg)}
.assessment-bar span+span{border-left:1px solid var(--line)}
.round-page-intro{max-width:70ch;color:var(--muted)}
.round-card h2{margin-top:.8rem}
.round-capacity{margin:1rem 0;padding-block:.8rem;border-block:1px solid var(--line)}
.round-capacity-label{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.round-capacity meter,.staff-capacity meter{display:block;width:100%;height:1rem;accent-color:var(--primary)}
.round-capacity meter::-webkit-meter-bar,.staff-capacity meter::-webkit-meter-bar{background:var(--raised);border:1px solid var(--line);border-radius:8px}
.round-capacity meter::-webkit-meter-optimum-value,.staff-capacity meter::-webkit-meter-optimum-value{background:var(--primary)}
.round-capacity meter::-moz-meter-bar,.staff-capacity meter::-moz-meter-bar{background:var(--primary)}
.round-capacity small{display:block;margin-top:.4rem;color:var(--muted)}
.round-card form button{min-height:44px}
.staff-capacity{min-width:9rem;white-space:normal}
.staff-capacity small{display:block;margin-top:.35rem;color:var(--muted)}
.round-empty h2{margin-top:0}
@media(max-width:1050px){.project-route{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.project-route{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-system{grid-template-columns:1fr}.benefit-route{gap:1.25rem;grid-template-columns:1fr}.benefit-route li:not(:last-child)::after{content:'↓';right:0;top:auto;bottom:-1.35rem}}
@media(max-width:450px){.project-route{grid-template-columns:1fr;gap:.5rem}.project-route li{padding:.8rem 0}.assessment-bar span{font-size:.95rem;align-content:center;text-align:center}}
@media print{.project-route{grid-template-columns:repeat(3,minmax(0,1fr))}.project-visual li{break-inside:avoid}.benefit-route{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.project-journey .project-route{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.project-journey .project-route{grid-template-columns:1fr}}
