.lc-handover{--handover-ink:#17382e;--handover-muted:#576b63;--handover-green:#166448;max-width:1160px;margin:0 auto;padding:24px 18px 100px;color:var(--handover-ink);font-family:inherit;line-height:1.5}
.lc-handover *{box-sizing:border-box}
.lc-handover [hidden]{display:none!important}
.lc-handover button,.lc-handover input,.lc-handover select{font:inherit;min-height:44px;border:1px solid #bdcfc5;border-radius:12px;padding:10px 12px;background:#fff;color:var(--handover-ink)}
.lc-handover button{cursor:pointer;font-weight:700;white-space:normal}
.lc-handover button:disabled{opacity:.55;cursor:not-allowed}
.lc-handover button:focus-visible,.lc-handover select:focus-visible,.lc-handover input:focus-visible,.lc-handover a:focus-visible,.lc-handover summary:focus-visible{outline:3px solid #d09224;outline-offset:3px}
.lc-handover button:not(:disabled):hover{border-color:var(--handover-green);background:#eff7f2}
.lc-handover-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.lc-handover-header>div{flex:1;min-width:0}
.lc-handover-back{display:flex;align-items:center;min-height:44px;color:var(--handover-green);text-decoration:none;font-weight:700;white-space:nowrap}
.lc-handover h1{font-size:clamp(20px,3vw,29px);margin:0;font-weight:800;line-height:1.2}
.lc-handover h2{font-size:16px;margin:0 0 12px}
.lc-handover .lc-handover-quiet{background:transparent;font-size:12px}
.lc-handover-layout{display:grid;grid-template-columns:350px minmax(0,1fr);grid-template-rows:min-content 1fr;grid-template-areas:"pick map" "editor map";gap:12px 20px;align-items:start}
.lc-handover-panel{grid-area:pick;min-width:0}
.lc-handover-setup{display:grid;gap:8px}
.lc-handover-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:650;margin:0 0 12px;min-width:0}
.lc-handover-field input,.lc-handover-field select{width:100%;min-width:0;font-weight:400;font-size:16px}
.lc-handover-setup .lc-handover-field{margin:0}
#lcHandoverGps{font-size:13px}
.lc-handover-hint{font-size:12px;color:var(--handover-muted);margin:6px 0 12px}
/* The endpoint cards carry the same direction; keep the live wording available to assistive technology. */
#lcHandoverDirection{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.lc-handover-endpoints{display:grid;gap:8px;margin-top:10px}
.lc-handover-endpoints button{display:flex;gap:10px;align-items:center;text-align:left;width:100%;min-width:0;padding:10px}
.lc-handover-endpoints button[aria-pressed="true"]{border:2px solid var(--handover-green);padding:9px;background:#edf6ef}
.lc-handover-endpoints button>span:last-child{min-width:0}
.lc-handover-letter{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--handover-green);color:#fff}
.lc-handover-endpoints button[data-handover-point="b"] .lc-handover-letter{background:#a95722}
.lc-handover-endpoints strong{font-size:14px;display:block}
.lc-handover-endpoints small{display:block;font-size:12px;color:var(--handover-muted);font-weight:400;overflow-wrap:anywhere}
.lc-handover-editor{grid-area:editor;padding:0 12px;border:1px solid #d9e4dd;border-radius:12px;min-width:0}
.lc-handover summary{cursor:pointer;font-size:12px;font-weight:650;min-height:44px;padding:12px 0;line-height:20px}
.lc-handover-editor[open] summary{margin-bottom:8px}
.lc-handover-map-panel{grid-area:map;min-width:0;scroll-margin-top:12px}
.lc-handover-map-hint{font-size:12px;font-weight:650;margin:0 0 6px}
.lc-handover-map-wrap{position:relative;background:#e7eee3;border:1px solid #c9d8cb;border-radius:16px;overflow:hidden}
#lcHandoverMap{height:420px;width:100%}
.lc-handover-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:36px/1 monospace;color:#214934;text-shadow:0 0 2px white,0 0 3px white;pointer-events:none}
.lc-handover-map-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
#lcHandoverCenter{width:100%;min-width:0;font-size:13px}
#lcHandoverClear{padding:8px 10px}
.lc-handover-map-state{font-size:12px;margin:7px 0;color:var(--handover-muted)}
/* Normal map status repeats the visible hint or route summary; loading and errors stay visible. */
#lcHandoverMapState[data-error="false"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.lc-handover-result{margin-top:8px;padding:12px;border:1px solid #d1e2d5;border-radius:14px;background:#f8fbf8}
#lcHandoverRoute{width:100%;min-width:0;background:var(--handover-green);color:#fff;border-color:var(--handover-green)}
.lc-handover #lcHandoverRoute:not(:disabled):hover{background:#124d38}
#lcHandoverStatus{margin:7px 0 0;font-size:12px}
#lcHandoverStatus[data-error="true"],#lcHandoverMapState[data-error="true"]{color:#a13420}
#lcHandoverSummary{margin-top:10px;border-top:1px solid #d1e2d5;padding-top:10px}
#lcHandoverDistance{font-size:19px}
#lcHandoverSummary p{font-size:12px;color:var(--handover-muted);margin:5px 0}
.lc-handover-route-note summary{display:list-item}
.lc-handover-attribution{font-size:10px;color:var(--handover-muted);margin:8px 0 0}
.lc-handover-attribution a{color:inherit;text-decoration:underline}
.lc-handover-privacy{font-size:12px;background:#eef5f0;border:1px solid #d7e6dc;border-radius:12px;padding:0 12px;margin:12px 0 0;color:#3c5e4e}
.lc-handover-privacy p{margin:0 0 12px}
.lc-handover-pin{width:32px;height:38px;display:grid;place-items:center;color:#fff;background:var(--handover-green);font-size:16px;font-weight:800;border:3px solid white;border-radius:16px 16px 16px 3px;box-shadow:0 2px 6px #0005}
.lc-handover-pin-b{background:#a95722}
.lc-handover .maplibregl-ctrl-group button{padding:0;width:44px;height:44px;min-height:44px;border:0;border-radius:0}
.lc-handover .maplibregl-ctrl-group button+button{border-top:1px solid #d9e4dd}
.lc-handover .maplibregl-ctrl-attrib.maplibregl-compact{min-height:44px;padding-right:44px}
.lc-handover .maplibregl-ctrl-attrib-button{width:44px;height:44px;min-height:44px;padding:0;background-repeat:no-repeat;background-position:center}
@media(max-width:767px){
    .lc-handover{padding:8px 12px 100px}
    .lc-handover-header{gap:8px;margin-bottom:6px}
    .lc-handover-header h1{font-size:19px}
    .lc-handover-header .lc-handover-quiet{padding:8px;font-size:11px}
    .lc-handover-back{font-size:12px}
    .lc-handover-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"pick" "map" "editor";gap:8px}
    .lc-handover-setup{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}
    .lc-handover-purpose-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
    .lc-handover-setup .lc-handover-field select{height:100%;font-size:13px;padding:8px}
    #lcHandoverGps{font-size:12px;padding:8px}
    .lc-handover-endpoints{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}
    .lc-handover-endpoints button{align-items:flex-start;gap:6px;padding:8px;min-height:68px}
    .lc-handover-endpoints button[aria-pressed="true"]{padding:7px}
    .lc-handover-endpoints strong{font-size:12px}
    .lc-handover-endpoints small{font-size:11px}
    .lc-handover-letter{flex-basis:24px;width:24px;height:24px;font-size:12px}
    .lc-handover-map-hint{font-size:11px;margin-bottom:5px}
    .lc-handover-map-wrap{border-radius:12px}
    #lcHandoverMap{height:300px;height:clamp(260px,37svh,330px)}
    .lc-handover-map-actions{gap:6px;margin-top:6px}
    #lcHandoverCenter{font-size:12px;padding:8px}
    #lcHandoverClear{font-size:11px;padding:8px}
    .lc-handover-result{padding:0;border:0;border-radius:0;background:transparent}
    #lcHandoverStatus{font-size:11px;margin-top:5px}
    .lc-handover-attribution{margin-top:6px}
    .lc-handover-privacy{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.lc-handover *{scroll-behavior:auto!important}}
