:root{color-scheme:light;--ink:#17243d;--muted:#667085;--line:#dce3ec;--paper:#fff;--canvas:#eef3f7;--red:#ec5b3f;--red-dark:#cc4028;--yellow:#ffbd3e;--blue:#1f68d3;--teal:#168878;--shadow:0 18px 52px rgba(23,36,61,.12);font-family:Inter,"SF Pro Display","Segoe UI",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);min-width:320px}button,input,select,textarea{font:inherit;color:inherit}button,a{tap-highlight-color:transparent}.topbar{height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;gap:38px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:1.35rem;font-weight:850;letter-spacing:-.04em}.brand em{font-style:normal;color:var(--red)}.brand-mark{width:34px;height:34px;border-radius:12px;background:var(--ink);display:grid;place-items:center;position:relative}.brand-mark:before{content:"";width:7px;height:7px;border:4px solid var(--yellow);border-radius:50%;transform:translate(-5px,5px)}.brand-mark i{position:absolute;width:17px;height:4px;border-radius:8px;background:var(--yellow);transform:rotate(-42deg) translate(6px,7px);transform-origin:left center}.topbar nav{display:flex;align-items:stretch;height:100%;gap:28px}.topbar nav a{display:flex;align-items:center;text-decoration:none;color:#566177;font-size:.92rem;font-weight:700;border-bottom:3px solid transparent;padding-top:3px}.topbar nav a.active{color:var(--ink);border-color:var(--red)}.profile-button{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px 6px 6px;display:flex;align-items:center;gap:8px;cursor:pointer}.profile-button span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#edf1f6;color:#536078;font-size:.78rem}.profile-button b{font-size:.85rem}
.route-builder{background:var(--paper);padding:34px clamp(18px,4vw,64px) 23px;border-bottom:1px solid var(--line)}.route-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}.route-heading h1{font-size:clamp(2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.055em;margin:5px 0 0}.route-heading p{max-width:520px;margin:0;color:var(--muted);line-height:1.55;font-size:.96rem}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:850;color:var(--red)}.route-form{display:grid;grid-template-columns:minmax(180px,1.3fr) 36px minmax(180px,1.3fr) minmax(135px,.65fr) minmax(120px,.55fr) auto;gap:10px;align-items:end}.route-form label,.dialog-card label{display:flex;flex-direction:column;gap:7px;font-size:.72rem;font-weight:800;color:#59657a;text-transform:uppercase;letter-spacing:.06em}.route-form input,.route-form select,.dialog-card input,.dialog-card textarea{width:100%;height:49px;border:1px solid #cdd6e1;border-radius:12px;background:#fff;padding:0 14px;outline:none;transition:.2s}.route-form input:focus,.dialog-card input:focus,.dialog-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,104,211,.12)}.place-field{position:relative}.place-field input{padding-left:46px}.place-field i{position:absolute;left:12px;bottom:11px;width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;display:grid;place-items:center;font-size:.72rem}.swap{height:36px;width:36px;margin-bottom:7px;border:1px solid var(--line);background:#f8fafc;border-radius:50%;cursor:pointer;color:#69758b}.primary{border:0;background:var(--red);color:#fff;font-weight:850;border-radius:12px;height:49px;padding:0 21px;cursor:pointer;box-shadow:0 8px 20px rgba(236,91,63,.2);white-space:nowrap}.primary:hover{background:var(--red-dark)}.route-options{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:22px}.detour{display:flex;align-items:center;gap:8px}.detour>span{font-size:.8rem;font-weight:750;color:#667085;margin-right:4px}.detour button,.categories button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:750;cursor:pointer}.detour button.active{background:var(--ink);border-color:var(--ink);color:#fff}.fresh-toggle{font-size:.8rem;font-weight:700;color:#566177;display:flex;align-items:center;gap:8px;cursor:pointer}.fresh-toggle input{position:absolute;opacity:0}.fresh-toggle span{width:36px;height:21px;border-radius:999px;background:#cbd4df;position:relative}.fresh-toggle span:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.fresh-toggle input:checked+span{background:var(--teal)}.fresh-toggle input:checked+span:after{transform:translateX(15px)}.categories{display:flex;gap:8px;margin-top:17px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.categories button{display:flex;gap:7px;align-items:center;white-space:nowrap;padding:9px 14px}.categories button span{font-size:.9rem;color:var(--red)}.categories button.active{background:#fff0ed;border-color:#ffc0b3;color:#b73520}
.workspace{display:grid;grid-template-columns:minmax(430px,46%) 1fr;min-height:720px}.results-column{background:#fff;padding:27px clamp(18px,3vw,46px) 50px;border-right:1px solid var(--line)}.results-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.results-head h2{margin:4px 0 0;font-size:1.65rem;letter-spacing:-.035em}.results-head label{display:flex;align-items:center;gap:9px;font-size:.74rem;color:#6e7889}.results-head select{border:0;background:#f0f4f7;border-radius:9px;padding:8px 10px;font-size:.76rem;font-weight:700}.route-summary{display:flex;align-items:center;gap:13px;background:#f4f7fa;border:1px solid #e3e8ee;border-radius:13px;padding:12px 14px;margin-bottom:14px}.summary-line{width:32px;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--red) 0 35%,var(--yellow) 35% 67%,var(--blue) 67%)}.route-summary div{display:flex;flex-direction:column;gap:3px}.route-summary b{font-size:.78rem}.route-summary small{font-size:.7rem;color:#758095}.result-list{display:grid;gap:10px}.seller-card{display:grid;grid-template-columns:88px 1fr auto;gap:13px;border:1px solid var(--line);border-radius:16px;padding:11px;background:#fff;cursor:pointer;transition:.2s;position:relative}.seller-card:hover,.seller-card.selected{border-color:#9eb4cf;box-shadow:0 10px 28px rgba(23,36,61,.1);transform:translateY(-1px)}.seller-card.selected:before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:4px;background:var(--red);border-radius:0 5px 5px 0}.product-visual{border-radius:12px;min-height:90px;display:grid;place-items:center;font-size:2rem;position:relative;overflow:hidden}.product-visual:after{content:"";position:absolute;inset:auto -20% -55% 10%;height:80%;border-radius:50%;background:rgba(255,255,255,.42)}.seller-main{min-width:0;padding:2px 0}.seller-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.seller-top h3{font-size:.98rem;margin:0;letter-spacing:-.02em}.verified{font-size:.62rem;background:#e7f6f2;color:#087060;border-radius:999px;padding:4px 7px;font-weight:800}.seller-place{font-size:.7rem;color:#7a8494;margin:5px 0 9px}.product-line{display:flex;flex-wrap:wrap;gap:5px}.product-line span{font-size:.68rem;background:#f1f4f7;padding:5px 7px;border-radius:6px}.seller-meta{display:grid;justify-items:end;align-content:space-between;text-align:right;padding:2px 1px}.detour-time{color:var(--blue);font-weight:850;font-size:.78rem}.seller-meta strong{font-size:.9rem}.seller-meta small{color:#718096;font-size:.67rem}.favorite{position:absolute;right:11px;top:37px;border:0;background:none;font-size:1.05rem;color:#a2acb9;cursor:pointer;padding:2px}.favorite.active{color:var(--red)}.empty-state{border:1px dashed #bac5d2;border-radius:16px;padding:40px;text-align:center;display:grid;gap:8px;color:#687386}.empty-state b{color:var(--ink)}
.map-column{position:sticky;top:72px;height:calc(100vh - 72px);min-height:720px;background:#f4f7fa;overflow:hidden}.map-toolbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);position:relative;z-index:3}.map-toolbar span{display:flex;flex-direction:column;gap:3px}.map-toolbar b{font-size:.83rem}.map-toolbar small{font-size:.7rem;color:#748094}.map-toolbar button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;font-size:.7rem;font-weight:750;cursor:pointer}.route-map{height:calc(100% - 70px);position:relative;overflow:hidden}.route-map svg{width:100%;height:100%;display:block;transition:transform .45s ease}.route-map.focused svg{transform:scale(1.28) translate(var(--map-x,0),var(--map-y,0))}.water{fill:#d9edf5}.minor-roads path{fill:none;stroke:#d2d9e3;stroke-width:3;stroke-linecap:round}.route-shadow{fill:none;stroke:#fff;stroke-width:16;stroke-linecap:round}.route{fill:none;stroke:var(--blue);stroke-width:8;stroke-linecap:round;stroke-dasharray:2 1}.towns circle{fill:#fff;stroke:var(--blue);stroke-width:4}.towns text{font-size:14px;font-weight:800;fill:#38455b;paint-order:stroke;stroke:#f5f8fb;stroke-width:5px;stroke-linejoin:round}.marker{cursor:pointer;transition:.18s;filter:url(#shadow)}.marker circle{fill:var(--red);stroke:#fff;stroke-width:5}.marker text{fill:#fff;font-size:13px;font-weight:900;text-anchor:middle;dominant-baseline:middle}.marker.active{transform-box:fill-box;transform-origin:center;transform:scale(1.28)}.marker.hidden{display:none}.map-legend{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:10px;padding:9px 11px;display:flex;gap:14px;font-size:.65rem;font-weight:750;color:#5f6b7e}.map-legend span{display:flex;align-items:center;gap:6px}.route-key{width:20px;height:4px;background:var(--blue);border-radius:5px}.seller-key{width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 0 0 1px var(--red)}.map-card{position:absolute;right:18px;bottom:18px;width:min(350px,calc(100% - 36px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:15px;z-index:2;display:none}.map-card.visible{display:block}.map-card h3{margin:0 0 4px;font-size:1rem}.map-card p{margin:0 0 12px;color:#6f7b8f;font-size:.76rem}.map-card div{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-card b{font-size:.82rem}.map-card button{border:0;background:var(--red);color:#fff;border-radius:9px;padding:8px 11px;font-size:.72rem;font-weight:800;cursor:pointer}.seller-callout{margin:0;padding:56px clamp(20px,6vw,90px);background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.seller-callout h2{font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.045em;max-width:780px;margin:7px 0 12px}.seller-callout p{color:#bbc6d6;max-width:750px;line-height:1.55;margin:0}.seller-callout button{border:0;background:var(--yellow);color:#33270f;border-radius:12px;padding:15px 20px;font-weight:850;white-space:nowrap;cursor:pointer}.order-dialog{border:0;padding:0;background:transparent;width:min(540px,calc(100% - 30px))}.order-dialog::backdrop{background:rgba(15,25,43,.63);backdrop-filter:blur(4px)}.dialog-card{background:#fff;border-radius:22px;padding:28px;display:grid;gap:15px;position:relative;box-shadow:0 28px 80px rgba(0,0,0,.28)}.dialog-card h2{margin:0;font-size:1.65rem;letter-spacing:-.04em}.dialog-card>p{margin:-8px 0 0;color:#6d788b;font-size:.86rem}.dialog-close{position:absolute;right:17px;top:14px;border:0;background:#f0f3f6;border-radius:50%;width:32px;height:32px;font-size:1.25rem;cursor:pointer}.dialog-card textarea{height:auto;padding:12px;resize:vertical}.order-choice{display:grid;gap:7px}.order-choice label{display:flex;flex-direction:row;align-items:center;gap:9px;border:1px solid var(--line);padding:10px 12px;border-radius:11px;text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer}.order-choice input{width:auto;height:auto}.dialog-card small{font-size:.7rem;color:#768195;line-height:1.45}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 17px;border-radius:11px;font-size:.8rem;font-weight:700;z-index:50;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.route-form{grid-template-columns:1fr 36px 1fr 1fr}.route-form label:nth-of-type(4){grid-column:4}.route-form .primary{grid-column:1/-1}.workspace{grid-template-columns:minmax(390px,48%) 1fr}.seller-card{grid-template-columns:78px 1fr}.seller-meta{grid-column:2;display:flex;justify-content:space-between}.favorite{top:11px}}
@media(max-width:780px){.topbar{height:62px;padding:0 15px}.topbar nav{display:none}.profile-button b{display:none}.route-builder{padding:24px 15px 18px}.route-heading{display:block}.route-heading p{margin-top:13px}.route-form{grid-template-columns:1fr 32px 1fr}.route-form label:nth-of-type(3),.route-form label:nth-of-type(4){grid-column:auto}.route-form .primary{grid-column:1/-1}.route-form label:nth-of-type(3){grid-column:1/2}.route-form label:nth-of-type(4){grid-column:2/4}.route-options{align-items:flex-start;flex-direction:column}.detour{max-width:100%;overflow-x:auto}.fresh-toggle{align-self:flex-end}.workspace{display:flex;flex-direction:column}.map-column{order:-1;position:relative;top:0;height:54vh;min-height:430px}.results-column{padding:24px 15px 38px}.map-card{bottom:12px;right:12px}.seller-callout{display:block;padding:42px 18px}.seller-callout button{margin-top:22px}.results-head{align-items:center}.route-summary small{line-height:1.4}}
@media(max-width:520px){.route-heading h1{font-size:2.35rem}.route-heading p{font-size:.86rem}.route-form{grid-template-columns:1fr}.route-form .swap{display:none}.route-form label:nth-of-type(3),.route-form label:nth-of-type(4),.route-form .primary{grid-column:auto}.detour>span{display:none}.categories{margin-right:-15px}.map-column{height:480px}.map-toolbar{padding:0 13px}.map-toolbar small{display:none}.seller-card{grid-template-columns:72px 1fr}.product-visual{min-height:82px}.route-summary{align-items:flex-start}.summary-line{margin-top:3px;width:20px}.results-head label{display:none}.seller-callout h2{font-size:2rem}.dialog-card{padding:24px 19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.verified.stale{background:#fff3dd;color:#95610b}.primary:disabled{opacity:.58;cursor:wait;box-shadow:none}
.product-visual.has-photo{background-size:cover;background-position:center}.product-visual.has-photo:after{background:linear-gradient(180deg,transparent 45%,rgba(23,36,61,.18));inset:0;height:auto;border-radius:0}
