.page-head{padding:3.2rem 0 1.4rem;text-align:center}.page-sub{color:var(--text-dim);max-width:560px;margin:0 auto 1.4rem}.view-toggle{display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.vt-btn{font-family:var(--font-display);font-size:1rem;letter-spacing:.05em;padding:.6rem 1.4rem;border-radius:10px;border:2px solid var(--line);background:var(--panel);color:var(--text-dim);transition:all .25s}.vt-btn:hover{transform:translateY(-2px);color:var(--text)}.vt-btn.active{border-color:var(--hxh-green);color:var(--hxh-green);box-shadow:0 0 18px -6px var(--hxh-green)}.vt-dark.active{border-color:var(--hxh-red);color:var(--hxh-red);box-shadow:0 0 22px -6px var(--hxh-red);animation:flicker 2.2s linear infinite}.map-frame{display:grid;grid-template-columns:1fr minmax(260px,300px);overflow:hidden}@media(max-width:900px){.map-frame{grid-template-columns:1fr}}.map-stage{position:relative;background:#3a7a86;overflow:hidden;margin-inline:auto}.map-stage.dark-view{background:#d4b78a}.leaflet-host{width:100%;height:100%;background:inherit;z-index:0;overflow:hidden}.leaflet-host .leaflet-container{background:inherit;font:inherit;overflow:hidden!important}.leaflet-host .leaflet-image-layer{image-rendering:auto}.leaflet-host .leaflet-control-attribution{display:none}.zoom-controls{position:absolute;right:.7rem;bottom:.7rem;display:flex;flex-direction:column;gap:.35rem;z-index:500}.zoom-controls button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#0d2036eb;color:var(--text);font-size:1.25rem;font-weight:700;line-height:1}.zoom-controls button:hover{border-color:var(--hxh-gold);color:var(--hxh-gold)}.classified-overlay{position:absolute;inset:0;z-index:600;display:grid;place-content:center;gap:.6rem;background:#05060ae0;text-align:center;pointer-events:none}.classified-stamp{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.4rem);letter-spacing:.18em;color:var(--hxh-red);border:4px solid var(--hxh-red);padding:.55rem 1.2rem;transform:rotate(-8deg);text-shadow:0 0 24px rgba(230,57,70,.45);animation:stamp-in .45s cubic-bezier(.22,1.4,.36,1)}.classified-overlay p{margin:0;color:var(--text-dim);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}@keyframes stamp-in{0%{opacity:0;transform:rotate(-8deg) scale(1.4)}to{opacity:1;transform:rotate(-8deg) scale(1)}}.hxh-marker-wrap{background:none!important;border:none!important}.hxh-marker{position:relative;display:grid;place-items:center;width:40px;height:50px;padding:0;border:0;background:transparent;cursor:pointer;color:inherit;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.hxh-marker-svg{display:block;overflow:visible;transition:transform .18s ease;transform-origin:50% 85%}.hxh-marker:hover .hxh-marker-svg,.hxh-marker.is-active .hxh-marker-svg{transform:scale(1.12)}.hxh-pin-disc{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.hxh-cal-glow{opacity:.35;transform-origin:center;animation:hxh-cal-breathe 2.8s ease-in-out infinite}.hxh-marker.is-calamity:hover .hxh-cal-glow,.hxh-marker.is-calamity.is-active .hxh-cal-glow{opacity:.55}@keyframes hxh-cal-breathe{0%,to{opacity:.28;transform:scale(.92)}50%{opacity:.5;transform:scale(1.08)}}.hxh-marker-label{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translate(-50%);white-space:nowrap;font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--text);background:#0b0d12e0;padding:.15rem .4rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s}.hxh-marker:hover .hxh-marker-label,.hxh-marker.is-active .hxh-marker-label{opacity:1}.hxh-marker-rank{position:absolute;top:2px;right:0;min-width:1.15rem;padding:.08rem .28rem;border-radius:4px;font-size:10px;font-weight:800;line-height:1.2;color:#0b0d12;background:var(--mc, #f45fc0);border:1px solid #0b0d12;z-index:1}.map-info{border-left:1px solid var(--line);padding:1.2rem;display:flex;flex-direction:column;justify-content:center;min-height:220px;background:var(--panel-2)}@media(max-width:900px){.map-info{border-left:0;border-top:1px solid var(--line);min-height:0}}.mi-empty{color:var(--text-dim);font-size:.92rem}.mi-hint{margin:.85rem 0 0;font-size:.78rem;opacity:.75}.mi-hint code{font-size:.72rem;color:var(--hxh-gold)}.mi-detail{animation:pop-in .35s}.mi-img-wrap{border-radius:10px;overflow:hidden;margin-bottom:.85rem;border:1px solid var(--line);aspect-ratio:16 / 9;background:#0e1118}.mi-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.mi-type{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mi-color, var(--hxh-gold));margin-bottom:.25rem}.mi-detail h3{font-size:1.3rem;color:var(--mi-color, var(--hxh-gold));margin:0 0 .45rem}.mi-detail p{color:var(--text-dim);font-size:.9rem;margin:0}.map-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.2rem;justify-content:center;padding:.85rem 1.1rem;margin-top:1rem}.legend-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--text-dim)}.legend-swatch{width:18px;height:18px;border-radius:50%;background:var(--lc);box-shadow:0 0 0 2px #0b0d12,0 0 0 3px color-mix(in srgb,var(--lc) 55%,transparent);position:relative}.legend-swatch:after{content:"";position:absolute;left:50%;bottom:-3px;transform:translate(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--lc)}.calamities{margin-top:1rem;padding:1.3rem 1.4rem 1.1rem;border-top:3px solid var(--hxh-red)}.cal-title{font-size:1.35rem;color:var(--hxh-red);margin-bottom:.25rem}.cal-sub{color:var(--text-dim);font-size:.88rem;margin-bottom:.9rem}.cal-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.cal-row{width:100%;display:grid;grid-template-columns:42px 120px 1fr;gap:.7rem;align-items:center;text-align:left;padding:.7rem .85rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);transition:border-color .2s,transform .2s}.cal-row:hover{border-color:var(--mc);transform:translate(3px)}.cal-rank{font-family:var(--font-display);font-size:1.05rem;color:var(--mc);text-align:center}.cal-name{font-weight:700}.cal-snip{color:var(--text-dim);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.cal-row{grid-template-columns:36px 1fr}.cal-snip{display:none}.zoom-controls button{width:46px;height:46px}}.map-footnote{max-width:760px;margin:1.6rem auto 0;text-align:center;color:var(--hxh-red);font-size:.92rem;font-weight:600;animation:pop-in .6s}
