.coast-heading{max-width:820px;margin:24px 0 32px}.coast-heading h2{font-size:clamp(29px,4vw,48px);line-height:1.25;letter-spacing:-.04em}.coast-heading p{font-size:17px;line-height:1.9}.coast-facts,.budget-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin:24px 0}.coast-facts>div,.budget-grid>div{padding:20px;background:#eaf0e5;border:1px solid #d4dfcf;border-radius:14px}.coast-facts strong{display:block;font-size:28px;color:#265443}.coast-facts span{font-size:14px;line-height:1.7;display:block;margin-top:7px}.closure-note{padding:22px 26px;background:#fff0e7;border-left:5px solid #b44c3d;border-radius:0 14px 14px 0;margin:26px 0}.closure-note strong{font-size:20px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.plan-grid article,.coast-chapters article,.road-method-card{border:1px solid #d9e0d3;border-radius:18px;padding:26px;background:#fffdf7}.plan-grid article:first-child{border-top:4px solid #276954}.plan-grid .btn{width:100%}.btn[aria-pressed=true]{background:#276954;color:#fff}.coast-chapters{display:grid;gap:20px;margin:30px 0}.chapter-n{font-size:12px;color:#688277;letter-spacing:2px;font-weight:700}.coast-chain{font-weight:650;color:#346554;line-height:1.9;border-left:3px solid #a8bd9c;padding-left:16px}.road-map{height:480px;width:100%;border-radius:14px;border:1px solid #d3dfce;background:#e9eee4;isolation:isolate}.road-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.road-status,.map-method{font-size:12px;line-height:1.7;color:#637567}.map-method{margin:14px 0 24px}.road-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;color:#475e51}.road-legend i{display:inline-block;height:4px;width:22px;vertical-align:middle;margin-right:5px}.road-legend .green{background:#276954}.road-legend .red{background:#b43f3d}.road-legend .amber{background:#bd8a36}.road-pin{background:#276954;color:white;border:2px solid #fffdf7;border-radius:50%;font:bold 12px/22px system-ui;text-align:center;box-shadow:0 1px 4px #0004}.charge-pin{font-size:18px;line-height:24px;text-align:center;background:#fff8d7;border:2px solid #b19540;border-radius:7px;box-shadow:0 1px 3px #0004}.budget-grid{grid-template-columns:repeat(5,1fr);gap:9px;margin-top:20px}.budget-grid>div{padding:15px 12px}.budget-grid span{display:block;font-size:12px;color:#536c5d;margin-bottom:6px}.budget-grid strong{font-size:17px;color:#234d3b}.day-road-section{margin:22px 0 34px}#daily .leg-list{display:none}.road-segments{display:grid;grid-template-columns:repeat(2,1fr);align-items:start;gap:10px}.road-segment{border:1px solid #d5dfcf;border-radius:12px;background:#fffdf7;overflow:hidden}.road-segment summary{display:flex;gap:10px;cursor:pointer;padding:16px;align-items:center;list-style:none;font-weight:600}.road-segment summary:after{content:'＋';margin-left:auto;color:#557364}.road-segment[open] summary:after{content:'−'}.road-segment summary small{display:block;font-size:12px;font-weight:400;color:#66776a;margin-top:5px}.segment-num{flex-shrink:0;border-radius:50%;background:#e6eee0;color:#276954;width:25px;height:25px;line-height:25px;text-align:center;font-size:12px}.road-segment>div{padding:0 18px 18px;font-size:14px;overflow-wrap:anywhere}.road-sources{margin:25px 0;padding:20px;background:#edf1e8;border-radius:14px;font-size:13px}.road-sources summary{cursor:pointer;font-weight:600}.road-sources p{overflow-wrap:anywhere}.road-method-card .nav-link,.coast-chapters .nav-link{display:inline-block;margin:6px 16px 0 0}.controls .tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.controls{z-index:1100}#view-coast,#view-day{scroll-margin-top:140px}.leaflet-popup-content{max-width:245px;overflow-wrap:anywhere}.leaflet-popup-content p{font-size:13px}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:700px){.coast-facts{grid-template-columns:1fr}.coast-facts>div{display:flex;gap:20px;align-items:center;padding:15px 18px}.coast-facts strong{min-width:94px;font-size:25px}.coast-facts span{margin:0}.plan-grid{grid-template-columns:1fr}.coast-heading{margin-top:20px}.coast-heading p{font-size:15px}.plan-grid article,.coast-chapters article,.road-method-card{padding:20px}.road-map{height:390px}.budget-grid{grid-template-columns:repeat(2,1fr)}.budget-grid>div:first-child{grid-column:1/-1}.budget-grid>div:first-child strong{font-size:24px}.budget-grid>div{padding:13px}.road-segments{grid-template-columns:1fr}.closure-note{padding:18px}.controls .tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.controls .tabs .btn{min-height:36px;font-size:12px;padding:7px 3px}.controls{padding-top:8px;padding-bottom:8px}#view-coast,#view-day{scroll-margin-top:160px}.road-toolbar .btn{font-size:12px}.road-legend{font-size:11px}.coast-heading h2{font-size:31px}}
@media print{.road-map,.road-toolbar,.road-status{display:none}.road-segments{display:block}.road-segment{break-inside:avoid}.budget-grid{grid-template-columns:repeat(5,1fr)}}
.coast-focus{display:flex;gap:8px;flex-wrap:wrap}.coast-focus .btn{font-size:13px;background:#eaf0e5}.controls .tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;width:100%}@media(max-width:700px){.controls .tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.controls .tabs .btn{font-size:13px!important;white-space:nowrap}.road-map{height:410px}}
