/* Copied from pedigree.html by tools/generate_pages.py. Do not edit by hand. */

  :root {
    --logo-uri: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbgAAAJzCAYAAAB9DQZZAAA7+UlEQVR42u3dzZXctta24a3PikBannpETpyABo6AlYKcQjEGnxTIFOwUmicFKwUyhk7h/QYiTu9GAyAAgj9VvK+1etmSuqpYrG483CB+Pt3++F0AAHg2/49TAAAg4AAAIOAAACDgAAAg4AAAIOAAAAQcAAAEHAAABBwAAAQcAAAEHAAABBwAgIADAICAAwCAgAMAgIADAICAAwCAgAMAEHAAABBwAAAQcAAAEHAAABBwAAACDgAAAg4AAAIOAAACDgAAAg4AAAIOAEDAAQBAwAEAQMABAEDAAQBAwAEAQMABAAg4AAAIOAAACDgAAAg4AAAIOAAACDgAAAEHAAABBwAAAQcAAAEHAAABBwAg4AAAIOAAACDgAAAg4AAAIOAAACDgAAAEHAAABBwAAAQcAAAEHAAABBwAAAQcAICAAwCAgAMAgIADAICAAwCAgAMAgIADABBwAAAQcAAAEHAAABBwAAAQcAAAAg4AAAIOAAACDgAAAg4AAAIOAAACDgBwJZ85Bbi4SkSa+f8HEZk4JQABBzy6RkS6OeSMVkR6Tg3w+OiixJUrNzvcZP67jtMDEHDAo2od4Wbc5y8AD+yX+rdfOQu4YvX298L3NCLyKiI/OF0AFRzwKLqE76OSAwg44GGqt8b6u9DoSUIOIOCAh9A6/nwTkXr+7+AJuYZTBxBwwJk1Vrj1ViV38wTdCyEHEHDAmcOtUmHmm+9mgq51VHIVpxEg4ICzV29LevnZdWmquWr+/2rjY3yhYgQIOCCFrt5il+Sa5mqu3yHkKhVsOugAEHBAUK1CK1Wrqr6tQq4LVHQACDggWL2t0c/V3CRvS31tEcCEHEDAAbuH3TAHzrRx8ExWpUnIAQQcEFUprQm5yQq5UpXcqEK0np97sEKOhaABAg74EEq6gqsLPJ8JuXuh4Jkcf7bn5JV6LYCAA57IaIVciUDSIXcvdHx2hXmzwo/dDgACDvBWSE3B5zQht3bdyikQvvbxskYmQMABzgquLvi8k7xNIVizbmXo+Cb5uPIKa2QCBBwgIu/vZVWFw8Es7yWSvwqJHjnpenwnH+/TseIJQMABzqH3pQNUV3I59/lGFcCu43cNMCHkAAIO+DDsvrR+/spd7URXcI3n+X1b+rAQNEDA4cJ0BVS6m9JoVbilhtwYEcCuXRD2WAgaIOCAE5vk47yyLbSSt6RXTBfqEAg55sgBBBwurLdCZIuqZ1IBlbLM1ijvpws0gUrUtWg0S3oBs1/q337lLOCKVdw3eRuKX4vIPxu8zuv81cyv8VXc98/sxzTq2L54ju01UOXFvhZAwAFP6FVEvqtAeBWRHxu8zo85bL7NXzGvY75XROTTHFSvnuf+cw5B13Ns9Z6Ah0AXJa5qsCqcVrYboGHux4nErUBiLylWLzy3D6udgIADLqq1gmTLLr3GCp7Q6M0p8FhXUPcLIcccORBwwMXYy19Vsu3+bq0VPFVEBScRlaVvwInBRHAQcMBFq7i9NhbtVaCG5q3ZUxmW9q+zw9MXgsyRAwEHXDDkZKeQa1V4hbpFU/evW+qqZCI4CDjgglzhsHXI6blursnZqd2UrmrUFXJMBAcBB1ywiht2Cjm9h5yIewNT+1hit/dpIv6dieAg4IALhpwrELaoepYGnUwL1VjoeW8RIUclBwIOuBDfYI37RoEwWK9nV232fLjc5xXPe2KOHJ4aK5kA7/2Q98t4GVutDKJXOvki75fY+iJvXY6fxD+IpJofP1nP+yrhLstGWO0EVHDApfiqn60mTev7f3f1GrFdlOa+ml3l9RI3fYA5ciDggIuYFkJui6H2N3m/nJcZ1j9FHq+If4PUpZB7EaYPgIADLsO3c/aW88ka9Rrmnl/MfbhxofLsZXngCXPkQMABF+ILjCqiKlpbOZqRjkPk40xA3QMBFgo55siBgAMuJNRVudUoxF7ez49rEh4nC8G7FHLMkcNTYRQlEOYbVWkC4R9x79W2lgk287qvIvKfhTCO2XNuUu/JtY8cm6WCCg64kKU917as4nKOc2lvOzNPbtq5OgWo4ICTeRX/nLItdwNvrGPoI47z6/y4TwtV2KSqvi+e1/6RGbQAFRzwQPpAYGyxG7hdxY2RjzN7w8Xcv1uq5NhHDlRwwEX8Kz8HadgVz5eIimltFfffyOd/VY/7Nj/mdUUlF/McABUc8OCWRlWWrnbqzMeZ6i926H+okmMfORBwwEUMCyG3RfUmEt9Faej5dPeV74s5ciDggIvoxT3goylYxVXycfuc1CA2XZqxy4uF5smxxQ4IOOAiXBuklqzi7O7JMfMYRYVcbDDeAhUqIQcCDrhIyE0bVXGNVb3lbn7aZ1RgSyHHHDkQcMCTm+bgmDao4tbcfxOrcstZ+it0T44tdkDAARcNuUbWjTq0778NK4+vs8Ip9thCW+0wRw4EHHDRkFuz20DteP419CT11BGRvey/Nx5AwAEnDrk1Db99/20scHy99fz3xMf2nkqTOXIg4ICLhFynQiS34bfvv5VYD1JPGzDVV0oXYxsIOUZWgoADLkCvIZmzEknJ+2+ukBIr5FIf75v/R8iBgAMuYHBUYjnVW+mAm6yAyqm+fCHH9AEQcMCFAi6ni7LE/LeQznrOnDU0fZPcmT4AAg54crmDQip53625xe4Ek6NqyxkNefMcH9MHQMABF1BnfP9W9980e2+73IEit0Alx8hKEHAA/uduVVrDhq9l30dLnToQCjlGVoKAA/AuFLbunhTr+ftClZcr5BhZCQIOeEImqFLuxdnz5oYdjtMecCIrQunmCExGVoKAA56wGhNJGwGp56ht3T2pX6dzBG1uKLXinmvHoBMQcMBFK7gjqjejd7xeK/mDRHr5uNUOg05AwAEXrOBcAzKGnY+3jTimFPZ+cgw6AQEHPFEFF9PNeJePixXv1T0p1mu2jqpyTdeivZ8cg05AwAFPUL1VViVn//tdfnZfurruhoOO29VV2RV+zpxVUwACDjhR9WaCrLVC7SUQbEcHnEj5rkrXc3I/DgQc8MAVnK5YXubQihlNeET3pP36diCtrbpKLPAMEHDAiSo4I2VfuOEEx+/rqlxTdZWcigAQcMDOVVsjZQZmnEHprkq7ijOvQVclNvXp9sfvnAUgPcxqFWYlGupJ8jZI3UrnqLJ6R/ilnLex4PMBi36pf/uVswDENdB/zV/fReSbiHyZv0r450QVnMxhdLPe3zcR+SF5e9S9isjX+TlKPB9ABQesCDSxqrU1lZoZwOEbtHErFHDmGGvP8Q4JgeKq4sxzT5nHNjqO58aPGwg4YFuNCrJawkP5e+txS4MmTCjc5eP9rLXdk/oeYB0RxOb4h4jnHT2Pzw0l14aouYEJBH3mFIBKTRqJH/TgqrQGeZvf5nvMtBA4a0ItdWCLeczSPTAzOOTueHwneffPesfxtsK9OGyAUZS4MrNUlhkGbxYK7hPCTTfcvefvlwIsJeDMiMbYuXVL7/8l89juktdl6+oiXdv9CxBwgAqJFxVsg/zsJmvlbQ3FNiOo7P3VBsfz1I4qKXbXARPIueHiq+ZeEgNJV145Bk81ChBwwMpwG1SDaqq2yRFoNxVCMfPA9PdNkQEwyvL9JzuQ9esN1lfOvayle4ilq7jOcwxAUdyDw9Xoe23DQggNVsjFMPeYes9jUhdXtgel6CAbA69RS9qKIV0gIIfA85j3mmKyLjJMZVsJg01AwAHZ1dvdCqMlOQNAUkYYDoFjNffY7EotJkDMY8xgkJig6zzHHupCzR39aQecCWUCDsXQRYkraRyV0JGmQAXWzv92k/f3B3Neo5W4eXa+EZlTIHhy7wX6BpsABByQoU6s3rY+hmEhlHJDzRcot4j3fS9YyS4F71goLAECDpdXqcb1DMtiHXEM7ULI+SaKjxscSx/52gABB0RWT0eFW7VDaKwNuUrc99WmQCWWyx4kQ7iBgAMigkSv9FHJ+8nEZ7jXkzukf4+QaxIquDUh7aqka358UQqjKPEMdIjFdHOZ0ZRH3IerClQ+JUPOtYrInpUU9+FAwAGOhjBlDUlbJ2+jE/c0nawRbxwh45qTNnmOfW1QD/wog4AD3oJtaV6XaxK0a4cAs/TVlRtZ14LKKQE8Fnh9HZx0UYKAwyXdAxWbngy9tMKH3pOt2THgzjqJ2bXvW8yk66nQexqFrkkQcLgosz2LL9hCy0y5GuRBhd3eIxlNY75Fg66r1NBSXrlVnB1EIz+aIOCAdVVbF6jYuswqolT1kavk2ot6WS9bH3mOQutNPlpFCogI0wRwbp0n3MyCxu0DNrKDVW2VqG4H8U99uKuKdamytAM49r0ABByQ4MVRUZi1GR8x2FxVz33lc5nKLWZaRBtxXEvntF4IxRLo9gQBh6cPt8ZRLew5IGTLCm5S1deae3FdwuNjJrePgaCpMgIxNqRrzwUAQMDh6cPNrIb/LI3fYIVUjrvsuyKLPcVi2OB5U3Y3Bwg4PJS7J9z6J3ufnVXFpQZVTJdjqDqLsbSVzVjwM3dVtwABh6fROKqZZww3Ex7diirO7tqcVDisWRS59gRYJe4u4xKfebNBVQiICNMEcK6q5grhZvTyfjHoLqEqax3V1E2FkQkrvT7nUnhUgUqqdQTq2kqrsj7znoADAYdndHc0sP0F3rfZ0NQs/hyzbJhrYMrk+P9JBUcMfS9ssILovkH1pgfITJJ/LxLwoosSZ2nodQPdXuR9T3NgTSroYyofcVRwa/kGkLiCZ1j5OvZAokee9gECDoiuSHJXJnmGkIsZbJKyGWnORcZgBW7jeK1hxWc9OMKNrklsgi5KnCHgdOPZX/AcTPK2CPSSLYbR6+7CVlVa3UK1ncK15Fp/0c8bVHC4YMCd+T7MVgsk2w1+zPcMgXOYc/7vKrymwGeRu7WQa8m1Vq7TFQ0CDhcNN3t03tnc5ec9o1F9pawgsgV70nvupO9mfm8mvPqF50sNJHO/7e54Hio3EHC4TPUm8nHu1ZEhYhpne5V+M6pwlPVrSa49d5NVJaWEXKfCTV9chLomp8Tz51oE+ka4gYDDs6sWAsIMSBjFvXxXbCNeZR7bEPGa3YEhZ4829VVLEhnOo3pPttRpG+azs6vzmzCgBDv6dPvjd84CjuAKB911VVkV3SBvk5ljmEENk6PaWeIKVF3hiKMqOarhbqxKzJyrwTrmWsKLO5t1IF3vO+X8uY4n5zMACDg8JFcj6AoLHYJmpGFKBVZZ1U5MCNnBa6qX0Tr+7kQNeOh8rq0SU96Xa6TkIMxzw0HoosTefPd4dPV093xfbHejvbRU7L5pdytQbypwJ/XVy/uBHkvvaWvDHP4lQyQ13DpPuD3TLhAg4IDoyirUWA6OBjOlm8z12s3CsenJzkt7z9mVSSPHDjoxgVRiAEefGJiu7ubULmWAgMNDiwk3XyANCY8LVTmhRrqSt+7MKfL9tIHK8YiQayXvnqCuTFOmAxBuOC1WMsFeXF2EZmDDJB9XwbcrithG1zynfo6lBl9v25J6v8g05i+qCjx6AvOgLiYadU5d2+GYpbdGSe9KdIXbldYSxckxyAR7sAdBmIEbg6cC08tW5Wyjogc7xEwqNqMmU4I09JpXGA7vGlDCaEkQcLgcPex+TYjEqlRFUkd+b0ow2d2npmo0k62fvYvOdS+VcMPp0EWJPRrDRlVue3RfmW63RpYHizTWY2J1C89ZPXFj77rXyFQAnA6DTLA1XensuUTTEBFEoiq8lFX6Y8KwftLP07UCTW6XbCXvdzUHCDg8ZMCt2UcsN+AmWV4STE8GzwlQXwCOT/556ouWnM/V7GD+Mn8Nwq7eIODwoPZu8CerimsKP//SHLln7a6zz2OX+Rz2qFpzIULIgYDDwziyq26wGuLKE4Qi6V1kvuHwz16J1AWC/L7wb3d+bUDA4ZEcUdHoDTp9y2mNK4JYT4y+zc9xpaWpct5nE1FNM48OBBweylGDCHqrce08Vd7SUl6hEO3lubslXRcEuRrH+WsdPysNvzIg4PDsDWKJKk6HnH2fZ7JCDvFVW875sucPmon47UkuiEDAAckNYn1go9VZDbN9n2fwVBdwXzCI+kxzPgv9XJPjeUWYUwcCDg9UwVWyfsCJnjeVEkauASF6HUXT0KY+71UDTg/MSb1o0dUaoQYCDk9zxZ8THmb4+Mscli/qq0s8Dl/I6XlrBFxaFZYzYtQMzhkcn7V9YQQQcDitSd7vmZYSbJ28X+PRdk98zl4+rqZiNuqs1TFy/ye+isvdB88Ot8bzMwMQcHiIKm5pVRGt9XyvveZhasXVOhrXuwo1RvDFXbS0jouENRcGDdUbCDg8otEKmNyG0IyIHK1KL9XS2olHb1z6KBct9ujUQfJWjbEr8YHTCwIOj6iSuIm8VaBqKNF91QYa0thjvDr7HNr3S03YVQuVW+up+IFV2C4He6gdV+yjhHcXGFSYjVJ+IrUJzND9vYHGNjrkKsdFgp6OoXdvN1W93tjW6IX7byiEDU+xhxdPiMTstr30fDHPYVcR9uTuQfzrVLKJZ1y1XWJBa843CDg8XOMXGjSQusO3fr7Qjt2mm7EJhJeuPgi59TrJXyhZfx5AEb/Uv/3KWcCW/pbwBO9v89drRIiYIPoy//lPz2Puc3A26nttX0Tku4j8mL8G+Tn45Ivj+2oR+Xc+xqMvFr7P5+tPFd7m/B19fMN8Lr9I2qT+YX4/P/h1ARUcHkUjP7sTY/XycVkt07CbwQjVQuWXWkXoCu2slZwZZdhEvJfBcw6P+OybhQra3IelagMBh6cON1fjZ9jrWPrCxg63QeLuC+mwXNp0M/e+Ye45zJ1f1p8k6MwFil3RjUK3Lwg4PCBdCdlz13LWkowJGTuY2oTX0ffyQlWcDs6tK48197OOCmSAgMNlwi00gCR34WTf1io6lFpxD0EPqWW5m9IVjJ2UncJQakSiHcg3fjRBwAHrmCH8KY2q6cLy7ThgurN83Vq6ejOLKqcu92RWN8ntWjUhN0he95sZ9RkTyuZ1Bs95dN33IuRwOUz0xhbhNiU2pmsX122sCq8JhNAg4XtsjSe47pHH4JrYrP9rV41VYhVrAnzpfN3l/aAcsyjyo3ZX2hc/eqoIQAWHXcJNV0N7NXy6S7H2VEK6gnF1A9ZWw6n/flIBYQdRrwJk6/UrU++nubpb6wcJBR38vs1y9cUDq87gA9aiRAk6LI5oaGKD5W5VmDerSmsd4TVZAenazcBst3OTbQafTOq5Y96ffly7UKGeLdRS1rKs1IXHi/hXzAEVHJDFHr2YujJJiUbR3q1AJNwNqeeLaaP1Pb55b/b9MtcqHDEVSIzYLkkz6tJ1/l+sC5Cz3YtbWnVmq3MGAg6IDrejGtBRNYwmbGIHipgpDPYWObFrXOp5aqGJ6rWkbw4ae7FgPgdf17AeOBNa3uyon6Ettidi6S+wVBeyNfJzGa4PF01zo7LnslG1/FyuSuTnMlGv8nPZp28Rj/0mH5f0mkTkr4j3YCrBT/K25FgrIl/V95jnfVXfE6MVkf8kfA6tiPyz8HzmOM4w0KSSn8uffRf/cmrmHP8rIv+Vt2XVXudzHnqcWYrN/CyACg6IbpxCc8X2ruJcQ/vNaMotNkSNqeZ0Ay0Jx5FSeZj3vVSVxS5QfWTlb//8mK9p4f27Bv7kVsJ4MgwyQY6l5aOahQasNNfAlnvB54p9nBnBOVnhkhJuTeTrV+ocL835q63jPPpnp/O8917eD9aZIs75LeKC5C5lVoUBAYcLhFvMSLWlq/TSXIMKUqu3qcCVfp8QUnZjHbuYc8pqK/Z5GA7+2bl7znkj+QNDBlkeZVp6dRgQcHgyqYMk1oZcavWzNpxKjbxLPRbTQMe+tl1BL43SPHIKhy/czDmqpdwu3u3CeX+R7ecqgoDDA6oyw8rMUcppEEd5mw+VEhQ5gbTF5PQp8ZhjVzSpHZ9NvRBwJS4ActldhKbK3WKwS7/wM8CoSgIOcF4d5179NiuvnlMqwdRqyHQNlm74Yua+2YFsLgbuEZ/F5KnSfOF21F529oVRL9vPUQtd6FTC/TgCDohsQFMen3LfyO5uShkoMKgKYVpoBFPCMDWUUyoNPRqwjXh/9oAW3+czHhhuIsctAhAKuS3m3eGEmCaA2KvwsdBzpU7AtYff56zHaFdTJbe3yak47cbXPr+pOzGYpcLqk/3c2Ls8HLGCim93CKYOEHBAsJFYIyWoXPu99Q96rlwNvV5K68juxNL0CjNHLvLs2zyWzWCfHF2UOEon8ffV7PlhZx3ynRNu9kTlZ1lD8a7CbTj4PfnOKV2VBBywaSOYEnJ6pOPZVo5fGmXqG8XYWgH4LKP89PvqT3Y8+jOjm5KAw8WNGz536ioTN6uSO8sVeOhYfN2OlTxnBWEvkTae4Jh8Fw9M/ibgcHHTxpVFapejCbnUFT2OOv7YbsdGnqPBtSd0n6XLtfdUcYQcAYeL27rrLHUS+VlCbml1l9QtW2LmwZ2ZHRjjyX6Gffv7gYDDxau4rRvG1IbdVEa5q6yUOOal6QB9RmX8yPeF6pMf3/CAxwwCDjs05ltLbdj1va0tpjLEVJ2h+24x875cATg+8M9Js2F4mIugF8kfZDTyq0zAAUsNVyqzcofeDsXVgKW+jh1y3Y7nY+m+W2xFYbpbzf2qR56bVW10cXSfz1Gnzv1L5s8LLuIzpwAFGvOlBtweZKG75u4FGkMzBN/cvxp3CIluIcyHxHNk7iM+egNcbxBuoQuXF1k/iZyqjgoOFw633K6/pYWPu4KV4qCqpq0ngt8l3DWZew/tWauLNd2UMfdXu8Tnc/3sgAoOF+OaiN2rK95aPs55ssNtqUEfrDBa0xj28r77aostcGQhwJg4HBcqKee6cvxsmZ+dMfHCoHH8zNBtScDhYuz1+/r576aF70utYnpHo7Omq84My69UJVeyAWsCDXaoa7LJaIyp4NyVeO5yZq6u9o5f9edFFyVc7LlYbWKj0knafmwlG30drltMH7gHXrcLBNv9IuE2FqzgfCu9NJnP1RUKShBweECVfByZ5hvx6GtsckYBlu5G1PPPSo6sDO2c7Qp1M6T9SmseToUrOF+VXiV+bvaUDnYSIOBwsXDrHOE2LFRqlePvUm3RTaSvzu9SZtCJb5duV6jr+5dXus8zJlRiMWE5eJ5vkLiFAcz0goZwI+Bw3XAbEsPNt0hyTjVmN2SlwqBdCONUTcTruKrGK43SGwIXB2s/Q9cFmen+rax/M9NF9Oc+RfRIgIDDE4ZblRBuvm6/NffTtggB3VVZ4n5cE1lldI5zfBWhqiv3+W4RPQ+DvK1wMjouaMwFHFMCCDhciOvexBDxGN1wlGg0zHOMG7y/SQVU7kLGvm62zhGCVWTld6Uqrln5fLeFiyezCo7rdfqIx4OAwxOGW+q9iUb8N+vXNCCTbLPzsz1lIXcXZ1/11kd8355LiJ2B657j2oEmORWYCUbmJhJwuBj7HlovcfcmXHt9Veoqem0YbbFskq4yc7sq64jqTQLPfbUqrvNUWWt/Psx6pq28X79zUhdJrbyteUqXJAGHi3ENgoi5yrUXQx6sxr/EVfpW3Ui99f5TAyd2iSfTCE+RwXeVKq6SctMFTOVswq6Z/6sX8qY7EgTcBfkmvMY07s1CA587HNxVaW1ZxeUETr3QgNuvZaoMXVlczV6DbQgzEHD4X5jZ99BCDYSeQ1ZbjUrpwQR7vHfd2MYOOMldoNcsQ3bVFTOGhYsEgIBDMfYowqVVR+xqr4po4M8ccHYopww4qSLCPeY1r2Sygr3hVxAEHLZyD1Q0LqFuvNHz/7Wce96XXcXF3HusA+8d8VVcJdeaEwgCDjtWb01CZeEaiFF7Gi67ETtzV5T9vu8ZjS4j8/LRTQkCDptXb2s2kZwcf54Cr3U2fWIlWxFw2aqFPwMEHFY3MksjICVQ1QwRITcsVH9nMjiquNjjncS9awANd9zPHffhQMChqCaikfZVNK65aVVEVXP2Ki7leHW32uh4XEfDHfVzZ59LgIBD8YZmXPheX/U2BhoqOwgfoYrLOV578nKrLgqo4uKqNc4TCDgUUwca6Zhqz8VV8XSOP5+1MZsyq87RczFQUcV9CLGacAMBh60bmtTdj2OqF1fFMzgqnDMvUTU4wv2+cE6mwIUDVZy/JyB0wQUQcChSvZUMhM7R+Lu2j3k5ccBNK0LKNUKQKs7dEwAQcNikgiv1+NFRodmbpfaeyujlpNWNa73E0EXB6KnmdEDyMxc+h1S5IOCwWQVXJVRpS5PDXSHXeq7ohxNe2a/ZfXr0PPbqDXjDOQABhzOFXijgmohAGNX3TZ6Qq+ZK7kyDT1yhHdutO2Sc36sEHEDA4RChKsO1APPdatR9DbsJL5mfw9ddd58D8Szzx3JXJrnyQsqhn63ac64AAg6HV3GtfFyZ5G79uwTCy9xv6yO/d5RjVwNxTWSP1TvC8sqh5+ue5EIABBx2bYhkIeR0w6+rrWkhuBoVWmbn5aWr/m5+zMsBYWePpqwTH9sHAo+fq4+VLtUcCDgUMWYGnCvE9L2zPuKqvFMVWh15Fd8cFHZrKoxWheSVKxXfNAmqNxBw2MSU2BjZDZO9f5oeMRmzU7Wp5lr1lVINmLDbuhszdt+yOhByV58i0ATObRVx0QUQcChSwYUaJLOAsKnUek/ITfNzxHQ53VWI3ObnTOmqsrsxmx3PU0yXJQNOwt2T9cIFF0DAIauCmxIaJBMkd3kbWNI6Khw75GIad/PcnVX1pDZ6ZuJ4ycnjdkDVgfeA+B6BznHeCDkQcNi8OnE1Srqh1wNL7CCyQ+4m8QMsKlUl1vNz51R1ejBLqZAjyMpXb/qCge5JEHAoakhsmHrrCtyEWOsIKvueXMp9KBN0psvRBOpN0rr7dFW4xYUAlrWenztT4VdUbyDgsFXApXRT6u/Xe54NESHXS/yISU1P/pY55GqJ78I0QVnqQqD2VHI00O6fodDcNwaYgIDDZqZAhbN078SER6MCrF8IudQuS7uxNFMLGhWYbeRju5XnabIa5YkqL+q8u87l4Ph3pgyAgENx/YoqzgSe7or0Lbqsn6vNrObM83Ui8n/zf4fI59KDY3KMgb+bqOCSL5D00l2cPxBw2EybeQXuashcXYdmMWV7B4KbpN9Xs0MrZS7dmo1HzXuqHVUH1Zv7ZyfUPVmrf+f8gYDDZgbxr/K/1E1pB2RouS7XPLWhYNDJ/DxrJrGHzpF+Hv13VB9xF0e6t+DuObcAAYfiXPfQcqu4ITHkSgWdmacXGoCSu6rIaIWbOQ+1sFJJ7IXE4Pl3LhBAwGFzrSPkmoiKxm74TWAOgSCqAs+bOlLSPt67pA+eieHqpqRxjruI0LspLG2WCxBw2CXkYhfKrT3PNXlCZpDw/TCz/1wtbyMvYxtCPbLTF3I54fbo94r22lV8aQ5l66iMAQIOu4VcG1HFLa3wEbofV0n80H3T5akru5gdC3zz/NauV/loq5mYuYCmijK7MWz1WqFq3h58QvUGAg670/u13R2hUFsNVR0IpyFwpZ8aNpM6tqXpAb4QrTPPybTy8Ucwu6k3qoIz8wK7DV7PtcSbPXdS/xsBBwIOhzBzzCZ5W8T4Lv6urioQlqEr/lxmqkFomkNotZZUj9Sd5pqaEVNtrX3NxtEbMHkuaEp+NgABh6wQMUGh92HrIsMtpopb28j2KojtSs23WkvufTiRx+ii7CKr45LVaOv482Adk/1zARBwODzkYobv1wshJ4GQKxXE9n3BSj6u1pIbUOMGoXBkuJWsSiurGrenndjVIt2TIOBwKmvmqE0bB5wv5EzleZXReo18nERtRsaaSnpS/1aqi7Czws3e8b0LfD+wq8+cAgRCLmfn7LU7Y6eG3KAquJeCzz2p5z3j/SP7nqZvekXJ49f31lyT/DvHeaR6AxUcTik0vy1XyftaoekJz66OvLAoFW66OjNd2XbgNo7AY3AJCDicUukA2WLQxiB52/LEhPvtpA30XhO57bCqVCVnV3ZUbyDg8HC2CpA9Ks1p5ft+pAZ6ywExuqvaPtdm/z6hegMBh0f0CI1VG6hCn7GynhxV1NbhZl/s+DaYnR7goggEHPC/Bit2NFzJSkKvxLE0JP7RKq4SlbV9rkpP5tbhZndXm8+mSrjYAAg4PESDuiWz75tZUcV8vUh4ZOeVAs41Ab8rfP4bTxVvuiUrLjRAwOFZqrhhgyrNrkJGCW+z04h/EWG7YR2f/PPoPRXv2qrNtRJJr8LvJXBMVG8g4PCwjeqWVZtdFZhGfPJUMPdACF+lipsc5zE15Ez1N3qq41a9Xpd4PAABh4ewVUXkapRbedsypxb3oAXXfbkrBZyvYroHwspVDY/iXwzbTJVY2nrnEUbb4mJYyQR7h6C9WLJ978i1DJcJPNfiz534d96uL3C+zYoirntyem84e2h/zKCUXt7uhTYZQQsQcHg4Sw3jJPEj+mpHYInVAJtdts1uAnfrWBpVuV1x52jXebHDLKUqNKE4yvKO7Obig65JEHB4aLX6r2+Nw6WGToeRKyy7QMPbzI2pXX3o55ysgD3rWpKlmQoqd9+9QVVs5ny9RFZ5jJrEKXEPDrkVXO6WOVXC99qPaz1VWpV5nM8YcildhaZrsZa3HSSmhMpvELomQcDhSehgWRpwEKrgGquRja2wzBqMKV1u1cU+I9Nd2Qcq7GEONN/3xcyp474bTo8uSuQyQTV4Ai50H+4uH3eAjh3a3noaW5/6gp+NDh9dxY4R5+s+P7aK+Py574ZT+6X+7VfOAmJ9FZHv6s9fROSfhUbQFzqvIvJj/vMPEfkWEUaf5u/5Yv39f1RjW4nIn+p7viZWic/mVb3/1/nLV+n+PYfbl4XnvKnPDjgtuiiRwjfc3KWX8Lwoe6J2zEg81zYx9uTu2voeM1w+Z/PWq/DNm5s8FTSDSkDA4SmNjqDyWWoMTdekGemY0+3VORprXzV5tvtxzcHha17ftZebuUc3JVy0AKdCFyVSvcrHbsqvgSD7d24sfd1e3+Rtd+j/zg3q98hj6eVn96QOt9ZTed7m5z8LE+71/PV9Po+j+LsRt3p9+5yaz+Pv+fMxf8+gEjyUT7c/fucsIKeKs6uhWyDkKombMDyoyiIm3FpHNWJXImfrUjMjFEM7Itw2rtpci1nrc2Uvnbb1MQFUcDiVxlGJDZ7qwwx0+CbhAQy1xI16bK3KzRVug/wcbFJqMEQlbwNh1gxY+TsQbtN8zFtUcGYQyV+Oz8BUbWbNyZZwwzPgHhxyuFavWKrSBlk/tNw0tvo+kGv7Ft1grw1xsxixWZOxk/x7eUv32rZa8uquzr99Ps2C1marosZR1QEEHC6l9VQJoQCYJDwJ2fcYE2y6G9S8lmuAxNpGuZH3iwzbozLbzOdcCrfSXamVJ5TNOTIXAZ24typirhseGhO9kcs0kp2jIV+q1sxE4lreT0S2F1fW/7Vfwxeka3e1XgppUaGX0vgvrcZfenSi7xz18rZvm+9+IOEGAg6X13tCxXRXhqqSnMnXjfzsbguFxdqVS2JW8TChnHL848Lz3QuGnG8zWP15+DZGJdzwNOiiRImQ83VXrr1npRv/2Plia+eTxSwwXEt6d+JSYLhCKefYXZuX9uqY9edCuOGpMU0ApYS6Dc19tC6y8TQLKjfycWWSNaEb8x5eAsG2dmuYUeKmSqQONjH3Be8LxxxaZ5JwAwEHLDS0nSzfb3LdVzONbk6glQq5refSNQkVrb3xqK4C9f1L1+AVM3CkXwjANaEKEHC4bDW3dK9sD6kh56vgblJuhONS2IQCz74Y8L1nXSkvhSorlICAAzKDznzFVmWTqlpcVV7MRpxaK2mDN3z3+UqG3BYXAXYVFhOkqecGIOAAT+ViTwswQlMCSoRDiZDb6h5Vo95PbrDZ9wZjukJLBzZAwAEHVUEpIVeJe1j/lgMxKqvizQm2mKqN+20g4IAHErsLdUrVEpontvUCzqbKbdSfJ1XtDo6AijkH3G8DAQc8oNjBGykhF5p3d5b7V7EjV9moFJfDRG88C3t9xZzQcoWYTyfrlwUrEWzjwvvRk7wBAg54YGYdzL5AyC0t3HyPCJjSGhVsS/faaqFLEhfGfnB4Rq/ytjedL3y+y8+94pYGW/yQnzttf/P8+xfZfjfuan6Nv+avbwuh/Kf83C/vlR8FXBn34PDsQstvicTfS4sZxJG6JFko0Mwgkyqh2uyEeW0AAYfLhVyJ1TzMQJaYieuDCjxjlI9zAO0lylKXKiuxRiZAwAEPLGbH8ZT5YTqY1u6YkEqvU0mwAQQcsBhyud18KYsoE2rAThhkgisxg09qcW+M+mUOqz/V98cM1Jjm5/tWOND+FZH/ys8BI2YeGyuQAFRwQFDsBqNmjcxB/Otl+lY9GTzPZ4yOvx8d3weAgAOS5HYt2kG3tNEoAAIO2F3u/mziqdgINuAkWMkEV2dWK8ldzmqaQ+0mbEEDnMpnTgHwv6C6yftta1xz0nT3JCMagROjixIIqzxhCIAKDnj4yg7AA+IeHACAgAMAgIADAICAAwCAgAMAgIADABBwAAAQcAAAEHAAABBwAAAQcAAAEHAAAAIOAAACDgAAAg4AAAIOAAACDgAAAg4AQMABAEDAAQBAwAEAQMABAEDAAQAIOAAACDgAAAg4AAAIOAAACDgAAAg4AAABBwAAAQcAwGl95hQASFSp/584HSDg8CjuIlJHfN+o/j/0/cP8FdLMrztlPl4/TxPxfUvPedQ5aBJes57/f1L/3TLQ9PFNnuMaEo+jEpF25ecV8xyjiPT8ahNwgGmkTOi4/r23GvdhbnBDj1lqgIa5oao8YRPTcI5WYNr6+XXGyHNw94SO7xw087HeA0GYe+z2a5rPqLP+fSj4s2DCw1x8dI4Qq9R7bud/7yI/r0mdN9d7vkWcO3NcjePnRx8zLujT7Y/fOQvw6ayGZ4qobHSjaEKlTXjNF0eoxLyu6ziG+b+TanxT2cczzA3v0mt36nGp5yDlvOv3GXt8sZW8Ds82IrSa+XyZ9xwbdLk/a6HXL3Ue8MAYZIKYqiKlEjFh0qsGOMXNEUSVamxjTeoxa67iB8fzxrz2bcVrppz3yTo3upFfc2HTWZ/nFHmubiogB4nrdhVHGFaeqi7ms5oINxBwSJVyf6WV/PtCraeiaBKfx3SnHdVFdZtfv9r4dexuwyYjHHyVVOrnOKjPLyWkJsdFTJt47nS1DhBwSJLaUHeS3s0kgVDqEo9hkvSBD6V1O7zG5KjymoznsYMxZYCP1lvVVMrj7CouJazqFccMAg5IrizGjGA095V6x9+nBsZ4gnNwRHXdZF6Q2IGz9/vuHJV77PtodrqgAAEHyLSykWw9DXdKI1af4Bw8QkVhB8na4859bO/4zGOquEa2ny4BAg740NCtaXRK3Y870iPMwWoLV76TuLtOc44lpoprhK5JEHDYSOxE5ZyAdIVc6v24vaqgo4K38gRM7GOrQhVYiZB03UfrqN5AwOHIgNsqcFwTmHPux+1xDo5SrwioxlOBHVm99wkXUFRvIOCweeO+5RW0737c/STvv5Lj7vfZFxeTrL9PWWJwzpqVVVxV3N1z3qneQMBhM3t0F/rmN3VyjvtxR3aZdhEXA0vhbJ/rMwRGTBWXu0INCDgg2CiaVTP2qqJcUweODBd9DpqDXv9F3i/TVWc0+PVJf8aW7sVVKpCBD1hsGakNYWc17ntr5WOXnLkft8fyTM1B56AJVDNbLLR8Fq287y41q6OY9T2Z9wYCDkWM8n4ZJrOK/N5B18rH9RYb1fBtXVUcdQ7065nKxTfK9FmYuZSu5cO49wYCDps1PKaB3buLbvBcvbu2c3mWczBY/9+pasZsFXNEBWcqyZhtbdasbnJ3VOwNv4YI4R4cSrgdcCXt65I7qpuu3fEc2FVbtTJgR0elWCU+1nRfu75iAjCminP9PUDAYZdGd++BHq5QOWp+XO6qHWvOt2sARpV57LY64bHt/HXz/HuJCyBGSoKAw6EBt/cVtW/qwFErivQ7h5xrMeqc+3GuY64yfwaGiOeWQscIEHA4rKJY01imvG5o6sDeVdW04zlwvd4947Vcn9vZ7m/V/IqBgMPZ5FYVKVwDLExX5RkaxmbDc1AinFz3uLZceo0KDgQcnkK9U0PZehr6MzTSW1ewMediSfcAVRxAwOFUcteoTK28JjnvfLAtg8I1FyxnArqriitxPhnpCAIOT8nM08oJt5xQOONqHiZstupi843ezDl/dlfv2hGpJSehcw8OBBxOpVVVRmoo5C6Dted8tBhdRiWTevy++3BV5vnTz5c7IrWXskuncQ8OBByKqldcRXeZ1ZselJJTPZTuqmwcxxf7PnInXw+JQd1LmW5Kc/5u8r67MnbVEPOavZTvLi41nw4X8kv926+cBbgaqu8i8pf1919E5Ot8Nf0aeNw/VoPYRzRM5rHD/Drm9f5Uj31NaAy/isi3+f//yTwHf83HZIe87xxU82u2IvK3dUHwT2Lj/EPedgeoJW6NTdeCzK/qKzVkf8yfwbf5PITe9/f5ffci8p+Nfi7NfcKv8rZrwiu/rvD5dPvjd84CtNguqckTCi5L1UjMxqVmE8+UkOjU65c+B6nz3dZ0nZp7eFPmcZv7dP2K19e7F7iOZc3zb3lOQMABQHRlW6tQE0IGZ/X54r+oj4xGBUf93F39Z696ss+TgHtCusvlEfmWqAKwrfaJQu5so46LoosSAPCUmCYAACDgAAB4FJ85BYCIfBwdOF3w/WsMYgIBBzgaypjBO6G902KXmVq7yapZNaWS92s6NurvQvvcxTz/tOE5nGTd2pt61Rjz3msV9qN6/1PB405xxEa6IOCAIN8o1ZjRn6NqLEPPkdvwmUWEG/Evi2Ua/xf1ejlh8pLxWDMU3zcBfirQ8DfzORgd779S/95Y53yIOG594RD7+TeeCxuW50I2RlFiS/ZajIOkL8A7Wo1eznNod3lb4SRmzUT9/a2kT80wx99L+kosdhiXeP8mTF7mY6kXXntQ5z/l/duPjT12E6zVinMOiAiDTLCtaeHPsQFhVwC5OhVWsVu59KqB1Y9PPf67o8GPPYet+v+14aa3wBkjXlvv55e6I8KQ8dkNkr+HIEDAYTfjwp/3CkkTMLq7L2V9Sl153SV/j7RK8vY1W3sv0K6QqoRzOcm6PeFyL4zM58M+cCDgcEolGqcSK0Y0ViOdev/ObuRz90hb2+gPhT+T2HNr7vftuSdbqUAHAQc8tW7hzymNvH6OPZdrGjd4ntjRqnuHm74QqfjxBQEHuN3l40CHnG5Ou5HXQ+wfyZQZ9kdUUyNVHAg4wK9daOBTqzjJqIDOxA54M6Jy6X30sv/AD7PBKUDAAREBtKYicM2VO/OOFPc5vOx7hq3jPA0Hv5dHvFgAAQcc2mja1txLci3h1TzAOehU0JmQ7x1h/SIf5y7uGcYAAQdEKr2+ouvxZx7GbleresK4bwK16bLccxBNJUwHAAEHrG4014bc6Hids3atuaYW6EquFf9SWGZi+h7VXCd0T4KAwwWtXUz56lzrbJouS3PvrRb/epw6ELe4CDmqSxQXwGLL2FOz02P2Vst5l5Yyq4K8OM6rXmy6V/9/dwSiyPoRjY06X5UQbCDg8GTVmKkYlgZ7mO9ZM7pu2qmKG09+3s0ix66uQBNynbwtPj04vreT9TsY6CXHzEUBg0tAwOEpmFGIsWsgyooGdauK6lEHQ5hQucvHrWz0jgUm4Ezw2SF3K/D522HHPThsgntwOLs1Dd8eA0JiA/ss+jm8fCMoTdjYOwmYcC99/mJ3dQAIOGChiltTgbkCcnjQ89LO52LwhJz5vs56/1tUsCysDAIOyGg4S1aEdeRrPFLQ3RzVnN5Jfe19tzWfFUDAAYFGcypYwTWOgEhtmEt2uZbimvR9V+9R35vbyhFrXYKAAx5auxBSawIuZiX+Uo12bjBXCedpsN6r3hi1n6u9vSutRhhpCQIO8FZxg9Xg587Hq6zgipkXNhYIKnPvLycsU/a+6wtWu6UwuhIEHB7CUQ2mXcXlVATNwnOGAnZtg92sqARTRj6ecT4fk8FBwOEh5DSgJbr4zGAK3WimNJx2N1nK/Sj7Pl3OxPXc+1+VrFsx5OjAq1aGOwg44FSBthV7vlXK5GI73FKXrLK/P6XbsPNUgqkBGfNeayuYjw6W7sSVJQg4XFy98OfYq/jQn1ODxqyeX8nHlTpcXlQVcZO89Rjt/deaiJDTCx23K89/FRmqTWYIx352KZ8/izBjtV/q337lLGALrkb869zYvyY8x1+ORnJNdWG6DD/Nz2+6Ll+t4zJLVX2TtzUaf6ysIL/Ozyfzf7+JyJf5783fmffcydsq//+sCDjzGub///Wcf/159SLyn5WfvyuYv83ncAoE4vf5/X6zLkxe+ZVCqk+3P37nLKB0sC3d4xokvHpF7HN0sn47nUbe3+cZ5W1ghjnGqfD5ucvy4A/Tpbr2tc17rOXt/p/9vsw5GOVtV4G157NeeG+u0aWulVJGWbf+JQg4oKhq4SpdFhrupe+JeY7c497ieX2v5Qq5Sd4vSrzH65Z8zZTP11dhAwQcAAA+DDIBABBwAAAQcAAAEHAAABBwAAAQcAAAAg4AAAIOAAACDgAAAg4AAAIOAAACDgBAwAEAQMABAEDAAQBAwAEAQMABAEDAAQAIOAAACDgAAAg4AAAIOAAACDgAwMV9vvB7r0Skdvz9EPm4cf7zlPBao/o78+dp4XGxr5HzvscNnn/Pz+0Rjz/1fa59j6XO11nPexVxHPpc6t/5MeKxTWSbsMfvsf0+xsh2hAruouE2Or6W6Eannn8BUh6T8stlfsGqFf+u33OjXlu/h9jHpfzb1lI/g9B7qCLOQZX5c5Z7fuyfmSbjuRrr5zzlfMU8z96/s1XkRerSz03s73rMZxh7DEu/p1Xiz8SY0I7k/vxSwT24aeXjJvWDO230WoP6BVp7FT8UPK4jjZmfwSP/fE4q5IaIxzaexm9Sjfba5znDReqQ8TOT8/vXJLxW7u/x0s8wlRoV3CGN7dZXs8PK16gTrlgf9TO4giHyar9ZaAynQs+zt9qqKIedXjP2vMf8nDYrLoJrAQF3wC/dHg3s0i/HUtfHtPK1S1alW3wGV7myjf1ZWzofsRdN08nee2OF/Z4XF/XKkJvm52kWflevfiFXzNW7KKvMX+jKuqKaNnwt/b25XSVrfzHqk11R1uq/1QGN3ZFMV+WU2Uiu+d04WrMicOvM37/R+v+1F1Nrfo9rzwU13ZZUcJs1sns2rqW6Sp6pmpmErpu9LwpzBryUCvdBhd0Rrz8WeO01v8dUcVRwST+wuY9LHdxQ6ipLd3HEPufaq87QfZgjwuUqg0x8ATNGVAglfjfqwPmvDzjno/U7kPL6ufcS7d+dNRVY6Pc45lYHg0yo4HZvaI9o4FMGncQOKIipVs8q9nw8Q+Ube7ESO4Ak9XkmVcmc4TOvDnrtEj9Puv0Yn+D3kICjAiwars0DNAZ7iGmsfRcj9caf9bjz+4z5vGN7AM7+c3PUBaY+N2sGmdldnlRnhX3mFBT5JYtdTaFkwzllNHqNfJyorq9IH6mKsf8/Zh5ibZ2v2FUgQg1Z7tDunMFMKV1Urs875zMPPc/RVZz+HRg2+hzGhXNzL/h73K+ozLf8OXxYn25//E5Eba/asApMvQ9SPcEP+Jr3kPvY3Ial1OOmA87Vo/zcHHGBaT/vdOB7kAPfPwEHAMDeuAcHACDgAAAg4AAAIOAAACDgAAAg4AAABBwAAAQcAAAEHAAABBwAAAQcAAAEHACAgAMAgIADAICAAwCAgAMAgIADAICAAwAQcAAAEHAAABBwAAAQcAAAEHAAAAIOAAACDgAAAg4AAAIOAAACDgAAAg4AQMABAEDAAQBAwAEAQMABAEDAAQBAwAEACDgAAAg4AAAIOAAACDgAAAg4AAAIOAAAAQcAAAEHAAABBwAAAQcAAAEHACDgAAAg4AAAIOAAACDgAAAg4AAAIOAAAAQcAAAEHAAABBwAAAQcAAAEHAAABBwAgIADAICAAwCAgAMAgIADAICAAwCAgAMAEHAAABBwAAAQcAAAEHAAABBwAAACDgAAAg4AAAIOAAACDgAAAg4AAAIOAEDAAQBAwAEAQMABAEDAAQBAwAEAQMABAAg4AAAIOAAACDgAAAg4AAAIOAAACDgAAAEHAAABBwAAAQcAAAEHAAABBwAg4AAAIOAAACDgAAAg4AAAIOAAACDgAAAEHAAABBwAAAQcAAAEHAAABBwAAAQcAICAAwCAgAMAgIADAICAAwCAgAMAEHAAABBwAAAQcAAAEHAAABBwAAAQcAAAAg4AAAIOAAACDgAAAg4AAAIOAAACDgBAwAEAQMABAEDAAQBAwAEAQMABAEDAAQAIOAAACDgAAAg4AAAIOAAACDgAAAEHAAABBwAAAQcAAAEHAAABBwAAAQcAIOAAACDgAAAg4AAAIOAAACDgAAAg4AAABBwAAAQcAAAEHAAABBwAAAQcAAAi8v8BFXvu0c4CZpkAAAAASUVORK5CYII=");
  --logo-head-uri: url("data:image/png;base64,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");
    --bg: #ebe2d4;
    --bg-card: #f4eddf;
    --text: #2a2520;
    --text-muted: #8b7d6b;
    --accent: #8b6f4e;
    --male: #d6c8b3;
    --male-deep: #c4b297;
    --female: #f6f0e3;
    --female-deep: #ece4d0;
    --subject: #c8a878;
    --subject-deep: #b8945e;
    --virtual: #d4a896;
    --virtual-deep: #c08878;
    --border: #8b7d6b;
    --border-soft: #b8aa92;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  .eh-app {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg);
    color: var(--text);
    padding: clamp(28px,4vw,56px) 20px clamp(56px,7vw,96px);
  }
  .container { max-width: 980px; margin: 0 auto; }
  /* Expand breaks the pedigree out of the reading column to full width */
  #pedigree-output.expanded {
    width: calc(var(--vw, 100vw) - 32px);
    margin-left: calc(var(--vw, 100vw) / -2 + 50% + 16px);
  }
  .eh-app header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .eh-app h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.5px;
    color: var(--text);
  }
  .eh-app h1 .accent { font-style: italic; color: var(--accent); }
  .header-actions { display: flex; gap: 8px; flex-wrap: wrap; }
  .btn {
    padding: 10px 16px;
    border: 1px solid var(--text);
    background: var(--bg-card);
    color: var(--text);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.15s;
    font-family: inherit;
    letter-spacing: 1px;
    text-transform: uppercase;
  }
  .btn:hover { background: var(--text); color: var(--bg); }
  .btn-primary { background: var(--text); color: var(--bg); }
  .btn-primary:hover { background: #443c33; }
  .btn:disabled { opacity: 0.35; cursor: not-allowed; }

  .controls {
    background: var(--bg-card);
    padding: 22px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(42,37,32,0.06);
    margin-bottom: 24px;
  }
  .mode-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-soft);
  }
  .mode-tab {
    padding: 10px 18px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    font-family: inherit;
    letter-spacing: 1.5px;
    text-transform: uppercase;
  }
  .mode-tab.active { color: var(--text); border-bottom-color: var(--text); }

  .input-row { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
  .input-group { flex: 1; min-width: 200px; position: relative; }
  .input-group label {
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: var(--text-muted);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
  }
  .input-group input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    background: var(--bg);
    color: var(--text);
  }
  .input-group input:focus {
    outline: none;
    border-color: var(--text);
  }

  .suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 240px;
    overflow-y: auto;
    z-index: 100;
    display: none;
    box-shadow: 0 4px 12px rgba(42,37,32,0.1);
  }
  .suggestions.show { display: block; }
  .suggestion-item {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 13px;
    border-bottom: 1px solid rgba(139,125,107,0.15);
    color: var(--text);
  }
  .suggestion-item:last-child { border-bottom: none; }
  .suggestion-item:hover { background: var(--bg); }
  .suggestion-item .meta {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
  }

  .status {
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 13px;
    margin-top: 12px;
  }
  .status-info { background: rgba(139,111,78,0.15); color: var(--accent); }
  .status-warn { background: rgba(200,168,120,0.25); color: #6b5028; }
  .status-error { background: rgba(192,120,112,0.2); color: #8a3a2a; }

  #pedigree-output {
    background: var(--bg-card);
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 1px 4px rgba(42,37,32,0.06);
    overflow-x: auto;
    min-height: 200px;
  }
  .empty-state {
    text-align: center;
    color: var(--text-muted);
    padding: 60px 20px;
    font-size: 14px;
    font-family: 'Lora', serif;
    font-style: italic;
  }

  /* === Pedigree container with watermark === */
  .pedigree-wrap {
    position: relative;
    background: var(--bg-card);
    padding: 32px 36px;
    border-radius: 4px;
    overflow: hidden;
    width: max-content;
    min-width: 100%;
  }
  .pedigree-watermark {
    position: absolute;
    inset: 0;
    background-image: var(--logo-uri);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 55% auto;
    opacity: 0.08;
    pointer-events: none;
    z-index: 1;
  }
  .pedigree {
    position: relative;
    z-index: 2;
    display: flex;
    font-family: 'Lora', Georgia, "Times New Roman", serif;
    min-width: 1400px;
    gap: 4px;
  }
  .pedigree .gen {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 4px;
  }
  .pedigree .gen-1 { flex: 1.3; }
  .pedigree .gen-header {
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--text-muted);
    padding: 6px 4px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border);
    font-weight: 500;
  }
  .pedigree .cell {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px 10px;
    border: 2px solid var(--border);
    border-radius: 3px;
    font-size: 13px;
    line-height: 1.3;
    word-break: break-word;
    min-height: 40px;
    font-weight: 500;
    position: relative;
    color: var(--text);
    box-shadow: 0 2px 6px rgba(42,37,32,0.1), inset 0 1px 0 rgba(255,255,255,0.4);
    text-shadow: 0 1px 1px rgba(255,255,255,0.5);
  }
  .pedigree .cell::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 7px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    line-height: 1;
  }
  .pedigree .male::before {
    content: '\2642';
    color: #6b7d8d;
  }
  .pedigree .female::before {
    content: '\2640';
    color: #b87a8a;
  }
  .pedigree .male {
    background: linear-gradient(180deg, #d6c8b3 0%, #c8b89e 100%);
  }
  .pedigree .female {
    background: linear-gradient(180deg, #f6f0e3 0%, #ece4d0 100%);
  }
  .pedigree .subject {
    background: linear-gradient(180deg, #d4b888 0%, #c4a06a 100%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: 18px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.6);
    letter-spacing: 0.3px;
  }
  .pedigree .virtual {
    background: linear-gradient(180deg, #e0b8a8 0%, #d09e8a 100%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: 18px;
    font-style: italic;
  }
  .pedigree .subject,
  .pedigree .virtual {
    overflow: hidden;
  }
  .pedigree .subject::after,
  .pedigree .virtual::after {
    content: '';
    position: absolute;
    top: 7px;
    right: 7px;
    width: 46px;
    height: 58px;
    background-image: var(--logo-head-uri);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.55;
    pointer-events: none;
  }
  /* Drop cap on subject / planned litter cell — split-span approach for clean baseline alignment */
  .pedigree .dropcap-target {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    line-height: 1;
    padding: 0 4px;
    max-width: 100%;
  }
  .pedigree .dropcap-letter {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.4em;
    font-weight: 700;
    color: var(--accent);
    line-height: 1;
    margin-right: 0;
    letter-spacing: 0;
  }
  .pedigree .dropcap-rest {
    font-family: inherit;
    font-size: 1em;
    font-weight: inherit;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .pedigree .unknown {
    color: var(--text-muted);
    font-style: italic;
    background: rgba(244,237,223,0.5);
    text-shadow: none;
    font-weight: 400;
    box-shadow: 0 1px 3px rgba(42,37,32,0.05);
  }
  .pedigree .unknown::before { opacity: 0.3; }

  /* Line-breeding warm pastels */
  .lb-1 { background: linear-gradient(180deg, #e4c8c8 0%, #d4b0b0 100%) !important; } /* dusty rose */
  .lb-2 { background: linear-gradient(180deg, #c8d4c0 0%, #b0c0a8 100%) !important; } /* sage */
  .lb-3 { background: linear-gradient(180deg, #d0c8dc 0%, #b8b0c8 100%) !important; } /* soft lavender */
  .lb-4 { background: linear-gradient(180deg, #e8d4a8 0%, #d4bc88 100%) !important; } /* honey */
  .lb-5 { background: linear-gradient(180deg, #e8d0bc 0%, #d4b598 100%) !important; } /* peach */
  .lb-6 { background: linear-gradient(180deg, #d8c0d0 0%, #c0a8b8 100%) !important; } /* mauve */
  .lb-7 { background: linear-gradient(180deg, #d0d0b0 0%, #b8b898 100%) !important; } /* olive */
  .lb-8 { background: linear-gradient(180deg, #e0c4b4 0%, #ccac9c 100%) !important; } /* blush */

  /* Legend (included in PNG export) */
  .lb-legend {
    position: relative;
    z-index: 2;
    margin-top: 18px;
    padding: 14px 18px;
    background: rgba(244,237,223,0.7);
    border: 1px solid var(--border-soft);
    border-radius: 4px;
    font-family: 'Lora', serif;
    font-size: 12px;
  }
  .lb-legend h3 {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--text-muted);
    margin-bottom: 10px;
    font-weight: 600;
  }
  .lb-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 5px 0;
  }
  .lb-swatch {
    width: 22px;
    height: 22px;
    border-radius: 3px;
    border: 1px solid var(--border-soft);
    flex-shrink: 0;
  }
  .lb-name { font-weight: 500; color: var(--text); flex: 1; }
  .lb-count { color: var(--text-muted); font-size: 11px; font-family: 'Inter', sans-serif; }

  .info-bar {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--text);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-family: 'Inter', sans-serif;
  }
  .info-bar strong { font-family: 'Cormorant Garamond', serif; font-size: 15px; color: var(--text); }

  /* === Drill-in clickable cells === */
  .pedigree .cell:not(.subject):not(.virtual):not(.unknown) {
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
  }
  .pedigree .cell:not(.subject):not(.virtual):not(.unknown):hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(42,37,32,0.15), inset 0 1px 0 rgba(255,255,255,0.5);
  }

  /* === Offspring list under the pedigree === */
  .offspring-panel {
    margin-top: 14px;
    padding: 12px 14px;
    background: rgba(244,237,223,0.6);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--text-muted);
  }
  .offspring-panel h3 {
    margin: 0 0 8px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
  }
  .offspring-panel .off-list { display: flex; flex-wrap: wrap; gap: 8px; }
  .offspring-panel button {
    background: none;
    border: 1px solid var(--border-soft);
    border-radius: 3px;
    padding: 5px 10px;
    font-size: 11px;
    font-family: inherit;
    color: var(--text);
    cursor: pointer;
    text-align: left;
  }
  .offspring-panel button:hover { background: var(--text); color: var(--bg); }
  .offspring-panel button small { display: block; opacity: 0.7; font-size: 10px; }

  /* === Breadcrumb / drill-in history === */
  .breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 10px 14px;
    background: rgba(244,237,223,0.6);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--text-muted);
    flex-wrap: wrap;
  }
  .breadcrumb button {
    background: none;
    border: 1px solid var(--border-soft);
    border-radius: 3px;
    padding: 4px 10px;
    font-size: 11px;
    font-family: inherit;
    color: var(--text);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .breadcrumb button:hover { background: var(--text); color: var(--bg); }
  .breadcrumb .crumb-current {
    color: var(--text);
    font-family: 'Cormorant Garamond', serif;
    font-size: 14px;
    font-style: italic;
  }

  /* === View controls (above pedigree) === */
  .view-controls {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    align-items: center;
    flex-wrap: wrap;
  }
  .view-controls .vc-label {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-right: 4px;
  }
  .view-controls button {
    padding: 6px 12px;
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    border-radius: 3px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: var(--text);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.8px;
  }
  .view-controls button.active {
    background: var(--text);
    color: var(--bg);
    border-color: var(--text);
  }

  /* === Scroll snap on the pedigree scroller (mobile-focused) === */
  #pedigree-output {
    scroll-snap-type: x proximity;
    scroll-padding-left: 18px;
    -webkit-overflow-scrolling: touch;
  }
  .pedigree .gen {
    scroll-snap-align: start;
  }

  /* Type scales down through the generations so the tree stays a wide
     rectangle instead of a tall column. */
  .pedigree .gen-3 .cell { font-size: 12px; line-height: 1.25; }
  .pedigree .gen-4 .cell { font-size: 11px; line-height: 1.2; }
  .pedigree .gen-5 .cell { font-size: 10.5px; line-height: 1.18; padding: 6px 7px; }
  .pedigree .gen-4 .cell { padding: 8px 8px; }

  /* Fewer generations means a narrower tree, so it can be read at full size */
  .pedigree.gens-5 { min-width: 1400px; }
  .pedigree.gens-4 { min-width: 1080px; }
  .pedigree.gens-3 { min-width: 760px; }
  .gen-select {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--text-muted);
  }
  .gen-select select {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    padding: 5px 8px;
    color: var(--text);
    background: var(--panel, #f4eddf);
    border: 1px solid var(--border);
    border-radius: 4px;
    cursor: pointer;
  }

  /* === Collapsed search (shared links land straight on the pedigree) === */
  #search-reopen {
    display: none;
    width: 100%;
    padding: 11px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--text-muted);
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
  }
  #search-reopen:hover { color: var(--text); }
  #controls.collapsed #search-reopen { display: block; }
  #controls.collapsed .mode-tabs,
  #controls.collapsed .mode-panel { display: none !important; }

  /* === Dead end (no recorded parents) === */
  .dead-end {
    text-align: center;
    padding: 54px 28px 60px;
    max-width: 480px;
    margin: 0 auto;
  }
  .dead-end-mark {
    width: 62px; height: 78px;
    margin: 0 auto 20px;
    background: var(--logo-head-uri) center/contain no-repeat;
    opacity: 0.28;
  }
  .dead-end h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0.01em;
    margin: 0 0 12px;
    color: var(--text);
  }
  .dead-end p {
    font-family: 'Lora', Georgia, serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-muted);
    margin: 0 0 10px;
  }
  .dead-end .dead-end-sub { font-size: 12.5px; opacity: 0.8; }

  /* === Turn your phone sideways === */
  #rotate-hint {
    display: none;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--panel, #f4eddf);
    border: 1px solid var(--border);
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--text-muted);
  }
  #rotate-hint.on { display: flex; }
  #rotate-hint .rh-x {
    margin-left: auto;
    flex: 0 0 auto;
    width: 26px; height: 26px;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px;
    color: var(--text-muted);
    background: none;
    border: 1px solid var(--border);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
  }

  /* === Dog photos in cells === */
  .pedigree .cell.with-photo {
    flex-direction: column;
    justify-content: center;
    padding-top: 22px;
  }
  .pedigree .subject.with-photo,
  .pedigree .virtual.with-photo { padding-top: 26px; }
  .pedigree .cell-photo {
    aspect-ratio: 4 / 5;
    height: 140px;          /* a real size is required; aspect-ratio alone resolves to 0 */
    max-width: 86%;
    margin-bottom: 7px;
    border: 1px solid rgba(122,102,79,0.40);
    border-radius: 2px;
    box-shadow: 0 1px 4px rgba(42,37,32,0.20);
    background: rgba(255,255,255,0.30);
    overflow: hidden;
    flex: 0 0 auto;
  }
  .pedigree .cell-photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .pedigree .cell-photo.missing {
    background-image: var(--logo-head-uri);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 58% auto;
    opacity: 0.42;
  }
  .pedigree .cell-photo.missing img { display: none; }
  .pedigree .gen-1 .cell-photo { height: 230px; }
  .pedigree .gen-2 .cell-photo { height: 170px; }
  .pedigree .gen-3 .cell-photo { height: 95px; }
  /* Marker on gen 4 / 5 cells whose dog has a photo (no room to show it inline) */
  .pedigree .cell .photo-dot {
    position: absolute;
    right: 5px; bottom: 4px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--logo-head-uri) center/76% auto no-repeat, rgba(255,255,255,0.65);
    border: 1px solid rgba(122,102,79,0.45);
    cursor: pointer;
    opacity: 0.85;
  }
  .pedigree .cell .photo-dot:hover { opacity: 1; }
  /* Touch: bigger target, and the tree is scaled down so it must be bigger still */
  @media (hover: none) {
    .pedigree .cell .photo-dot {
      width: 30px; height: 30px;
      right: 3px; bottom: 3px;
      opacity: 1;
      border-width: 2px;
      box-shadow: 0 1px 4px rgba(42,37,32,0.30);
    }
    .pedigree .gen-5 .cell .photo-dot { width: 24px; height: 24px; }
  }
  /* Floating photo card on hover / tap */
  #photo-pop {
    position: fixed;
    z-index: 400;
    display: none;
    padding: 7px;
    background: var(--panel, #f4eddf);
    border: 1px solid var(--border);
    border-radius: 5px;
    box-shadow: 0 10px 30px rgba(42,37,32,0.35);
    pointer-events: none;
  }
  #photo-pop.on { display: block; }
  #photo-pop.sheet {
    position: fixed;
    inset: 0;
    left: 0 !important; top: 0 !important;
    width: 100%; height: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 14px;
    padding: 24px;
    background: rgba(38,32,26,0.82);
    border: none;
    border-radius: 0;
    box-shadow: none;
    pointer-events: auto;
  }
  #photo-pop.sheet.on { display: flex; }
  #photo-pop.sheet img {
    width: auto; height: auto;
    max-width: min(78vw, 420px);
    max-height: 62vh;
    border-radius: 4px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.45);
  }
  #photo-pop.sheet .pop-name {
    max-width: 78vw;
    font-size: 15px;
    color: #f4eddf;
  }
  #photo-pop.sheet .pop-close {
    position: static;
    display: flex;
    width: 44px; height: 44px;
    font-size: 20px;
    order: 3;
  }
  #photo-pop img {
    display: block;
    width: 210px; height: 262px;
    object-fit: cover;
    border-radius: 3px;
  }
  #photo-pop .pop-close {
    position: absolute;
    top: -11px; right: -11px;
    width: 30px; height: 30px;
    display: none;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    line-height: 1;
    color: var(--text);
    background: var(--panel, #f4eddf);
    border: 1px solid var(--border);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(42,37,32,0.30);
    cursor: pointer;
    pointer-events: auto;
    padding: 0;
  }
  #photo-pop[data-pinned] .pop-close { display: flex; }
  @media (hover: none) { #photo-pop .pop-close { display: flex; } }
  #photo-pop .pop-name {
    margin-top: 6px;
    max-width: 210px;
    font-family: 'Lora', Georgia, serif;
    font-size: 12px;
    text-align: center;
    color: var(--text);
  }

  /* === Fit-to-screen mode: scale the pedigree down to fit viewport === */
  .pedigree-scale { position: relative; z-index: 2; }
  .pedigree-wrap.fit-screen { width: 100%; min-width: 0; }
  .pedigree-wrap.fit-screen .pedigree-scale {
    transform-origin: top left;
    /* JS sets the actual scale; this is the default */
    transform: scale(1);
  }
  /* When fit-screen is on, the wrap shouldn't scroll horizontally */
  #pedigree-output.fit-mode {
    overflow-x: hidden;
  }

  @media (max-width: 768px) {
    .pedigree.gens-5 { min-width: 1100px; }
    .pedigree.gens-4 { min-width: 820px; }
    .pedigree.gens-3 { min-width: 0; }

    .pedigree .gen-1 .cell-photo { height: 185px; }
    .pedigree .gen-2 .cell-photo { height: 138px; }
    .pedigree .gen-3 .cell-photo { height: 78px; }

    .eh-app { padding: 10px; }
    .eh-app h1 { font-size: 22px; }
    .pedigree { min-width: 1100px; }
    .pedigree .cell { font-size: 12px; padding: 10px 7px; min-height: 52px; }
    .pedigree .subject, .pedigree .virtual { font-size: 16px; }
    #pedigree-output { padding: 18px 14px; }
    .controls { padding: 16px; }
    .header-actions .btn { padding: 8px 12px; font-size: 11px; }
    /* On phones, default to scroll-snap mandatory for stronger snapping */
    #pedigree-output { scroll-snap-type: x mandatory; }
    /* Larger tap target hint */
    .pedigree .cell:not(.subject):not(.virtual):not(.unknown):active {
      transform: scale(0.98);
    }
  }

  .eh-app #csv-upload + .btn{display:none}


  
  .ft-root *{box-sizing:border-box}
  .ft-root a{text-decoration:none}
  .ft-root a.ft-nav{color:#F5F2EC; transition:color .2s}
  .ft-root a.ft-nav:hover{color:#C9613A}
  .ft-handle{color:#F7F4EE; transition:color .2s}
  .ft-handle:hover{color:#C9613A}
  .ft-kss{color:rgba(240,236,229,.62); border-bottom:1px solid rgba(201,97,58,.5); transition:color .2s,border-color .2s}
  .ft-kss:hover{color:#E7DFD3; border-color:#C9613A}
  @container ft (max-width: 760px){
    .ft-band{padding:56px 24px 44px !important}
    .ft-bar{flex-direction:column !important; align-items:center !important; text-align:center !important; gap:32px !important; padding:38px 24px 44px !important}
    .ft-bar-col{align-items:center !important; text-align:center !important}
    .ft-nav-row{justify-content:center !important; flex-wrap:wrap !important; gap:20px 26px !important}
    .ft-kss{max-width:34ch !important}
  }


/* ===== Dog pages (generated by tools/generate_pages.py) ===== */
.dg-crumbs { font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 14px; }
.dg-crumbs a { color: var(--text-muted); text-decoration: none; border-bottom: 1px solid var(--border-soft); }
.dg-crumbs a:hover { color: var(--text); }
.eh-app .dg-title { font-size: clamp(26px, 4.4vw, 40px); line-height: 1.12; overflow-wrap: anywhere; }
a.btn { text-decoration: none; display: inline-block; }
.dg-facts { display: flex; gap: clamp(20px, 4vw, 40px); align-items: flex-start; background: var(--bg-card); padding: clamp(18px, 3vw, 28px); border-radius: 6px; box-shadow: 0 1px 4px rgba(42,37,32,0.06); margin-bottom: 28px; }
.dg-photo { flex: 0 0 auto; width: clamp(150px, 26vw, 240px); aspect-ratio: 4 / 5; border: 1px solid rgba(122,102,79,0.40); border-radius: 2px; box-shadow: 0 1px 4px rgba(42,37,32,0.20); background: rgba(255,255,255,0.30); overflow: hidden; }
.dg-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dg-photo.missing { background-image: var(--logo-head-uri); background-repeat: no-repeat; background-position: center; background-size: 58% auto; opacity: 0.55; }
.dg-dl { flex: 1 1 auto; min-width: 0; display: grid; gap: 14px; }
.dg-dl dt { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 3px; }
.dg-dl dd { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.dg-dl a { color: var(--text); text-decoration: none; border-bottom: 1px solid var(--border-soft); }
.dg-dl a:hover { border-bottom-color: var(--text); }
.dg-muted { color: var(--text-muted); font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; }
.dg-section { margin-top: 34px; }
.dg-section h2 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; margin-bottom: 8px; }
.dg-tools { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 4px 0 12px; }
.dg-three .gen-4, .dg-three .gen-5 { display: none; }
.dg-three .pedigree { min-width: 560px !important; }
#dg-more { display: none; }
@media (max-width: 820px) { #dg-more { display: inline-block; } }
.dg-list { list-style: none; margin-top: 12px; background: var(--bg-card); border-radius: 6px; box-shadow: 0 1px 4px rgba(42,37,32,0.06); }
.dg-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 12px 18px; border-bottom: 1px solid var(--border-soft); font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; }
.dg-list li:last-child { border-bottom: 0; }
.dg-list a { color: var(--text); text-decoration: none; }
.dg-list a:hover { text-decoration: underline; }
.pedigree a.cell { color: inherit; text-decoration: none; }
.lb-name a { color: inherit; text-decoration: none; }
.lb-name a:hover { text-decoration: underline; }
@media (max-width: 640px) { .dg-facts { flex-direction: column; } .dg-photo { width: min(220px, 70%); } }
