:root{--bg:#F6FAFE;--surface:#FFFFFF;--surface2:#EAEEF2;--border:#C0C7CD;--accent:#1D5FA8;--accent-tint:rgba(29,95,168,.1);--cost:#9A5B00;--warn:#BA1A1A;--ok:#1E7A4C;--text:#171C1F;--text2:#40484D;--text3:#71787D;--route-off:#8A96A3;--font:"DM Sans",system-ui,sans-serif;--font-display:"Archivo","DM Sans",system-ui,sans-serif;--panel:400px;--top:56px;--radius:6px}@media(prefers-color-scheme:dark){:root{--bg:#0F1418;--surface:#161D22;--surface2:#1F282F;--border:#38434B;--accent:#6FA8EA;--accent-tint:rgba(111,168,234,.14);--cost:#E8A84A;--warn:#FFB4AB;--ok:#7BD3A0;--text:#E3E8EC;--text2:#B9C2C9;--text3:#8B959D;--route-off:#5E6A74}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);display:flex;flex-direction:column}button,input,select{font:inherit;color:inherit}.top{height:var(--top);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);flex:none}.brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font:800 19px/1 var(--font-display);letter-spacing:-.01em}.brand svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:2}.brand svg path{fill:var(--accent);stroke:none}.nav{display:flex;align-items:center;gap:14px}.nav a{color:var(--text2);text-decoration:none;font-weight:600;font-size:14px}.nav a:hover{color:var(--accent)}@media(max-width:600px){.nav{gap:10px}.nav a{font-size:12.5px}.brand span{display:none}}.lang{border:1px solid var(--border);background:none;border-radius:var(--radius);padding:4px 10px;cursor:pointer;font-weight:600}.h1{font:800 17px/1.25 var(--font-display);margin:0 0 12px}.consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--text2)}.consent p{max-width:420px;margin:0}.consent a{color:var(--accent)}.consent .primary{width:auto;padding:10px 22px}body.page{height:auto;min-height:100%}.doc{flex:1;width:100%;max-width:820px;margin:0 auto;padding:24px 16px 56px}.doc h1{font:800 26px/1.2 var(--font-display);margin:4px 0 16px}.doc h2{font:700 18px/1.3 var(--font-display);margin:28px 0 8px;color:var(--accent)}.doc h3{font-size:15px;margin:18px 0 6px}.doc p,.doc li{color:var(--text2)}.doc a{color:var(--accent)}.doc .lead{font-size:16.5px;color:var(--text)}.doc .cta{display:inline-block;margin:6px 0 4px;padding:10px 18px;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:700;text-decoration:none}.tbl{width:100%;overflow-x:auto;margin:10px 0 6px}.tbl table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.tbl th,.tbl td{border-bottom:1px solid var(--surface2);padding:6px 8px;text-align:right;white-space:nowrap}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl thead th{color:var(--text2);font-weight:600;border-bottom:1px solid var(--border)}.tbl caption{text-align:left;font-size:12.5px;color:var(--text3);caption-side:bottom;padding-top:6px}.layout{flex:1;display:flex;min-height:0}.panel{width:var(--panel);flex:none;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);padding:16px}.mapwrap{flex:1;position:relative}#map{position:absolute;inset:0;background:var(--surface2)}.seg{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:14px}.segbtn{flex:1;border:0;background:none;padding:9px;cursor:pointer;font-weight:600;color:var(--text2)}.segbtn.on{background:var(--accent);color:#fff}.fld{display:block;margin-bottom:10px;position:relative}.fld>span{display:block;font-size:12.5px;color:var(--text2);margin-bottom:3px}.fld input,.fld select{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.fld input:focus,.fld select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.via .x{position:absolute;right:6px;bottom:6px;border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--text3)}.row{display:flex;gap:10px}.row .fld{flex:1}.link{border:0;background:none;color:var(--accent);padding:0;margin:0 0 12px;cursor:pointer;font-weight:600}.box{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 4px;margin:0 0 12px}.box legend{font-weight:700;padding:0 4px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 11px;cursor:pointer;font-size:13.5px}.chip.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent);font-weight:600}.more summary{cursor:pointer;color:var(--text2);margin-bottom:8px}.chk{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.chk input{width:17px;height:17px;accent-color:var(--accent)}.opts{margin-bottom:12px}.primary{width:100%;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;padding:11px;font-weight:700;cursor:pointer}.primary:disabled{opacity:.6;cursor:wait}.secondary{border:1px solid var(--accent);background:none;color:var(--accent);border-radius:var(--radius);padding:7px 10px;cursor:pointer;font-weight:600;margin-top:8px;width:100%}.msg{color:var(--text2);margin:10px 0;min-height:1em}.msg.warn{color:var(--cost)}.card{border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-top:12px;cursor:pointer;background:var(--surface)}.card.sel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.card header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.card h3{margin:0 auto 0 0;font:700 15px/1.2 var(--font-display)}.badge{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent-tint);color:var(--accent)}.badge.alt{background:var(--surface2);color:var(--text2)}.kpi{display:flex;gap:16px}.kpi div{display:flex;flex-direction:column}.kpi b{font:800 22px/1.1 var(--font-display);color:var(--cost)}.kpi b.dist{color:var(--text)}.kpi b.free{color:var(--ok)}.kpi span{font-size:12.5px;color:var(--text3)}.card details{margin-top:10px}.card summary{cursor:pointer;color:var(--accent);font-weight:600}.items{list-style:none;padding:0;margin:8px 0}.items li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--surface2)}.items li small{color:var(--text3)}.items li.sub{border:0;padding-top:0;font-size:12.5px;color:var(--text3)}.items li.opt{border:0;padding:2px 0 2px 12px;font-size:13.5px;color:var(--text2)}.items li.open{color:var(--warn)}.items li.sum{font-weight:700;border-bottom:0}.items small.src{font-size:10.5px;padding:0 5px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.row[hidden]{display:none}.items li.ok .st{color:var(--ok)}.items li .st{text-align:right;font-size:13px}h4.sub{margin:10px 0 0;font-size:12.5px;color:var(--text2);font-weight:600}.here{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.here h4{margin:0 0 4px;font-size:13.5px}.note,.attr{font-size:12px;color:var(--text3);margin:6px 0}.suggest{position:absolute;z-index:1000;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 18px #00000026}.sug{padding:8px 12px;cursor:pointer}.sug.on,.sug:hover{background:var(--accent-tint)}.foot{flex:none;display:flex;gap:16px;justify-content:center;padding:6px 16px;font-size:12px;color:var(--text3);background:var(--surface);border-top:1px solid var(--border)}.foot a{color:var(--text3)}@media(max-width:820px){body{height:auto;min-height:100%}.layout{flex-direction:column}.panel{width:100%;border-right:0;border-bottom:1px solid var(--border);overflow:visible}.mapwrap{height:60vh;flex:none}}
