@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,'Microsoft YaHei',sans-serif;color:#203b34;background:#f7f9f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #54a98c;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:104px;background:#fff;border-right:1px solid #e4eae4;display:flex;align-items:center;flex-direction:column;padding:28px 10px;gap:18px}.logo{text-decoration:none;color:#0e6c50;font-size:43px;line-height:1}.logo span{display:block;font-size:12px;font-weight:800;letter-spacing:-.5px}.logo small{display:block;font-size:9px;text-align:center;margin-top:8px;font-weight:400;letter-spacing:2px}.nav{margin-top:26px;width:80px;padding:14px 2px;border-radius:15px;font-size:25px}.nav span,aside button span{display:block;font-size:11px;margin-top:8px}.nav.active{background:#e6f1e9;color:#0e6c50}.aside-bottom{margin-top:auto;text-align:center}.online{font-size:8px;color:#2b936f;display:block;margin-bottom:30px}main{margin-left:104px;padding:42px 42px 22px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:700;color:#768c7c}h1{font-size:35px;letter-spacing:-1.6px;margin:11px 0}h1 span{font-size:35px;color:#16805f;margin-left:18px}header p{font-size:13px;color:#819087;margin:0}.location{padding:12px 18px;border:1px solid #dce5dd;background:white;border-radius:9px;font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.toolbar>span{font-size:11px;color:#8c7650}.mode{display:flex;gap:7px;background:#e9eeea;border-radius:10px;padding:4px}.mode button{padding:10px 22px;font-size:12px;border-radius:7px}.mode .selected{background:#fff;box-shadow:0 2px 6px #203b3410;color:#0e6c50;font-weight:bold}.workspace{display:grid;grid-template-columns:400px 1fr;border:1px solid #e0e7df;border-radius:18px;overflow:hidden;background:white;min-height:610px}.results{padding:25px 22px;max-height:710px;overflow:auto}.filter-head{display:flex;align-items:center;justify-content:space-between}h2{font-size:18px;margin:0 0 20px}#count{font-size:11px;color:#84938a}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips button{padding:8px 10px;border:1px solid #e1e7e2;border-radius:7px;font-size:10px;white-space:nowrap}.chips .selected{background:#0e6c50;color:white;border-color:#0e6c50}.sort-row{display:flex;justify-content:space-between;margin-top:20px;font-size:10px;color:#89958c}.sort-row select{border:0;background:white;color:#4b6258;font-size:11px;max-width:130px}.notice{font-size:11px;line-height:1.8;background:#f5f5eb;padding:10px;border-radius:7px;color:#847953}.station{border:1px solid #e2e9e2;border-radius:12px;padding:16px;margin-top:12px;transition:.2s}.station:hover,.station.focus{border-color:#398b69;box-shadow:0 4px 14px #203b340a}.station-top{display:flex;justify-content:space-between;gap:10px}.station h3{font-size:14px;margin:0 0 7px}.station .address{font-size:10px;color:#8a978f;line-height:1.6}.badge{background:#e7f4e9;color:#278252;border-radius:5px;padding:4px 6px;font-size:9px;white-space:nowrap;height:fit-content}.specs{display:flex;gap:5px;margin:13px 0}.spec{font-size:9px;background:#f0f3f0;padding:5px 7px;border-radius:5px;color:#63766a}.station-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eef1ed;padding-top:12px}.price{font-size:21px;font-weight:700;color:#166c50}.price small{font-size:10px;font-weight:400;color:#8e998f}.go{font-size:11px;padding:9px 13px;background:#edf5ee;color:#146a4f;border-radius:7px}.footnote{font-size:10px;color:#94a095;line-height:1.8;margin-top:20px}.map-wrap{position:relative;background:#e9eee3;min-height:610px}#map,.demo-map{height:100%;width:100%;position:absolute;inset:0}.demo-map{overflow:hidden;background-color:#edf0e5;background-image:linear-gradient(20deg,transparent 46%,#fff 47%,#fff 49%,#dce3d8 50%,transparent 51%),linear-gradient(100deg,transparent 46%,#fff 47%,#fff 49%,transparent 50%);background-size:90px 100px,130px 180px}.river{position:absolute;width:110px;height:1100px;background:#bfdedc;left:5%;top:-140px;transform:rotate(-18deg);border-radius:45%;border:7px solid #d5e8df}.road{position:absolute;background:#fff8d5;border:2px solid #e9dba8;width:120%;height:13px;left:-10%;top:45%;transform:rotate(-24deg)}.r2{top:68%;transform:rotate(15deg)}.r3{transform:rotate(78deg);top:40%;left:5%}.district{position:absolute;font-size:11px;letter-spacing:2px;color:#8b9b85}.d1{top:20%;left:48%}.d2{top:40%;left:30%}.d3{top:67%;left:40%}.d4{top:83%;left:62%;background:#cfe2bd;padding:30px 15px;border-radius:35px}.map-top,.map-bottom{position:absolute;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.map-top{top:20px}.map-top span{background:white;padding:11px 14px;border-radius:9px;box-shadow:0 3px 12px #38553812;font-size:10px;color:#4d725b}.map-bottom{bottom:20px}.map-bottom span{background:#fffef5e8;padding:12px;border-radius:8px;font-size:9px}.map-bottom button{background:white;border-radius:9px;width:40px;height:40px;pointer-events:auto;font-size:23px}i{display:inline-block;width:6px;height:6px;background:#0e6c50;border-radius:50%;margin:0 4px 0 8px}i.blue{background:#5d83a7}i.gray{background:#9bafa0}.pin{position:absolute;background:#146b50;border:3px solid white;color:white;border-radius:18px 18px 18px 2px;padding:8px 12px;box-shadow:0 4px 12px #203b3430;font-weight:bold;font-size:12px}.p1{top:30%;left:52%}.p2{top:52%;left:73%}.p3{top:66%;left:29%;background:#698978}.p4{top:72%;left:61%;background:#507d9a}.you{position:absolute;left:49%;top:53%;color:#348ccc;background:#87bcdd44;border:1px solid #559ddc88;padding:14px;border-radius:50%;font-size:25px;line-height:1}footer{display:flex;justify-content:space-between;font-size:10px;color:#8e9b91;margin-top:22px}footer span:last-child{letter-spacing:2px}#routeForm{display:flex;gap:10px;align-items:end;background:#fff;padding:16px;margin:0 0 18px;border-radius:12px}#routeForm[hidden]{display:none}label{font-size:12px;display:block}input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #d9e3da;border-radius:7px;background:#fafcf9}#routeForm label{flex:1}.primary{background:#0e6c50;color:white;padding:13px 18px;border-radius:8px;font-size:12px}dialog{border:1px solid #dbe5dc;border-radius:18px;max-width:460px;padding:30px;color:#203b34}dialog::backdrop{background:#102e2760;backdrop-filter:blur(4px)}dialog p{font-size:12px;line-height:1.9;color:#74847a}dialog .primary{width:100%;margin-top:8px}.close{float:right;font-size:23px}hr{border:0;border-top:1px solid #e5eae2;margin:24px 0}@media(min-width:1600px){.workspace{grid-template-columns:440px 1fr;min-height:740px}.map-wrap{min-height:740px}.results{max-height:800px}}@media(max-width:1000px){main{padding:28px 20px}.workspace{grid-template-columns:350px 1fr}h1{font-size:28px}}@media(max-width:760px){aside{inset:auto 0 0 0;width:auto;height:65px;flex-direction:row;justify-content:space-around;padding:5px;z-index:5;border-top:1px solid #e1e7df}.logo{font-size:27px;display:flex;align-items:center;gap:5px}.logo small,.online{display:none}.nav{margin:0;padding:4px;font-size:20px;width:70px}.nav span,aside button span{font-size:9px;margin-top:3px}.aside-bottom{margin:0}main{margin:0;padding:24px 16px 85px}header{margin-bottom:23px;align-items:start}h1{font-size:24px;letter-spacing:-1px}h1 span{margin-left:6px;font-size:24px}.eyebrow{font-size:8px;letter-spacing:1.5px}header p{font-size:10px}.location{font-size:10px;padding:10px;margin-top:20px}.toolbar{gap:9px}.mode button{padding:8px 12px;font-size:11px}.toolbar>span{font-size:9px;max-width:105px}.workspace{display:flex;flex-direction:column-reverse}.map-wrap{min-height:320px}.results{max-height:none;padding:20px 16px}.map-top{left:12px;right:12px;top:12px}.map-top span{font-size:9px;padding:9px}.map-bottom{bottom:12px;left:12px;right:12px}footer span:first-child{max-width:160px}footer span:last-child{font-size:8px;letter-spacing:1px}#routeForm{flex-wrap:wrap}#routeForm label{flex-basis:100%}.station h3{font-size:15px}dialog{width:calc(100% - 24px);padding:24px}}
