:root{--page:#f6f3ec;--surface-1:#fff;--surface-2:#fbf9f3;--text-primary:#17130b;--text-secondary:#6e6656;--muted:#6e6656;--border:rgba(23,19,11,.10);--baseline:#e4dcc9;--header-bg:#14110b;--wordmark:#e3c05a;--gold:#a87a12;--gold-soft:#ecdfbe;--price-up:#c62828;--map-bg:#efe9db}
@media (prefers-color-scheme:dark){:root{--page:#0e1116;--surface-1:#161b22;--surface-2:#12171e;--text-primary:#f2f4f7;--text-secondary:#93a0ad;--muted:#8b94a3;--border:rgba(255,255,255,.08);--baseline:#232b35;--header-bg:#0e1116;--wordmark:#d8b84a;--gold:#d8b84a;--gold-soft:#2a2410;--price-up:#ff6b6b;--map-bg:#12171e}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Noto Sans KR",sans-serif;background:var(--page);color:var(--text-primary);line-height:1.55}
header{background:var(--header-bg);padding:12px 20px;display:flex;align-items:center;gap:16px;font-size:14px}
header a{color:#cbb98f;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
header a img{display:block;height:24px;width:auto}
header a:hover{color:var(--wordmark)}
main{max-width:1100px;margin:0 auto;padding:20px 20px 80px}
h1{font-size:22px;font-weight:600;margin:20px 0 12px}
h2{font-size:17px;font-weight:600;margin:0 0 8px}
section,form{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;padding:20px;margin:16px 0}
button,input,select{font:inherit;color:var(--text-primary)}
button{cursor:pointer;min-height:44px;padding:8px 16px;border:1px solid var(--baseline);border-radius:8px;background:transparent;transition:background-color .15s ease-out,border-color .15s ease-out}
button:hover{border-color:var(--gold)}
button:active{transform:scale(.98)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.query{display:flex;gap:8px;margin-top:8px}
.query input{flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--baseline);border-radius:8px;background:var(--surface-2)}
.query button{background:var(--gold);border-color:transparent;color:#1a1408;font-weight:500}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding-top:16px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--text-secondary)}
.filters input[type=number]{width:5rem;min-height:36px;padding:4px 8px;border:1px solid var(--baseline);border-radius:8px;background:var(--surface-2);font-variant-numeric:tabular-nums}
.filters select{min-height:36px;border:1px solid var(--baseline);border-radius:8px;background:var(--surface-2);padding:4px 8px}
.filters label:first-child{display:block}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pills button{min-height:36px;padding:4px 12px;border-radius:8px;font-size:14px}
.pills button[aria-pressed=true]{background:var(--gold);border-color:transparent;color:#1a1408;font-weight:500}
#map{display:block;width:100%;max-height:500px;background:var(--map-bg);border-radius:12px}
.ward{stroke:var(--surface-1);stroke-width:.0015;cursor:pointer}
.ward:focus{stroke:var(--text-primary);stroke-width:.004}
.marker{fill:#a23c24;stroke:var(--surface-1);stroke-width:.002;cursor:pointer}
#map-list{max-height:11rem;overflow:auto}
#suggestions{display:grid}
#suggestions button{text-align:left;border-radius:0;border-width:0 0 1px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:16px;color:inherit;text-decoration:none;transition:border-color .15s ease-out}
.card:hover{border-color:var(--gold)}
.card strong{display:block;color:var(--gold);font-weight:600}
.card p{margin:8px 0 0;font-size:14px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
#status,#map-note{color:var(--text-secondary)}
#breadcrumbs{margin:8px 0}
details{margin-top:16px}
summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--text-secondary)}
.legend{font-size:13px;color:var(--text-secondary)}
.legend span{display:inline-block;padding:4px 8px;border-radius:4px;color:#17130b;font-variant-numeric:tabular-nums}
.legend b{font-weight:400}
.legend span:nth-of-type(1){background:#a9c7b5}.legend span:nth-of-type(2){background:#d9b57b}.legend span:nth-of-type(3){background:#c77b53}.legend span:nth-of-type(4){background:#8c3f33;color:#fff}.legend span:nth-of-type(5){background:#c6d1d0}
@media (max-width:600px){main{padding:12px 16px 60px}section,form{padding:16px}header{padding:8px 16px}}
