:root{--bg:#0b1f33;--panel:#10283f;--ink:#f7f1e5;--muted:#b7c4d1;--accent:#f5a524;--good:#3dcc8a;--warn:#f5a524;--bad:#ef6b6b;--line:#1d3b57}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,Segoe UI,Roboto,sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#081827;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{color:var(--ink);font-weight:800;font-size:1.2rem}.brand span{color:var(--accent)}
.top nav{display:flex;gap:1rem;font-size:.9rem}
.map-app{display:grid;grid-template-columns:minmax(280px,380px) 1fr;height:calc(100% - 118px)}
.panel{padding:1rem;overflow:auto;background:var(--panel);border-right:1px solid var(--line)}
.panel h1{margin:.2rem 0 .4rem;font-size:1.35rem}.muted{color:var(--muted)}.warn{background:#3a2410;padding:.7rem;border-radius:8px}
.search{display:flex;gap:.4rem}.search input{flex:1;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--line);background:#0b1f33;color:var(--ink)}
.search button,.chip{border:0;border-radius:999px;padding:.45rem .8rem;background:var(--accent);color:#1a1205;font-weight:700;cursor:pointer}
.chip{background:#18324c;color:var(--ink)}.chip.on{background:var(--accent);color:#1a1205}.chip.ghost{background:transparent;border:1px solid var(--line)}
.modes,.fuels{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.radius{display:block;margin:.6rem 0;color:var(--muted)}.radius input{width:100%}
.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.suggest{background:#081827;border:1px solid var(--line);border-radius:8px;margin:.4rem 0}
.suggest button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ink);padding:.5rem .7rem;cursor:pointer}
.map{position:relative;overflow:hidden;background:#0a3048}.map-inner{position:absolute;inset:0}
.pin{position:absolute;transform:translate(-50%,-100%);background:#10283f;color:var(--ink);border:1px solid var(--accent);border-radius:10px 10px 10px 2px;padding:.15rem .35rem;font-size:.75rem;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:.25rem}
.pin.best{background:var(--good);color:#062214;border-color:#2aa56c}
.pin.good{background:var(--good);color:#062214;border-color:#2aa56c}
.pin.warn{background:var(--warn);color:#1a1205;border-color:#d68a1c}
.pin.bad{background:var(--bad);color:#fff;border-color:#d65a5a}
.pin img{width:16px;height:16px;object-fit:contain}
.page{max-width:820px;margin:0 auto;padding:1.5rem}
.prose h2{margin-top:1.5rem}
.prose ul{padding-left:1.2rem}
.prices{list-style:none;padding:0}.prices li{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.foot{padding:1rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:#081827;border-top:1px solid var(--line);padding:1rem;z-index:9999}
.cookie-bar p{margin:0;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.cookie-bar button{background:var(--accent);color:#1a1205;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:700;cursor:pointer}
@media(max-width:860px){.map-app{grid-template-columns:1fr;height:auto}.map{height:55vh}.top nav{display:none}}
