.reader-header{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 4%;background:#123b47;color:white;flex-wrap:wrap}.reader-header a{color:white}.reader{max-width:1200px;margin:2rem auto;padding:0 1rem}.reader h1{font-size:2.5rem;margin-bottom:.5rem}.reader-toolbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;background:#eef3f5;border:1px solid #c7d6db;border-radius:.5rem}.reader-toolbar label{display:flex;align-items:center;gap:.5rem}.reader button,.reader select{font:inherit;min-height:44px;padding:.5rem .75rem;border:1px solid #a8bdc5;border-radius:5px;background:white;color:#163d4a}.reader button:not(:disabled){cursor:pointer}.reader button:disabled{opacity:.45}.page-viewport{max-height:85vh;overflow:auto;background:#dae3e7;padding:1rem;border-radius:.5rem}.page-viewport img{display:block;width:100%;max-width:none;height:auto;margin:auto;user-select:none;-webkit-user-select:none}.references{margin:2rem 0}.references summary{cursor:pointer;font-weight:bold;font-size:1.1rem}.references li{margin:1rem 0;overflow-wrap:anywhere}.reader a{color:#0c6073}#page-status{font-size:.95rem}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b57b24;outline-offset:3px}@media(max-width:600px){.reader-header{font-size:.9rem}.reader-toolbar{gap:.5rem;padding:.6rem}.page-viewport{padding:.25rem}.reader h1{font-size:2rem}}
.reader-header{background:var(--teal-dark)}
.reader-toolbar{background:#e6f5fc;border-color:#add5e7}
.reader button,.reader select{color:var(--teal-dark);border-color:#add5e7}
.page-viewport{background:#dcecf5}
.reader a{color:var(--teal)}
#study-sheet{position:relative;width:100%;margin:auto}
#index-links{position:absolute;inset:0;pointer-events:none}
#index-links a{position:absolute;display:block;pointer-events:auto;border-radius:2px}
#index-links a:hover,#index-links a:focus-visible{background:rgba(0,171,228,.15);outline:2px solid #00658a;outline-offset:-2px}
#chapter-control{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
#chapter-select{max-width:100%;min-width:0;flex:1;font-size:1rem}


.study-explorer { padding:24px 0; background:transparent; border:0; }
.study-explorer .point-workspace { grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr); }
.study-explorer .point-navigation { height:620px; min-height:0; }
.study-explorer .point-navigation .mobile-list { overflow:auto; flex:1 1 auto; grid-template-columns:1fr; }
.study-explorer h2 { font-size:2rem; }
.study-explorer .detail-panel { grid-row:auto; }
@media(max-width:700px) { .study-explorer .point-workspace { grid-template-columns:minmax(0,1fr) minmax(160px,.85fr); gap:8px; } .study-explorer .point-navigation { padding:8px; height:clamp(330px,52vh,500px); } .study-explorer .point-card { grid-template-columns:1fr; gap:4px; padding:8px; } .study-explorer .point-card strong { font-size:14px; } .study-explorer .point-card .arrow { display:none; } .study-explorer .point-card .card-number { width:26px;height:26px; } .study-explorer .point-navigation h3 { font-size:14px; } }

#point-links { position:absolute; inset:0; pointer-events:none; }
#point-links a { position:absolute; pointer-events:auto; display:block; }
#point-links a:hover,#point-links a:focus-visible { background:#00abe422; outline:2px solid #00658a; }
.study-explorer .point-navigation .mobile-list { grid-auto-rows:max-content; }
.study-explorer .point-card { min-height:80px; }
.map-point,.point-card,#point-links a { scroll-margin-top:100px; }

.study-explorer .point-workspace .map-shell { height:auto; aspect-ratio:853/756; }
.study-explorer #map { height:100%; }
.study-explorer .plan-stage { width:100%; }
.study-explorer .point-navigation { min-height:0; }
.intervention-workspace { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:20px;align-items:start; }
#intervention-map { min-width:0; }
#intervention-map svg { display:block;width:100%;height:auto; }
.intervention-navigation { display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid #add5e7;border-radius:12px;background:#edf8ff;padding:12px; }
.intervention-navigation h3 { margin:0 0 10px;font-size:1rem; }
#intervention-legend { position:relative;overflow:auto;min-height:0;display:grid;gap:6px;scrollbar-gutter:stable; }
.reader .intervention-card { text-align:left;width:100%;padding:8px; }
.intervention-card strong,.intervention-card span { display:block;font-size:14px;line-height:1.4; }
.reader .intervention-card[aria-pressed="true"] { background:#ffe08a;border:2px solid #805500;color:#172b35; }
.intervention-route { fill:none;stroke:transparent;stroke-width:20;pointer-events:stroke;cursor:pointer;stroke-linejoin:round;stroke-linecap:round; }
.intervention-marker { fill:transparent;stroke:transparent;stroke-width:4;cursor:pointer;pointer-events:all; }
.intervention-route[aria-pressed="true"],.intervention-route:hover,.intervention-route:focus { stroke:#f4b400;stroke-opacity:.6;stroke-width:12; }
.intervention-marker[aria-pressed="true"],.intervention-marker:hover,.intervention-marker:focus { stroke:#805500;fill:#ffcf4066; }
@media(max-width:700px) {
 .intervention-workspace { grid-template-columns:minmax(0,1fr) minmax(160px,.85fr);gap:8px; }
 .intervention-navigation { padding:6px; }
 .intervention-navigation h3 { font-size:14px; }
 /* Mobile: let each entry keep its full text height and scroll the list. */
 .intervention-navigation { min-height:20rem; }
 .intervention-navigation h3 { flex-shrink:0; }
 #intervention-legend { display:block; flex:1 1 auto; overflow-y:auto; overflow-x:hidden; }
 .reader .intervention-card { display:block; height:auto; min-height:max-content; margin-bottom:6px; white-space:normal; overflow-wrap:anywhere; }
 .reader .intervention-card:last-child { margin-bottom:0; }
}

.intervention-route:focus,.intervention-marker:focus { outline:none; }
@media(min-width:701px) {
 .study-explorer .point-navigation .mobile-list { grid-auto-rows:minmax(46px,1fr); gap:4px; }
 .study-explorer .point-card { min-height:0; padding:6px 8px; }
 .study-explorer .point-card strong { font-size:14px; line-height:1.25; }
 .study-explorer .point-card small { display:none; }
}

/* Selection recolors the original route ink, preserving every bend. */
.route-hit{fill:transparent;stroke:transparent;stroke-width:9;pointer-events:all;cursor:pointer}
.route-ink{fill:transparent;stroke:none;pointer-events:none}
.exact-route[aria-pressed="true"] .route-ink,.exact-route:hover .route-ink,.exact-route:focus .route-ink{fill:#f08a00}
.exact-route:focus{outline:none}
.intervention-connector{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer}
.intervention-connector[aria-pressed="true"]{stroke:#f08a00;stroke-width:2;stroke-dasharray:3 2}
#intervention-map svg{touch-action:pan-y}
