:root{--paper: #fbf7ef;--paper-2: #f4ecd9;--sky: #efe6d2;--ink: #17130e;--ink-soft: #574d3f;--ink-faint: #6f6353;--line: #e6dcc6;--line-strong: #d3c2a2;--hanko: #b3372a;--hanko-soft: rgba(179, 55, 42, .1);--olive: #767645;--glass: rgba(251, 247, 239, .94);--shadow: 0 1px 0 rgba(23, 19, 14, .04), 0 18px 50px -12px rgba(59, 42, 32, .28);--radius: 6px;--display: Satoshi, Inter, system-ui, sans-serif;--sans: Inter, system-ui, -apple-system, sans-serif;--hand: Caveat, "Segoe Script", cursive;--mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:light}:root[data-map=night],:root[data-map=satellite]{--sky: #14110d}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--sky);color:var(--ink);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased;transition:background .4s}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}code{font-family:var(--mono);font-size:.92em}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--ink-faint)}:focus-visible{outline:2px solid var(--hanko);outline-offset:2px}#globe{position:fixed;inset:0}@media(min-width:761px){#globe{right:auto;width:calc(100% + 360px)}}#globe .cesium-viewer-bottom,#globe .cesium-widget-credits{display:none!important}.panel{position:fixed;top:16px;left:16px;bottom:16px;width:348px;display:flex;flex-direction:column;gap:14px;padding:22px 20px 14px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:2;opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease}body.ready .panel{opacity:1;transform:none}.sheet-handle{display:none}.brand .wordmark{display:block;width:190px;height:auto;mix-blend-mode:multiply}.brand h1{margin:10px 0 0;font:700 22px/1.1 var(--display);letter-spacing:-.015em}.brand .hand{margin:2px 0 0;font:600 21px/1.1 var(--hand);color:var(--hanko)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stats div{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}.stats b{display:block;font:700 21px/1.2 var(--display);color:var(--hanko)}.stats div+div b{color:var(--ink)}.stats span{font-size:11.5px;color:var(--ink-faint)}.live-hint{margin:-4px 0 0;font-size:12px;color:var(--ink-faint);display:flex;align-items:center;gap:8px}.live-hint:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line-strong);flex:none}.live-hint[data-state=ready]:before{background:var(--olive)}.live-hint[data-state=loading]:before{background:var(--hanko);animation:pulse 1s ease-in-out infinite}.live-hint[data-state=error]:before{background:var(--hanko)}@keyframes pulse{50%{opacity:.25}}.search{position:relative}.search input{width:100%;padding:11px 14px;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.search input::placeholder{color:var(--ink-faint)}.search input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--hanko-soft)}.results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;padding:6px;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.pin-glyph{width:10px;color:var(--ink-faint);font-size:12px;text-align:center}.filters h3,.listing h3{margin:0 0 8px;font:700 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 9px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;font-size:13px;color:var(--ink-soft);transition:background .15s,border-color .15s,color .15s}.chip i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--c)}.chip:hover{border-color:var(--ink-faint)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip[aria-pressed=true] i{background:var(--c);border-color:var(--paper)}.chip[data-layer=cocktail][aria-pressed=true]{background:var(--hanko);border-color:var(--hanko)}.chip.seal i{border-radius:2px}.chip.seal[aria-pressed=true]{background:var(--hanko);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--paper)}.toggle{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13.5px;cursor:pointer}.toggle small{margin-left:auto;color:var(--ink-faint);font-size:11.5px;text-align:right}.toggle input{appearance:none;width:30px;height:18px;margin:0;flex:none;border-radius:9px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .18s}.toggle input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--paper);transition:transform .18s cubic-bezier(.3,.7,.4,1)}.toggle input:checked{background:var(--ink)}.toggle input:checked:after{transform:translate(12px)}.listing{flex:1;min-height:0;display:flex;flex-direction:column}.listing .list{overflow-y:auto;flex:1;margin-right:-10px;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.list{list-style:none;margin:0;padding:0}.list button{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:none;border-radius:4px;text-align:left}.list button:hover,.list button:focus-visible{background:var(--paper-2);outline:none}.list .dot{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}.list .dot.seal,.seal-dot{width:10px;height:10px;border-radius:2px;background:var(--hanko);box-shadow:0 0 0 1.5px var(--paper),0 0 0 2.5px var(--ink)}.seal-dot{display:inline-block;vertical-align:-1px;margin-right:2px}.list .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .meta{color:var(--ink-faint);font-size:12px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .empty{color:var(--ink-faint);padding:8px;font-size:13px}.list .sub{margin:10px 8px 4px;font:700 10.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.badges{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.badges a{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--ink);border-radius:3px;font-size:11.5px;text-decoration:none;background:var(--paper)}.badges a:hover{background:var(--paper-2)}.badges b{color:var(--hanko);font:700 12px/1 var(--display)}.foot{font-size:11.5px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:10px}.foot p{margin:0 0 3px}.foot a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:2px}.card{position:fixed;top:16px;right:16px;width:360px;max-height:calc(100% - 96px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:3;animation:card-in .28s cubic-bezier(.2,.8,.3,1);scrollbar-width:thin}@keyframes card-in{0%{opacity:0;transform:translateY(-6px)}}.card-close{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;background:#fbf7efeb;color:var(--ink);font-size:20px;line-height:1;box-shadow:0 1px 4px #17130e33}.card-close:hover{background:var(--paper)}.gallery{margin:0;background:var(--paper-2)}.gallery .hero{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-2)}.gallery .hero img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .35s ease}@keyframes fade{0%{opacity:0}}.gallery.loading .hero{background:linear-gradient(100deg,var(--paper-2) 40%,#fbf5e8 50%,var(--paper-2) 60%) 0 0 / 200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.gallery .pin{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:3px;background:var(--hanko);box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.gallery .credit{padding:4px 12px 0;font-size:10.5px;color:var(--ink-faint);text-align:right;min-height:18px}.gallery .thumbs{display:flex;gap:6px;padding:4px 12px 10px;overflow-x:auto}.gallery .thumbs:empty{display:none}.gallery .thumbs button{flex:none;width:62px;height:44px;padding:0;border:0;border-radius:3px;overflow:hidden;opacity:.6;outline:2px solid transparent;outline-offset:1px;transition:opacity .15s,outline-color .15s}.gallery .thumbs button[aria-current=true]{opacity:1;outline-color:var(--ink)}.gallery .thumbs button:hover{opacity:1}.gallery .thumbs img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:14px 20px 18px}.card-kicker{display:flex;align-items:center;gap:8px;font:700 10.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--c)}.card-kicker i{width:8px;height:8px;border-radius:50%;background:var(--c)}.card-kicker.selection i{border-radius:2px;box-shadow:0 0 0 1.5px var(--paper),0 0 0 2.5px var(--ink)}.card h2{margin:8px 0 2px;font:700 26px/1.1 var(--display);letter-spacing:-.02em;text-wrap:balance}.card .tagline{margin:2px 0 6px;font:600 19px/1.15 var(--hand);color:var(--hanko)}.card .addr{margin:0 0 12px;color:var(--ink-soft)}.card .approx{color:var(--ink-faint);font-size:12px}.card-rows{border-top:1px solid var(--line)}.card-row{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.card-row .k{color:var(--ink-faint)}.card-row .v{overflow-wrap:anywhere}.card-row .mono{font-size:12px}.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.card-actions a{padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);text-decoration:none;font-size:12.5px;transition:background .15s,border-color .15s}.card-actions a:hover{background:var(--paper-2);border-color:var(--ink-faint)}.card-actions a.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.card-actions a.primary:hover{background:var(--hanko);border-color:var(--hanko)}.zoom{position:fixed;right:16px;bottom:82px;display:flex;flex-direction:column;z-index:2;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.zoom button{width:40px;height:40px;border:0;background:none;font:500 20px/1 var(--sans);display:grid;place-items:center}.zoom button+button{border-top:1px solid var(--line)}.zoom button:hover{background:var(--paper-2)}.zoom svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.6}.dock{position:fixed;right:16px;bottom:30px;display:flex;gap:8px;z-index:2}.seg,.share{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.seg{display:flex;padding:3px;gap:2px}.seg button,.share{border:0;background:none;padding:7px 11px;border-radius:4px;font-size:12.5px;color:var(--ink-soft)}.share{border:1px solid var(--line);background:var(--paper)}.seg button:hover,.share:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.credits{position:fixed;right:18px;bottom:8px;z-index:1;max-width:60%;text-align:right}.credits *{color:var(--ink-faint)!important;font-size:10px!important}:root[data-map=night] .credits *,:root[data-map=satellite] .credits *{color:#a39d93!important}.credits img{display:none}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:13px;z-index:10}@media(max-width:760px){.panel{inset:auto 0 0;width:auto;height:46vh;padding:8px 16px calc(12px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;border-bottom:0;gap:10px;transition:height .32s cubic-bezier(.2,.8,.3,1),opacity .6s}body.sheet-open .panel{height:88vh}.sheet-handle{display:block;align-self:center;border:0;background:none;padding:6px 30px;margin-bottom:-4px}.sheet-handle span{display:block;width:40px;height:4px;border-radius:2px;background:var(--line-strong)}.brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.brand .wordmark{width:130px}.brand h1{font-size:16px;margin:0}.brand .hand{display:none}.stats b{font-size:17px}.toggle small,.foot .dim{display:none}.card{top:12px;left:12px;right:12px;width:auto;max-height:50vh}.gallery .hero{aspect-ratio:16 / 8}.zoom{bottom:calc(46vh + 62px);right:12px}.zoom button{width:38px;height:38px}.dock{bottom:calc(46vh + 10px);right:12px;left:12px;justify-content:flex-end;gap:6px}.seg button{padding:7px 8px}body.sheet-open .dock,body.sheet-open .zoom,.credits{display:none}.search input{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
