:root{--blue:#006bb6;--deep:#072c50;--orange:#f58426;--paper:#fffaf1;--text:#17364e;--line:#d6e1e8}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border:0}a{color:var(--blue)}[hidden]{display:none!important}.masthead{height:94px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:white;border-bottom:5px solid var(--orange)}.wordmark{display:flex;gap:17px;align-items:center}.ny{background:var(--orange);color:var(--deep);font-weight:900;font-size:30px;letter-spacing:-2px;transform:rotate(-5deg);padding:0 9px;box-shadow:5px 5px 0 var(--blue)}.wordmark strong{font-size:16px;letter-spacing:2px}.wordmark small{display:block;font-size:12px;letter-spacing:1px;color:#bad6ec;margin-top:3px}nav{display:flex;gap:6px}.nav,.install{padding:11px 17px;border-radius:30px;background:transparent;color:white;font-size:14px;font-weight:700}.nav.active{background:var(--orange);color:var(--deep)}.install{border:1px solid #6690af}.daybar{padding:23px 4% 20px;border-bottom:1px solid var(--line);background:white}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.7px;color:var(--blue)}#days{display:flex;gap:10px;margin-top:13px;overflow-x:auto;padding-bottom:4px}.daybutton{padding:9px 17px;background:#edf4fa;color:var(--deep);border:1px solid transparent;border-radius:9px;min-width:100px;white-space:nowrap}.daybutton small{font-size:12px;display:block;color:#577286}.daybutton strong{font-size:16px}.daybutton.active{background:var(--blue);color:white;box-shadow:0 4px 0 var(--orange)}.daybutton.active small{color:white}.workspace{max-width:1600px;margin:auto;display:grid;grid-template-columns:minmax(360px,43%) 1fr}.routepanel{border-right:1px solid var(--line)}.dayintro{padding:30px 9% 23px;background:var(--paper)}.daycount{font-weight:800;font-size:13px;letter-spacing:2px;color:var(--orange)}h1{font-family:Georgia,serif;font-size:37px;line-height:1.12;margin:9px 0 18px;color:var(--deep);letter-spacing:-.6px}.daymeta{display:flex;flex-wrap:wrap;gap:7px 17px;font-size:14px}.daymeta span{font-weight:600}#birthday{font-size:13px;letter-spacing:1px;background:var(--orange);color:var(--deep);padding:9px 12px;margin-top:15px;font-weight:bold}.route{padding:0 7% 20px}.stop{position:relative;padding:21px 0 22px 43px;border-left:2px solid #cbdce8;margin-left:14px}.stop:last-child{border-left-color:transparent}.stopno{position:absolute;left:-18px;top:25px;width:34px;height:34px;border-radius:50%;background:white;border:2px solid var(--blue);font-weight:800;color:var(--blue);font-size:14px}.stop.selected .stopno{background:var(--orange);border-color:var(--orange);color:var(--deep);box-shadow:0 0 0 5px #f5842625}.stop.selected h2{color:var(--blue)}.travel{font-size:14px;line-height:1.45;color:#587182;border-bottom:1px dashed #b7cbd8;padding-bottom:12px;margin-bottom:14px}.time{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.6px}.stop h2{font-family:Georgia,serif;font-size:24px;line-height:1.18;margin:5px 0 6px}.loc{font-size:14px;color:#587182;margin:0 0 12px}.stop p{margin:10px 0;line-height:1.6}.stoplinks{display:flex;gap:14px;margin-top:13px}.maplink,.stoplinks a{font-size:14px;font-weight:700}.maplink{background:none;padding:0;color:var(--blue);text-decoration:underline}.stop details{margin-top:15px;border-top:1px solid var(--line);padding-top:10px}.stop summary,.guideentry summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:700}.detailtip{background:#e9f2f8;padding:13px 16px;border-left:3px solid var(--orange);font-size:15px}.maparea{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#eaf2f6}.maptoolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 25px;background:white;gap:10px}.maptoolbar p{font-weight:700;margin:4px 0 0;font-size:16px}.maptoolbar button{padding:9px 12px;font-size:14px;background:#eef4f8;color:var(--blue);border-radius:6px;white-space:nowrap}#map{min-height:300px;flex:1;background:#dce9ee}.mapnote{font-size:12px;line-height:1.4;background:#fff;padding:9px 20px;color:#617686}.cityquote{background:var(--deep);color:white;display:flex;align-items:center;gap:24px;padding:16px 24px;position:relative;overflow:hidden}.cityquote:after{content:'';width:100px;height:100px;position:absolute;right:-25px;bottom:-70px;border:18px solid var(--orange);border-radius:50%}.cityquote img{height:105px;width:74px;object-fit:cover;transform:rotate(-6deg);border:3px solid #fff}.cityquote span{font-size:12px;letter-spacing:2px;color:var(--orange);font-weight:700}.cityquote p{font-family:Georgia,serif;font-size:24px;line-height:1.3;margin:6px 0}.routefooter{padding:25px 9% 40px;border-top:1px solid var(--line)}.routefooter img{width:150px;mix-blend-mode:multiply}.routefooter p{font-family:Georgia,serif;font-size:23px}.routefooter .footnote{font-family:Arial,sans-serif;font-size:13px;color:#637889}.pin{width:31px;height:31px;border-radius:50%;border:2px solid white;background:var(--blue);color:white;font-weight:800;font-size:13px;display:grid;place-items:center;box-shadow:0 2px 6px #16365d66}.pin.active{background:var(--orange);color:var(--deep);transform:scale(1.22)}.leaflet-tooltip{font-size:14px}.appfoot{background:var(--deep);color:#c6dcea;display:flex;justify-content:space-between;gap:15px;padding:14px 4%;font-size:12px}#guide{max-width:1160px;margin:auto;padding:35px 4% 60px}.guidehead{padding-bottom:30px;border-bottom:4px solid var(--orange)}#guideEntries{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.guideentry{padding:25px 0;border-bottom:1px solid var(--line)}.guideentry h2{font-family:Georgia,serif;color:var(--deep);font-size:25px;line-height:1.25;margin:0 0 8px}.guideentry .subtitle{color:var(--blue);font-weight:700}.guideentry p{line-height:1.65}.installHelp{background:#fff1df;border-bottom:1px solid var(--orange);padding:15px 4%;font-size:15px}.installHelp button{margin-left:15px;padding:7px 12px;background:var(--deep);color:white}#offlineMap{padding:10px 17px;background:#fff1df;color:var(--deep);font-size:14px}#loadError{padding:30px;text-align:center} @media(max-width:850px){.masthead{height:auto;min-height:105px;flex-wrap:wrap;padding:15px 5%;gap:14px}.wordmark strong{font-size:13px;letter-spacing:1px}nav{width:100%;justify-content:space-between}.nav,.install{font-size:14px;padding:7px 13px}.daybar{padding:16px 5%}.daybutton{min-width:84px;padding:8px 11px}.workspace{display:flex;flex-direction:column}.maparea{order:0;position:sticky;top:0;height:34vh;min-height:245px;z-index:300;box-shadow:0 5px 20px #17364e15}.routepanel{order:1;border:0}.maptoolbar{padding:8px 14px}.maptoolbar .eyebrow{display:none}.maptoolbar p{font-size:14px;margin:0}.maptoolbar button{padding:5px 9px;font-size:12px}#map{min-height:100px}.mapnote{font-size:12px;padding:5px 12px}.cityquote{display:none}.dayintro{padding:27px 6% 15px}h1{font-size:32px}.route{padding:0 5% 20px}.stop{padding-left:31px}.stop h2{font-size:23px}#guideEntries{grid-template-columns:1fr}.appfoot{flex-wrap:wrap}#offlineReady{max-width:210px}.routefooter{padding:22px 8%}.stop{scroll-margin-top:35vh}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(min-width:851px){.stop{scroll-margin-top:25px}}

.dailyNotes{margin:25px 0 10px;padding:20px;background:#e8f1f8;border-top:4px solid var(--orange)}.dailyNotes h2{font-family:Georgia,serif;margin:0 0 16px;font-size:25px}.dailyNotes summary{cursor:pointer;font-size:14px;font-weight:bold;color:var(--blue);padding:12px 0}.dailyNotes details+details{border-top:1px solid #cbdce8}.dailyNotes p{font-size:15px;line-height:1.65}
