:root{--paper:#f7f5ef;--ink:#242720;--muted:#6b6d62;--line:#d5d6ca;--wash:#eceee1;--accent:#45533c;--white:#fffefa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1900px;margin:auto;padding:26px 34px 0}button,input,select,summary{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:0}button:hover{background:var(--wash)}button:disabled{cursor:default}a{color:inherit;text-underline-offset:3px}input,select{background:transparent;border:1px solid #bfc2b3;padding:9px 10px;min-height:42px;border-radius:0;max-width:100%}input{min-width:0}input:focus,select:focus,button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;background:var(--white);z-index:10;padding:12px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 0 25px;border-bottom:1px solid var(--ink)}.wordmark{font:45px/1 Georgia,"Times New Roman",serif;letter-spacing:-2px}.wordmark i{font-weight:normal}.edition{text-align:right;display:grid;gap:3px;font-size:11px;letter-spacing:.12em}.edition small{letter-spacing:0;color:var(--muted);font-size:11px}.main-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);margin-bottom:22px}.mode-tabs{display:flex;gap:24px}.mode-tabs button{font-size:17px;padding:18px 0 14px;border:0;border-bottom:3px solid transparent}.mode-tabs button[aria-selected=true]{border-bottom-color:var(--ink);font-weight:600}.nav-actions{display:flex;gap:8px}.nav-actions button{border:0;padding:10px 8px}.nav-actions span{margin-left:8px}.controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}label{display:grid;gap:5px;font-size:10px;letter-spacing:.07em;text-transform:uppercase}label input,label select{font-size:13px;letter-spacing:0;text-transform:none}.search-field{width:250px}.controls>label:not(.search-field){width:142px}.filter-menu{position:relative;min-width:160px}.filter-menu>summary{display:flex;gap:9px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;border:1px solid #bfc2b3;padding:10px 12px;height:42px;font-size:13px}.filter-menu summary::-webkit-details-marker{display:none}.selection{font-variant-numeric:tabular-nums;color:var(--muted)}.filter-options{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:270px;max-width:80vw;max-height:340px;overflow:auto;border:1px solid var(--line);padding:14px;background:var(--paper);box-shadow:0 8px 25px #24272012}.filter-options label{display:flex;align-items:center;text-transform:none;letter-spacing:0;font-size:13px;padding:7px 0;cursor:pointer}.filter-options input{min-height:0;width:16px;height:16px;accent-color:var(--accent);margin:0 10px 0 0;flex-shrink:0}.reset-actions{display:flex;gap:8px;margin-left:auto}.reset-actions button{padding:10px 12px;white-space:nowrap;font-size:12px;min-height:42px}.browse-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0 13px}.presets{display:flex;gap:7px;flex-wrap:wrap}.presets button{font-size:12px;border:1px solid transparent;padding:7px 12px}.presets button[aria-pressed=true]{border-color:var(--line);background:var(--wash)}.view-tabs{display:flex;gap:4px}.view-tabs button{border:0;font-size:12px;padding:7px 11px}.view-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chips:not(:empty){margin-bottom:12px}.filter-chips button{font-size:11px;padding:4px 8px;background:var(--wash)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(365px,37%);border:1px solid #c2c5b7;height:calc(100vh - 310px);min-height:530px;max-height:1000px}.map-wrap{position:relative;min-width:0;min-height:0;background:#e5e7de}#event-map{height:100%;width:100%}#map-error{position:absolute;top:12px;left:12px;right:12px;margin:0;padding:12px;background:var(--paper);font-size:12px;z-index:4}.map-rail{min-width:0;overflow-y:auto;overscroll-behavior:contain;border-left:1px solid #c2c5b7}.rail-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.rail-toolbar select{border:0;min-height:36px;font-size:12px;padding:5px 24px 5px 0}.layout-switch{display:flex;gap:3px}.layout-switch button{font-size:21px;line-height:1;width:37px;height:34px;padding:4px;border:0}.layout-switch button[aria-pressed=true]{background:var(--wash)}#rail-content{padding:18px;min-width:0}.place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.place-item{min-width:0;border-bottom:1px solid var(--line);padding:0 0 19px}.thumb,.poster-empty{display:block;width:100%;aspect-ratio:var(--poster-ratio,.75);background:#eeeee5;border:0;position:relative;padding:0;overflow:hidden}.thumb img{display:block;width:100%;height:100%;object-fit:contain}.thumb:hover{background:#e5e7dc}.thumb .zoom-mark{position:absolute;right:4px;bottom:4px;width:22px;height:22px;display:grid;place-content:center;background:var(--paper);font-size:23px;line-height:1}.thumb.unavailable:after{content:'Image unavailable';position:absolute;inset:0;display:grid;place-content:center;font-size:11px;color:var(--muted)}.thumb.unavailable img{visibility:hidden}.thumb.unavailable .zoom-mark{display:none}.poster-empty{display:grid;place-content:center;color:#9d9f92;font:italic 28px Georgia,serif}.place-button{display:block;width:100%;text-align:left;border:0;padding:12px 0 0;overflow-wrap:anywhere}.place-button:hover{background:transparent}.place-title{display:block;font-size:14px;font-weight:650;line-height:1.35;letter-spacing:-.01em}.place-artist{display:block;font-size:12px;line-height:1.4;margin:7px 0 0}.place-address{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:7px}.place-date{display:block;font-size:11px;line-height:1.5;margin-top:8px}.place-kind{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-top:10px}.place-list[data-layout=compact]{display:block}.place-list[data-layout=compact] .place-item{display:grid;grid-template-columns:65px minmax(0,1fr);column-gap:14px;margin-bottom:17px;padding-bottom:17px;align-items:start}.place-list[data-layout=compact] .thumb,.place-list[data-layout=compact] .poster-empty{width:65px;aspect-ratio:3/4}.place-list[data-layout=compact] .place-button{padding:0}.place-list[data-layout=compact] .place-title{font-size:15px}.place-list[data-layout=compact] .place-artist,.place-list[data-layout=compact] .place-address,.place-list[data-layout=compact] .place-date{margin-top:5px}.place-list[data-layout=compact] .place-kind{margin-top:6px}.rail-back{border:0;padding:0 0 14px;font-size:12px}.selected-heading{margin:0;font:25px/1.2 Georgia,serif}.selected-address{font-size:12px;color:var(--muted);margin:9px 0 20px}.selected-list{display:grid;gap:22px}.selected-list .place-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:15px}.selected-list .place-button{padding-top:0}.map-photo{border:3px solid var(--white);border-radius:50%;padding:0;width:48px;height:48px;overflow:hidden;background:var(--ink);box-shadow:0 2px 9px #0003}.map-photo img{width:100%;height:100%;object-fit:cover}.map-photo.image-failed{width:23px;height:23px}.map-photo.image-failed img{display:none}.maplibregl-ctrl-attrib{font-size:10px!important}.empty{color:var(--muted);font-size:13px;padding:16px 0}.table-toolbar{display:flex;justify-content:space-between;align-items:end;margin:8px 0 15px;font-size:12px;color:var(--muted)}.table-toolbar label{display:flex;align-items:center}.table-toolbar select{min-height:32px;padding:4px 8px}table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;border-top:1px solid var(--ink)}th,td{text-align:left;vertical-align:top;padding:14px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{background:var(--wash);font-size:10px}th button{border:0;padding:0;font-weight:600;font-size:10px}td .thumb{width:65px;aspect-ratio:3/4}td .title-link{font-weight:650;line-height:1.35;font-size:13px;text-align:left;padding:0;border:0}td p{margin:0 0 7px}td .muted{font-size:11px}col.image-col{width:85px}col.title-col{width:18%}col.artist-col{width:12%}col.gallery-col{width:13%}col.address-col{width:14%}col.date-col{width:14%}col.access-col{width:11%}.row-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.row-actions button,.text-button{font-size:11px;padding:0;border:0;text-decoration:underline;text-underline-offset:3px}.muted,.fine{color:var(--muted)}.fine{font-size:11px}.status{font-size:13px;border-left:2px solid var(--accent);padding:8px 12px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:25px;width:min(840px,calc(100% - 32px));max-height:90vh;overflow:auto}dialog::backdrop{background:#20231cd1;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-top button{font-size:12px;padding:8px 12px}.dialog-top h2{font:24px/1.2 Georgia,serif;margin:0}.detail-grid{display:grid;grid-template-columns:38% minmax(0,1fr);gap:28px}.detail-art .thumb{max-height:460px;aspect-ratio:3/4}.detail-art .credit{font-size:10px;color:var(--muted);margin-top:9px}.detail-text h2{font:32px/1.15 Georgia,serif;letter-spacing:-.02em;margin:0 0 12px}.detail-text .artists{font-size:15px;margin:0 0 12px}.detail-text .gallery-name{font-weight:600}.detail-text p{margin:0 0 12px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.detail-actions a,.detail-actions button{border:1px solid var(--line);text-decoration:none;padding:9px 11px;font-size:12px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:22px;margin-top:20px;border-top:1px solid var(--line)}.facts h3{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.facts p{font-size:12px;margin:0 0 5px}.directions{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.directions a{padding:10px}.evidence{font-size:11px;margin-top:20px}.evidence summary{cursor:pointer}.evidence ul{padding-left:18px}.evidence li{padding:4px 0;overflow-wrap:anywhere}#image-dialog{width:min(1040px,calc(100% - 24px))}#large-image{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}#image-credit,#image-source{font-size:12px}#copy-dialog{max-width:560px}#copy-url{width:100%}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:12px 20px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10000;font-size:13px}#toast.visible{opacity:1;transform:translate(-50%,0)}#hop-panel{border:1px solid var(--line);padding:22px;margin-bottom:22px}.section-line{display:flex;justify-content:space-between;gap:12px;align-items:start}.section-line h2{font:26px Georgia,serif;margin:0 0 18px}.section-line button{border:0;font-size:12px;padding:3px}#hop-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hop-card h3{font-size:16px;line-height:1.3;margin:0 0 10px}.hop-card p,.hop-card li{font-size:12px}.hop-card ol{padding-left:18px}.hop-card button{font-size:12px}#hop-active{border:1px solid var(--line);padding:14px 17px;margin:0 0 15px;font-size:12px}#hop-active p{margin:5px 0}#hop-active button{margin-left:12px;font-size:11px;padding:3px 7px}footer{display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:10px;padding:18px 0 22px}
@media(min-width:1600px){.map-layout{grid-template-columns:minmax(0,1fr) 520px}.place-title{font-size:16px}#rail-content{padding:22px}.place-artist{font-size:13px}.place-address,.place-date{font-size:12px}}
@media(max-width:1150px){main{padding:22px 22px 0}.controls{gap:10px}.reset-actions{margin-left:0}.map-layout{grid-template-columns:minmax(0,1fr) 370px;height:650px;min-height:0}.wordmark{font-size:39px}table,tbody{display:block}colgroup,thead{display:none}tr{display:grid;grid-template-columns:80px repeat(2,minmax(0,1fr));gap:12px 16px;border-bottom:1px solid var(--line);padding:20px 0}td{display:block;padding:0;border:0;min-width:0}td:first-child{grid-row:1/5}td:nth-child(2){grid-column:2/4}td:before{content:attr(data-label);display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}td:first-child:before,td:nth-child(2):before{display:none}td .title-link{font-size:16px}td:last-child{grid-column:2/4}#hop-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main{padding:18px 16px 0}.masthead{padding-bottom:18px}.wordmark{font-size:34px;letter-spacing:-1.6px}.edition{font-size:8px;letter-spacing:.05em;gap:4px}.edition small{font-size:9px}.main-nav{align-items:start;margin-bottom:18px;gap:8px}.mode-tabs{gap:16px}.mode-tabs button{font-size:14px;padding:15px 0 12px}.nav-actions{gap:2px;padding-top:3px}.nav-actions button{font-size:11px;padding:13px 4px}.nav-actions span{display:none}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.search-field{grid-column:1/3;width:auto}.controls>label:not(.search-field){width:auto}.controls input{width:100%;font-size:16px;min-height:44px}.filter-menu{min-width:0}.filter-menu>summary{font-size:12px}.filter-options{max-width:calc(100vw - 32px)}#type-filter .filter-options{left:auto;right:0}.reset-actions{grid-column:1/3}.reset-actions button{font-size:11px;min-height:34px;padding:7px 10px}.browse-line{align-items:start;margin-top:15px;gap:3px}.presets{gap:2px}.presets button{font-size:10px;padding:6px}.view-tabs{gap:0}.view-tabs button{font-size:10px;padding:6px 8px}.map-layout{display:flex;flex-direction:column;height:auto;max-height:none}.map-wrap{height:48vh;min-height:300px}.map-rail{border-left:0;border-top:1px solid var(--line);max-height:620px}.rail-toolbar{padding:10px 14px}#rail-content{padding:16px}.place-list{gap:22px 16px}.place-title{font-size:15px}.place-artist{font-size:12px}.place-date,.place-address{font-size:11px}.detail-grid{grid-template-columns:1fr;gap:22px}.detail-art .thumb{max-height:300px;aspect-ratio:auto;height:300px}.detail-text h2{font-size:29px}dialog{padding:18px}.facts{gap:18px}.directions{align-items:stretch}.directions label{flex:1}#hop-panel{padding:16px}#hop-cards{grid-template-columns:1fr}.section-line h2{font-size:24px}.hop-card{padding-bottom:18px;border-bottom:1px solid var(--line)}tr{grid-template-columns:62px minmax(0,1fr);gap:14px}td:first-child{grid-row:1/3}td:nth-child(2),td:last-child{grid-column:2}td:not(:first-child){grid-column:2}td .thumb{width:62px}footer{gap:10px;font-size:9px}.table-toolbar{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#toast{transition:none}}
