:root{--oat:#F4ECDD;--pine:#39453B;--forest:#345B4B;--terra:#D8754E;--gold:#E8C779}
*{box-sizing:border-box}
html,body{margin:0;background:var(--oat);color:var(--pine);font:16px/1.5 Helvetica,Arial,sans-serif}
main{max-width:1100px;margin:0 auto;padding:16px}
h1{color:var(--forest);font-size:1.5rem;line-height:1.25;margin:.25rem 0}
a{color:var(--terra)}
.lede{margin:.25rem 0 1rem}
.fine{font-size:.8rem;opacity:.75;margin:.35rem 0 0}
#chat{background:#fff;border:1px solid var(--gold);border-radius:12px;padding:12px;margin-bottom:12px}
.cta{font-weight:bold;color:var(--forest);margin:0 0 .5rem}
.row{display:flex;gap:6px}
.row input{flex:1;min-width:0;font:inherit;padding:10px;border:1px solid #bbb;border-radius:8px}
button{font:inherit;cursor:pointer}
.row button{background:var(--terra);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:bold}
#answer{margin-top:.5rem}
.modal{display:none;position:fixed;inset:0;z-index:10;background:rgba(31,38,32,.55);align-items:center;justify-content:center;padding:16px}
.modal:target,.modal.open{display:flex}
.modal .box{position:relative;background:#fff;border:1px solid var(--gold);border-radius:12px;padding:20px 16px 16px;width:100%;max-width:460px}
.modal .cta{padding-right:1.5rem}
.modal .x{position:absolute;top:6px;right:10px;font-size:1.5rem;line-height:1;text-decoration:none;color:var(--pine)}
#sub-msg p{margin:.5rem 0 0;color:var(--terra)}
#answer p{background:#FFF8EE;border-left:3px solid var(--terra);padding:8px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.chips button{background:none;border:1px solid var(--forest);color:var(--forest);border-radius:14px;padding:4px 10px}
.chips button[aria-pressed=true]{background:var(--forest);color:var(--oat)}
#empty{margin:0 0 10px}
.scroll{overflow-x:auto;background:#fff;border-radius:8px}
table#places{border-collapse:collapse;width:100%;min-width:760px;font-size:.9rem}
#places thead th{background:var(--forest);color:var(--oat);text-align:left;padding:8px;cursor:pointer;white-space:nowrap}
#places thead th:not([data-sort]){cursor:default}
#places td,#places tbody th{padding:8px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
#places tbody th{position:sticky;left:0;background:#fff;font-weight:normal;min-width:9rem}
#places tbody th small{display:block;opacity:.65;font-size:.75rem}
#places td.unk{opacity:.5}
#places tr.hl td,#places tr.hl th{background:#FFF3DF}
#places tr[hidden]{display:none}
.foot{margin-top:1.25rem}
.facts{border-collapse:collapse;width:100%;background:#fff;border-radius:8px}
.facts th,.facts td{padding:8px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
.facts small{display:block;opacity:.6;font-size:.75rem;word-break:break-all}
.photos{display:flex;gap:8px;overflow-x:auto;margin:10px 0}
.photos img{height:180px;border-radius:8px}
.photos figure{margin:0;display:flex;flex-direction:column;gap:4px}
label{display:block;margin:.5rem 0}
@media (prefers-color-scheme:dark){html,body{background:#1f2620;color:#e9e2d3}#chat,.scroll,.facts,#places tbody th,.modal .box{background:#2a322b}.modal .x{color:#e9e2d3}#places td,#places tbody th{border-color:#3a443b}#answer p{background:#3a2f26}#places tr.hl td,#places tr.hl th{background:#4a3a24}h1{color:var(--gold)}.cta{color:var(--gold)}a{color:#E8956F}.chips button{border-color:var(--gold);color:var(--gold)}.chips button[aria-pressed=true]{background:var(--gold);color:var(--pine)}#places thead th{background:var(--forest);color:var(--oat)}}
