:root{color-scheme:light;--green:#153c33;--ink:#1f3029;--muted:#4f635a;--line:#d8e0d5;--paper:#f5f3eb;--red:#913c32;--gold:#e4ba6d;font:16px/1.5 system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--green);text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #9a5030;outline-offset:3px}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,serif;line-height:1.06;font-weight:500}h1{font-size:clamp(3rem,7vw,5.75rem);letter-spacing:-.055em;margin-bottom:.55rem}h2{font-size:clamp(1.9rem,3vw,2.55rem);letter-spacing:-.025em;margin-bottom:1rem}.shell{width:min(1280px,calc(100% - 56px));margin:auto}.masthead{background:var(--green);color:#fff8e9}.masthead-inner{min-height:62px;display:flex;align-items:center;gap:10px;font-weight:700}.mark{color:var(--gold);font-size:1.5rem}.preview-tag{margin-left:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#ffdfaa;text-align:right}.intro{padding:34px 0 22px}.intro>p:last-child{color:var(--muted);margin-bottom:0}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);align-items:start;gap:20px}.map-panel,.route-panel{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 3px 14px #1b31280c}.map-bar,.map-foot{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 14px}.map-bar{border-bottom:1px solid var(--line)}.map-foot{font-size:.79rem;color:var(--muted);border-top:1px solid var(--line)}.map-foot span{display:flex;align-items:center;gap:6px}.map-foot i{display:inline-block;width:10px;height:10px;border-radius:50%}.start-dot{background:var(--red)}.route-dot{background:var(--green)}.map-scroll{overflow:auto}.artboard{position:relative;width:100%;isolation:isolate}.artboard.zoomed{width:max(660px,165%)}.artboard img{width:100%;height:auto;display:block}.artboard svg,#pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.artboard svg{overflow:hidden}polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}#route-shadow{stroke:#fff9e7;stroke-width:25}#route-line{stroke:var(--green);stroke-width:13;stroke-dasharray:21 15}.pin{display:grid;place-items:center;position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;width:34px;height:34px;background:var(--green);color:white;font-size:.75rem;font-weight:800;pointer-events:auto;box-shadow:0 1px 5px #0006}.pin.is-start{background:var(--red);z-index:3}.pin.is-dest{background:#fbdd97;color:#2d2617;z-index:2}.pin.is-start.is-dest{background:var(--red);color:white}.pin[hidden]{display:none}.route-panel{padding:19px}.route-panel label{display:block;font-size:.8rem;font-weight:750;margin:0 0 4px}.route-panel select,.route-panel input{width:100%;min-width:0;border:1px solid #96a99d;border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px}.route-panel select{margin-bottom:12px;min-height:44px}.primary,.quiet,.filter{border-radius:8px;min-height:40px;font-weight:750}.primary{background:var(--green);color:white;border:1px solid var(--green);width:100%;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.quiet,.filter{background:white;border:1px solid #a4b6a9;color:var(--green);padding:5px 10px}.draft-note,details p,#pending{color:var(--muted);font-size:.83rem}.draft-note{margin:12px 0}.result-card{border-left:4px solid var(--green);background:#eaf1e8;padding:9px 10px;margin-top:12px;font-size:.9rem}.result-card p{margin:4px 0 0}.result-card ol{padding-left:20px;margin:5px 0 0}details{border-top:1px solid var(--line);padding-top:10px;font-size:.86rem}summary{cursor:pointer;font-weight:750;color:var(--green)}details p{margin:8px 0}.copy-row{display:flex;gap:6px}#copy-status:empty{display:none}.directory{margin-top:33px}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.filter{font-size:.85rem;border-radius:24px}.filter[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.place{display:flex;gap:10px;align-items:center;text-align:left;background:white;border:1px solid var(--line);border-radius:10px;padding:8px;min-height:56px;color:var(--ink)}.place[aria-pressed=true]{border-color:var(--green);background:#eaf1e8}.place-no{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font-size:.8rem}.place small{display:block;color:var(--muted)}#pending{margin-top:12px}.footer{border-top:1px solid var(--line);padding:13px 0;color:var(--muted);margin-top:27px;font-size:.8rem}
@media(max-width:875px){.layout{grid-template-columns:1fr}.route-panel{display:block}.intro{padding-top:25px}}
@media(max-width:600px){.shell{width:calc(100% - 24px)}.intro{padding:22px 0 16px}.map-bar,.map-foot{padding:7px 9px}.pin{width:28px;height:28px;font-size:.67rem}.artboard:not(.zoomed):not(.filtered) .pin:not(.is-start):not(.is-dest){display:none}.places{grid-template-columns:repeat(2,minmax(0,1fr))}.map-foot a{flex-basis:100%}.route-panel{padding:14px}.masthead-inner{font-size:.9rem}.preview-tag{font-size:.63rem}}
@media(max-width:355px){.places{grid-template-columns:1fr}}

.place[hidden]{display:none}

.map-panel{scroll-margin-top:12px}
.map-route-status{margin:0;padding:6px 12px;border-bottom:1px solid var(--line);background:#fff4df;color:var(--ink);font-size:.85rem;font-weight:750}
#route-shadow{stroke:white;stroke-width:42}
#route-line{stroke:#8d252a;stroke-width:24;stroke-dasharray:none}
.route-dot{background:#8d252a}
.pin.is-route-end{outline:2px solid #8d252a}
@media(max-width:600px){.artboard:not(.zoomed):not(.filtered) .pin.is-route-end:not([hidden]){display:grid}}

.zoom-tip{display:none}@media(max-width:600px){.zoom-tip{display:block;font-size:.7rem;color:var(--muted);margin-left:auto}.map-bar:has(#zoom[aria-pressed=true]) .zoom-tip{display:none}}
