:root{--paper:#f6f1e6;--paper-deep:#efe6d6;--ink:#1b1712;--ink-soft:#3d342b;--ink-fade:rgba(27,23,18,0.6);--jade:#1f7a6c;--clay:#b24b2f;--gold:#c9a45c;--mist:rgba(255,255,255,0.6);--shadow:0 18px 45px rgba(26,20,15,0.18);--shadow-soft:0 10px 24px rgba(26,20,15,0.12);--radius-lg:22px;--radius-md:16px;--radius-sm:12px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body),"Noto Serif SC","Songti SC",serif;color:var(--ink);background:var(--paper)}body,html{height:100%}.app-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(255,255,255,.85),transparent 55%),radial-gradient(circle at 80% 10%,rgba(247,219,179,.35),transparent 45%),linear-gradient(120deg,var(--paper),var(--paper-deep));position:relative;overflow:hidden}.app-shell:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");opacity:.4;pointer-events:none;mix-blend-mode:multiply}.map-shell{position:relative;z-index:1;display:grid;grid-template-columns:320px minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;grid-gap:16px;gap:16px;padding:24px}.site-footer{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:24px;gap:24px;padding:28px 32px}.featured-strip,.site-footer{border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,241,228,.86));box-shadow:var(--shadow-soft);border:1px solid rgba(27,23,18,.12);position:relative;overflow:hidden}.featured-strip{grid-column:1/-1;padding:20px 22px}.featured-strip:before{content:"";position:absolute;inset:-40% 0 auto;height:140%;background:radial-gradient(circle at 18% 20%,rgba(31,122,108,.14),transparent 55%),radial-gradient(circle at 78% 10%,rgba(201,164,92,.16),transparent 60%);pointer-events:none}.featured-strip-header{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.featured-strip-title{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:22px;letter-spacing:.02em;color:rgba(27,23,18,.92)}.featured-strip-sub{margin-top:6px;font-size:13px;color:rgba(27,23,18,.58)}.featured-strip-actions{display:flex;align-items:center;gap:10px}.featured-card{position:relative;z-index:1;display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:18px;gap:18px;padding:14px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(27,23,18,.12);box-shadow:0 10px 26px rgba(27,23,18,.12);text-decoration:none;color:inherit;transition:transform .14s ease,box-shadow .14s ease}.featured-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(27,23,18,.14)}.featured-card--loading{height:160px;background:linear-gradient(110deg,rgba(240,233,220,.4) 10%,rgba(255,255,255,.8) 45%,rgba(240,233,220,.4) 80%);background-size:200% 100%;animation:featuredShimmer 1.2s ease-in-out infinite}@keyframes featuredShimmer{0%{background-position:0 0}to{background-position:200% 0}}.featured-card-image{border-radius:16px;overflow:hidden;background:rgba(27,23,18,.06);height:160px;display:flex;align-items:center;justify-content:center}.featured-card-image img{width:100%;height:100%;object-fit:cover}.featured-card-image-placeholder{font-size:13px;color:rgba(27,23,18,.55)}.featured-card-body{display:flex;flex-direction:column;justify-content:center;gap:10px}.featured-card-name{font-size:22px;font-weight:700;letter-spacing:.01em;color:rgba(27,23,18,.92)}.featured-card-meta{font-size:13px;color:rgba(27,23,18,.62)}.featured-card-cta{font-size:13px;color:rgba(31,122,108,.92);font-weight:600}.site-footer:before{content:"";position:absolute;inset:-40% 0 auto;height:140%;background:radial-gradient(circle at 20% 20%,rgba(201,164,92,.18),transparent 55%),radial-gradient(circle at 80% 10%,rgba(31,122,108,.12),transparent 60%);pointer-events:none}.footer-left,.footer-right{position:relative;z-index:1}.footer-brand{display:flex;align-items:center;gap:16px}.footer-logo{width:96px;height:96px;border-radius:22px;object-fit:contain;background:rgba(255,255,255,.85);box-shadow:0 8px 18px rgba(27,23,18,.12);mix-blend-mode:multiply}.footer-brand-text{display:flex;flex-direction:column;gap:6px}.footer-title{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:30px;letter-spacing:3px}.footer-sub{font-size:13px;color:var(--ink-fade)}.footer-desc{margin:16px 0 0;max-width:520px;font-size:14px;line-height:1.6;color:var(--ink-soft)}.footer-right{display:flex;justify-content:flex-end;align-items:flex-start;gap:28px;text-align:left}.footer-contact,.footer-sources{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft);text-align:center}.footer-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-fade);line-height:1.1;min-height:14px;white-space:nowrap}.footer-item{font-weight:600;color:var(--ink);white-space:nowrap}.footer-item-quoted{padding-left:.35em;text-indent:-.35em}.footer-sources .footer-item-quoted{padding-left:0;text-indent:0}.footer-qr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.footer-qr-image{width:140px;height:140px;border-radius:18px;border:1px solid rgba(27,23,18,.1);background:#fff;padding:6px;box-shadow:0 12px 26px rgba(27,23,18,.14)}.topbar{grid-column:1/-1;justify-content:space-between;padding:18px 24px;border-radius:var(--radius-lg);background:rgba(255,255,255,.72);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:600}.brand,.topbar{display:flex;align-items:center}.brand{gap:24px;flex-wrap:wrap;flex:1 1}.brand-identity{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-logo{width:84px;height:84px;border-radius:18px;object-fit:contain;box-shadow:0 6px 16px rgba(27,23,18,.1);background:transparent;mix-blend-mode:multiply}.brand-text{display:flex;flex-direction:column;gap:6px}.brand-title{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:26px;letter-spacing:2px}.brand-sub{font-size:13px;color:var(--ink-fade)}.brand-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1;justify-content:center;padding-left:12px}.category-chip{text-decoration:none;padding:8px 14px;border-radius:999px;font-size:12px;color:var(--ink-soft);background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px rgba(27,23,18,.12);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.category-chip:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(27,23,18,.12);background:rgba(255,255,255,1)}.topbar-actions{display:flex;align-items:center;gap:12px}.user-menu{position:relative}.user-avatar{width:40px;height:40px;border-radius:999px;border:1px solid rgba(27,23,18,.12);background:rgba(255,255,255,.82);color:rgba(27,23,18,.8);box-shadow:0 10px 22px rgba(27,23,18,.12);cursor:pointer;overflow:hidden;display:grid;place-items:center;font-weight:700}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar-placeholder{display:grid;place-items:center;width:100%;height:100%;background:rgba(27,23,18,.06);color:rgba(27,23,18,.38)}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:220px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(27,23,18,.12);box-shadow:0 16px 40px rgba(27,23,18,.16);padding:12px;z-index:2600}.user-dropdown-header{padding:4px 6px 10px;border-bottom:1px solid rgba(27,23,18,.08);margin-bottom:10px}.user-dropdown-name{font-weight:800;color:rgba(27,23,18,.9)}.user-dropdown-meta{margin-top:4px;font-size:12px;color:rgba(27,23,18,.55)}.user-dropdown-links{display:flex;flex-direction:column;gap:6px;padding:0 2px 10px}.user-dropdown-link{text-decoration:none;color:rgba(27,23,18,.85);font-size:13px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px rgba(27,23,18,.08)}.user-dropdown-link:hover{background:rgba(255,255,255,.95)}.user-dropdown-actions{display:flex;flex-direction:column;gap:8px}.badge{padding:6px 12px;border-radius:999px;background:rgba(31,122,108,.12);color:var(--jade);font-size:12px;letter-spacing:.5px}.ghost-button,.primary-button{border:none;border-radius:999px;padding:10px 16px;font-size:13px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.ghost-button{background:rgba(255,255,255,.7);color:var(--ink-soft);box-shadow:inset 0 0 0 1px rgba(27,23,18,.1)}.ghost-button--active{background:rgba(31,122,108,.12);color:rgba(31,122,108,.98);box-shadow:inset 0 0 0 1px rgba(31,122,108,.35)}.primary-button{background:var(--clay);color:#fff;box-shadow:0 12px 30px rgba(178,75,47,.25)}.primary-button--jade{background:var(--jade);box-shadow:0 12px 30px rgba(31,122,108,.22)}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.sidebar{display:flex;flex-direction:column;gap:16px;overflow:auto;min-height:0}.left-panel{grid-column:1;position:relative}.right-panel{grid-column:3;position:relative}.left-panel:before,.right-panel:before{content:"";position:absolute;inset:0;background-image:url(/panel-bg.svg);background-repeat:no-repeat;background-position:center 58%;background-size:120% auto;opacity:.45;pointer-events:none}.left-panel>*,.right-panel>*{position:relative;z-index:1}.panel{background:rgba(255,255,255,.78);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel h3{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:18px;margin:0 0 12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:12px;color:var(--ink-fade)}.field input,.field select,.field textarea{border:1px solid rgba(27,23,18,.15);border-radius:12px;padding:10px 12px;font-size:14px;background:rgba(255,255,255,.9)}.field textarea{min-height:80px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.map-stage{grid-column:2;position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:0;height:100%;box-shadow:var(--shadow);background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(231,222,209,.92))}.map-canvas{position:absolute;inset:0;min-height:0}.map-overlay{position:absolute;inset:16px;pointer-events:none;display:flex;flex-direction:column;gap:12px}.map-chip{align-self:flex-start;background:rgba(255,255,255,.8);padding:8px 14px;border-radius:999px;font-size:12px;color:var(--ink-fade);box-shadow:var(--shadow-soft)}.map-header{position:absolute;top:16px;left:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:4;pointer-events:auto}.map-header-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.map-header-actions{margin-left:auto}.map-header-total{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.85);color:var(--ink);box-shadow:var(--shadow-soft)}.map-header-total--muted{background:rgba(255,255,255,.7);color:var(--ink-fade)}.map-header-total--muted .map-header-value{color:var(--ink-soft);font-size:16px}.map-header-label{font-size:12px;color:var(--ink-fade)}.map-header-value{font-size:18px;font-weight:600;color:var(--jade)}.map-header-unit{font-size:12px;color:var(--ink-fade)}.map-header-toggle{margin-left:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(27,23,18,.1);background:rgba(255,255,255,.6);font-size:12px;color:var(--ink-soft);cursor:pointer;align-self:center;transition:transform .2s ease,background .2s ease}.map-header-toggle:hover{transform:translateY(-1px);background:rgba(255,255,255,.95)}.map-header-chip{padding:6px 12px}.map-header-provinces{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft);max-height:140px;overflow:auto}.map-header-loading{font-size:12px;color:var(--ink-fade)}.map-province-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(27,23,18,.08);background:rgba(255,255,255,.85);font-size:12px;color:var(--ink-soft);text-decoration:none;transition:background .2s ease,transform .2s ease}.map-province-chip:hover{background:rgba(255,255,255,.98);transform:translateY(-1px)}.map-province-chip--disabled{opacity:.6;cursor:default}.result-list{gap:10px;max-height:320px;overflow:auto}.result-list,.stats-panel{display:flex;flex-direction:column}.stats-panel{gap:12px}.stats-total{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-radius:14px;background:rgba(31,122,108,.08);color:var(--ink)}.stats-label{font-size:12px;color:var(--ink-fade)}.stats-value{font-size:22px;font-weight:700;color:var(--jade)}.stats-unit{font-size:12px;color:var(--ink-fade)}.stats-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow:auto;padding-right:4px}.stats-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.6);border:1px solid rgba(27,23,18,.06);font-size:12px}.stats-row:hover{background:rgba(255,255,255,.95)}.stats-row.active{border-color:rgba(178,75,47,.4);background:rgba(255,245,241,.95)}.stats-row:focus-visible{outline:2px solid rgba(178,75,47,.45);outline-offset:2px}.stats-name{color:var(--ink-soft)}.stats-count{font-weight:600;color:var(--clay)}.result-item{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid rgba(27,23,18,.08);cursor:pointer;transition:background .2s ease,transform .2s ease}.result-item:hover{background:rgba(255,255,255,.95);transform:translateY(-1px)}.result-item.active{border-color:rgba(178,75,47,.4);background:rgba(255,245,241,.95)}.result-title{font-size:14px;font-weight:600}.result-meta{font-size:12px;color:var(--ink-fade)}.detail-card{position:relative;width:100%;background:rgba(255,255,255,.95);border-radius:18px;box-shadow:var(--shadow);padding:16px;gap:12px;overflow:visible}.detail-card,.detail-header{display:flex;flex-direction:column}.detail-header{gap:6px}.detail-title{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:20px}.detail-tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(31,122,108,.12);color:var(--jade)}.detail-image{width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(27,23,18,.08)}.detail-image img{width:100%;height:auto;object-fit:contain;display:block}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-actions button{flex:1 1}.comment-list{gap:8px;max-height:140px;overflow:auto;padding-right:4px}.comment-list,.comments-panel{display:flex;flex-direction:column}.comments-panel{gap:12px;flex:1 1;min-height:0}.comments-panel-list{max-height:none;flex:1 1}.comment-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.comment-delete{margin-left:auto;padding:3px 10px;font-size:11px;border-radius:999px}.comments-panel-pagination{justify-content:space-between;align-items:center}.comment-time{font-size:11px;color:var(--ink-fade)}.comment-content{font-size:12px;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word}.comment-item{font-size:12px;padding:8px;background:rgba(246,241,230,.8);border-radius:10px}.footer-note{font-size:11px;color:var(--ink-fade)}.empty-detail{display:flex;flex-direction:column;gap:8px}.empty-detail-note{margin-top:6px}.hot-panel{display:flex;flex-direction:column;gap:12px;min-height:0}.hot-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hot-panel-titleText{font-family:var(--font-display),"ZCOOL XiaoWei",serif;font-size:20px;line-height:1.15}.hot-panel-sub{margin-top:4px;font-size:11px;color:var(--ink-fade)}.hot-panel-refresh{white-space:nowrap;padding:8px 12px;font-size:12px;border-radius:999px}.hot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:start;grid-auto-flow:dense;padding-bottom:22px}.hot-chip{position:relative;text-align:left;border-radius:14px;padding:8px 10px;min-height:46px;border:1px solid rgba(27,23,18,.14);border-left:3px solid var(--hot-ink);background:rgba(246,241,230,.92);box-shadow:0 10px 22px rgba(26,20,15,.08);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;cursor:pointer;overflow:hidden;width:100%}.hot-chip:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(26,20,15,.12);border-color:rgba(27,23,18,.2);background:rgba(246,241,230,.96)}.hot-chip:active{transform:translateY(0)}.hot-chip-kind{display:inline-flex;align-items:center;font-size:11px;color:var(--hot-ink);background:rgba(246,241,230,.75);border:1px solid rgba(27,23,18,.12);padding:3px 8px;border-radius:999px;position:relative;z-index:1}.hot-chip-label{display:block;margin-top:6px;font-size:12px;font-weight:500;color:var(--ink-soft);font-family:Songti SC,STSong,SimSun,serif;position:relative;z-index:1}.hot-chip--person{--hot-ink:var(--jade)}.hot-chip--city{--hot-ink:var(--clay)}.hot-chip--dynasty{--hot-ink:var(--gold)}.hot-chip--province{--hot-ink:rgba(27,23,18,0.62)}.hot-chip--accent1{filter:saturate(1.05)}.hot-chip--accent2{filter:saturate(1.1) contrast(1.02)}.hot-panel-note{margin-top:0}.hot-panel--compact .hot-panel-sub{display:none}.hot-panel--compact .hot-grid{gap:7px}.hot-panel--compact .hot-chip{min-height:42px;padding:7px 10px}.hot-panel--compact .hot-chip-label{margin-top:6px}.right-panel>.empty-detail,.right-panel>.rank-panel{flex:1 1;min-height:260px}.right-panel>.empty-detail{display:flex;flex-direction:column;overflow:hidden}.right-panel>.empty-detail .hot-panel{flex:1 1 auto}.right-panel>.empty-detail .hot-grid{flex:1 1 auto;align-content:start}.rank-panel{display:flex;flex-direction:column;overflow:hidden}.rank-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rank-list{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:2px}.rank-item{text-align:left}.rank-row{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px;align-items:start}.rank-index{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(31,122,108,.12);color:var(--jade);font-weight:700;font-size:12px}.rank-titleRow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.rank-count{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(178,75,47,.12);color:var(--clay);white-space:nowrap}.tomb-label{display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-radius:8px;background:rgba(255,255,255,.92);border:1px solid rgba(27,23,18,.08);box-shadow:0 6px 16px rgba(26,20,15,.15);font-size:11px;color:var(--ink-soft);line-height:1.2;white-space:nowrap;pointer-events:none}.amap-marker-label{background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important}.tomb-label--interactive{pointer-events:auto;cursor:pointer}.tomb-label--nameOnly{padding:3px 6px}.tomb-label-name{font-weight:600;color:var(--clay)}.tomb-label-region{color:var(--ink-fade)}.detail-page{min-height:100vh;padding:32px;display:flex;justify-content:center;align-items:flex-start}.detail-page-card{width:min(900px,92vw);background:rgba(255,255,255,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:16px}.detail-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-page-meta{font-size:12px;color:var(--ink-fade);margin-top:4px}.detail-page-image img{width:100%;border-radius:12px;border:1px solid rgba(27,23,18,.08)}.detail-page-section h3{margin:0 0 6px}.detail-page-section li,.detail-page-section p{font-size:14px;color:var(--ink-soft);line-height:1.6}.profile-avatar-preview{width:64px;height:64px;border-radius:16px;object-fit:cover;border:1px solid rgba(27,23,18,.12);box-shadow:0 10px 24px rgba(27,23,18,.14)}.category-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.category-search input{flex:1 1;min-width:220px;border:1px solid rgba(27,23,18,.15);border-radius:12px;padding:10px 12px;font-size:14px;background:rgba(255,255,255,.9)}.province-list{display:flex;flex-direction:column;gap:10px}.province-item{display:block;color:inherit;text-decoration:none}@media (max-width:1024px){.map-shell{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto}.sidebar{flex-direction:row;overflow:auto}.right-panel{flex-direction:column}.panel{min-width:260px}.map-stage{min-height:0}.site-footer{grid-template-columns:1fr;text-align:left}.footer-right{justify-content:space-between;text-align:left}.featured-card{grid-template-columns:1fr}.featured-card-image{height:190px}}@media (max-width:720px){.topbar{flex-direction:column;align-items:flex-start;gap:12px}.brand,.brand-nav{width:100%}.map-shell{padding:16px}.site-footer{padding:22px}.footer-brand,.footer-right{flex-direction:column;align-items:flex-start}.footer-right{gap:18px}.detail-card{position:static;width:100%}}