*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.table{display:table}.rounded{border-radius:.25rem}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\[out\:json\]{out:json}.\[timeout\:25\]{timeout:25}:root{--bg-base: #0d1a0f;--bg-card: #152118;--bg-card-hover: #1c2e20;--bg-input: #1a2a1d;--bg-header: #0a150c;--border: #2a3d2d;--border-light: #3a5040;--text-primary: #e8f0e9;--text-secondary: #9db89e;--text-muted: #617a63;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--amber-400: #fbbf24;--blue-400: #38bdf8;--red-400: #f87171;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-card: 0 2px 12px rgba(0, 0, 0, .4);--shadow-btn: 0 2px 8px rgba(34, 197, 94, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.6}a{color:var(--green-400);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:0 16px 48px}.header{background:var(--bg-header);border-bottom:1px solid var(--border);padding:16px;position:sticky;top:0;z-index:100}.header-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:14px}.header-flag{flex-shrink:0}.header-title{font-size:clamp(1.2rem,5vw,1.6rem);font-weight:700;color:var(--green-400);letter-spacing:-.02em;line-height:1.2}.header-subtitle{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.search-section{padding-top:28px}.search-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:20px}.route-inputs{display:flex;flex-direction:column;gap:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);overflow:visible;padding:12px;gap:4px}.route-arrow{text-align:center;font-size:1.1rem;color:var(--text-muted);line-height:1;padding:2px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.route-inputs .form-group{gap:5px}.route-inputs .form-label{font-size:.75rem}.route-inputs .form-input{background:var(--bg-card)}.route-info-note{background:#22c55e12;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-sm);padding:10px 14px;font-size:.82rem;color:var(--text-secondary);margin-bottom:14px;line-height:1.5}.result-summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.result-summary-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:1rem;color:var(--text-primary);line-height:1.4}.result-summary-count strong{font-size:1.15rem;font-weight:700;color:var(--green-400)}.result-summary-route{color:var(--text-secondary);font-size:.9rem}.result-summary-place{font-weight:600;color:var(--text-primary)}.result-summary-arrow{color:var(--text-muted)}.result-summary-meta{display:flex;flex-wrap:wrap;gap:6px}.result-summary-chip{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px 10px;color:var(--text-secondary);white-space:nowrap}.result-summary-chip--maste{background:#f59e0b14;border-color:#f59e0b40;color:#fbbf24}.result-summary-chip--passar{background:#4ade8014;border-color:#4ade8038;color:var(--green-400)}.result-summary-chip--muted{opacity:.6;font-style:italic}.result-summary-fewer{font-size:.78rem;color:var(--text-muted);font-style:italic;margin:0;border-top:1px solid var(--border);padding-top:8px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:5px}.maste-ha-grid{display:flex;flex-wrap:wrap;gap:8px}.maste-ha-btn{display:inline-flex;align-items:center;gap:5px;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:5px 12px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.maste-ha-btn:hover{border-color:#f59e0b;color:var(--text-primary);background:var(--bg-card-hover)}.maste-ha-btn.active{background:#f59e0b1f;border-color:#f59e0b;color:#fbbf24}.maste-ha-icon{font-size:1em;line-height:1}.maste-ha-label{font-size:.78rem}.active-banner-label{font-weight:600;color:var(--text-muted);font-size:.75rem;margin-right:2px}.maste-ha-active-chip{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fbbf24;border-radius:var(--radius-full);padding:2px 9px;font-size:.75rem;font-weight:600}.maste-ha-unguaranteed{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;background:#f59e0b14;border:1px solid rgba(245,158,11,.22);border-radius:var(--radius-sm);padding:6px 10px;font-size:.74rem}.maste-ha-unguaranteed-features{display:flex;flex-wrap:wrap;gap:4px;font-weight:700;color:#fbbf24}.maste-ha-unguaranteed-features span{white-space:nowrap}.maste-ha-unguaranteed-text{color:var(--text-muted);font-style:italic}.quality-toggle{display:flex;align-items:flex-start;gap:12px;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;transition:border-color .2s,background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quality-toggle.active{border-color:#f59e0b;background:#f59e0b0f}.quality-toggle-track{position:relative;flex-shrink:0;width:36px;height:20px;background:var(--border);border-radius:10px;margin-top:1px;transition:background .2s}.quality-toggle.active .quality-toggle-track{background:#f59e0b}.quality-toggle-checkbox{position:absolute;opacity:0;width:0;height:0}.quality-toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.quality-toggle.active .quality-toggle-thumb{transform:translate(16px)}.quality-toggle-text{display:flex;flex-direction:column;gap:2px}.quality-toggle-label{font-size:.87rem;font-weight:600;color:var(--text-primary);line-height:1.3}.quality-toggle.active .quality-toggle-label{color:#f59e0b}.quality-toggle-hint{font-size:.75rem;color:var(--text-muted);line-height:1.4}.advanced-filters{border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.advanced-toggle{width:100%;display:flex;align-items:center;gap:8px;background:var(--bg-input);border:none;padding:11px 14px;cursor:pointer;text-align:left;transition:background .15s}.advanced-toggle:hover{background:color-mix(in srgb,var(--bg-input) 80%,var(--green-400) 20%)}.advanced-toggle-label{flex:1;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.advanced-toggle-count{font-size:.72rem;font-weight:700;color:var(--green-400);background:#4ade801a;border:1px solid rgba(74,222,128,.25);border-radius:var(--radius-full);padding:1px 8px}.advanced-toggle-chevron{color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.advanced-toggle.open .advanced-toggle-chevron{transform:rotate(180deg)}.advanced-body{padding:16px 14px 4px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0}.passar-for-grid{display:flex;flex-wrap:wrap;gap:8px}.passar-for-btn{display:inline-flex;align-items:center;gap:5px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);padding:5px 12px;font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.passar-for-btn:hover{border-color:var(--green-600);color:var(--text-primary);background:var(--bg-card-hover)}.passar-for-btn.active{background:#4ade801f;border-color:var(--green-500);color:var(--green-400)}.passar-for-icon{font-size:1em;line-height:1}.passar-for-label{font-size:.78rem}.passar-for-clear{margin-top:6px;background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.passar-for-clear:hover{color:var(--text-secondary)}.passar-for-active-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted);margin-bottom:10px}.passar-for-active-chip{background:#4ade801a;border:1px solid rgba(74,222,128,.25);color:var(--green-400);border-radius:var(--radius-full);padding:2px 9px;font-size:.75rem;font-weight:600}.passar-for-filtered-note{color:var(--text-muted);font-size:.72rem;opacity:.7}.passar-for-tags-row{display:flex;flex-wrap:wrap;gap:5px}.passar-for-tag{font-size:.72rem;font-weight:600;color:var(--text-secondary);background:#4ade8012;border:1px solid rgba(74,222,128,.18);border-radius:var(--radius-full);padding:2px 8px;white-space:nowrap}.search-btn-filter-count{background:#00000040;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1;padding:2px 7px;margin-left:2px}.onboarding-hint{text-align:center;font-size:.82rem;color:var(--text-muted);line-height:1.5;padding:4px 20px 12px;opacity:.8}.no-dest-hint{font-size:.75rem;color:var(--text-muted);opacity:.75;margin-top:-4px;padding:0 2px;line-height:1.4}.beta-disclaimer{font-size:.72rem;color:var(--text-muted);line-height:1.5;text-align:center;padding:8px 4px 0;border-top:1px solid var(--border);opacity:.7}.form-helper{margin-top:5px;font-size:.78rem;color:var(--text-muted);line-height:1.45}.route-preview{background:#22c55e12;border:1px solid rgba(34,197,94,.22);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:5px}.route-preview-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.88rem;font-weight:600;color:var(--text-primary)}.route-preview-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.route-preview-dot.from{background:var(--green-400)}.route-preview-dot.to{background:var(--green-600, #16a34a)}.route-preview-city{color:var(--green-400)}.route-preview-arrow{color:var(--text-muted);font-weight:400}.route-preview-hint{font-size:.75rem;color:var(--text-muted);margin:0}.input-wrapper{position:relative}.form-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-primary);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #22c55e26}.suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e3024;border:1px solid var(--border-light);border-radius:var(--radius-sm);list-style:none;z-index:200;overflow:hidden;box-shadow:0 8px 24px #00000080}.suggestion-item{padding:10px 14px;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:8px;color:var(--text-primary);transition:background .15s}.suggestion-item:hover{background:#4ade801a}.suggestion-icon{color:var(--green-400);flex-shrink:0}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media (max-width: 480px){.category-grid{grid-template-columns:repeat(3,1fr)}}.category-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 4px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:background .15s,border-color .15s,transform .1s;color:var(--text-secondary)}.category-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px)}.category-btn.active{background:#22c55e26;border-color:var(--green-500);color:var(--green-400)}.cat-icon{font-size:1.3rem;line-height:1}.cat-label{font-size:.68rem;font-weight:600;text-align:center}.count-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:var(--bg-input);outline:none;cursor:pointer;border:1px solid var(--border);transition:background .2s}.count-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--green-500);border:2px solid #fff;box-shadow:0 2px 6px #0006;cursor:pointer;-webkit-transition:background .15s,transform .1s;transition:background .15s,transform .1s}.count-slider::-webkit-slider-thumb:hover{background:var(--green-400);transform:scale(1.15)}.count-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--green-500);border:2px solid #fff;box-shadow:0 2px 6px #0006;cursor:pointer}.count-slider:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #22c55e26}.slider-ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-muted);margin-top:4px;padding:0 2px}.trip-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trip-type-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s,transform .1s;color:var(--text-secondary)}.trip-type-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px)}.trip-type-btn.active{background:#22c55e1f;border-color:var(--green-500);color:var(--green-400)}.trip-type-icon{font-size:1.4rem;line-height:1}.trip-type-label{font-size:.72rem;font-weight:600;text-align:center;letter-spacing:.02em;line-height:1.2}.trip-type-detour{font-size:.62rem;font-weight:400;color:var(--text-muted);text-align:center;opacity:.75;line-height:1}.trip-type-btn.active .trip-type-detour{color:var(--green-400);opacity:.85}.distance-group{display:flex;gap:10px}.distance-btn{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.distance-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.distance-btn.active{background:#22c55e26;border-color:var(--green-500);color:var(--green-400)}.detour-group{display:flex;gap:8px}.detour-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 8px;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.detour-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.detour-btn.active{background:#22c55e26;border-color:var(--green-500);color:var(--green-400)}.detour-icon{font-size:1.1rem;line-height:1}.detour-label{font-size:.8rem;font-weight:600}.detour-km{font-size:.7rem;color:var(--text-muted)}.detour-btn.active .detour-km{color:var(--green-400);opacity:.8}.search-btn{background:var(--green-600);border:none;border-radius:var(--radius-sm);padding:14px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:var(--shadow-btn);letter-spacing:.01em}.search-btn:hover:not(:disabled){background:var(--green-500);transform:translateY(-1px);box-shadow:0 4px 14px #22c55e59}.search-btn:active:not(:disabled){transform:translateY(0)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{margin-top:20px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);padding:14px 18px;color:var(--red-400);font-size:.92rem}.map-section{margin-top:32px}.share-route-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.share-route-btn{display:inline-flex;align-items:center;gap:7px;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:7px 16px;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}.share-route-btn:hover{border-color:var(--green-400);color:var(--green-400);background:#4ade800f;transform:translateY(-1px)}.share-route-btn:active{transform:translateY(0)}.share-route-btn.copied{border-color:var(--green-400);color:var(--green-400);background:#4ade8014}.gmaps-route-wrapper{margin-bottom:16px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.gmaps-route-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green-600);border:none;border-radius:var(--radius-sm);padding:14px 20px;color:#fff;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:var(--shadow-btn);letter-spacing:.01em;width:100%;text-align:center}.gmaps-route-btn:hover{background:var(--green-500);transform:translateY(-1px);box-shadow:0 4px 14px #22c55e59;text-decoration:none}.gmaps-route-btn:active{transform:translateY(0)}.gmaps-route-hint{font-size:.78rem;color:var(--text-muted);text-align:center;margin:0}.gmaps-place-link{color:#60a5fa}.gmaps-place-link:hover{color:#93c5fd}.section-title{font-size:1rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.map-wrapper{height:380px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card)}.map-placeholder{height:380px;background:var(--bg-card);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.stops-section{margin-top:32px}.stops-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 640px){.stops-grid{grid-template-columns:repeat(2,1fr)}}.stop-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,transform .15s,box-shadow .2s;box-shadow:var(--shadow-card);animation:fadeUp .35s ease both}.stop-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:0 6px 20px #00000073}.stop-card.gem{border-color:#fbbf2466;background:linear-gradient(135deg,var(--bg-card) 60%,rgba(251,191,36,.04))}.stop-card.gem:hover{border-color:#fbbf24b3}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stop-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stop-number{width:26px;height:26px;background:var(--green-700);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.stop-meta{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}.stop-category{font-size:.78rem;font-weight:600;color:var(--green-400);background:#4ade801a;padding:2px 8px;border-radius:var(--radius-full)}.stop-distance{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}.gem-badge{font-size:.7rem;font-weight:700;color:var(--amber-400);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);padding:2px 8px;border-radius:var(--radius-full);display:flex;align-items:center;gap:3px;margin-left:auto}.stop-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.3}.stop-tags-row{display:flex;flex-wrap:wrap;gap:6px}.stop-human-tag{font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);padding:2px 9px;border-radius:var(--radius-full);letter-spacing:.02em}.stop-desc{font-size:.87rem;color:var(--text-secondary);line-height:1.55}.stop-info-note{font-size:.8rem;padding:7px 11px;border-radius:var(--radius-sm);line-height:1.4}.stop-info-note.warning{background:#fbbf2412;border:1px solid rgba(251,191,36,.25);color:#c9a227}.stop-info-note.nature{background:#22c55e12;border:1px solid rgba(34,197,94,.2);color:var(--green-400)}.source-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-full);flex-shrink:0}.source-badge--osm{background:#22c55e1a;color:var(--green-400);border:1px solid rgba(34,197,94,.25)}.source-badge--wikipedia{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.source-badge--editorial{background:#eab3081a;color:#facc15;border:1px solid rgba(234,179,8,.3)}.action-btn.wiki-btn{background:#3b82f61f;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.action-btn.wiki-btn:hover{background:#3b82f638;color:#bfdbfe;text-decoration:none}.stop-thumbnail{width:100%;height:140px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);display:block}.stop-corridor-badge{font-size:.75rem;color:var(--text-muted);background:var(--bg-section);border:1px solid var(--border);border-radius:4px;padding:3px 8px;display:inline-block;margin-bottom:6px}.stop-coords{font-size:.72rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;font-family:monospace}.stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:4px}.action-btn{background:var(--green-700);border:none;border-radius:var(--radius-sm);padding:8px 10px;color:#fff;font-size:.79rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.action-btn:hover{background:var(--green-600);text-decoration:none}.action-btn.ghost{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.action-btn.ghost:hover{background:var(--bg-card-hover);color:var(--text-primary);text-decoration:none}.action-btn.save-btn.saved{background:transparent;border:1px solid var(--green-600);color:var(--green-400)}.action-btn.save-btn.saved:hover{background:#22c55e14}.show-map-btn{grid-column:1 / -1}.action-btn.report-btn{grid-column:1 / -1;font-size:.72rem;opacity:.55;border-color:transparent;transition:opacity .15s,color .15s}.action-btn.report-btn:hover{opacity:.85}.action-btn.report-btn.copied{opacity:1;color:var(--green-400);border-color:var(--green-600)}.trip-estimate{display:flex;align-items:center;justify-content:center;gap:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:32px;box-shadow:var(--shadow-card);flex-wrap:wrap}.trip-estimate-item{display:flex;align-items:center;gap:8px;padding:4px 28px;color:var(--text-muted)}.trip-estimate-item svg{color:var(--green-400);flex-shrink:0}.trip-estimate-value{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.trip-estimate-label{font-size:.8rem;color:var(--text-muted)}.trip-estimate-divider{width:1px;height:36px;background:var(--border);flex-shrink:0}@media (max-width: 480px){.trip-estimate{flex-direction:column;gap:12px;padding:16px}.trip-estimate-divider{width:40px;height:1px}.trip-estimate-item{padding:0}}.hero-hint{margin-top:48px;text-align:center;padding:40px 16px;color:var(--text-muted);font-size:.95rem;line-height:1.7}.hero-trees{font-size:2.5rem;margin-bottom:16px;letter-spacing:.1em}.stops-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:2px}.stops-header-row .section-title{margin-bottom:0}.tipsa-trigger-btn{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:6px 14px;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .1s;white-space:nowrap}.tipsa-trigger-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#f59e0b12;transform:translateY(-1px)}.tipsa-trigger-btn:active{transform:translateY(0)}.user-tip-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#f59e0b;border-radius:var(--radius-full);padding:2px 8px}.stop-user-tip-text{font-size:.8rem;color:var(--text-secondary);font-style:italic;background:#f59e0b0d;border-left:2px solid rgba(245,158,11,.3);padding:6px 10px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #00000080;animation:slideUp .18s ease}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.modal-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.modal-close:hover{color:var(--text-primary);background:var(--bg-input)}.modal-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.mf-group{display:flex;flex-direction:column;gap:5px}.mf-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.mf-input{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-size:.88rem;color:var(--text-primary);transition:border-color .15s;font-family:inherit;width:100%;box-sizing:border-box}.mf-input:focus{outline:none;border-color:var(--green-400)}.mf-input--error{border-color:#ef4444!important}.mf-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.mf-textarea{resize:vertical;min-height:72px}.mf-error{font-size:.75rem;color:#ef4444}.mf-coords-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mf-coords-hint{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--text-muted);margin:-8px 0 0;font-style:italic}.mf-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.mf-btn{padding:9px 20px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s,transform .1s;font-family:inherit}.mf-btn:active{transform:translateY(0)}.mf-btn--ghost{background:var(--bg-input);border-color:var(--border);color:var(--text-secondary)}.mf-btn--ghost:hover{border-color:var(--text-muted);color:var(--text-primary)}.mf-btn--primary{background:var(--green-500);border-color:var(--green-500);color:#fff}.mf-btn--primary:hover{background:var(--green-400);border-color:var(--green-400);transform:translateY(-1px)}.footer{border-top:1px solid var(--border);padding:14px 20px;text-align:center;font-size:.72rem;color:var(--text-muted);line-height:1.6;opacity:.75}.footer a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.footer a:hover{color:var(--text-secondary)}.footer-filter-note{margin-top:6px;font-size:11px;opacity:.5;font-style:italic}.leaflet-popup-content-wrapper{background:#1a2e1e!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;box-shadow:0 4px 16px #00000080!important}.leaflet-popup-tip{background:#1a2e1e!important}.leaflet-popup-content{color:var(--text-primary)!important;font-size:.88rem}.leaflet-popup-content strong{color:var(--green-400)}.leaflet-control-attribution{background:#0d1a0fd9!important;color:#9db89e!important;font-size:10px!important}.leaflet-control-zoom a{background:#152118!important;color:var(--text-primary)!important;border-color:var(--border)!important}.leaflet-control-zoom a:hover{background:#1c2e20!important}
