.witness-page{max-width:920px;margin:40px auto;padding:0 22px 70px}.witness-page h1{font-size:clamp(2rem,5vw,3rem)}.witness-page h2{font-size:1.7rem}.witness-page p{max-width:78ch}.witness-page input:not([type=checkbox]):not([type=radio]),.witness-page select,.witness-page textarea{display:block;width:100%;padding:10px;border:1px solid #92988f;border-radius:7px;font:inherit;background:white;color:#2d2d2d}.witness-page label{display:block;margin:10px 0}.witness-page input[type=checkbox],.witness-page input[type=radio]{width:20px;height:20px;vertical-align:middle;margin-right:9px}.witness-page fieldset{border:0;padding:0;margin:24px 0}.witness-page legend{font-weight:700;font-size:1.1rem}.helper{display:block;color:#555e54;font-size:.92rem}.two-col,.route-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.witness-page button{padding:11px 17px;border:1px solid #687467;border-radius:8px;background:#fff;color:#243423;font:inherit;font-weight:700;cursor:pointer}.witness-page button:hover{background:#eef7ee}.witness-page button:disabled{opacity:.6;cursor:wait}.witness-page button:focus-visible,.map:focus-visible{outline:3px solid #2e7dd7;outline-offset:3px}.witness-page #send,.witness-page #start{background:#f4b400}.steps{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.steps button[aria-current=step]{background:#eef7ee;border:2px solid #328b36}.explainer,.route-card,.item-card,.panel{margin:18px 0;padding:18px;border:1px solid #ccd4c9;border-radius:12px;background:#fff}.explainer summary,.route-card summary{font-weight:700;cursor:pointer}.route-card summary{font-size:1.2rem}.route-choice img{width:100%;height:auto;display:block;border-radius:8px}.route-choice{border:1px solid #ccd4c9;padding:13px;border-radius:10px;background:#fff;margin-bottom:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.map{display:block;width:100%;height:auto;border:2px solid #687467;background:#fff;cursor:crosshair;touch-action:manipulation}.map-panel{margin:15px 0}.map-tools{display:flex;gap:10px;margin:8px 0}.confirmation{padding:12px;background:#eef7ee;border-radius:8px}#status{padding:10px;border-radius:8px;white-space:pre-line}#status:not(:empty){background:#edf5fd}#status.error{background:#fff0ed;color:#8b210c}#review article{border-left:3px solid #4caf50;padding:5px 15px;margin:14px 0}.trap{position:absolute;left:-10000px} [hidden]{display:none!important} .item-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}pre{white-space:pre-wrap;overflow-wrap:anywhere}.memory-note{background:#eef7ee;padding:12px;border-radius:7px}@media(max-width:600px){.two-col,.route-options{grid-template-columns:1fr}.witness-page{padding:0 15px 40px}.steps button{font-size:.9rem;flex:1 1 40%}.site-header .brand img{width:190px}.route-card,.item-card{padding:12px}}

.connection-years{margin:0 0 20px 30px;padding:12px 15px;border-left:3px solid #4caf50;background:#eef7ee;border-radius:7px}.field-error{scroll-margin-top:120px;scroll-margin-bottom:160px}.field-error-note{color:#8b210c;background:#fff0ed;padding:10px 12px;border-radius:7px;font-weight:700}.witness-page [aria-invalid="true"]{outline:2px solid #a23218;outline-offset:3px}

/* Navigation and answer controls, without changing question content. */
.witness-page h1,.witness-page [data-stage] h2,.survey-progress{scroll-margin-top:var(--survey-header-offset,110px)}
.witness-page h1:focus,.witness-page [data-stage] h2:focus{outline:none}
.survey-progress{font-weight:700;color:#385638;margin:28px 0 10px}
.survey-progress+.steps{margin-top:10px}

.witness-page #next,.witness-page #send{background:#287532;border:2px solid #287532;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}
.witness-page #next:hover,.witness-page #send:hover{background:#1d5b25;border-color:#1d5b25}

.witness-page #save{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:400}
.witness-page #save:hover{background:#eef7ee}
.witness-page label:has(>input[type=radio]),.witness-page label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer}
.witness-page label>input[type=radio],.witness-page label>input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:3px 0 0;accent-color:#287532}
.witness-page label:has(>input:checked){background:#eef7ee;border-color:#81ad83}
.witness-page label:has(>input:focus-visible){outline:3px solid #2e7dd7;outline-offset:2px}
@media(max-width:600px){.steps button{min-height:48px}.witness-page #send{width:100%;min-height:52px}}

html:has(.witness-page){scroll-padding-top:0;scroll-behavior:auto}

.witness-page [data-route-answer]>summary{scroll-margin-top:var(--survey-header-offset,110px)}

.question-route-map{margin:16px 0}.question-route-map img{width:100%;height:auto;display:block}.question-route-map figcaption{margin-top:8px}.route-pagination{padding:14px 16px;background:#eef7ee;border-radius:10px}.route-pagination p{font-weight:700;margin:0}.route-pagination .actions{margin:10px 0 0}.route-pagination button[aria-current=page]{background:#287532;color:#fff}.optional{font-size:.9em;font-weight:400;color:#555e54}.conditional-intro{padding:10px 12px;border-left:3px solid #328b36;background:#eef7ee}.bottom-actions #save-feedback.unsaved{color:#79551e}#completion h2{scroll-margin-top:var(--survey-header-offset,110px)}#map-preview{width:95vw;max-width:1400px;max-height:90vh;border:1px solid #687467;border-radius:12px;padding:14px}#map-preview::backdrop{background:rgba(0,0,0,.65)}#map-preview #close-map{position:sticky;top:0;background:#287532;color:white}.large-map{overflow:hidden;max-height:70vh}.large-map img{width:100%;max-width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}@media(max-width:600px){.route-pagination .actions{gap:6px}.route-pagination button{padding:8px 10px;font-size:.85rem}}

.witness-page .primary-action{background:#287532;color:#fff;border-color:#287532}.witness-page #account-status.error{color:#8b210c;background:#fff0ed;padding:12px;border-radius:8px}.witness-page input[readonly]{background:#f2f3ef}

.route-pagination{scroll-margin-top:var(--survey-header-offset,110px)}

.large-map svg{width:100%;max-width:100%;height:auto;max-height:70vh;display:block;cursor:default}.map-tools{flex-wrap:wrap}

/* Compact survey navigation and desktop map previews. */
.bottom-actions{
  position:sticky;
  bottom:0;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  grid-template-areas:"status save back next";
  align-items:center;
  gap:8px;
  margin:20px 0 0;
  padding:8px 0 max(8px,env(safe-area-inset-bottom));
  background:#faf9f5;
  border-top:1px solid #ccd4c9;
  box-shadow:none;
}
.bottom-actions #save-feedback{
  grid-area:status;
  width:auto;
  min-width:0;
  margin:0;
  font-size:.8rem;
  line-height:1.3;
  color:#385638;
}
.bottom-actions #back{grid-area:back}
.bottom-actions #next{grid-area:next;flex:none;min-width:120px}
.bottom-actions #save{grid-area:save}
.witness-page .bottom-actions button{
  min-height:44px;
  padding:8px 14px;
  font-size:.9rem;
  line-height:1.2;
}
@media(min-width:601px){
  .question-route-map,.map-panel{max-width:560px}
}
@media(max-width:600px){
  .bottom-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"back next" "status save";
    gap:2px 8px;
  }
  .bottom-actions #next{min-width:0}
  .bottom-actions #save{justify-self:end;padding:8px 0;font-size:.8rem}
  .bottom-actions #save-feedback{font-size:.75rem}
}

/* Keep the mobile route layout; show all four reference maps on desktop. */
@media(min-width:601px){
  #route-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
  #route-options .route-choice{min-width:0;margin-bottom:0;padding:10px}
  #route-options .route-choice:nth-child(n+5){grid-column:span 2}
  #route-options .route-choice p{font-size:.85rem;line-height:1.4}
  #route-options .route-choice label{padding:8px 0;font-size:.95rem}
  .question-route-map{max-width:280px}
  .question-route-map img{cursor:zoom-in}
}
