
:root{
  --bg: #fffaf0;
  --panel: #ffffffcf;
  --border: #e6e6e6;
  --ink: #18181b;
  --sub: #6b7280;
  --orange: #fb923c;
  --amber: #f59e0b;
  --gold: #fbbf24;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;background:linear-gradient(135deg,#fff7ed,#fffbeb);color:var(--ink)}
.header{position:sticky;top:0;z-index:30;background:#ffffffb3;backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:44px;height:44px;border-radius:12px;border:2px solid #00000088;background:#fff;object-fit:cover;box-shadow:2px 2px 0 #000}
.titles h1{margin:0;font-weight:900;letter-spacing:-0.02em;font-size:20px}
.titles p{margin:0;color:var(--sub);font-size:12px;margin-top:-3px}
.actions{display:flex;gap:8px}
.btn{background:var(--ink);color:#fff;padding:8px 12px;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:2px 2px 0 #000}
.btn.outline{background:#fff;color:var(--ink);border:1px solid var(--border)}
.layout{max-width:1200px;margin:0 auto;padding:16px;display:grid;grid-template-columns:360px 1fr;gap:16px}
@media (max-width: 900px){.layout{grid-template-columns:1fr}}
.sidebar{display:flex;flex-direction:column;gap:16px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.search{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:6px 10px}
.search input{border:0;outline:0;font-size:14px;width:100%;background:transparent}
.row{display:flex;gap:10px;align-items:center;margin-top:10px}
.row.between{justify-content:space-between}
.tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.tag{padding:6px 8px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:12px;cursor:pointer}
.tag.active{background:var(--orange);border-color:var(--orange);color:#fff}
.dor{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;color:#9a6700}
.h2{margin:0;font-size:16px}
.list{max-height:50vh;overflow:auto;gap:12px;display:flex;flex-direction:column}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;text-align:left;cursor:pointer;transition:box-shadow .2s,border-color .2s}
.card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card.focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(245,158,11,.25)}
.card h3{margin:0;font-size:15px}
.card p{margin:6px 0 0;color:var(--sub);font-size:13px}
.badges{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.badge{background:#ffedd5;color:#9a3412;padding:3px 8px;border-radius:999px;font-size:11px}
.badge.gold{background:#fef3c7;color:#92400e;font-weight:700}
.note{font-size:11px;color:var(--sub);text-align:right}
.stars{color:var(--orange)}
.mapwrap{position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.06)}
#map{height:72vh;width:100%}
.legend{position:absolute;top:12px;left:12px;background:#ffffffcf;border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:flex;gap:10px;font-size:12px}
.legitem{display:flex;gap:6px;align-items:center}
.dot{width:10px;height:10px;border-radius:50%;outline:2px solid #00000088}
.dot.gold{background:var(--gold)}
.dot.orange{background:var(--orange)}
.footer{padding:24px 0;text-align:center;color:var(--sub);font-size:12px}
