/* 知识图谱 /maps/。原型 https://claude.ai/artifact/Kg2foXaieeeh1t5PxabYNs ；配色与漫游随想 views.css 一致 */
.gm-maps{--km-ink:#1b1f1c;--km-muted:#5d655b;--km-edge:#2c302b;--km-paper:#fbfcf8;--km-grass:#3b7322;--km-grass-hi:#5d9b3a;--km-grass-lo:#24501a;--km-line:#6e9a48;--km-step:#c9cec2;color:var(--km-ink)}
.gm-maps .km-wrap{max-width:1080px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:22px}
.gm-maps .km-panel{background:var(--km-paper);border:2px solid var(--km-edge);border-top:6px solid var(--km-line);box-shadow:6px 6px 0 rgba(30,34,30,.35);min-width:0;margin:0}
.gm-maps .km-kick{font:12px/1.4 "Silkscreen",ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:#4f5a4c;margin:0}
.gm-maps .km-hero{padding:22px 24px}
.gm-maps .km-hero h1{font-weight:900;font-size:30px;line-height:1.3;margin:4px 0 8px}
.gm-maps .km-lead{margin:0;color:#3d443e;max-width:56ch}
.gm-maps .km-stats{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0 0;font-size:13px;color:#4f5a4c;align-items:baseline}
.gm-maps .km-stats b{font-size:20px;color:var(--km-grass);margin-right:4px;font-variant-numeric:tabular-nums}
.gm-maps .km-chips{display:flex;flex-wrap:wrap;gap:8px}
.gm-maps .km-chip{font:700 13px/1.4 inherit;background:#fff;border:2px solid var(--km-edge);color:var(--km-ink);padding:5px 10px;cursor:pointer;border-radius:0}
.gm-maps .km-chip small{font-weight:500;color:#6a7066;margin-left:3px}
.gm-maps .km-chip.is-on{background:var(--km-grass);color:#fff;box-shadow:inset -3px -3px 0 var(--km-grass-lo),inset 3px 3px 0 var(--km-grass-hi)}
.gm-maps .km-chip.is-on small{color:#d7ecc8}
.gm-maps .km-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.gm-maps .km-card{display:flex;flex-direction:column;background:var(--km-paper);border:2px solid var(--km-edge);box-shadow:4px 4px 0 rgba(30,34,30,.3);color:var(--km-ink);text-decoration:none;transition:transform .12s,box-shadow .12s;min-width:0}
.gm-maps .km-card[hidden]{display:none}
.gm-maps .km-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(30,34,30,.35)}
.gm-maps .km-card img,.gm-maps .km-ph{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-bottom:2px solid var(--km-edge)}
.gm-maps .km-ph{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#eef0ea 0 10px,#fbfcf8 10px 20px);color:var(--km-muted);font-size:13px}
.gm-maps .km-meta{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}
.gm-maps .km-meta b{font-size:17px}
.gm-maps .km-meta small{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--km-muted)}
.gm-maps .km-tag{font-weight:700;font-size:12px;color:#fff;background:var(--km-grass);padding:1px 7px}
.gm-maps .km-empty{color:var(--km-muted);font-size:14px}
.gm-maps .km-chip:focus-visible,.gm-maps .km-card:focus-visible,.gm-maps .km-btn:focus-visible{outline:2px solid #f2c84b;outline-offset:2px}
/* 单张页 */
.gm-maps .km-crumb{margin:0;font-size:13px;color:var(--km-muted)}
.gm-maps .km-crumb a,.gm-maps .km-facts a{color:var(--km-grass-lo)}
.gm-maps .km-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;align-items:start}
.gm-maps .km-big{border-top-width:2px}
.gm-maps .km-big img{display:block;width:100%;height:auto}
.gm-maps .km-side{padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.gm-maps .km-side h1{font-weight:900;font-size:clamp(26px,3.6vw,34px);line-height:1.25;margin:0}
.gm-maps .km-sub{margin:-8px 0 0;color:var(--km-muted)}
.gm-maps .km-outline{border-left:4px solid var(--km-grass);padding-left:14px;display:flex;flex-direction:column;gap:8px;font-size:15px}
.gm-maps .km-outline p{margin:0}
.gm-maps .km-c{font-weight:700}
.gm-maps .km-outline ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px}
.gm-maps .km-outline li span{color:var(--km-muted)}
.gm-maps .km-sum{margin:0;font-weight:700;font-size:17px;border-top:2px dashed var(--km-step);padding-top:12px}
.gm-maps .km-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px}
.gm-maps .km-facts dt{color:var(--km-muted)}
.gm-maps .km-facts dd{margin:0}
.gm-maps .km-btns{display:flex;flex-wrap:wrap;gap:10px}
.gm-maps .km-btn{display:inline-block;font-weight:700;font-size:14px;padding:7px 14px;border:2px solid var(--km-edge);background:#fff;color:var(--km-ink);box-shadow:3px 3px 0 rgba(30,34,30,.3);text-decoration:none}
.gm-maps .km-btn.is-main{background:var(--km-grass);color:#fff;border-color:var(--km-grass-lo)}
.gm-maps .km-back{font-weight:700;text-decoration:none;color:var(--km-grass-lo);border-bottom:2px solid var(--km-line)}
@media (max-width:760px){.gm-maps .km-detail{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.gm-maps .km-card{transition:none}.gm-maps .km-card:hover{transform:none}}
/* 压过全站内页皮肤（blocky-interior）对按钮和标题的统一样式 */
body .gm-maps h1{font-weight:900!important;letter-spacing:0;text-shadow:none}
body.gb-interior .gm-maps button.km-chip{min-height:0;text-transform:none;letter-spacing:0;font-weight:700;border-radius:0;background:#fff!important;color:var(--km-ink)!important;box-shadow:none!important;border:2px solid var(--km-edge)!important}
body.gb-interior .gm-maps button.km-chip.is-on{background:var(--km-grass)!important;color:#fff!important;box-shadow:inset -3px -3px 0 var(--km-grass-lo),inset 3px 3px 0 var(--km-grass-hi)!important;border-color:var(--km-grass-lo)!important}
