@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#173d37;--muted:#67746d;--paper:#f6f3eb;--line:#dddcd2;--orange:#d15a35}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans','Noto Sans SC',sans-serif}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}header{height:76px;display:flex;align-items:center;gap:35px;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:1100}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:29px;font-weight:700}.brand span{font-size:16px}nav{display:flex;gap:28px;margin-left:auto}nav a{text-decoration:none;font-size:13px}.edition{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:5px 12px}main{max-width:1360px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:64px 0 48px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--orange);margin:0 0 16px}h1{font-size:clamp(34px,4.5vw,62px);letter-spacing:-2px;line-height:1.25;margin:0 0 24px;font-weight:600}.intro{color:var(--muted);margin-bottom:30px}.primary{background:var(--ink);color:#fff;text-decoration:none;padding:13px 20px;display:inline-block;border-radius:5px}.hero-art{background:#e3e7d8;min-height:300px;padding:24px 30px;position:relative;overflow:hidden;border-radius:100px 100px 8px 8px}.hero-art>span{font-size:clamp(35px,5vw,70px);letter-spacing:6px;font-weight:600;opacity:.8}.hero-art p,.hero-art small{position:relative;z-index:2}.hero-art small{font-size:10px;letter-spacing:2px}.arch{display:flex;gap:12px;position:absolute;bottom:-35px;right:10px;transform:rotate(-10deg)}.arch i{display:block;width:80px;height:210px;border:20px solid #c1ccb8;border-bottom:0;border-radius:80px 80px 0 0}.trip-strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:12px}.trip-strip b{display:block;font-size:13px;letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.section-heading h2{font-size:29px;font-weight:600;margin:0;line-height:1.4}.section-heading p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0}section:not(.hero){padding-top:65px}.section-heading .eyebrow{margin-bottom:8px}.map-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills button,.quiet{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 14px;border-radius:24px;font-size:12px}.pills button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}#map{height:510px;border-radius:10px;background:#e4e7df;z-index:1}.map-note{font-size:11px;color:var(--muted);margin:8px 0}.map-pin{width:30px;height:30px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 2px 8px #173d3740;font-size:12px;font-weight:700}.map-pin.food{background:var(--orange)}.map-pin.transit{background:#4d7392}.map-pin.market{background:#8b7147}#detail{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;align-self:start}#detail h3{font-size:23px;line-height:1.3;margin:12px 0}#detail p{font-size:13px}.label{font-size:10px;color:var(--orange);letter-spacing:1.3px;font-weight:700}.address{color:var(--muted)}.detail-menu{padding:0;list-style:none}.detail-menu li{padding:9px 0;border-bottom:1px solid #eee;font-size:13px}.detail-menu small{display:block;color:var(--muted);font-size:11px}.route-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.route-controls label{font-size:12px;display:block;margin:8px 0 4px}select{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.actions button{border:1px solid var(--line);background:#f5f6f1;color:var(--ink);padding:10px 4px;border-radius:5px;font-size:12px}.actions button:first-child{background:var(--ink);color:#fff}.mini-link{font-size:12px}.place-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.place-list button{background:transparent;border:0;border-bottom:1px solid var(--line);padding:7px 8px;font-size:12px;color:var(--ink);text-align:left}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.route-card{border:1px solid var(--line);border-radius:8px;padding:24px}.route-card h3{margin:8px 0 14px;font-size:19px}.route-card p{font-size:13px}.route-card .stops{border-left:2px solid var(--orange);padding-left:16px}.route-card .stops span{display:block;padding:6px 0}.route-card a{font-size:12px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.food-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.food-top{height:120px;background:#e7e5d8;display:flex;align-items:center;justify-content:space-between;padding:20px}.food-top>span{font-size:44px}.food-top>div{font-size:10px;letter-spacing:2px;text-align:right}.food-body{padding:24px}.food-body h3{font-size:22px;margin:0 0 8px}.food-body p{font-size:12px;color:var(--muted)}.food-body ul{list-style:none;padding:0;font-size:13px}.food-body li{padding:9px 0;border-bottom:1px solid #eee}.food-body li small{display:block;color:var(--muted);font-size:11px}.food-body button{padding:10px 14px;border:0;border-radius:5px;background:var(--ink);color:#fff}.food-body a{font-size:12px;margin-left:8px}.days{border-top:1px solid var(--line)}.day{display:grid;grid-template-columns:110px 1fr 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.day time{font-size:20px}.day time small{display:block;font-size:11px;color:var(--muted)}.day h3{font-size:16px;margin:0 0 6px}.day p{font-size:13px;color:var(--muted);margin:0}.day button{background:none;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:4px;color:var(--orange);font-size:12px}.essential-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.essential-grid article{padding:24px;background:#e9ece2;border-radius:8px}.essential-grid h3{font-size:18px}.essential-grid p,.essential-grid a{font-size:13px}.phrase{font-style:italic}footer{padding:50px 0 32px;margin-top:50px;border-top:1px solid var(--line)}footer p,footer summary,footer a{font-size:12px;color:var(--muted)}footer details{margin:18px 0}#sources{display:flex;gap:12px;flex-wrap:wrap;padding:16px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;z-index:2000;border-radius:6px;display:none;font-size:13px;max-width:90%}.leaflet-control-attribution{font-size:9px!important}@media(max-width:950px){.edition{display:none}.map-layout{grid-template-columns:1fr 300px}.food-grid{gap:12px}.food-body{padding:18px}}@media(max-width:720px){header{padding:0 5%;height:64px}.brand span{font-size:13px}nav{gap:12px}nav a{font-size:11px}nav a:last-child{display:none}.hero{grid-template-columns:1fr;padding-top:36px;gap:26px}.hero-art{min-height:170px;border-radius:65px 65px 6px 6px}.hero-art>span{font-size:40px}.hero-art p{margin:6px 0}.trip-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-heading{display:block}.section-heading h2{font-size:25px}.section-heading>p{margin-top:10px!important}.map-layout{grid-template-columns:1fr}#map{height:360px}#detail{padding:20px}.map-tools{align-items:start}.quiet{white-space:nowrap}.route-grid,.food-grid,.essential-grid{grid-template-columns:1fr}.food-top{height:85px}.day{grid-template-columns:75px 1fr;gap:14px}.day>div:last-child{grid-column:2}.day time{font-size:17px}section:not(.hero){padding-top:42px}}@media print{header,nav,.map-tools,.route-controls,.place-list,button{display:none!important}#map{height:400px}.hero{padding:20px 0}.map-layout{display:block}#detail{margin-top:12px}.food-grid{grid-template-columns:repeat(3,1fr)}.route-grid{grid-template-columns:1fr 1fr}section{break-inside:avoid}body{font-size:11px}}

