:root{font-family:var(--font-ui);color:#272822;background:#f5f1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f5f1e8;--paper-deep: #ebe4d6;--surface: #fffdf8;--surface-strong: #ffffff;--ink: #272822;--ink-soft: #625f56;--line: #ded5c4;--pine: #31584d;--pine-deep: #24463d;--pine-soft: #dfe9e3;--cinnabar: #a44735;--cinnabar-soft: #f4e2dc;--bronze: #a6844f;--shadow: 0 18px 45px rgba(67, 54, 34, .08);color-scheme:light}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 12% -20%,rgba(166,132,79,.13),transparent 34%),var(--paper)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(164,71,53,.28);outline-offset:2px}#root{min-height:100vh;min-height:100dvh}.pageShell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.detailEyebrow{color:var(--cinnabar);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}button{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:10px;min-height:38px;padding:8px 12px;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}button:hover:not(:disabled){border-color:#baa98c;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.48}.primaryButton{border-color:var(--pine);background:var(--pine);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.primaryButton:hover:not(:disabled){background:var(--pine-deep);border-color:var(--pine-deep);box-shadow:0 8px 18px rgba(49,88,77,.18)}.dangerButton{color:#9b392b;border-color:#e6bcb2;background:#fffaf8}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--ink);background:var(--surface-strong)}input::placeholder{color:#9a968c}.siteHeader{min-height:72px;padding:10px clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(151,131,98,.2);background:rgba(255,253,248,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-width:max-content}.brand img{width:43px;height:43px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--surface-strong),0 0 0 3px #bba478}.brandText{display:flex;flex-direction:column;gap:1px}.brandText strong{font-family:var(--font-display);font-size:19px;letter-spacing:.06em}.brandText small{color:var(--ink-soft);font-size:11px;letter-spacing:.12em}.headerRight,.siteNav,.siteNav a,.headerAdmin{display:flex;align-items:center}.headerRight{gap:14px}.siteNav{gap:4px}.siteNav a{min-height:44px;gap:7px;padding:9px 14px;border-radius:10px;color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:650}.siteNav a:hover{color:var(--pine);background:rgba(49,88,77,.06)}.siteNav a.active{color:var(--pine-deep);background:var(--pine-soft)}.headerAdmin{gap:6px;min-height:38px;color:var(--cinnabar)}.siteFooter{margin-top:auto;min-height:76px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;color:#7d786c;border-top:1px solid rgba(151,131,98,.18);font-size:13px}.footerDot{color:var(--bronze)}.loadingPage{flex:1;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-soft)}.loadingPage img{width:58px;height:58px;border-radius:50%;margin-bottom:18px}.loadingSpinner{width:30px;height:30px;border:3px solid var(--paper-deep);border-top-color:var(--cinnabar);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.publicHome{flex:1}.homeSeoIntro{padding:clamp(20px,2.5vw,32px) clamp(18px,5vw,70px);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.2fr) minmax(420px,.9fr);align-items:center;gap:clamp(24px,3vw,48px);border-bottom:1px solid rgba(151,131,98,.18);background:linear-gradient(90deg,rgba(255,253,248,.96),rgba(255,253,248,.72)),radial-gradient(circle at 85% 10%,rgba(164,71,53,.11),transparent 28%)}.homeSeoIntro h1{margin:5px 0 0;font-family:var(--font-display);font-size:clamp(24px,2.1vw,30px);line-height:1.25;color:var(--ink)}.homeSeoIntro p{max-width:1100px;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.85}.articleHero h1,.aboutHero h1,.adminLoginCard h1,.adminToolbar h1{font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;margin:7px 0 8px;color:var(--ink)}.heritageStats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));min-width:min(100%,500px);border:1px solid rgba(166,132,79,.28);border-radius:16px;background:rgba(255,253,248,.82);overflow:hidden}.heritageStats>div{min-height:68px;padding:11px 16px;display:flex;align-items:center;gap:11px;color:var(--pine)}.heritageStats>div+div{border-left:1px solid rgba(166,132,79,.22)}.heritageStats span{display:flex;flex-direction:column;gap:2px;color:var(--ink-soft);font-size:11px}.heritageStats strong{color:var(--ink);font-size:20px;line-height:1.1}.daughterInvitation{margin:18px clamp(12px,3vw,42px) 0;padding:22px clamp(20px,3vw,34px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;border:1px solid rgba(164,71,53,.24);border-radius:18px;background:linear-gradient(135deg,rgba(255,251,243,.98),rgba(246,233,219,.72));box-shadow:0 10px 28px rgba(86,57,35,.06)}.daughterInvitationMark,.womenRecordingNoticeMark{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--cinnabar);background:rgba(164,71,53,.1)}.daughterInvitation h2{margin:4px 0 6px;color:var(--ink);font-family:var(--font-display);font-size:clamp(20px,2vw,26px)}.daughterInvitation p{max-width:980px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.8}.daughterInvitationActions{min-width:144px;display:flex;align-items:stretch;flex-direction:column;gap:7px}.daughterInvitationActions a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:13px;font-weight:750;text-decoration:none}.daughterInvitationActions .primary{padding:9px 14px;gap:4px;color:#fff;background:var(--cinnabar)}.daughterInvitationActions .secondary{min-height:32px;color:var(--ink-soft);font-size:12px}.explorerSection{padding:20px clamp(12px,3vw,42px) 36px}.explorerToolbar{width:100%;max-width:2200px;margin:0 auto 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.searchArea{position:relative;z-index:12;width:min(100%,420px)}.familySearch,.compactSearch{display:flex;align-items:center;gap:8px;border:1px solid #cfc4b1;border-radius:12px;background:var(--surface-strong);color:var(--ink-soft)}.familySearch{min-height:48px;padding:3px 7px 3px 14px;box-shadow:0 8px 24px rgba(72,58,36,.07)}.familySearch:focus-within,.compactSearch:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px rgba(49,88,77,.11)}.familySearch input,.compactSearch input{min-height:38px;border:0;padding:6px 2px;background:transparent;outline:0}.familySearch button{min-height:34px;border:0;padding:5px 8px;color:var(--ink-soft);background:transparent;font-size:12px}.searchResults{position:absolute;top:calc(100% + 7px);left:0;right:0;max-height:360px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--surface-strong);box-shadow:var(--shadow)}.searchResults button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;text-align:left}.searchResults button:hover,.searchResults button[aria-selected=true]{background:var(--pine-soft);transform:none}.searchResults button span{font-weight:700}.searchResults button small{color:var(--ink-soft)}.noSearchResult{padding:18px 12px;color:var(--ink-soft);text-align:center}.explorerToolbarRight,.viewModeActions{display:flex;align-items:center}.explorerToolbarRight{justify-content:flex-end;gap:12px;min-width:0}.viewModeActions{flex:0 0 auto;gap:7px}.viewModeActions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 11px;white-space:nowrap;color:var(--ink-soft)}.viewModeActions .focusModeButton{color:var(--pine-deep);border-color:rgba(49,88,77,.28);background:var(--pine-soft);font-weight:700}.viewModeActions .focusModeButton.active{color:#fff;border-color:var(--pine);background:var(--pine)}.explorerGrid{width:100%;max-width:2200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) clamp(310px,18vw,380px);gap:14px;align-items:stretch}.treePanel,.personDetail,.adminPanel{border:1px solid rgba(151,131,98,.26);border-radius:18px;background:var(--surface);box-shadow:0 9px 34px rgba(67,54,34,.055)}.treePanel{min-width:0;min-height:640px;position:relative;overflow:hidden}.publicHome .treePanel,.publicHome .personDetail{height:clamp(680px,72vh,1280px);height:clamp(680px,72dvh,1280px)}.publicHome .treeStage{min-height:0}.localNotice{position:absolute;left:14px;bottom:12px;z-index:5;padding:7px 10px;border-radius:8px;background:rgba(255,253,248,.92);color:#826a43;font-size:11px;box-shadow:0 4px 12px rgba(67,54,34,.08);display:flex;align-items:center;gap:8px}.localNotice button{min-height:0;padding:2px 6px;border-color:rgba(130,106,67,.32);background:rgba(255,255,255,.72);color:inherit;font-size:11px}.treeStage{position:relative;width:100%;height:100%;min-height:640px;overflow:hidden;background:radial-gradient(circle,rgba(119,98,64,.13) 1px,transparent 1.4px),var(--surface);background-size:22px 22px}.familyTreeSvg{display:block;width:100%;height:100%;min-height:inherit;touch-action:none;cursor:grab}.familyTreeSvg:active{cursor:grabbing}.treeControls{position:absolute;z-index:8;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(151,131,98,.24);border-radius:12px;background:rgba(255,253,248,.94);box-shadow:0 8px 20px rgba(67,54,34,.08)}.treeControls button{width:36px;min-height:34px;padding:7px;border:0;background:transparent;color:var(--ink-soft)}.treeControls button:hover{color:var(--pine);background:var(--pine-soft);transform:none}.treeControls .branchToggle{width:auto;padding-inline:10px;font-size:12px;white-space:nowrap}.treeHint{position:absolute;z-index:4;left:15px;top:15px;color:#8e897f;font-size:11px;pointer-events:none}.treeLegend{position:absolute;z-index:5;right:14px;bottom:14px;min-height:32px;padding:7px 10px;display:flex;align-items:center;gap:13px;border:1px solid rgba(151,131,98,.24);border-radius:10px;color:#766f64;background:rgba(255,253,248,.9);box-shadow:0 5px 14px rgba(67,54,34,.07);font-size:11px;pointer-events:none}.treeLegend>span{display:inline-flex;align-items:center;gap:6px}.treeLegendMarker{width:8px;height:8px;display:inline-block;flex:0 0 auto;background:var(--bronze)}.treeLegendMarker.son{border-radius:50%}.treeLegendMarker.daughter{border-radius:2px;background:#a86154;transform:rotate(45deg) scale(.86)}.generationLane{fill:rgba(238,232,218,.46)}.generationLane.alternate{fill:rgba(223,233,227,.36)}.generationLane.isActive{fill:rgba(164,71,53,.09);stroke:rgba(164,71,53,.38);stroke-width:1.2}.generationLabel{fill:#756d5f;font-family:Songti SC,STSong,serif;font-size:14px;font-weight:700;letter-spacing:.08em}.generationLabel.isActive{fill:var(--cinnabar);font-weight:800}.treeLinks path{fill:none;stroke:#a89b84;stroke-width:1.6;opacity:.78}.relationshipLinks{pointer-events:none}.relationshipLink{display:none;fill:none}.personNode{cursor:pointer}.personNode .personHitArea{fill:transparent;pointer-events:all}.personNode .personCard{fill:rgba(255,253,248,.98);stroke:#cdbfaa;stroke-width:1.25;filter:drop-shadow(0 4px 7px rgba(67,54,34,.07));transition:fill .16s ease,stroke .16s ease}.personNode .personRelationshipHalo{fill:none;stroke:transparent;stroke-width:0;opacity:0;pointer-events:none}.personNode:hover .personCard,.personNode:focus .personCard{fill:#fff;stroke:var(--pine);stroke-width:1.8}.personNode .personMarker{fill:var(--bronze);stroke:#fffdf8;stroke-width:2}.personNode .personMarkerDaughter{display:none}.personNode .personMetaBadge{display:none;pointer-events:none}.personNode.isDaughter .personMarkerSon{display:none}.personNode.isDaughter .personMarkerDaughter{display:block;fill:#a86154;stroke:#fffdf8}.personNode.isDaughter .personMetaBadge{display:block;fill:#f6e7e2;stroke:#d9aaa0;stroke-width:.6}.personName{fill:var(--ink);font-family:Songti SC,STSong,serif;font-size:14px;font-weight:700}.personMeta{fill:#7a7469;font-size:10px}.personNode.isDaughter .personMeta{fill:#8e5147;font-weight:650}.nodeToggle{cursor:pointer}.nodeToggle .nodeToggleCircle{fill:rgba(255,253,248,.92);stroke:#cdbfaa;stroke-width:1.1;transition:fill .16s ease,stroke .16s ease}.nodeToggle .nodeToggleGlyph{fill:#7a7469;font-size:13px;font-weight:800;pointer-events:none;transition:fill .16s ease}.nodeToggle.isCollapsed .nodeToggleCircle{fill:var(--cinnabar-soft);stroke:var(--cinnabar)}.nodeToggle.isCollapsed .nodeToggleGlyph{fill:var(--cinnabar)}.nodeToggle:hover .nodeToggleCircle,.nodeToggle:focus .nodeToggleCircle{fill:var(--pine);stroke:var(--pine)}.nodeToggle:hover .nodeToggleGlyph,.nodeToggle:focus .nodeToggleGlyph{fill:#fff}.personNode.isSelected .personCard{fill:#fff9f5;stroke:var(--cinnabar);stroke-width:2.4}.personNode.isSelected .personMarker{fill:var(--cinnabar)}.personNode.isMatch:not(.isSelected) .personCard{fill:#fff8df;stroke:#c89a37;stroke-width:2}@media(min-width:901px){.generationLane.isActive{stroke:none}.generationLane:not(.alternate).isActive{fill:rgba(238,232,218,.46)}.generationLane.alternate.isActive{fill:rgba(223,233,227,.36)}.generationLabel.isActive{fill:#756d5f;font-weight:700}.relationshipLink{display:block;stroke:var(--cinnabar);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.7;opacity:.88}.relationshipLink.isChild{stroke-width:2.35;opacity:.72}.relationshipLink.isAnimated{stroke-dasharray:1;stroke-dashoffset:1;animation:relationshipLinkTrace .21s cubic-bezier(.22,1,.36,1) var(--relationship-delay, 0ms) both}.personNode.isRelationshipAncestor .personRelationshipHalo,.personNode.isRelationshipChild .personRelationshipHalo{--relationship-halo-opacity: .82;--relationship-halo-width: 2;stroke:var(--cinnabar);stroke-width:var(--relationship-halo-width);opacity:var(--relationship-halo-opacity)}.personNode.isRelationshipChild .personRelationshipHalo{--relationship-halo-opacity: .64;--relationship-halo-width: 1.7}.personNode.isRelationshipAnimated .personRelationshipHalo{animation:relationshipNodeReveal .23s cubic-bezier(.22,1,.36,1) var(--relationship-delay, 0ms) both}}@keyframes relationshipLinkTrace{0%{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0}}@keyframes relationshipNodeReveal{0%{opacity:0;stroke-width:.8}65%{opacity:1;stroke-width:2.8}to{opacity:var(--relationship-halo-opacity, .82);stroke-width:var(--relationship-halo-width, 2)}}@media(min-width:901px)and (prefers-reduced-motion:reduce){.relationshipLink.isAnimated,.personNode.isRelationshipAnimated .personRelationshipHalo{animation:none}.relationshipLink.isAnimated{stroke-dashoffset:0}}.personDetail{min-width:0;padding:22px;overflow:auto}.mobileSheetHeader,.detailSheetBackdrop,.publicHome.isFocusMode .homeSeoIntro{display:none}.publicHome.isFocusMode .explorerSection{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;min-height:0;padding:12px clamp(12px,2vw,32px) 16px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 12% -20%,rgba(166,132,79,.11),transparent 34%),var(--paper)}.publicHome.isFocusMode .explorerToolbar{flex:0 0 auto;margin-bottom:10px;padding:8px;border:1px solid rgba(151,131,98,.22);border-radius:16px;background:rgba(255,253,248,.94);box-shadow:0 8px 26px rgba(67,54,34,.06)}.publicHome.isFocusMode .explorerGrid{flex:1;min-height:0;height:auto}.publicHome.isFocusMode .treePanel,.publicHome.isFocusMode .personDetail,.publicHome.isFocusMode .treeStage{height:100%;min-height:0}.publicHome.isFocusMode .explorerGrid.detailCollapsed{grid-template-columns:minmax(0,1fr)}.publicHome.isFocusMode .explorerGrid.detailCollapsed .personDetail{display:none}.personDetail.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-soft)}.detailHeading{display:flex;align-items:center;gap:13px;margin:14px 0 18px}.detailAvatar,.listAvatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-family:Songti SC,STSong,serif;font-weight:800;color:#fff;background:var(--pine)}.detailAvatar{width:48px;height:48px;box-shadow:0 0 0 4px var(--pine-soft)}.detailHeading h2{margin:0;font-family:Songti SC,STSong,serif;font-size:23px}.detailHeading p{margin:4px 0 0;color:var(--ink-soft);font-size:12px}.lineagePath{display:flex;align-items:center;flex-wrap:wrap;gap:1px;padding:11px;border-radius:11px;background:#f2eee5}.lineagePath span{display:inline-flex;align-items:center}.lineagePath button{min-height:28px;padding:3px 5px;border:0;background:transparent;color:var(--pine-deep);font-size:11px;font-weight:700}.lineagePath button:hover{transform:none;text-decoration:underline}.relationBlock{margin-top:21px}.relationLabel{margin-bottom:8px;display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12px;font-weight:700}.relationLabel span{min-width:20px;padding:1px 6px;border-radius:999px;color:var(--pine);background:var(--pine-soft);text-align:center}.childrenList{display:flex;flex-direction:column;gap:6px}.relationPerson{width:100%;min-height:46px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;text-align:left;background:#fff}.relationPerson span{font-weight:700}.relationPerson small{color:var(--ink-soft)}.relationEmpty{padding:12px;border:1px dashed var(--line);border-radius:10px;color:#8d887d;font-size:12px}.detailTip{margin-top:24px;padding-top:14px;border-top:1px solid var(--line);color:#8b8579;font-size:11px}.detailTopline,.mobileSheetActions{display:flex;align-items:center}.detailTopline{justify-content:space-between;gap:12px}.detailShareCard{position:relative;width:100%;min-height:88px;margin:0 0 18px;padding:10px 12px;display:grid;grid-template-columns:56px minmax(0,1fr) 32px;align-items:center;gap:12px;overflow:hidden;border:1px solid rgba(163,59,48,.22);border-radius:15px;color:var(--ink);background:radial-gradient(circle at 92% 4%,rgba(163,59,48,.08),transparent 30%),linear-gradient(135deg,#fffdf7,#f5efe3);box-shadow:0 8px 22px rgba(82,61,32,.08);text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.detailShareCard:after{content:"";position:absolute;right:-24px;bottom:-32px;width:88px;height:88px;border:1px solid rgba(168,139,89,.18);border-radius:50%;box-shadow:0 0 0 10px rgba(168,139,89,.04),0 0 0 20px rgba(168,139,89,.024);pointer-events:none}.detailShareCard:hover{border-color:rgba(163,59,48,.38);box-shadow:0 12px 28px rgba(82,61,32,.13);transform:translateY(-2px)}.detailShareCard:active{transform:translateY(0)}.detailPageLink{min-height:58px;margin:0 0 18px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;border:1px solid rgba(49,88,77,.2);border-radius:13px;color:var(--pine-deep);background:rgba(230,238,233,.55);text-decoration:none;transition:border-color .16s ease,background .16s ease}.detailPageLink>span{display:inline-flex;align-items:center;gap:8px}.detailPageLink>small{grid-column:1;padding-left:25px;color:var(--ink-soft)}.detailPageLink>svg{grid-column:2;grid-row:1 / 3}.detailPageLink:hover{border-color:rgba(49,88,77,.42);background:rgba(230,238,233,.86)}.detailShareCardPreview{position:relative;width:56px;height:68px;display:block;overflow:visible;border:1px solid rgba(155,127,85,.34);border-radius:3px;color:#342f28;background:linear-gradient(90deg,transparent 49%,rgba(168,139,89,.2) 50%,transparent 51%),linear-gradient(to bottom,#fbf8ef,#eee3d0);box-shadow:0 5px 10px rgba(79,57,27,.16)}.detailShareCardPreview:before,.detailShareCardPreview:after{content:"";position:absolute;left:-3px;width:calc(100% + 6px);height:5px;border-radius:999px;background:linear-gradient(90deg,#6f4b29,#b48652 48%,#6d4827);box-shadow:0 1px 2px rgba(56,35,16,.28)}.detailShareCardPreview:before{top:-3px}.detailShareCardPreview:after{bottom:-3px}.detailShareCardSeal{position:absolute;top:8px;left:7px;width:17px;height:17px;display:grid;place-items:center;border:1px solid rgba(142,49,41,.62);color:#8e3129;font-family:Songti SC,STSong,serif;font-size:10px;font-weight:800;line-height:1}.detailShareCardPreviewName{position:absolute;top:28px;left:5px;right:5px;color:#3c352c;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:9px;font-weight:700;line-height:1.2;text-align:center;overflow-wrap:anywhere}.detailShareCardQr{position:absolute;right:7px;bottom:7px;width:12px;height:12px;border:1px solid rgba(41,39,32,.78);background:conic-gradient(from 90deg,#292720 25%,transparent 0 50%,#292720 0 75%,transparent 0) 0 0 / 4px 4px}.detailShareCardCopy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.detailShareCardKicker{margin-bottom:3px;color:#9a7140;font-size:10px;font-weight:800;letter-spacing:.16em}.detailShareCardCopy strong{max-width:100%;color:#473b2e;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:14px;font-weight:760;line-height:1.4;overflow-wrap:anywhere}.detailShareCardCopy small{margin-top:4px;color:#827665;font-size:10px;line-height:1.35}.detailShareCardArrow{position:relative;z-index:1;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#963a30;background:rgba(163,59,48,.09);transition:color .18s ease,background .18s ease,transform .18s ease}.detailShareCard:hover .detailShareCardArrow{color:#fffaf2;background:#9c3b31;transform:translate(2px)}.mobileSheetActions{gap:2px}.shareDialogBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(38,37,31,.3);backdrop-filter:blur(7px);animation:shareBackdropIn .18s ease-out}.shareDialog{position:relative;width:min(1180px,96vw);max-height:min(900px,94vh);max-height:min(900px,94dvh);display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(390px,.92fr);overflow:hidden;border:1px solid rgba(151,131,98,.24);border-radius:28px;background:radial-gradient(circle at 92% 110%,rgba(166,132,79,.12),transparent 33%),rgba(255,253,248,.98);box-shadow:0 34px 90px rgba(41,35,26,.24);animation:shareDialogIn .22s ease-out}.shareDialogClose{position:absolute;z-index:5;top:18px;right:20px;width:46px;min-height:46px;padding:0;border:0;background:transparent;color:var(--pine-deep);font-family:ui-sans-serif,sans-serif;font-size:40px;font-weight:200;line-height:1}.shareDialogClose:hover{background:rgba(49,88,77,.06);transform:none}.sharePreviewColumn{min-width:0;padding:clamp(24px,3vw,38px);display:grid;place-items:center;overflow:auto;background:rgba(241,235,223,.5)}.sharePoster{--share-paper-bg: #f6f2e8;--share-paper-light: #faf7ef;--share-ink-primary: #292720;--share-ink-secondary: #625b51;--share-ink-tertiary: #887e70;--share-cinnabar: #a33b30;--share-cinnabar-dark: #8e3129;--share-bronze: #a88b59;--share-bronze-soft: #c1af8b;--share-border: rgba(155, 127, 85, .28);--share-bamboo: #74796d;--share-mountain: #746d62;--share-font-serif: "Songti SC", STSong, "Noto Serif CJK SC", serif;--share-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--share-font-display: "Songti SC", STSong, "Noto Serif CJK SC", serif;--ancestor-font-size: 4cqw;--ancestor-meta-size: 2.14cqw;--current-font-size: 8.12cqw;--connector-height: 3.2cqw;position:relative;isolation:isolate;container-type:inline-size;width:min(100%,540px);aspect-ratio:3 / 4;min-height:0;padding:5.9% 6.7% 3.9%;display:flex;align-items:center;flex-direction:column;overflow:hidden;border:1px solid var(--share-border);border-radius:18px;color:var(--share-ink-primary);background:linear-gradient(to bottom,#f8f5ed 0%,var(--share-paper-bg) 50%,#f3eee3 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 5px 16px rgba(70,55,35,.04);font-family:var(--share-font-serif)}.sharePoster[data-lineage-density=balanced]{--ancestor-font-size: 3.89cqw;--ancestor-meta-size: 2.04cqw}.sharePoster[data-lineage-density=compact]{--ancestor-font-size: 3.56cqw;--ancestor-meta-size: 1.95cqw}.sharePoster[data-lineage-density=dense]{--ancestor-font-size: 3.22cqw;--ancestor-meta-size: 1.75cqw}.sharePoster:before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(13deg,rgba(104,88,64,.5) 0 .08cqw,transparent .08cqw 2.8cqw),repeating-linear-gradient(97deg,rgba(104,88,64,.32) 0 .06cqw,transparent .06cqw 4.6cqw);mix-blend-mode:multiply;opacity:.07;pointer-events:none}.sharePoster:after{content:"";position:absolute;z-index:5;top:.9cqw;right:.9cqw;bottom:.9cqw;left:.9cqw;border:1px solid rgba(143,123,91,.1);border-radius:15px;pointer-events:none}.posterBamboo{position:absolute;z-index:1;overflow:visible;color:var(--share-bamboo);fill:currentColor;pointer-events:none;user-select:none}.posterBambooStem{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}.posterBambooTop{top:-1.3cqw;right:-2.6cqw;width:24cqw;opacity:.1}.posterBambooBottom{bottom:4.2cqw;left:-3.8cqw;width:16.5cqw;opacity:.055}.posterMountains{position:absolute;z-index:0;inset:auto 0 0;width:100%;height:19cqw;overflow:visible;fill:var(--share-mountain);pointer-events:none;user-select:none}.posterMountains path:nth-child(1){opacity:.025}.posterMountains path:nth-child(2){opacity:.045}.posterMountains path:nth-child(3){opacity:.07}.posterBrand,.posterLineage,.posterCurrent,.posterQrBlock{position:relative;z-index:2}.posterBrand{flex:0 0 auto;display:flex;align-items:center;flex-direction:column;gap:1.55cqw}.posterSeal{position:relative;width:9.35cqw;aspect-ratio:1;overflow:hidden;border-radius:.72cqw;mix-blend-mode:multiply;transform:rotate(-.8deg)}.posterSeal img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.96) contrast(1.03)}.posterBrand a{color:var(--share-ink-primary);font-family:var(--share-font-display);font-size:5.55cqw;font-weight:500;letter-spacing:.08em;text-decoration:none}.posterBrandDivider{width:18.8cqw;height:1.3cqw;overflow:visible;fill:none;stroke:var(--share-bronze);stroke-width:1;opacity:.62}.posterLineageArea{width:min(100%,66cqw);min-height:0;display:flex;align-items:center;justify-content:center;flex:1 1 auto;flex-direction:column}.posterLineage{width:100%;display:flex;align-items:center;flex:0 0 auto;flex-direction:column}.posterAncestor{width:100%;display:flex;align-items:center;flex-direction:column}.posterAncestorText,.posterAncestorOmissionText{min-height:calc(var(--ancestor-font-size) + var(--ancestor-meta-size) + 1.05cqw);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.posterAncestor strong{max-width:100%;color:#2b2924;font-family:var(--share-font-display);font-size:var(--ancestor-font-size);font-weight:500;line-height:1.15;letter-spacing:.08em;white-space:nowrap;transform-origin:center}.posterAncestor strong.long{font-size:calc(var(--ancestor-font-size) * .92)}.posterAncestor strong.extraLong{font-size:max(2.99cqw,calc(var(--ancestor-font-size) * .83));transform:scaleX(.94)}.posterAncestor span,.posterCurrent>span:not(.posterLineageDot):not(.posterCurrentCrest){margin-top:.65cqw;color:rgba(98,91,81,.76);font-family:var(--share-font-sans);font-size:var(--ancestor-meta-size);font-weight:430;letter-spacing:.03em;line-height:1.2;white-space:nowrap}.posterConnector{position:relative;width:1px;height:var(--connector-height);min-height:0;margin:0;display:block;flex:0 0 auto;background:rgba(135,100,63,.48)}.posterAncestor:not(:last-child) .posterConnector:after,.posterAncestorOmission .posterConnector:after{content:"";position:absolute;left:50%;top:50%;width:.68cqw;height:.68cqw;border-radius:50%;background:var(--share-cinnabar);transform:translate(-50%,-50%)}.posterAncestor:last-child strong{color:#2b2c27}.posterAncestor:last-child .posterConnector{width:1.4px;background:linear-gradient(to bottom,rgba(135,100,63,.48),var(--share-cinnabar-dark))}.posterAncestorOmission{width:100%;display:flex;align-items:center;flex-direction:column}.posterAncestorOmissionText strong{color:var(--share-ink-tertiary);font-family:var(--share-font-serif);font-size:2.8cqw;font-weight:500;letter-spacing:.16em;line-height:1}.posterAncestorOmissionText span{margin-top:.4cqw;color:var(--share-ink-tertiary);font-family:var(--share-font-sans);font-size:1.65cqw;letter-spacing:.04em}.posterCurrent{position:relative;isolation:isolate;width:100%;display:flex;align-items:center;flex:0 0 auto;flex-direction:column}.posterCurrentCrest{position:absolute;z-index:0;left:50%;top:58%;width:22.5cqw;aspect-ratio:1;transform:translate(-50%,-50%)}.posterCurrentCrest svg{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--share-cinnabar-dark);stroke-width:1.4;opacity:.05}.posterCurrentCrest circle:not(:first-child){fill:var(--share-cinnabar-dark);stroke:none}.posterLineageDot{position:relative;z-index:1;width:1.72cqw;height:1.72cqw;margin:-.78cqw 0 1.55cqw;border-radius:50%;background:var(--share-cinnabar-dark);box-shadow:0 0 0 .48cqw rgba(142,49,41,.075)}.posterCurrent strong{position:relative;z-index:1;max-width:100%;color:#9a342a;font-family:var(--share-font-display);font-size:var(--current-font-size);font-weight:500;line-height:1.05;letter-spacing:.05em;white-space:nowrap;transform-origin:center}.posterCurrent strong.long{font-size:calc(var(--current-font-size) * .9)}.posterCurrent strong.extraLong{font-size:max(5.78cqw,calc(var(--current-font-size) * .72));transform:scaleX(.94)}.posterCurrent>span:not(.posterLineageDot,.posterCurrentCrest){position:relative;z-index:1;margin-top:1.7cqw;color:#806e52;font-size:2.78cqw;font-weight:480}.posterQrBlock{width:min(100%,45cqw);margin-top:5.4cqw;display:flex;align-items:center;flex:0 0 auto;flex-direction:column}.posterQrFrame{width:14.4cqw;height:14.4cqw;padding:.86cqw;display:grid;place-items:center;border:1px solid rgba(143,123,91,.2);border-radius:.85cqw;background:#fffefa}.posterQrFrame img{width:100%;height:100%;display:block;border-radius:0}.posterQrFrame span{color:#81796b;font-family:ui-sans-serif,sans-serif;font-size:2.2cqw}.posterQrBlock p{margin:1.35cqw 0 0;color:#665f55;font-family:var(--share-font-sans);font-size:1.82cqw;font-weight:400;letter-spacing:.03em}.posterFooter{margin-top:1.4cqw;display:flex;align-items:center;gap:.65cqw;color:rgba(135,125,109,.68);font-family:var(--share-font-sans);font-size:1.22cqw;letter-spacing:.06em}.posterFooter svg{width:1.68cqw;height:1.68cqw;color:rgba(152,124,79,.62);stroke-width:1.45}.shareActionsColumn{min-width:0;padding:clamp(64px,6vw,92px) clamp(34px,5vw,68px) clamp(36px,5vw,62px);display:flex;flex-direction:column}.shareDialogHeading h2{margin:0;color:var(--pine-deep);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-weight:650;font-size:clamp(34px,3.6vw,50px);letter-spacing:.11em}.shareDialogHeading>span{position:relative;height:1px;margin-top:30px;display:block;background:rgba(166,132,79,.68)}.shareDialogHeading>span:after{content:"◇";position:absolute;left:50%;top:50%;padding:0 5px;color:var(--bronze);background:#fffdf8;font-size:13px;transform:translate(-50%,-50%)}.shareActionList{margin-top:clamp(34px,5vh,54px);display:flex;flex-direction:column;gap:14px}.shareAction{width:100%;min-height:84px;padding:15px 22px;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:13px;border-color:rgba(151,131,98,.34);border-radius:12px;color:var(--pine-deep);background:rgba(255,253,248,.82);text-align:left}.shareAction:hover:not(:disabled){border-color:rgba(49,88,77,.42);background:#fff;box-shadow:0 12px 26px rgba(67,54,34,.08)}.shareAction>svg{justify-self:center}.shareAction>span{display:flex;flex-direction:column;gap:4px}.shareAction strong{font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:21px;font-weight:500}.shareAction small{color:#756f64;font-size:12px}.shareAction.primary{border-color:var(--pine);color:#fff;background:linear-gradient(135deg,#2d5b4b,#174a3c);box-shadow:0 12px 24px rgba(31,79,63,.18)}.shareAction.primary small{color:rgba(255,255,255,.74)}.shareCloseButton{width:100%;min-height:56px;margin-top:auto;border-color:rgba(151,131,98,.34);background:rgba(255,253,248,.78);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-weight:650;font-size:18px}.shareDialog.isWechatSavePreview{width:min(620px,96vw);grid-template-columns:minmax(0,1fr);overflow:auto}.wechatSavePreview{min-width:0;padding:58px 24px 28px;display:flex;align-items:center;flex-direction:column;background:#f0eadd;text-align:center}.wechatSaveHeading h2{margin:6px 0 8px;color:var(--pine-deep);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:30px}.wechatSaveHeading p:last-child{margin:0;color:var(--ink-soft);line-height:1.8}.wechatSavePreview>img{width:min(100%,480px);height:auto;margin:22px auto 18px;display:block;border-radius:14px;box-shadow:0 14px 34px rgba(67,54,34,.16);-webkit-touch-callout:default}.wechatSavePreview>button{min-height:50px;padding:12px 22px;border-color:#9aaea6;color:var(--pine);background:#fff;font-weight:750}@supports not (width: 1cqw){.sharePoster{--ancestor-font-size: 20px;--ancestor-meta-size: 11px;--current-font-size: 42px;--connector-height: 16px}.sharePoster[data-lineage-density=balanced]{--ancestor-font-size: 19px;--ancestor-meta-size: 10px}.sharePoster[data-lineage-density=compact]{--ancestor-font-size: 18px;--ancestor-meta-size: 10px}.sharePoster[data-lineage-density=dense]{--ancestor-font-size: 16px;--ancestor-meta-size: 9px}.sharePoster:before{background:rgba(104,88,64,.024)}.sharePoster:after{top:5px;right:5px;bottom:5px;left:5px}.posterBambooTop{top:-7px;right:-14px;width:125px}.posterBambooBottom{bottom:22px;left:-20px;width:86px}.posterMountains{height:99px}.posterBrand{gap:8px}.posterSeal{width:49px;border-radius:4px}.posterBrand a{font-size:29px}.posterBrandDivider{width:98px;height:7px}.posterLineageArea{width:66%}.posterAncestorText,.posterAncestorOmissionText{min-height:calc(var(--ancestor-font-size) + var(--ancestor-meta-size) + 6px)}.posterAncestor strong.extraLong{font-size:calc(var(--ancestor-font-size) * .83)}.posterAncestor span,.posterCurrent>span:not(.posterLineageDot):not(.posterCurrentCrest){margin-top:3px}.posterAncestor:not(:last-child) .posterConnector:after,.posterAncestorOmission .posterConnector:after{width:4px;height:4px}.posterAncestorOmissionText strong{font-size:14px}.posterAncestorOmissionText span{margin-top:2px;font-size:9px}.posterCurrentCrest{width:117px}.posterLineageDot{width:9px;height:9px;margin:-4px 0 8px;box-shadow:0 0 0 3px rgba(142,49,41,.075)}.posterCurrent strong.extraLong{font-size:calc(var(--current-font-size) * .72)}.posterCurrent>span:not(.posterLineageDot,.posterCurrentCrest){margin-top:9px;font-size:14px}.posterQrBlock{width:45%;margin-top:28px}.posterQrFrame{width:75px;height:75px;padding:4px;border-radius:4px}.posterQrFrame span{font-size:11px}.posterQrBlock p{margin-top:7px;font-size:10px}.posterFooter{margin-top:7px;gap:3px;font-size:7px}.posterFooter svg{width:9px;height:9px}}@keyframes shareBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes shareDialogIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.articlePage{width:min(100% - 32px,1000px);margin:0 auto;padding:44px 0 64px}.articleHero{display:flex;align-items:center;gap:24px;padding:28px 34px;border:1px solid rgba(151,131,98,.25);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.articleHeroMark{width:82px;height:82px;display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--cinnabar);outline:1px solid var(--cinnabar);outline-offset:-7px;color:var(--cinnabar);font-family:Songti SC,STSong,serif;font-size:38px}.articleHero h1,.aboutHero h1{font-size:clamp(27px,4vw,40px)}.articleHero p,.aboutHero p{margin:0;color:var(--ink-soft);line-height:1.8}.historyTimeline{margin:20px 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(151,131,98,.24);border-radius:16px;overflow:hidden;background:rgba(255,253,248,.74)}.historyTimeline>div{padding:18px 20px;display:flex;flex-direction:column;gap:3px}.historyTimeline>div+div{border-left:1px solid var(--line)}.historyTimeline strong{color:var(--cinnabar);font-size:20px}.historyTimeline span{color:var(--ink-soft);font-size:12px}.proseArticle{padding:clamp(28px,6vw,64px);border:1px solid rgba(151,131,98,.25);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.proseArticle section+section{margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}.proseArticle h2,.aboutGrid h2,.feedbackCard h2{font-family:Songti SC,STSong,serif;color:var(--ink)}.proseArticle h2{margin:0 0 12px;font-size:21px}.proseArticle p{margin:0;color:#393832;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:17px;line-height:2.05;text-align:justify}.signatureCard{margin-top:40px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--cinnabar);background:#f3eee4;color:var(--ink-soft);line-height:1.8}.signatureCard span{display:inline-block;min-width:54px;color:var(--ink);font-weight:700}.signatureCard time{align-self:flex-end;color:var(--cinnabar);font-family:Songti SC,STSong,serif}.relatedResearchCard{margin-top:22px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(49,88,77,.22);border-radius:16px;background:linear-gradient(135deg,rgba(230,238,233,.78),rgba(255,253,248,.96))}.relatedResearchCard span{color:var(--cinnabar);font-size:12px;font-weight:800;letter-spacing:.14em}.relatedResearchCard h2{margin:7px 0 6px;color:var(--pine-deep);font-family:Songti SC,STSong,serif;font-size:20px}.relatedResearchCard p{margin:0;color:var(--ink-soft);font-family:inherit;font-size:14px;line-height:1.75;text-align:left}.relatedResearchCard>a{min-height:44px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;border-radius:11px;color:#fff;background:var(--pine);font-size:13px;font-weight:750;text-decoration:none}@media(max-width:620px){.relatedResearchCard{align-items:stretch;flex-direction:column}.relatedResearchCard>a{width:100%}}.aboutHero{display:grid;grid-template-columns:250px 1fr;align-items:center;gap:clamp(28px,6vw,64px);padding:clamp(24px,5vw,50px);border-radius:22px;color:#f9f3e8;background:#28251f;overflow:hidden}.aboutHero img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 20px 45px rgba(0,0,0,.28)}.aboutHero h1,.aboutHero p{color:inherit}.aboutHero .eyebrow{color:#d8ad70}.aboutStats{margin:20px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.aboutStats>div{padding:22px;display:flex;flex-direction:column;align-items:center;border:1px solid rgba(151,131,98,.24);border-radius:16px;background:var(--surface)}.aboutStats strong{color:var(--cinnabar);font-family:Songti SC,STSong,serif;font-size:28px}.aboutStats span{color:var(--ink-soft);font-size:12px}.villageStory{margin:0 auto 28px;max-width:1120px;padding:clamp(24px,4vw,42px);border:1px solid rgba(151,131,98,.2);border-radius:22px;background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(243,237,223,.62));box-shadow:0 14px 36px rgba(66,52,31,.06)}.villageStoryHeading h2{margin:8px 0 24px;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(24px,3vw,34px);line-height:1.35}.villageStoryColumns{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,34px)}.villageStoryColumns p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.95}.aboutGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.womenRecordingNotice{margin:0 0 28px;padding:clamp(24px,4vw,36px);display:flex;align-items:flex-start;gap:22px;scroll-margin-top:92px;border:1px solid rgba(164,71,53,.22);border-radius:18px;background:linear-gradient(135deg,rgba(251,242,231,.92),rgba(255,253,248,.98))}.womenRecordingNotice h2{margin:6px 0 10px;color:var(--ink);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(22px,3vw,30px)}.womenRecordingNotice p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.9}.aboutGrid article{padding:25px;border:1px solid rgba(151,131,98,.24);border-radius:16px;color:var(--pine);background:var(--surface)}.aboutGrid h2{margin:15px 0 8px;font-size:19px}.aboutGrid p{margin:0;color:var(--ink-soft);line-height:1.8;font-size:14px}.feedbackCard{margin-top:20px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:18px;background:var(--pine);color:#fff}.feedbackCard h2{margin:0 0 6px;color:#fff}.feedbackCard p{margin:0;color:rgba(255,255,255,.76)}.feedbackCard a{min-height:44px;padding:10px 15px;display:inline-flex;align-items:center;gap:5px;border-radius:10px;color:var(--pine-deep);background:#fff;text-decoration:none;font-weight:750;white-space:nowrap}.adminLoginPage{flex:1;min-height:calc(100vh - 72px);display:grid;place-items:center;padding:42px 18px;background:radial-gradient(circle at 50% 10%,rgba(164,71,53,.08),transparent 30%),var(--paper)}.adminLoginCard{width:min(100%,440px);padding:38px;border:1px solid rgba(151,131,98,.28);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.loginSeal{width:58px;height:58px;margin-bottom:20px;display:grid;place-items:center;border-radius:16px;color:#fff;background:var(--pine);box-shadow:0 10px 24px rgba(49,88,77,.18)}.adminLoginCard h1{font-size:27px}.adminLoginCard>p{color:var(--ink-soft);line-height:1.7;font-size:13px}.adminLoginCard form{margin-top:25px;display:flex;flex-direction:column;gap:9px}.adminLoginCard label,.editorForm>label,.sonEditorRow>label{color:var(--ink-soft);font-size:12px;font-weight:700}.adminLoginCard form button{margin-top:5px}.loginStatus{margin-top:13px;padding:10px;border-radius:9px;color:#855238;background:#f4e9dd;font-size:12px;overflow-wrap:anywhere}.backLink{margin-top:18px;display:inline-flex;align-items:center;color:var(--ink-soft);font-size:12px;text-decoration:none}.backLink svg{transform:rotate(180deg)}.adminWorkspace{flex:1;padding:18px;background:#eeeadf}.adminToolbar{max-width:1800px;margin:0 auto 13px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(151,131,98,.24);border-radius:16px;background:var(--surface)}.adminToolbar h1{margin:2px 0;font-size:23px}.syncStatus{margin:0;color:var(--pine);font-size:12px}.syncStatus.dirty{color:var(--cinnabar)}.syncStatus.error{max-width:720px;margin-top:7px;padding:8px 10px;border:1px solid #e6bcb2;border-radius:9px;color:#8e2f22;background:#fff4f1;font-weight:700;overflow-wrap:anywhere}.adminActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.adminActions button{display:inline-flex;align-items:center;gap:6px}.adminGrid{max-width:1800px;margin:0 auto;display:grid;grid-template-columns:290px 390px minmax(520px,1fr);gap:12px;align-items:stretch}.adminPanel{min-width:0;padding:14px}.panelHeading{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panelHeading>div{display:flex;flex-direction:column;gap:2px}.panelHeading span{font-weight:800}.panelHeading small{color:var(--ink-soft);font-size:10px}.panelHeading button{min-height:31px;padding:5px 8px;color:var(--pine);font-size:11px}.panelHeading .createStandaloneRow{flex-direction:row;align-items:center;gap:6px}.createStandaloneGen{display:inline-flex;align-items:center;gap:3px;color:var(--ink-soft);font-size:11px;white-space:nowrap}.createStandaloneGen select{width:64px;min-height:31px;padding:3px 6px;font-size:12px}.compactSearch{min-height:40px;margin:9px 0;padding:2px 10px}.peopleList{height:calc(100vh - 285px);min-height:450px;display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:3px}.personListItem{width:100%;min-height:55px;padding:8px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border-color:transparent;background:transparent;text-align:left}.personListItem:hover{transform:none;background:#f2eee5}.personListItem.active{border-color:rgba(164,71,53,.28);background:var(--cinnabar-soft)}.listAvatar{width:32px;height:32px;font-size:12px}.personListItem>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.personListItem strong,.personListItem small{overflow-wrap:anywhere}.personListItem small{color:var(--ink-soft);font-size:10px}.editorForm{max-height:calc(100vh - 230px);min-height:500px;overflow:auto;padding:8px 2px 2px}.editorForm>input{margin:6px 0 14px}.readonlyMeta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.readonlyMeta>div{padding:11px;display:flex;flex-direction:column;gap:3px;border-radius:10px;background:#f2eee5}.readonlyMeta span{color:var(--ink-soft);font-size:10px}.readonlyMeta strong{font-size:13px}.formSectionTitle{margin:22px 0 9px;display:flex;align-items:baseline;justify-content:space-between;font-weight:800}.formSectionTitle span{color:var(--ink-soft);font-size:10px;font-weight:500}.sonEditorList{display:flex;flex-direction:column;gap:8px}.sonEditorRow{display:grid;grid-template-columns:38px minmax(0,1fr) 48px;align-items:center;gap:6px}.sonEditorRow select{min-width:0;min-height:38px;padding:7px;font-size:11px}.sonEditorRow button{min-height:36px;padding:6px;color:var(--pine);font-size:11px}.editorDangerZone{margin-top:22px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ead0c9;border-radius:11px;background:#fff9f7}.editorDangerZone>div{display:flex;flex-direction:column;gap:2px}.editorDangerZone strong{color:#903c31;font-size:12px}.editorDangerZone span{color:var(--ink-soft);font-size:9px}.editorDangerZone button{min-height:33px;color:#96382c;font-size:11px}.adminTreePanel{display:flex;flex-direction:column}.adminTreePanel .treeStage{flex:1;min-height:calc(100vh - 260px);border-radius:12px}.panelEmpty{min-height:420px;display:grid;place-items:center;color:var(--ink-soft)}.buildInfo{max-width:1800px;margin:9px auto 0;color:#8c877c;font-size:9px;text-align:right}.toastStack{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;flex-direction:column;gap:9px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);box-shadow:0 14px 38px rgba(67,54,34,.16);color:var(--ink);font-size:13px;animation:toastIn .24s ease}.toast svg{flex:0 0 auto}.toast.success svg{color:var(--pine)}.toast.error svg{color:var(--cinnabar)}.toast.info svg{color:var(--bronze)}.toast button{margin-left:auto;min-height:0;padding:2px 7px;border:0;background:transparent;color:var(--ink-soft);font-size:16px;line-height:1}.toast button:hover{transform:none;color:var(--ink)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.homeSeoIntro{grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr)}.homeSeoIntro .heritageStats{grid-column:1 / -1;width:100%}.adminGrid{grid-template-columns:290px minmax(0,1fr)}.adminTreePanel{grid-column:1 / -1}.adminTreePanel .treeStage{min-height:620px}}@media(min-width:1600px){.explorerSection{padding-inline:clamp(28px,3vw,56px)}}@media(max-width:900px){.homeSeoIntro{grid-template-columns:1fr;gap:12px}.villageStoryColumns{grid-template-columns:1fr}.siteHeader{position:static}.brandText small{display:none}.explorerToolbar{gap:9px;flex-direction:column}.explorerToolbarRight{width:100%;justify-content:flex-end}.searchArea{width:100%}.viewModeActions{gap:5px}.viewModeActions button{min-width:58px;min-height:44px;padding:7px 9px}.explorerGrid{grid-template-columns:1fr}.treePanel,.treeStage{min-height:570px}.publicHome:not(.isFocusMode) .treePanel{height:clamp(570px,68vh,760px);height:clamp(570px,68dvh,760px)}.personDetail{max-height:none}.detailSheetBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;width:100%;min-height:0;display:block;padding:0;border:0;border-radius:0;background:rgba(39,40,34,.28);backdrop-filter:blur(2px)}.detailSheetBackdrop:hover{border-color:transparent;transform:none}.publicHome .personDetail.mobileSheet,.publicHome.isFocusMode .personDetail.mobileSheet{position:fixed;inset:auto max(9px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));z-index:80;width:auto;height:min(68vh,620px);height:min(68dvh,620px);min-height:360px;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);padding:0 19px calc(18px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;border-radius:22px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 28px));transition:transform .24s ease,opacity .18s ease,visibility .24s;box-shadow:0 -18px 55px rgba(47,39,27,.2)}.publicHome .personDetail.mobileSheet.open,.publicHome.isFocusMode .personDetail.mobileSheet.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mobileSheetHeader{position:sticky;top:0;z-index:3;min-height:56px;margin:0 -19px 15px;padding:13px 14px 6px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(151,131,98,.18);background:rgba(255,253,248,.96);backdrop-filter:blur(12px)}.mobileSheetHeader strong{grid-column:2;color:var(--ink);font-family:Songti SC,STSong,serif;font-size:15px}.mobileSheetHeader button{grid-column:3;justify-self:end;min-height:44px;padding:7px 10px;border:0;color:var(--pine);background:transparent;font-weight:700}.mobileSheetHandle{position:absolute;top:7px;left:50%;width:42px;height:4px;border-radius:999px;background:#d3c9b8;transform:translate(-50%)}.publicHome.isFocusMode .explorerSection{top:0;right:0;bottom:0;left:0;padding:9px 9px max(9px,env(safe-area-inset-bottom))}.publicHome.isFocusMode .explorerToolbar{gap:9px;padding:7px}.publicHome.isFocusMode .explorerGrid{position:relative;grid-template-columns:minmax(0,1fr)}.aboutHero{grid-template-columns:180px 1fr}.aboutGrid{grid-template-columns:1fr}.adminToolbar{align-items:flex-start;flex-direction:column}.adminActions{justify-content:flex-start}}@media(max-width:700px){.homeSeoIntro{padding:14px 12px}.homeSeoIntro h1{font-size:20px}.homeSeoIntro p{font-size:12px;line-height:1.7}.villageStory{margin-inline:12px;border-radius:16px}.siteHeader{min-height:auto;padding:9px 12px;align-items:center;gap:8px}.brand{gap:8px}.brand img{width:35px;height:35px}.brandText strong{font-size:15px;letter-spacing:0}.headerRight{min-width:0;gap:5px}.siteNav{gap:0}.siteNav a{min-width:44px;min-height:44px;justify-content:center;padding:8px}.siteNav a svg{display:none}.siteNav a span{font-size:13px}.headerAdmin{width:40px;overflow:hidden;white-space:nowrap;color:transparent;padding:9px 10px}.headerAdmin svg{color:var(--cinnabar);flex:0 0 auto}.heritageStats{grid-template-columns:repeat(3,1fr);min-width:0}.heritageStats>div{min-height:50px;padding:6px;align-items:center;flex-direction:row;gap:6px}.heritageStats strong{font-size:16px}.heritageStats svg{width:16px;height:16px}.explorerSection{padding:10px 9px}.explorerToolbar{margin-bottom:10px;gap:8px}.familySearch{min-height:46px}.treePanel,.treeStage{min-height:520px;border-radius:14px}.publicHome:not(.isFocusMode) .treePanel{height:520px}.treeHint{top:66px}.treeControls{left:10px;right:auto;max-width:calc(100% - 20px)}.treeControls button{width:44px;min-height:44px;padding:9px}.treeControls .branchToggle{min-width:72px}.personDetail{padding:19px}.siteFooter{min-height:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:5px;flex-wrap:wrap;line-height:1.7;text-align:center}.articlePage{width:min(100% - 20px,1000px);padding:18px 0 38px}.articleHero{padding:22px;align-items:flex-start}.articleHeroMark{width:54px;height:54px;font-size:27px}.articleHero h1,.aboutHero h1{font-size:25px}.articleHero p{font-size:12px}.historyTimeline{grid-template-columns:1fr 1fr}.historyTimeline>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.historyTimeline>div:nth-child(4){border-top:1px solid var(--line)}.proseArticle{padding:26px 21px}.proseArticle p{font-size:16px;line-height:2}.signatureCard{padding:17px;font-size:13px}.aboutHero{grid-template-columns:1fr;padding:28px}.aboutHero img{width:150px}.aboutStats{grid-template-columns:1fr 1fr 1fr;gap:6px}.aboutStats>div{padding:16px 7px}.aboutStats strong{font-size:22px}.feedbackCard{align-items:flex-start;flex-direction:column;padding:23px}.adminLoginCard{padding:28px 22px}.adminWorkspace{padding:9px}.adminToolbar{padding:14px}.adminActions{display:grid;grid-template-columns:1fr 1fr;width:100%}.adminActions button{justify-content:center}.adminGrid{grid-template-columns:1fr}.adminTreePanel{grid-column:auto}.peopleList,.editorForm{height:auto;min-height:0;max-height:520px}.adminTreePanel .treeStage{min-height:540px}.toastStack{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:auto;max-width:none}}@media(max-width:900px){.mobileSheetActions{grid-column:3;justify-self:end}.mobileSheetHeader .mobileSheetActions button{grid-column:auto;display:inline-flex;align-items:center;gap:4px}.detailShareCard{min-height:82px;grid-template-columns:50px minmax(0,1fr) 30px;gap:10px;padding:9px 10px}.detailShareCardPreview{width:50px;height:62px}.shareDialogBackdrop{align-items:flex-end;padding:0}.shareDialog{width:100%;max-height:94vh;max-height:94dvh;grid-template-columns:minmax(0,1fr);overflow:auto;overscroll-behavior:contain;border-radius:26px 26px 0 0}.shareDialogClose{position:absolute;top:12px;right:12px;color:var(--pine-deep);background:rgba(255,253,248,.9);box-shadow:0 5px 14px rgba(67,54,34,.09)}.sharePreviewColumn{padding:54px 14px 14px;overflow:visible}.sharePoster{width:min(280px,68vw)}.shareActionsColumn{padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.shareDialogHeading h2{font-size:26px}.shareDialogHeading>span{margin-top:12px}.shareActionList{margin-top:16px;gap:8px}.shareAction{min-height:62px;grid-template-columns:38px 1fr;padding:10px 14px}.shareCloseButton{display:none}.shareAction strong{font-size:17px}.shareAction small{font-size:11px}}@media(max-width:520px){.mobileSheetActions{gap:0}.mobileSheetHeader .mobileSheetActions button{padding-inline:7px;font-size:12px}.detailShareCard{grid-template-columns:46px minmax(0,1fr) 28px;gap:9px;padding:8px 9px}.detailShareCardPreview{width:46px;height:58px}.detailShareCardCopy strong{font-size:13px}.detailShareCardCopy small{font-size:9px}.sharePreviewColumn{padding:52px 10px 10px}.sharePoster{width:min(240px,66vw)}.shareActionsColumn{padding:15px 12px calc(14px + env(safe-area-inset-bottom))}.shareAction{min-height:60px;grid-template-columns:36px 1fr;padding:9px 12px}.shareAction strong{font-size:16px}.shareAction small{font-size:11px}}@media(max-width:700px){.daughterInvitation{margin-top:10px;padding:18px;grid-template-columns:1fr;gap:12px}.daughterInvitationMark{width:44px;height:44px}.daughterInvitation h2{font-size:21px}.daughterInvitationActions{width:100%}.womenRecordingNotice{padding:22px;flex-direction:column;gap:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.generationLabel,.personName,.detailAvatar,.detailHeading h2,.relationPerson span,.articleHeroMark,.articleHero h1,.aboutHero h1,.proseArticle h2,.signatureCard time,.relatedResearchCard h2,.aboutStats strong,.villageStoryHeading h2,.womenRecordingNotice h2,.aboutGrid h2,.feedbackCard h2{font-family:var(--font-display)}.proseArticle p,.villageStoryColumns p,.womenRecordingNotice p,.aboutGrid p{font-family:var(--font-reading)}
