html,body{margin:0;height:100%}body{font-family:var(--font-sans);color:var(--color-charcoal-900);background:#111;overflow:hidden}#map{position:fixed;inset:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}button{font-family:inherit}.topbar{position:fixed;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;z-index:500;display:flex;gap:10px;align-items:center}.round{width:48px;height:48px;border-radius:24px;border:0;background:#fff;color:var(--color-charcoal-900);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0003;cursor:pointer}.pill{height:48px;padding:0 18px;border-radius:24px;background:#fff;display:flex;align-items:center;box-shadow:0 2px 10px #0003}.sheet{position:fixed;z-index:500;left:0;right:0;bottom:0;max-height:80svh;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 24px #0000002e;padding:10px 18px calc(22px + env(safe-area-inset-bottom));box-sizing:border-box}@media(min-width:768px){.sheet{inset:88px auto 24px 24px;width:440px;border-radius:22px;max-height:none}.handle{display:none}}.handle{width:40px;height:5px;border-radius:3px;background:#d4d4d4;margin:0 auto 10px}.progress{display:flex;flex-direction:column;gap:8px;margin:2px 0 16px}.progress .lbl{font-family:var(--font-technical);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-charcoal-600)}.progress .bar{height:4px;border-radius:2px;background:#ececec;overflow:hidden}.progress .bar span{display:block;height:100%;background:var(--color-charcoal-900);transition:width .35s}h1{font-family:var(--font-technical);font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.15;margin:0 0 10px}h1.tight{font-size:22px;margin:0}.lead{color:var(--color-charcoal-600);font-size:15px;line-height:1.45;margin:0 0 16px}.sub{margin:2px 0 0;color:var(--color-charcoal-600);font-size:14px}.search{height:54px;border-radius:12px;background:#eee;display:flex;align-items:center;gap:10px;padding:0 14px}.search svg{width:20px;height:20px}.search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;font-weight:500;color:inherit;min-width:0}.results{list-style:none;margin:8px 0 0;padding:0}.results button{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:13px 4px;border-bottom:1px solid #eee;font-size:15px;line-height:1.35}.results button:hover,.results button:focus-visible{background:var(--color-cream-100)}.picked{margin:12px 2px 0;font-size:14px;color:var(--color-charcoal-600)}.go{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:58px;margin-top:18px;border-radius:12px;background:var(--color-charcoal-900);color:#fff;font-size:17px;font-weight:600;text-align:center}.go:disabled{opacity:.28;cursor:default}.go:focus-visible,.svc:focus-visible,.full:focus-visible,.opt:focus-visible,.round:focus-visible{outline:3px solid var(--color-mustard-500);outline-offset:2px}.full{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:#eee;margin:6px 0 10px}.full .tick{width:30px;height:30px;border-radius:9px;border:2px solid #bbb;display:flex;align-items:center;justify-content:center;color:transparent;flex-shrink:0}.full-text{display:flex;flex-direction:column;gap:2px}.full-text b{font-size:17px}.full-text span{font-size:13px;color:var(--color-charcoal-600)}.full.on{background:var(--color-charcoal-900);color:#fff}.full.on .tick{background:var(--color-mustard-500);border-color:var(--color-mustard-500);color:var(--color-charcoal-900)}.full.on .full-text span{color:#ffffffb3}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.svc{all:unset;box-sizing:border-box;cursor:pointer;min-height:86px;padding:10px 6px;border-radius:12px;background:#eee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:13px;font-weight:600;line-height:1.2}.svc.on{background:var(--color-charcoal-900);color:#fff}.opt-head{display:flex;gap:14px;align-items:center;margin-bottom:8px}.opt-icon{width:52px;height:52px;border-radius:14px;background:#eee;display:flex;align-items:center;justify-content:center;flex-shrink:0}.routeline{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--color-cream-100);font-size:14px;font-weight:600}.counter{margin:10px 0 8px;font-family:var(--font-technical);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-charcoal-600)}.opts{display:flex;flex-direction:column;gap:8px}.opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:2px solid #ececec}.opt.on{border-color:var(--color-charcoal-900)}.opt-txt{flex:1;display:flex;flex-direction:column;gap:3px}.opt-txt b{font-size:16px}.opt-txt span{font-size:14px;color:var(--color-charcoal-600);line-height:1.4}.opt-txt em{font-style:normal;font-size:13px;font-weight:600;color:var(--color-charcoal-900);margin-top:2px}.radio{width:22px;height:22px;border-radius:11px;border:2px solid #bbb;flex-shrink:0;box-sizing:border-box}.opt.on .radio{border:7px solid var(--color-charcoal-900)}.skip{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;margin-top:10px;padding:12px;font-size:14px;font-weight:600;color:var(--color-charcoal-700);text-decoration:underline;text-underline-offset:3px}.fine{margin:14px 2px 0;font-size:13px;color:var(--color-charcoal-600);line-height:1.45}.plan,.preview{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ececec}.row-icon{width:44px;height:44px;border-radius:10px;background:#eee;display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-icon svg{width:22px;height:22px}.row-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.row-txt b{font-size:15px}.row-txt span{font-size:13px;color:var(--color-charcoal-600)}.tag{font-size:12px;font-weight:700;color:var(--color-charcoal-600);white-space:nowrap}.tag.live{color:#fff;background:var(--color-charcoal-900);padding:4px 8px;border-radius:6px}.upload{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;border-radius:12px;border:1.5px dashed #b5b5b5;cursor:pointer;font-size:15px;font-weight:600;margin-top:16px}.upload svg{width:20px;height:20px;flex-shrink:0}.upload.has{border-style:solid;border-color:var(--color-charcoal-900)}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload:focus-within{outline:3px solid var(--color-mustard-500);outline-offset:2px}.fields{display:flex;flex-direction:column;gap:8px}.fields input{height:52px;border-radius:12px;border:0;background:#eee;padding:0 14px;font:inherit;font-size:16px;color:inherit;outline:none}.fields input:focus{box-shadow:inset 0 0 0 2px var(--color-charcoal-900)}.err{margin:2px 2px 0;font-size:14px;color:#a33a1e}.fields .go{margin-top:10px}.track{display:flex;flex-direction:column;margin:8px 0 18px}.step{display:flex;gap:14px;padding:10px 0;position:relative}.step:not(:last-child):after{content:"";position:absolute;left:13px;top:40px;bottom:-10px;width:2px;background:#e2e2e2}.step .dot{width:28px;height:28px;border-radius:14px;flex-shrink:0;border:2px solid #ccc;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.step.done .dot{background:var(--color-charcoal-700);border-color:var(--color-charcoal-700);color:#fff}.step.now .dot{border:8px solid var(--color-charcoal-900)}.step div{display:flex;flex-direction:column;gap:2px}.step b{font-size:15px}.step span{font-size:13px;color:var(--color-charcoal-600)}.preview{background:var(--color-cream-100);border-radius:14px;padding:6px 14px 4px}.preview .row:last-child{border-bottom:0}.kicker{margin:10px 0 2px;font-family:var(--font-technical);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-charcoal-600)}.link{text-decoration:none}.pin span{display:block;width:28px;height:28px;border-radius:14px;background:var(--color-charcoal-900);border:4px solid #fff;box-sizing:border-box;box-shadow:0 0 0 10px #ebbd0659}.yard span{display:block;width:22px;height:22px;background:var(--color-mustard-500);border:4px solid #3b3936;box-sizing:border-box}.leaflet-control-attribution{font-size:10px}