.map-pin.smoking{width:34px;height:34px;font-size:18px}.map-pin.smoking.confirmed{background:#286646;border:3px solid #fff}.map-pin.smoking.pending{background:#fff4df;color:#8b4a13;border:3px dashed #b26420;box-shadow:0 1px 7px #173d3740}.smoke-options{margin:0 0 18px;padding:18px;background:#eeede3;border-radius:8px}.smoke-options[hidden]{display:none}.smoke-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;font-weight:600}.smoke-legend .confirmed{color:#286646}.smoke-legend .pending{color:#8b4a13}.smoke-options label{display:block;font-size:12px}.smoke-options select{max-width:420px;margin-top:5px}.smoke-options p{font-size:12px;margin-bottom:0}.smoke-info{padding:14px;border-radius:7px;margin-top:14px}.smoke-info.confirmed{background:#eaf2e9;border-left:4px solid #286646}.smoke-info.pending{background:#fff4df;border-left:4px dashed #b26420}.smoke-info a{font-size:12px}.smoking-related{display:inline-block;font:inherit;font-size:12px;background:#fff4df;color:#814415;border:1px dashed #b26420;padding:10px 12px;border-radius:5px;margin-top:14px;cursor:pointer}#detail{scroll-margin-top:85px}.text-small{font-size:12px}
