.connected-plan{max-width:1120px;margin:40px auto;padding:32px;background:#fff;border-top:3px solid #968363;color:#292b27;font:16px/1.65 Arial,"PingFang TC",sans-serif}
.connected-plan h2{font:400 30px/1.45 Georgia,"Noto Serif TC",serif;margin:8px 0 16px}.connected-plan h3{font-size:20px}
.connected-plan p{max-width:75ch}.connected-plan button,.connected-plan a{min-height:44px}
.connected-plan button{padding:10px 18px;border:1px solid #727368;background:#fff;color:#292b27;cursor:pointer;border-radius:4px;font:inherit}
.connected-plan .connected-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid #292b27;border-radius:4px;background:#292b27;color:#fff;text-decoration:none;box-sizing:border-box}
.connected-plan .connected-text-action{background:transparent;border:0;padding:10px 0;color:#51472f;text-decoration:underline;text-underline-offset:4px;width:auto}
.connected-next{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px}
.connected-next:not(:has(button:not([hidden]))){display:none}
.connected-plan .connected-drafts{border:0;padding:8px 0;margin-top:16px}
.connected-drafts summary{display:list-item;width:fit-content;min-height:44px;padding:10px 0;box-sizing:border-box;cursor:pointer;color:#57594f;font-size:14px}
.connected-drafts .connected-actions{margin:4px 0;gap:24px}
.connected-plan #connected-results{scroll-margin-top:120px}
.connected-plan #connected-results:focus{outline:none}
.connected-plan button:disabled{opacity:.55;cursor:wait}.connected-plan a{display:inline-flex;align-items:center;text-decoration:underline;color:#51472f;margin:8px 12px 8px 0}
.connected-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.connected-plan label{display:block}.connected-plan input:not([type=checkbox]),.connected-plan select{display:block;width:100%;min-height:46px;padding:10px;border:1px solid #999b91;font:inherit;background:#fff;color:#292b27;box-sizing:border-box}
.connected-plan article{background:#f3f4f4;padding:20px;margin:18px 0}.connected-plan details{padding:18px 0}
.connected-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.connected-plan pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f3f4f4;padding:20px}
.connected-plan [hidden]{display:none!important}.connected-plan :focus-visible{outline:3px solid #826c44;outline-offset:3px}
.connected-plan .connected-fine{font-size:13px;color:#57594f}.connected-plan .connected-consent{display:flex;gap:12px;margin:20px 0}.connected-consent input{width:22px;height:22px;flex:none}
#connected-results table{width:100%;border-collapse:collapse}#connected-results td,#connected-results th{padding:10px;border:1px solid #b5b7ae;text-align:left}
#connected-error{color:#8e3524}#connected-status{font-weight:600}
/* The map's nested footer must not inherit the public site footer's colors. */
body[data-journey-tools=true] .commute-tool .page-foot{background:transparent;color:#292b27;margin:0;padding:24px 0}
body[data-journey-tools=true] .commute-tool .workspace{height:auto;min-height:0;align-items:start}
body[data-journey-tools=true] .commute-tool .sidebar{overflow:visible;min-width:0}
body[data-journey-tools=true] .commute-tool .map-column{height:min(760px,80vh);position:sticky;top:100px}
body[data-journey-tools=true] .commute-tool .area-main{background:transparent;border:0;text-align:left;padding:0;min-width:0}
@media(max-width:700px){.connected-plan{margin:24px 16px;padding:20px}.connected-fields{grid-template-columns:1fr}.connected-plan h2{font-size:25px}.connected-plan button{width:100%;white-space:normal}.connected-plan td,.connected-plan th{font-size:14px}.connected-plan article{padding:14px}body[data-journey-tools=true] .commute-tool .map-column{position:relative;top:0;height:420px}body[data-journey-tools=true] .commute-tool .page-foot{display:block}}
@media print{.connected-plan button,.connected-plan input,.connected-plan select,#connected-send,#connected-finance{display:none}.connected-plan{margin:0;border:0}}
.connected-plan .connected-selection{background:#e8efec;border-left:3px solid #287074;padding:20px 24px;margin:20px 0}
.connected-selection>strong{font-size:18px}.connected-selection p{margin:6px 0}.connected-selection ul{list-style:none;margin:12px 0;padding:0}
.connected-selection li{padding:9px 0}.connected-selection li b,.connected-selection li span{display:block}.connected-selection li span{font-size:14px;color:#295c60}
.connected-selection small{display:block;font-size:12px;color:#4b605c;line-height:1.7}
.report-commute{padding:24px;background:#e8efec;margin:24px 0}.report-commute h3{margin:0 0 12px}.report-commute ul{list-style:none;padding:0}.report-commute li{padding:8px 0}.report-commute li strong,.report-commute li span{display:block}.report-commute li span{color:#295c60;font-size:14px}.report-commute small{font-size:12px}
@media(max-width:700px){body[data-journey-tools=true] .commute-tool .workspace{align-items:stretch}body[data-journey-tools=true] .commute-tool .map-column{width:100%}}
/* Keep the whole road visible on phones; place its readable details below it. */
@media(max-width:700px){
 body[data-journey-tools=true] .commute-tool .map-column{height:auto;overflow:visible}
 body[data-journey-tools=true] .commute-tool #map{height:380px}
 body[data-journey-tools=true] .commute-tool .map-detail{position:relative;right:auto;bottom:auto;width:100%;max-height:none;overflow:visible;box-shadow:none;margin:0}
 body[data-journey-tools=true] .commute-tool .map-legend{top:330px;bottom:auto}
}

/* Direct selection, persistent range context, and readable map controls. */
body[data-journey-tools=true] .commute-tool .area-card{display:block;border:0;padding:0;margin:10px 0;background:#f6f5f1;border-radius:6px;overflow:hidden}
body[data-journey-tools=true] .commute-tool .area-card .area-main{display:block;width:100%;padding:18px 16px;min-height:100px;transition:background .18s ease;cursor:pointer}
body[data-journey-tools=true] .commute-tool .area-card.shortlisted{background:#dfedE8;box-shadow:inset 3px 0 #287074}
body[data-journey-tools=true] .commute-tool .area-card.selected{box-shadow:inset 3px 0 #007b83,0 0 0 1px #a0bdb6}
body[data-journey-tools=true] .commute-tool .area-card:hover{background:#e8ece7}
.commute-tool .area-selected-label{display:inline-block;margin-left:12px;font:600 11px Arial,"PingFang TC",sans-serif;color:#24595a;vertical-align:middle}
body[data-journey-tools=true] .commute-tool .area-pin{display:flex;align-items:center;gap:7px;min-height:36px}
.commute-tool .area-house{width:22px;height:22px;flex:none}
body[data-journey-tools=true] .commute-tool .area-pin.shortlisted{background:#e1efea;border-color:#286c70;color:#24595a}
body[data-journey-tools=true] .commute-tool .area-pin.chosen{background:#007078;border-color:#fff;color:#fff;box-shadow:0 0 0 3px #00707840}
.commute-tool .range-back{border:0;background:transparent;color:#42635d;padding:0 0 14px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.commute-tool .range-back:before{content:'';display:inline-block;width:7px;height:7px;border-left:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-right:9px}
body[data-journey-tools=true] .commute-tool .detail-top button{min-width:44px;min-height:44px}
body[data-journey-tools=true] .commute-tool .map-detail{padding:18px 22px}
.commute-tool .map-gesture-hint{position:absolute;left:20px;bottom:76px;z-index:450;font-size:11px;color:#4c5147;background:#fffefaeb;padding:8px 12px;margin:0;pointer-events:none}
body[data-journey-tools=true] .commute-tool .map-message{pointer-events:none}
body[data-journey-tools=true] .commute-tool .map-toolbar>button{min-height:44px}
body[data-journey-tools=true] .commute-tool .search-box input{background:#fff;background-image:none;appearance:none;min-height:48px;font-size:16px}
@media(max-width:1000px){body[data-journey-tools=true] .commute-tool .map-column{height:auto;overflow:visible}body[data-journey-tools=true] .commute-tool #map{height:520px}body[data-journey-tools=true] .commute-tool .map-detail{position:relative;right:auto;bottom:auto;width:100%;max-height:none;overflow:visible;box-shadow:none}body[data-journey-tools=true] .commute-tool .map-legend{bottom:auto;top:465px}.commute-tool .map-gesture-hint{bottom:auto;top:420px}}
@media(max-width:700px){body[data-journey-tools=true] .commute-tool #map{height:400px}body[data-journey-tools=true] .commute-tool .map-toolbar{gap:8px;align-items:start}body[data-journey-tools=true] .commute-tool .map-toolbar>span{max-width:135px;padding:10px;font-size:11px}body[data-journey-tools=true] .commute-tool .map-toolbar button span{display:inline}body[data-journey-tools=true] .commute-tool .map-toolbar button{font-size:12px;padding:10px}.commute-tool .map-gesture-hint{top:302px;left:12px;font-size:10px}body[data-journey-tools=true] .commute-tool .map-legend{top:345px}body[data-journey-tools=true] .commute-tool .area-pin{min-width:36px;width:36px!important;height:36px!important;justify-content:center}body[data-journey-tools=true] .commute-tool .area-pin .marker-number{display:none}body[data-journey-tools=true] .commute-tool .area-card .area-main{padding:18px}}
@media(prefers-reduced-motion:reduce){.commute-tool .area-card .area-main{transition:none!important}}
@media(max-width:700px){
 body[data-journey-tools=true] .commute-tool .area-pin .marker-number{display:flex;position:absolute;right:-5px;bottom:-5px;align-items:center;justify-content:center;width:16px;height:16px;background:#fff;border-radius:50%;border:1px solid #a8b6a9;color:#34534d;font-size:10px}
 body[data-journey-tools=true] .commute-tool .area-pin.chosen .marker-name{display:block;position:absolute;top:42px;left:50%;transform:translateX(-50%);background:#007078;color:white;padding:6px 8px;border-radius:4px;font-size:10px;z-index:1}
 body[data-journey-tools=true] .commute-tool .area-pin:after{content:'';position:absolute;inset:-4px}
}
