/* 抬起来的纸面卡片 + 极淡点阵纹理;热力图区域按比例框死(53 周 ≈ 717×107,手机 27 周 ≈ 379×107) */
.gh-card{position:relative;margin-top:22px;padding:18px 18px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 14px 34px -18px rgba(229,57,26,.35),0 2px 6px -2px rgba(42,30,20,.12)}
.gh-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(42,30,20,.10) .8px,transparent 1px);background-size:6px 6px}
.gh-card>*{position:relative}
.gh-stats{display:grid;grid-template-columns:repeat(2,max-content);column-gap:36px;gap:12px;margin-bottom:20px}
.gh-stats b{display:block;min-width:7ch;font-variant-numeric:tabular-nums;font-weight:400;font-size:clamp(17px,1.7vw,22px);letter-spacing:1px}
.gh-stats .gh-total{color:var(--red)}
.gh-stats span{font-size:10px;letter-spacing:1.5px;opacity:.65}
.gh-map{position:relative;aspect-ratio:717/107}
@media (max-width:599px){.gh-map{aspect-ratio:379/107}}
.gh-map svg{width:100%;height:100%;display:block;overflow:visible}
.gh-map text{font:9px Newsreader,serif;fill:var(--ink);opacity:.55}
.gh-map circle{cursor:pointer;transition:transform .15s;transform-box:fill-box;transform-origin:center}
.gh-map circle:hover{transform:scale(1.35)}
.gh-tip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));white-space:nowrap;background:var(--ink);color:var(--cream);font-size:12px;letter-spacing:.5px;padding:6px 10px;border-radius:6px;opacity:0;transition:opacity .12s}
.gh-tip.on{opacity:1}
.gh-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}
.gh-legend{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:11px;letter-spacing:1px}
.gh-legend a{color:var(--ink);text-decoration:none;letter-spacing:2px}.gh-legend a:hover{color:var(--red)}
.gh-lgd{display:flex;gap:4px;align-items:center;opacity:.75}
.gh-lgd i{width:10px;height:10px;border-radius:50%;display:inline-block}
