*{box-sizing:border-box;margin:0}body{font:11px/1.5 "Space Grotesk",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#000;background:#fff;padding:40px 32px}
header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:48px}h1{font:600 14px/1 "Space Grotesk",sans-serif;letter-spacing:.3em}#count{color:#888}
#bar{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-bottom:12px;position:sticky;top:0;background:#fff;padding:12px 0;z-index:5}
button,select{font:inherit;background:none;border:0;cursor:pointer;color:inherit;padding:0}select{border-bottom:1px solid #000}
.facet{position:relative}.fh::after{content:" +"}.facet.open .fh::after{content:" −"}.fh.on{text-decoration:underline}
.opts{display:none;position:absolute;top:22px;left:0;background:#fff;border:1px solid #000;padding:12px;max-height:60vh;overflow:auto;min-width:200px;z-index:10}
.facet.open .opts{display:block}.opts label{display:flex;gap:8px;white-space:nowrap;cursor:pointer}.opts label.zero{color:#bbb}.opts .n{margin-left:auto;color:#888}
#active{color:#888;min-height:18px;margin-bottom:28px}

html,body{overflow-x:hidden}body{padding:0}
header{position:fixed;top:20px;left:24px;right:24px;margin:0;z-index:10;pointer-events:none}
header{left:180px;top:0;height:56px;align-items:center}
#bar{position:fixed;top:56px;left:180px;right:0;height:40px;background:#fff;border-bottom:1px solid #000;padding:0 24px;margin:0;gap:18px;z-index:10;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;overflow-y:visible}
#bar .list .opts{display:flex;position:static;border:0;padding:0;gap:16px;max-height:none;min-width:0;overflow:visible}
#bar .list input,#side input,.tg input{display:none}.list label{color:#000}.list label .n{margin-left:4px}.list label.zero{color:#bbb}
.list label:has(input:checked),.tg:has(input:checked){background:#000;color:#fff;padding:0 4px}.list label:has(input:checked) .n{color:#ccc}
.sep{border-left:1px solid #ccc;height:16px}.facet[data-k=place] .opts{position:fixed;top:96px;left:auto}
#side{position:fixed;left:0;top:0;bottom:0;width:180px;border-right:1px solid #000;background:#fff;z-index:11;padding:20px 16px;overflow-y:auto}
#side .ttl{color:#888;margin-bottom:36px}#side .opts{display:block;position:static;border:0;padding:0;max-height:none;min-width:0;overflow:visible}#side label{padding:1px 0;width:max-content;max-width:100%}
#side label:has(input:checked){padding:1px 4px}
#active{position:fixed;top:104px;left:204px;pointer-events:none;z-index:10;margin:0}
#viewport{position:relative;margin:96px 0 0 180px;touch-action:pan-y;user-select:none;overflow:hidden}
#world{position:relative;width:100%}
.card{position:absolute;left:0;top:0;cursor:pointer;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .3s}
.card.off{opacity:0;pointer-events:none}
.ph{aspect-ratio:auto;display:flex;align-items:center;justify-content:center;color:#777;font-size:10px;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;pointer-events:none}.card:hover .ph{outline:1px solid #000}
.meta{margin-top:4px;font-size:10px;color:#888;display:flex;justify-content:space-between}.ll{font-size:9px;border:1px solid #000;padding:0 3px;color:#000}
#empty{position:fixed;top:50%;width:100%;text-align:center;color:#888}
#lb{position:fixed;inset:0;background:#fff;z-index:20;display:flex;align-items:center;justify-content:center;padding:48px}#lb[hidden]{display:none}
#lb figure{display:flex;gap:40px;max-width:1200px;width:100%;align-items:center}#lbimg{flex:1;display:flex;justify-content:center}
#lbimg img{max-height:82vh;max-width:100%}#lbimg .ph{width:min(60vw,500px)}#lbcap{width:240px}#lbcap dt{color:#888;margin-top:10px}#lbcap a{color:#000}
#lbx{position:absolute;top:20px;right:28px}#lbp,#lbn{position:absolute;top:50%;font-size:24px}#lbp{left:16px}#lbn{right:16px}
@media(max-width:700px){#side{width:110px;padding:12px 8px}header,#bar{left:110px}#bar{padding:0 10px;gap:12px}#viewport{margin-left:110px}#active{left:120px}header{left:110px;padding-left:10px}#lb{padding:48px 12px}#lb figure{flex-direction:column;gap:16px}#lbcap{width:100%}#lbimg img{max-height:60vh}#lbimg .ph{width:80vw}.opts{position:fixed;left:14px;right:14px;top:auto}}
header{background:#fff;pointer-events:auto;padding:0 24px;right:0}button,select{text-transform:inherit;letter-spacing:inherit}
#side label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#side label .n{margin-left:6px}
.card.lift{transition:opacity .3s;cursor:grabbing}.card.lift .ph{box-shadow:0 12px 30px rgba(0,0,0,.25);transform:scale(1.04)}.ph{transition:box-shadow .2s,transform .2s}

#vh.on{background:#000;color:#fff}
#vh2{display:none}.vhb.on{background:#000;color:#fff}
@media(max-width:700px){#count,#vh{display:none}#vh2{display:inline-block;pointer-events:auto;margin-right:10px}}
