.nx{--nx-lapis2:#6f8fcd;--nx-link:#c2d0e9;--nx-trunk:#e2eaf7;--nx-glow:#2f5fb329;--nx-dim:.2;--nx-ring:#e6eaf1;--nx-on:#fff;--nx-navy:#0d1a36;flex-direction:column;gap:12px;display:flex}.nx .nx-hd{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 16px;display:flex}.nx .nx-hd h1{text-wrap:balance;margin:0;font-size:clamp(22px,3.6vw,28px);font-weight:700;line-height:1.35}.nx .nx-ct{color:var(--ink-2);margin:0;font-size:13px}.nx .nx-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.nx .nx-bar.q{justify-content:flex-start;gap:10px 14px}.nx .nx-seg{background:var(--surface);border:1px solid var(--line);scrollbar-width:none;border-radius:12px;flex:none;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.nx .nx-seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:6px 16px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s}.nx .nx-seg button:hover{color:var(--ink)}.nx .nx-seg button[aria-selected=true]{background:var(--lapis);color:var(--nx-on)}.nx .nx-cap{color:var(--ink-2);min-width:0;margin:0;font-size:13.5px}.nx .nx-more{font-size:14px;font-weight:600}.nx .nx-stage{border:1px solid var(--line);background:var(--surface);touch-action:none;border-radius:18px;height:max(460px,min(100dvh - 210px,940px));position:relative;overflow:hidden}.nx .nx-stage svg{cursor:grab;-webkit-user-select:none;user-select:none;direction:ltr;width:100%;height:100%;display:block}.nx .nx-stage svg:active{cursor:grabbing}.nx .nx-tools{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:2px;padding:3px;display:flex;position:absolute;top:12px;left:12px}.nx .nx-tools button{cursor:pointer;width:34px;height:34px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;place-items:center;font-size:17px;font-weight:600;display:grid}.nx .nx-tools button:hover{background:var(--lapis-tint);color:var(--lapis)}.nx svg text{font-family:var(--ui);fill:var(--ink)}.nx .pn{cursor:pointer;transition:opacity .2s}.nx .pn:focus{outline:none}.nx .pt{text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:600}.nx .nx-pill rect{fill:var(--surface);stroke:var(--line);stroke-width:1px;filter:drop-shadow(0 1px 1.5px #11224814);transition:stroke .15s,stroke-width .15s}.nx .nx-pill.k-main rect{fill:var(--lapis);stroke:none}.nx .nx-pill.k-main .pt{fill:var(--nx-on)}.nx .nx-pill.k-wife rect,.nx .nx-pill.k-mother rect,.nx .nx-pill.k-clan rect{fill:var(--lapis-tint);stroke:none}.nx .nx-pill.k-clan .n{fill:var(--lapis);font-weight:700}.nx .nx-pill.k-kid rect{stroke:var(--lapis);stroke-width:1.4px}.nx .nx-pill.k-kid .pt{fill:var(--lapis)}.nx .nx-pill.k-grand rect,.nx .nx-pill.k-line rect{stroke:var(--nx-lapis2)}.nx .nx-pill.k-inlaw rect{stroke:var(--nx-lapis2);stroke-dasharray:3 3}.nx .nx-pill.k-person rect{fill:var(--nx-navy);stroke:none}.nx .nx-pill.k-person .pt{fill:var(--nx-on);font-size:14px;font-weight:700}.nx .pn:hover rect,.nx .pn:focus-visible rect,.nx .pn.hl rect{stroke:var(--lapis);stroke-width:2px}.nx .nx-pill.k-main:hover rect,.nx .nx-pill.k-main:focus-visible rect,.nx .nx-pill.k-main.hl rect{stroke:var(--nx-navy)}.nx .nx-him .him-glow{fill:var(--nx-glow)}.nx .nx-him .him-c{fill:var(--nx-navy)}.nx .nx-him text{fill:var(--nx-on);text-anchor:middle;dominant-baseline:central}.nx .nx-him .him-n{font-size:15px;font-weight:700}.nx .nx-him .him-s{font-family:var(--book);font-size:17px}.nx .nx-ln{fill:none;stroke:var(--nx-link);stroke-width:1.6px;stroke-linecap:round;transition:opacity .2s,stroke .2s,stroke-width .2s}.nx .nx-ln.mn{stroke:var(--lapis);stroke-width:2.6px}.nx .nx-ln.path{stroke:var(--nx-navy);stroke-width:2.6px}.nx .nx-ln.same{stroke:var(--nx-lapis2);stroke-dasharray:3 5;stroke-width:1.4px}.nx .nx-ln.wed{stroke-dasharray:4 5}.nx .trunk{fill:var(--nx-trunk)}.nx .nx-root{fill:none;stroke:var(--nx-trunk);stroke-linecap:round}.nx .ring{fill:none;stroke:var(--line);stroke-dasharray:2 6}.nx .nx-grp{fill:var(--ink-3);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:12px;font-weight:600;transition:opacity .2s}.nx svg.focus .pn:not(.hl){opacity:var(--nx-dim)}.nx svg.focus .nx-ln:not(.hl),.nx svg.focus .nx-grp{opacity:.14}.nx .nx-ln.hl{stroke:var(--lapis);stroke-width:3px}.nx .dim{opacity:var(--nx-dim)}@media (prefers-reduced-motion:no-preference){.nx .grow .nx-ln.mn.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:.3s linear forwards nx-draw;animation-delay:var(--d,0s)}.nx .grow .pn,.nx .grow .nx-ln:not(.mn),.nx .grow .nx-grp{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards nx-rise;animation-delay:var(--d,0s)}@keyframes nx-draw{to{stroke-dashoffset:0}}@keyframes nx-rise{to{opacity:1}}}.nx-sheet{z-index:40;inset-inline:0;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0}.nx-sheet[hidden]{display:none}.nx-sheet .nx-in{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:8px;width:min(640px,100%);padding:14px 18px;display:flex;box-shadow:0 12px 40px #10172738}.nx-sheet .nx-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.nx-sheet .nx-who{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.nx-sheet .nx-who b{font-size:19px;font-weight:700;line-height:1.4}.nx-sheet .nx-tag{color:var(--lapis);background:var(--lapis-tint);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.nx-sheet .nx-also{color:var(--ink-2);margin:0;font-size:13px}.nx-sheet .nx-x{background:var(--lapis-soft);color:var(--ink-2);cursor:pointer;border:0;border-radius:999px;flex:none;width:30px;height:30px;font-size:18px;line-height:1}.nx-sheet .nx-x:hover{background:var(--lapis-tint);color:var(--ink)}.nx-sheet .nx-q{font-family:var(--book);max-height:32vh;margin:0;font-size:18px;line-height:1.95;overflow-y:auto}.nx-sheet .nx-src,.nx .nx-src{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:13px;display:flex}.nx-sheet .nx-src a,.nx .nx-src a{font-weight:600}@media (prefers-reduced-motion:no-preference){.nx-sheet .nx-in{animation:.24s cubic-bezier(.16,1,.3,1) nx-up}@keyframes nx-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}@media (width<=560px){.nx .nx-seg button{padding:6px 11px;font-size:13.5px}}.nx .nx-find{flex:280px;min-width:0;max-width:520px;position:relative}.nx .nx-find input{border:1px solid var(--line);background:var(--surface);width:100%;height:40px;font:inherit;color:var(--ink);border-radius:12px;padding:0 14px;font-size:15px}.nx .nx-find input:focus{border-color:var(--lapis);box-shadow:0 0 0 3px var(--nx-glow);outline:none}.nx .sug{z-index:15;inset-inline:0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;max-height:340px;padding:4px;display:flex;position:absolute;top:44px;overflow-y:auto}.nx .sug[hidden]{display:none}.nx .sug button{text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:0;padding:7px 10px;display:flex}.nx .sug button:hover,.nx .sug button[aria-selected=true]{background:var(--lapis-tint)}.nx .sug b{font-size:14.5px;font-weight:600}.nx .sug small{color:var(--ink-3);font-size:12px}.nx .picks{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.nx .picks button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;flex:none;padding:4px 12px;font-size:13px;font-weight:600}.nx .picks button:hover{border-color:var(--lapis);color:var(--lapis)}.nx .picks button[aria-pressed=true]{background:var(--lapis);border-color:var(--lapis);color:var(--nx-on)}.nx .nx-main{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:14px;display:grid}.nx .nx-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:12px;min-width:0;max-height:calc(100dvh - 24px);padding:16px 18px;display:flex;position:sticky;top:12px;overflow-y:auto}.nx .nx-card h2{margin:0;font-size:21px;font-weight:700;line-height:1.4}.nx .nx-sub{color:var(--ink-2);margin:0;font-size:13px}.nx .rel{background:var(--lapis-soft);border:1px solid var(--lapis-tint);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.nx .rel p{margin:0;font-size:15px;line-height:1.8}.nx .rel b{color:var(--lapis)}.nx .gens{flex-wrap:wrap;gap:6px;display:flex}.nx .gens span{color:var(--lapis);background:var(--lapis-tint);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.nx .lin{font-family:var(--book);margin:0;font-size:17px;line-height:1.9}.nx .said{flex-direction:column;gap:10px;min-height:40px;display:flex}.nx .said article{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:10px;display:flex}.nx .said q{font-family:var(--book);quotes:none;font-size:16.5px;line-height:1.9}.nx .clan-list{flex-wrap:wrap;gap:6px;display:flex}.nx .clan-list button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:4px 10px;font-size:13.5px}.nx .clan-list button:hover{border-color:var(--lapis);color:var(--lapis)}.nx .nx-stage.cards{touch-action:auto;height:auto}.nx .nx-stage.cards svg,.nx .nx-stage.cards .nx-tools{display:none}.nx .xp{flex-direction:column;gap:16px;padding:18px 16px;display:flex}.nx .xp[hidden]{display:none}.nx .xp-meet{flex-direction:column;align-items:center;gap:4px;display:flex}.nx .xp-meet small,.nx .xp h3{color:var(--ink-3);text-align:center;margin:0;font-size:12.5px;font-weight:600}.nx .xp-fork{border:2px solid var(--nx-link);border-bottom:0;border-radius:10px 10px 0 0;height:14px;margin:-12px 25% 0}.nx .xp-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;margin-top:-16px;display:grid}.nx .xp-col{flex-direction:column;align-items:stretch;min-width:0;display:flex}.nx .xp-slot{justify-content:center;align-items:center;min-width:0;height:46px;padding-inline:4px;display:flex;position:relative}.nx .xp-slot:before{content:"";border-left:2px solid var(--nx-link);position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.nx .xp-slot.end:before{bottom:50%}.nx .xp-slot.none:before{display:none}.nx .xc{z-index:1;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:4px 14px;font-size:13.5px;font-weight:600;position:relative;overflow:hidden}.nx .xc:hover{border-color:var(--lapis);color:var(--lapis)}.nx .xc.k-main{background:var(--lapis);border-color:var(--lapis);color:var(--nx-on)}.nx .xc.k-person,.nx .xc.k-him{background:var(--nx-navy);border-color:var(--nx-navy);color:var(--nx-on)}.nx .xp-heads{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;display:grid}.nx .xp-tier{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;padding-top:12px;display:flex}.nx .xp-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}@container root (width<=1320px){.nx .nx-main{grid-template-columns:minmax(0,1fr)}.nx .nx-card{max-height:none;position:static}.nx .nx-main .nx-stage{height:max(420px,min(70dvh,640px))}}
