:root{font-family:Trebuchet MS,Arial,sans-serif;color:#263e3a;background:#f8f7f2;font-synthesis:none;--green:#286854;--muted:#77847c;--border:#e4e8df}*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #d99b36;outline-offset:4px}button{touch-action:manipulation}button[hidden],[hidden]{display:none!important}.places-header{background:#fffefa;flex:none;border-bottom:1px solid var(--border);padding:16px 28px 12px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-weight:800;font-size:26px;letter-spacing:-1px}.brand img{width:43px;height:43px}.brand-note{display:block;font-size:11px;color:#7c877c;font-weight:400;letter-spacing:.4px;margin-top:3px}.instruction{font-size:13px;color:#78837a}.instruction span{font-size:23px;margin-left:8px;color:#619678}.catalogue{display:flex;align-items:center;gap:12px}.arrow{flex:none;width:40px;height:48px;background:#f3f5ee;border:1px solid #e3e7dc;border-radius:13px;font-size:32px;color:#4e6c57;line-height:1}.arrow:disabled{color:#bac4b5;background:#f8f8f4}.place-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex:1;scroll-behavior:smooth;padding:3px 2px 5px;overscroll-behavior-x:contain;touch-action:pan-x}.place-list::-webkit-scrollbar{display:none}.place-button{flex:0 0 106px;display:flex;align-items:center;flex-direction:column;gap:7px;padding:10px 9px 8px;background:var(--tint,#eff4e9);border:1px solid transparent;border-radius:15px;font-size:12px;font-weight:700;color:#43524b;transition:transform .15s,background .15s}.place-button img{width:55px;height:55px;object-fit:contain;pointer-events:none}.place-button:hover:enabled{transform:translateY(-2px);border-color:#bbc9b4}.place-button:active:enabled{transform:scale(.96)}.place-button:disabled{cursor:default}.place-button:disabled img{opacity:.72}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;background:#fffefa;border-bottom:1px solid var(--border);padding:12px 30px}.tools{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:11px;padding:10px 17px;border:1px solid transparent;font-weight:700;font-size:14px}.button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.primary{background:var(--green);color:#fff;box-shadow:0 2px #164834}.primary:hover{background:#205a47}.print,.secondary{background:#fffefa;color:#4b5f51;border-color:#dfe5d9}.print:disabled{color:#a2aaa1;border-color:#e8eae4;background:#f8f9f4}.print:hover:enabled,.secondary:hover{background:#f0f4eb}.map-name{font-size:12px;color:#8b9488;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace{position:relative;flex:1;min-height:0;margin:20px 24px 22px;border:1px solid #e1e6d9;border-radius:19px;background:#f0f2e9;overflow:hidden}.workspace:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#dce2d4 1px,transparent 1px);background-size:20px 20px;opacity:.45}canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;pointer-events:none}.empty-state button{pointer-events:auto}.neighborhood{width:min(390px,75%);height:165px;object-fit:contain;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:800;color:#699175;letter-spacing:2px}h1{font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-1px;margin:12px 0 10px}p{color:#7b867b;font-size:14px;line-height:1.75;margin:0 0 23px}.empty-state .button{min-height:49px}.file-hint{font-size:11px;color:#959e92;margin-top:14px}.remove{position:absolute;width:44px;height:44px;border-radius:50%;border:3px solid #fff;background:#b7473e;color:#fff;font-size:30px;line-height:1;box-shadow:0 3px 10px #283f3b30;touch-action:manipulation}.activity-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);font-size:12px;color:#72816e;background:#fffefbe8;padding:9px 15px;border-radius:20px;pointer-events:none;white-space:nowrap}.counter{position:absolute;right:15px;bottom:15px;font-size:12px;font-weight:700;background:#fffefa;padding:8px 13px;border:1px solid #dfe5d9;border-radius:20px;pointer-events:none}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:3;background:#263e3a;color:#fff;padding:13px 20px;border-radius:13px;box-shadow:0 4px 25px #203a3630;font-size:14px;max-width:90%;text-align:center}dialog{border:0;border-radius:22px;padding:29px;width:min(430px,90vw);color:#263e3a;box-shadow:0 10px 70px #1b352f30}dialog::backdrop{background:#203a3650}dialog h2{font-size:23px;letter-spacing:-.6px;margin:15px 0 12px}dialog p{margin-bottom:22px}.dialog-icon{font-size:32px;color:#286854}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}@media (min-width:1300px){.place-button{flex-basis:120px}.place-button img{width:60px;height:60px}}@media (max-height:700px){.places-header{padding-top:10px;padding-bottom:8px}.heading{margin-bottom:6px}.place-button{padding:6px 8px;gap:3px}.place-button img{width:44px;height:44px}.toolbar{padding-top:8px;padding-bottom:8px}.workspace{margin:12px 18px}.neighborhood{height:110px;margin-bottom:12px}.empty-state p{margin-bottom:16px}.empty-state h1{margin:8px 0}.empty-state{padding:10px}}@media (max-width:650px){.places-header{padding:13px 12px 8px}.instruction{display:none}.brand{font-size:23px}.brand img{width:36px;height:36px}.heading{margin-bottom:8px}.catalogue{gap:6px}.arrow{width:32px}.place-button{flex-basis:90px}.toolbar{padding:10px 14px}.map-name{display:none}.workspace{margin:12px 10px}.neighborhood{height:130px;margin-bottom:18px}.activity-hint{bottom:53px;font-size:10px;padding:7px 10px;max-width:90%;white-space:normal;text-align:center}.counter{right:10px;bottom:10px}.dialog-actions{flex-wrap:wrap}}@media (max-height:470px){.brand-note,.eyebrow,.file-hint{display:none}.brand img{width:30px;height:30px}.brand{font-size:21px}.places-header{padding:6px 12px}.heading{margin-bottom:2px}.place-button img{height:30px;width:30px}.place-button{font-size:11px;flex-basis:90px}.toolbar{padding:6px 14px}.button{min-height:40px;padding:8px 13px}.workspace{margin:8px}.empty-state{padding:6px}.neighborhood{height:65px;margin-bottom:4px}.empty-state h1{font-size:22px;margin:4px}.empty-state p{font-size:12px;line-height:1.3;margin:4px 0 9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.work-area{position:relative;flex:1;min-height:0;margin:12px 10px 14px}.workspace{display:block;width:100%;height:100%;margin:0;border-radius:15px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:none;background:#f0f2e9}.workspace:before{display:none}.stage{position:relative;min-width:100%;min-height:100%;background-image:radial-gradient(#dce2d4 1px,transparent 1px);background-size:20px 20px}.stage canvas{display:block;position:sticky;inset:0 auto auto 0;touch-action:none}.remove,.resize-handle{z-index:2}.resize-handle{position:absolute;width:44px;height:44px;border:3px solid #fff;border-radius:12px;background:#286854;box-shadow:0 3px 10px #283f3b30;color:#fff;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;touch-action:none}.resize-handle svg{width:23px;height:23px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.zoom-controls{display:flex;align-items:center;gap:7px;flex:none}.zoom-button{width:44px;height:46px;border:1px solid #dfe5d9;border-radius:10px;background:#fffefa;color:#286854;font-size:25px;line-height:1}.zoom-button:disabled,.fit-width:disabled{color:#a2aaa1;background:#f8f9f4;border-color:#e8eae4;box-shadow:none}.zoom-button:hover:enabled{background:#edf3e6}#zoom-value{font-size:12px;min-width:49px;text-align:center;color:#667660;font-variant-numeric:tabular-nums}.toolbar{justify-content:flex-start;flex-wrap:wrap;gap:12px}.toolbar .map-name{margin-left:auto;max-width:25%}.activity-hint,.counter{z-index:2}.empty-state{z-index:1}@media (max-width:900px){.toolbar .map-name{display:none}.zoom-controls{margin-left:auto}}@media (max-width:650px){.toolbar{gap:8px;padding:8px 12px}.tools{gap:7px}.toolbar .button{padding:9px 12px;font-size:12px}.zoom-controls{gap:5px;flex-wrap:wrap}.work-area{margin:8px 6px 10px}.fit-width{font-size:12px}}@media (max-width:500px){.zoom-controls{margin-left:0;width:100%}.fit-width{margin-left:auto}.toolbar .button{min-height:44px}.zoom-button{height:44px}}@media (max-height:470px) and (min-width:600px){.toolbar{flex-wrap:nowrap;padding:6px 12px;gap:8px}.zoom-button{height:40px;width:40px}.toolbar .button{min-height:40px;font-size:12px;padding:8px 11px}.work-area{margin:6px}}.route-controls{display:flex;align-items:center;gap:7px;flex:none}.route-button{width:46px;height:46px;padding:10px!important;min-height:44px}.route-button:disabled{background:#f8f9f4;color:#a2aaa1;border-color:#e8eae4}#run-route[aria-pressed=true]{background:#b7473e;color:#fff;border-color:#b7473e}#run-route #stop-icon{fill:currentColor;stroke:none}.route-button svg{pointer-events:none}@media (max-width:900px){.zoom-controls{margin-left:0}.toolbar .map-name{display:none}}@media (max-width:650px){.route-controls{gap:5px}.route-button{width:44px;height:44px}}@media (max-width:500px){.toolbar{column-gap:7px}.zoom-controls{width:auto;flex:1;min-width:0;flex-wrap:nowrap;gap:4px}.fit-width{margin-left:0;padding-left:8px!important;padding-right:8px!important;white-space:nowrap}.zoom-button{width:40px;flex:none}#zoom-value{min-width:43px}.route-controls{margin-left:auto}.tools{width:100%}}@media (max-height:470px) and (min-width:600px){.toolbar{flex-wrap:wrap}.route-button{height:40px;min-height:40px;width:40px}.route-controls{gap:5px}}@media (max-width:600px){.zoom-controls{width:100%;flex:0 0 100%;flex-wrap:nowrap}.route-controls{margin-left:0}.tools{width:100%}}@media (max-width:330px){.zoom-controls{flex-wrap:wrap}}.plan-select{font:inherit;font-size:14px;font-weight:700;color:#43594b;background:#fffefa;border:1px solid #dfe5d9;border-radius:11px;min-height:46px;max-width:100%;min-width:150px;padding:9px 30px 9px 12px;touch-action:manipulation}.plan-select:focus-visible{outline:3px solid #d99b36;outline-offset:3px}.plan-select:disabled{color:#a2aaa1;background:#f8f9f4}.tools{flex-wrap:wrap;align-items:center;min-width:0;max-width:100%}@media (max-width:650px){.plan-select{font-size:12px;min-width:140px;min-height:44px}.tools{row-gap:8px}}@media (max-height:470px) and (min-width:600px){.plan-select{font-size:12px;min-height:40px}}
