:root{--bg:var(--tg-theme-bg-color,#f5f5f7);--bg-secondary:var(--tg-theme-secondary-bg-color,#fff);--text:var(--tg-theme-text-color,#16171d);--hint:var(--tg-theme-hint-color,#8a8a8e);--link:var(--tg-theme-link-color,#aa3bff);--accent:var(--tg-theme-button-color,#aa3bff);--accent-text:var(--tg-theme-button-text-color,#fff);--border:#00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/145% system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:var(--tg-theme-bg-color,#16171d);--bg-secondary:var(--tg-theme-secondary-bg-color,#1f2028);--text:var(--tg-theme-text-color,#f3f4f6);--hint:var(--tg-theme-hint-color,#9ca3af);--link:var(--tg-theme-link-color,#c084fc);--accent:var(--tg-theme-button-color,#c084fc);--border:#ffffff1a}}:root[data-theme=dark]{--bg:#16171d;--bg-secondary:#1f2028;--text:#f3f4f6;--hint:#9ca3af;--link:#c084fc;--accent:#c084fc;--border:#ffffff1a}:root[data-theme=light]{--bg:#f5f5f7;--bg-secondary:#fff;--text:#16171d;--hint:#8a8a8e;--link:#aa3bff;--accent:#aa3bff;--border:#00000014}*{box-sizing:border-box}html,body{height:100%}body{margin:0}@media (prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}}#root{background:var(--bg);max-width:480px;min-height:100svh;padding-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));padding-bottom:calc(var(--tg-safe-area-inset-bottom,0px) + var(--tg-content-safe-area-inset-bottom,0px));flex-direction:column;margin:0 auto;display:flex}h1,h2,h3,p{margin:0}a{color:var(--link);text-decoration:none}button{font:inherit}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px;transition:border-color .18s,box-shadow .18s}input:disabled{color:var(--hint);cursor:default;background:0 0}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:15px;font-weight:600;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 45%, transparent)}.btn-secondary{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:14px;transition:transform .25s,box-shadow .25s,border-color .25s}a.card:active{transform:scale(.985)}.wall-relation-trigger{color:var(--hint);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.relation-menu{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:6px;max-height:240px;padding:8px;animation:.2s cubic-bezier(.16,1,.3,1) both pop-in;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.relation-menu-item{background:var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:6px 12px;font-size:13px}@media (hover:hover){.relation-menu-item:hover{background:var(--accent);color:#fff}}.relation-menu-item.active{background:var(--accent);color:#fff;font-weight:600}.open-in-telegram-banner{color:var(--accent);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;display:flex}@media (hover:hover){a.card:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));box-shadow:0 6px 20px #00000014}}.wall-compose{margin-top:2px;position:sticky;bottom:0;box-shadow:0 -8px 16px -8px #0000001f}.page{flex-direction:column;gap:14px;padding:12px 16px 24px;display:flex}.profile-avatar-link{background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.profile-avatar-link:active{transform:scale(.94)}.language-switcher-root{position:relative}.language-flag-button{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;line-height:1;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex}.language-flag-button:active{transform:scale(.94)}.language-menu{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);transform-origin:100% 0;border-radius:12px;flex-direction:column;gap:2px;min-width:140px;padding:4px;animation:.2s cubic-bezier(.16,1,.3,1) both pop-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.language-menu-item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}@media (hover:hover){.language-menu-item:hover{background:var(--border)}}.language-menu-item.active{color:var(--accent);font-weight:600}.hamburger-root{position:relative}.hamburger-button{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex}.hamburger-button:active{transform:scale(.94)}.hamburger-icon{width:18px;height:14px;display:inline-block;position:relative}.hamburger-icon span{background:var(--text);border-radius:1px;width:100%;height:2px;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .2s,top .35s cubic-bezier(.4,0,.2,1);position:absolute;left:0}.hamburger-icon span:first-child{top:0}.hamburger-icon span:nth-child(2){top:6px}.hamburger-icon span:nth-child(3){top:12px}.hamburger-icon.open span:first-child{top:6px;transform:rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){top:6px;transform:rotate(-45deg)}.hamburger-menu-divider{background:var(--border);height:1px;margin:4px 2px}.aphorism-splash{z-index:3000;height:100dvh;padding:calc(28px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)) 26px calc(22px + var(--tg-safe-area-inset-bottom,0px));cursor:pointer;text-align:center;background:#000;flex-direction:column;justify-content:space-between;align-items:center;gap:24px;animation:.6s both fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.aphorism-brand{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-size:12.5px;font-weight:600}.aphorism-body{flex-direction:column;align-items:center;max-width:420px;display:flex}.aphorism-mark{color:#ffffff47;font-family:Georgia,Times New Roman,serif;font-size:40px;line-height:1}.aphorism-mark-top{margin-bottom:6px}.aphorism-mark-bottom{margin-top:10px;transform:rotate(180deg)}.aphorism-text{color:#f4f4f6;overflow-wrap:normal;word-break:normal;max-width:32ch;font-size:clamp(16px,4.6vw,21px);font-style:italic;line-height:1.6}.aphorism-word{white-space:nowrap;display:inline-block}.aphorism-letter{opacity:0;animation:.6s forwards letter-in;display:inline-block}@keyframes letter-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.aphorism-author{color:#fff9;align-self:flex-end;margin-top:16px;font-size:13.5px;font-style:normal}.special-memory-body{flex-direction:column;align-items:center;gap:12px;max-width:340px;display:flex}.special-memory-photo{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:132px;height:132px;font-size:44px;animation:.6s cubic-bezier(.16,1,.3,1) both pop-in;display:flex;overflow:hidden}.special-memory-photo img{object-fit:cover;width:100%;height:100%}.special-memory-name{color:#f4f4f6;font-size:18px;font-weight:600}.special-memory-comment{color:#ffffffc7;text-align:justify;text-align-last:center;margin:0;font-size:15px;font-style:italic;line-height:1.55}.aphorism-hint{color:#fff6;font-size:12.5px;animation:1.2s .6s both fade-in}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes timeline-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes marker-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@keyframes photo-slide-in-next{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}@keyframes photo-slide-in-prev{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:translate(0)}}.page-anim{animation:.85s cubic-bezier(.16,1,.3,1) both fade-in-up}.list-item-anim{animation:1.3s cubic-bezier(.16,1,.3,1) both fade-in-up}.tab-bar{border-bottom:1px solid var(--border);gap:4px;display:flex}.tab-btn{color:var(--hint);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 2px;font-size:12.5px;font-weight:600;transition:color .3s,border-color .3s;overflow:hidden}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-panel-anim{animation:.55s both fade-in}.timeline-item-anim{animation:1s cubic-bezier(.16,1,.3,1) both fade-in-up}.form-anim{transform-origin:top;animation:.6s cubic-bezier(.16,1,.3,1) both pop-in}.avatar-picker{background:var(--border);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;padding:0;font-size:32px;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.avatar-picker:active{transform:scale(.96)}.avatar-picker img{object-fit:cover;width:100%;height:100%}.avatar-picker-badge{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;bottom:-2px;right:-2px}.cropper-overlay{z-index:1000;background:#0a0a0cf0;justify-content:center;align-items:center;height:100dvh;padding:16px;animation:.3s both fade-in;display:flex;position:fixed;inset:0}.photo-lightbox{z-index:1000;background:#000;flex-direction:column;height:100dvh;animation:.25s both fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}.photo-lightbox-stage{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}.photo-lightbox-controls{top:calc(12px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));z-index:2;gap:8px;display:flex;position:absolute;right:12px}.photo-lightbox-control-btn{color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.photo-lightbox-info{padding:14px 16px calc(14px + var(--tg-safe-area-inset-bottom,0px));color:#fff;background:#000;flex-shrink:0}.cropper-card{background:var(--bg);border-radius:16px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:320px;padding:18px;animation:.35s cubic-bezier(.16,1,.3,1) both pop-in;display:flex}.cropper-viewport{touch-action:none;cursor:grab;background:#000;border-radius:10px;position:relative;overflow:hidden}.cropper-viewport:active{cursor:grabbing}.cropper-mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 9999px #0000008c}.bio-text{white-space:pre-wrap;line-height:160%}.photo-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.photo-thumb{aspect-ratio:1;cursor:pointer;background:var(--border);border:none;border-radius:8px;padding:0;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.photo-thumb:active img{transform:scale(.96)}.modal-overlay{z-index:1500;background:#00000080;justify-content:center;align-items:center;height:100dvh;padding:16px;animation:.3s both fade-in;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);border-radius:16px;width:100%;max-width:420px;max-height:85vh;padding:18px;animation:.35s cubic-bezier(.16,1,.3,1) both pop-in;overflow-y:auto}.fab-button{background:var(--accent);width:40px;height:40px;color:var(--accent-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex}.fab-button:active{transform:scale(.92)}.special-memory-admin-row{align-items:center;gap:10px;padding:8px 10px;display:flex}.special-memory-admin-avatar{background:var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex;overflow:hidden}.special-memory-admin-avatar img{object-fit:cover;width:100%;height:100%}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;transition:background .15s;display:flex}@media (hover:hover){.icon-btn:hover{background:var(--border)}}.icon-btn:active{background:var(--border)}.toggle-switch{cursor:pointer;flex-shrink:0;width:36px;height:21px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch .slider{background:var(--border);border-radius:999px;transition:background .2s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle-switch input:checked+.slider{background:var(--accent)}.toggle-switch input:checked+.slider:before{transform:translate(15px)}.toggle-switch input:focus-visible+.slider{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}@media (prefers-reduced-motion:reduce){.page-anim,.list-item-anim,.timeline-item-anim,.form-anim,.btn,.card,.profile-avatar-link,.avatar-picker,.cropper-overlay,.cropper-card,.language-flag-button,.language-menu,.relation-menu,.tab-btn,.tab-panel-anim,.hamburger-button,.hamburger-icon span,.aphorism-splash,.aphorism-letter,.aphorism-hint,.modal-overlay,.modal-card,.fab-button,.toggle-switch .slider,.toggle-switch .slider:before,.icon-btn,.photo-lightbox,.photo-lightbox-stage,.tree-focus-anim{transition:none!important;animation:none!important}.aphorism-letter{opacity:1!important}}.tree-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:10px;display:flex;overflow-x:auto}.tree-row::-webkit-scrollbar{display:none}.tree-spine-row{align-items:flex-start;display:flex}.tree-branch{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:1;gap:10px;min-width:0;padding-left:10px;display:flex;overflow-x:auto}.tree-branch::-webkit-scrollbar{display:none}.tree-node{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:14px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:92px;height:142px;padding:10px 8px;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,opacity .25s;display:flex;position:relative}.tree-node-role{background:var(--bg);color:var(--hint);border:1px solid var(--border);pointer-events:none;border-radius:6px;padding:2px 5px;font-size:9px;line-height:1;position:absolute;top:4px;left:4px}.tree-node-ribbon{clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none;background:#000;border-bottom-right-radius:13px;width:16px;height:16px;position:absolute;bottom:0;right:0}.tree-node:active{transform:scale(.97)}.tree-node-focus{border-color:var(--accent);cursor:default}.tree-node-focus:active{transform:none}.tree-node-avatar{background:var(--border);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex;overflow:hidden}.tree-node-avatar img{object-fit:cover;width:100%;height:100%}.tree-node-name{flex-direction:column;justify-content:center;width:100%;height:32px;font-size:12.5px;font-weight:600;line-height:1.25;display:flex}.tree-node-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-node-meta{height:14px;color:var(--hint);font-size:11px}.tree-claims{flex-direction:column;gap:8px;display:flex}.tree-claim-row{background:var(--bg-secondary);border:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.tree-connector-spacer{flex-shrink:0;justify-content:center;width:92px;display:flex}.tree-connector{background:var(--border);width:2px;height:18px}@keyframes tree-focus-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.tree-focus-anim{animation:.3s cubic-bezier(.16,1,.3,1) both tree-focus-in}.tree-page-header{z-index:4;background:var(--bg);padding:calc(12px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin:-12px -16px 0;display:flex;position:sticky;top:0}::view-transition-group(*){animation-duration:1.6s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.graph-page{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.graph-page-header{padding:calc(10px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)) 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.graph-page-canvas{flex:1;min-height:0;position:relative}.view-toggle-fab-wrap{pointer-events:none;z-index:20;max-width:480px;margin:0 auto;position:fixed;inset:0}.view-toggle-fab{right:calc(16px + var(--tg-safe-area-inset-right,0px));bottom:calc(16px + var(--tg-safe-area-inset-bottom,0px));pointer-events:auto;width:48px;height:48px;position:absolute;box-shadow:0 4px 14px #00000040}.share-link-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}
