/* Built by scripts/build-world-kit.py from regions/shared/ui.css and regions/shared/picker.css. Do not edit by hand. World site (repo root). */
/* Shared interface pieces (photo buttons, rating tiles, level boxes, section header, dashboard card, step, "Coming soon" card, About layout).
   Used with regions/shared/ui.js. No place or country is named here: the pages pass data in. Dark "Evening" look, brass accents.
   Uses the page's own variables (--bg --panel --line --ink --muted --brass --serif --sans) and falls back to the same values.
   Text on a photo always sits on a dark panel of at least 72% black, so it reads at 4.5:1 or better on any photo (worst case, a white sky, is about 7:1). */
:root{--ui-bg:var(--bg,#111417);--ui-panel:var(--panel,#181C20);--ui-line:var(--line,#2C3137);--ui-ink:var(--ink,#F2EEE7);--ui-muted:var(--muted,#B9B2A7);--ui-brass:var(--brass,#C9A66B);
  --ui-serif:var(--serif,'DM Serif Display',Georgia,serif);--ui-sans:var(--sans,'Manrope','Helvetica Neue',Arial,sans-serif);
  /* the map legend: four equal-count bands, lowest money to highest (the same colors as BC in how-much.html) */
  --ui-band0:#EAD9A8;--ui-band1:#D2A55E;--ui-band2:#B36F38;--ui-band3:#5E2A1F;
  /* stars (relative: the most confident place gets 5): 1 star = highest-money band color, 4 = lowest-money band color, 5 = a lighter tint of it */
  --ui-star1:#5E2A1F;--ui-star2:#B36F38;--ui-star3:#D2A55E;--ui-star4:#EAD9A8;--ui-star5:#F6EBC8;
  --ui-good:#7FB59A;--ui-warn:#D2A55E;--ui-bad:#D98A7E}

/* ---------- photo button ---------- */
.ui-pb{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:0;overflow:hidden;isolation:isolate;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-panel);color:var(--ui-ink);font-family:var(--ui-sans);text-align:left;text-decoration:none;cursor:pointer;width:100%;transition:border-color .15s,transform .15s,box-shadow .15s}
.ui-pb:hover{opacity:1;border-color:var(--ui-brass);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ui-pb:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}
.ui-pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s}
.ui-pb:hover .ui-pb-img{transform:scale(1.04)}
.ui-pb::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,12,14,.92) 0%,rgba(10,12,14,.76) 45%,rgba(10,12,14,.18) 100%)}
.ui-pb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ui-brass);transform:scaleX(.18);transform-origin:left;transition:transform .25s}
.ui-pb:hover::after,.ui-pb:focus-visible::after,.ui-pb[aria-pressed="true"]::after,.ui-pb[aria-current="true"]::after{transform:scaleX(1)}
.ui-pb-t{position:relative;display:block;padding:14px 18px 16px}
.ui-pb-title{display:block;font-family:var(--ui-serif);font-size:24px;line-height:1.1;color:var(--ui-ink);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.ui-pb-sub{display:block;margin-top:5px;font-size:14px;line-height:1.35;color:#E6E0D5;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.ui-pb-badge{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:999px;background:var(--ui-brass);color:#1A1408;font-size:12px;font-weight:700;letter-spacing:.02em}
.ui-pb-arrow{position:absolute;right:16px;bottom:16px;color:var(--ui-brass);font-size:20px;line-height:1}
.ui-pb.s{min-height:104px}.ui-pb.s .ui-pb-title{font-size:19px}.ui-pb.s .ui-pb-t{padding:10px 14px 12px}
.ui-pb.s::before{background:linear-gradient(to top,rgba(10,12,14,.92) 0%,rgba(10,12,14,.74) 100%)}.ui-pb.s .ui-pb-t{padding-right:42px}
.ui-pb.l{min-height:230px}.ui-pb.l .ui-pb-title{font-size:30px}
.ui-pb.noimg{background:linear-gradient(135deg,#232A31,#181C20)}
.ui-grid{display:grid;gap:14px;grid-template-columns:repeat(var(--ui-cols,3),minmax(0,1fr))}
.ui-grid.c2{--ui-cols:2}.ui-grid.c4{--ui-cols:4}.ui-grid.c5{--ui-cols:5}.ui-grid.c6{--ui-cols:6}

/* ---------- photo tile: a vertical button whose top band and edge follow the rating (band 0-3 = the map legend, or stars 1-5) ---------- */
.ui-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:230px;padding:0;overflow:hidden;isolation:isolate;border:1px solid var(--ui-line);border-left:6px solid var(--ui-rate-edge,var(--ui-rate,var(--ui-brass)));border-radius:12px;background:var(--ui-panel);color:var(--ui-ink);font-family:var(--ui-sans);text-align:left;text-decoration:none;cursor:pointer;width:100%;transition:border-color .15s,transform .15s}
.ui-tile:hover{opacity:1;transform:translateY(-3px);border-color:var(--ui-rate,var(--ui-brass))}
.ui-tile:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}
.ui-tile .ui-pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ui-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,12,14,.93) 0%,rgba(10,12,14,.78) 50%,rgba(10,12,14,.25) 100%)}
.ui-tile-rate{position:relative;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 10px;background:var(--ui-rate,var(--ui-brass));color:var(--ui-rate-ink,#1A1408);font-size:13px;font-weight:700}
.ui-tile.ink-light{--ui-rate-ink:#F6EFE4}
.ui-tile-t{display:block;padding:12px 12px 14px}
.ui-tile-title{display:block;font-family:var(--ui-serif);font-size:19px;line-height:1.12;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.ui-tile-val{display:block;margin-top:6px;font-size:18px;font-weight:700;color:var(--ui-rate,var(--ui-brass))}
.ui-tile-sub{display:block;margin-top:3px;font-size:13px;color:#E6E0D5}
.ui-tile.ink-light .ui-tile-val{color:#E9B79B}
.ui-tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ui-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ui-muted)}
.ui-legend i{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:6px;vertical-align:-2px}

/* ---------- level boxes: the four levels, always in this order, World-class luxury last ---------- */
.ui-lv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ui-lv .ui-pb{min-height:104px}
.ui-lv .ui-pb::before{background:linear-gradient(to top,rgba(10,12,14,.9) 0%,rgba(10,12,14,.74) 55%,rgba(10,12,14,.2) 100%)}
.ui-lv .ui-pb[aria-pressed="true"]{border:2px solid var(--ui-brass);box-shadow:0 0 0 1px rgba(201,166,107,.35)}
.ui-lv .ui-pb-title{font-size:22px}
.ui-lv.c .ui-pb{min-height:54px}.ui-lv.c .ui-pb-title{font-size:17px}.ui-lv.c .ui-pb-sub{font-size:13px}@media(min-width:901px){.ui-lv.c .ui-pb-t{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.ui-lv.c .ui-pb-sub{margin-top:0}}.ui-lv.c .ui-pb-t{padding:8px 12px 10px}
.ui-lv.s .ui-pb{min-height:72px}.ui-lv.s .ui-pb-title{font-size:18px}.ui-lv.s .ui-pb-sub{font-size:13px}

/* ---------- stars box ---------- */
.ui-stars{margin:0 0 12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--ui-line);border-left:6px solid var(--ui-fill,var(--ui-brass));border-radius:14px;background:var(--ui-panel);color:var(--ui-ink);text-decoration:none;font-family:var(--ui-sans)}
.ui-stars:hover{opacity:1;border-color:var(--ui-fill,var(--ui-brass))}.ui-stars:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}
.ui-stars-row{display:inline-flex;gap:4px;font-size:30px;line-height:1}
.ui-stars-row .on{color:var(--ui-fill,var(--ui-brass))}.ui-stars-row .off{color:#9AA3AD}
.ui-stars-t{flex:1;min-width:180px}.ui-stars-t b{display:block;font-family:var(--ui-serif);font-weight:400;font-size:22px;line-height:1.15}.ui-stars-t small{display:block;margin-top:3px;font-size:14px;color:var(--ui-muted)}
.ui-stars-arrow{color:var(--ui-brass);font-size:20px}

/* ---------- chips (small About links) ---------- */
.ui-footer{margin:22px 0 8px}.ui-footer .ui-sh{margin:0 0 12px}.ui-footer .ui-sh h2{font-size:26px}.ui-footer-about{margin:14px 0 0}
.ui-chips{display:flex;flex-wrap:wrap;gap:8px}
.ui-chiplink{display:inline-block;padding:7px 14px;border-radius:999px;border:1px solid var(--ui-line);background:var(--ui-panel);color:var(--ui-ink);font:600 13px var(--ui-sans);text-decoration:none}
.ui-chiplink:hover{opacity:1;border-color:var(--ui-brass);color:var(--ui-brass)}.ui-chiplink:focus-visible{outline:3px solid var(--ui-brass);outline-offset:2px}

/* ---------- section header ---------- */
.ui-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:36px 0 16px}
.ui-sh .k{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-brass);font-weight:700;margin-bottom:6px}
.ui-sh h2{font-family:var(--ui-serif);font-weight:400;font-size:34px;line-height:1.05;margin:0}
.ui-sh p{margin:8px 0 0;color:var(--ui-muted);max-width:62ch;font-size:16px}
.ui-sh .act{flex:none}

/* ---------- dashboard card ---------- */
.ui-dc{position:relative;display:block;overflow:hidden;isolation:isolate;padding:18px 20px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-panel);color:var(--ui-ink);text-decoration:none;font-family:var(--ui-sans)}
a.ui-dc:hover{opacity:1;border-color:var(--ui-brass)}
a.ui-dc:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}
.ui-dc .ui-pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ui-dc.has-img::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(14,17,20,.84)}
.ui-dc-label{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted);font-weight:600}
.ui-dc-num{display:block;margin:6px 0 2px;font-family:var(--ui-serif);font-size:44px;line-height:1.02}
.ui-dc-num small{font-family:var(--ui-sans);font-size:15px;color:var(--ui-muted);margin-left:6px}
.ui-dc-note{display:block;font-size:14px;color:var(--ui-muted);margin-top:4px}
.ui-bar{display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;margin-top:12px}
.ui-bar i{display:block;height:100%;border-radius:99px;background:var(--ui-fill,var(--ui-brass))}
.ui-gauge{position:absolute;right:18px;top:16px;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--ui-fill,var(--ui-brass)) calc(var(--p,0)*1%),rgba(255,255,255,.14) 0);display:grid;place-items:center}
.ui-gauge::after{content:"";width:46px;height:46px;border-radius:50%;background:#14181C}
.ui-chip{display:inline-block;margin-top:10px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(255,255,255,.1);color:var(--ui-ink);border:1px solid currentColor}
.ui-chip.good{color:var(--ui-good)}.ui-chip.warn{color:var(--ui-warn)}.ui-chip.bad{color:var(--ui-bad)}

/* ---------- step (numbered stepper for the guided process) ---------- */
.ui-steps{display:grid;gap:12px;counter-reset:uistep;margin:0;padding:0;list-style:none}
.ui-step{position:relative;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-panel);overflow:hidden;isolation:isolate}
.ui-step .ui-pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.9}
.ui-step::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,14,.94) 0%,rgba(10,12,14,.84) 60%,rgba(10,12,14,.6) 100%)}
.ui-step-h{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;background:none;border:0;color:var(--ui-ink);font-family:var(--ui-sans);text-align:left;cursor:pointer}
.ui-step-h:focus-visible{outline:3px solid var(--ui-brass);outline-offset:-3px}
.ui-step-n{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ui-brass);color:#1A1408;font-weight:700;font-size:17px}
.ui-step-title{flex:1;font-family:var(--ui-serif);font-size:22px;line-height:1.15}
.ui-step-title small{display:block;font-family:var(--ui-sans);font-size:14px;color:#E0DACF;margin-top:2px}
.ui-step-chev{flex:none;color:var(--ui-brass);transition:transform .2s}
.ui-step.open .ui-step-chev{transform:rotate(180deg)}
.ui-step-b{display:none;padding:2px 18px 18px 70px;color:#E6E0D5;font-size:16px;line-height:1.6}
.ui-step.open .ui-step-b{display:block}
.ui-step-b p{margin:0 0 10px}
.ui-step-nav{display:flex;gap:10px;margin-top:12px}
.ui-btn{display:inline-block;padding:9px 18px;border-radius:999px;border:1px solid var(--ui-brass);background:transparent;color:var(--ui-ink);font:600 14px var(--ui-sans);cursor:pointer;text-decoration:none}
.ui-btn.solid{background:var(--ui-brass);color:#1A1408}
.ui-btn:hover{opacity:.88}.ui-btn:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}

/* ---------- "Coming soon" card (a future paywalled page): not a link ---------- */
.ui-soon{cursor:default;border-style:dashed;border-color:var(--ui-brass)}
.ui-soon:hover{transform:none;box-shadow:none}
.ui-soon .ui-pb-img{filter:grayscale(.85) brightness(.7)}
.ui-soon::after{display:none}

/* ---------- About layout: a list of About pages on the left (a select on phones) ---------- */
.ui-about{max-width:1120px;margin:0 auto;padding:36px 24px 56px}
.ui-about-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.ui-about-list{position:sticky;top:16px;display:grid;gap:4px}
.ui-about-list a{display:block;padding:10px 14px;border-radius:10px;color:var(--ui-muted);font-size:15px;border-left:3px solid transparent;text-decoration:none}
.ui-about-list a:hover{color:var(--ui-ink);background:rgba(255,255,255,.04);opacity:1}
.ui-about-list a[aria-current="page"]{color:var(--ui-ink);background:var(--ui-panel);border-left-color:var(--ui-brass);font-weight:600}
.ui-about-list h2{font:700 12px var(--ui-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ui-brass);margin:0 0 8px 14px}
.ui-about-select{display:none;width:100%;height:50px;line-height:1.2;padding:0 14px;border-radius:10px;border:1px solid var(--ui-line);background:var(--ui-panel);color:var(--ui-ink);font:600 16px var(--ui-sans);margin-bottom:20px}
.ui-about-body h1{font-family:var(--ui-serif);font-weight:400;font-size:44px;line-height:1.05;margin:0 0 10px}
.ui-about-body .lead{font-size:19px;color:var(--ui-muted);margin:0 0 26px;max-width:60ch}
.ui-about-body h2{font-family:var(--ui-serif);font-weight:400;font-size:28px;margin:30px 0 8px}
.ui-about-body p,.ui-about-body li{max-width:68ch}
.ui-todo{border:1px dashed var(--ui-brass);border-radius:12px;padding:16px 18px;margin:0 0 24px;background:rgba(201,166,107,.07);color:var(--ui-ink)}
.ui-todo b{color:var(--ui-brass)}
.ui-about-back{margin-top:36px}

@media(max-width:900px){.ui-grid,.ui-grid.c4,.ui-grid.c5,.ui-grid.c6{--ui-cols:2}.ui-lv{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-sh h2{font-size:28px}}
@media(max-width:700px){.ui-about{padding:24px 16px 40px}.ui-about-grid{grid-template-columns:1fr;gap:0}.ui-about-list{display:none}.ui-about-select{display:block}.ui-about-body h1{font-size:34px}}
@media(max-width:520px){.ui-grid,.ui-grid.c2,.ui-grid.c4,.ui-grid.c5,.ui-grid.c6{--ui-cols:1}.ui-pb{min-height:132px}.ui-pb.l{min-height:190px}.ui-pb-title{font-size:22px}.ui-step-b{padding-left:18px}.ui-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-sh{flex-direction:column;align-items:flex-start}.ui-sh:has(.ui-chiplink){flex-direction:row;align-items:center}.ui-dc-num{font-size:38px}}
@media(prefers-reduced-motion:reduce){.ui-pb,.ui-pb-img,.ui-tile{transition:none}.ui-pb:hover,.ui-tile:hover{transform:none}.ui-pb:hover .ui-pb-img{transform:none}}

/* ---------- stat button: a photo link holding a short list of figures (the four chances on How long you live) ---------- */
.ui-sb{min-height:0;justify-content:flex-start;padding-top:var(--ui-sbh,112px);border-top:5px solid var(--ui-sbc,var(--ui-brass));background:#14181C}
.ui-sb .ui-pb-img{bottom:auto;height:var(--ui-sbh,112px)}
.ui-sb::before{display:none}
.ui-sb .ui-pb-badge{top:12px;right:12px;font-size:14px;padding:4px 12px}
/* Neil 2026-10-06: the text sits on its own solid dark panel (#14181C, never a photo); same rows, same sizes, same heights in all four boxes */
.ui-sb .ui-pb-t{display:block;background:#14181C;padding:10px 16px 8px;flex:1}
.ui-sb .ui-pb-title{font-size:25px;line-height:1.15;white-space:nowrap;text-shadow:none;color:#fff;margin-bottom:6px}
.ui-sb-list{display:block;margin:0}
.ui-sb-row{display:flex;justify-content:space-between;align-items:center;gap:10px;height:38px;border-top:1px solid rgba(255,255,255,.22)}
.ui-sb-row .l{white-space:nowrap;font-size:15px;line-height:1.2;font-weight:600;color:#F2EEE6}
.ui-sb-row b{font-size:20px;line-height:1;font-weight:700;text-align:right;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums}
.ui-sb-row.big{height:46px}
.ui-sb-row.big b{font-family:var(--ui-serif);font-weight:700;font-size:23px;color:#E7C27A}
.ui-sb-foot{display:block;height:32px;line-height:32px;border-top:1px solid rgba(255,255,255,.22);font-size:15px;font-weight:700;color:#E7C27A;white-space:nowrap}
@media(max-width:520px){.ui-sb{--ui-sbh:120px}}
/* Neil 2026-10-06: photos must show. Lighter overlay, dark only behind the text band; text kept readable with a strong shadow. */
.ui-pb::before,.ui-pb.s::before,.ui-lv .ui-pb::before{background:linear-gradient(to top,rgba(10,12,14,.82) 0%,rgba(10,12,14,.5) 34%,rgba(10,12,14,0) 62%)}
.ui-pb-title{text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.55)}
.ui-pb-sub{text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.5)}
.ui-lv .ui-pb{min-height:128px}.ui-lv.c .ui-pb{min-height:64px}.ui-lv.s .ui-pb{min-height:84px}
.ui-lv.c .ui-pb::before{background:linear-gradient(to top,rgba(10,12,14,.78) 0%,rgba(10,12,14,.3) 70%,rgba(10,12,14,.05) 100%)}
/* Level boxes: the label sits on its own dark chip so the bright photos can stay light and the text keeps 4.5:1 or better even over white (Neil 2026-10-06) */
.ui-lv .ui-pb-title,.ui-lv .ui-pb-sub{display:table;background:rgba(10,12,14,.8);padding:1px 8px;border-radius:6px;text-shadow:none}
.ui-lv .ui-pb-sub{margin-top:4px}

/* Level boxes always show the name and Top N% on their own chips; labels stay on one line (Neil 2026-10-06) */
.ui-lv .ui-pb-title,.ui-lv .ui-pb-sub{white-space:nowrap}
.ui-lv .ui-pb-sub{color:#F2EEE6;font-size:14px}
@media(max-width:520px){.ui-lv .ui-pb{min-height:112px}.ui-lv .ui-pb-title{font-size:19px}.ui-lv.c .ui-pb-title,.ui-lv.s .ui-pb-title{font-size:16px}.ui-lv .ui-pb-t{padding-left:10px;padding-right:10px}}

/* account box (hidden unless UI.ACCOUNTS_ON or ?accounts=on) and the world search list */
.ui-footer-acct{margin:0 0 18px}.ui-footer-acct[hidden]{display:none}
.ui-acct{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#14181C;border:1px solid rgba(255,255,255,.18);border-left:6px solid var(--ui-brass);border-radius:14px;padding:16px 22px;color:#F2EEE6}
.ui-acct-t{display:block;min-width:0}.ui-acct-h{display:block;font-family:var(--ui-serif);font-size:23px;line-height:1.2;color:#fff}.ui-acct-s{display:block;margin-top:4px;font-size:15px;color:#E6E0D5}
.ui-acct .ui-btn{flex:none;padding:12px 24px;font-size:16px}
.ui-acct-b{display:flex;flex-wrap:wrap;gap:10px}
.wf-pop{position:absolute;z-index:60;left:0;right:0;top:100%;margin:4px 0 0;padding:4px 0;list-style:none;background:#181C20;border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,.6);max-height:300px;overflow-y:auto;text-align:left}
.wf-pop[hidden]{display:none}.wf-pop li{padding:10px 14px;font-size:16px;color:var(--ui-ink);cursor:pointer;border-left:3px solid transparent;min-height:24px}.wf-pop li.on{background:#2A251C;border-left-color:var(--ui-brass)}.wf-pop li.none{cursor:default;color:var(--ui-muted);font-size:14.5px}

/* ---------- photo credits and stickers (Neil, 2026-10-07) ----------
   A credit over a photo is one short line in a small chip (about a tenth of the photo at most, 4.5:1 or better on its dark chip); the photographer credit stays visible (licence) and the full caption is in the tooltip and on the credits page.
   Stickers over photos (level names, "A month", state codes, "Years", "Neighborhood", "Metro area", "Nearby view" and the like) are kept in the page for reference but hidden from view. */
.pp-cr,.pcredit,.photo .photo-credit,.top .photo .photo-credit{position:absolute;left:auto;right:6px;top:auto;bottom:6px;width:auto;max-width:calc(100% - 12px);box-sizing:border-box;padding:1px 6px;border-radius:4px;background:rgba(10,12,14,.82);color:#F2EEE6;font:600 10px/1.45 var(--ui-sans,var(--sans,sans-serif));letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:2}
.photo .photo-credit a,.pcredit a{pointer-events:auto}
.pp .ui-pb.pp-hood .pp-cr,.pp .ui-pb.pp-place .pp-cr,.ui-pb .pp-cr{top:6px;bottom:auto;left:auto;right:6px;max-width:calc(100% - 12px)}
.pp-badge,.ui-pb-badge,.pp-tag,.nbtag{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important}
.ui-sb .ui-pb-badge,.ui-soon .ui-pb-badge{position:absolute!important;width:auto!important;height:auto!important;padding:3px 10px!important;margin:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important}
.ui-sb.st-fact .ui-pb-badge{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important}
.pp-cr{display:flex;gap:4px}.pp-cr .pre{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.pp-cr .sep,.pp-cr .cr{flex:none}.pp-cr .cr{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* the heart button on place pages (UI.wishButton) */
.ui-wish-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 2px}
.ui-wish{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 12px;border-radius:999px;border:1px solid var(--ui-brass);background:transparent;color:var(--ui-brass);font:700 14px var(--ui-sans);cursor:pointer}
.ui-wish svg{fill:none;transition:transform .15s}.ui-wish:hover svg{transform:scale(1.12)}
.ui-wish[aria-pressed="true"]{background:var(--ui-brass);color:#1A1408}.ui-wish[aria-pressed="true"] svg{fill:currentColor}
.ui-wish:focus-visible{outline:3px solid var(--ui-brass);outline-offset:3px}
.ui-wish-pop{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 14px;border-radius:999px;border:1px solid var(--ui-line);background:var(--ui-panel);color:var(--ui-ink);font:600 13px/1.3 var(--ui-sans)}
.ui-wish-pop[hidden]{display:none}.ui-wish-pop a{color:var(--ui-brass);text-decoration:underline}

/* The place picker (shared/picker.js). Same Evening look: dark panels, brass accents. */
.pk{position:relative;display:block;width:100%;min-width:0}
.pk-box{position:relative}
.pk-input{display:block;width:100%;min-height:44px;height:44px;padding:0 42px 0 12px;border:1px solid var(--line,#2C3137);border-radius:10px;background:#0f1215;color:var(--ink,#F2EEE7);font-family:var(--sans,inherit);font-size:16px;line-height:1.2;text-overflow:ellipsis;-webkit-appearance:none;appearance:none}
.pk-input::placeholder{color:var(--muted,#B9B2A7);opacity:.85}
.pk-input:focus,.pk.pk-open .pk-input{outline:2px solid var(--brass,#C9A66B);outline-offset:1px;border-color:var(--brass,#C9A66B)}
.pk-btn{position:absolute;right:1px;top:1px;bottom:1px;width:40px;border:0;border-radius:0 9px 9px 0;background:transparent;color:var(--muted,#B9B2A7);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.pk-btn svg{transition:transform .15s}.pk-open .pk-btn svg{transform:rotate(180deg)}
.pk-pop{position:absolute;z-index:60;top:calc(100% + 4px);left:0;width:100%;min-width:min(380px,calc(100vw - 32px));background:#181C20;border:1px solid var(--line,#2C3137);border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,.6);overflow:hidden;text-align:left;font-family:var(--sans,inherit)}
.pk-pop[hidden],.pk-head[hidden],.pk-hint[hidden]{display:none}
.pk-head{padding:9px 14px 7px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass,#C9A66B);border-bottom:1px solid var(--line,#2C3137)}
.pk-list{position:relative;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 0}
.pk-hint{padding:7px 14px;font-size:12.5px;color:var(--muted,#B9B2A7);border-top:1px solid var(--line,#2C3137);background:#14181c}
.pk-gh{padding:10px 14px 4px;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted,#B9B2A7)}
.pk-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 14px;cursor:pointer;color:var(--ink,#F2EEE7);font-size:16px;line-height:1.25;border-left:3px solid transparent}
.pk-opt .pk-nm{min-width:0;overflow-wrap:anywhere}
.pk-meta{flex:none;font-size:12.5px;color:var(--muted,#B9B2A7);text-align:right;max-width:46%}
.pk-via{font-size:13px;color:var(--muted,#B9B2A7)}
.pk-opt mark{background:none;color:var(--brass,#C9A66B);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pk-active{background:#2A251C;border-left-color:var(--brass,#C9A66B)}
.pk-opt[aria-selected=true] .pk-nm::after{content:" \2713";color:var(--brass,#C9A66B)}
.pk-off{opacity:.5;cursor:not-allowed}
.pk-none{padding:12px 14px;font-size:14.5px;color:var(--muted,#B9B2A7)}
.pk-link{color:#F6E7C8}.pk-go{font-size:22px;line-height:1;color:var(--brass,#C9A66B)}
.pk-back{justify-content:flex-start;gap:8px;border-bottom:1px solid var(--line,#2C3137)}
.pk-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 6px}
.pk-chip{min-height:40px;padding:4px 14px;border:1px solid var(--line,#2C3137);border-radius:999px;font-size:15px;border-left-width:1px;background:#14181c}
.pk-chip.pk-active{border-color:var(--brass,#C9A66B)}
.pk-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;padding:8px 10px}
.pk-tile{min-height:42px;padding:4px 10px;border:1px solid var(--line,#2C3137);border-radius:10px;border-left-width:1px;background:#14181c;font-size:15px}
.pk-tile.pk-active{border-color:var(--brass,#C9A66B)}
.pk-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pk-native{display:none !important}
/* inside a sentence (How long might you live?) */
.pk-inline{display:inline-block;width:min(100%,19em);vertical-align:middle}
.pk-inline .pk-input{min-height:38px;height:38px;border-color:var(--brass,#C9A66B);border-width:0 0 1px;border-radius:0;background:transparent;padding-left:4px}
.pk-inline .pk-pop{min-width:min(400px,calc(100vw - 32px))}
/* in the middle of a row of fields */
.field .pk,.questions .field .pk{flex:1;min-width:0}
/* the compare page: the two places side by side, stacked on a phone */
@media(max-width:700px){.bar{grid-template-columns:1fr}.bar>div:first-child{grid-column:auto}}
@media(pointer:coarse){.pk-opt{min-height:52px}.pk-chip,.pk-tile{min-height:48px}}
@media(max-width:600px){.pk-pop{min-width:0;width:100%}.pk-tiles{grid-template-columns:1fr 1fr}.pk-inline{display:block;width:100%}}
@media(prefers-reduced-motion:reduce){.pk-btn svg{transition:none}}

/* world site: the picker inside a pill (scripts/build-world-kit.py) */
.pill .pk{min-width:0}
.pill .pk-input{height:30px;min-height:30px;padding:0 24px 0 0;border:0;border-radius:0;background:transparent;color:var(--ink,#F2EEE7);font:600 17px var(--sans,system-ui);outline:0;box-shadow:none;text-overflow:ellipsis}
.pill .pk-input:focus,.pill .pk.pk-open .pk-input{outline:0;border:0}
.pill .pk-btn{right:-6px;top:0;bottom:0;width:30px}
.pill .pk-pop{left:-15px;top:calc(100% + 12px);width:calc(100% + 30px);min-width:min(380px,calc(100vw - 32px))}
.pill:focus-within{outline:3px solid var(--brass,#C9A66B);outline-offset:2px}
.change-pick{display:block;flex:0 1 250px;width:min(250px,100%);margin:0 0 0 auto}
.crumbs .change-pick .pk-pop{left:auto!important;right:0}
.pill .pk-input::placeholder{color:var(--ink,#F2EEE7);opacity:.8}
