:root{font-family:'Cause',system-ui,sans-serif;color:#21162D;background:#21162D;--paper:#FDF6EC;--ink:#21162D;--orange:#F68A33;--line:#E8DFC8}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0045D4;outline-offset:3px}button{color:inherit}header{height:58px;flex:none;display:flex;align-items:center;gap:9px;padding:10px 15px;color:var(--paper)}header>svg{width:28px;height:32px;flex:none}h1,h2{font-family:'Margarine',sans-serif;font-weight:400;margin:0}h1{font-size:24px;line-height:1.1}main{flex:1;min-height:0;position:relative;background:var(--paper)}[hidden]{display:none!important}#mapView,#viewport{position:absolute;inset:0;overflow:hidden}#viewport{background:#30243B;touch-action:none;user-select:none;cursor:grab}#viewport.dragging{cursor:grabbing}#map{position:absolute;width:1324px;height:1152px;transform-origin:0 0;will-change:transform}#map>img{width:1324px;height:1152px;display:block;pointer-events:none;filter:sepia(.22) saturate(.78) brightness(.92)}.route-path{position:absolute;inset:0;pointer-events:none;z-index:1}.route-path polyline{fill:none;stroke-width:6;stroke-linejoin:round;stroke-linecap:round}.route-path .route-underlay{stroke:var(--paper);stroke-width:12}#markers{position:absolute;inset:0;z-index:2}.house{position:absolute;transform:translate(-50%,-50%);width:43px;height:43px;border:2px solid var(--paper);border-radius:50%;background:transparent;padding:0}.house>span{position:absolute;right:-9px;top:-10px;border:1px solid var(--paper);background:#0045D4;color:#fff;width:21px;height:21px;border-radius:50%;font:700 11px/19px system-ui;text-align:center}.house.red>span{background:#FC2F6E;color:var(--ink)}.house.green>span{background:#FDB503;color:var(--ink)}.house.visited{background:#F68A3344;border-color:var(--ink)}.house.visited>span{background:var(--ink);color:var(--paper)}.house.current{outline:5px solid #F68A33;outline-offset:3px;z-index:2}.place{position:absolute;z-index:3;transform:translate(-50%,-50%);padding:5px 8px;border:1.5px solid var(--ink);border-radius:5px;white-space:nowrap;font-weight:800;font-size:12px;background:var(--paper)}.parade{background:var(--orange)}.home{background:#E2E8F7}.map-tools{position:absolute;z-index:4;top:12px;right:12px;display:flex;flex-direction:column;gap:7px}.icon-button{height:44px;width:44px;display:grid;place-items:center;flex:none;border:1px solid #21162D30;border-radius:11px;background:var(--paper);padding:10px}.icon-button svg,.tabs svg{width:22px;height:22px}.map-tools #zoomIn{margin-top:5px;border-radius:11px 11px 0 0;border-bottom:0}.map-tools #zoomOut{margin-top:-7px;border-radius:0 0 11px 11px;border-top-color:var(--line)}.popover{position:absolute;z-index:5;right:64px;top:12px;width:215px;border:1px solid var(--ink);border-radius:10px;padding:10px 14px;background:var(--paper)}.popover label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}.popover input{width:18px;height:18px;accent-color:var(--ink)}.popover small{display:block;margin:7px 0;color:#6B6359;font-size:11px;line-height:1.5}
#stopCard{position:absolute;z-index:6;bottom:10px;left:10px;right:10px;max-width:440px;margin:0 auto;background:var(--paper);border:1px solid var(--ink);border-top:4px solid var(--orange);border-radius:16px 16px 10px 10px;padding:9px 15px 14px}#stopCard .card-top{display:flex;align-items:center;gap:9px}.card-toggle{flex:1;min-width:0;text-align:left;background:none;border:0;padding:4px 0;min-height:52px}.card-toggle .eyebrow{display:block;font-size:10px;color:#78677D;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.card-toggle strong{display:block;font:400 25px/1.15 'Margarine',sans-serif;overflow-wrap:anywhere}.card-toggle svg{float:right;width:16px;height:16px;margin-left:10px;margin-top:3px}.card-direction{color:#0045D4;text-decoration:none}.card-actions{display:flex;align-items:center;gap:9px;margin-top:9px}.primary{flex:1;min-height:54px;border:1px solid var(--ink);border-radius:8px;background:var(--orange);font-weight:800;font-size:16px;padding:11px 14px}.skip{min-height:48px;min-width:44px;background:none;border:0;font-size:13px;padding:8px}.card-more{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:12px}.text-button{min-height:40px;background:none;border:0;padding:6px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.stop-note{font-size:12px;color:#6B6359;line-height:1.45;margin:8px 0}.card-more details{font-size:12px}.card-more summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.card-more details[open]{flex:1}.card-more details[open]~button{align-self:flex-start}#stopCard.compact{padding:7px 11px;border-top-width:3px;border-radius:12px}.compact .card-toggle{min-height:44px}.compact .card-toggle strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact .card-toggle .eyebrow{display:none}.compact .card-actions,.compact .card-more,.compact .card-direction{display:none}.compact .quick-next{display:block}.quick-next{display:none;background:var(--orange);border-color:var(--ink);font-size:22px}.compact .card-toggle svg{transform:rotate(180deg)}
.tabs{display:flex;flex:none;gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid #49374F}.tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:46px;border:0;border-radius:8px;color:#DCCFDF;background:transparent;font-size:13px;font-weight:700}.tabs button[aria-pressed=true]{background:#FDF6EC15;color:var(--paper)}.tabs button[aria-pressed=true] svg{color:var(--orange)}#housesView{height:100%;overflow-y:auto;padding:23px 17px 30px;overscroll-behavior:contain;max-width:700px;margin:auto}.list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:19px}.list-heading h2{font-size:28px}.list-heading span{font-size:12px;color:#6B6359}.plan{border:1px solid var(--line);border-radius:9px;margin-bottom:17px}.plan>summary{min-height:48px;padding:14px;cursor:pointer;font-size:14px}.plan-content{padding:0 14px 14px;font-size:13px;line-height:1.6}.plan-content p{margin:12px 0}.muted{color:#6B6359}.route-choice{display:flex;justify-content:space-between;align-items:center;gap:10px}.route-choice select{min-height:44px;max-width:80%;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:6px;font-size:13px}.plan-content a{color:#0045D4}.plan-content>.text-button{display:block;margin-top:10px}.entry{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.entry-focus{flex:1;min-width:0;display:flex;align-items:center;gap:11px;text-align:left;min-height:52px;border:0;background:none;padding:4px 0}.entry-name{font-size:15px;line-height:1.35}.entry small{display:block;font-size:10px;color:#6B6359;margin-top:3px}.dot{height:9px;width:9px;border-radius:50%;background:var(--orange);flex:none}.dot.red{background:#FC2F6E}.dot.green{background:#0045D4}.done .entry-name{color:#786E76}.done .dot{background:#96858D}.check{flex:none;min-height:46px;width:46px;border:1px solid #C6B9BC;border-radius:9px;background:transparent;font-size:22px}.check[aria-pressed=true]{background:var(--orange);border-color:var(--ink)}.list-footer{font-size:12px;color:#6B6359;margin-top:24px}.list-footer summary{min-height:44px;cursor:pointer}.list-footer p{line-height:1.6}@media(min-width:861px){header{justify-content:center;height:62px}.tabs button{max-width:260px;flex:1}.tabs{justify-content:center}#stopCard{bottom:20px}.map-tools{right:20px;top:20px}.popover{right:74px;top:20px}#housesView{padding-top:32px}.entry-name{font-size:16px}}@media(max-width:360px){h1{font-size:21px}header{padding-left:12px;gap:7px}.card-toggle strong{font-size:22px}#stopCard{padding-left:12px;padding-right:12px}.tabs{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}@media(max-height:680px){.card-more{display:none}.card-toggle strong{font-size:21px}header{height:50px}.map-tools{gap:4px;top:8px}.map-tools #zoomOut{margin-top:-4px}#stopCard{padding-bottom:10px}.primary{min-height:48px}}

.route-path .route-context{stroke:#736B82;stroke-width:3;opacity:.25}.route-path .current-leg{opacity:1}.origin .entry-name{font-weight:700}

.previous{width:48px;min-height:54px;flex:none;background:transparent;border:1px solid #C6B9BC;border-radius:8px;font:400 29px/1 system-ui}.previous:disabled,.quick-prev:disabled{opacity:.3;cursor:default}.quick-prev{display:none;font:400 27px/1 system-ui}.compact .quick-prev{display:grid}.compact .card-top{gap:6px}.compact .quick-next,.compact .quick-prev{width:42px;padding:8px}@media(max-width:360px){.card-actions{gap:6px}.previous{width:44px}.primary{font-size:14px;padding-left:8px;padding-right:8px}.skip{min-width:36px;padding:6px}}

#liveLocation{position:absolute;z-index:5;pointer-events:none}#locationAccuracy{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:#1877F233;border:1px solid #1877F255}#liveLocationDot{position:absolute;width:19px;height:19px;transform-origin:center;border-radius:50%;background:#1877F2;border:3px solid white;outline:1px solid #0045D488}#locate[aria-pressed="true"]{color:#0045D4;background:#E2E8F7;border-color:#0045D4}#locate.locating{color:#0045D4}#locationStatus{position:absolute;z-index:7;top:12px;left:12px;max-width:calc(100% - 78px);background:#FDF6EC;color:#21162D;border:1px solid #21162D;border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.4}@media(max-height:680px){.map-tools{gap:3px}.map-tools .icon-button{height:40px;width:40px;padding:9px}.map-tools #zoomOut{margin-top:-3px}}
