@font-face{font-family:Inter;font-style:normal;font-weight:300 600;font-display:optional;src:url(/fonts/Inter-VariableFont_opsz,wght.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 600;font-display:optional;src:url(/fonts/SourceSerif4-VariableFont_opsz,wght.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:300 600;font-display:optional;src:url(/fonts/SourceSerif4-Italic-VariableFont_opsz,wght.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2")}:root{--font-body: "Inter", system-ui, sans-serif;--font-display: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 2rem;--ease-out: cubic-bezier(.23, 1, .32, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}::selection{background:#1a1a1a;color:#f5f3f0}body{font-family:var(--font-body);background:#f5f3f0;color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.top-nav{display:flex;justify-content:flex-end;gap:20px;margin-bottom:48px}.top-nav a{font-size:var(--text-base);color:#1a1a1a;letter-spacing:.01em;transition:color .2s}.top-nav a:hover{color:#666}.places-page{max-width:1100px;margin:0 auto;padding:80px 24px}.places-header{margin-bottom:28px;max-width:640px}.places-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;color:#1a1a1a;margin-bottom:10px;line-height:1.05}.places-subtitle{font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:#555;line-height:1.6}.city-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #d4d0cb;margin-bottom:28px}.city-tab{display:inline-flex;align-items:baseline;gap:7px;padding:8px 16px 10px;font-size:var(--text-base);font-family:inherit;color:#888;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .16s var(--ease-out),border-color .16s var(--ease-out)}@media(hover:hover)and (pointer:fine){.city-tab:hover{color:#1a1a1a}}.city-tab--active{color:#1a1a1a;font-weight:500;border-bottom-color:#1a1a1a}.city-tab-count{font-family:var(--font-mono);font-size:var(--text-xs);color:#a8a49f;letter-spacing:.02em}.city-tab--active .city-tab-count{color:#1a1a1a}.places-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start;margin-bottom:80px}.places-map-wrap{position:sticky;top:24px}.city-map{width:100%;height:560px;border:1px solid #d4d0cb;border-radius:8px;overflow:hidden;background:#e8e5e0}.city-map--placeholder{display:flex;align-items:center;justify-content:center;color:#888;font-size:var(--text-sm);text-align:center;padding:24px}.city-map--placeholder code{font-family:var(--font-mono);background:#f5f3f0;padding:2px 6px;border-radius:4px;margin:0 4px}.places-list{min-width:0}.places-items{list-style:none;border-top:1px solid #d4d0cb}.place{position:relative;display:flex;flex-direction:column;align-items:stretch;border-bottom:1px solid #d4d0cb;transition:background .2s var(--ease-out);opacity:0;transform:translateY(4px);animation:place-enter .28s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes place-enter{to{opacity:1;transform:translateY(0)}}@media(hover:hover)and (pointer:fine){.place:hover{background:#1a1a1a06}}.place--active{background:#e8e5e0}.place--active:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:#1a1a1a}.place-btn{min-width:0;text-align:left;background:none;border:none;padding:16px 14px 6px 18px;cursor:pointer;font-family:inherit;color:inherit;display:block;transition:transform .12s var(--ease-out)}.place-btn:active{transform:scale(.99)}.place-address{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:0 18px 14px;font-size:var(--text-xs);color:#888;line-height:1.4;transition:color .16s var(--ease-out)}.place-address-arrow{flex-shrink:0;width:14px;height:14px;margin-top:-1px;transition:transform .16s var(--ease-out)}@media(hover:hover)and (pointer:fine){.place-address:hover{color:#1a1a1a}.place-address:hover .place-address-arrow{transform:translate(1px,-1px)}}.place-address:active .place-address-arrow{transform:translate(0)}.place--active .place-address{color:#666}.place--active .place-address:hover{color:#1a1a1a}.place-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:#1a1a1a;display:block;margin-bottom:3px;line-height:1.35}.place-note{font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:#555;line-height:1.55;display:block}.place-external{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0 18px 14px;color:#a8a49f;transition:color .16s var(--ease-out),transform .12s var(--ease-out);font-size:14px;line-height:1;box-sizing:content-box}@media(hover:hover)and (pointer:fine){.place-external:hover{color:#1a1a1a}}.place-external:active{transform:scale(.97)}.place--active .place-external{color:#1a1a1a}.places-empty{font-family:var(--font-display);font-style:italic;font-size:var(--text-base);color:#888;padding:20px 0;border-top:1px solid #d4d0cb}.places-page footer{padding-top:32px;border-top:1px solid #d4d0cb}.places-page footer p{font-size:var(--text-base);color:#888}.places-page .footer-links{display:flex;align-items:center;gap:20px;margin-top:12px}.places-page .footer-links a{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#666;transition:color .2s}.places-page .footer-links a:hover{color:#1a1a1a}.places-page .footer-links svg{display:block;width:18px;height:18px}@media(prefers-reduced-motion:reduce){.place{animation:none;opacity:1;transform:none}.place-btn,.place-external,.city-tab{transition-duration:0ms}.place-btn:active,.place-external:active{transform:none}}@media(max-width:880px){.places-layout{grid-template-columns:1fr;gap:24px}.places-map-wrap{position:static}.city-map{height:420px}}@media(max-width:640px){.places-page{padding:48px 20px}.city-map{height:340px}.place-btn{padding:14px 12px 14px 16px}}
