:root{--rel-family:#e8b04a;--rel-friend:#5b9cf6;--rel-rival:#ff4d5e;--rel-mentor:#a99bff;--rel-romance:#ff8cc0;--rel-ally:#5fd0a0;--rel-enemy:#e8192c}.spoiler-bar{z-index:30;gap:var(--sp-3) var(--sp-5);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:auto minmax(220px,360px) 1fr;align-items:center;display:grid;position:sticky;top:0}.spoiler-bar__label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.spoiler-bar__label strong{color:var(--ink);letter-spacing:.12em;display:block}.spoiler-bar__note{color:var(--ink-3);font-size:var(--text-sm);margin:0;line-height:1.45}.spoiler-bar .tool-select{min-height:42px}details.spoiler{margin:var(--sp-3) 0;border:1px dashed var(--line-2);background:var(--surface)}details.spoiler>summary{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);cursor:pointer;color:var(--ink-2);font-size:var(--text-sm);font-weight:700;list-style:none;display:flex}details.spoiler>summary::-webkit-details-marker{display:none}details.spoiler>summary:before{content:"◐";color:var(--accent)}details.spoiler>summary:hover{color:var(--ink)}details.spoiler>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}details.spoiler>summary small{color:var(--ink-3);margin-left:auto;font-weight:400}details.spoiler[open]{border-style:solid;border-color:var(--line-2)}details.spoiler[open]>summary:before{content:"●"}.spoiler__body{padding:0 var(--sp-4) var(--sp-4)}.spoiler__body>:first-child{margin-top:0}.spoiler__body>:last-child{margin-bottom:0}[data-spoiler-hide][hidden]{display:none!important}.chip{border:1px solid var(--line-2);color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;vertical-align:1px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.chip--confirmed{border-color:color-mix(in srgb, var(--rel-ally) 60%, var(--line-2));color:var(--rel-ally)}.chip--estimate{border-color:color-mix(in srgb, var(--rel-family) 60%, var(--line-2));color:var(--rel-family)}.chip--disputed{border-color:color-mix(in srgb, var(--rel-mentor) 60%, var(--line-2));color:var(--rel-mentor)}.chip--unknown{color:var(--ink-3);border-style:dashed}.ref{color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.char-layout{gap:var(--sp-10);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.char-layout>*{min-width:0}.char-aside{gap:var(--sp-5);flex-direction:column;display:flex;position:sticky;top:76px}.char-section{margin-top:var(--sp-16);scroll-margin-top:80px}.char-section:first-child{margin-top:0}.char-section>h2{margin:0 0 var(--sp-5);font-family:var(--font-body);letter-spacing:-.04em;font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.12}.char-section>.lede{max-width:720px;margin:0 0 var(--sp-6);color:var(--ink-2);font-size:17px;line-height:1.7}.prose{max-width:720px}.prose h3{margin:var(--sp-8) 0 var(--sp-2);font-size:var(--text-xl);letter-spacing:-.02em}.prose h3:first-child{margin-top:0}.prose p{margin:0 0 var(--sp-4);color:var(--ink-2);font-size:17px;line-height:1.75}.prose p .ref{margin-left:4px}.prose ul{margin:0 0 var(--sp-5);color:var(--ink-2);padding-left:1.2em;line-height:1.7}.jump-nav{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.jump-nav a{border:1px solid var(--line-2);color:var(--ink-2);font-size:var(--text-xs);padding:4px 10px;font-weight:700;display:block}.jump-nav a:hover{color:var(--ink);border-color:var(--ink-2)}.quick-facts{border:1px solid var(--line-2);background:var(--surface)}.quick-facts__head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}.quick-facts__head h2{font-size:var(--text-lg);font-family:var(--font-body);letter-spacing:-.02em;margin:0}.quick-facts dl{margin:0}.quick-facts .fact{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line)}.quick-facts .fact:last-child{border-bottom:0}.quick-facts dt{justify-content:space-between;gap:var(--sp-2);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:baseline;font-weight:700;display:flex}.quick-facts dd{color:var(--ink);font-size:var(--text-sm);margin:3px 0 0;line-height:1.5}.quick-facts dd small{color:var(--ink-3);font-size:var(--text-xs);margin-top:3px;line-height:1.5;display:block}.quick-facts__legend{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--text-xs);line-height:1.55}.monogram{border:1px solid var(--line-2);background:color-mix(in srgb, var(--accent) 12%, var(--surface));width:56px;height:56px;color:var(--ink);letter-spacing:.04em;flex:none;place-items:center;font-size:18px;font-weight:800;display:inline-grid}.ability-group+.ability-group{margin-top:var(--sp-8)}.ability-group>h3{margin:0 0 var(--sp-3);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.ability{border:1px solid var(--line);background:var(--surface)}.ability+.ability{margin-top:-1px}.ability>summary{gap:var(--sp-1) var(--sp-4);padding:var(--sp-4) var(--sp-5);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;list-style:none;display:grid}.ability>summary::-webkit-details-marker{display:none}.ability>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.ability h4{font-size:var(--text-base);letter-spacing:-.01em;margin:0}.ability h4 small{margin-left:var(--sp-2);color:var(--ink-3);font-weight:400;font-size:var(--text-sm)}.ability__meta{gap:var(--sp-3);color:var(--ink-3);font-size:var(--text-xs);align-items:center;display:flex}.ability__blurb{color:var(--ink-2);font-size:var(--text-sm);grid-column:1/-1;margin:0;line-height:1.55}.ability[open]>summary{border-bottom:1px solid var(--line)}.ability__body{gap:var(--sp-5) var(--sp-8);padding:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ability__body h5{margin:0 0 var(--sp-2);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.ability__body ul{color:var(--ink-2);font-size:var(--text-sm);margin:0;padding-left:1.1em;line-height:1.6}.ability__body p{color:var(--ink-2);font-size:var(--text-sm);margin:0;line-height:1.6}.ability__body .span-all{grid-column:1/-1}.ability__sequence{margin:0 0 var(--sp-3);gap:var(--sp-2);counter-reset:step;flex-wrap:wrap;padding:0;list-style:none;display:flex}.ability__sequence li{counter-increment:step;border:1px solid var(--line-2);color:var(--ink-2);font-size:var(--text-xs);padding:2px 10px}.ability__sequence li:before{content:counter(step) ". ";color:var(--accent);font-weight:800}.system-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.system-card{padding:var(--sp-5);border:1px solid var(--line);background:var(--surface)}.system-card h3{margin:0 0 var(--sp-2);font-size:var(--text-lg);letter-spacing:-.02em}.system-card p{margin:0 0 var(--sp-3);color:var(--ink-2);font-size:var(--text-sm);line-height:1.6}.system-card h4{margin:var(--sp-3) 0 var(--sp-1);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.system-card ul{color:var(--ink-2);font-size:var(--text-sm);margin:0;padding-left:1.1em;line-height:1.55}.relation-list{gap:var(--sp-3);margin-top:var(--sp-6);display:grid}.relation{border:1px solid var(--line);background:var(--surface);scroll-margin-top:90px}.relation:target{border-color:var(--ink-2)}.relation>summary{align-items:baseline;gap:var(--sp-2) var(--sp-4);padding:var(--sp-4) var(--sp-5);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.relation>summary::-webkit-details-marker{display:none}.relation>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.relation h3{font-size:var(--text-base);margin:0}.relation__type{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;font-weight:700;display:inline-flex}.relation__type:before{content:"";border-top:3px solid var(--rel,var(--ink-3));width:14px}.relation__summary{padding:0 var(--sp-5) var(--sp-4);color:var(--ink-2);font-size:var(--text-sm);margin:0;line-height:1.6}.relation ol{padding:var(--sp-2) var(--sp-5) var(--sp-5) calc(var(--sp-5) + 1.1em);border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--text-sm);margin:0;line-height:1.6}.relation li{margin-top:var(--sp-3)}.relation li strong{color:var(--ink)}.relation[data-type=family]{--rel:var(--rel-family)}.relation[data-type=friend]{--rel:var(--rel-friend)}.relation[data-type=rival]{--rel:var(--rel-rival)}.relation[data-type=mentor]{--rel:var(--rel-mentor)}.relation[data-type=romance]{--rel:var(--rel-romance)}.relation[data-type=ally]{--rel:var(--rel-ally)}.relation[data-type=enemy]{--rel:var(--rel-enemy)}.timeline-tools{gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;align-items:end;display:flex}.timeline-tools .tool-field{min-width:180px}.timeline-note{margin:0 0 var(--sp-5)}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";border-left:2px solid var(--line-2);position:absolute;top:8px;bottom:8px;left:7px}.tl-event{gap:var(--sp-5);padding:0 0 var(--sp-6) 28px;grid-template-columns:160px minmax(0,1fr);display:grid;position:relative}.tl-event:before{content:"";border:2px solid var(--line-2);background:var(--bg);border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:0}.tl-event[data-kind=death]:before{border-color:var(--rel-enemy)}.tl-event[data-kind=battle]:before{border-color:var(--rel-rival)}.tl-event[data-kind=transformation]:before{border-color:var(--rel-mentor)}.tl-event[data-kind=reveal]:before{border-color:var(--rel-family)}.tl-event[data-kind=arc]:before{border-color:var(--rel-friend)}.tl-event[hidden]{display:none}.tl-event__when{color:var(--ink-3);font-size:var(--text-sm);font-weight:700}.tl-event__when small{color:var(--ink-3);font-weight:400;font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:3px;display:block}.tl-event h3{margin:0 0 var(--sp-1);font-size:var(--text-lg);letter-spacing:-.01em}.tl-event p{margin:0 0 var(--sp-2);color:var(--ink-2);font-size:var(--text-sm);line-height:1.6}.tl-event__tags{gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-3);flex-wrap:wrap;align-items:center;display:flex}.tl-event__tags a{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:2px}.tl-event details.spoiler{margin:0}.timeline-empty{color:var(--ink-3);font-size:var(--text-sm)}.status-now{border:1px solid var(--line-2);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.status-now>div{padding:var(--sp-5)}.status-now>div+div{border-left:1px solid var(--line)}.status-now dt{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.status-now dd{margin:var(--sp-1) 0 0;font-family:var(--font-body);font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:700}.state-alive{color:var(--rel-ally)}.state-deceased{color:var(--rel-enemy)}.state-unknown{color:var(--ink-2)}.state-other{color:var(--rel-family)}.status-events{margin:var(--sp-4) 0 0;gap:var(--sp-3);padding:0;list-style:none;display:grid}.status-event{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4) var(--sp-5)}.status-event h3{margin:0 0 var(--sp-2);font-size:var(--text-base)}.status-event dl{gap:var(--sp-2) var(--sp-4);font-size:var(--text-sm);grid-template-columns:110px minmax(0,1fr);margin:0;line-height:1.55;display:grid}.status-event dt{color:var(--ink-3);font-weight:700}.status-event dd{color:var(--ink-2);margin:0}.status-kind{margin-right:var(--sp-2);border:1px solid var(--line-2);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;padding:0 7px;font-size:10.5px;font-weight:700;display:inline-block}.adapt-table td:first-child{color:var(--ink);font-weight:700}.char-grid{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.char-card{gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line);background:var(--surface);grid-template-columns:56px minmax(0,1fr);transition:border-color .15s,background .15s;display:grid}.char-card[hidden]{display:none}a.char-card:hover{border-color:var(--line-2);background:var(--surface2)}.char-card h3{font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:-.02em;margin:0 0 3px;line-height:1.2}.char-card p{color:var(--ink-2);font-size:var(--text-sm);margin:0;line-height:1.5}.char-card__series{margin-bottom:var(--sp-2);color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.char-card__tags{margin-top:var(--sp-3);flex-wrap:wrap;gap:4px;display:flex}.char-card__tags span{border:1px solid var(--line);color:var(--ink-3);padding:1px 7px;font-size:11px}.directory-filters{gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line);background:var(--surface);margin-bottom:var(--sp-6);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto;align-items:end;display:grid}.directory-count{margin:0 0 var(--sp-4);color:var(--ink-3);font-size:var(--text-sm)}.directory-empty{padding:var(--sp-8);border:1px dashed var(--line-2);color:var(--ink-3);text-align:center}.series-strip{gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}.series-strip a{border:1px solid var(--line-2);color:var(--ink);font-size:var(--text-sm);padding:8px 14px;font-weight:700}.series-strip a:hover{border-color:var(--ink-2);background:var(--surface2)}.series-strip small{color:var(--ink-3);margin-left:6px;font-weight:400}.link-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.link-list li{color:var(--ink-2);font-size:var(--text-sm);line-height:1.55}.link-list a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:700}.ledger{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ledger th,.ledger td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ink-2);line-height:1.55}.ledger th{color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.sources-list{color:var(--ink-2);font-size:var(--text-sm);margin:0;padding-left:1.2em;line-height:1.7}.sources-list li{margin-bottom:var(--sp-2)}@media (width<=1000px){.char-layout{grid-template-columns:minmax(0,1fr)}.char-aside{position:static}.char-grid,.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-filters .span-2{grid-column:1/-1}}@media (width<=680px){.spoiler-bar{grid-template-columns:minmax(0,1fr);position:static}.char-grid,.ability__body,.status-now{grid-template-columns:minmax(0,1fr)}.status-now>div+div{border-left:0;border-top:1px solid var(--line)}.tl-event{gap:var(--sp-1);grid-template-columns:minmax(0,1fr)}.status-event dl{grid-template-columns:minmax(0,1fr);gap:0}.status-event dd{margin-bottom:var(--sp-2)}.directory-filters{grid-template-columns:minmax(0,1fr)}}@media print{.spoiler-bar{display:none}details.spoiler{border:0}}[data-rf-row][data-rf-hidden]{display:none}.rf-row{border-bottom:1px solid var(--line)}.arc-list{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.arc-list li{padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);background:var(--surface)}.arc-list h3{margin:0 0 var(--sp-1);font-size:var(--text-base)}.arc-list p{color:var(--ink-2);font-size:var(--text-sm);margin:0;line-height:1.55}.arc-list .ref{margin-bottom:var(--sp-1);display:block}.quick-facts--top .quick-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-facts--top .quick-facts .fact{border-right:1px solid var(--line)}.quick-facts--top .quick-facts .fact:nth-child(2n){border-right:0}@media (width<=680px){.quick-facts--top .quick-facts dl{grid-template-columns:minmax(0,1fr)}.quick-facts--top .quick-facts .fact{border-right:0}}.clan-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.clan-card{padding:var(--sp-5);border:1px solid var(--line);background:var(--surface)}.clan-card h3{margin:0 0 var(--sp-2);font-size:var(--text-xl);letter-spacing:-.02em}.clan-card p,.clan-card li{color:var(--ink-2);font-size:var(--text-sm);line-height:1.6}.clan-card ul{margin:var(--sp-2) 0 var(--sp-3);padding-left:1.1em}.clan-card__members{margin-top:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.clan-card__members a,.clan-card__members span{border:1px solid var(--line-2);font-size:var(--text-xs);color:var(--ink);padding:2px 8px}.clan-card__members span{color:var(--ink-3);border-style:dashed}.fc-page{padding-bottom:var(--sp-8)}.fc-page__title{padding:var(--sp-6) var(--sp-4) var(--sp-3);text-align:center;font-family:var(--font-body);letter-spacing:-.03em;margin:0;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.1}.fc-more{max-width:1100px;margin-top:var(--sp-12)}.fc-more>section{margin-top:var(--sp-12)}.fc-more h2{margin:0 0 var(--sp-4);font-family:var(--font-body);letter-spacing:-.03em;font-size:clamp(24px,2.6vw,32px);font-weight:700;line-height:1.1}.fc-more__lede{max-width:70ch;margin:0 0 var(--sp-5);color:var(--ink-2);font-size:var(--text-base);line-height:1.6}.fc-more__chips a{border:1px solid var(--line-2);color:var(--ink);font-size:var(--text-sm);gap:8px;padding:5px 11px;display:inline-flex}.fc-more__chips a:hover{border-color:var(--accent)}.fc-more__chips span{color:var(--ink-3);font-variant-numeric:tabular-nums}.fc-more__cards{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fc-more__cards article{padding:var(--sp-5);border:1px solid var(--line);background:var(--surface)}.fc-more__cards h3{margin:0 0 var(--sp-1);font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.2}.fc-more__cards p,.fc-more__cards li{margin:var(--sp-2) 0 0;color:var(--ink-2);font-size:var(--text-sm);line-height:1.6}.fc-more__cards ul{margin:var(--sp-2) 0 0;padding-left:1.1em}.fc-more__cards a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:700}.fc-more__cards .fc-more__meta{color:var(--ink-3);font-size:var(--text-xs);letter-spacing:.04em;margin-top:0}.fc-more__links{gap:var(--sp-2);color:var(--ink-2);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.fc-more__links a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);font-weight:700}.fc-more__chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fc-more__source{margin:var(--sp-10) 0 0;color:var(--ink-3);font-size:var(--text-xs)}.fc-more__source a{color:var(--ink-2);text-underline-offset:3px;text-decoration:underline}.fc-credit{margin:var(--sp-2) 0 0;padding:0 var(--sp-4);color:var(--ink-3);font-size:var(--text-xs);text-align:center}.fc{background:var(--bg);flex-direction:column;display:flex}.fc:fullscreen .fc-view{flex:1;height:auto}.fc-bar{gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-3);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.fc-search{flex:240px;max-width:340px;position:relative}.fc-search .tool-input{width:100%}.fc-bar .tool-select{width:auto;max-width:260px}.fc-suggest{z-index:30;background:var(--surface2);border:1px solid var(--line-2);max-height:340px;margin:4px 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow:auto}.fc-suggest:empty{display:none}.fc-suggest button{width:100%;padding:var(--sp-2) var(--sp-3);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;display:flex}.fc-suggest button:hover{background:var(--surface)}.fc-suggest small{color:var(--ink-3)}.fc-switch{min-height:42px;padding:0 var(--sp-3);border:1px solid var(--line-2);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.fc-tools{flex-wrap:wrap;gap:4px;display:flex}.fc-tools button{min-width:42px;min-height:42px;padding:0 var(--sp-3);border:1px solid var(--line-2);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0}.fc-tools button:hover{background:var(--surface2)}.fc-view{border-block:1px solid var(--line);background:var(--surface);height:calc(100vh - 226px);min-height:460px;position:relative;overflow:auto}.fc--live .fc-view{touch-action:none;cursor:grab;overflow:hidden}.fc-view.is-dragging{cursor:grabbing}.fc-view:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.fc-stage{--branch:1;--clan:1;--line:1;width:max-content}.fc--live .fc-stage{transform-origin:0 0;position:absolute;top:0;left:0}.fc-stage svg{display:block}.fc-l{fill:none;stroke:color-mix(in srgb, var(--rel-family) 62%, var(--line-2));stroke-width:calc(1.6px * var(--line));stroke-linejoin:round}.fc-l--trunk{stroke:var(--rel-family);stroke-width:calc(4px * var(--line))}.fc-l--branch{stroke:var(--ink-3);stroke-width:calc(1.1px * var(--line));stroke-dasharray:2 4;stroke-linecap:round;opacity:.7}.fc-l--adoptive,.fc-l--lineage{stroke-dasharray:7 5}.fc-l--created{stroke:var(--rel-friend);stroke-dasharray:2 5;stroke-linecap:round}.fc-l--partner{stroke:var(--rel-romance);stroke-width:calc(2.4px * var(--line))}.fc-l--cross{stroke:var(--rel-romance);stroke-width:calc(1.2px * var(--line));stroke-dasharray:3 6;opacity:.55}.fc-l.is-trail{stroke:var(--accent);stroke-width:calc(3.5px * var(--line));opacity:1;stroke-dasharray:none}.fc-dot{fill:color-mix(in srgb, var(--rel-family) 62%, var(--line-2))}.fc-n{cursor:pointer}.fc-n rect{fill:var(--surface2);stroke:var(--line-2);stroke-width:1.2px}.fc-n text{fill:var(--ink);font-family:var(--font-ui);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:13px}.fc-n--profile rect{stroke:var(--accent);stroke-width:2px}.fc-n--profile text{font-weight:700}.fc-n--echo rect{fill:#0000;stroke-dasharray:4 3}.fc-n--echo text{fill:var(--ink-2)}.fc-n:hover rect{stroke:var(--ink)}.fc-n.is-trail rect{stroke:var(--accent)}.fc-n.is-picked rect{stroke:var(--accent);stroke-width:3px;fill:color-mix(in srgb, var(--accent) 26%, var(--surface2))}.fc-n--root .fc-lab,.fc-n--branch .fc-lab{transform:scale(var(--branch))}.fc-n--clan .fc-lab{transform:scale(var(--clan))}.fc-n--team rect{fill:var(--surface);stroke:var(--ink-3);stroke-dasharray:3 3}.fc-n--team text{fill:var(--ink-2);font-size:14px;font-weight:600}.fc-n--root rect{fill:var(--rel-family);stroke:none}.fc-n--root text{fill:#17130a;font-family:var(--font-body);letter-spacing:-.02em;font-size:40px;font-weight:800}.fc-n--branch rect{fill:color-mix(in srgb, var(--rel-family) 26%, var(--surface2));stroke:var(--rel-family);stroke-width:2px}.fc-n--branch text{font-size:24px;font-weight:800}.fc-n--clan rect{fill:color-mix(in srgb, var(--rel-family) 12%, var(--surface2));stroke:color-mix(in srgb, var(--rel-family) 60%, var(--line-2))}.fc-n--clan text{font-size:15px;font-weight:700}.fc--far .fc-n--person text,.fc--far .fc-n--echo text{display:none}.fc--far .fc-n--person rect{fill:color-mix(in srgb, var(--rel-family) 42%, var(--surface2));stroke:none}.fc--far .fc-n--profile rect{fill:var(--accent)}.fc--farther .fc-n--clan:not(.fc-n--major),.fc--far .fc-n--team,.fc-n.is-culled{display:none}.fc-crumbs{z-index:15;top:var(--sp-2);left:var(--sp-2);right:var(--sp-2);pointer-events:none;color:var(--ink-3);font-size:var(--text-sm);align-items:center;gap:4px;display:flex;position:absolute;overflow-x:auto}.fc-crumbs button{border:1px solid var(--line-2);background:var(--surface2);color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto;white-space:nowrap;flex:none;padding:5px 11px}.fc-crumbs button:hover{border-color:var(--accent)}.fc-zoom{z-index:15;right:var(--sp-3);top:var(--sp-8);flex-direction:column;gap:4px;display:flex;position:absolute}.fc-zoom button{border:1px solid var(--line-2);background:var(--surface2);width:46px;height:46px;color:var(--ink);cursor:pointer;font-size:22px;line-height:1}.fc-zoom button:hover{border-color:var(--accent)}.fc-mini{z-index:15;right:var(--sp-3);bottom:var(--sp-3);border:1px solid var(--line-2);background:color-mix(in srgb, var(--bg) 88%, transparent);cursor:crosshair;touch-action:none;width:220px;position:absolute;overflow:hidden}.fc-mini canvas{width:100%;display:block}.fc-mini span{border:2px solid var(--accent);pointer-events:none;position:absolute}.fc-card{z-index:20;left:var(--sp-3);bottom:var(--sp-3);width:min(300px,100% - 24px);max-height:calc(100% - 24px);padding:var(--sp-4);border:1px solid var(--line-2);background:var(--surface2);cursor:auto;position:absolute;overflow:auto}.fc-card[hidden]{display:none}.fc-card h2{margin:0 24px var(--sp-1) 0;font-family:var(--font-body);font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.2}.fc-card h3{margin:var(--sp-3) 0 4px;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.fc-card__path,.fc-card__wait{color:var(--ink-3);font-size:var(--text-xs);margin:0}.fc-card__close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:6px}.fc-chips{flex-wrap:wrap;gap:4px;margin:0;display:flex}.fc-chips button{border:1px solid var(--line-2);color:var(--ink);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;padding:2px 9px}.fc-chips button:hover{border-color:var(--accent)}.fc-card .tool-button{margin-top:var(--sp-3)}@media (width<=760px){.fc-more__cards{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.fc-page__title{padding:var(--sp-3) var(--sp-3) var(--sp-2);font-size:26px}.fc-bar{padding:0 var(--sp-3) var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.fc-search{grid-column:1/-1;max-width:none}.fc-bar .tool-select{width:100%;min-width:0;max-width:none;font-size:var(--text-sm)}.fc-tools{flex-wrap:nowrap}.fc-tools button{padding:0 var(--sp-1);flex:1}.fc-switch{padding:0 var(--sp-1);justify-content:center}.fc-view{height:calc(100vh - 300px);min-height:400px}.fc-mini{width:130px}.fc-view:has(.fc-card:not([hidden])) .fc-mini{display:none}}
