:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--lg-t-173237,#173237);background:var(--lg-b-edf1ee,#edf1ee);font-synthesis:none;--ink:#102d32;--lime:#c5fa73;--line:#dce3df}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lg-l-148885,#148885);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}header{height:72px;background:var(--ink);color:var(--lg-t-ffffff,white);display:flex;align-items:center;padding:0 28px;gap:20px}.brand{text-decoration:none;color:var(--lg-t-ffffff,white);display:flex;align-items:center;gap:12px;font-size:var(--hx-text-body);letter-spacing:1.5px}.brand b{font-weight:500;color:var(--lg-t-b6c7c6,#b6c7c6)}.brand-mark{width:35px;height:38px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:var(--hx-text-title);font-weight:800;border-radius:8px}.pilot{margin-left:auto;font-size:var(--hx-text-meta);letter-spacing:var(--hx-tracking-caps);color:var(--lg-t-d0dddd,#d0dddd)}.pilot span{color:var(--lime);margin-left:9px}.icon-btn{border:1px solid var(--lg-l-ccd6d1,#ccd6d1);border-radius:50%;background:transparent;color:inherit;width:36px;height:36px;font-size:var(--hx-text-title);display:grid;place-items:center;flex-shrink:0}header .icon-btn{border-color:var(--lg-l-547075,#547075);font-size:var(--hx-text-body)}main{display:grid;grid-template-columns:328px 1fr;height:calc(100dvh - 72px);min-height:550px}.sidebar{background:var(--lg-b-ffffff,#fff);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);z-index:2}.sidebar-top{padding:27px 22px 0}.eyebrow{font-size:var(--hx-text-meta);font-weight:700;letter-spacing:var(--hx-tracking-caps);color:var(--lg-t-637b7d,#637b7d)}.farm-tabs{display:flex;gap:8px;margin:14px 0 22px}.farm{flex:1;text-align:left;border:1px solid var(--line);background:var(--lg-b-f8faf8,#f8faf8);border-radius:var(--hx-radius-card);padding:13px 14px;font-weight:750;font-size:var(--hx-text-body);color:var(--ink)}.farm span{display:block;font-size:var(--hx-text-meta);font-weight:500;color:var(--lg-t-6b7f80,#6b7f80);margin-top:5px}.farm.active{background:var(--ink);border-color:var(--ink);color:var(--lg-t-ffffff,white)}.farm.active span{color:var(--lg-t-d0e2da,#d0e2da)}.search{height:48px;display:flex;align-items:center;gap:8px;border:1px solid var(--lg-l-cad6d0,#cad6d0);border-radius:8px;padding:0 12px}.search span{font-size:var(--hx-text-display);color:var(--lg-t-68807d,#68807d)}.search input{min-width:0;width:100%;border:0;background:none;outline:none;font-size:var(--hx-text-body);color:var(--ink)}.list-heading{display:flex;align-items:center;justify-content:space-between;font-size:var(--hx-text-meta);color:var(--lg-t-71817f,#71817f);padding:20px 0 12px}.text-btn{color:var(--lg-t-35695e,#35695e);border:0;background:none;padding:7px 0;font-size:var(--hx-text-label);font-weight:600}.turbine-list{overflow-y:auto;flex:1;padding:0 12px 12px}.turbine-row{width:100%;display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid transparent;background:var(--lg-b-ffffff,white);border-radius:9px;color:var(--ink);text-align:left;margin:2px 0}.turbine-row:hover{background:var(--lg-b-f1f6f1,#f1f6f1)}.turbine-row.selected{background:var(--lg-b-eef6e4,#eef6e4);border-color:var(--lg-l-c5daae,#c5daae)}.turbine-symbol{display:grid;place-items:center;width:35px;height:35px;background:var(--lg-b-f1f5f2,#f1f5f2);border-radius:50%;color:var(--lg-t-547766,#547766)}.turbine-row.selected .turbine-symbol{background:var(--lg-b-dcedc8,#dcedc8)}.row-title{font-weight:700;font-size:var(--hx-text-label)}.row-sub{color:var(--lg-t-7a8984,#7a8984);font-size:var(--hx-text-meta);margin-top:4px}.row-arrow{margin-left:auto;color:var(--lg-t-8b9c95,#8b9c95)}.sidebar-foot{border-top:1px solid var(--line);padding:15px 20px;font-size:var(--hx-text-meta);color:var(--lg-t-74847b,#74847b);display:flex;align-items:center;gap:8px}.mini-line{width:16px;height:2px;background:var(--lg-b-87a180,#87a180)}.map-area{position:relative;min-width:0;overflow:hidden;background:#e8eee5}#map{position:absolute;inset:0}.map-top{position:absolute;left:24px;right:24px;top:22px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.map-top>*{pointer-events:auto}.location-tag{background:var(--lg-b-ffffff,#fff);box-shadow:0 3px 12px #17323712;padding:11px 14px;border-radius:7px;display:flex;gap:8px;align-items:center;font-size:var(--hx-text-meta)}.dot{width:7px;height:7px;border-radius:50%;background:var(--lg-b-e0a348,#e0a348)}.dot.ready{background:var(--lg-b-4b8d68,#4b8d68)}.map-button{background:var(--lg-b-ffffff,#fff);color:var(--lg-t-385b55,#385b55);border:1px solid var(--lg-l-dce3df,#dce3df);border-radius:7px;padding:9px 13px;font-size:var(--hx-text-meta)}.map-actions{position:absolute;right:24px;top:87px;display:grid;gap:8px}.map-actions button{width:var(--hx-target-icon);height:var(--hx-target-icon);border-radius:9px;background:var(--lg-b-ffffff,#fff);border:1px solid var(--lg-l-d9e2da,#d9e2da);font-size:var(--hx-text-display);color:var(--lg-t-315d53,#315d53);box-shadow:0 3px 12px #17323712}.empty-card{position:absolute;left:24px;bottom:57px;width:340px;max-width:calc(100% - 48px);background:var(--lg-b-ffffff,#fff);border:1px solid var(--lg-l-e3e9df,#e3e9df);border-radius:16px;padding:22px;box-shadow:0 12px 35px #1b392b20}.empty-card h1{font-size:var(--hx-text-title);letter-spacing:var(--hx-tracking-display);margin:9px 0}.empty-card p{color:var(--lg-t-6a7d76,#6a7d76);font-size:var(--hx-text-label);line-height:var(--hx-leading-body);margin:8px 0 20px}.origin-label{display:block;font-size:var(--hx-text-meta);letter-spacing:var(--hx-tracking-caps);font-weight:700;color:var(--lg-t-687f77,#687f77);margin-bottom:8px}select{width:100%;border:1px solid var(--lg-l-cedad1,#cedad1);background:var(--lg-b-f7faf6,#f7faf6);border-radius:7px;padding:12px 9px;font-size:var(--hx-text-label);color:var(--lg-t-26493e,#26493e)}.primary{background:var(--ink);border:0;color:var(--lg-t-ffffff,#fff);border-radius:8px;padding:14px 16px;font-size:var(--hx-text-label);font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:46px}.primary:hover{background:var(--lg-b-25484b,#25484b)}.primary span{color:var(--lime);font-size:var(--hx-text-body)}.route-buttons{display:flex;gap:8px;margin-top:13px}.route-buttons .primary{flex:1}.secondary{border:1px solid var(--lg-l-cedad1,#cedad1);border-radius:8px;background:var(--lg-b-ffffff,#fff);color:var(--lg-t-456355,#456355);padding:10px;font-size:var(--hx-text-label)}.pilot-note{font-size:var(--hx-text-meta);line-height:var(--hx-leading-body);color:var(--lg-t-77877d,#77877d);margin-top:13px}.route-metrics{display:flex;align-items:baseline;gap:8px;padding-top:17px}.route-metrics strong{font-size:var(--hx-text-display);letter-spacing:var(--hx-tracking-display)}.route-metrics span{font-size:var(--hx-text-meta);color:var(--lg-t-6b7c76,#6b7c76)}.route-warning{font-size:var(--hx-text-meta);line-height:var(--hx-leading-body);color:var(--lg-t-80591c,#80591c);background:var(--lg-b-fff5dd,#fff5dd);border-radius:6px;padding:10px;margin-top:10px}.route-info{font-size:var(--hx-text-meta);line-height:var(--hx-leading-body);color:var(--lg-t-597568,#597568);margin:9px 0 0}.follow-button{background:var(--lg-b-d2efad,#d2efad);color:var(--lg-t-244932,#244932);margin-top:12px}.follow-button:hover{background:var(--lg-b-c3e899,#c3e899)}#guidance{margin-top:13px;padding:12px;background:var(--lg-b-edf5e6,#edf5e6);border-radius:8px}#guidance strong{display:block;font-size:var(--hx-text-title);margin:7px 0}#guidance-detail{font-size:var(--hx-text-meta);color:var(--lg-t-526a5d,#526a5d)}.guidance-top{display:flex;justify-content:space-between;align-items:center}.guidance-top .eyebrow{font-size:var(--hx-text-min);letter-spacing:var(--hx-tracking-caps)}.map-legend{position:absolute;bottom:25px;left:25px;display:flex;gap:16px;font-size:var(--hx-text-meta);color:var(--lg-t-4c695d,#4c695d);background:#ffffffd9;padding:7px 10px;border-radius:5px}.map-legend span{display:flex;align-items:center;gap:5px}.legend-road{width:16px;height:3px;background:var(--lg-b-698773,#698773)}.legend-wtg{width:8px;height:8px;border-radius:50%;background:var(--lg-b-234d43,#234d43)}.wtg-marker{background:#fff;color:#183e36;border:1px solid #658979;border-radius:5px;padding:4px 7px;font-size:var(--hx-text-min);font-weight:700;box-shadow:0 2px 6px #21413222;white-space:nowrap;cursor:pointer;min-height:25px}.wtg-marker:before{content:'';width:5px;height:5px;border-radius:50%;background:#416d54;display:inline-block;margin-right:5px}.wtg-marker.is-selected{background:var(--ink);border-color:var(--ink);color:#d3fa9d;z-index:2;font-size:var(--hx-text-meta);padding:6px 9px}.gps-marker{width:18px;height:18px;border:3px solid white;border-radius:50%;background:#287ed9;box-shadow:0 0 0 8px #287ed930}.maplibregl-ctrl-attrib{font-size:var(--hx-text-min)!important}#map-placeholder{position:absolute;inset:45% 10% auto;text-align:center;color:var(--lg-t-547060,#547060);pointer-events:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lg-b-173b36,#173b36);color:var(--lg-t-ffffff,white);padding:13px 20px;border-radius:9px;box-shadow:0 6px 20px #17323730;font-size:var(--hx-text-label);max-width:90vw;z-index:20;line-height:var(--hx-leading-body)}dialog{border:0;border-radius:18px;max-width:560px;width:calc(100% - 28px);padding:26px;color:var(--lg-t-26483d,#26483d);max-height:86dvh;overflow:auto;box-shadow:0 25px 90px #102d3255}dialog::backdrop{background:#102d3290}.dialog-header{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:var(--hx-text-display);letter-spacing:var(--hx-tracking-display);margin:15px 0}dialog h3{font-size:var(--hx-text-body);margin:24px 0 8px}dialog p,dialog li{font-size:var(--hx-text-label);line-height:var(--hx-leading-body)}dialog li{margin-bottom:12px}dialog ol{padding-left:20px}dialog a{color:var(--lg-t-276c54,#276c54)}[hidden]{display:none!important}.no-results{padding:25px;color:var(--lg-t-6e8177,#6e8177);font-size:var(--hx-text-label);line-height:var(--hx-leading-body)}
@media(max-width:760px){header{height:60px;padding:0 16px;gap:12px}.brand{font-size:var(--hx-text-label);gap:9px}.brand-mark{width:30px;height:33px;font-size:var(--hx-text-title)}.pilot{font-size:var(--hx-text-min);letter-spacing:var(--hx-tracking-caps)}.pilot span{display:none}main{display:flex;flex-direction:column;height:calc(100dvh - 60px);min-height:570px}.sidebar{flex-shrink:0;border-right:0;border-bottom:1px solid var(--line)}.sidebar-top{padding:12px 14px 0;display:grid;grid-template-columns:138px 1fr;column-gap:10px;align-items:center}.sidebar-top>.eyebrow,.list-heading{display:none}.farm-tabs{margin:0;gap:5px}.farm{font-size:var(--hx-text-label);padding:11px 10px;border-radius:7px}.farm span{display:none}.search{height:43px;padding:0 9px}.search input{font-size:var(--hx-text-body)}.turbine-list{display:flex;gap:6px;padding:9px 14px 11px;overflow-x:auto;overflow-y:hidden;max-height:70px;flex:none}.turbine-row{width:auto;flex-shrink:0;padding:9px 12px;margin:0;background:var(--lg-b-f5f8f4,#f5f8f4);border-color:var(--lg-l-e0e7dc,#e0e7dc);border-radius:7px}.row-sub,.row-arrow,.turbine-symbol{display:none}.row-title{font-size:var(--hx-text-meta);white-space:nowrap}.sidebar-foot{display:none}.map-area{flex:1;min-height:400px}.map-top{top:12px;left:12px;right:12px;gap:6px}.location-tag{font-size:var(--hx-text-min);padding:9px 10px}.map-button{font-size:var(--hx-text-min);padding:7px 9px}.map-actions{right:12px;top:61px;gap:7px}.map-actions button{width:40px;height:40px}.empty-card{left:12px;bottom:38px;width:calc(100% - 24px);max-width:420px;border-radius:13px;padding:16px}.empty-card h1{font-size:var(--hx-text-title)}.empty-card p{font-size:var(--hx-text-label);margin-bottom:13px}.origin-label{font-size:var(--hx-text-min);margin-bottom:6px}select{padding:9px;font-size:var(--hx-text-label)}.route-buttons{margin-top:9px}.primary{padding:11px 13px;font-size:var(--hx-text-label);min-height:var(--hx-target-icon)}.pilot-note{margin-top:9px;font-size:var(--hx-text-min)}.route-metrics{padding-top:9px}.route-metrics strong{font-size:var(--hx-text-title)}.route-warning{padding:7px;font-size:var(--hx-text-meta);margin-top:7px}.route-info{font-size:var(--hx-text-meta);margin-top:6px}.map-legend{left:12px;bottom:13px;font-size:var(--hx-text-min);gap:10px;padding:5px 7px}.wtg-marker{font-size:var(--hx-text-min);padding:3px 5px}#snapshot-date{display:none}.follow-button{margin-top:8px}#guidance{padding:9px;margin-top:9px}#guidance strong{font-size:var(--hx-text-body)}.no-results{padding:5px}.maplibregl-ctrl-bottom-right{bottom:0}#toast{bottom:15px;width:max-content;max-width:92vw}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.empty-card{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.row-title,.row-sub{display:block}.coverage-note{font-size:var(--hx-text-meta);line-height:var(--hx-leading-body);color:var(--lg-t-7a632d,#7a632d);margin:-6px 0 12px}.target-bearing{font-size:var(--hx-text-label);color:var(--lg-t-235f55,#235f55);background:var(--lg-b-edf5e6,#edf5e6);border-radius:7px;padding:10px;margin:0 0 12px}.row-sub.gap{color:var(--lg-t-9a7028,#9a7028)}@media(max-width:760px){.row-sub{display:none}.coverage-note{font-size:var(--hx-text-min);margin:0 0 9px}.target-bearing{font-size:var(--hx-text-meta);padding:7px}}

.empty-card{z-index:3}.map-top,.map-actions,.map-legend{z-index:4}.maplibregl-control-container{position:relative;z-index:5}#route-checks{margin-top:10px;border-top:1px solid var(--lg-l-e2e7dc,#e2e7dc);padding-top:9px}#route-checks summary{font-size:var(--hx-text-meta);color:var(--lg-t-89601d,#89601d);cursor:pointer;font-weight:650}#route-checks .route-warning{margin-bottom:0}@media(max-width:760px){.map-actions{z-index:2}#route-checks summary{font-size:var(--hx-text-meta)}}
