:root{--fg:#1b2b34;--muted:#6b7b85;--accent:#2f6f4f;--line:#e2e8ec}
*{box-sizing:border-box}body{font:16px/1.5 system-ui,sans-serif;color:var(--fg);margin:0}
header{padding:12px 20px;border-bottom:1px solid var(--line)}header a{color:var(--accent);text-decoration:none;font-weight:600}
main{max-width:820px;margin:0 auto;padding:24px 20px}
h1{margin:.2em 0}.addr{color:var(--muted)}
dl.contact,section.fields dl{display:grid;grid-template-columns:180px 1fr;gap:4px 12px}
dt{color:var(--muted)}section{margin-top:28px}
pre{white-space:pre-wrap;background:#f6f8f9;padding:12px;border-radius:8px}
.checkin{border-left:3px solid var(--accent);padding:8px 14px;margin:12px 0;background:#f6f8f9;border-radius:0 8px 8px 0}
.checkin .meta{color:var(--muted);font-size:.9em}
.checkin img{max-width:180px;border-radius:6px;margin:6px 6px 0 0}
/* --- Index: browse + filter grid --- */
body:has(.grid) main{max-width:1200px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 6px}
.toolbar #q{flex:1 1 260px;padding:11px 12px;font-size:1em;border:1px solid var(--line);border-radius:8px}
.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--fg)}
.toolbar .chip{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:20px;color:var(--muted);cursor:pointer;user-select:none}
.toolbar .chip:has(:checked){background:var(--accent);border-color:var(--accent);color:#fff}
.toolbar #clear{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}
.count{color:var(--muted);font-size:.9em;margin:4px 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--fg);background:#fff;transition:box-shadow .12s,transform .12s,border-color .12s}
.card:hover{box-shadow:0 6px 20px rgba(27,43,52,.10);transform:translateY(-2px);border-color:var(--accent)}
.card-name{font-weight:700;color:var(--accent);margin-bottom:2px}
.card-addr{color:var(--muted);font-size:.9em;min-height:1.3em}
.card-badges{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.b{font-size:.72em;font-weight:600;padding:3px 8px;border-radius:20px;background:#eef3f0;color:var(--accent)}
.b-pho{background:#fdf0e6;color:#b5651d}.b-sen{background:#e9edfb;color:#3a4fb5}.b-sub{background:#f0e9fb;color:#6a3ab5}
.more{display:block;margin:22px auto;padding:10px 20px;border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:8px;cursor:pointer;font-weight:600}
.empty{color:var(--muted);padding:30px 0;text-align:center;grid-column:1/-1}
