:root{--gut:20px;--paper:#fff;--panel:#f0eeeb;--ink:#111;--ink2:#444;--mute:#7a7672;--line:#dcd8d2;--taxi:#ffde00;--taxi-dark:#ffe33d;
--disp:"League Spartan",sans-serif;--body:Merriweather,Georgia,serif;--caps:"Maven Pro",sans-serif;
--t0:11px;--t1:12px;--t2:14px;--t3:16px;--t4:18px;--t5:22px;--t6:28px;--t7:40px;--t8:56px;--t9:84px;--bar:72px;--sheet:440px}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--panel);color:var(--ink);font:400 var(--t3)/1.6 var(--body);overflow:hidden}
a{color:inherit}button{font:inherit;color:inherit}
.fig{font:800 1em/1 var(--disp);letter-spacing:-.01em}
/* the site's header, one row */
.bar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--paper);border-bottom:1px solid var(--line)}
.bar .mark{display:flex;align-items:center;gap:18px;text-decoration:none}.bar .mark img{width:168px;height:62px;object-fit:contain;object-position:left center;display:block}
.bar .mark span{font:600 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);border-left:1px solid var(--line);padding-left:18px}
.bar nav{display:flex;align-items:center;gap:26px;font:500 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase}.bar nav a{text-decoration:none}
.bar nav a.g{background:var(--taxi);padding:12px 16px}
/* map */
#map{position:fixed;inset:var(--bar) 0 0 0}
.mk{width:14px;height:14px;border-radius:50%;background:var(--taxi);border:2px solid var(--ink);cursor:pointer;transition:transform .12s}
.mk.free{background:#fff}.mk.dated{box-shadow:0 0 0 3px rgba(255,222,0,.55)}.mk:hover,.mk.hot{transform:scale(1.4);z-index:5}.mk.sel{transform:scale(1.7);background:var(--ink);border-color:var(--taxi);z-index:6}
.maplibregl-ctrl-top-right{top:calc(var(--bar) + 12px)}.maplibregl-ctrl-bottom-left{left:var(--sheet)}
/* hover card */
.hov{position:fixed;z-index:25;width:272px;background:var(--paper);box-shadow:0 10px 30px rgba(0,0,0,.22);pointer-events:none;transform:translate(16px,-50%);display:none}
.hov.on{display:block}.hov.flip{transform:translate(calc(-100% - 16px),-50%)}
.hov .hph{height:150px;background:var(--panel) center/cover}.hov .ht{padding:12px 14px 14px}
.hov b{display:block;font:700 var(--t3)/1.3 var(--body)}.hov .hw{font:500 var(--t0)/1.6 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.hov .hn{margin:8px 0 0;font:400 var(--t1)/1.5 var(--body)}.hov .hn .fig{font-size:var(--t2)}.hov .hh{margin:8px 0 0;font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
/* intro */
.intro{position:fixed;inset:var(--bar) 0 0 0;z-index:23;background:#1a1216 url(https://newyorkdearest.com/wp-content/uploads/2024/01/Halloween-2023-Village-Parade-.jpg) center 42%/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:0 56px 56px;transition:opacity .5s}
.intro:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.3) 40%,rgba(0,0,0,.84)),linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,0) 55%)}
.intro>*{position:relative}.intro.out{opacity:0;pointer-events:none}
.intro .eyebrow{font:600 var(--t1)/1.6 var(--caps);letter-spacing:.14em;text-transform:uppercase;color:var(--taxi-dark);margin-bottom:20px}.intro .eyebrow span{color:#fff;opacity:.85}
.intro h1{font:600 clamp(40px,6vw,var(--t9))/.98 var(--disp);letter-spacing:-.02em;margin:0}.intro h1 em{font-style:normal;color:var(--taxi-dark)}
.intro .dek{font:400 var(--t4)/1.6 var(--body);max-width:34em;margin:18px 0 0}
.find{position:relative;display:flex;max-width:560px;margin-top:26px}.find input{flex:1;min-width:0;font:400 var(--t3)/1 var(--body);padding:17px 16px;border:0;background:#fff;color:var(--ink)}
.find input::placeholder{color:var(--mute)}.find button{font:600 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;background:var(--taxi);border:0;padding:0 22px;cursor:pointer}
.sugg{position:absolute;left:0;right:0;top:100%;background:var(--paper);color:var(--ink);box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:40;display:none;max-height:360px;overflow:auto}.sugg.on{display:block}
.sugg div{display:grid;grid-template-columns:44px 1fr auto;gap:0 12px;align-items:center;padding:8px 12px;cursor:pointer;border-top:1px solid var(--line);font:400 var(--t2)/1.3 var(--body)}
.sugg div:hover{background:var(--panel)}.sugg .sp{width:44px;height:34px;background:var(--panel) center/cover}.sugg .sn b{display:block;font-weight:700}.sugg .sn span{font:500 var(--t0)/1.4 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.sugg .sk{font:500 var(--t0)/1 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.intro .way{margin-top:18px}.intro .tlink{font:600 var(--t2)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid currentColor;padding:0 0 4px;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;color:#fff}
.intro .credit{position:absolute;right:56px;bottom:24px;font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.intro .pill{position:absolute;right:56px;bottom:56px;display:inline-flex;align-items:center;gap:10px;font:500 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px}.intro .pill i{width:8px;height:8px;border-radius:50%;background:var(--taxi)}
/* sheet */
.sheet{position:fixed;top:var(--bar);bottom:0;left:0;width:var(--sheet);z-index:22;background:var(--paper);box-shadow:8px 0 30px rgba(0,0,0,.12);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sheet.on{transform:none}
.sh{padding:22px 28px 16px;border-bottom:1px solid var(--line)}
.sh h2{font:600 var(--t6)/1 var(--disp);letter-spacing:-.02em;margin:0 0 8px}.sh .sub{font:400 var(--t2)/1.5 var(--body);color:var(--ink2);margin:0}
.sh .find{margin-top:14px;max-width:none}.sh .find input{border:2px solid var(--ink);border-right:0;padding:12px 14px;font-size:var(--t2)}.sh .find button{padding:0 16px;border:2px solid var(--ink)}
.sh .figs{display:flex;gap:18px;margin-top:14px;font:400 var(--t1)/1.3 var(--body);color:var(--mute);flex-wrap:wrap}.sh .figs b{font:800 var(--t4)/1 var(--disp);color:var(--ink);margin-right:5px}
.sheet:not([data-view=home]) .sh h2,.sheet:not([data-view=home]) .sh .sub,.sheet:not([data-view=home]) .sh .figs{display:none}
.sheet:not([data-view=home]) .sh{padding:14px 28px 12px}.sheet:not([data-view=home]) .sh .find{margin-top:0}
.sb{flex:1;overflow:auto;padding:0 28px 28px}
.sb h3{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:22px 0 6px}
.ex{list-style:none;margin:0;padding:0}.ex li{display:grid;grid-template-columns:96px 1fr auto;gap:0 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.ex li:hover .exn{text-decoration:underline}.ex .exp{width:96px;height:64px;background:var(--panel) center/cover}.ex .exn{font:700 var(--t3)/1.2 var(--body);display:block}.ex .exd{font:400 var(--t1)/1.45 var(--body);color:var(--mute);display:block;margin-top:2px}.ex .exc{font:800 var(--t2)/1 var(--disp);color:var(--mute)}
.rows{list-style:none;margin:0;padding:0}.rows li{display:grid;grid-template-columns:60px 1fr;gap:2px 14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
.rows li:hover .rn{text-decoration:underline}.rows .rp{width:60px;height:60px;background:var(--panel) center/cover;grid-row:1/3}.rows .rp.none{background:none}
.rows .rn{font:700 var(--t2)/1.3 var(--body)}.rows .rw{font:500 var(--t0)/1.5 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.rows .rw .fig{color:var(--ink);font-size:var(--t1);text-transform:none;letter-spacing:0}
.back{background:none;border:0;padding:0;margin:16px 0 8px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--mute)}.back:before{content:"\2190  "}
.lh{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:4px}.lh h2{font:600 var(--t5)/1 var(--disp);letter-spacing:-.01em;margin:0}.lh span{font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.who{font:400 var(--t1)/1.5 var(--body);color:var(--mute);margin:6px 0 0}
.filters{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 4px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.filters button{background:none;border:0;padding:4px 0;cursor:pointer;color:inherit;border-bottom:2px solid transparent;font:inherit;letter-spacing:inherit;text-transform:inherit}.filters button:hover{color:var(--ink)}
/* when are you going */
.when{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.when .wl{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}
.rp{display:flex;flex-wrap:wrap;gap:6px 14px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.rp button{background:none;border:0;padding:4px 0;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-bottom:2px solid transparent}.rp button:hover{color:var(--ink)}.rp button.on{color:var(--ink);border-bottom-color:var(--taxi)}
.rd{display:flex;align-items:center;gap:8px;margin-top:8px}.rd input{flex:1;min-width:0;font:400 var(--t2)/1 var(--body);padding:8px 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.rd span{font:400 var(--t1)/1 var(--body);color:var(--mute)}
.rsum{margin:8px 0 0;font:400 var(--t1)/1.5 var(--body);color:var(--mute)}.rsum b{font:800 var(--t2)/1 var(--disp);color:var(--ink)}.rsum .rclr{background:none;border:0;padding:0 0 0 8px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--ink)}
.sheet:not([data-view=home]) .when{display:none}.sheet:not([data-view=home]) .rsum{display:block;margin:8px 0 0}
.sheet:not([data-view=home]) .sh .rsum:empty{display:none}
.tlink2{background:none;border:0;padding:0 0 3px;margin:8px 0 2px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--ink);border-bottom:2px solid var(--taxi)}
.rows li.off{opacity:.5}.offw{color:var(--ink)}.offnote{font:400 var(--t1)/1.5 var(--body);color:var(--mute);margin:8px 0 0;padding:8px 10px;background:var(--panel)}
.cal .ck{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 10px}.cal li.sel{background:var(--panel);margin:0 -12px;padding:14px 12px}
/* saved: the mark, the chip, the hit list */
.savemark{background:none;border:0;padding:6px;cursor:pointer;color:var(--mute);grid-column:3;grid-row:1/3;align-self:center;justify-self:end}.savemark.on{color:var(--ink)}.rows li{grid-template-columns:60px 1fr auto}.rows .rn{grid-column:2;grid-row:1}.rows .rw{grid-column:2;grid-row:2}
.savebtn.on{background:var(--taxi);color:var(--ink)}.savebtn svg,.savemark svg{vertical-align:-2px}
.savechip{background:none;border:0;padding:0 0 2px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;border-bottom:2px solid var(--line);white-space:nowrap}.sf .savechip{display:inline-flex;align-items:center;gap:6px}.sf .savechip:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ink);border:2px solid var(--taxi)}.savechip.has{color:var(--ink);border-bottom-color:var(--taxi)}
.legend i.s{background:var(--ink);border-color:var(--taxi)}
.rows li.walk{display:block;padding:6px 0 6px 74px;font:500 var(--t0)/1 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);cursor:default;border-bottom:0;margin-top:-6px}
.saveacts{gap:12px 18px}
/* record */
.rec .rph{height:230px;background:var(--panel) center/cover;margin:14px -28px 0}
.rec h2{font:600 var(--t6)/1.02 var(--disp);letter-spacing:-.02em;margin:16px 0 4px}.rec .rw{font:500 var(--t0)/1.6 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.rec .verdict{font:400 var(--t3)/1.6 var(--body);margin:14px 0 0}.rec .verdict:before{content:"\201C"}.rec .verdict:after{content:"\201D"}
.rec h4{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:22px 0 6px;padding-top:14px;border-top:2px solid var(--ink)}
.rec .dates{list-style:none;margin:0;padding:0}.rec .dates li{padding:10px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 12px}.rec .dates li:first-child{border-top:0}.rec .dates b{font:800 var(--t3)/1.2 var(--disp);display:block}.rec .dates .dn{font:400 var(--t2)/1.4 var(--body)}.rec .dates .dt{font:400 var(--t1)/1.4 var(--body);color:var(--mute);display:block}.rec .dates .ds{font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);align-self:center}.rec .dates .ds.a{color:var(--ink)}
.rec .kb{list-style:none;margin:0;padding:0}.rec .kb li{display:grid;grid-template-columns:88px 1fr;gap:0 12px;padding:8px 0;border-top:1px solid var(--line);font:400 var(--t2)/1.5 var(--body)}.rec .kb li:first-child{border-top:0}.rec .kb b{font:600 var(--t0)/1.6 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.rec .kb li.free span{font:800 var(--t3)/1.3 var(--disp)}.rec .kb .fig{font-size:var(--t3)}
.rec .paras p{font:400 var(--t2)/1.65 var(--body);margin:0 0 12px}
.rec .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0}.rec .gal a{display:block;aspect-ratio:4/3;background:var(--panel) center/cover}
.acts{display:flex;gap:16px;margin-top:20px;align-items:center;flex-wrap:wrap}.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font:600 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;border:0;cursor:pointer}.btn.taxi{background:var(--taxi);color:var(--ink)}
.tl,.rec .tl{font:600 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:3px}
.rec .src{font:400 var(--t0)/1.5 var(--body);color:var(--mute);margin:14px 0 0}.rec .miss{font:400 var(--t1)/1.5 var(--body);color:var(--mute);margin:18px 0 0}.rec .miss a{color:var(--ink)}
.alertform{margin:6px 0 0;width:100%}.alertform p{font:400 var(--t1)/1.5 var(--body);margin:0 0 8px}.alertform .find{margin:0;max-width:none}.alertform .find input{border:2px solid var(--ink);border-right:0;padding:12px 14px;font-size:var(--t2)}.alertform .find button{border:2px solid var(--ink);padding:0 14px}.alertform .fine{font-size:var(--t0);color:var(--mute);margin:6px 0 0}
.rows li.nopin{cursor:default}.rows li.nopin:hover .rn{text-decoration:none}
/* focus, never the browser's */
:focus{outline:none}.find input:focus{box-shadow:inset 0 0 0 2px var(--taxi)}button:focus-visible,a:focus-visible{outline:2px solid var(--taxi);outline-offset:2px}
.sf{border-top:1px solid var(--line);padding:12px 28px;display:flex;justify-content:space-between;gap:12px;align-items:center;white-space:nowrap;overflow:hidden;min-width:0;font:500 var(--t0)/1.5 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.sf>span{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.sf .savechip{flex:0 0 auto}
.sf i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--taxi);border:2px solid var(--ink);vertical-align:-1px;margin-right:5px}.sf i.w{background:#fff}.sf i.d{box-shadow:0 0 0 2px rgba(255,222,0,.6)}
.guidecard{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;margin:22px 0 0;padding:14px 0 0;border-top:2px solid var(--ink)}
.guidecard .gp{width:96px;height:120px;background:center/cover}.guidecard b{font:600 var(--t4)/1.15 var(--disp);display:block;letter-spacing:-.01em}.guidecard p{margin:6px 0 0;font:400 var(--t1)/1.5 var(--body);color:var(--ink2)}
.guidecard a{display:inline-block;margin-top:8px;background:var(--taxi);text-decoration:none;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;padding:10px 12px}
.foot{position:fixed;right:0;bottom:0;left:var(--sheet);z-index:21;display:flex;justify-content:flex-end;gap:18px;padding:10px 16px;font:500 var(--t0)/1 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);pointer-events:none}.foot span{background:rgba(255,255,255,.85);padding:6px 8px}
.handle{display:none}
/* calendar view (old) */
.cal{position:fixed;top:var(--bar);right:0;bottom:0;left:0;z-index:21;background:var(--paper);display:none;flex-direction:column}body[data-mode=cal] .cal{display:flex}body[data-mode=cal] .foot,body[data-mode=cal] #legend,body[data-mode=cal] .maplibregl-ctrl{display:none}
body[data-mode=cal] .sheet{transform:translateX(-100%)}
.calweek{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x proximity;padding:10px 56px 8px;border-bottom:1px solid var(--line);background:var(--paper);scrollbar-width:none}.calweek::-webkit-scrollbar{display:none}
.calweek button{flex:0 0 44px;scroll-snap-align:center;background:none;border:0;border-top:2px solid transparent;padding:6px 0 4px;font-family:var(--caps);color:var(--ink);cursor:pointer;text-align:center;position:relative;border-radius:0}
.calweek button i{display:block;font:600 9px/1 var(--caps);letter-spacing:.1em;color:var(--mute);font-style:normal}.calweek button b{display:block;font:800 15px/1.3 var(--disp);margin-top:3px}.calweek button em{display:block;font:600 9px/1 var(--caps);color:var(--mute);height:9px;font-style:normal;margin-top:2px}
.calweek button.has b{color:var(--ink)}.calweek button.has:after{content:'';position:absolute;left:50%;bottom:-1px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--taxi);border:1.5px solid var(--ink)}
.calweek button.today{border-top-color:var(--mute)}.calweek button.in{background:var(--panel)}.calweek button.sel{background:var(--ink);color:#fff}.calweek button.sel b{color:#fff}.calweek button.sel i,.calweek button.sel em{color:#fff}.calweek button.sel:after{background:var(--taxi)}
.calweek button[data-mo]:before{content:attr(data-mo);position:absolute;top:-9px;left:2px;font:600 8px/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--paper);padding:0 2px}
.calbody{flex:1;overflow:auto;padding:28px 56px 80px}
.caltools{display:grid;grid-template-columns:auto 360px auto 1fr;gap:16px 24px;align-items:center;padding:14px 56px;border-bottom:1px solid var(--line);background:var(--paper)}
.caltools .find{margin:0;max-width:none}.caltools .find input{border:2px solid var(--ink);border-right:0;padding:11px 14px;font-size:var(--t2)}.caltools .find button{border:2px solid var(--ink);padding:0 16px}
.caltools .tf{display:flex;flex-wrap:wrap;gap:6px 16px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.caltools .tf button{background:none;border:0;padding:4px 0;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-bottom:2px solid transparent}.caltools .tf button.on{color:var(--ink);border-bottom-color:var(--taxi)}
.rdbtn{background:var(--paper);border:2px solid var(--ink);padding:11px 14px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-align:left;white-space:nowrap}.rdbtn b{font:800 var(--t2)/1 var(--disp);letter-spacing:0;text-transform:none}
.sh .rdbtn{display:block;width:100%;margin-top:8px}
.clock{margin:12px 0 0;font:400 var(--t1)/1.5 var(--body);color:var(--mute)}.clock b{font:800 var(--t2)/1 var(--disp);color:var(--ink)}
/* the lens switch and the legend live on the stage */
.lens{position:fixed;top:calc(var(--bar) + 12px);left:calc(var(--sheet) + 16px);z-index:23;display:flex;border:2px solid var(--ink);background:var(--paper)}.lens button{background:var(--paper);border:0;padding:9px 16px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.lens button.on{background:var(--ink);color:#fff}
body:not(.in) .lens{display:none}body[data-mode=cal] .lens{position:static}
.legend{position:fixed;bottom:12px;left:calc(var(--sheet) + 16px);z-index:21;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:rgba(255,255,255,.92);padding:8px 12px;font:600 var(--t0)/1 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);max-width:calc(100vw - var(--sheet) - 320px)}
.legend .lk{display:inline-flex;align-items:center;gap:5px}.legend svg{width:14px;height:14px}.legend .ls{display:inline-flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:12px;color:var(--mute)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:var(--taxi);vertical-align:-1px}.legend i.w{background:#fff}.legend i.d{box-shadow:0 0 0 3px rgba(255,222,0,.5)}.legend i.o{opacity:.25}
body:not(.in) .legend{display:none}
/* the record panel in the When lens */
.panel{position:fixed;top:calc(var(--bar) + 70px);right:0;bottom:0;width:var(--sheet);z-index:24;background:var(--paper);box-shadow:-8px 0 30px rgba(0,0,0,.14);transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.panel.on{transform:none}.panel .sb{padding:0 28px 28px}.panel .rec .rph{margin:14px -28px 0}
/* our own date picker */
.picker{position:fixed;z-index:50;background:var(--paper);box-shadow:0 16px 48px rgba(0,0,0,.25);padding:16px 18px 14px;width:620px;display:none}.picker.on{display:block}
.pkh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pkh button{background:none;border:0;font:600 var(--t3)/1 var(--disp);cursor:pointer;padding:4px 8px}
.pkpre{display:flex;flex-wrap:wrap;gap:6px 14px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.pkpre button{background:none;border:0;padding:4px 0;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-bottom:2px solid transparent}.pkpre button.on{color:var(--ink);border-bottom-color:var(--taxi)}
.pkm{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pkmn{font:600 var(--t3)/1 var(--disp);margin:4px 0 8px}
.pkg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.pkg .pkd{font:600 var(--t0)/1 var(--caps);color:var(--mute);text-align:center;padding:4px 0}.pkg button{background:none;border:0;padding:0;height:34px;font:600 var(--t2)/1 var(--disp);cursor:pointer;position:relative;color:var(--ink)}
.pkg button:hover{background:var(--panel)}.pkg button.in{background:#fff4b3}.pkg button.end{background:var(--ink);color:#fff}.pkg button.hasd:after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--taxi);border:1px solid var(--ink)}.pkg button.end.hasd:after{background:var(--taxi)}
.pkf{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font:400 var(--t1)/1.4 var(--body);color:var(--mute)}.pkf span{flex:1}.pkf button{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:2px solid var(--ink);background:var(--paper);padding:9px 12px}.pkf .pkdone{background:var(--ink);color:#fff}
/* phone tab bar */
.tabs{display:none}
.cal .ch{display:block;max-width:1040px}.cal h2{font:600 var(--t7)/1 var(--disp);letter-spacing:-.02em;margin:0 0 10px}.cal .ch p{font:400 var(--t2)/1.5 var(--body);color:var(--mute);margin:0;max-width:40em}
.cal h3{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding:0 0 10px;margin:36px 0 0;font:600 var(--t5)/1 var(--disp);max-width:1040px}.cal h3 em{font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.cal ol{list-style:none;margin:0;padding:0;max-width:1040px}.cal li{display:grid;grid-template-columns:64px 150px 1fr auto;gap:0 20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.cal li:hover .cn{text-decoration:underline}.cal .cp{width:64px;height:64px;background:var(--panel) center/cover}.cal .cp.none{background:none}.cal .cw{font:600 var(--t4)/1.2 var(--disp)}.cal .cw b{font-weight:800;display:block}.cal li.expected .cw b{font-weight:600;color:var(--ink2)}
.cal .cn{display:block;font:700 var(--t3)/1.3 var(--body)}.cal .cwh{display:block;font:400 var(--t2)/1.4 var(--body);color:var(--mute)}
.cal .cm{display:flex;gap:14px;align-items:center;font:500 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.cal .cm .st{color:var(--ink)}.cal li.expected .cm .st{color:var(--mute)}.cal .tag{background:var(--taxi);color:var(--ink);padding:5px 7px 4px}
@media (max-width:820px){
 :root{--sheet:100%;--bar:60px}
 .bar{padding:0 12px;gap:8px}.bar nav{gap:8px}.bar nav a:not(.g){display:none}.bar nav a.g{padding:10px 10px;white-space:nowrap;font-size:var(--t0)}.bar nav a.g .gl{display:none}.bar .mark img{width:96px;height:40px}.bar .mark span{display:none}.views button{padding:9px 10px;font-size:var(--t0)}
 .cal h2{font-size:var(--t6)}.cal .ch p{font-size:var(--t1)}
 .intro{padding:0 20px 28px}.intro .credit,.intro .pill{display:none}.intro .eyebrow span{display:none}.intro .dek{font-size:var(--t3)}.intro .way{margin-top:14px}
 .maplibregl-ctrl-bottom-left{left:0}.foot{display:none}
 .sheet{top:auto;bottom:0;left:0;right:0;width:100%;height:78vh;transform:translateY(100%);border-radius:16px 16px 0 0;transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 -8px 30px rgba(0,0,0,.18)}
 .sheet.on{transform:translateY(calc(100% - 128px))}.sheet.on[data-snap=half]{transform:translateY(40%)}.sheet.on[data-snap=full]{transform:none}
 .handle{display:block;width:100%;background:none;border:0;padding:10px 0 2px;cursor:pointer}.handle span{display:block;width:44px;height:4px;border-radius:2px;background:var(--line);margin:0 auto}
 .sf .savechip{display:none}.sh{padding:6px 18px 12px}.sh h2{font-size:var(--t5)}.sh .sub{display:none}.sh .find{margin-top:8px}.sh .figs{margin-top:10px;gap:14px}
 .sheet:not([data-view=home]) .sh{padding:6px 18px 10px}
 .sb{padding:0 18px 90px}.rec .rph{margin:12px -18px 0;height:190px}.sf{padding:10px 18px}
 .hov{display:none !important}
 .cal{bottom:60px}.calbody{padding:16px 18px 40px}.caltools{grid-template-columns:1fr;gap:8px;padding:10px 18px}.calweek{padding:12px 18px 8px}.caltools .tf{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.caltools .tf button{white-space:nowrap}.caltools .rdbtn{width:100%}
 .cal li{grid-template-columns:52px 1fr;gap:2px 12px}.cal .cp{width:52px;height:52px;grid-row:1/4}.cal .cw{grid-column:2;font-size:var(--t3)}.cal .cw b{display:inline;margin-right:6px}.cal .cm{grid-column:2;white-space:normal;flex-wrap:wrap;gap:8px 12px;margin-top:2px}
 body[data-mode=cal] .sheet.on[data-snap]{transform:translateY(100%)}.panel{top:var(--bar);width:100%;bottom:60px}
 .lens{display:none !important}.legend{display:none !important}
 .picker{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:16px 16px 0 0}.pkm{grid-template-columns:1fr}
 .tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:60px;background:var(--paper);border-top:1px solid var(--line);z-index:31;padding-bottom:env(safe-area-inset-bottom)}
 .tabs button{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);cursor:pointer}.tabs button.on{color:var(--ink)}.tabs button i{width:22px;height:3px;background:transparent}.tabs button.on i{background:var(--taxi)}
 body:not(.in) .tabs{display:none}.sheet{bottom:60px;height:calc(78vh - 60px)}#map{bottom:0}
}

@media print{
 @page{margin:18mm}
 body{overflow:visible;background:#fff}
 .bar,#map,.lens,.legend,.foot,.tabs,.hov,.picker,.cal,.panel,.intro,.sh .find,.sh .figs,.when,.rsum,.clock,.sf,.saveacts,.back,.savemark,.tlink2{display:none !important}
 .sheet{position:static;width:auto;transform:none;box-shadow:none;height:auto;display:block}
 .sh{padding:0 0 12px;border-bottom:2px solid #111}.sh h2{font-size:28px}.sh .sub{display:block}
 .sb{padding:0;overflow:visible}.rows li{break-inside:avoid;padding:14px 0;grid-template-columns:72px 1fr}.rows .rp{width:72px;height:72px}.rows .rn{font-size:15px}.rows li.walk{padding-left:86px}
 .lh h2{font-size:24px}.who{font-size:12px}
 body:after{content:"New York Dearest · newyorkdearest.com · my places, printed for the trip";display:block;margin-top:24px;font:600 10px/1 "Maven Pro",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7a7672}
}

.subform textarea{width:100%;box-sizing:border-box;border:1px solid var(--ink);background:#fff;padding:10px 12px;font:400 var(--t1)/1.5 var(--body);color:var(--ink);margin:8px 0;resize:vertical;border-radius:0}.subform .hp{position:absolute;left:-9999px}.subform .find{margin:0}

.pre{position:relative;z-index:30;background:var(--paper);max-width:640px;margin:0 auto;padding:24px 20px 40px;font:400 var(--t2)/1.6 var(--body)}.pre h1{font:800 32px/1.05 var(--disp);letter-spacing:-.02em;margin:8px 0}.pre img{width:100%;height:auto;display:block;margin:12px 0}.pre dt{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:10px}.pre dd{margin:2px 0 0}

/* list mode: the map is a button, the sheet is the page, the column ads can live in */
body[data-mode=list] #map,body[data-mode=list] #legend,body[data-mode=list] .foot,body[data-mode=list] .maplibregl-ctrl,body[data-mode=list] .hov{display:none !important}
body[data-mode=list] .sheet{width:min(860px,100%);left:50%;transform:translateX(-50%);box-shadow:none;border-left:1px solid var(--line);border-right:1px solid var(--line)}
body[data-mode=list] .sheet.on{transform:translateX(-50%)}
body[data-mode=list] .lens{position:static;display:inline-flex;margin:0 0 14px}
body[data-mode=list] .sh h2{margin-top:0}
body[data-mode=list] .panel{left:50%;transform:translateX(120%);visibility:hidden;width:min(860px,100%);top:var(--bar);transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s .4s}
body[data-mode=list] .panel.on{transform:translateX(-50%);visibility:visible;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
body[data-mode=list] .ex li,body[data-mode=list] .rows li{padding:14px 0}
body[data-mode=list] .rows li.mvslot{display:block;height:0;padding:0;border:0;margin:0}
.mvslot{display:none}
@media (max-width:820px){ body[data-mode=list] .sheet{width:100%;left:0;transform:none;border:0} body[data-mode=list] .sheet.on{transform:none} body[data-mode=list] .panel{left:0;width:100%;transform:translateX(100%)} body[data-mode=list] .panel.on{transform:none} body[data-mode=list] .lens{display:none} }

/* no grey tile when a photograph is missing */
.rows .rp.none{visibility:hidden}

/* the room: one door and her lists, no search */
.intro .way{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:26px;max-width:760px}.intro .way .btn.taxi{padding:16px 22px;font-size:var(--t2)}.intro .starts{font:500 var(--t0)/1 var(--caps);letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-left:6px}
.intro .startlist{background:none;border:0;padding:8px 0 5px;cursor:pointer;color:#fff;font:600 var(--t0)/1 var(--caps);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--taxi-dark)}.intro .startlist:hover{color:var(--taxi-dark)}
@media (max-width:820px){.intro .way{gap:10px 12px;margin-top:20px}.intro .way .btn.taxi{width:100%;text-align:center;padding:15px}.intro .starts{width:100%;margin:6px 0 0}}

/* the sheet: neighborhoods folded, the planner line for first-timers */
.hoodsd{margin:18px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hoodsd summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font:600 var(--t3)/1.2 var(--disp);letter-spacing:-.01em}.hoodsd summary::-webkit-details-marker{display:none}.hoodsd summary:after{content:"+";font:600 20px/1 var(--disp);color:var(--mute)}.hoodsd[open] summary:after{content:"\2212"}.hoodsd summary span{font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;color:var(--mute);margin-right:auto;margin-left:10px}.hoodsd .filters{margin:0 0 14px}
.firsttime{margin:18px 0 0;font:400 var(--t2)/1.55 var(--body);color:var(--ink2)}.firsttime a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--taxi);text-decoration-thickness:2px}
.sh .find{align-items:stretch}.sh .find button{height:auto}
/* the site bar, from ny-theme/zaysteva/assets/site.css; regenerated at build time */
/* the bar: one tree on every page */
.bar{position:sticky;top:0;z-index:30;height:var(--bar);display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0 24px;background:var(--paper);border-bottom:1px solid var(--line)}
.bar .mark{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}.bar .mark img{width:150px;height:62px;object-fit:contain;object-position:left center}
.bar .menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;height:100%;gap:0;font:500 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase}
.bar .menu>li{position:relative;display:flex;align-items:center}.bar .menu>li>a{display:flex;align-items:center;height:100%;padding:0 11px;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.bar .menu>li:hover>a,.bar .menu>li:focus-within>a{border-bottom-color:var(--taxi)}
.bar .dd{position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ink);padding:14px 6px 12px;display:none;z-index:31;text-transform:none;letter-spacing:0;font:400 var(--t2)/1.4 var(--body);grid-auto-flow:column;gap:0 8px;width:max-content;max-width:min(92vw,900px)}.bar .dd a{white-space:nowrap}
.bar .menu>li:hover>.dd,.bar .menu>li:focus-within>.dd{display:grid}
.bar .dd .grp{padding:0 14px;min-width:170px}.bar .dd .grp>a:first-child,.bar .dd .grp>span{display:block;font:600 var(--t0)/1.4 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:4px 0 6px;text-decoration:none}.bar .dd .grp>a:first-child:hover{color:var(--ink)}
.bar .dd .sub{display:block;padding:6px 0;text-decoration:none;white-space:nowrap}.bar .dd .sub:hover{text-decoration:underline;text-decoration-color:var(--taxi);text-decoration-thickness:2px}
/* the search: her places, not her posts */
.bar .find{position:relative;flex:1 1 220px;max-width:300px;display:flex;align-items:center;margin:0 0 0 auto}.bar .find svg{position:absolute;left:12px;width:16px;height:16px;color:var(--mute);pointer-events:none}
.bar .find input{height:42px;padding:0 12px 0 36px;border:1px solid var(--line);background:var(--panel);font:400 var(--t2)/1 var(--body)}.bar .find input:focus{border-color:var(--ink);box-shadow:none;background:var(--paper)}
.found{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--ink);z-index:40;box-shadow:0 14px 30px rgba(0,0,0,.14)}.found.on{display:block}
.found a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:9px 14px;text-decoration:none;border-bottom:1px solid var(--line)}.found a:last-child{border-bottom:0}.found a:hover,.found a.on{background:var(--panel)}
.found b{grid-column:1;grid-row:1;font:700 var(--t2)/1.3 var(--body);display:block}.found a>span:not(.rg){grid-column:1;grid-row:2;font:500 var(--t0)/1.5 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);display:block}
.found .rg{grid-column:2;grid-row:1/3;justify-self:end;align-self:center;font:600 var(--t0)/1 var(--caps);letter-spacing:.08em;text-transform:uppercase;padding:5px 6px 4px}.rg.w{background:var(--taxi)}.rg.o{border:1px solid var(--ink)}.rg.s{background:var(--ink);color:#fff}
.found .none{padding:12px 14px;font:400 var(--t1)/1.5 var(--body);color:var(--mute)}.found .none a{display:inline;padding:0;border:0;color:var(--ink);text-decoration:underline;text-decoration-color:var(--taxi)}
.bar .acts{display:flex;align-items:center;gap:14px;flex:0 0 auto}.bar .lt{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:8px 4px;cursor:pointer;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--taxi)}.bar .ig{display:flex;color:var(--ink)}.bar .g{background:var(--taxi);padding:12px 16px;text-decoration:none;font:600 var(--t1)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer;flex-direction:column;gap:5px}.burger span{display:block;width:22px;height:2px;background:var(--ink)}
.mmenu{display:none}

@media (max-width:1080px){.bar .find{display:none}.bar .menu>li:nth-child(n+5)>a{display:none}}
@media (max-width:820px){
 :root{--bar:60px;--gut:20px}
 .bar .lt{display:none}
 body{padding-top:var(--bar)}.bar{position:fixed;top:0;left:0;right:0;padding:0 8px 0 14px;gap:10px}
 body.locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}
 .bar .menu{display:none}.bar .acts{gap:6px}.bar .ig{display:none}.bar .g{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:var(--t0)}.bar .mark img{width:104px;height:44px}.burger{display:flex;min-width:44px;min-height:44px;padding:8px 11px;justify-content:center}
 body.menuon .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menuon .burger span:nth-child(2){opacity:0}body.menuon .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 body.menuon .mmenu{display:block;position:fixed;inset:var(--bar) 0 0 0;z-index:29;background:var(--paper);overflow:auto}.mm-in{padding:14px var(--gut) 40px}
 .mm-in .find{max-width:none;margin:0 0 6px}.mm-in .find input{height:48px;font-size:var(--t3)}.mm-in .find{display:flex;flex-wrap:wrap}.mm-in .find input{flex:1 1 100%}.mm-in .find svg{top:16px}.mm-in .found{position:static;box-shadow:none;margin-top:8px;flex:1 1 100%}.mm-acts{display:flex;gap:18px;align-items:center;margin-top:18px;flex-wrap:wrap}.mm-acts .lt{display:inline-flex;min-height:44px}.mm-in .ig{margin-top:0}
 .mg{padding:14px 0;border-bottom:1px solid var(--line)}.mg a{display:block;text-decoration:none}.mg .mt{font:600 var(--t5)/1.2 var(--disp);letter-spacing:-.01em;padding:4px 0}.mg .m1{display:block;font:600 var(--t0)/1.4 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:12px 0 4px}.mg .m2{font:400 var(--t3)/1.5 var(--body);padding:6px 0 6px 16px;min-height:36px}
 body.menuon .tabs{display:none}.mm-in .ig{display:flex;align-items:center;gap:8px;margin-top:18px;font:600 var(--t0)/1 var(--caps);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;min-height:44px}
 .band{padding:44px 0}.bh{flex-direction:column;align-items:flex-start;gap:8px}.bh h2{font-size:var(--t6)}.bh span{white-space:normal}
 .letter{grid-template-columns:1fr;gap:16px}.letter .lf{grid-template-columns:1fr}.letter .lf .btn{min-height:48px}.letter .fine{grid-column:1}
 .foot .fcols{grid-template-columns:1fr 1fr;gap:28px}.foot .fcols>div:first-child{grid-column:1/3}.fine-print{flex-direction:column;gap:6px}
 .rv .rvb{width:100%}.rv .rvb button{flex:1;min-height:44px;padding:9px 4px}.rv .rvl input{max-width:none}.rv .rvl .tl{min-height:44px}
}
@media (max-width:360px){.bar{padding:0 4px 0 10px}.bar .mark img{width:92px;height:40px}.bar .g{padding:0 9px}.burger{min-width:40px;padding:8px 9px}}


.bar{position:fixed;left:0;right:0}.bar .acts{margin:0;padding:0;border:0;flex-wrap:nowrap}
.bar .find{display:none}.mm-in .find{display:none}
