:root{--bg:#fff;--fg:#1a1d21;--muted:#5d6670;--line:#e3e6ea;--card:#f6f7f9;--link:#0b5cad;--low:#3b7d3b;--mid:#b26a00;--high:#b3261e;--sea:#e8f0f7;--land:#f4f1ea;--land-here:#e9e2d0;--coast:#b9b2a2}
@media (prefers-color-scheme:dark){:root{--bg:#121417;--fg:#e8eaed;--muted:#9aa3ad;--line:#2a2f35;--card:#1b1f24;--link:#7fb4ff;--low:#7bc47b;--mid:#f0a640;--high:#ff7a6e;--sea:#0f1a24;--land:#1f242a;--land-here:#2b323a;--coast:#3d4650}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--link)}
.top{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--fg);text-decoration:none}
nav a{margin-left:12px}
main{max-width:860px;margin:0 auto;padding:16px}
h1{font-size:1.6rem;line-height:1.25;margin:8px 0}
h2{font-size:1.15rem;margin:28px 0 8px}
.sub,.note,.crumbs,.empty{color:var(--muted)}
.note{font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:16px 0}
.card p{margin:6px 0}
.kicker{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.big{display:flex;gap:14px;align-items:center}
.big .mag{font-size:2rem;min-width:3.4rem;padding:6px 8px}
.place{font-weight:600;font-size:1.1rem}
.when{color:var(--muted)}
.mag{display:inline-block;min-width:2.6rem;text-align:center;font-weight:700;border-radius:6px;padding:1px 6px;color:#fff}
.m-low{background:var(--low)}.m-mid{background:var(--mid)}.m-high{background:var(--high)}
.felt{font-size:.8rem;color:var(--mid);white-space:nowrap}
.felt-est{color:var(--mid)}
.official{margin-right:10px}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.8rem;color:var(--muted);font-weight:600}
footer{max-width:860px;margin:32px auto 0;padding:16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
@media (max-width:560px){h1{font-size:1.35rem}td:nth-child(5),th:nth-child(5){display:none}}
.map{margin:16px 0}
.map svg{display:block;width:100%;height:auto;max-height:520px;border:1px solid var(--line);border-radius:10px;background:var(--sea)}
.map figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}
.map .attr{float:right}
.sea{fill:var(--sea)}
.land{fill:var(--land);stroke:var(--coast);stroke-width:.8;vector-effect:non-scaling-stroke}
.land.here{fill:var(--land-here)}
.q{stroke:var(--bg);fill-opacity:.85}
.q-high{fill:var(--high)}.q-mid{fill:var(--mid)}.q-low{fill:var(--low)}
.q-old{fill-opacity:.35}
a .q:hover{fill-opacity:1;stroke:var(--fg)}
.pulse{fill:none;stroke:var(--high);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:pulse 1.8s ease-out infinite;vector-effect:non-scaling-stroke}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none;opacity:.6}}
.felt-zone{fill:var(--mid);fill-opacity:.1;stroke:var(--mid);stroke-dasharray:6 5;vector-effect:non-scaling-stroke;stroke-width:1.5}
.city{fill:var(--fg)}
.city-label{fill:var(--muted);font-family:system-ui,sans-serif}
.legend .lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 3px 0 8px;vertical-align:-1px}
.lg.q-high{background:var(--high)}.lg.q-mid{background:var(--mid)}.lg.q-low{background:var(--low)}
.countries{display:inline-block;position:relative}
.countries summary{cursor:pointer;color:var(--link);list-style:none;display:inline}
.countries summary::-webkit-details-marker{display:none}
.countries summary::after{content:" ▾"}
.countries div{position:absolute;right:0;z-index:5;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 0;min-width:180px;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.countries div a{display:block;margin:0;padding:6px 14px}
.strong{margin:12px 0}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.chip{display:flex;gap:8px;align-items:center;flex:0 0 auto;max-width:280px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--fg);text-decoration:none}
.chip:hover{border-color:var(--high)}
.chip .mag{font-size:1.1rem}
.chip-t{display:flex;flex-direction:column;font-size:.85rem;line-height:1.3;color:var(--muted)}
.chip-t b{color:var(--fg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:16px 0}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--fg)}
.tile.mine{border-color:var(--link);border-width:2px;grid-column:1/-1}
.tile-h{display:block;font-weight:600;color:var(--link)}
.tile-b{display:block;font-size:.9rem;color:var(--muted);margin-top:4px}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;font-size:.9rem;color:var(--muted)}
.share a,.share button{border:1px solid var(--line);border-radius:999px;padding:4px 12px;text-decoration:none;color:var(--fg);background:var(--card);font:inherit;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--link)}
.brand{display:inline-flex;align-items:center;gap:8px}
.near{margin:10px 0}
#near-btn{border:1px solid var(--link);color:var(--link);background:transparent;border-radius:999px;padding:6px 14px;font:inherit;cursor:pointer}
.near-list{list-style:none;padding:0;margin:6px 0}
.near-list li{padding:6px 0;border-bottom:1px solid var(--line)}
