@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-ext-600-normal-DXSZftVr.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-600-normal-CDMeBxaJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-600-normal-6oiym5iu.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-600-normal-C8YEAlRA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-vietnamese-600-normal-BBruYZNA.woff2) format("woff2"),url(/assets/ibm-plex-serif-vietnamese-600-normal-DZRaS25B.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-ext-600-normal-CU6LeQOd.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-ext-600-normal-D1-_Ic5L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-600-normal-D3rpGdkS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.f3{--female-color: rgb(196, 138, 146);--male-color: rgb(120, 159, 172);--genderless-color: lightgray;--background-color: rgb(33, 33, 33);--text-color: #fff;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 rect.card-female,.f3 .card-female .card-body-rect,.f3 .card-female .text-overflow-mask{fill:var(--female-color)}.f3 rect.card-male,.f3 .card-male .card-body-rect,.f3 .card-male .text-overflow-mask{fill:var(--male-color)}.f3 .card-genderless .card-body-rect,.f3 .card-genderless .text-overflow-mask{fill:var(--genderless-color)}.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:#0000}.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_upper,.f3 .link_lower,.f3 .link_particles{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{-webkit-transform:translateY(-8px) scale(.8);transform:translateY(-8px) scale(.8)}.f3.f3-cont{width:100%;height:900px;max-height:70vh;background-color:var(--background-color);color:var(--text-color)}.f3{position:relative;display:flex}.f3-form input[type=text],.f3-form textarea,.f3-form select{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 textarea:focus,.f3-form select:focus{box-shadow:0 0 5px #4caf5033}.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-form .f3-remove-relative-btn{background-color:transparent;border:1px solid currentColor;color:currentColor;width:100%;padding:5px 10px}.f3-remove-relative-btn:hover,.f3-remove-relative-btn.active{background-color:var(--text-color);border-color:var(--text-color);color:var(--background-color)}.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-info-field-label,.f3-form-field label{font-weight:700;font-size:12px;display:block;opacity:.8}.f3-info-field-value{font-weight:400;display:block;border:none;outline:none;border-bottom:1px solid rgba(255,255,255,.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-form-buttons,.f3-form.non-editable .f3-delete-btn,.f3-form.non-editable .f3-remove-relative-btn,.f3-form.non-editable .f3-link-existing-relative{display:none}.f3-close-btn{cursor:pointer;position:absolute;left:10px;top:8px;font-size:30px;color:var(--text-color)}.f3-edit-btn{position:relative;top:-1px;width:24px;height:24px;cursor:pointer;display:inline-block}.f3-add-relative-btn{cursor:pointer;width:27px;height:27px;margin-right:5px;display:inline-block}.f3 div.card{cursor:pointer;color:var(--text-color);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:#00000080;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:0 5px}.f3 div.card-image-circle svg{width:100%;height:100%;padding:5px;border-radius:50%;object-fit:cover}.f3 div.card-image-circle img{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-image-rect .person-icon{height:70px;width:70px;object-fit:cover;flex:0 0 auto;padding:5px;margin-right:10px}.f3 div.card-image-rect img{height:70px;width:70px;object-fit:cover;flex:0 0 auto;padding:5px;margin-right:10px;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 .f3-card-duplicate-tag{position:absolute;top:2px;right:2px;color:#fffbdc;background-color:#fffbdc00;border-radius:50%;padding:2px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.f3 .f3-card-duplicate-hover div.card-inner{transform:translateY(-2px);outline:4px solid rgb(255,251,220)}.f3 .f3-card-duplicate-hover .f3-card-duplicate-tag{background-color:#fffbdccc;color:#000}.f3 .f3-remove-relative-active .card{background-color:var(--background-color)}.f3 .f3-remove-relative-active .card-inner{transition:border .2s ease-in-out,opacity .2s ease-in-out,transform .2s ease-in-out;opacity:.75}.f3 .f3-remove-relative-active .card:hover .card-inner{opacity:.25}.f3 .f3-remove-relative-active .card-male.card-depth--1:hover .card-inner{transform:translate(-8px,-8px)}.f3 .f3-remove-relative-active .card.card-female.card-depth--1:hover .card-inner{transform:translate(8px,-8px)}.f3 .f3-remove-relative-active .card.card-female.card-depth-0:hover .card-inner{transform:translate(8px)}.f3 .f3-remove-relative-active .card.card-male.card-depth-0:hover .card-inner{transform:translate(-8px)}.f3 .f3-remove-relative-active .card.card-depth-1:hover .card-inner{transform:translateY(8px)}.f3 .f3-remove-relative-active .card.card-main .card-inner{transform:translate(0)!important;opacity:1!important}.f3 div.card>div{transition:transform .2s ease-in-out;box-shadow:0 0 #000c}.f3 .card-inner{outline:0px solid rgba(255,255,255,1);transition:outline .5s ease-in-out}.f3 div.card-female .card-inner,.f3 div.card-female .person-icon svg{background-color:var(--female-color)}.f3 div.card-male .card-inner,.f3 div.card-male .person-icon svg{background-color:var(--male-color)}.f3 div.card-genderless .card-inner,.f3 div.card-genderless .person-icon svg{background-color:var(--genderless-color)}.f3 div.card-new-rel .card-inner,.f3 div.card-new-rel .person-icon svg{background-color:var(--background-color)}.f3 div.card-to-add .card-inner{background-color:var(--background-color);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-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-unknown .card-inner{background-color:var(--background-color);border:1px solid}.f3 div.card-unknown .card-inner .card-label{margin:0 auto}.f3 div.card-unknown .person-icon{display:none}.f3 div.card-new-rel .card-inner{border-width:1px;border-style:dashed;outline:0px!important}.f3 div.card-new-rel.card-female .card-inner,.f3 div.card-unknown.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-unknown.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 #000c}.f3 div.card-main .card-inner{outline:4px solid rgba(220,220,220,1)}.f3 div.card-inner.f3-path-to-main{outline:4px solid rgba(255,255,255,1)}.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:6;right:0;top:0;width:0;height:100%;background-color:var(--background-color);overflow:auto;flex:0 0 auto;box-shadow:0 0 10px #00000080}.f3-form-cont.opened{width:350px}.f3-form{padding:20px}.f3-form hr{border-style:solid;border-width:thin 0 0 0;opacity:.15}.f3-nav-cont{position:absolute;top:0;left:0;width:100%;display:flex}.f3-history-controls{padding:8px 5px 7px 9px;display:inline-block;position:relative;z-index:2}.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;color:currentColor}.f3-history-controls svg{height:100%}.f3-back-button.disabled,.f3-forward-button.disabled{opacity:.5}.f3-modal{display:none;position:absolute;z-index:10;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:#0006}.f3-modal-content{position:relative;background-color:var(--background-color);margin:15% auto;padding:20px;border:1px solid #888;border-radius:5px;width:500px;max-width:90%}.f3-modal-close{color:#aaa;position:absolute;right:10px;top:7px;font-size:28px;font-weight:700}.f3-modal-close:hover,.f3-modal-close:focus{color:#000;text-decoration:none;cursor:pointer}.f3-popup{position:fixed;box-shadow:0 0 10px #000c}.f3-popup-content{position:relative;background-color:var(--background-color);border:1px solid #888;border-radius:5px;overflow:hidden;width:100%;height:100%}.f3-popup-nav{height:20px}.f3-popup-content-inner{width:100%;height:100%}.f3-popup-close{color:#aaa;position:absolute;z-index:4;right:6px;top:1px;font-size:28px;font-weight:700;line-height:1}.f3-popup-close:hover,.f3-popup-close:focus{color:#000;text-decoration:none;cursor:pointer}.f3-btn{position:relative;cursor:pointer;padding:5px 10px;overflow:hidden;border-width:0;outline:none;border-radius:3px;box-shadow:0 1px 4px #0009;background-color:var(--text-color);color:var(--background-color);transition:background-color .3s;font-size:14px}.f3-btn:hover,.f3-btn:focus{background-color:var(--background-color);color:var(--text-color)}.f3-female-bg{background-color:var(--female-color)}.f3-male-bg{background-color:var(--male-color)}.f3-genderless-bg{background-color:var(--genderless-color)}.f3-female-color{color:var(--female-color)}.f3-male-color{color:var(--male-color)}.f3-genderless-color{color:var(--genderless-color)}.f3-autocomplete-cont{position:relative;display:inline-block;z-index:2;font-size:14px;width:200px}.f3-autocomplete input{border:1px solid rgba(255,255,255,.2);background-color:var(--background-color);color:var(--text-color);padding:10px;width:100%}.f3-autocomplete input:focus{outline:none}.f3-autocomplete-toggle{position:absolute;right:10px;top:10px;cursor:pointer;color:var(--text-color);transition:color .3s ease-in-out;width:20px}.f3-autocomplete-items{border:1px solid rgba(255,255,255,.2);border-top:none;overflow-y:auto;max-height:0;background-color:var(--background-color);transition:max-height .3s ease-in-out}.f3-autocomplete.active .f3-autocomplete-items{max-height:300px}.f3-autocomplete-item>div{padding:10px;cursor:pointer;background-color:var(--background-color);border-bottom:1px solid rgba(255,255,255,.2);transition:background-color .3s ease-in-out,color .3s ease-in-out}.f3-autocomplete-item>div:hover,.f3-autocomplete-item.f3-selected>div{background-color:var(--text-color);color:var(--background-color)}.f3-autocomplete-active{background-color:#1e90ff!important;color:#fff}.f3-kinship-info{padding:10px 20px}.f3-kinship-info .f3-info-field{color:#b3b01e}.f3-kinship-info-icon{cursor:pointer;display:inline-block;width:18px;height:18px;color:#04a4f4;position:relative;top:4px;left:2px}.f3-kinship-info .f3{width:100%;height:100%;position:relative;background-color:#212121;color:#fff}.f3 .f3-kinship-info .card-kinship-self{min-height:0px;width:60px;height:60px;border-radius:50%;background-color:var(--background-color)!important;border:solid 3px;color:#437fae;font-weight:700}.f3 .f3-kinship-info .card-kinship-self.f3-real-label{width:150px;height:50px;border-radius:50px}.f3 .f3-kinship-info .card-kinship-rel{min-height:0px;width:150px;height:50px;border-radius:50px;background-color:#1d3456!important;font-weight:700}.f3 .f3-kinship-info .card-kinship-default{min-height:0px;width:150px;height:50px;border-radius:50px;background-color:var(--background-color)!important;border:solid 1px}.f3-kinship-labels-toggle{position:absolute;top:0;left:0;z-index:10;font-size:12px}.f3-kinship-labels-toggle label{cursor:pointer;color:#fff;font-weight:700;text-align:center;padding:2px 5px}.f3-kinship-labels-toggle input[type=checkbox]{cursor:pointer;margin:5px}:root{--paper-900: #221e1a;--paper-800: #2c2723;--paper-700: #38322c;--ink-100: #f3ede2;--ink-300: #cfc6b8;--ink-500: #a99e8f;--stamp: #8a79c9;--stamp-strong: #a08fe0;--sepia: #c9a26b;--line: #5a5248;--kin-m: #7f96aa;--kin-f: #b28b94;--danger: #a1554c;--danger-ink: #e2a79d;--danger-bg: #3d211d;--danger-strong: #c96f62;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-name: "IBM Plex Serif", georgia, serif;--font-date: "IBM Plex Mono", monospace;--radius-print: 4px;--radius-panel: 10px;--shadow-print: 0 2px 10px rgba(0, 0, 0, .45);--shadow-panel: -8px 0 24px rgba(0, 0, 0, .4);--canvas-glow: rgba(243, 237, 226, .03);--offline-banner-h: 40px}:root[data-theme=slate]{--paper-900: #1a1e24;--paper-800: #242a32;--paper-700: #313945;--ink-100: #eaeff5;--ink-300: #b7c1cd;--ink-500: #8492a1;--stamp: #5a9bd8;--stamp-strong: #7fb6ee;--sepia: #d1a45c;--line: #3e4956;--kin-m: #6f92b8;--kin-f: #b481a0;--danger: #c15b4e;--danger-ink: #eaa79d;--danger-bg: #3a2320;--danger-strong: #d97a6b;--shadow-print: 0 2px 10px rgba(0, 0, 0, .5);--shadow-panel: -8px 0 24px rgba(0, 0, 0, .45);--canvas-glow: rgba(210, 225, 240, .035)}:root[data-theme=midnight]{--paper-900: #15182b;--paper-800: #1e2340;--paper-700: #2b3157;--ink-100: #eaedfa;--ink-300: #bfc5e0;--ink-500: #8b92b9;--stamp: #8f9bf2;--stamp-strong: #adb7ff;--sepia: #e2b567;--line: #39406b;--kin-m: #7d8bd0;--kin-f: #b483bf;--danger: #c95f74;--danger-ink: #f0a9b4;--danger-bg: #331f2b;--danger-strong: #df7d90;--shadow-print: 0 2px 12px rgba(0, 0, 0, .55);--shadow-panel: -8px 0 26px rgba(0, 0, 0, .5);--canvas-glow: rgba(150, 165, 255, .05)}:root[data-theme=evergreen]{--paper-900: #161f1a;--paper-800: #1f2b24;--paper-700: #2c3b31;--ink-100: #e9f1ea;--ink-300: #c1d0c4;--ink-500: #8ba08f;--stamp: #5fae7d;--stamp-strong: #7fca99;--sepia: #d2a659;--line: #3c5144;--kin-m: #6f9aa8;--kin-f: #b08f6f;--danger: #c65f4c;--danger-ink: #e6a99b;--danger-bg: #2e2320;--danger-strong: #db7a66;--shadow-print: 0 2px 10px rgba(0, 0, 0, .5);--shadow-panel: -8px 0 24px rgba(0, 0, 0, .45);--canvas-glow: rgba(180, 230, 195, .04)}:root[data-theme=parchment]{--paper-900: #f5f1e7;--paper-800: #ece5d6;--paper-700: #e0d7c4;--ink-100: #2c2722;--ink-300: #5c5348;--ink-500: #8c8175;--stamp: #6a4fb0;--stamp-strong: #54399b;--sepia: #93601f;--line: #cabfa6;--kin-m: #5a7c9a;--kin-f: #9c667a;--danger: #b23b2f;--danger-ink: #8a2f26;--danger-bg: #f0dbd4;--danger-strong: #912d23;--shadow-print: 0 2px 8px rgba(70, 55, 30, .18);--shadow-panel: -8px 0 24px rgba(70, 55, 30, .16);--canvas-glow: rgba(120, 95, 50, .04)}*{box-sizing:border-box}body{margin:0;background:var(--paper-900);color:var(--ink-100);font-family:var(--font-ui);font-size:15px;line-height:1.5}.page{max-width:960px;margin:0 auto;padding:32px 20px}h1,h2,h3,.display{font-family:var(--font-name);font-weight:600;color:var(--ink-100);margin:0 0 .5em}.display{font-size:2rem;letter-spacing:.01em}.date,time{font-family:var(--font-date);font-size:.85em;color:var(--sepia);letter-spacing:.02em}.label{font-family:var(--font-ui);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp)}a{color:var(--stamp)}button,.button{font:inherit;font-weight:500;color:var(--ink-100);background:var(--paper-700);border:1px solid var(--line);border-radius:var(--radius-print);padding:7px 14px;cursor:pointer}button:hover,.button:hover{border-color:var(--stamp)}button.primary{background:var(--stamp);border-color:var(--stamp);color:var(--paper-900)}button.primary:hover{background:var(--stamp-strong)}input,select,textarea{font:inherit;color:var(--ink-100);background:var(--paper-800);border:1px solid var(--line);border-radius:var(--radius-print);padding:7px 10px}:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.print{background:var(--paper-800);border:1px solid var(--line);border-radius:var(--radius-print);box-shadow:var(--shadow-print)}.home-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}.home-actions{display:flex;gap:8px;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.home-create,.home-report{padding:16px;margin:16px 0;display:grid;gap:10px;max-width:420px}.home-empty{color:var(--ink-500);margin-top:32px}.album-shelf{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.album-cover{display:flex;flex-direction:column;gap:20px;padding:20px 16px;min-height:120px;text-decoration:none;color:var(--ink-100);border-left:4px solid var(--sepia)}.album-cover:hover{border-color:var(--stamp)}.album-title{font-family:var(--font-name);font-size:1.15rem;font-weight:600}.album-home{font-family:var(--font-ui);font-size:.8rem;color:var(--ink-500)}.album-role{margin-top:auto;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500)}.tree-screen{display:flex;flex-direction:column;height:100vh;height:100dvh}.tree-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 16px;background:var(--paper-800);border-bottom:1px solid var(--line)}.tree-bar a{text-decoration:none;font-size:1.2rem}.tree-bar a.tree-export-link{font-size:.85rem;white-space:nowrap}.tree-title{font-size:1.1rem;margin:0;flex:1 1 120px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-control{font-size:.85rem;padding:6px 12px;white-space:nowrap}.tree-slider{display:flex;align-items:center;gap:6px}.tree-slider input[type=range]{accent-color:var(--stamp);width:90px;padding:0;border:none;background:transparent}.tree-slider-value{font-family:var(--font-date);font-size:.8rem;color:var(--sepia);min-width:1.6em;text-align:left}.tree-search{position:relative}.tree-search-results{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:220px;list-style:none;margin:0;padding:4px;background:var(--paper-700);border:1px solid var(--line);border-radius:var(--radius-print);box-shadow:var(--shadow-print)}.tree-search-results li{padding:6px 10px;border-radius:3px;cursor:pointer}.tree-search-results li:hover{background:var(--paper-800);color:var(--stamp-strong)}.theme-picker,.language-picker{font-size:.85rem;padding:6px 10px;cursor:pointer}.chart-canvas{flex:1;min-height:0;background:radial-gradient(ellipse at 50% 0%,var(--canvas-glow),transparent 60%),var(--paper-900);--background-color: var(--paper-800);--text-color: var(--ink-100);--male-color: var(--paper-800);--female-color: var(--paper-800);--genderless-color: var(--paper-800)}.chart-canvas .card_cont .card,.chart-canvas .card.card-male,.chart-canvas .card.card-female,.chart-canvas .card.card-genderless{font-family:var(--font-ui);background:var(--paper-800);color:var(--ink-100);border:1px solid var(--line);border-radius:var(--radius-print);box-shadow:var(--shadow-print)}.chart-canvas div.card-male .card-inner{border-bottom:2px solid var(--kin-m)}.chart-canvas div.card-female .card-inner{border-bottom:2px solid var(--kin-f)}.chart-canvas .card.card-main .card-inner{outline:3px solid var(--sepia)}.chart-canvas .card-image-rect{border-radius:var(--radius-print)}.chart-canvas .card-label{display:flex;flex-direction:column;gap:2px;padding:0 8px;text-align:left;overflow:hidden}.chart-canvas .tree-card-name{display:flex;flex-direction:column;font-family:var(--font-name);font-weight:600;line-height:1.2;min-width:0}.chart-canvas .tree-card-given,.chart-canvas .tree-card-surname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-canvas .tree-card-years{font-family:var(--font-date);font-size:.8em;color:var(--sepia);letter-spacing:.02em}.chart-canvas .tree-card-initials{display:flex;align-items:center;justify-content:center;font-family:var(--font-name);font-weight:600;font-size:1.1rem;background:var(--paper-700);border-radius:8px}.chart-canvas .tree-card-unknown .card-label{align-items:center;color:var(--ink-500);font-style:italic}.chart-canvas .card-info{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;font-family:var(--font-name);font-style:italic;font-weight:600;font-size:.8rem;line-height:1;color:var(--stamp);background:var(--paper-700);border:1px solid var(--line);border-radius:50%}.chart-canvas .card-info:hover{color:var(--paper-900);background:var(--stamp);border-color:var(--stamp)}.chart-canvas .mini-tree rect.card-male,.chart-canvas .mini-tree rect.card-female{fill:var(--stamp)}.chart-canvas .mini-tree line{stroke:var(--line)}.info-panel{position:fixed;z-index:30;right:0;top:0;bottom:0;width:min(400px,100vw);overflow-y:auto;background:var(--paper-800);border-left:1px solid var(--line);box-shadow:var(--shadow-panel);padding:20px}@media(max-width:799px){.info-panel{top:auto;left:0;width:auto;max-height:65vh;border-left:none;border-top:1px solid var(--line);border-radius:var(--radius-panel) var(--radius-panel) 0 0}}.info-close{position:absolute;top:10px;right:10px}.info-header{display:flex;gap:16px;align-items:center;margin-bottom:18px}.print-corners{position:relative;padding:6px;background:var(--ink-100);border-radius:2px;box-shadow:var(--shadow-print)}.print-corners:before,.print-corners:after,.print-corners .corner-b:before,.print-corners .corner-b:after{content:"";position:absolute;width:14px;height:14px;background:var(--paper-900);opacity:.9}.print-corners:before{top:-4px;left:-4px;clip-path:polygon(0 0,100% 0,0 100%)}.print-corners:after{top:-4px;right:-4px;clip-path:polygon(0 0,100% 0,100% 100%)}.print-corners .corner-b:before{bottom:-4px;left:-4px;clip-path:polygon(0 0,0 100%,100% 100%)}.print-corners .corner-b:after{bottom:-4px;right:-4px;clip-path:polygon(100% 0,100% 100%,0 100%)}.portrait{display:block;width:84px;height:84px;object-fit:cover;border-radius:1px}.portrait-initials{display:flex;align-items:center;justify-content:center;width:84px;height:84px;background:var(--paper-700);color:var(--ink-300);font-family:var(--font-name);font-size:1.6rem}.portrait-picker-trigger{display:block;border:none;cursor:pointer}.portrait-picker-trigger:hover,.portrait-picker-trigger:focus-visible{box-shadow:var(--shadow-print),0 0 0 2px var(--stamp)}.portrait-picker-trigger:disabled{cursor:default}.portrait-picker-trigger:disabled:hover{box-shadow:var(--shadow-print)}.home-toggle-row{margin-top:6px}.home-toggle{font-size:.75rem;padding:4px 10px}.home-toggle.active{background:var(--stamp);border-color:var(--stamp);color:var(--paper-900)}.home-toggle.active:hover{background:var(--stamp-strong)}.info-section{position:relative;margin:18px 0}.info-section>.label{display:block;margin-bottom:8px}.info-manage{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.fact-row{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:4px 0;color:var(--ink-300)}.timeline-row{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--paper-700)}.story{margin-bottom:14px}.story-body{color:var(--ink-300)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.photo-grid-item{display:flex;flex-direction:column;gap:4px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.person-link{background:none;border:none;padding:0;color:var(--stamp);cursor:pointer;font:inherit}.person-link:hover{color:var(--stamp-strong);text-decoration:underline}.family-group{margin-bottom:12px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000008c}.modal-panel{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;padding:20px}.modal-close{position:absolute;top:10px;right:10px;z-index:1}.person-form{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:480px){.person-form{grid-template-columns:1fr 1fr}.form-field-wide{grid-column:1 / -1}}.form-field{display:flex;flex-direction:column;gap:4px}.form-field input,.form-field select,.form-field textarea{width:100%}.form-field textarea{resize:vertical}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.form-header{grid-column:1 / -1;position:sticky;top:-20px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 4px;padding:14px 20px;background:var(--paper-800);border-bottom:1px solid var(--line)}.form-header h2{margin:0;font-size:1.1rem}.form-header-actions{display:flex;gap:8px}.icon-btn{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;border-radius:var(--radius-print)}.offline-banner{position:fixed;z-index:70;top:0;left:0;right:0;height:var(--offline-banner-h);display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;font-size:.85rem;font-weight:500;color:var(--paper-900);background:var(--sepia)}body.app-offline .tree-screen{padding-top:var(--offline-banner-h)}body.app-offline .page{padding-top:calc(32px + var(--offline-banner-h))}@media(min-width:800px){body.app-offline .info-panel{top:var(--offline-banner-h)}}.toast-stack{position:fixed;z-index:60;left:50%;bottom:20px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px))}.toast{padding:10px 14px;color:var(--ink-100)}.info-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.info-manage .info-edit-actions button{font-size:.85rem;padding:6px 12px}.info-delete{margin-top:12px}button.danger{border-color:var(--danger);color:var(--danger-ink)}button.danger:hover{background:var(--danger-bg);border-color:var(--danger-strong)}.family-picker{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.section-edit-toggle{position:absolute;top:-2px;right:0;margin:0}.section-edit-toggle button{font-size:.72rem;padding:3px 9px;color:var(--ink-300);background:transparent}.section-edit-toggle button:hover:not(:disabled){color:var(--ink-100);border-color:var(--ink-500)}.events-editor,.stories-editor{display:flex;flex-direction:column;gap:14px}.event-row-editor,.story-row-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--paper-700);border-radius:var(--radius-print)}.event-row-editor .form-field-wide{grid-column:1 / -1}.story-row-editor{grid-template-columns:1fr}.story-preview-label{margin-top:2px}.story-preview{padding:10px 12px;background:var(--paper-900);border:1px solid var(--paper-700);border-radius:var(--radius-print)}.row-actions{grid-column:1 / -1;display:flex;gap:8px}.photo-manager{display:flex;flex-direction:column;gap:14px}.photo-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.photo-manager-item{display:flex;flex-direction:column;gap:6px}.photo-manager-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.photo-caption{color:var(--ink-300);font-size:.85rem}.photo-caption-button{text-align:left;background:none;border:none;padding:0;cursor:pointer}.photo-caption-button:hover{color:var(--stamp)}.photo-caption-edit{display:flex;align-items:center;gap:4px}.photo-caption-edit input{flex:1;min-width:0;padding:4px 6px;font-size:.85rem}.photo-manager-actions{display:flex;flex-direction:column;gap:5px;margin-top:auto}.photo-manager-actions button{width:100%;padding:5px 8px;font-size:.78rem}.photo-add-btn{display:inline-block}.photo-add-btn.is-disabled{opacity:.5;pointer-events:none}.photo-thumb-btn{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer}.portrait-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:14px}.portrait-picker-option img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.portrait-picker-option:hover img{outline:2px solid var(--stamp)}.portrait-picker-option.current img{outline:2px solid var(--sepia)}.modal-panel.lightbox-panel{width:fit-content;min-width:min(340px,100%);max-width:min(880px,100%)}.lightbox{display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox-image-wrap{position:relative;display:block;width:fit-content;max-width:100%;line-height:0}.lightbox-image{display:block;max-width:100%;max-height:72vh;border-radius:var(--radius-print)}.lightbox-meta{align-self:stretch;display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.lightbox-caption-row{line-height:1.5}.lightbox-caption,.lightbox-caption-row .photo-caption{margin:0;color:var(--ink-100);font-size:.95rem}.tag-instructions{margin:0;font-size:.85rem;color:var(--ink-500)}.tag-box{position:absolute;outline:2px solid var(--stamp);outline-offset:-2px;border-radius:2px}.tag-box-point{width:14px;height:14px;border-radius:50%;background:var(--stamp);outline:2px solid var(--paper-900);outline-offset:0;transform:translate(-50%,-50%)}.tag-box-label{position:absolute;left:0;top:100%;margin-top:2px;padding:2px 6px;font-size:.75rem;font-weight:500;line-height:1.4;white-space:nowrap;color:var(--ink-100);background:var(--paper-900);border:none;border-radius:var(--radius-print);cursor:pointer}.tag-box-label:hover{background:var(--stamp);color:var(--paper-900)}.lightbox-tools{display:flex;flex-direction:column;gap:10px}.lightbox-image-wrap.taggable{cursor:crosshair;touch-action:none}.tag-box-drawing{outline-style:dashed;outline-color:var(--stamp-strong);pointer-events:none}.tag-box-remove{position:absolute;top:-8px;right:-8px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;line-height:1;color:var(--ink-100);background:var(--danger);border:1px solid var(--paper-900);border-radius:50%;cursor:pointer}.tag-box-remove:hover{background:var(--danger-strong)}.tag-picker{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--paper-800);border:1px solid var(--line);border-radius:var(--radius-print)}.tag-picker-results{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto}.tag-picker-results li{padding:6px 10px;border-radius:3px;cursor:pointer}.tag-picker-results li:hover{background:var(--paper-700);color:var(--stamp-strong)}.tag-picker-results li.tag-picker-empty{cursor:default;color:var(--ink-500)}.tag-picker-results li.tag-picker-empty:hover{background:none;color:var(--ink-500)}.settings-page{max-width:640px}.settings-header{display:flex;align-items:center;gap:14px}.settings-header a{text-decoration:none;font-size:1.2rem}.settings-header h1{margin:0}.settings-section{margin:20px 0;padding:20px}.settings-name-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-name-form input{flex:1;min-width:180px}.member-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.member-row{display:flex;align-items:center;gap:10px}.member-email{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-add-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.member-add-row input{flex:1;min-width:180px}.hint{color:var(--danger-ink);font-size:.85rem;margin:4px 0 10px}.settings-danger-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gedcom-date{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-family:var(--font-date)}.gedcom-date select{min-width:0}.gedcom-date input[type=number]{width:5.5em}.gedcom-date input[type=text]{flex:1 1 180px;min-width:0}.gedcom-date-calendar{position:relative;display:inline-flex}.gedcom-date-native{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;accent-color:var(--stamp)}.gedcom-date-toggle{font-family:var(--font-ui);font-size:.75rem;padding:5px 10px}
