:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ink-950:#131925;--ink-800:#293142;--ink-650:#525c6f;--ink-500:#707a8f;--ink-300:#afbaca;--ink-200:#d1dae5;--ink-100:#eaeff5;--ink-50:#f8fafc;--teal-700:#0f806f;--teal-600:#129b87;--teal-100:#dbfaf5;--shadow-sm:0 1px 2px #13192514;--shadow-md:0 16px 40px #13192524;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-1:6px;--radius-2:8px}[data-theme=dark]{--ink-950:#f1f5f9;--ink-800:#ced3de;--ink-650:#98a1b3;--ink-500:#707a8f;--ink-300:#404859;--ink-200:#292f3d;--ink-100:#1b202c;--ink-50:#11141d;--teal-700:#1fad98;--teal-600:#23c7af;--teal-100:#0e3932;--shadow-sm:0 1px 2px #0006;--shadow-md:0 16px 40px #0009}[data-theme=dark] .site-header{background:#11141df0}[data-theme=dark] .panel,[data-theme=dark] .landmark-row{background:var(--ink-100)}[data-theme=dark] .combobox-dropdown{background:var(--ink-100);border-color:var(--ink-200)}[data-theme=dark] .combobox-input,[data-theme=dark] input[type=search],[data-theme=dark] select{background:var(--ink-50);color:var(--ink-950)}[data-theme=dark] mark{color:#fff9c2;background:#655c0b}[data-theme=dark] .empty-state{background:var(--ink-50)}[data-theme=dark] .map-legend{border-color:var(--ink-200);color:var(--ink-800);background:#171c26eb}[data-theme=dark] .tile-toggle-btn{border-color:var(--ink-300);color:var(--ink-800);background:#171c26eb}[data-theme=dark] .tile-toggle-btn:hover{background:var(--ink-100);color:var(--ink-950)}[data-theme=dark] .maplibregl-ctrl-attrib{color:var(--ink-650);background:#171c26d9}[data-theme=dark] .maplibregl-ctrl-attrib a{color:var(--teal-600)}[data-theme=dark] .near-me-btn{background:var(--ink-100);border-color:var(--ink-200);color:var(--ink-800)}[data-theme=dark] .near-me-btn:hover{background:var(--ink-200);color:var(--ink-950)}[data-theme=dark] .near-me-btn.is-active{color:#acc4f6;background:#142852;border-color:#274c9b}[data-theme=dark] .btn-secondary{background:var(--ink-100);border-color:var(--ink-300);color:var(--ink-800)}[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .skeleton-block{background:var(--ink-200)}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--ink-50);color:var(--ink-950);font-family:var(--font-sans);margin:0}a{color:inherit}button,input,select{font:inherit}.site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-200);align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-5);z-index:500;background:#fffffff0;justify-content:space-between;display:flex;position:sticky;top:0}.brand{color:var(--ink-950);letter-spacing:-.01em;font-size:17px;font-weight:800;text-decoration:none}.site-nav{align-items:center;gap:var(--space-1);display:flex}.site-nav a{border-radius:var(--radius-1);color:var(--ink-650);padding:var(--space-2) var(--space-3);font-size:14px;font-weight:600;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{background:var(--ink-100);color:var(--ink-950);outline:none}.theme-toggle{border:1px solid var(--ink-200);border-radius:var(--radius-1);color:var(--ink-650);cursor:pointer;margin-left:var(--space-1);padding:var(--space-1) var(--space-2);background:0 0;align-items:center;display:flex}.theme-toggle:hover{background:var(--ink-100);color:var(--ink-950)}.app-shell{height:calc(100vh - 56px);min-height:600px}.explorer{grid-template-columns:minmax(340px,400px) minmax(0,1fr);height:100%;display:grid}.panel{border-right:1px solid var(--ink-200);background:#fff;flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-browse{flex-direction:column;flex:1;min-height:0;display:flex}.panel-detail{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.panel-heading{border-bottom:1px solid var(--ink-200);gap:var(--space-2);padding:var(--space-5);display:grid}.eyebrow{color:var(--teal-700);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700;line-height:1.2}h1,h2,p{margin:0}.panel-heading h1{letter-spacing:-.01em;font-size:26px;line-height:1.1}.panel-heading p:not(.eyebrow){color:var(--ink-650);font-size:14px;line-height:1.55}.controls{border-bottom:1px solid var(--ink-200);gap:var(--space-3);padding:var(--space-4) var(--space-5);display:grid}.controls label:not(.checkbox-control),.filter-group{color:var(--ink-650);gap:var(--space-2);font-size:12px;font-weight:600;display:grid}.filter-group{border:0;border-top:1px solid var(--ink-200);padding:var(--space-3) 0 0;margin:0}.filter-group legend{color:var(--ink-500);letter-spacing:.07em;margin-bottom:var(--space-2);text-transform:uppercase;padding:0;font-size:10px;font-weight:700}.checkbox-control{color:var(--ink-800);align-items:center;gap:var(--space-2);font-size:13px;font-weight:400;display:flex}.checkbox-control input{accent-color:var(--teal-700);flex:none;width:16px;height:16px;min-height:16px;padding:0}select,input{border:1px solid var(--ink-200);border-radius:var(--radius-2);color:var(--ink-950);min-height:38px;padding:0 var(--space-3);background:#fff;width:100%}select:focus,input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-100);outline:none}.search-control{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;position:relative}.search-control svg{color:var(--ink-500);left:var(--space-3);pointer-events:none;position:absolute}.search-control input{padding-left:36px}.combobox{position:relative}.combobox-input{cursor:pointer;padding-right:var(--space-7)}.combobox-chevron{color:var(--ink-500);pointer-events:none;right:var(--space-3);position:absolute;top:50%;transform:translateY(-50%)}.combobox-dropdown{border:1px solid var(--ink-200);border-radius:var(--radius-2);box-shadow:var(--shadow-md);z-index:200;background:#fff;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-option{color:var(--ink-950);cursor:pointer;padding:var(--space-2) var(--space-3);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;font-size:13px;display:flex}.combobox-option:hover,.combobox-option:focus-visible{background:var(--teal-100);outline:none}.combobox-option[data-selected=true]{color:var(--teal-700);font-weight:600}.combobox-count{color:var(--ink-500);margin-left:var(--space-2);flex:none;font-size:12px}.result-summary{border-bottom:1px solid var(--ink-200);color:var(--ink-650);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);justify-content:space-between;font-size:12px;font-weight:600;display:flex}.result-summary-right{align-items:center;gap:var(--space-2);display:flex}.sort-select{border:1px solid var(--ink-200);border-radius:var(--radius-1);color:var(--ink-650);min-height:28px;padding:0 var(--space-2);background:0 0;width:auto;font-size:12px;font-weight:600}.clear-btn{border:1px solid var(--ink-200);border-radius:var(--radius-1);color:var(--ink-650);cursor:pointer;min-height:28px;padding:0 var(--space-2);white-space:nowrap;background:0 0;font-size:12px;font-weight:600;line-height:1}.clear-btn:hover{background:var(--ink-100);color:var(--ink-950)}.landmark-list{flex:1;gap:1px;min-height:0;display:grid;overflow-y:auto}.landmark-row{color:var(--ink-950);cursor:pointer;align-items:center;gap:var(--space-1);min-height:68px;padding:var(--space-3) var(--space-4);text-align:left;background:#fff;border:0;grid-template-columns:52px minmax(0,1fr);transition:box-shadow .1s,background .1s;display:grid;box-shadow:inset 3px 0 #0000}.landmark-row:hover{background:var(--ink-50)}.landmark-row:focus-visible{background:var(--ink-50);box-shadow:inset 3px 0 0 var(--ink-300);outline:none}.landmark-row[aria-pressed=true]{background:var(--teal-100);box-shadow:inset 3px 0 0 var(--teal-700)}.landmark-row span:not(.landmark-thumb){gap:2px;min-width:0;display:grid}.landmark-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.landmark-row small{color:var(--ink-650);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.landmark-thumb{background:var(--ink-100);border-radius:var(--radius-2);width:44px;height:44px;display:block;overflow:hidden}.landmark-thumb img{object-fit:cover;width:100%;height:100%;display:block}.landmark-thumb.placeholder{color:var(--ink-500);justify-content:center;align-items:center;display:flex}mark{color:inherit;background:#ffffad;border-radius:2px;padding:0 1px}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}.skeleton-block{background:linear-gradient(90deg, var(--ink-100) 25%, #dde4ee 50%, var(--ink-100) 75%) 200% center / 400% 100%;border-radius:var(--radius-1);animation:1.6s linear infinite shimmer;display:block}.skeleton-row{align-items:center;gap:var(--space-3);min-height:68px;padding:var(--space-3) var(--space-4);grid-template-columns:44px 1fr;display:grid}.skeleton-thumb{border-radius:var(--radius-2);width:44px;height:44px}.skeleton-lines{gap:var(--space-2);display:grid}.skeleton-line{border-radius:4px;height:12px}.skeleton-line.wide{width:80%}.skeleton-line.narrow{width:55%}.map-stage{height:100%;min-height:0;position:relative}.landmark-map,.map-loading{width:100%;height:100%;min-height:0}.map-loading,.empty-state{color:var(--ink-650);align-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;justify-items:center;display:grid}.map-loading svg,.empty-state svg{color:var(--teal-700)}.empty-state{background:#fff;min-height:calc(100vh - 56px)}.empty-state h1{color:var(--ink-950);font-size:28px;line-height:1.15}.empty-state p{max-width:540px;line-height:1.55}.empty-state a{color:var(--teal-700);font-weight:700}.retry-btn{color:var(--teal-700);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.map-legend{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ink-200);border-radius:var(--radius-2);bottom:var(--space-4);box-shadow:var(--shadow-sm);gap:var(--space-2);left:var(--space-4);padding:var(--space-3) var(--space-4);pointer-events:none;z-index:400;background:#ffffffeb;display:grid;position:absolute}.legend-item{color:var(--ink-800);align-items:center;gap:var(--space-2);white-space:nowrap;font-size:11px;font-weight:600;display:flex}.lm-dot{background:#e42b25;border:1.5px solid #9a1813;border-radius:50%;width:100%;height:100%}.lm-dot--selected{background:#16c0a6;border:2.5px solid #0f806f}.maplibregl-map{font:inherit}.maplibregl-ctrl-attrib-inner a{color:var(--teal-700)}.detail-back-bar{background:var(--ink-50);border-bottom:1px solid var(--ink-200);padding:var(--space-3) var(--space-4);z-index:10;flex:none;align-items:center;display:flex;position:sticky;top:0}.back-btn{border-radius:var(--radius-1);color:var(--teal-700);cursor:pointer;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:0 0;border:none;font-size:13px;font-weight:700;display:flex}.back-btn:hover{background:var(--teal-100)}.back-btn:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.detail-media{flex:none;height:220px;overflow:hidden}.detail-media img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{background:var(--ink-100);color:var(--ink-650);align-items:center;gap:var(--space-2);height:100%;padding:var(--space-4);text-align:center;justify-items:center;font-size:12px;font-weight:600;display:grid}.detail-copy{gap:var(--space-4);padding:var(--space-5);display:grid}.detail-copy h2{letter-spacing:-.01em;font-size:20px;line-height:1.15}.address{color:var(--ink-650);align-items:start;gap:var(--space-2);font-size:13px;line-height:1.4;display:flex}.address svg{color:var(--teal-700);flex:none;margin-top:1px}.landmark-meta{color:var(--ink-650);font-size:13px;line-height:1.5}.landmark-description{color:var(--ink-800);font-size:14px;line-height:1.6}.landmark-description.unavailable{color:var(--ink-650);font-style:italic}.detail-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-primary{background:var(--teal-700);border-radius:var(--radius-2);color:#f6fefd;cursor:pointer;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);white-space:nowrap;border:none;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary:hover,.btn-primary:focus-visible{background:var(--teal-600);outline:none}.btn-secondary{background:var(--ink-100);border-radius:var(--radius-2);color:var(--ink-800);cursor:pointer;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);white-space:nowrap;border:none;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--ink-200);outline:none}.no-results{color:var(--ink-650);gap:var(--space-3);padding:var(--space-6) var(--space-5);text-align:center;font-size:14px;display:grid}.content-page{gap:var(--space-7);max-width:720px;padding:var(--space-7) var(--space-5);margin:0 auto;display:grid}.content-section{gap:var(--space-4);display:grid}.content-section h1{letter-spacing:-.02em;font-size:34px;line-height:1.1}.content-section h2{letter-spacing:-.01em;font-size:22px;line-height:1.2}.content-section p,.source-list{color:var(--ink-650);font-size:16px;line-height:1.7}.source-list{gap:var(--space-3);margin:0;padding-left:20px;display:grid}.source-list a{color:var(--teal-700);font-weight:700}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.carousel{cursor:zoom-in;position:relative}.carousel-img-btn{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative}.carousel-img-btn img{object-fit:cover;width:100%;height:100%;display:block}.carousel-expand-hint{border-radius:var(--radius-1);bottom:var(--space-2);color:#fff;opacity:0;padding:3px var(--space-2);right:var(--space-2);background:#00000085;align-items:center;gap:3px;font-size:11px;font-weight:600;transition:opacity .15s;display:flex;position:absolute}.carousel:hover .carousel-expand-hint{opacity:1}.carousel-arrow{color:#fff;cursor:pointer;z-index:1;background:#0000007a;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background:#000000b8}.carousel-prev{left:var(--space-2)}.carousel-next{right:var(--space-2)}.carousel-counter{bottom:var(--space-2);color:#fff;left:var(--space-2);padding:2px var(--space-2);pointer-events:none;background:#00000085;border-radius:100px;font-size:11px;font-weight:600;position:absolute}.carousel-caption{color:#fff;padding:var(--space-2) var(--space-3);background:#00000094;margin:0;font-size:12px;line-height:1.4;position:absolute;bottom:0;left:0;right:0}.lightbox{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-backdrop{background:#090c11eb;position:absolute;inset:0}.lightbox-content{align-items:center;gap:var(--space-3);z-index:1;flex-direction:column;max-width:90vw;max-height:95vh;display:flex;position:relative}.lightbox-img{border-radius:var(--radius-2);object-fit:contain;width:auto;max-width:90vw;max-height:80vh;display:block}.lightbox-caption{color:#e0e0e0;text-align:center;margin:0;font-size:13px;line-height:1.5}.lightbox-close{color:#fff;cursor:pointer;height:38px;right:var(--space-4);top:var(--space-4);z-index:2;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;display:flex;position:fixed}.lightbox-close:hover{background:#ffffff3d}.lightbox-prev,.lightbox-next{color:#fff;cursor:pointer;z-index:2;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-prev{left:var(--space-4)}.lightbox-next{right:var(--space-4)}.lightbox-prev:hover,.lightbox-next:hover{background:#ffffff3d}.lightbox-counter{bottom:var(--space-4);color:#ccc;font-size:13px;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.decade-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.chip{background:var(--ink-100);border:1px solid var(--ink-200);color:var(--ink-650);cursor:pointer;padding:3px var(--space-2);border-radius:100px;font-size:11px;font-weight:600;line-height:1}.chip:hover{background:var(--ink-200);color:var(--ink-950)}.chip[aria-pressed=true]{background:var(--teal-700);border-color:var(--teal-700);color:#f6fefd}.tile-toggle-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ink-200);border-radius:var(--radius-2);box-shadow:var(--shadow-sm);color:var(--ink-800);cursor:pointer;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);right:var(--space-4);top:var(--space-3);z-index:400;background:#ffffffeb;font-size:12px;font-weight:600;display:flex;position:absolute}.tile-toggle-btn:hover{color:var(--ink-950);background:#fff}.near-me-btn{border:1px solid var(--ink-200);border-radius:var(--radius-1);color:var(--ink-650);cursor:pointer;min-height:28px;padding:0 var(--space-2);white-space:nowrap;background:0 0;align-items:center;gap:3px;font-size:12px;font-weight:600;display:flex}.near-me-btn:hover{background:var(--ink-100);color:var(--ink-950)}.near-me-btn.is-active{color:#154cc1;background:#edf2fd;border-color:#6c95ef}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.lm-you{width:100%;height:100%;position:relative}.lm-you-pulse{background:#306be859;border-radius:50%;width:100%;height:100%;animation:2s ease-out infinite pulse-ring;position:absolute}.lm-you-dot{background:#2361e7;border:2.5px solid #fff;border-radius:50%;width:55%;height:55%;position:absolute;top:22.5%;left:22.5%}@media (max-width:980px){.app-shell{height:auto;min-height:calc(100vh - 56px)}.explorer{flex-direction:column;display:flex}.map-stage{order:0;height:58vh;min-height:300px}.panel{border-right:0;border-top:1px solid var(--ink-200);order:1;height:52vh;min-height:300px;max-height:52vh;overflow-y:auto}.panel-browse{min-height:unset;flex:none;overflow:visible}.landmark-list{min-height:unset;flex:none;overflow-y:visible}.detail-media{height:180px}}@media (max-width:640px){.site-header{align-items:stretch;gap:var(--space-2);height:auto;padding:var(--space-3) var(--space-4);flex-direction:column}.site-nav{overflow-x:auto}.panel-heading,.controls{padding:var(--space-4)}.panel-heading h1{font-size:22px}.content-section h1{font-size:28px}.map-legend{bottom:var(--space-3);left:var(--space-3)}}
