@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-400-normal-EA1o-u_Q.woff) format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2) format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-500-normal-DPXcppbm.woff) format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2) format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-600-normal-MJZ0liF5.woff) format("woff")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-naskh-arabic-arabic-600-normal-G5n5bgdQ.woff2) format("woff2"),url(/assets/noto-naskh-arabic-arabic-600-normal-DaTr67aF.woff) format("woff")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-naskh-arabic-arabic-700-normal-BdBAMxnO.woff2) format("woff2"),url(/assets/noto-naskh-arabic-arabic-700-normal-fm10sHOa.woff) format("woff")}@font-face{font-family:Aref Ruqaa;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/aref-ruqaa-arabic-400-normal-AKnCEuAE.woff2) format("woff2"),url(/assets/aref-ruqaa-arabic-400-normal-DTcVTQXE.woff) format("woff")}@font-face{font-family:Aref Ruqaa;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/aref-ruqaa-arabic-700-normal-D30apH1C.woff2) format("woff2"),url(/assets/aref-ruqaa-arabic-700-normal-DLleZ2O-.woff) format("woff")}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/reem-kufi-arabic-500-normal-CI8P0nls.woff2) format("woff2"),url(/assets/reem-kufi-arabic-500-normal--Ib79ju3.woff) format("woff")}@font-face{font-family:Reem Kufi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/reem-kufi-arabic-700-normal-D4RhYlR1.woff2) format("woff2"),url(/assets/reem-kufi-arabic-700-normal-2X0LRV6P.woff) format("woff")}:root{--paper:#F3EADA;--paper-2:#EBDfC8;--card:#FBF6EC;--ink:#2B2219;--ink-2:#5B4B3B;--ink-3:#8C7A66;--palm:#2F5D50;--palm-2:#4F7D6E;--palm-wash:#E2E9DF;--henna:#A4502F;--henna-2:#C2714F;--henna-wash:#F2DFD3;--sand:#C8A169;--line:#CDBB9C;--hair:rgba(43,34,25,.14);--ui:"IBM Plex Sans Arabic",system-ui,sans-serif;--naskh:"Noto Naskh Arabic",serif;--ruqaa:"Aref Ruqaa",serif;--kufi:"Reem Kufi","IBM Plex Sans Arabic",sans-serif;--r:18px;--ease:cubic-bezier(.2,.8,.2,1);--card-2:#F7F0E3;--glow-a:#F8F1E4;--glow-b:#E9DCC2;--warn:#F6E6C9;--warn-b:#E2C48E;--av-n:#EFE6D6;--doc-a:#FBF6EC;--doc-b:#F1E6D1;--hi-in:#fff;--b1:#2F5D50;--b2:#A4502F;--b3:#B8892F;--b4:#5B6FA0;--b5:#7A4E7E;--b6:#3E7F8C;--b7:#8C6A3E;--b8:#9A3F55;--b9:#55803B;--b10:#6B5B4B;--orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='10' viewBox='0 0 28 10'%3E%3Cg fill='none' stroke='%23C8A169' stroke-width='1'%3E%3Cpath d='M14 1l4 4-4 4-4-4z'/%3E%3Cpath d='M0 5h8M20 5h8'/%3E%3Ccircle cx='14' cy='5' r='1' fill='%23C8A169'/%3E%3C/g%3E%3C/svg%3E");--paper-tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--paper);background-image:var(--paper-tex),radial-gradient(120% 80% at 80% 0%,var(--glow-a) 0,transparent 60%),radial-gradient(90% 70% at 0% 100%,var(--glow-b) 0,transparent 70%);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.6;direction:rtl;overscroll-behavior:none;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:var(--ink)}.app{position:relative;height:100%;display:flex;flex-direction:column;max-width:760px;margin:0 auto;isolation:isolate}.callig{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1}.callig span{position:absolute;font-family:var(--ruqaa);color:var(--ink);white-space:nowrap;line-height:2.2;padding:.4em .6em;opacity:.055;will-change:transform}.callig svg{position:absolute;overflow:visible}.top{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 10px) 16px 8px}.brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.brand img{flex:none}.brand .t{font-family:var(--ruqaa);font-size:24px;line-height:1.9;padding-top:2px;color:var(--ink);white-space:nowrap}.brand .s{font-size:11.5px;color:var(--ink-3);margin-top:-12px;letter-spacing:.2px}.iconbtn{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--card);border:1px solid var(--hair);transition:transform .2s var(--ease)}.iconbtn:active{transform:scale(.92)}.iconbtn svg{width:21px;height:21px}.tabs{position:relative;display:flex;justify-content:space-around;padding:6px 8px calc(env(safe-area-inset-bottom) + 8px);background:linear-gradient(to top,var(--paper) 70%,transparent);border-top:1px solid var(--hair)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11.5px;color:var(--ink-3);padding:6px 0;position:relative}.tab svg{width:23px;height:23px}.tab.on{color:var(--ink)}.tab .dot{position:absolute;top:-7px;width:26px;height:3px;border-radius:3px;background:var(--henna)}.main{flex:1;min-height:0;position:relative}.scroll{height:100%;overflow-y:auto;padding:4px 16px 28px;-webkit-overflow-scrolling:touch}h2.sec{font-family:var(--ruqaa);font-weight:400;font-size:30px;line-height:2;margin:4px 0 0;padding-top:4px}.sub{color:var(--ink-3);font-size:13px;margin:-8px 0 14px}.rule{height:12px;margin:10px 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6h8l4-4 4 4h8M12 2v8' stroke='%23C8A169' fill='none' stroke-width='1'/%3E%3C/svg%3E") repeat-x center}.stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab}.stage:active{cursor:grabbing}.plane{position:absolute;left:0;top:0;transform-origin:0 0}.edges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.edge-child{fill:none;stroke:#a8977f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.edge-child.hi{stroke:var(--henna);stroke-width:3;opacity:1}.edge-marriage{fill:none;stroke:var(--sand);stroke-width:2;stroke-linecap:round}.node{position:absolute;width:104px;height:62px;display:flex;flex-direction:row;align-items:center;gap:5px;text-align:start;padding:0 7px;border-radius:13px;background:var(--card);border:1px solid var(--hair);box-shadow:0 1px 0 var(--hi-in) inset,0 10px 24px -16px #2b22198c;cursor:pointer;-webkit-user-select:none;user-select:none}.node:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:11px;border:1px solid transparent;pointer-events:none}.node.m:before{border-color:#2f5d5038}.node.f:before{border-color:#a4502f38}.node.spouse{background:var(--card-2);box-shadow:none;border-style:dashed}.node.sel{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--henna),0 16px 30px -14px #2b221999}.node.hi{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--sand)}.node.dead .av{filter:grayscale(.6) sepia(.25)}.av{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-family:var(--naskh);font-weight:700;font-size:25px;line-height:1;flex:none;position:relative;background-size:cover;background-position:center}.av.m{background-color:var(--palm-wash);color:var(--palm);box-shadow:inset 0 0 0 2px var(--palm)}.av.f{background-color:var(--henna-wash);color:var(--henna);box-shadow:inset 0 0 0 2px var(--henna)}.node .av{width:24px;height:24px;font-size:12px}.node .ntxt{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.nm{font-family:var(--naskh);font-weight:700;font-size:15.5px;line-height:1.55;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 2px}.node .nm{font-size:14px;line-height:1.38;margin:0;padding:0;display:block;overflow:visible;-webkit-line-clamp:unset;word-break:normal;overflow-wrap:normal}.node .yr{font-size:10.5px;line-height:1.2;white-space:nowrap}.yr{font-size:11.5px;color:var(--ink-3);line-height:1.4}.badge-ex{position:absolute;top:-8px;left:8px;z-index:2;background:var(--sand);color:#fff;font-size:10px;border-radius:99px;padding:0 7px;line-height:17px}.kidpill{position:absolute;z-index:3;translate:-50% -50%;border:0;cursor:pointer;min-width:30px;height:20px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:11px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 8px;box-shadow:0 4px 10px -4px #0006}.kidpill svg{width:12px;height:12px}.wifeno{position:absolute;top:-8px;right:6px;font-size:9.5px;background:var(--paper);border:1px solid var(--sand);color:var(--ink-2);border-radius:99px;padding:0 5px;line-height:14px;white-space:nowrap}.ring{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;z-index:1;border-radius:50%;background:var(--paper);display:grid;place-items:center;border:1px solid var(--sand)}.ring svg{width:10px;height:10px}.gen-label{position:absolute;white-space:nowrap;padding:0 4px;font-family:var(--ruqaa);color:var(--ink-3);font-size:15px;line-height:2}.genrail{position:absolute;right:6px;top:0;bottom:0;width:0;pointer-events:none;z-index:2}.genrail .g{transition:opacity .2s;position:absolute;right:0;white-space:nowrap;font-family:var(--ruqaa);font-size:13px;line-height:1.9;padding:0 9px 1px;color:var(--ink-2);background:#f3eadadb;border:1px solid var(--hair);border-radius:99px;transform:translateY(-50%)}.toolbar{position:absolute;top:8px;right:12px;left:12px;display:flex;gap:8px;z-index:3;flex-wrap:wrap;pointer-events:none}.toolbar>*{pointer-events:auto}.seg{display:flex;background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:3px;gap:2px}.seg button{padding:6px 12px;border-radius:11px;font-size:13px;color:var(--ink-2);white-space:nowrap}.seg button.on{background:var(--ink);color:var(--paper)}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--hair);border-radius:99px;padding:6px 12px;font-size:13px;white-space:nowrap}.chip svg{width:16px;height:16px}.zoomctl{position:absolute;left:12px;bottom:14px;display:flex;flex-direction:column;gap:8px;z-index:3}.fab{position:absolute;right:16px;bottom:16px;z-index:4;height:54px;padding:0 20px 0 18px;border-radius:20px;background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:9px;font-weight:600;box-shadow:0 14px 30px -12px #2b2219cc}.fab svg{width:22px;height:22px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b221947;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;max-width:760px;margin:0 auto;max-height:92%;z-index:41;background:var(--paper);background-image:var(--paper-tex);border-radius:28px 28px 0 0;box-shadow:0 -20px 50px -20px #2b221999;display:flex;flex-direction:column}.grab{width:44px;height:5px;border-radius:5px;background:var(--line);margin:9px auto 2px;flex:none}.sheet-h{display:flex;align-items:center;gap:10px;padding:6px 18px}.sheet-h h3{flex:1;margin:0;font-family:var(--ruqaa);font-weight:400;font-size:26px;line-height:2;padding-top:4px}.sheet-b{overflow-y:auto;padding:4px 18px calc(env(safe-area-inset-bottom) + 22px)}.hero{display:flex;gap:14px;align-items:center;padding:6px 0 12px}.hero .av{width:84px;height:84px;font-size:36px}.hero .nm2{font-family:var(--naskh);font-weight:700;font-size:23px;line-height:1.55}.chain{font-family:var(--naskh);font-size:15px;color:var(--ink-2);line-height:1.9}.chain b{color:var(--ink);font-weight:700}.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag{font-size:12px;border-radius:99px;padding:2px 10px;background:var(--paper-2);color:var(--ink-2)}.tag.m{background:var(--palm-wash);color:var(--palm)}.tag.f{background:var(--henna-wash);color:var(--henna)}.group{margin-top:14px}.group>.gt{font-size:12.5px;color:var(--ink-3);margin-bottom:6px;display:flex;align-items:center;gap:8px}.group>.gt:after{content:"";flex:1;height:1px;background:var(--hair)}.people{display:flex;flex-wrap:wrap;gap:8px}.pchip{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--hair);border-radius:99px;padding:4px 4px 4px 12px;font-family:var(--naskh);font-weight:600;font-size:14.5px;line-height:1.6;max-width:100%}.pchip .av{width:30px;height:30px;font-size:14px}.pchip small{font-family:var(--ui);font-weight:400;color:var(--ink-3);font-size:11px}.addchip{border-style:dashed;color:var(--ink-2);font-family:var(--ui);font-weight:500;font-size:13px;padding:6px 12px}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0}.act{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:16px;background:var(--card);border:1px solid var(--hair);font-size:12px;color:var(--ink-2)}.act svg{width:22px;height:22px;color:var(--ink)}.notes{background:var(--card);border-radius:16px;padding:12px 14px;border:1px solid var(--hair);white-space:pre-wrap;font-family:var(--naskh);line-height:1.9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:16px;background:var(--ink);color:var(--paper);font-weight:600;font-size:15px;transition:transform .15s var(--ease)}.btn:active{transform:scale(.97)}.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--hair)}.btn.henna{background:var(--henna)}.btn.palm{background:var(--palm)}.btn.sm{height:38px;padding:0 14px;font-size:13.5px;border-radius:13px}.btn.block{width:100%}.btn svg{width:19px;height:19px}.row{display:flex;gap:10px;align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}label.f{display:block;margin-bottom:12px}label.f>span{display:block;font-size:12.5px;color:var(--ink-3);margin-bottom:5px}.in{width:100%;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);padding:0 14px;outline:none;transition:border .2s,box-shadow .2s}textarea.in{height:auto;min-height:110px;padding:12px 14px;line-height:1.9;font-family:var(--naskh);resize:vertical}.in:focus{border-color:var(--ink-2);box-shadow:0 0 0 4px #c8a16940}.gender{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gender button{height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500}.gender button.on.m{background:var(--palm);color:#fff;border-color:var(--palm)}.gender button.on.f{background:var(--henna);color:#fff;border-color:var(--henna)}.warn{background:var(--warn);border:1px solid var(--warn-b);border-radius:16px;padding:10px 12px;font-size:13.5px;margin:6px 0 12px}.info{background:var(--palm-wash);border-radius:16px;padding:10px 12px;font-size:13.5px;color:var(--palm);margin:6px 0 12px}.card{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:14px}.list .item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hair)}.empty{text-align:center;padding:40px 10px;color:var(--ink-3)}.empty .big{font-family:var(--ruqaa);font-size:34px;color:var(--ink);line-height:2}.story{background:var(--card);border-radius:22px;padding:16px 16px 14px;border:1px solid var(--hair);margin-bottom:12px;position:relative}.story:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(200,161,105,.35);border-radius:17px;pointer-events:none}.story h4{margin:0;font-family:var(--naskh);font-weight:700;font-size:18px;line-height:1.7}.story p{margin:6px 0 10px;font-family:var(--naskh);line-height:2;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.story .by{font-size:12px;color:var(--ink-3)}.quote{font-family:var(--naskh);font-size:17px;line-height:2.1;white-space:pre-wrap}.tl{position:relative;padding-right:28px}.tl:before{content:"";position:absolute;right:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--line),var(--line)) center/2px 100% no-repeat}.tl-era{font-family:var(--ruqaa);font-size:24px;line-height:2;margin:10px -28px 4px 0}.tl-i{position:relative;padding:8px 0 10px}.tl-i:before{content:"";position:absolute;right:-24px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-2)}.tl-i.birth:before{border-color:var(--palm)}.tl-i.marriage:before{border-color:var(--sand);background:var(--sand)}.tl-i.story:before{border-color:var(--henna)}.tl-i.death:before{background:var(--ink-3);border-color:var(--ink-3)}.tl-y{font-weight:600;font-size:13px;color:var(--ink-3)}.tl-t{font-family:var(--naskh);font-size:15.5px;line-height:1.8}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:12px 14px}.stat .n{font-family:var(--naskh);font-weight:700;font-size:34px;line-height:1.4}.stat .l{font-size:12.5px;color:var(--ink-3)}.bar{height:8px;border-radius:8px;background:var(--paper-2);overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--palm);border-radius:8px}.menu{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.menu button{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:14px;text-align:right;display:flex;flex-direction:column;gap:6px;min-height:104px}.menu button svg{width:26px;height:26px}.menu button b{font-weight:600}.menu button small{color:var(--ink-3);font-size:12px;line-height:1.5}.onb{position:relative;height:100%;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 20px) 24px calc(env(safe-area-inset-bottom) + 24px)}.onb .big{font-family:var(--ruqaa);font-size:52px;line-height:2.1;padding-top:6px;margin:0}.onb p{font-size:16px;color:var(--ink-2);line-height:1.9;margin:0}.dots{display:flex;gap:6px;justify-content:center;margin:18px 0}.dots i{width:7px;height:7px;border-radius:7px;background:var(--line);transition:width .3s var(--ease)}.dots i.on{width:22px;background:var(--ink)}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12.5px;margin:14px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--hair)}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:14px;z-index:80;font-size:14px;max-width:90%;text-align:center}.place{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--palm-wash);color:var(--palm);font-family:var(--naskh);font-weight:700;text-align:center;line-height:1.5;padding:8px;border:1px solid rgba(47,93,80,.25)}.kv{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:14px}.kv span:first-child{color:var(--ink-3)}.album{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.album .ph{aspect-ratio:1;border-radius:14px;background-size:cover;background-position:center;position:relative;border:1px solid var(--hair)}.album .ph small{position:absolute;bottom:4px;right:4px;left:4px;background:#2b221999;color:#fff;border-radius:8px;font-size:10.5px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kin{font-family:var(--naskh);font-size:22px;line-height:2;font-weight:700;text-align:center;padding:10px 4px}.pathline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;font-size:13px}.pathline .s{color:var(--sand)}.pick{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:16px;min-height:56px;text-align:right}.pnode{display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:var(--card);border:1px solid var(--hair);margin-bottom:8px}.pnode .lvl{font-size:11px;color:var(--ink-3)}.switch{width:46px;height:28px;border-radius:28px;background:var(--line);position:relative;flex:none;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .25s var(--ease);box-shadow:0 2px 4px #0003}.switch.on{background:var(--palm)}.switch.on:after{transform:translate(-18px)}.rec{width:64px;height:64px;border-radius:50%;background:var(--henna);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 6px var(--henna-wash)}.rec.live{animation:pulse 1.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 12px #a4502f26}}.tex-bg{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background:url(/tex/manuscript.webp) center/cover no-repeat;opacity:.075;mix-blend-mode:multiply;filter:grayscale(1) sepia(.55) contrast(.85) blur(.4px);-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 85%)}.tex-hero{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:url(/tex/note.webp) center 0/cover no-repeat;opacity:.2;mix-blend-mode:multiply;filter:grayscale(.85) sepia(.6) contrast(.95) blur(.3px);-webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 38%,transparent 72%);mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 38%,transparent 72%)}h2.sec{position:relative;isolation:isolate}h2.sec:before{content:"";position:absolute;z-index:-1;top:-6px;right:-16px;bottom:-2px;left:-40%;background:url(/tex/manuscript.webp) right 30%/560px auto no-repeat;opacity:.14;mix-blend-mode:multiply;filter:grayscale(1) sepia(.5);-webkit-mask-image:linear-gradient(to left,#000 10%,transparent 85%);mask-image:linear-gradient(to left,#000 10%,transparent 85%);pointer-events:none}.onb{isolation:isolate}@media (min-width:900px){.onb{max-width:520px;margin:0 auto}.tex-hero{position:fixed}}.idline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;font-family:var(--naskh);font-weight:600;color:var(--ink-2);line-height:1.9}.idline .sep{color:var(--sand);font-size:8px}.idline.sm{font-size:13px}.idline.md{font-size:15px}.idline.lg{font-size:17px}.idline .seg-id{display:inline-flex;flex-direction:column;align-items:center}.idline .seg-id small{font-family:var(--ui);font-weight:400;font-size:10.5px;color:var(--ink-3);line-height:1.3}.idband{background:#fbf6ecd1;border:1px solid var(--hair);border-radius:99px;padding:2px 14px;-webkit-backdrop-filter:none;backdrop-filter:none}.idcard{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:2px 14px}@media (min-width:1000px){.app.wide{max-width:none}.app.wide>.top,.app.wide>.tabs{width:100%;max-width:760px;margin-left:auto;margin-right:auto}.app.wide .toolbar{max-width:736px;margin:0 auto;align-items:center}.app.wide .toolbar>div:first-child{flex-basis:auto!important;order:5;margin-inline-start:auto}}.av:not(.m):not(.f){background-color:var(--av-n);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--ink-3)}.doccard{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:center;-webkit-tap-highlight-color:transparent}.docframe{position:relative;display:block;padding:7px;border-radius:12px;background:linear-gradient(var(--doc-a),var(--doc-b));border:1.5px solid var(--sand);box-shadow:0 0 0 4px #fbf6ec,0 0 0 5px #c8a1698c,0 10px 24px -14px #5b4b3b88}.docframe img{display:block;width:100%;height:auto;border-radius:6px;filter:none;opacity:1}.dochl{position:absolute;border-radius:8px;box-shadow:inset 0 0 0 2px #c8a169f2,0 0 0 3px #fbf6ec8c;background:#e8c4781a;pointer-events:none}.docimg{position:relative;display:block;width:fit-content;max-width:100%;margin:0 auto}.docopen{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:99px;background:#2b2118c7;color:#fbf6ec;font-size:13px;display:grid;place-items:center;line-height:1}.doccap{font-family:var(--naskh);font-weight:700;color:var(--ink);font-size:15px;line-height:1.5}.docsrc{font-size:11.5px;color:var(--ink-3);margin-top:-4px}.doccard.sm{gap:3px}.doccard.sm .docframe{padding:4px;border-radius:9px;box-shadow:0 0 0 2px var(--card),0 0 0 3px #c8a16980,0 6px 14px -10px #5b4b3b88}.doccard.sm .docframe img{height:46px;width:auto;max-width:100%;object-fit:cover}.doccard.sm .dochl{border-radius:5px;box-shadow:inset 0 0 0 1.5px #c8a169f2}.doccard.sm .docopen{display:none}.doccard.sm .doccap{font-size:11.5px;line-height:1.35;font-weight:700}.doccard.lg .doccap{font-size:17px}.docrow{flex-basis:100%;display:flex;justify-content:center;gap:10px}.docrow .doccard{background:#fbf6ece6;border:1px solid var(--hair);border-radius:14px;padding:6px 8px 5px;max-width:200px}.docview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#1c150f;display:flex;flex-direction:column}.dvbar{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fbf6ec}.dvbar .dvt{flex:1;display:flex;flex-direction:column;min-width:0}.dvbar .dvt b{font-family:var(--naskh);font-size:16px;line-height:1.5}.dvbar .dvt small{font-size:12px;opacity:.75}.dvbar .iconbtn{background:#fbf6ec1f;color:#fbf6ec;border-color:transparent}.dvimg{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px 10px;touch-action:pan-x pan-y pinch-zoom}.dvimg img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 20px 50px -20px #000}.dvimg.zoom{align-items:flex-start;justify-content:flex-start}.dvimg.zoom img{max-width:none;max-height:none;width:200%}.dvnote{color:#fbf6ec99;font-size:11.5px;text-align:center;padding:8px 0 16px}.factv{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.factsrc{all:unset;cursor:pointer;font-size:11.5px;color:var(--henna);text-decoration:underline;text-underline-offset:3px}.onbdoc{max-width:420px;width:100%;margin:6px auto 0}.toolbar .idwrap{pointer-events:none}.toolbar .idwrap>*{pointer-events:auto}.dvzoom{all:unset;cursor:pointer;font-size:13px;color:#fbf6ec;border:1px solid rgba(251,246,236,.35);border-radius:99px;padding:6px 14px;white-space:nowrap}@media (min-width:1000px){.app.wide .docrow{position:fixed;top:10px;left:18px;flex-basis:auto;z-index:4;gap:8px;flex-direction:column;align-items:flex-start;width:min(220px,calc(50vw - 400px))}.app.wide .docrow .doccard{max-width:100%}}.import-family{align-self:center;max-width:700px;margin:4px 14px 10px;padding:10px 14px;background:var(--card);border:1px solid var(--sand);border-radius:14px;text-align:center;font-size:13px}.import-family .btn{margin-bottom:5px}.import-family button:disabled{opacity:.6;cursor:wait}.public-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:28px 24px 90px}.public-empty p{color:var(--ink-2);line-height:1.8;margin:0}.public-docs{display:grid;gap:22px;width:100%;max-width:540px}.public-empty .doccap{font-size:14px}.candidate{display:flex;flex-direction:column;text-align:right;gap:4px;border:1px solid var(--hair);background:var(--card);padding:12px;border-radius:14px;width:100%;margin-bottom:8px}.candidate small{color:var(--ink-3)}.candidate.chosen{border-color:var(--palm);box-shadow:0 0 0 2px #32645422}.namebuilder-launch{white-space:normal;text-align:center;font-size:12px;line-height:1.5;max-width:115px}@media (max-width:600px){.top{flex-wrap:wrap}.top .brand{flex:1}.namebuilder-launch{order:5;margin-right:auto;margin-left:auto;max-width:none;width:100%;justify-content:center}}.missing-path{white-space:normal;max-width:100%;font-size:12px;background:var(--card)}.aibadge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;border-radius:99px;padding:2px 9px;background:linear-gradient(90deg,#efe2c8,#f6ead2);color:#7a5a24;border:1px solid #e0c890;vertical-align:middle;font-family:var(--sans,inherit)}.aibadge.calc{background:var(--paper-2);color:var(--ink-2);border-color:var(--hair)}.ai-note{font-size:12.5px;color:var(--ink-2);background:var(--paper-2);border-radius:12px;padding:8px 10px;margin-bottom:10px;line-height:1.7}.ai-off{color:var(--henna);margin:4px 0 8px}.chat{display:flex;flex-direction:column;gap:12px;min-height:120px;max-height:56vh;overflow:auto;padding:4px 2px 8px}.examples{display:flex;flex-wrap:wrap;gap:8px}.examples .chip{white-space:normal;text-align:right;line-height:1.5}.turn{display:flex;flex-direction:column;gap:6px}.bubble{max-width:92%;border-radius:16px;padding:10px 12px;line-height:1.9;font-size:15px;overflow-wrap:anywhere}.bubble.me{align-self:flex-start;background:var(--ink);color:var(--paper);border-bottom-right-radius:6px}.bubble.bot{align-self:flex-end;background:var(--card);border:1px solid var(--hair);border-bottom-left-radius:6px;font-family:var(--naskh)}.bot-head{margin-bottom:4px}.bot-text{white-space:pre-wrap}.plink{display:inline;background:none;border:0;padding:0 1px;color:var(--palm);font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:#c8a16999;text-underline-offset:4px;cursor:pointer}.cands{margin-top:8px}.facts{margin-top:8px;font-size:13px;color:var(--ink-2)}.facts summary{cursor:pointer}.typing{letter-spacing:3px;color:var(--ink-2)}.askbar{display:flex;gap:8px;margin-top:10px;position:sticky;bottom:0;background:inherit;padding-top:6px}.askbar .in{flex:1;min-width:0}.fab.ask{bottom:80px;background:var(--card);color:var(--ink);border:1px solid #e0c890;box-shadow:0 6px 18px #5b4b3b22;height:48px;font-size:15px}.aihelp{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.aiout{border:1px dashed #e0c890;border-radius:14px;padding:10px 12px;margin:0 0 12px;background:#fffaf0}.dupwarn{background:#f6e6c9;border-radius:10px;padding:4px 8px;font-size:12.5px;margin-top:4px;color:#7a4b12}body,.sheet,.node,.chip,.menu button,.stat,.card,.act,.tabs,.top{transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.top{position:relative}.top:after{content:"";position:absolute;left:16px;right:16px;bottom:-2px;height:10px;background:var(--orn) repeat-x center/28px 10px;opacity:.75;pointer-events:none}.sheet-h{position:relative}.sheet-h:after{content:"";position:absolute;left:18px;right:18px;bottom:-4px;height:10px;background:var(--orn) repeat-x center/28px 10px;opacity:.5;pointer-events:none}.group>.gt{font-family:var(--kufi);font-size:14px;color:var(--ink-2);letter-spacing:0}.group>.gt:before{content:"";width:18px;height:8px;flex:none;background:var(--orn) no-repeat center/28px 10px}.stat .n{font-family:var(--kufi)}.menu button b{font-family:var(--kufi);font-weight:500;font-size:15.5px}.node[data-branch]:not([data-branch="-1"]):after{content:"";position:absolute;top:8px;bottom:8px;right:-1px;width:4px;border-radius:4px 0 0 4px;background:var(--bc)}.node[data-branch]:not([data-branch="-1"]){border-color:color-mix(in srgb,var(--bc) 45%,transparent)}.node.spouse[data-branch]:not([data-branch="-1"]):after{opacity:.55}.sharelink{margin-top:8px;font-size:12px;color:var(--ink-3);background:var(--card);border:1px dashed var(--line);border-radius:10px;padding:6px 10px;word-break:break-all;text-align:center}a.btn.wa{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:#1f7a4a;border-color:#7cc59b}.kincommon{text-align:center;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);line-height:1.9}.kincommon b{font-family:var(--naskh)}.genrow{display:grid;grid-template-columns:70px 1fr 34px;gap:8px;align-items:center;font-size:13px;margin:4px 0}.genrow .bar{height:8px;border-radius:99px;background:var(--hair);overflow:hidden}.genrow .bar i{display:block;height:100%;background:var(--palm);border-radius:99px}.genrow b{text-align:left}.docarchive{display:flex;flex-direction:column;gap:16px}.docitem{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:12px}@media (min-width:600px){.docitem{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.docmeta{display:flex;flex-direction:column;gap:4px;min-width:0;align-items:flex-start}.docmeta .kind{font-family:var(--kufi);font-size:12px;color:var(--henna)}.docmeta b{font-family:var(--naskh);font-size:16px}.idwrap.flash{animation:idflash 1.6s ease}@keyframes idflash{0%,to{box-shadow:none}30%,70%{box-shadow:0 0 0 3px var(--sand);border-radius:14px}}.dispset{background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:10px 14px;margin-bottom:12px}.seg.sm button{padding:4px 10px;font-size:12.5px}.top .iconbtn[data-testid=theme-toggle]{font-size:18px;line-height:1}html[data-fs=lg] .scroll,html[data-fs=lg] .sheet-b{zoom:var(--fscale,1)}html[data-theme=dark]{color-scheme:dark;--paper:#1C1712;--paper-2:#251E17;--card:#2A221A;--card-2:#241D16;--ink:#F1E6D3;--ink-2:#D3C3A8;--ink-3:#A8977E;--palm:#6FAE98;--palm-2:#86BFAA;--palm-wash:#22332D;--henna:#E08A63;--henna-2:#EBA383;--henna-wash:#3A2419;--sand:#D6B37C;--line:#5A4A36;--hair:rgba(241,230,211,.14);--glow-a:#2A2118;--glow-b:#16110C;--warn:#3A2E17;--warn-b:#6E5528;--av-n:#3A3026;--doc-a:#2E251C;--doc-b:#241C14;--hi-in:rgba(255,255,255,.04);--b1:#6FAE98;--b2:#E08A63;--b3:#D9B060;--b4:#8FA3D6;--b5:#B98BBD;--b6:#6EB6C2;--b7:#C29D6A;--b8:#D47A90;--b9:#8EBB72;--b10:#B3A28F;--paper-tex:none}html[data-theme=dark] .aibadge{background:linear-gradient(90deg,#3a2f1d,#45371f);color:#e7c98a;border-color:#6e5528}html[data-theme=dark] .aiout{background:#2a2219;border-color:#6e5528}html[data-theme=dark] .dupwarn{background:var(--warn);color:#e7c98a}html[data-theme=dark] .callig span{color:var(--sand)}html[data-theme=dark] a.btn.wa{color:#7cd3a0;border-color:#2f6b49}html[data-theme=dark] .node{box-shadow:0 10px 24px -16px #000c}html[data-theme=dark] .sheet{box-shadow:0 -20px 50px -20px #000000e6}html[data-theme=dark] img.wordmark{filter:invert(.9) hue-rotate(180deg)}@media print{.top,.tabs,.toolbar{display:none}}html[data-theme=dark] .idband,html[data-theme=dark] .docrow .doccard{background:#2a221ae6}html[data-theme=dark] .genrail .g{background:#1c1712db}@media (min-width:700px){.top .namebuilder-launch{white-space:nowrap;max-width:none}}.actions{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:6px}.actions .act{font-size:11.5px;padding:10px 2px;text-align:center}.msbg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;overflow:hidden;contain:strict}.msbg .ms{position:absolute;display:block;height:auto;opacity:.17;-webkit-user-select:none;user-select:none;will-change:auto}.msbg .ms-a{width:120vw;max-width:none;top:7vh;right:-10vw;transform:rotate(-3deg)}.msbg .ms-b{width:100vw;bottom:9vh;left:-4vw;transform:rotate(2.5deg)}@media (min-width:900px){.msbg .ms-a{width:48vw;top:6vh;right:2vw}.msbg .ms-b{width:40vw;bottom:4vh;left:3vw}}.callig span{opacity:.03}html[data-theme=dark] .msbg .ms{filter:invert(1) sepia(.55) saturate(.8) brightness(.95);opacity:.11}.docs-entry{pointer-events:auto;font-size:13px;gap:6px}@media print{.msbg{display:none}}.msbg .ms{opacity:.07;filter:blur(.7px) sepia(.35)}html[data-theme=dark] .msbg .ms{opacity:.05;filter:invert(1) sepia(.55) saturate(.7) brightness(.9) blur(.7px)}.msbg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 85% 75% at 50% 45%,#78583400 35%,#78583429 80%,#5f442847),linear-gradient(#9673460f,#9673460f)}html[data-theme=dark] .msbg:after{background:radial-gradient(ellipse 85% 75% at 50% 45%,#0000 30%,#00000052 80%,#00000080)}.callig span{opacity:.02}.treepanel{position:absolute;pointer-events:none;border-radius:20px;background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid rgba(160,125,80,.28);box-shadow:0 30px 60px -40px #462d1473,inset 0 0 0 6px color-mix(in srgb,var(--paper) 60%,transparent)}html[data-theme=dark] .treepanel{background:color-mix(in srgb,#1A1510 90%,transparent);border-color:#d6b37c2e;box-shadow:0 30px 60px -40px #000c}.node{border-color:#2b221942}html[data-theme=dark] .node{border-color:#f1e6d33d}.node.spouse{border-color:#2b22194d}.updbar{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 76px);z-index:60;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:16px;background:var(--ink);color:var(--paper);box-shadow:0 14px 30px -14px #0009;font-size:13.5px}.updbar span{flex:1}.updbar .chip{background:var(--sand);color:#2b2219;border:0}.updbar .iconbtn{background:transparent;color:inherit;border-color:transparent}@media (pointer:coarse){.chip,.btn.sm,.pchip.addchip,.factsrc{min-height:44px}.iconbtn{min-width:44px;min-height:44px}.seg button{min-height:44px;min-width:44px}.seg.sm button{min-height:44px;min-width:48px}}
