:root{--font-display:"Poppins", sans-serif;--font-body:"Poppins", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-none:0px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--space-xxxl:48px;--radius-1:4px;--radius-2:8px;--radius-3:14px;--radius-4:20px;--shadow-e1:0 1px 2px #14121f0f, 0 1px 1px #14121f0a;--shadow-e2:0 6px 18px #14121f14, 0 2px 4px #14121f0d;--shadow-floating:0 8px 24px #0000002e;--duration-instant:83ms;--duration-short:.15s;--duration-medium:.3s;--duration-long:.4s;--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--ease-emphasized-decelerate:cubic-bezier(.05, .7, .1, 1);--ease-emphasized-accelerate:cubic-bezier(.3, 0, .8, .15);--type-display-small:400 36px/44px "Poppins", sans-serif;--tracking-display-small:0px;--type-headline-medium:400 28px/36px "Poppins", sans-serif;--tracking-headline-medium:0px;--type-headline-small:400 24px/32px "Poppins", sans-serif;--tracking-headline-small:0px;--type-title-large:600 22px/28px "Poppins", sans-serif;--tracking-title-large:0px;--type-title-medium:500 16px/24px "Poppins", sans-serif;--tracking-title-medium:.15px;--type-title-small:500 14px/20px "Poppins", sans-serif;--tracking-title-small:.1px;--type-body-large:400 16px/24px "Poppins", sans-serif;--tracking-body-large:.5px;--type-body-medium:400 14px/20px "Poppins", sans-serif;--tracking-body-medium:.25px;--type-body-small:400 12px/16px "Poppins", sans-serif;--tracking-body-small:.4px;--type-label-large:500 14px/20px "Poppins", sans-serif;--tracking-label-large:.1px;--type-label-medium:500 12px/16px "Poppins", sans-serif;--tracking-label-medium:.5px;--type-label-small:500 11px/16px "Poppins", sans-serif;--tracking-label-small:.5px;--canvas:#f1f1f5;--surface:#fafafc;--ink:#14121f;--mist:#8e8b98;--subtle:#ececf1;--primary-50:#f4eefe;--primary-100:#ede5fe;--primary-300:#b79cf6;--primary-500:#7c3aed;--primary-700:#4c1d95;--accent:#c39f40;--success:#15803d;--warning:#e08a00;--destructive:#c62a2a;--map:#f4f5f7;--map-road:#c8d6e4;--map-water:#9bbcd8;--pin-rim:#fff;--location-blue:#007aff;--primary:#7c3aed;--on-primary:#f1f1f5;--primary-container:#ede5fe;--on-primary-container:#4c1d95;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink-70:color-mix(in srgb, var(--ink) 70%, transparent);--transition:var(--duration-short) var(--ease-emphasized);--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent);--content:1120px}*{box-sizing:border-box;margin:0;padding:0}body{font:var(--type-body-large);letter-spacing:var(--tracking-body-large);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}main{flex-direction:column;flex:1;display:flex}main:has(>#result[hidden]) .hero{padding-top:var(--space-xxxl);padding-bottom:var(--space-xxxl);flex:1;justify-content:center}a{color:inherit}[hidden]{display:none!important}:focus-visible{box-shadow:var(--focus-ring);outline:none}.hero{text-align:center;padding:calc(var(--space-xxxl) * 3) var(--space-xxl) 96px;background-color:var(--canvas);background-image:radial-gradient(circle, color-mix(in srgb, var(--mist) 35%, transparent) 1px, transparent 1px);background-size:22px 22px;flex-direction:column;align-items:center;display:flex}.hero h1{max-width:1000px;font:600 72px/1.02 var(--font-display);letter-spacing:-.03em;text-wrap:balance}.lede{margin-top:var(--space-xl);max-width:560px;color:var(--ink-70);text-wrap:pretty}.search{margin-top:var(--space-xxl);align-items:center;gap:var(--space-xs);background:var(--surface);width:100%;max-width:672px;box-shadow:var(--shadow-e2), inset 0 0 0 1px var(--subtle);text-align:left;border-radius:9999px;padding:6px;display:flex;position:relative}.slot{min-width:0;padding:var(--space-xs) var(--space-lg);transition:background var(--transition);border-radius:9999px;flex-direction:column;flex:1;display:flex;position:relative}.slot:focus-within{background:var(--subtle)}@media (width>=721px){.slot[data-slot=from]{border-radius:21px var(--radius-2) var(--radius-2) 21px}.slot[data-slot=to]{border-radius:var(--radius-2)}}.slot label{font:400 10px/14px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mist)}.slot input{width:100%;color:var(--ink);font:500 14px/20px var(--font-body);text-overflow:ellipsis;background:0 0;border:none;outline:none}.slot input:focus-visible{box-shadow:none}.slot input::placeholder{color:var(--mist);font-weight:400}.slot-divider{width:1px;height:var(--space-xl);background:var(--subtle)}.search-submit,.banner-cta{justify-content:center;align-items:center;gap:var(--space-sm);background:var(--primary);color:var(--on-primary);font:600 14px/20px var(--font-body);cursor:pointer;white-space:nowrap;transition:filter var(--transition), transform var(--duration-instant) var(--ease-emphasized);border:none;border-radius:9999px;padding:10px 20px;text-decoration:none;display:inline-flex}.search-submit{margin-left:var(--space-xs)}.search-submit:hover,.banner-cta:hover{filter:brightness(.92)}.search-submit:active,.banner-cta:active{transform:translateY(1px)}.search-submit[aria-busy=true]{cursor:progress;filter:saturate(.6)}.search-error{margin-top:var(--space-md);font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);color:var(--destructive)}.suggestions{z-index:10;top:calc(100% + var(--space-sm));width:min(420px,90vw);padding:var(--space-xs);background:var(--surface);border-radius:var(--radius-3);box-shadow:var(--shadow-floating), inset 0 0 0 1px var(--subtle);list-style:none;position:absolute;left:0}.suggestions li{padding:10px var(--space-md);border-radius:var(--radius-2);cursor:pointer;flex-direction:column;display:flex}.suggestions li[aria-selected=true],.suggestions li:hover{background:var(--subtle)}.suggestion-name{font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);color:var(--ink)}.suggestion-area{font:var(--type-label-medium);letter-spacing:var(--tracking-label-medium);color:var(--mist)}.suggestions .suggestion-empty{cursor:default;color:var(--mist);font:var(--type-body-medium)}.suggestions .suggestion-empty:hover{background:0 0}.popular{margin-top:var(--space-xxl);justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.popular-label{margin-right:var(--space-xs);color:var(--mist);font-size:13px}.popular-list{display:contents}.tag{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-2);background:var(--subtle);color:var(--ink);font:var(--type-label-large);letter-spacing:var(--tracking-label-large);cursor:pointer;transition:filter var(--duration-medium) var(--ease-emphasized);border:none;display:inline-flex}.tag:hover{filter:brightness(.95)}.result{max-width:var(--content);padding:0 var(--space-xl) var(--space-xxxl);scroll-margin-top:var(--space-lg);animation:rise var(--duration-long) var(--ease-emphasized-decelerate);margin:0 auto}@keyframes rise{0%{opacity:0;transform:translateY(var(--space-lg))}}@media (prefers-reduced-motion:reduce){.result{animation:none}}.result-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.card{background:var(--surface);border-radius:var(--radius-4);padding:var(--space-xl);gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.result-map{grid-column:1/-1;padding:0;overflow:hidden}#map{background:var(--map);height:360px}.section-label{font:var(--type-label-medium);letter-spacing:var(--tracking-label-medium);color:var(--mist)}.divider{background:var(--subtle);height:1px;margin:var(--space-xs) 0}.fine{font:var(--type-body-small);letter-spacing:var(--tracking-body-small);color:var(--ink-70);font-variant-numeric:tabular-nums}.route-line{align-items:center;gap:var(--space-sm);font:var(--type-title-small);letter-spacing:var(--tracking-title-small);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.route-arrow{color:var(--mist)}.route-mark{width:10px;height:10px;box-shadow:0 0 0 2px var(--pin-rim);border-radius:9999px;flex-shrink:0}.route-mark-start{background:var(--primary)}.route-mark-end{background:var(--accent)}.big-figure{align-items:baseline;gap:var(--space-sm);font:600 56px/1.05 var(--font-display);letter-spacing:-.02em;color:var(--primary);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.big-figure small{font:var(--type-title-medium);letter-spacing:var(--tracking-title-medium);color:var(--mist)}.figures{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.figures div{flex-direction:column;display:flex}.figures dt{font:var(--type-label-medium);letter-spacing:var(--tracking-label-medium);color:var(--mist)}.figures dd{font:var(--type-title-medium);letter-spacing:var(--tracking-title-medium);font-variant-numeric:tabular-nums}.breakdown{row-gap:var(--space-sm);column-gap:var(--space-lg);font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;display:grid}.breakdown dt{color:var(--ink-70)}.breakdown-note{font:var(--type-body-small);letter-spacing:var(--tracking-body-small);color:var(--mist);margin-top:2px;display:block}.breakdown dd{text-align:right}.field{flex-direction:column;gap:6px;display:flex}.select-wrap{position:relative}.select-wrap select{appearance:none;background:var(--surface);width:100%;color:var(--ink);font:var(--type-body-large);letter-spacing:var(--tracking-body-large);padding:var(--space-md) 44px var(--space-md) var(--space-lg);border-radius:var(--radius-3);box-shadow:inset 0 0 0 1px var(--subtle);cursor:pointer;text-overflow:ellipsis;transition:box-shadow var(--transition);border:none}.select-wrap select:hover{box-shadow:inset 0 0 0 1px var(--mist)}.select-wrap select:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.select-chevron{right:var(--space-lg);border-right:2px solid var(--mist);border-bottom:2px solid var(--mist);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;transform:rotate(45deg)}.price-row{align-items:center;gap:var(--space-sm);padding:0 var(--space-lg);border-radius:var(--radius-3);box-shadow:inset 0 0 0 1px var(--subtle);transition:box-shadow var(--transition);display:flex}.price-row:hover{box-shadow:inset 0 0 0 1px var(--mist)}.price-row:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.price-row label,.price-unit{font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);color:var(--mist)}.price-row input{min-width:0;padding:var(--space-md) 0;color:var(--ink);font:var(--type-body-large);letter-spacing:var(--tracking-body-large);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;outline:none;flex:1}.price-row input:focus-visible{box-shadow:none}.segmented{padding:var(--space-xs);background:var(--subtle);border-radius:9999px;display:flex}.segmented button{min-width:0;padding:var(--space-sm) var(--space-md);color:var(--ink-70);font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:9999px;flex:1;font-weight:500;overflow:hidden}.segmented button:hover{color:var(--ink)}.segmented button[aria-checked=true]{background:var(--surface);color:var(--ink)}.banner{margin-top:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xl) var(--space-xxl);border-radius:var(--radius-4);background:var(--primary-container);color:var(--on-primary-container);display:flex}.banner h2{font:600 24px/32px var(--font-display);letter-spacing:-.01em}.banner p{margin-top:var(--space-xs);font:var(--type-body-medium);letter-spacing:var(--tracking-body-medium);max-width:560px}.banner p strong{font-weight:600}.site-footer{max-width:var(--content);width:100%;padding:var(--space-xl);gap:var(--space-sm);font:var(--type-body-small);letter-spacing:var(--tracking-body-small);color:var(--mist);border-top:1px solid var(--subtle);flex-direction:column;margin:0 auto;display:flex}.site-footer nav{gap:var(--space-lg);flex-wrap:wrap;display:flex}.site-footer a{color:var(--ink-70)}@media (width<=720px){.hero{padding:calc(var(--space-xxxl) * 1.5) var(--space-lg) var(--space-xxxl)}.hero h1{font-size:44px}.search{border-radius:var(--radius-3);padding:var(--space-md);align-items:stretch;gap:var(--space-sm);flex-direction:column}.slot{border-radius:var(--radius-2);padding:var(--space-sm) var(--space-md);box-shadow:inset 0 0 0 1px var(--subtle)}.slot-divider{display:none}.search-submit{padding:var(--space-md) 20px;margin-left:0}.suggestions{width:100%}.popular-label{flex-basis:100%;margin-right:0}.result{padding:0 var(--space-md) var(--space-xxl)}.result-grid{grid-template-columns:minmax(0,1fr)}.card:not(.result-map){padding:var(--space-lg)}.big-figure{font-size:44px}#map{height:260px}.banner{padding:var(--space-xl);flex-direction:column;align-items:stretch}}
