:root{--bg0:#e8f1ea;--bg1:#f7faf7;--ink:#14251c;--muted:#4d6357;--panel:#ffffffd1;--panel-solid:#fff;--line:#14251c1f;--accent:#0f6b4c;--accent-ink:#fff;--warm:#c45c26;--result:#0b3d2e;--shadow:none;--radius:18px;--font:"Plus Jakarta Sans", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}html[data-theme=dark]{--bg0:#0d1a14;--bg1:#13241c;--ink:#e8f2ec;--muted:#9bb5a7;--panel:#12241ceb;--panel-solid:#152820;--line:#e8f2ec1f;--accent:#3dbe8c;--accent-ink:#062017;--warm:#e0894f;--result:#b7f0d4}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #b7d9c4 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #f0d2b8 0%, transparent 45%), linear-gradient(180deg, var(--bg0), var(--bg1));line-height:1.5}html[data-theme=dark] body{background:radial-gradient(1000px 500px at 0% 0%, #1d3d30 0%, transparent 50%), radial-gradient(800px 400px at 100% 10%, #3a2a1c 0%, transparent 45%), linear-gradient(180deg, var(--bg0), var(--bg1))}html[data-embed="1"] body{background:var(--bg1)}#app{min-height:100vh}.page{width:min(920px,100% - 2rem);margin:0 auto;padding:2.5rem 0 3rem}.page.is-embed{width:min(720px,100%);margin:0;padding:.75rem .75rem 1rem}.seo-content{width:min(920px,100% - 2rem);color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:0 auto 3rem;padding:1.25rem}.seo-content h2{color:var(--ink);margin:0 0 .65rem;font-size:1.1rem}.seo-content h2:not(:first-child){margin-top:1.25rem}.seo-content p{margin:0}.seo-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.5rem;margin:0;padding-left:1.15rem;display:grid}.seo-links a{color:var(--accent);font-weight:700}.seo-note{font-size:.85rem;margin-top:1.25rem!important}.hero{margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--warm);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.hero h1{letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}.lede{max-width:40rem;color:var(--muted);margin:0;font-size:1.05rem}.brand-mini{color:var(--accent);margin:0 0 .75rem;font-size:.85rem;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem}.map-panel{margin-bottom:1rem}.map-title{margin:0 0 .75rem;font-size:1.05rem}.map-copy,.map-status,.map-points,.map-route,.map-error{color:var(--muted);margin:0 0 .65rem;font-size:.85rem}.map-error{color:var(--warm)}.map-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.map-canvas{border:1px solid var(--line);border-radius:12px;width:100%;height:320px;overflow:hidden}.map-search{flex-direction:column;gap:.55rem;margin:0 0 .85rem;display:flex}.map-search-field{flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:700;display:flex}.map-search-row{gap:.4rem;display:flex}.map-search-row input{border:1px solid var(--line);background:var(--panel-solid);min-width:0;color:var(--ink);font:inherit;border-radius:12px;flex:1;padding:.7rem .8rem;font-weight:400}.map-swap-row{justify-content:center;align-items:center;padding:.1rem 0;display:flex}.map-swap-btn{appearance:none;border:1px solid var(--line);background:var(--panel-solid);width:2.4rem;height:2.4rem;color:var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-swap-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel-solid))}.map-swap-icon{display:block}.pac-container{z-index:12000;font-family:var(--font);border-radius:10px}.maps-key-form{gap:.6rem;display:grid}.maps-key-form label{flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;display:flex}.maps-key-form input{border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);font:inherit;border-radius:12px;padding:.7rem .8rem;font-weight:400}.mode-switch{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.mode-btn{appearance:none;border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.7rem 1rem;font-weight:700}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.route-picks{border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-bottom:1.1rem}.route-picks-title{margin:0 0 .25rem;font-size:.92rem;font-weight:700}.route-picks-copy{color:var(--muted);margin:0 0 .75rem;font-size:.78rem}.route-chips{flex-wrap:wrap;gap:.45rem;display:flex}.route-chip{appearance:none;border:1px solid var(--line);background:var(--panel-solid);color:var(--muted);font:inherit;cursor:pointer;text-align:left;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:650;line-height:1.35}.route-chip:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--ink)}.route-chip.active{background:color-mix(in srgb, var(--accent) 14%, var(--panel-solid));border-color:var(--accent);color:var(--accent)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}.field>span:first-child{font-weight:700}.field small{color:var(--muted);font-size:.78rem}.field.check{flex-direction:row;align-items:center;gap:.6rem;padding-top:1.7rem}.field input[type=number],.field select{border:1px solid var(--line);background:var(--panel-solid);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:.7rem .8rem}.field input:focus,.field select:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.results{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.result-hero{margin-bottom:1rem}.result-label{color:var(--muted);margin:0;font-size:.85rem;font-weight:600}.result-total{letter-spacing:-.03em;color:var(--result);margin:.15rem 0;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800}.result-sub{color:var(--muted);margin:0;font-size:.85rem}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;display:grid}.result-grid div{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 80%, transparent);border-radius:12px;padding:.7rem .8rem}.result-grid dt{color:var(--muted);margin:0;font-size:.75rem}.result-grid dd{margin:.2rem 0 0;font-size:.98rem;font-weight:700}.empty{color:var(--muted);margin:0}.ghost{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .95rem;font-weight:650}.ghost:hover{border-color:var(--accent);color:var(--accent)}.affiliate-promo{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 88%, transparent);border-radius:12px;flex-direction:column;gap:.6rem;margin-top:1rem;padding:.85rem .9rem;display:flex}.affiliate-promo-title{color:var(--ink);margin:0;font-size:.86rem;font-weight:700}.affiliate-promo-body{color:var(--muted);margin:.15rem 0 0;font-size:.8rem;line-height:1.4}.affiliate-promo-cta{background:var(--accent);width:100%;min-height:48px;color:var(--accent-ink);text-align:center;-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.92rem;font-weight:700;text-decoration:none;display:flex}.affiliate-promo-cta:hover{filter:brightness(1.05);opacity:1}.affiliate-promo-cta:active{transform:scale(.99)}.affiliate-picks{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:.45rem;padding:.05rem 0 .15rem;display:flex;overflow-x:auto}.affiliate-pick{scroll-snap-align:start;border:1px solid var(--line);background:var(--panel-solid);max-width:12.5rem;color:var(--ink);-webkit-tap-highlight-color:transparent;border-radius:10px;flex:none;align-items:center;gap:.5rem;padding:.35rem .55rem .35rem .35rem;font-size:.78rem;font-weight:600;line-height:1.25;text-decoration:none;display:flex}.affiliate-pick-img{object-fit:cover;opacity:.9;filter:saturate(.9);border-radius:6px;flex-shrink:0;width:44px;height:33px}.affiliate-pick-name{text-overflow:ellipsis;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.affiliate-pick:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink)}.affiliate-pick:hover .affiliate-pick-img{opacity:1;filter:none}.affiliate-promo-note{color:var(--muted);margin:0;font-size:.7rem}.disclaimer{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.embed-credit{margin:.75rem 0 0;font-size:.8rem}.embed-credit a{color:var(--accent)}.embed-help{border:1px dashed var(--line);border-radius:var(--radius);margin-top:2rem;padding:1.25rem}.embed-help h2{margin:0 0 .4rem;font-size:1.15rem}.embed-help p{color:var(--muted);margin:0 0 .8rem}.embed-help pre{background:var(--panel-solid);border:1px solid var(--line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:12px;margin:0 0 .8rem;padding:.9rem;font-size:.72rem;overflow:auto}@media (width<=720px){.grid,.result-grid{grid-template-columns:1fr}.field.check{padding-top:.2rem}.page{width:min(100% - 1.25rem,920px);padding-top:1.5rem}.affiliate-promo{margin-top:.85rem;padding:.8rem .85rem}.affiliate-pick{max-width:11.25rem}.affiliate-promo-cta{width:100%;min-height:48px}}
