:root{color-scheme:light;--bg: #fbf7ef;--panel: rgba(251, 247, 239, .9);--card: #ffffff;--sunken: #f4eee2;--ink: #1f1a14;--ink-2: #4a3f33;--muted: #6e6152;--line: #e8dfcf;--line-2: #d6c8b1;--accent: #9f2d20;--accent-ink: #fff;--accent-soft: rgba(159, 45, 32, .09);--accent-text: #9f2d20;--accent-2: #c9962b;--accent-2-text: #8a5a06;--accent-2-soft: rgba(201, 150, 43, .16);--hl: #fbeec4;--hl-ring: #c9962b;--shadow: 0 1px 2px rgba(60, 40, 20, .05), 0 6px 18px -10px rgba(60, 40, 20, .18);--shadow-lg: 0 2px 6px rgba(60, 40, 20, .06), 0 18px 40px -18px rgba(60, 40, 20, .28);--g0: #8a6a3c;--g1: #b23a2a;--g2: #c2612f;--g3: #b8862a;--g4: #8c8a2e;--g5: #4f8a3e;--g6: #2f7d62;--g7: #2e7f8a;--g8: #3e6a92;--g9: #5e5a9e;--g10: #8a4f8e;--g11: #a8486e;--font: "Be Vietnam Pro", "Noto Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--serif: "Noto Serif", "Be Vietnam Pro", Georgia, "Times New Roman", serif;--node-w: 172px;--gap-y: 26px;--tap: 36px;--slot-w: calc(var(--node-w) + 14px);--male: #3e6a92;--female: #a8486e;--neutral: #8f8272;--alive: #2f7d4f;--dead: #7d6f60;--ok: #2f7d4f;--warn: #9a5b00;--danger: #b3261e;--blob-1: rgba(159, 45, 32, .05);--blob-2: rgba(201, 150, 43, .07);--blob-3: transparent;--radius: 10px;--radius-lg: 14px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .15s;--dur: .22s;--dur-slow: .32s}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=dark],:root:not([data-theme=light]):not([data-theme=dark]).dark-auto{color-scheme:dark}:root[data-theme=dark]{--bg: #14110e;--panel: rgba(20, 17, 14, .9);--card: #1e1a16;--sunken: #191511;--ink: #f3ece0;--ink-2: #d5c9b6;--muted: #a39580;--line: #352d25;--line-2: #4a3f33;--accent: #e8846c;--accent-ink: #1a0f0b;--accent-soft: rgba(232, 132, 108, .15);--accent-text: #ee9a84;--accent-2: #e2b65a;--accent-2-text: #e2b65a;--accent-2-soft: rgba(226, 182, 90, .16);--hl: #4a3a12;--hl-ring: #e2b65a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 22px -10px rgba(0, 0, 0, .7);--shadow-lg: 0 2px 6px rgba(0, 0, 0, .45), 0 18px 40px -16px rgba(0, 0, 0, .8);--g0: #c9a86a;--g1: #e07b6a;--g2: #e59563;--g3: #ddb55a;--g4: #c2bf5c;--g5: #8cc27a;--g6: #6cc0a0;--g7: #6abfc9;--g8: #86aedb;--g9: #a39ee0;--g10: #c68aca;--g11: #e08aad;--male: #86aedb;--female: #e08aad;--neutral: #a39580;--alive: #6cc092;--dead: #a89a87;--ok: #6cc092;--warn: #e7a84a;--danger: #f08a80;--blob-1: rgba(232, 132, 108, .05);--blob-2: rgba(226, 182, 90, .04);--blob-3: transparent}@media (prefers-color-scheme: dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--bg: #14110e;--panel: rgba(20, 17, 14, .9);--card: #1e1a16;--sunken: #191511;--ink: #f3ece0;--ink-2: #d5c9b6;--muted: #a39580;--line: #352d25;--line-2: #4a3f33;--accent: #e8846c;--accent-ink: #1a0f0b;--accent-soft: rgba(232, 132, 108, .15);--accent-text: #ee9a84;--accent-2: #e2b65a;--accent-2-text: #e2b65a;--accent-2-soft: rgba(226, 182, 90, .16);--hl: #4a3a12;--hl-ring: #e2b65a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 22px -10px rgba(0, 0, 0, .7);--shadow-lg: 0 2px 6px rgba(0, 0, 0, .45), 0 18px 40px -16px rgba(0, 0, 0, .8);--g0: #c9a86a;--g1: #e07b6a;--g2: #e59563;--g3: #ddb55a;--g4: #c2bf5c;--g5: #8cc27a;--g6: #6cc0a0;--g7: #6abfc9;--g8: #86aedb;--g9: #a39ee0;--g10: #c68aca;--g11: #e08aad;--male: #86aedb;--female: #e08aad;--neutral: #a39580;--alive: #6cc092;--dead: #a89a87;--ok: #6cc092;--warn: #e7a84a;--danger: #f08a80;--blob-1: rgba(232, 132, 108, .05);--blob-2: rgba(226, 182, 90, .04);--blob-3: transparent}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html[data-shell=app],html[data-shell=app] body,html[data-shell=app] #root{height:100%}html[data-shell=app],html[data-shell=app] body{overflow:hidden;overscroll-behavior:none}html[data-shell=app],html[data-shell=app] body{touch-action:pan-x pan-y}body{font-family:var(--font);color:var(--ink);font-size:.875rem;background:var(--bg);background-image:radial-gradient(1100px 560px at 8% -12%,var(--blob-1),transparent 62%),radial-gradient(900px 520px at 108% 6%,var(--blob-2),transparent 60%),radial-gradient(800px 480px at 50% 112%,var(--blob-3),transparent 60%);background-attachment:fixed;transition:background-color .35s,color .35s;-webkit-text-size-adjust:100%}html[data-shell=app] body{overscroll-behavior:none}html[data-shell=app] #root,.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.app{position:fixed;top:0;right:0;bottom:0;left:0;height:auto}.body{flex:1;min-height:0;display:flex;position:relative}button,input,select{font-family:inherit;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}header{position:relative;z-index:33;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:10px 20px;display:flex;flex-direction:column;gap:10px;padding-top:calc(10px + env(safe-area-inset-top))}.brand-row{display:flex;align-items:center;gap:16px;min-width:0}.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:none}.brand .mark{flex:none;width:40px;height:40px;border-radius:50%;display:block;box-shadow:0 0 0 1px var(--line);transition:transform var(--dur) var(--ease-out)}.brand .mark img{width:100%;height:100%}.brand .mark:hover{transform:scale(1.04)}.brand h1{margin:0;font-family:var(--serif);font-weight:700;font-size:21px;color:var(--ink);line-height:1.15;letter-spacing:.1px}.brand h1 small{display:block;font-family:var(--font);font-size:12px;color:var(--muted);font-weight:500;margin-top:2px;letter-spacing:0}.stats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-width:0;padding-left:16px;border-left:1px solid var(--line)}.stats .pill{animation:fade-in var(--dur-slow) var(--ease-out) both;background:var(--sunken);border:1px solid transparent;border-radius:999px;padding:0 10px;height:28px;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap;font-family:inherit}.stats .pill b{color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.stats .pill.status{background:var(--card);border-color:var(--line);color:var(--ink-2);transition:border-color var(--dur-fast),background var(--dur-fast)}.quick{margin-left:auto;display:flex;gap:6px;flex:none;align-items:center}.toolbar{display:flex;align-items:center;gap:8px;min-width:0}.search-group{display:flex;align-items:center;gap:6px;flex:1 1 240px;max-width:460px}.search-group:has(input:placeholder-shown) .hit-nav{display:none}.controls{display:flex;gap:8px;align-items:center;margin-left:auto;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none;padding:2px}.controls::-webkit-scrollbar{display:none}.controls>*{flex:none}.search{position:relative;flex:1 1 auto;min-width:0;display:block}.search input{width:100%;height:var(--tap);padding:0 30px 0 36px;border:1px solid var(--line-2);border-radius:var(--radius);font-size:14px;background:var(--card);color:var(--ink);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.search input::placeholder{color:var(--muted)}.search input:hover{border-color:color-mix(in srgb,var(--ink) 25%,var(--line-2))}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.search .kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted);border:1px solid var(--line-2);border-radius:5px;padding:0 6px;line-height:18px;pointer-events:none}.search input:focus~.kbd{opacity:0}.search-info{font-size:12px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.search-info:not(:empty){min-width:48px}.hit-nav{flex:none}.btn{height:var(--tap);padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--card);cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}.btn:hover{background:color-mix(in srgb,var(--ink) 4%,var(--card));border-color:color-mix(in srgb,var(--ink) 22%,var(--line-2));color:var(--ink)}.btn:active{transform:scale(.97)}.btn:focus-visible,.node:focus-visible,.mm-node:focus-visible,.tl-row:focus-visible,.lst .tg:focus-visible,.legend .gen:focus-visible,.guide-link:focus-visible,.toggle:focus-visible,.linkish:focus-visible,.pill.status:focus-visible,.people button:focus-visible,.crumbs button:focus-visible,.tools-menu button:focus-visible,.search-results button:focus-visible,.minimap-toggle:focus-visible,.minimap-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black);border-color:color-mix(in srgb,var(--accent) 88%,black);color:var(--accent-ink)}.btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.active:hover{background:color-mix(in srgb,var(--accent) 90%,black);color:var(--accent-ink)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600;padding:0 18px}.btn svg{width:16px;height:16px;flex:none}.btn.icon{width:var(--tap);padding:0;font-size:17px}select.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px;background-repeat:no-repeat}.group{display:inline-flex;flex:none;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--card)}.group .btn{border:0;border-radius:0;border-right:1px solid var(--line)}.group .btn:last-child{border-right:0}.group .btn.active{box-shadow:none}.group.disabled{opacity:.45;pointer-events:none}.group .btn:focus-visible{outline-offset:-3px}.zoom-level{min-width:56px;font-variant-numeric:tabular-nums}.view-btn .lbl,.tools-btn .lbl{display:inline}.legend{background:var(--panel);border-bottom:1px solid var(--line);padding:6px 20px;display:flex;gap:10px;align-items:center;font-size:12px}.legend-scroll{display:flex;gap:2px;flex-wrap:nowrap;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}.legend-scroll::-webkit-scrollbar{display:none}.legend .gen{display:inline-flex;align-items:center;gap:7px;cursor:pointer;height:28px;padding:0 10px 0 8px;border-radius:999px;border:1px solid transparent;background:none;color:var(--ink-2);font-size:12.5px;font-family:inherit;white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast)}.legend .gen:hover{background:var(--sunken);border-color:var(--line)}.legend .dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 20%,transparent)}.legend .gen b{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.legend .guide-link{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:999px;height:28px;padding:0 11px 0 9px;color:var(--ink-2);font-size:12px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.legend .guide-link svg{width:14px;height:14px}.legend .guide-link:hover{background:var(--sunken);border-color:var(--line-2);color:var(--ink)}main{flex:1;min-width:0;overflow:auto;position:relative;-webkit-overflow-scrolling:touch}main.is-chart,main.is-mindmap{cursor:grab;touch-action:pan-x pan-y}main.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chart-wrap{padding:30px 60px 80px;display:inline-block;min-width:100%}.tree{--zoom: 1;--lw: max(2px, calc(1.5px / var(--zoom)));width:max-content;transform-origin:0 0}.tree-scale,.mm-scale{position:relative;margin:0 auto}.tree ul{display:flex;padding:var(--gap-y) 0 0;margin:0;position:relative;justify-content:center}.tree li>ul{animation:unfold .35s var(--ease-out) both;transform-origin:top center}.tree>ul{padding-top:0}.tree li{flex:none;list-style:none;position:relative;padding:var(--gap-y) 7px 0;display:flex;flex-direction:column;align-items:center;--conn: color-mix(in srgb, var(--pc, var(--line-2)) 40%, var(--line-2));--conn-own: color-mix(in srgb, var(--gc, var(--line-2)) 40%, var(--line-2))}.tree>ul>li{padding-top:0}.tree li:before,.tree li:after{content:"";position:absolute;top:0;right:50%;width:50%;height:var(--gap-y);border-top:var(--lw) solid var(--conn)}.tree li:after{right:auto;left:50%;border-left:var(--lw) solid var(--conn)}.tree li:only-child:before,.tree li:only-child:after{display:none}.tree li:only-child>.node-group:before{content:"";position:absolute;left:50%;bottom:100%;height:var(--gap-y);border-left:var(--lw) solid var(--conn)}.tree>ul>li:only-child>.node-group:before{display:none}.node-group{position:relative;display:flex;align-items:stretch}.node-group.joint .node{flex:none}.joint-bridge{position:relative;align-self:center;flex:none;width:34px;display:flex;align-items:center;justify-content:center}.joint-bridge:before{content:"";position:absolute;left:-2px;right:-2px;top:50%;border-top:var(--lw) dashed color-mix(in srgb,var(--gc) 45%,var(--line-2))}.joint-bridge i{position:relative;z-index:1;font-style:normal;font-size:11px;font-weight:800;color:color-mix(in srgb,var(--gc) 45%,var(--ink));background:var(--card);border:1px solid color-mix(in srgb,var(--gc) 45%,var(--line));border-radius:999px;padding:1px 6px;line-height:16px}.node.root-entity{background:var(--card);border-color:color-mix(in srgb,var(--accent-2) 70%,var(--line));box-shadow:0 0 0 3px var(--accent-2-soft),var(--shadow);padding-top:13px}.node.root-entity .name{font-family:var(--serif);font-size:15.5px;letter-spacing:.2px}.node.root-entity:after{background:var(--accent-2)}.tree li:first-child:before,.tree li:last-child:after{border:0 none}.tree li:last-child:before{border-right:var(--lw) solid var(--conn);border-radius:0 8px 0 0}.tree li:first-child:after{border-radius:8px 0 0}.tree ul ul:before{content:"";position:absolute;top:0;left:50%;height:var(--gap-y);border-left:var(--lw) solid var(--conn-own)}.tree ul.tight>li.tight-leaf{position:absolute;top:var(--gap-y);left:50%;transform:translate(calc(var(--slot) * var(--slot-w) - 50%));z-index:1}.tree ul.tight>li:before{display:none}.tree ul.tight>li:after{left:50%;right:auto;width:0;border-top:0 none;border-radius:0;border-left:var(--lw) solid var(--conn)}.tree ul.tight>li:first-child:after{width:8px;border-top:var(--lw) solid var(--conn);border-radius:8px 0 0}.tree ul.tight>li:last-child:before{display:block;left:auto;right:50%;width:8px;border-right:var(--lw) solid var(--conn);border-radius:0 8px 0 0}.tree ul.tight:after{content:"";position:absolute;top:var(--gap-y);left:50%;margin-left:calc(var(--from) * var(--slot-w));width:calc((var(--to) - var(--from)) * var(--slot-w));border-top:var(--lw) solid var(--conn-own)}.tree>ul>li>.node-group{transform:translate(calc(var(--tight-mid, 0) * var(--slot-w)))}.tree>ul>li>ul.tight:before{margin-left:calc(var(--tight-mid) * var(--slot-w))}.node{position:relative;width:var(--node-w);border-radius:12px;padding:11px 10px 10px;text-align:center;background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur),border-color var(--dur),background var(--dur);animation:rise-in .38s var(--ease-out) both}.node:after{content:"";position:absolute;z-index:1;left:14px;right:14px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:var(--gc)}.node:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gc) 45%,var(--line-2));box-shadow:var(--shadow-lg)}.node .gen-badge{position:absolute;z-index:2;top:-10px;left:10px;font-size:10px;letter-spacing:.4px;border-radius:999px;padding:1px 7px;line-height:16px;font-weight:700;text-transform:uppercase}.node .id{position:absolute;z-index:2;top:-10px;right:10px;display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:16px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 6px;font-variant-numeric:tabular-nums}.node .name{font-weight:650;font-size:13.5px;line-height:1.3;margin-top:3px;color:var(--ink);overflow-wrap:anywhere}.node .name a{color:inherit;text-decoration:none}.node .name a:hover{color:var(--accent-text)}.node .spouse{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:2px}.spouse-chip{font-size:11.5px;color:var(--ink-2);border-radius:6px;padding:1px 4px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.spouse-chip svg{width:12px;height:12px;color:var(--accent-2);flex:none}.spouse-chip a{color:inherit;text-decoration:none}.spouse-chip a:hover{color:var(--accent-text)}.spouse-chip .unknown{opacity:.75}.node-group .toggle{position:absolute;z-index:3;left:50%;transform:translate(-50%);bottom:-13px;min-width:28px;height:24px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:11px;font-weight:700;cursor:pointer;line-height:22px;padding:0 8px;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;color:var(--ink-2);transition:transform var(--dur) var(--ease-out),background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.node-group .toggle:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translate(-50%) scale(1.08)}.node.hit{background:var(--hl);border-color:var(--hl-ring)}.node.hit-current{outline:3px solid var(--hl-ring);outline-offset:2px;animation:rise-in .38s var(--ease-out) both,hit-pop .5s var(--ease-out) 1}.node.draggable{cursor:grab;user-select:none;-webkit-user-select:none}.tree.is-dragging .node{transition:box-shadow .2s,background .3s,border-color .3s}.tree.is-dragging .node:not(.dragging):hover{transform:none}.node.dragging{cursor:grabbing;pointer-events:none;z-index:9;opacity:.94;animation:none;transform:translate(var(--dx, 0px),var(--dy, 0px)) scale(1.04) rotate(-1deg);box-shadow:0 6px 10px #00000014,0 22px 44px -14px color-mix(in srgb,var(--gc) 65%,transparent)}.node.drop-before:before,.node.drop-after:before{content:"";position:absolute;z-index:4;top:-8px;bottom:-8px;width:4px;border-radius:3px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent);animation:fade-in .12s var(--ease-out) both}.node.drop-before:before{left:-9px}.node.drop-after:before{right:-9px}.node.drop-into{outline:3px dashed var(--accent);outline-offset:3px;background:var(--accent-soft)}.node .nudge{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:20px;height:26px;padding:0;line-height:24px;border-radius:7px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);font-size:14px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;box-shadow:var(--shadow)}.node .nudge.left{left:-11px}.node .nudge.right{right:-11px}.node:hover .nudge,.node.selected .nudge,.node .nudge:focus-visible{opacity:1}.node .nudge:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.node.dragging .nudge{opacity:0}@media (hover: none){.node .nudge{opacity:0;pointer-events:none}.node.selected .nudge{opacity:1;pointer-events:auto}}.tree[data-lod=compact] .gen-badge,.tree[data-lod=compact] .id,.tree[data-lod=compact] .meta,.tree[data-lod=compact] .nudge,.tree[data-lod=compact] .dead{visibility:hidden}.tree[data-lod=compact] .spouse-chip{color:transparent}.tree[data-lod=compact] .spouse-chip svg{visibility:hidden}.tree[data-lod=compact] .node .name{transform:scale(1.25);transform-origin:50% 0}.tree[data-lod=compact] .node:after{height:5px}.tree[data-lod=compact] .node-group .toggle{min-width:40px;height:32px;line-height:30px;font-size:15px;bottom:-17px}.tree[data-lod=tiny] .node{background:var(--gc);border-color:var(--gc);box-shadow:none;animation:none}.tree[data-lod=tiny] .node>*,.tree[data-lod=tiny] .node-group .toggle,.tree[data-lod=tiny] .joint-bridge i{visibility:hidden}.tree[data-lod=tiny] .node:after{display:none}.tree[data-lod=tiny] .node.hit{outline:max(3px,calc(3px / var(--zoom))) solid var(--hl-ring);outline-offset:max(2px,calc(2px / var(--zoom)))}.tree[data-lod=tiny] .node.selected{outline:max(3px,calc(3px / var(--zoom))) solid var(--ink);outline-offset:max(2px,calc(2px / var(--zoom)))}.mm-wrap{padding:24px}.mm-float,.chart-float{position:sticky;top:10px;left:10px;z-index:6;display:inline-flex;margin-bottom:-26px;animation:drop-in .25s var(--ease-out) both}.mm-canvas{position:relative;display:block;transform-origin:0 0}.mm-edges{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.mm-edge{fill:none;stroke:color-mix(in srgb,var(--c) 45%,var(--line-2));stroke-width:2;opacity:.9;stroke-linecap:round;transition:opacity .2s,stroke-width .2s}.mm-edge.lineage{stroke:var(--accent);opacity:.85;stroke-width:3}.mm-node{position:absolute;transform:translate(-50%,-50%);width:136px;padding:9px 10px 10px;border-radius:14px;text-align:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;background:var(--card);border:1px solid var(--line-2);border-top:3px solid var(--gc);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:3px;animation:pop-in .35s var(--ease-out) both;transition:box-shadow var(--dur),border-color var(--dur),background var(--dur)}.mm-node:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--gc) 45%,var(--line-2));border-top-color:var(--gc);z-index:4}.mm-node.dragging{cursor:grabbing;z-index:7;transform:translate(-50%,-50%) scale(1.05);box-shadow:var(--shadow-lg);animation:none}.mm-node.moved{border-style:dashed;border-top-style:solid}.mm-node .gen-badge{font-size:9.5px;letter-spacing:.4px;border-radius:999px;padding:0 7px;line-height:16px;font-weight:700;text-transform:uppercase}.mm-node .name{font-weight:650;font-size:12.5px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}.mm-node .meta{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.3}.mm-node .meta.spouses{color:var(--ink-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-node .toggle{position:absolute;z-index:3;left:50%;transform:translate(-50%);bottom:-12px;min-width:26px;height:22px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:11px;font-weight:700;cursor:pointer;color:var(--ink-2);line-height:20px;padding:0 7px;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;transition:transform var(--dur) var(--ease-out),background var(--dur-fast),color var(--dur-fast)}.mm-node .toggle:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translate(-50%) scale(1.08)}.mm-node.mm-root{width:168px;padding:12px 12px 13px;border-color:color-mix(in srgb,var(--accent-2) 70%,var(--line));border-top-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2-soft),var(--shadow)}.mm-node.mm-root .name{font-family:var(--serif);font-size:15px}.mm-node.hit{background:var(--hl);border-color:var(--hl-ring)}.mm-node.hit-current{outline:3px solid var(--hl-ring);outline-offset:2px}.mm-node.selected{outline:3px solid var(--accent);outline-offset:2px}.mm-node.lineage:not(.selected){box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),var(--shadow)}.mm-node.dim{opacity:.28;filter:saturate(.3)}.mm-node.fav .name:after{content:" ♥";color:var(--accent);font-size:11px}@media (max-width: 760px){.mm-wrap{padding:16px}.mm-node{width:120px}.mm-node .name{font-size:11.5px}}.list-wrap{padding:16px 24px 80px;max-width:1100px;margin:0 auto}.lst ul{list-style:none;padding-left:24px;border-left:1px solid var(--line);margin:0 0 0 15px}.lst>ul{padding-left:0;border-left:0;margin-left:0}.lst li{margin:1px 0}.lst ul{animation:unfold .3s var(--ease-out) both;transform-origin:top left}.lst .row{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 10px 4px 6px;border-radius:var(--radius);transition:background var(--dur-fast);flex-wrap:wrap;animation:rise-in .3s var(--ease-out) both}.lst .row:hover{background:var(--sunken)}.lst .row .gb,.tl-row .gb{flex:none;font-size:10px;line-height:16px;border-radius:999px;padding:1px 8px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-2);background:var(--card)}.lst .row .gb{min-width:52px}.lst .row .nm{font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:2px}.lst .row .nm.alt{cursor:pointer}.lst .row .nm.alt:hover{color:var(--accent-text)}.lst .row .joint-and{font-weight:700;color:var(--muted);font-size:12px}.lst .row .sp{color:var(--ink-2);font-size:12px;display:inline-flex;gap:8px;flex-wrap:wrap}.lst .row .sp .spouse-chip{background:none;padding:0}.lst .row .cnt{color:var(--muted);font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}.lst .row a{color:inherit;text-decoration:none}.lst .row a:hover{color:var(--accent-text)}.lst .tg{flex:none;width:28px;height:28px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);font-size:14px;line-height:26px;padding:0;cursor:pointer;color:var(--ink-2);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.lst .tg:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lst .tg.empty{visibility:hidden}.lst .row.hit{background:var(--hl)}.lst .row.hit-current{outline:2px solid var(--hl-ring);outline-offset:-1px}.sex{display:inline-flex;align-items:center;color:var(--muted)}.sex svg{width:10px;height:10px}.sex.male{color:var(--male)}.sex.female{color:var(--female)}.nm .sex{margin-left:4px}.nm .sex svg{width:11px;height:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app>footer{background:var(--panel);border-top:1px solid var(--line);padding:8px 20px;font-size:12px;color:var(--muted);line-height:1.5;display:flex;flex-wrap:wrap;gap:2px 16px;align-items:baseline}.app>footer .credits{color:var(--ink-2);font-weight:500}.app>footer .linkish{font-size:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c120a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in var(--dur) ease-out both}.modal{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;width:min(640px,100%);max-height:min(88vh,88dvh);display:flex;flex-direction:column;box-shadow:0 30px 80px -24px #00000080;overflow:hidden;animation:pop-in var(--dur-slow) var(--ease-out) both}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.25;min-width:0}.modal-head .btn.icon{border-color:transparent;background:none;flex:none}.modal-head .btn.icon:hover{background:var(--sunken)}.modal-intro{margin:0 0 14px;color:var(--ink-2);font-size:14px;line-height:1.6}.modal-body{overflow:auto;padding:18px 24px 20px;font-size:14px}.modal.wide{width:min(880px,100%)}.guide{list-style:none;margin:0;padding:4px 0 12px;display:flex;flex-direction:column;gap:14px}.guide li{display:flex;gap:14px;animation:rise-in .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms)}.guide .num{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;font-family:var(--serif);color:var(--accent-text);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.guide h3{margin:3px 0 4px;font-size:14.5px;font-weight:650;color:var(--ink)}.guide p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.6}.guide-tips{margin:0 0 16px;padding:12px 16px 12px 32px;font-size:13.5px;color:var(--ink-2);line-height:1.6;background:var(--sunken);border-radius:var(--radius)}.guide-tips li{margin:2px 0}.guide-tips li::marker{color:var(--accent-2)}.modal-foot{padding:12px 24px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:8px}@media (pointer: coarse){:root{--tap: 44px}.node-group .toggle{min-width:36px;height:30px;line-height:28px;bottom:-16px;font-size:12px}.lst .tg{width:36px;height:36px;line-height:34px}.lst .row{min-height:44px}.legend .gen,.legend .guide-link,.stats .pill{height:36px}.node:hover{transform:none}}@media (max-width: 1279px){.view-btn{width:var(--tap);padding:0}.view-btn .lbl{display:none}.controls{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent)}}@media (max-width: 1100px){.legend-scroll{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent)}.brand-row{flex-wrap:wrap;row-gap:8px}.stats{order:3;width:100%;padding-left:0;border-left:0}}@media (max-width: 760px){body{font-size:13px}header{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));gap:8px}.brand{flex:1 1 0}.brand .mark{width:34px;height:34px}.brand h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand h1 small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick{gap:4px}.quick .group .btn{padding:0 10px}.stats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:5px;margin:0 -12px;padding:0 12px}.stats::-webkit-scrollbar{display:none}.stats .pill{font-size:11.5px}.toolbar{flex-wrap:wrap;row-gap:8px}.search-group{order:1;flex:1 1 calc(100% - var(--tap) - 8px);max-width:none;min-width:0}.tools-anchor{order:2}.toolbar>.group{order:3}.controls{order:4;flex:1 1 0;margin-left:0;margin-right:-12px;padding-right:12px;scroll-snap-type:x proximity}.controls>*{scroll-snap-align:start}.tools-btn{width:var(--tap);padding:0}.tools-btn .lbl,.search .kbd{display:none}.legend{padding:6px 12px}.legend-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 0 0 -12px;padding:0 0 0 12px;flex:1 1 0;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent)}.legend-scroll::-webkit-scrollbar{display:none}.legend .guide-link{width:36px;padding:0;justify-content:center;font-size:0;gap:0}.chart-wrap{padding:22px 24px 60px}:root{--node-w: 150px;--gap-y: 22px}.node .name{font-size:12.5px}.list-wrap,.list-wrap.timeline{padding:8px 8px 90px}.lst ul{padding-left:12px;margin-left:13px}.lst .row{padding:6px;gap:6px 8px}.lst .row .sp{width:100%;padding-left:40px}.lst .row .cnt{display:none}.modal-head{padding:12px 10px 12px 16px}.modal-body{padding:14px 16px 18px}.modal-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1 1 auto}}@media (max-width: 600px){.stats{display:none}.modal-backdrop{padding:0;align-items:stretch}.modal,.modal.wide{width:100%;max-height:none;height:100%;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}}@media (max-width: 420px){.brand h1 small,.quick .group .btn.active{display:none}}.node{cursor:pointer}.node.selected{outline:3px solid var(--accent);outline-offset:2px;animation:rise-in .38s var(--ease-out) both,pulse-ring 1.4s var(--ease-out) 1}.node.lineage:not(.selected){box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),var(--shadow)}.node.dim,.lst .row.dim{opacity:.28;filter:saturate(.3)}.node.fav .name:after,.lst .row.fav .nm:after{content:" ♥";color:var(--accent);font-size:11px}.node .meta{font-size:10.5px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}.node .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;margin:4px auto 0;display:block;border:2px solid var(--gc)}.dead{display:inline-flex;vertical-align:-2px;margin-right:3px;color:var(--muted)}.dead svg{width:11px;height:11px}.lst .row{cursor:pointer}.lst .row.selected{outline:2px solid var(--accent)}.lst .row .life{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.stats .pill.status{cursor:pointer}.stats .pill.status svg{width:12px;height:12px}.stats .pill.status.loading svg{animation:spin 1s linear infinite}.stats .pill.status:hover{border-color:var(--line-2);background:var(--sunken)}.stats .pill.status.server svg{color:var(--ok)}.stats .pill.status.cache,.stats .pill.status.snapshot{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--warn)}@keyframes spin{to{transform:rotate(360deg)}}.quick .btn.icon{text-decoration:none}.btn:disabled{opacity:.45;cursor:default}.btn.small{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px}.btn.small svg{width:14px;height:14px}.btn.icon.small{width:30px}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.btn.danger:hover{background:var(--danger);color:#fff}.search-wrap{position:relative;flex:1 1 auto;min-width:150px;display:flex}.search-wrap .search{max-width:none}.search-results{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;min-width:260px;margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);max-height:min(360px,60vh);overflow:auto;animation:drop-in var(--dur) var(--ease-out) both}.search-results button{width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:2px;font-size:13.5px;font-family:inherit}.search-results button b{font-weight:600}.search-results button small{color:var(--muted);font-size:12px}.search-results button:hover{background:var(--sunken)}.search-results button.current{background:var(--hl)}.search-results .more{color:var(--muted);font-size:12px;padding:6px 10px}.tools-anchor{position:relative;flex:none}.popover{position:absolute;z-index:45;top:calc(100% + 6px);min-width:280px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:drop-in var(--dur) var(--ease-out) both}.popover.right{right:0}.popover.left{left:0}.tools-menu{display:flex;flex-direction:column;max-height:calc(100dvh - 140px);overflow:auto}.tools-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;text-align:left;background:none;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;color:var(--ink);font-size:13.5px;font-family:inherit}.tools-menu button:hover{background:var(--sunken)}.tools-menu button.active{color:var(--accent-text);font-weight:600;background:var(--accent-soft)}.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:11px;line-height:18px;min-width:20px;text-align:center;padding:0 6px;font-weight:700;font-variant-numeric:tabular-nums}.linkish{background:none;border:0;padding:0;color:var(--accent-text);cursor:pointer;font:inherit;font-weight:600}.linkish:hover{color:color-mix(in srgb,var(--accent-text) 75%,var(--ink))}.legend .gen.plain{opacity:.75}.legend span.gen{cursor:default}.banner{display:flex;flex-wrap:wrap;gap:6px;padding:6px 20px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px}.banner-item{animation:drop-in var(--dur-slow) var(--ease-out) both;display:inline-flex;align-items:center;gap:10px;min-height:32px;padding:2px 4px 2px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}.banner-item:not(:has(.btn)){padding-right:12px}.banner-item.ann{border-color:color-mix(in srgb,var(--accent-2) 50%,var(--line));background:var(--accent-2-soft);color:var(--ink)}.banner-item.err{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--warn)}.banner-item.new .linkish{font-weight:600}.banner-item.focus{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--ink)}.banner-item .btn.small{height:26px;border-radius:999px}.detail{flex:none;width:380px;max-width:100%;background:var(--card);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;animation:slide-left var(--dur-slow) var(--ease-out) both;--gc: var(--accent)}.detail-head{display:flex;gap:14px;padding:16px 14px 14px 18px;border-bottom:1px solid var(--line);align-items:flex-start;background:var(--card);position:relative}.detail-head:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gc)}.detail-avatar{flex:none;width:60px;height:60px;border-radius:50%;background:var(--sunken);border:2px solid color-mix(in srgb,var(--gc) 60%,var(--line));box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--line);display:grid;place-items:center;color:var(--muted);overflow:hidden}.detail-avatar img{width:100%;height:100%;object-fit:cover}.detail-avatar svg{width:28px;height:28px}.detail-title{flex:1;min-width:0;padding-top:1px}.detail-title .gen-badge{font-size:10px;border-radius:999px;padding:0 8px;line-height:17px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:inline-block}.detail-title h2{margin:6px 0 4px;font-family:var(--serif);font-weight:700;font-size:21px;line-height:1.25;overflow-wrap:anywhere;color:var(--ink)}.detail-sub,.detail-life{font-size:12.5px;color:var(--muted);line-height:1.5}.detail-life{color:var(--ink-2)}.detail-actions{display:flex;gap:2px;flex:none;margin:-4px -2px 0 0}.detail-actions .btn.icon{border-color:transparent;background:none}.detail-actions .btn.icon:hover{background:var(--sunken)}.detail-actions .fav-btn.active{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.detail-body{overflow:auto;overscroll-behavior:contain;padding:4px 18px 28px;display:flex;flex-direction:column}.detail-body>section,.detail-body>.detail-posts{padding:14px 0;border-bottom:1px solid var(--line);animation:fade-in var(--dur-slow) var(--ease-out) both}.detail-body>section:last-child{border-bottom:0}.detail-body section h3{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.detail-counts{margin:12px 0 0;padding:8px 12px;border-radius:var(--radius);background:var(--sunken);font-size:13px;color:var(--ink-2)}.crumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 2px;align-items:center;font-size:13px}.crumbs li:after{content:"›";color:var(--muted);margin:0 4px}.crumbs li:last-child:after{content:none}.crumbs button{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line-2);color:var(--ink);border-radius:999px;padding:3px 10px 3px 8px;cursor:pointer;font-size:12.5px;font-family:inherit;transition:background var(--dur-fast),border-color var(--dur-fast)}.crumbs button:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}.crumbs button:hover{background:var(--sunken);border-color:color-mix(in srgb,var(--ink) 22%,var(--line-2))}.crumbs .cur{font-weight:700;color:var(--ink)}.crumbs .amp{font-weight:700;color:var(--muted);margin:0 3px}.crumbs li.joint{display:inline-flex;align-items:center;gap:2px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--sunken);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;animation:fade-in var(--dur) var(--ease-out) both}.chip.muted{background:none;border-style:dashed}.chips .spouse-chip{background:var(--sunken);border:1px solid var(--line);border-radius:999px;padding:4px 11px 4px 9px;font-size:13px;color:var(--ink)}.people{list-style:none;margin:0 -8px;padding:0;display:flex;flex-direction:column;gap:1px}.people li{display:flex;align-items:center;gap:4px}.people li>button:first-child{flex:1;min-height:36px;text-align:left;background:none;border:0;padding:6px 8px;border-radius:8px;color:var(--ink);cursor:pointer;font-size:13.5px;font-family:inherit;transition:background var(--dur-fast)}.people li>button:first-child:hover{background:var(--sunken)}.people .n{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:2px}.people small{color:var(--muted)}.facts{margin:0;display:grid;gap:10px}.facts.two{grid-template-columns:1fr 1fr}.facts>div{display:grid;gap:2px}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:0;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.notes{white-space:pre-wrap;font-size:14px;line-height:1.65;margin:10px 0 0;color:var(--ink-2)}.muted{color:var(--muted)}.detail-body p.muted{margin:0;font-size:13.5px}.detail-buttons{display:flex;flex-wrap:wrap;gap:6px}.detail-buttons .btn{height:34px;font-size:12.5px;padding:0 11px;text-decoration:none}.list-wrap>p.empty,.modal-body p.empty{color:var(--muted);text-align:center;padding:32px 12px}.main-wrap{flex:1;min-width:0;position:relative;display:flex}.main-wrap:fullscreen{background:var(--bg)}.app.is-fullscreen .main-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:var(--bg)}.app.is-fullscreen header{z-index:1}.fs-bar{position:absolute;top:12px;right:12px;z-index:31;display:flex;gap:8px;align-items:center;animation:drop-in var(--dur) var(--ease-out) both}.fs-bar .group,.fs-bar>.btn{box-shadow:var(--shadow)}@media (max-width: 760px){.fs-bar{top:auto;right:auto;bottom:14px;left:12px;z-index:29}}.minimap{position:absolute;right:16px;bottom:16px;z-index:30;background:color-mix(in srgb,var(--card) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow-lg);line-height:0;padding:4px;animation:pop-in var(--dur-slow) var(--ease-out) both}.minimap canvas{display:block;border-radius:8px;cursor:crosshair;touch-action:none}.minimap-close{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);padding:0;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow);transition:background var(--dur-fast),color var(--dur-fast)}.minimap-close svg{width:14px;height:14px}.minimap-close:hover{background:var(--sunken);color:var(--ink)}.minimap-toggle{position:absolute;right:16px;bottom:16px;z-index:30;width:var(--tap);height:var(--tap);border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow);transition:background var(--dur-fast),color var(--dur-fast)}.minimap-toggle svg{width:18px;height:18px}.minimap-toggle:hover{background:var(--sunken);color:var(--ink)}.filter-panel{display:flex;flex-direction:column;gap:10px}.filter-panel h3{margin:0 0 4px;font-size:14px;font-weight:650;gap:8px;display:flex;justify-content:space-between;align-items:center}.filter-panel label{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2)}.filter-panel input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.filter-panel label.check{grid-template-columns:auto 1fr}.filter-panel select.btn,.filter-panel input.btn{width:100%}.filter-panel .pair{display:flex;gap:6px}.filter-panel .pair input{flex:1;min-width:0}.filter-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:12px}.stat{animation:fade-in var(--dur-slow) var(--ease-out) both;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}.stat b{font-size:22px;font-family:var(--serif);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}.stat b small{font-size:11px;color:var(--muted);font-family:var(--font)}.stat span{font-size:12px;color:var(--muted)}.stat-note{font-size:12.5px;color:var(--muted);margin:0 0 8px;line-height:1.5}h3.sub{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:20px 0 10px;color:var(--muted)}.modal-body>h3.sub:first-child{margin-top:0}.bars{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.bar-row{display:grid;grid-template-columns:72px 1fr 44px;align-items:center;gap:10px;font-size:12.5px}.bar-label{color:var(--ink-2)}.bar{height:10px;background:var(--sunken);border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--c);border-radius:999px;transform-origin:left center;animation:grow-x .6s var(--ease-out) both}.bar-row b{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl .num{font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .right{text-align:right;white-space:nowrap}.tbl tr.today td{background:var(--accent-soft)}.kbd-table{font-size:12.5px;border-collapse:collapse}.kbd-table td{padding:4px 12px 4px 0;vertical-align:top;color:var(--ink-2)}kbd{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--ink);background:var(--sunken);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:1px 6px;white-space:nowrap}.picker{position:relative;margin-bottom:8px}.picker label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.picker input{height:var(--tap);padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius);outline:none;background:var(--card);color:var(--ink);font-size:13px;width:100%}.picker .picked{display:flex;align-items:center;gap:8px;height:var(--tap);padding:0 6px 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:13px}.picker .picked b{flex:1}.picker-list{position:absolute;z-index:5;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:240px;overflow:auto}.picker-list button{width:100%;text-align:left;background:none;border:0;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--ink);font-size:13px;display:flex;flex-direction:column}.picker-list button small{color:var(--muted);font-size:11px}.picker-list button:hover{background:var(--sunken)}.picker input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.center{text-align:center;margin:4px 0 8px}.relation-result{animation:pop-in .35s var(--ease-out) both}.relation-result{margin-top:12px;padding:12px;border-radius:10px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));font-size:14px;line-height:1.5}.relation-result p{margin:0 0 8px}.list-wrap.timeline{padding:16px 24px 80px;margin:0 auto;position:static}.list-wrap.timeline:before{content:none}.timeline section{margin-bottom:18px}.timeline h3{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink);margin:0 0 6px;position:sticky;top:0;z-index:1;background:var(--bg);padding:8px 0 6px;border-bottom:1px solid var(--line)}.tl-row{display:grid;grid-template-columns:minmax(200px,1.2fr) 3fr minmax(96px,auto);gap:14px;align-items:center;width:100%;min-height:44px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:6px 12px;margin:4px 0;cursor:pointer;text-align:left;color:var(--ink);font:inherit;font-size:13.5px;animation:rise-in .35s var(--ease-out) both;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}.tl-row:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.tl-row.selected{outline:2px solid var(--accent);outline-offset:1px}.tl-name{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:0}.tl-row .gb{margin-right:0}.tl-track{position:relative;height:8px;background:var(--sunken);border-radius:999px;overflow:hidden}.tl-track i{position:absolute;top:0;bottom:0;background:var(--gc);border-radius:999px;transform-origin:left center;animation:grow-x .6s var(--ease-out) both}.tl-years{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.form-grid .wide{grid-column:1 / -1}.field{display:grid;gap:4px;font-size:12px;color:var(--ink-2);font-weight:500}.field input,.field select,.field textarea{height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--ink);font-size:13px;width:100%;font-family:inherit}.field textarea{height:auto;padding:8px 10px;resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field .pair{display:flex;gap:6px}.field .pair input{flex:1}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.export-grid .wide{grid-column:1 / -1}.export-grid fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;min-width:0}.export-grid legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px;padding:0}.export-grid .choice{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer;line-height:1.35}.export-grid .choice input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:var(--accent)}.export-grid .choice small{display:block;color:var(--muted);font-size:11.5px}.export-grid .seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--card);align-self:flex-start}.export-grid .seg .btn{border:0;border-radius:0;border-right:1px solid var(--line);min-width:52px}.export-grid .seg .btn:last-child{border-right:0}main.backdrop-dragon .tree{--dragon-line: #ffd86b}main.backdrop-dragon .tree li:before,main.backdrop-dragon .tree li:after,main.backdrop-dragon .tree li:only-child>.node-group:before,main.backdrop-dragon .tree ul ul:before,main.backdrop-dragon .tree ul.tight:after,main.backdrop-dragon .tree ul.tight>li:after,main.backdrop-dragon .tree ul.tight>li:first-child:after,main.backdrop-dragon .tree ul.tight>li:last-child:before{border-color:var(--dragon-line);opacity:.92}main.backdrop-dragon .tree li:first-child:before,main.backdrop-dragon .tree li:last-child:after{border-color:transparent}main.backdrop-dragon .tree{--lw: max(2.5px, calc(2px / var(--zoom)))}main.backdrop-dragon .joint-bridge:before{border-color:var(--dragon-line);opacity:.9}main.backdrop-dragon .node,main.backdrop-dragon .mm-node{border-color:#f4c440;box-shadow:0 2px 4px #00000040,0 10px 24px -8px #0000008c}main.backdrop-dragon .node .id{border-color:#f4c440}main.backdrop-dragon .mm-edge{stroke:#ffd86b;opacity:.85}main.backdrop-dragon .mm-edge.lineage{opacity:1}.export-grid .seg{flex-wrap:wrap}.export-grid .seg .btn{flex:1 1 auto}.export-grid .choice.range{flex-direction:column;align-items:stretch;gap:4px;color:var(--ink-2)}.export-grid .choice.range input{width:100%;margin:0}.export-preview{border:1px solid var(--line);border-radius:10px;background:repeating-conic-gradient(color-mix(in srgb,var(--line) 35%,transparent) 0 25%,transparent 0 50%) 0 0 / 16px 16px;display:grid;place-items:center;min-height:160px;max-height:280px;overflow:hidden}.export-preview img{max-width:100%;max-height:280px;object-fit:contain;display:block}.export-info{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2);align-items:center}.export-info .warn{color:var(--warn)}.contrib-intro{margin:0 0 14px;padding:12px 14px;border-radius:var(--radius);background:var(--sunken);border:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--ink-2)}.contrib-section{margin-top:14px}.contrib-section h3{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contrib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.contrib-list li{animation:rise-in .35s var(--ease-out) both;transition:transform .15s var(--ease-out),box-shadow .15s}.contrib-list li:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.contrib-list li{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}.contrib-list .row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contrib-list .row1 b{flex:1;min-width:0}.contrib-list .note{font-size:12.5px;color:var(--ink-2);white-space:pre-wrap}.status-pill{font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.status-pill.pending{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 60%,var(--line))}.status-pill.approved{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 60%,var(--line))}.status-pill.rejected{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 60%,var(--line))}.kind-pill{font-size:11px;font-weight:600;border-radius:6px;padding:2px 7px;background:var(--accent-soft);color:var(--accent-text);white-space:nowrap}.diff-table{width:100%;border-collapse:collapse;font-size:12.5px}.diff-table th,.diff-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.diff-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.diff-table td.before{color:var(--muted);text-decoration:line-through}.diff-table td.after{color:var(--ok);font-weight:600}.diff-table td.empty{color:var(--muted);font-style:italic;text-decoration:none}.toast{position:fixed;z-index:90;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:13.5px;box-shadow:0 10px 30px -10px #0009;animation:toast-in var(--dur-slow) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes unfold{0%{opacity:0;transform:translateY(-8px) scaleY(.94)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes stripe-flow{to{background-position:-200% 0}}@keyframes pulse-ring{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}@keyframes hit-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes loading-bar{0%{left:-40%;width:40%}60%{left:30%;width:50%}to{left:100%;width:40%}}.sk{display:inline-block;border-radius:6px;height:12px;width:100%;vertical-align:middle;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 25%,color-mix(in srgb,var(--line-2) 55%,var(--card)),color-mix(in srgb,var(--line) 70%,transparent) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.sk-pill{height:20px;border-radius:999px}.sk-block{height:80px;border-radius:10px}.sk-circle{border-radius:50%;width:32px;height:32px}.sk-lines{display:flex;flex-direction:column;gap:8px}.sk-cards li{gap:8px}.sk-cards .row1 .sk-text{flex:1}.sk-table td .sk{display:block}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none;vertical-align:-2px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .7s linear infinite}.loading-bar{position:absolute;z-index:25;left:0;right:0;top:0;height:3px;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--accent) 12%,transparent)}.loading-bar i{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--accent);animation:loading-bar 1.2s var(--ease-out) infinite}.contrib-list.is-refreshing li{opacity:.85}.page-sk{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;animation:fade-in .25s ease-out both}.page-sk-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.page-sk-title{display:flex;flex-direction:column;gap:6px}.page-sk-actions{margin-left:auto;display:flex;gap:6px}.page-sk-tabs{display:flex;gap:8px;padding:10px 16px 8px;background:var(--panel);border-bottom:1px solid var(--line)}.page-sk-body{padding:16px;display:flex;flex-direction:column;gap:12px;max-width:960px}.page-sk-body p{margin:0;font-size:13px}.page-sk-rows{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.page-sk-row{display:flex;align-items:center;gap:14px;padding:11px 12px;border-bottom:1px solid var(--line)}.page-sk-row:last-child{border-bottom:0}.page-sk-row .sk-text{flex:none}.export-preview.is-loading{align-items:center}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sk{animation:none;background:color-mix(in srgb,var(--line) 70%,transparent)}.spinner,.stats .pill.status.loading svg,.loading-bar i{animation-duration:1s!important;animation-iteration-count:infinite!important}}@media print{header,.legend,.banner,.app>footer,.minimap,.minimap-toggle,.detail,.toast,.modal-backdrop{display:none!important}html,body{overflow:visible!important}#root,.app,.body,main{position:static!important;height:auto!important;overflow:visible!important;display:block!important}.chart-wrap{float:none!important;padding:0!important}.node{box-shadow:none!important;break-inside:avoid}body{background:#fff!important}}@media (max-width: 900px){.detail{position:absolute;inset:0 0 0 auto;width:min(420px,100%);z-index:35;box-shadow:-16px 0 40px -24px #0000008c}}@media (max-width: 600px){.detail{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:40;border-left:0;box-shadow:none;padding-top:env(safe-area-inset-top);animation:sheet-up var(--dur-slow) var(--ease-out) both}.detail-body{padding-bottom:calc(28px + env(safe-area-inset-bottom))}}@media (max-width: 760px){.filter-panel label{grid-template-columns:1fr;gap:4px}.export-grid,.form-grid,.facts.two{grid-template-columns:1fr}.bar-row{grid-template-columns:56px 1fr 34px}.tl-row{grid-template-columns:1fr;gap:4px}.tl-years{text-align:left}.minimap-toggle,.minimap{right:10px;bottom:10px}.detail-buttons .btn{flex:1 1 45%}.popover{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));max-height:72vh;overflow:auto;border-radius:16px;padding:8px;animation:sheet-up var(--dur-slow) var(--ease-out) both}.tools-menu button{min-height:44px;font-size:14.5px}}.photo-field .photo-row{display:flex;gap:12px;align-items:flex-start}.photo-preview{flex:none;width:84px;height:84px;border-radius:50%;overflow:hidden;border:2px solid var(--line-2);background:var(--accent-soft);display:grid;place-items:center;font-size:34px;animation:pop-in .3s var(--ease-out) both}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-controls{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.photo-controls input{width:100%}.btn.file.disabled{opacity:.6;pointer-events:none}.drawer-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;border:1px solid var(--line-2)}.table-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;border:1px solid var(--line)}.table-avatar.empty{display:inline-block;background:var(--accent-soft)}.name-cell{white-space:nowrap}.detail-body .fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px}.detail-body .fold>summary::-webkit-details-marker{display:none}.detail-body .fold>summary:before{content:"";flex:none;width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);margin:0 4px 0 1px;transition:transform var(--dur) var(--ease-out)}.detail-body .fold[open]>summary:before{transform:translateY(-2px) rotate(45deg)}.detail-body .fold>summary{margin-bottom:8px}.detail-body .fold:not([open])>summary{margin-bottom:0}.detail-body .fold>summary h3{margin:0}.lifeline{list-style:none;margin:6px 0 0;padding:0 0 0 2px;display:flex;flex-direction:column;position:relative}.lifeline:before{content:"";position:absolute;left:66px;top:14px;bottom:14px;border-left:2px solid var(--line-2)}.lifeline .le{display:grid;grid-template-columns:52px 18px 1fr;align-items:baseline;gap:4px;font-size:13px;padding:4px 0}.lifeline .le-year{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:11.5px}.lifeline .le-dot{width:10px;height:10px;border-radius:50%;background:var(--gc, var(--accent));border:2px solid var(--card);box-shadow:0 0 0 2px var(--gc, var(--accent));justify-self:center;align-self:center;position:relative;z-index:1}.lifeline .le-marriage .le-dot{background:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2)}.lifeline .le-child .le-dot{background:var(--card)}.lifeline .le-death .le-dot,.lifeline .le-anniversary .le-dot{background:var(--muted);box-shadow:0 0 0 2px var(--muted)}.lifeline .le-text{color:var(--ink);overflow-wrap:anywhere}.lifeline .le-text small{color:var(--muted)}.lifeline .le-text button{background:none;border:0;padding:0;color:var(--accent-text);cursor:pointer;font:inherit;font-weight:600}.lifeline .le-text button:hover{color:color-mix(in srgb,var(--accent-text) 75%,var(--ink))}.post-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.post-links li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.post-links a{color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}.post-links a:hover{color:var(--accent-text)}.post-links small{color:var(--muted);font-size:11px}.detail-posts .more{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--accent-text);text-decoration:none}.with-spinner{display:inline-flex;align-items:center;gap:6px}@media (max-width: 900px){header{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:36}header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}}.modal-foot .export-info{margin-right:12px}.gen-badge,.lst .row .gb,.tl-row .gb{background:var(--card);color:var(--ink-2);border:1px solid color-mix(in srgb,var(--gc) 50%,var(--line));box-shadow:none}.gen-badge:before,.lst .row .gb:before,.tl-row .gb:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gc);margin-right:5px;vertical-align:1px}html[data-shell=site]{font-size:calc(100% * var(--site-scale, 1))}.site{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:var(--ink);background:var(--bg);font-size:1rem}:where(.site) a:where(:not(.MuiButtonBase-root)){color:inherit;text-decoration:none}.site a{text-decoration:none}.site .wrap{width:min(1200px,100% - 32px);margin:0 auto}.site .skip{position:absolute;left:-9999px;top:8px;z-index:2000;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:var(--radius);font-weight:600}.site .skip:focus{left:12px}.site .muted{color:var(--muted)}.site .tiny{font-size:.8125rem}.site h1,.site h2,.site h3{letter-spacing:-.01em;line-height:1.2;margin:0}.site p{line-height:1.65}.site mark{background:var(--hl);color:inherit;padding:0 2px;border-radius:3px}.site-main{flex:1;padding:32px 0 48px;overflow:visible}.sec{margin-top:56px}.hero-stat{animation:fade-in .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 60ms)}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start;margin-top:48px}.home-grid.no-side{grid-template-columns:minmax(0,1fr)}.side{display:flex;flex-direction:column;gap:20px;position:sticky;top:84px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post-grid.cols-2{grid-template-columns:repeat(2,1fr)}.post-grid.cols-4{grid-template-columns:repeat(4,1fr)}.post-grid>*{min-width:0}.post-card{animation:fade-in .45s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}.post-card .thumb{aspect-ratio:16 / 10}.post-card.horizontal .thumb{width:40%;aspect-ratio:auto;min-height:150px;border-bottom:0!important;border-right:1px solid var(--line)}.post-grid.lead{grid-auto-rows:1fr}.post-card.featured-big{grid-column:span 2;grid-row:span 2}.post-card.featured-big .thumb{aspect-ratio:16 / 9}.post-card.compact{animation:none}.post-card.compact .thumb{width:64px;aspect-ratio:1;border-radius:8px;border:1px solid var(--line)}.post-card.sk-card{animation:none;pointer-events:none}.ann-body{font-size:.9375rem;color:var(--ink-2)}.ann-body p{margin:0 0 4px}.ann-body a{color:var(--accent-text);font-weight:600}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;background:linear-gradient(90deg,var(--accent-2) 0 56px,var(--line) 56px) bottom / 100% 1px no-repeat;animation:fade-in .4s var(--ease-out) both}.page-head>div:not(.count){min-width:0;flex:1 1 320px}.page-head h1{font-family:var(--serif);font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700;letter-spacing:-.015em;line-height:1.15;display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.page-head h1 .cat-dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c, var(--accent));box-shadow:0 0 0 5px color-mix(in srgb,var(--c, var(--accent)) 16%,transparent)}.page-head h1 .cat-glyph{flex:none;font-size:1em;color:var(--c, var(--accent))}.page-head p{margin:8px 0 0;color:var(--ink-2);max-width:68ch}.page-head .count{margin-left:auto;color:var(--muted);font-size:.875rem}.cat-cover{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16 / 5;margin-bottom:24px;background:var(--sunken);border:1px solid var(--line)}.cat-cover img{width:100%;height:100%;object-fit:cover;display:block}.list-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.list-tools .spacer{flex:1}.empty-state{text-align:center;padding:56px 20px;color:var(--muted);animation:fade-in .4s both}.not-found{padding-top:48px}.not-found .empty-state{padding-bottom:72px}.static-page{max-width:760px}.page-lead{font-family:var(--serif);font-size:1.1875rem;line-height:1.6;color:var(--ink-2);margin:0 0 24px;max-width:68ch}.page-updated{margin-top:32px;padding-top:14px;border-top:1px solid var(--line)}.post-page{display:grid;grid-template-columns:minmax(0,760px) 300px;justify-content:space-between;gap:56px;align-items:start}.post-article{min-width:0}.post-head{animation:fade-in .45s var(--ease-out) both}.post-head .cat{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2-text)}.post-head .cat:before{content:"";width:24px;height:1px;background:var(--accent-2)}.post-head .cat:hover{color:var(--accent-text)}.post-head h1{font-family:var(--serif);font-size:clamp(1.875rem,3.8vw,2.75rem);font-weight:700;letter-spacing:-.015em;margin:12px 0 16px;line-height:1.15;overflow-wrap:anywhere}.post-head .lead{font-family:var(--serif);font-size:1.1875rem;color:var(--ink-2);margin:0 0 20px;line-height:1.6;max-width:68ch}.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.875rem;color:var(--muted);align-items:center;font-variant-numeric:tabular-nums}.post-meta>span{display:inline-flex;align-items:center;gap:6px}.post-meta svg{font-size:1rem;color:var(--muted)}.post-meta b{color:var(--ink-2);font-weight:600}.post-meta .avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:inline-grid;place-items:center;font-size:.75rem;font-weight:700;margin-right:2px}.post-cover{margin:28px 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);animation:fade-in .5s var(--ease-out) both;background:var(--sunken)}.post-cover .cover-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.post-cover img{width:100%;max-height:560px;object-fit:cover;display:block}.post-cover figcaption{font-size:.8125rem;color:var(--muted);padding:10px 14px;text-align:center;background:var(--card);border-top:1px solid var(--line);font-style:italic}.post-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:20px 0 28px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.post-actions .num{font-variant-numeric:tabular-nums;margin-left:4px}.post-actions .liked svg{animation:hit-pop .4s var(--ease-spring)}.post-actions .spacer{flex:1}.font-ctl{display:inline-flex}.video-embed{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;background:#000;margin:24px 0;border:1px solid var(--line)}.video-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.rich{font-size:var(--rich-size, 1.0625rem);line-height:1.75;color:var(--ink);animation:fade-in .4s both;overflow-wrap:anywhere;max-width:70ch}.rich>:first-child{margin-top:0}.rich p{margin:0 0 1.15em}.rich h2,.rich h3,.rich h4{font-family:var(--serif);margin:1.8em 0 .6em;line-height:1.3;scroll-margin-top:88px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.rich h2{font-size:1.5em}.rich h3{font-size:1.25em}.rich h4{font-size:1.1em}.rich img{max-width:100%;height:auto;border-radius:var(--radius);display:block;margin:1.4em auto;border:1px solid var(--line);cursor:zoom-in}.rich figure{margin:1.6em 0}.rich figure img{margin-bottom:.5em}.rich figcaption{text-align:center;font-size:.85em;color:var(--muted);font-style:italic;line-height:1.5}.rich a{color:var(--accent-text);font-weight:600;transition:color var(--dur-fast)}.rich a:hover{color:color-mix(in srgb,var(--accent-text) 75%,var(--ink))}.rich blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.25em;border-left:3px solid var(--accent-2);color:var(--ink-2);font-family:var(--serif);font-size:1.06em;font-style:italic}.rich blockquote p:last-child{margin-bottom:0}.rich ul,.rich ol{padding-left:1.5em;margin:0 0 1.15em}.rich li{margin:.35em 0}.rich li::marker{color:var(--accent-2-text)}.rich table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.92em;line-height:1.5;display:block;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.rich th,.rich td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.rich th{background:var(--sunken);color:var(--ink-2);font-weight:600}.rich tr:last-child td{border-bottom:0}.rich hr{border:0;height:1px;margin:2.4em auto;width:120px;background:linear-gradient(90deg,transparent,var(--accent-2),transparent)}.rich iframe{max-width:100%;border-radius:var(--radius)}.rich mark{background:var(--hl);padding:0 3px;border-radius:3px}.rich code{background:var(--sunken);border:1px solid var(--line);padding:1px 5px;border-radius:5px;font-size:.88em}.rich pre{background:var(--sunken);color:var(--ink);border:1px solid var(--line);padding:14px 16px;border-radius:var(--radius);overflow-x:auto;line-height:1.55}.rich pre code{background:none;border:0;padding:0;color:inherit}.rich ul[data-type=taskList]{list-style:none;padding-left:.4em}.rich ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.rich .drop-cap:first-letter,.rich.drop-cap>p:first-of-type:first-letter{font-family:var(--serif);font-size:3.4em;line-height:.8;float:left;margin:.08em .1em 0 0;color:var(--accent);font-weight:700}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.gallery button{position:relative;padding:0;border:1px solid var(--line);background:var(--sunken);border-radius:var(--radius);overflow:hidden;aspect-ratio:1;cursor:zoom-in;animation:pop-in .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}.gallery button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease-out)}.gallery button:hover img{transform:scale(1.04)}.gallery button:nth-child(1):first-child:nth-last-child(n+5){grid-column:span 2;grid-row:span 2}.gallery-tools{margin:0 0 24px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:#0c0907f0;display:flex;align-items:center;justify-content:center;animation:fade-in .2s both;touch-action:pan-y}.lightbox img{max-width:94vw;max-height:86vh;object-fit:contain;border-radius:8px;animation:pop-in .3s var(--ease-out) both;box-shadow:0 40px 100px #0009}.lightbox .cap{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);color:#eee;font-size:.875rem;background:#0000008c;padding:6px 14px;border-radius:999px;max-width:90vw;text-align:center}.lightbox .nav,.lightbox .x{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast)}.lightbox .nav{top:50%;transform:translateY(-50%)}.lightbox .nav:hover,.lightbox .x:hover{background:#ffffff3d}.lightbox .nav.prev{left:14px}.lightbox .nav.next{right:14px}.lightbox .x{top:calc(14px + env(safe-area-inset-top));right:14px}.lightbox .counter{position:absolute;top:calc(26px + env(safe-area-inset-top));left:20px;color:#ddd;font-size:.875rem;font-variant-numeric:tabular-nums}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 16px;align-items:center}.tag-chip{font-size:.8125rem;padding:5px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.tag-chip:hover,.tag-chip.active{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.tag-chip small{color:inherit;opacity:.7;margin-left:4px}.post-people{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center;font-size:.875rem}.post-people a{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--accent-2-soft);color:var(--ink);font-weight:500;transition:background var(--dur-fast),color var(--dur-fast)}.post-people a svg{color:var(--accent-2-text)}.post-people a:hover{background:var(--accent);color:var(--accent-ink)}.post-people a:hover svg{color:inherit}.share-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.share-bar .share-ico{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:inline-grid;place-items:center;color:var(--ink-2);font-weight:700;font-size:.875rem;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.share-bar .share-ico:hover{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.source-note{font-size:.8125rem;color:var(--muted);margin-top:12px}.source-note a{color:var(--accent-text);font-weight:600}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0}.post-nav a{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--card);transition:border-color var(--dur),box-shadow var(--dur)}.post-nav a:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow)}.post-nav a small{color:var(--accent-2-text);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.post-nav a b{font-family:var(--serif);font-size:1rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-nav a.next{text-align:right;align-items:flex-end}.comments{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.comments h2{font-family:var(--serif);font-size:1.4375rem;font-weight:700;margin-bottom:16px}.comments h2 .muted{font-family:var(--font);font-size:.9375rem;font-weight:500}.comment-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}.comment{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--line);animation:fade-in .35s var(--ease-out) both}.comment.reply{margin-left:40px;background:var(--sunken)}.comment .avatar{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent-2-soft);color:var(--accent-2-text);display:grid;place-items:center;font-weight:700;font-size:.875rem}.comment .who{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:.875rem}.comment .who b{font-size:.9375rem}.comment .who time{color:var(--muted);font-size:.8125rem}.comment p{margin:4px 0 6px;font-size:.9375rem;white-space:pre-wrap}.comment .linkish{color:var(--accent-text)}.comment-form{display:grid;gap:14px;padding:20px;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--line)}.comment-form .reply-to{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.comment-form .field{gap:6px;font-size:.875rem;font-weight:600;color:var(--ink-2)}.comment-form .field input,.comment-form .field textarea{height:44px;font-size:1rem;border-color:var(--line-2);border-radius:var(--radius);padding:0 12px;font-weight:400}.comment-form .field textarea{height:auto;min-height:112px;padding:10px 12px}.comment-form .row-btns{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:flex-end}.comment-form .ok{color:var(--ok);font-weight:600}.comment-form .error{color:var(--danger);font-weight:600}.post-aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:84px}.toc{font-size:.875rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);padding:18px}.toc h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.toc h3 svg{font-size:1.0625rem;color:var(--accent-2-text)}.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.toc a{display:block;padding:6px 10px;border-left:2px solid var(--line);color:var(--ink-2);line-height:1.4;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.toc a.l3{padding-left:22px;font-size:.8125rem}.toc a:hover{color:var(--accent-text);border-color:var(--line-2);background:color-mix(in srgb,var(--ink) 3%,transparent)}.toc a.active{color:var(--accent-text);border-color:var(--accent);font-weight:600}.reading-bar{position:fixed;left:0;top:0;height:3px;background:var(--accent);z-index:1200;width:var(--p, 0%);transition:width .1s linear;pointer-events:none}.site .timeline{list-style:none;margin:0;padding:0 0 0 4px;position:relative}.site .timeline:before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:1px;background:var(--line-2)}.tl-year{position:relative}.tl-head{width:100%;display:flex;align-items:center;gap:14px;padding:10px 8px 10px 0;background:none;border:0;cursor:pointer;color:var(--ink);text-align:left;font:inherit;border-radius:var(--radius);transition:background var(--dur-fast)}.tl-head:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}.tl-dot{position:relative;z-index:1;flex:none;width:15px;height:15px;border-radius:50%;background:var(--bg);border:2px solid var(--accent-2)}.tl-year.open .tl-dot{background:var(--accent-2)}.tl-label{font-family:var(--serif);font-size:1.375rem;font-weight:700;font-variant-numeric:tabular-nums}.tl-chevron{color:var(--muted);transition:transform var(--dur) var(--ease-out)}.tl-year.open .tl-chevron{transform:rotate(180deg)}.tl-months{list-style:none;margin:0 0 12px 30px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;animation:fade-in .25s var(--ease-out) both}.tl-months a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-size:.9375rem;transition:border-color var(--dur-fast),color var(--dur-fast)}.tl-months a:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent-text)}.tl-months a .muted{font-size:.8125rem;font-variant-numeric:tabular-nums}.search-box{display:flex;gap:8px;margin-bottom:24px}.search-field{position:relative;flex:1;min-width:0}.search-field svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-field input{width:100%;height:48px;padding:0 16px 0 44px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--card);color:var(--ink);font-size:1rem;font-family:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.search-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box .MuiButton-root{min-height:48px}.hits-head{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:1.1875rem;font-weight:700;margin:8px 0 12px}.hits-head svg{font-size:1.25rem;color:var(--accent-2-text)}.hits-head .muted{font-family:var(--font);font-size:.875rem;font-weight:500}.people-hits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.people-hits a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line-2);font-size:.875rem;transition:border-color var(--dur-fast),background var(--dur-fast);animation:pop-in .3s var(--ease-out) both}.people-hits a:hover{border-color:var(--accent);background:var(--accent-soft)}.people-hits a .pid{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.search-hits{display:flex;flex-direction:column;border-top:1px solid var(--line);transition:opacity var(--dur)}.search-hit{padding:18px 0;border-bottom:1px solid var(--line)}.search-hit .hit-title{font-family:var(--serif);font-size:1.1875rem;font-weight:700;line-height:1.35;color:var(--ink);transition:color var(--dur-fast)}.search-hit .hit-title:hover{color:var(--accent-text)}.search-hit .hit-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-variant-numeric:tabular-nums}.search-hit .hit-excerpt{margin:8px 0 0;color:var(--ink-2);font-size:.9375rem;max-width:72ch}.sk-hero{height:300px;border-radius:22px}.sk-title{height:34px;width:60%}.sk-p{height:14px}.sk-img{aspect-ratio:16 / 9;border-radius:var(--radius-lg)}@media (max-width: 1024px){.post-grid,.post-grid.cols-4{grid-template-columns:repeat(2,1fr)}.home-grid,.post-page{grid-template-columns:minmax(0,1fr)}.post-page{gap:40px}.side,.post-aside{position:static}.side{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start}.post-aside{order:2}}@media (max-width: 760px){.site-main{padding-top:20px}.post-grid,.post-grid.cols-2,.post-grid.cols-4{grid-template-columns:minmax(0,1fr);gap:14px}.post-grid.lead{grid-auto-rows:auto}.post-card.featured-big{grid-column:auto;grid-row:auto}.post-card.horizontal{flex-direction:column!important}.post-card.horizontal .thumb{width:100%;aspect-ratio:16 / 10;min-height:0;border-right:0;border-bottom:1px solid var(--line)!important}.side{grid-template-columns:minmax(0,1fr)}.sec{margin-top:40px}.home-grid{margin-top:36px;gap:32px}.page-head{margin-bottom:18px;padding-bottom:14px}.post-head .lead,.page-lead{font-size:1.0625rem}.rich{font-size:var(--rich-size, 1rem)}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.post-nav{grid-template-columns:minmax(0,1fr)}.post-nav a.next{text-align:left;align-items:flex-start}.comment.reply{margin-left:18px}.post-cover{margin:18px -16px;border-radius:0;border-left:0;border-right:0}.post-cover img{max-height:340px}.post-actions .spacer{display:none}.tl-months{margin-left:26px;grid-template-columns:minmax(0,1fr)}.lightbox .nav{width:44px;height:44px}}@media (prefers-reduced-motion: reduce){.site *,.site *:before,.site *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.MuiAppBar-root,footer,.post-aside,.post-actions,.comments,.post-nav,.MuiFab-root,.reading-bar,.MuiAlert-root{display:none!important}.post-page{grid-template-columns:1fr}.rich{max-width:none}}.comment .staff-chip{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);vertical-align:middle}@media (pointer: coarse){.site .widget a,.site .people-hits a,.site .search-hit .hit-title,.site .tl-months a,.site .post-tags .tag-chip,.site .post-people a,.site footer a{min-height:44px;display:flex;align-items:center}.site .search-hit .hit-title,.site .post-tags .tag-chip,.site .post-people a{display:inline-flex}.site .search-hit .hit-meta a,.site .post-head .cat,.site .toc a{min-height:44px;display:inline-flex;align-items:center}.site .toc a{display:flex}.site .post-actions .MuiButton-root,.site .read-aloud .MuiButtonBase-root,.site .tl-head{min-height:44px}.site .share-bar .share-ico{width:44px;height:44px}.site .MuiButton-root,.site .MuiIconButton-root,.site .MuiToggleButton-root,.site .MuiChip-clickable,.MuiDrawer-root .MuiButtonBase-root{min-height:44px}.site .MuiChip-clickable .MuiChip-label{line-height:1.4}.site .MuiBreadcrumbs-li a,.site .MuiToolbar-root>a,.site .event-title a,.site a.skip{min-height:44px;display:inline-flex;align-items:center}.site .MuiIconButton-root,.site .MuiToggleButton-root{min-width:44px}.site .comment-form .MuiButton-root,.site .comment-form .field input,.site .comment-form .field textarea{min-height:44px}}
