:root{--background:#212121;--foreground:#fff;--primary:#4f46e5;--primary-light:#6366f1;--primary-rgb:79,70,229;--secondary:#64748b;--accent:#22d3ee;--surface:#2d2d2d;--surface-light:#383838;--error:#ef4444;--success:#22c55e;--warning:#f59e0b;--font-primary:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:1rem;--radius-full:9999px}body,html{max-width:100vw;overflow-x:hidden;scroll-behavior:smooth}body{color:var(--foreground);background:var(--background);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box;padding:0;margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-md)}a{color:var(--primary-light);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}.button,button{background:var(--primary);color:var(--foreground);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease}.button:hover,button:hover{background:var(--primary-light);transform:translateY(-1px)}.button:disabled,button:disabled{background:var(--secondary);cursor:not-allowed;transform:none}input,select,textarea{background:var(--surface);color:var(--foreground);border:1px solid var(--surface-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all .2s ease;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(79,70,229,.1)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.gap-4{gap:var(--spacing-xl)}.f3{--female-color:#c48a92;--male-color:#789fac;--background-color:#212121;font-family:Roboto,sans-serif}.f3 *{box-sizing:border-box}.f3 .cursor-pointer{cursor:pointer}.f3 svg.main_svg{width:100%;height:100%}.f3 svg.main_svg text{fill:currentColor}.f3 .card-female .card-body-rect,.f3 .card-female .text-overflow-mask,.f3 rect.card-female{fill:var(--female-color)}.f3 .card-male .card-body-rect,.f3 .card-male .text-overflow-mask,.f3 rect.card-male{fill:var(--male-color)}.f3 .card-genderless .card-body-rect,.f3 .card-genderless .text-overflow-mask{fill:#d3d3d3}.f3 .card_add .card-body-rect{fill:#3b5560;stroke-width:4px;stroke:#fff;cursor:pointer}.f3 g.card_add text{fill:#fff}.f3 .card-main-outline{stroke:currentColor;stroke-width:3px}.f3 .card_family_tree rect{transition:.3s}.f3 .card_family_tree:hover rect{transform:scale(1.1)}.f3 .card_add_relative{cursor:pointer;color:#fff;transition:.3s}.f3 .card_add_relative circle{fill:transparent}.f3 .card_add_relative:hover{color:#000}.f3 .card_edit.pencil_icon{color:#fff;transition:.3s}.f3 .card_edit.pencil_icon:hover{color:#000}.f3 .card_break_link,.f3 .link_lower,.f3 .link_particles,.f3 .link_upper{transform-origin:50% 50%;transition:1s}.f3 .card_break_link{color:#fff}.f3 .card_break_link.closed .link_upper{transform:translate(-140.5px,655.6px)}.f3 .card_break_link.closed .link_upper g{transform:rotate(-58deg)}.f3 .card_break_link.closed .link_particles{transform:scale(0)}.f3 .input-field input{height:2.5rem!important}.f3 .input-field>label:not(.label-icon).active{transform:translateY(-8px) scale(.8)}.f3.f3-cont{width:100%;height:900px;max-height:70vh;background-color:var(--background-color);color:#fff}.f3{position:relative;display:flex}.f3-form input[type=text],.f3-form select,.f3-form textarea{width:100%;padding:8px 12px;margin:8px 0;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;background:var(--background-color);color:currentColor}.f3-form input[type=text]:focus,.f3-form select:focus,.f3-form textarea:focus{box-shadow:0 0 5px rgba(76,175,80,.2)}.f3-form button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin:10px 0;transition:background-color .3s ease-in-out,border-color .3s ease-in-out,color .3s ease-in-out}.f3-form button[type=submit]{background-color:#4caf50;color:#fff}.f3-cancel-btn{background-color:#ccc}.f3-form .f3-delete-btn{background-color:transparent;border:1px solid #f44336;color:#f44336;width:100%;padding:5px 10px}.f3-delete-btn:hover{background-color:#da190b;border-color:#da190b;color:#fff}.f3-delete-btn:disabled{opacity:.5;background-color:transparent;color:#f44336;cursor:not-allowed}.f3-radio-group{margin:15px 0}.f3-radio-group label{margin-right:15px;cursor:pointer}.f3-radio-group input[type=radio]{margin-right:5px}.f3-form-field label,.f3-info-field-label{font-weight:700;font-size:12px;display:block;opacity:.8}.f3-info-field-value{font-weight:400;display:block;outline:none;border:none;border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:1px;margin-bottom:10px;min-height:18px}.f3-form-buttons{text-align:right}.f3-form-title{text-align:center}.f3-form.non-editable .f3-delete-btn,.f3-form.non-editable .f3-form-buttons{display:none}.f3-close-btn{cursor:pointer;position:absolute;left:10px;top:8px;font-size:30px;color:#fff}.f3-edit-btn{position:relative;top:-1px;width:24px;height:24px}.f3-add-relative-btn,.f3-edit-btn{cursor:pointer;display:inline-block}.f3-add-relative-btn{width:27px;height:27px;margin-right:5px}.f3 div.card{cursor:pointer;color:#fff;position:relative;line-height:1.2}.f3 div.card-image-circle{border-radius:50%;padding:5px;width:90px;height:90px}.f3 div.card-image-circle div.card-label{position:absolute;bottom:-10px;left:50%;transform:translate(-50%,50%);max-width:150%;min-height:22px;text-align:center;background-color:rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:0 5px}.f3 div.card-image-circle svg{padding:5px}.f3 div.card-image-circle img,.f3 div.card-image-circle svg{width:100%;height:100%;border-radius:50%;object-fit:cover}.f3 div.card-rect{padding:5px;border-radius:3px;width:120px;min-height:70px;overflow:hidden;text-align:center;display:flex;flex-direction:column;justify-content:center}.f3 div.card-image-rect{width:200px;min-height:70px;display:flex;align-items:center;border-radius:5px}.f3 div.card-traditional{position:relative;width:200px;height:200px;background:#f5f0e1;border-radius:50%;overflow:hidden;box-shadow:3px 3px 10px rgba(0,0,0,.3);text-align:center;font-family:Times New Roman,serif;padding-top:10px}.f3 div.trad-male{border:4px solid var(--male-color)}.f3 div.trad-female{border:4px solid var(--female-color)}.curvesvg{position:absolute;width:150%;height:150%;left:-50px;top:-50px;z-index:100;display:flex}.text-background-noavt-male{position:absolute;align-self:anchor-center;justify-self:anchor-center;display:flex;flex-flow:column;align-items:center;border-radius:11px;padding:8px;pointer-events:none;label{-webkit-text-stroke-color:var(--male-color);font-weight:400;font-size:22px;text-align:-webkit-center;-webkit-text-stroke-width:4px;paint-order:stroke fill;stroke-linecap:round}}.text-background-noavt-female{position:absolute;align-self:anchor-center;justify-self:anchor-center;display:flex;flex-flow:column;align-items:center;border-radius:11px;padding:8px;pointer-events:none;label{-webkit-text-stroke-color:var(--female-color);font-weight:400;font-size:22px;text-align:-webkit-center;-webkit-text-stroke-width:4px;paint-order:stroke fill;stroke-linecap:round}}.text-background-male{stroke:var(--male-color);stroke-width:2%;stroke-linecap:round}.text-background-female,.text-background-male{fill:#fff;font-weight:400;font-size:22px;paint-order:stroke fill}.text-background-female{stroke:var(--female-color);stroke-width:2%;stroke-linecap:round}.f3 div.card-traditional.card-image{width:100%;height:auto;filter:sepia(50%) contrast(1.2) brightness(.9);border-radius:50%}.f3 div.card-traditional.card-label{position:absolute;bottom:5px;width:100%;font-size:14px;font-weight:700;color:#4d3b2b;background:hsla(45,50%,92%,.7);padding:5px 0;border-top:2px solid #7a5c42}.f3 div.card-image-rect .person-icon,.f3 div.card-image-rect img{height:70px;width:70px;object-fit:cover;flex:0 0 auto;padding:5px;margin-right:10px}.f3 div.card-image-rect img{border-radius:8px}.f3 div.card-image-rect svg{object-fit:cover;width:100%;height:100%;padding:5px;border-radius:7px}.f3 div.card-image-rect div.card-label{height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.f3 div.mini-tree{text-align:right;position:absolute;top:-15px;right:-2px;z-index:-1}.f3 div.mini-tree svg{width:55px}.f3 div.card>div{transition:transform .2s ease-in-out;box-shadow:0 0 0 0 rgba(0,0,0,.8)}.f3 .card-inner{outline:0 solid #fff;transition:outline .5s ease-in-out}.f3 div.card-female .card-inner,.f3 div.card-female .person-icon svg{background-color:var(--female-color);svg{opacity:40%}}.f3 div.card-male .card-inner,.f3 div.card-male .person-icon svg{background-color:var(--male-color);svg{opacity:40%}}.f3 div.card-genderless .card-inner,.f3 div.card-genderless .person-icon svg{background-color:#d3d3d3}.f3 div.card-new-rel .card-inner,.f3 div.card-new-rel .person-icon svg,.f3 div.card-to-add .card-inner{background-color:var(--background-color)}.f3 div.card-to-add .card-inner{border:1px solid}.f3 div.card-to-add .card-inner .card-label{margin:0 auto}.f3 div.card-to-add .person-icon{display:none}.f3 div.card-new-rel .card-inner{border-width:1px;border-style:dashed;outline:0!important}.f3 div.card-new-rel.card-female .card-inner,.f3 div.card-to-add.card-female .card-inner{border-color:var(--female-color);color:var(--female-color)}.f3 div.card-new-rel.card-male .card-inner,.f3 div.card-to-add.card-male .card-inner{color:var(--male-color);border-color:var(--male-color)}.f3 div.card:hover>div{transform:translateY(-2px)}.f3 div.card-main .card-inner,.f3 div.card:hover .card-inner{box-shadow:0 0 20px 0 rgba(0,0,0,.8)}.f3 div.card-inner.f3-path-to-main{outline:4px solid #fff}.f3 .link{transition:stroke-width .2s ease-in-out}.f3 .link.f3-path-to-main{stroke-width:4px}.f3-form-cont{position:relative;z-index:4;right:0;top:0;width:0;height:100%;background-color:var(--background-color);overflow:auto;flex:0 0 auto;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}.f3-form-cont.opened{width:350px}.f3-form{padding:20px}.f3-history-controls{position:absolute;top:0;left:0;z-index:5}.f3-back-button,.f3-forward-button{width:30px;height:30px;transition:opacity .3s ease;cursor:pointer;display:inline-block;background-color:transparent;border:none;margin-right:10px}.f3-back-button.disabled,.f3-forward-button.disabled{opacity:.5}