:root{--bg: #f6f3ee;--surface: #ffffff;--ink: #1d1a17;--muted: #6f6960;--line: #e5ded4;--brand: #b3231f;--brand-soft: #fdece9;--accent: #1c7c54;--radius: 16px;--shadow: 0 1px 2px rgba(29, 26, 23, .06), 0 8px 24px rgba(29, 26, 23, .06);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Kantumruy Pro,Noto Sans Khmer,Khmer OS Battambang,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;background:#f6f3eeeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));padding-top:calc(12px + env(safe-area-inset-top,0px))}.topbar__row{display:flex;align-items:baseline;gap:10px;max-width:1200px;margin:0 auto 10px}.brand{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0}.brand span{color:var(--brand)}.count{color:var(--muted);font-size:13px;margin-inline-start:auto;white-space:nowrap}.controls{max-width:1200px;margin:0 auto;display:grid;gap:10px}.search{position:relative}.search input{width:100%;padding:12px 44px 12px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);outline:none}.search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.search__icon{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.chip--filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}main{max-width:1200px;margin:0 auto;padding:16px 16px 64px}.grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.media{position:relative;overflow:hidden;aspect-ratio:9 / 16;max-height:460px;background:linear-gradient(150deg,hsl(var(--tint, 20) 42% 26%),hsl(calc(var(--tint, 20) + 40) 38% 18%));display:grid;place-items:center}@media (min-width: 640px){.media{aspect-ratio:4 / 5}}.media iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.media--mobile{aspect-ratio:4 / 5}.media--mobile iframe{inset:0 auto auto 0}.media__label--loading{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);text-align:center}.media__label{position:relative;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.5)}.body{padding:14px 14px 16px;display:grid;gap:10px;flex:1}.meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.meta__page{font-weight:600;color:var(--brand)}.title{margin:0;font-size:17px;font-weight:600;line-height:1.5}.info{display:grid;gap:6px;font-size:14px;border-top:1px dashed var(--line);padding-top:10px}.info__row{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}.info__row span:last-child{min-width:0;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.btn{flex:1 1 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:14px;font-weight:600;cursor:pointer}.btn--map{background:var(--accent);border-color:var(--accent);color:#fff}.btn--call{background:var(--brand);border-color:var(--brand);color:#fff}.empty{text-align:center;color:var(--muted);padding:56px 16px}footer{text-align:center;color:var(--muted);font-size:12px;padding:0 16px 32px}
