@charset "UTF-8";
.genealogy-page{background:#000;color:#f5f0e8}.genealogy-page .header{background:#000;border-bottom:1px solid #ffffff0d;box-shadow:none}.genealogy-page .mobile-nav{background:#080808}.genealogy-page .desktop-nav a[aria-current]{color:#dbbc83}.genealogy-page .content-dialog{color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.genealogy-scene{position:relative;isolation:isolate;overflow:hidden;height:calc(100svh - var(--header-height));min-height:650px;background:#000;--ease:cubic-bezier(.2,.7,.2,1)}
.root-character{position:absolute;top:9%;--calligraphy-height:min(59svh,500px);height:var(--calligraphy-height);line-height:0;opacity:0;transition:transform 1.1s var(--ease),opacity .85s;pointer-events:none;z-index:0}.root-character-left{left:5.3%;transform:translateX(-120%)}.root-character-right{right:5.3%;transform:translateX(120%)}.is-ready .root-character{transform:translateX(0);opacity:1}.genealogy-scene:not([data-state="closed"]) .root-character-left{transform:translateX(-150%);opacity:0}.genealogy-scene:not([data-state="closed"]) .root-character-right{transform:translateX(150%);opacity:0}
.closed-volume{position:absolute;width:min(25vw,340px);left:50%;top:45%;transform:translate(-50%,-50%);perspective:1600px;z-index:2;transition:opacity .65s}.volume-caption{display:flex;justify-content:space-between;font:12px Georgia,serif;padding:0 8%;margin:0 0 -8%;position:relative;z-index:2;letter-spacing:.06em}.book-trigger{position:relative;width:100%;padding:0;display:block;opacity:0;transform:translateY(25px);transition:opacity .9s,transform 1s var(--ease);transform-origin:15% 50%;border-radius:10px}.is-ready .book-trigger{opacity:1;transform:translateY(0)}.book-trigger:focus-visible{outline:2px solid #d6b373;outline-offset:10px}.book-trigger:disabled{cursor:wait}.cover-art{width:100%;pointer-events:none;transition:filter .3s}.book-trigger:hover .cover-art{filter:brightness(1.1)}.cover-title{position:absolute;top:15.559895833%;left:69.43359375%;width:10.3515625%;height:35.15625%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font:clamp(12px,1.3vw,19px)/1 "DFKai-SB","BiauKai",serif;color:#5b3a1e;letter-spacing:.2em;pointer-events:none}.hand-cue{position:absolute;width:32%;right:-15%;bottom:3%;transform:rotate(-22deg);pointer-events:none;animation:hand-invite 2.8s ease-in-out infinite 1.4s}.hand-cue img{width:100%}.book-invitation{position:absolute;bottom:0;left:50%;transform:translate(-50%,100%);white-space:nowrap;color:#d6c6ab;font-size:12px;letter-spacing:.16em;padding:8px 0}.genealogy-scene:not([data-state="closed"]) .closed-volume{opacity:0;pointer-events:none}.genealogy-scene:not([data-state="closed"]) .book-trigger{transform:rotateY(-82deg) scale(.95);opacity:0}.genealogy-scene:not([data-state="closed"]) .hand-cue{animation:none;opacity:0}
.genealogy-reader{position:absolute;left:50%;top:3.5%;width:min(77vw,1120px);transform:translate(-50%,25px) scale(.72);transform-origin:50% 50%;opacity:0;transition:opacity .7s .12s,transform 1.05s var(--ease);z-index:2}.genealogy-reader[hidden]{display:none!important}.genealogy-scene[data-state="opening"] .genealogy-reader,.genealogy-scene[data-state="open"] .genealogy-reader{opacity:1;transform:translate(-50%,0) scale(1)}.reader-heading{position:relative;display:flex;justify-content:center;align-items:center;min-height:58px;margin-bottom:8px}.reader-heading>img{width:126px;height:auto}.close-volume{position:absolute;right:1%;top:50%;transform:translateY(-50%);min-height:44px;font-size:12px;letter-spacing:.08em;color:#c7bdad;transition:color .2s}.close-volume:hover{color:#fff}.genealogy-query{display:flex;gap:18px;align-items:center;justify-content:center;margin:12px auto 8px;width:91%;font:13px/1.4 system-ui,"Microsoft JhengHei",sans-serif}.genealogy-query label{display:flex;align-items:center;gap:10px;white-space:nowrap}.genealogy-query .name-field{margin-right:auto}.genealogy-query input,.genealogy-query select{height:38px;min-width:0;border:1px solid #8d8d8d;background:#070707;color:#f0eee9;border-radius:11px;padding:0 12px;font:inherit}.genealogy-query input{width:220px}.genealogy-query input::placeholder{color:#bdbbb5}.genealogy-query select{width:190px;color-scheme:dark}.query-button{background:#626262;color:#fff;border-radius:11px;padding:9px 17px;min-height:38px;white-space:nowrap;font:inherit}.query-button:hover{background:#81705a}.sheet-switch{display:none}.book-spread{position:relative;width:100%;aspect-ratio:1798/875;overflow:hidden}.spread-sheet{position:relative;width:100%;transition:transform .55s var(--ease)}.spread-art{width:100%;height:auto;pointer-events:none}.tree-sheet{color:#6c4e29}.sheet-title{margin:0;font-size:clamp(10px,1vw,14px);letter-spacing:.14em;color:#80603a}.tree-title{position:absolute;left:21%;top:16%;width:22%;text-align:center}.tree-node{position:absolute;width:9.2%;height:5.9%;display:grid;place-items:center;font-size:clamp(9px,1vw,14px);letter-spacing:.12em;color:#725431}.node-parent-one{left:20%;top:31.2%}.node-parent-two{left:33.45%;top:31.2%}.node-family{left:26.4%;top:46%;width:9.6%;height:7.7%;font-size:clamp(12px,1.5vw,22px);font-family:"DFKai-SB","BiauKai",serif;color:#8e2c1c}.node-child-one{left:20%;top:63.6%}.node-child-two{left:33.45%;top:63.6%}.tree-disclaimer{position:absolute;left:18%;top:74%;width:28%;text-align:center;font-size:clamp(8px,.82vw,11px);letter-spacing:.05em;color:#806b50}.detail-sheet{position:absolute;left:57.5%;top:16%;width:25.5%;color:#654b2c;text-align:center}.detail-sheet .sheet-title{white-space:nowrap}.detail-sheet h2{font-weight:400;font-size:clamp(18px,2.4vw,35px);line-height:1.6;letter-spacing:.18em;margin:10% 0 6%}.book-intro{font-size:clamp(10px,1vw,15px);line-height:1.9;margin:4% 0 7%;letter-spacing:.05em}.data-status{font:clamp(9px,.83vw,12px)/1.65 system-ui,"Microsoft JhengHei",sans-serif;margin:0;color:#79684e}.query-result{font:clamp(10px,.9vw,13px)/1.7 system-ui,"Microsoft JhengHei",sans-serif;margin:5% 0 0;color:#853b24;overflow-wrap:anywhere}.query-result:empty{display:none}.query-result:focus{outline:1px solid #8a5d36;outline-offset:4px}.reader-help{text-align:center;font-size:11px;letter-spacing:.2em;color:#baac91;margin:3px 0 0}.genealogy-mountain{position:absolute;bottom:-2%;width:49%;pointer-events:none;z-index:0;opacity:0;transition:transform 1.3s var(--ease),opacity .7s}.mountain-left{left:-3%;transform:translateX(-100%)}.mountain-right{right:-3%;transform:translateX(100%)}.genealogy-scene[data-state="opening"] .genealogy-mountain,.genealogy-scene[data-state="open"] .genealogy-mountain{transform:translateX(0);opacity:1}.genealogy-signature{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);text-align:center;z-index:1;pointer-events:none}.genealogy-signature>.kuo-calligraphy{display:block;height:75px;width:auto;margin:0 auto}.genealogy-signature>img{width:190px;margin:9px auto 0}.no-script-note{text-align:center;background:#131313;color:#e4c48e;padding:22px;margin:0}.no-script-note a{text-decoration:underline}
@keyframes hand-invite{0%,65%,100%{transform:rotate(-22deg) translate(0,0)}25%,45%{transform:rotate(-22deg) translate(-3px,-7px)}}
@media(max-width:1000px) and (min-width:781px){.genealogy-query{gap:10px;width:96%}.genealogy-query input{width:165px}.genealogy-query select{width:160px}.root-character{--calligraphy-height:min(55svh,450px);top:16%}.closed-volume{width:31vw}.genealogy-reader{width:88vw;top:8%}}
@media(max-height:780px) and (min-width:781px){.genealogy-scene{min-height:600px}.genealogy-reader{width:min(73vw,calc((100svh - 240px)*2.05));top:1.5%}.reader-heading{min-height:46px;margin-bottom:0}.reader-heading>img{width:108px}.genealogy-query{width:94%;gap:12px;margin:5px auto 0}.genealogy-query input{width:190px}.genealogy-query select{width:175px}.genealogy-signature>.kuo-calligraphy{height:60px}.genealogy-signature>img{width:165px}.reader-help{font-size:10px}.closed-volume{width:min(26vw,300px)}}
@media(max-width:780px){.genealogy-scene{height:calc(100svh - var(--header-height));min-height:530px}.root-character{--calligraphy-height:clamp(155px,26svh,240px);top:18%}.root-character-left{left:0}.root-character-right{right:0}.closed-volume{width:min(65vw,320px);top:43%}.volume-caption{font-size:10px}.cover-title{font-size:16px}.hand-cue{right:-10%;width:31%}.book-invitation{font-size:12px}.genealogy-signature{bottom:4%}.genealogy-signature>.kuo-calligraphy{height:68px}.genealogy-signature>img{width:165px}.genealogy-scene:not([data-state="closed"]){height:auto;min-height:calc(100svh - var(--header-height));padding-bottom:125px}.genealogy-reader{position:relative;left:auto;top:auto;width:calc(100% - 22px);max-width:600px;margin:0 auto;padding-top:20px;transform:translateY(24px) scale(.86)}.genealogy-scene[data-state="opening"] .genealogy-reader,.genealogy-scene[data-state="open"] .genealogy-reader{transform:translateY(0) scale(1)}.reader-heading{justify-content:flex-start;padding-left:12px;min-height:44px;margin-bottom:15px}.reader-heading>img{width:105px}.close-volume{right:7px;font-size:12px;max-width:52%}.genealogy-query{width:94%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0 auto 14px}.genealogy-query label{flex-direction:column;align-items:flex-start;gap:6px}.genealogy-query .name-field{grid-column:1/-1;width:100%;margin:0}.genealogy-query input,.genealogy-query select{width:100%;height:44px;border-radius:8px}.genealogy-query .query-button{align-self:end;min-width:72px;min-height:44px;border-radius:8px}.genealogy-query label>span{font-size:12px;color:#d4cbbb}.sheet-switch{display:flex;justify-content:center;gap:20px;margin:0 0 8px}.sheet-switch button{min-height:44px;font-size:12px;letter-spacing:.1em;color:#a99d88;border-bottom:1px solid transparent;padding:4px 12px}.sheet-switch button[aria-pressed="true"]{color:#e9c58b;border-bottom-color:#c9a76e}.book-spread{aspect-ratio:1798/1750}.spread-sheet{width:200%}.book-spread[data-sheet="details"] .spread-sheet{transform:translateX(-50%)}.tree-title{font-size:13px}.tree-node{font-size:13px}.node-family{font-size:21px}.tree-disclaimer{font-size:10px}.detail-sheet h2{font-size:26px;line-height:1.5;margin:8% 0 6%}.detail-sheet .sheet-title{font-size:12px}.book-intro{font-size:12px;line-height:1.7}.data-status{font-size:11px}.query-result{font-size:11px}.reader-help{margin:12px 4px 0;font-size:10px;letter-spacing:.12em}.genealogy-mountain{width:90%;bottom:-2%}.mountain-left{left:-34%}.mountain-right{right:-34%}.genealogy-scene:not([data-state="closed"]) .genealogy-signature{bottom:23px}.genealogy-scene:not([data-state="closed"]) .genealogy-signature>.kuo-calligraphy{height:58px}}
@media(max-width:380px){.detail-sheet h2{font-size:23px}.book-intro{font-size:11px}.data-status,.query-result{font-size:10px}.tree-disclaimer{font-size:9px}}
@media(max-height:500px) and (orientation:landscape){.genealogy-scene{min-height:420px}.closed-volume{width:220px;top:41%}.root-character{--calligraphy-height:230px;top:10%}.genealogy-signature{bottom:14px}.genealogy-signature>.kuo-calligraphy{height:50px}.genealogy-signature>img{width:150px}.genealogy-scene:not([data-state="closed"]){min-height:950px}.genealogy-reader{max-width:570px}}
@media(prefers-reduced-motion:reduce){.genealogy-scene *{animation:none!important;transition:none!important}.is-ready .book-trigger{transform:none}.genealogy-reader{transform:translateX(-50%)}.genealogy-scene[data-state="opening"] .genealogy-reader,.genealogy-scene[data-state="open"] .genealogy-reader{transform:translateX(-50%)}@media(max-width:780px){.genealogy-reader,.genealogy-scene[data-state="opening"] .genealogy-reader,.genealogy-scene[data-state="open"] .genealogy-reader{transform:none}}}

/* Query feedback remains outside the decorated page, including long names. */
.genealogy-reader>.query-result{width:91%;margin:12px auto 6px;padding:8px 12px;border:1px solid #77543467;border-radius:8px;background:#17130e;color:#e6cba0;font:13px/1.7 system-ui,"Microsoft JhengHei",sans-serif;text-align:center}
@media(max-width:780px){.genealogy-reader>.query-result{width:94%;font-size:12px;margin-bottom:14px}}

/* Use the supplied PNG proportions without stretching the brush strokes. */
.root-character img{height:100%;width:auto;max-width:none}.root-character-left{width:calc(var(--calligraphy-height)*.504842)}.root-character-right{width:calc(var(--calligraphy-height)*.624919)}
