/* Route view: functional paths and interactive stations */
#mapView{display:flex;align-items:center;gap:8px;margin:16px 0}#mapView small{margin-left:auto}#mapView button{font-size:14px;padding:8px 15px}
.trail{display:none}#map.roadMap{display:block;max-width:1000px;margin:0 auto;border:1px solid #dbe6e9;border-radius:24px;background:radial-gradient(circle at 10% 20%,#edf5f8 0,transparent 35%),#fffcf3;overflow:hidden;padding:24px 24px 0}
.roadMap .region{position:relative;isolation:isolate;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 0;min-height:540px}
.roadMap .regionHead{position:relative;z-index:2;max-width:500px;margin:0 auto;padding:14px 18px;background:#ffffffec;border:1px solid #dde7e9;border-radius:16px;box-shadow:0 5px 14px #18384b07}
.roadMap .regionNumber{background:var(--region);color:white;width:45px;height:45px;border-radius:12px}
.roadMap .skills{display:none}.roadMap .trail{display:block;position:absolute;z-index:-1;left:0;bottom:0;width:100%;height:440px;overflow:visible}
.trail path{fill:none;stroke-linecap:round}.trailBorder{stroke:#e9b652;stroke-width:70}.trailSurface{stroke:#f8d985;stroke-width:62}.trailCenter{stroke:#fffdf2;stroke-width:4;stroke-dasharray:12 14}
.roadMap .nodes{position:relative;height:440px;display:block;margin:0}.roadMap .nodes li{position:absolute;width:39%;left:3%;top:18px}.roadMap .nodes li:nth-child(2){left:58%;top:205px}.roadMap .nodes li+li:before{display:none}
.roadMap .nodes a{position:relative;display:block;text-align:center;padding:42px 16px 16px;margin-top:40px;border:2px solid #cedbe6;background:white;box-shadow:0 8px 20px #17364b12;border-radius:16px}
.roadMap .nodeIcon{position:absolute;left:calc(50% - 31px);top:-34px;width:62px;height:62px;display:grid;place-items:center;border:5px solid white;box-shadow:0 0 0 2px var(--region),0 5px 14px #17364b18;font-size:24px;color:white;background:var(--region);border-radius:50%}
.roadMap .nodes a>span:last-child{display:none}.roadMap .nodes a>div>span{display:none}.roadMap .nodes h3{font-size:18px;margin:5px 0}.roadMap .nodes small{font-size:13px}
.roadMap .nodes .ready a{border-color:var(--region)}.roadMap .nodes .done a{border-color:#167b69;background:#f2fbf7}.roadMap .nodes .done .nodeIcon{background:#167b69;box-shadow:0 0 0 2px #167b69,0 5px 14px #17364b18}
.roadMap .nodes .locked .nodeIcon{color:#5f7181;background:#e6edf2;box-shadow:0 0 0 2px #b8c6d2}.roadMap .nodes .locked a{background:#f9fbfc}
.roadMap .region:last-child{min-height:520px}.roadMap .region:last-child:after{content:'带着方法，走进真实客户现场';display:block;position:absolute;bottom:8px;left:10%;width:80%;text-align:center;background:#173e50;color:#fff;padding:10px 8px;border-radius:10px;font-size:14px}
@media(max-width:650px){#map.roadMap{padding:18px 8px 0;border-radius:18px}.roadMap .region{min-height:575px}.roadMap .regionHead{padding:12px;gap:10px}.roadMap .regionHead h2{font-size:20px}.roadMap .regionHead p{font-size:13px}.roadMap .nodes{height:475px}.roadMap .trail{height:475px}.roadMap .nodes li{width:62%;left:0;top:20px}.roadMap .nodes li:nth-child(2){width:62%;left:38%;top:240px}.roadMap .nodes a{padding:38px 10px 12px}.roadMap .nodes h3{font-size:16px}.roadMap .nodeIcon{width:54px;height:54px;left:calc(50% - 27px);top:-29px}.roadMap .region:last-child{min-height:600px}#mapView small{flex-basis:100%;margin:0}.trailBorder{stroke-width:58}.trailSurface{stroke-width:50}}
