:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--font-sans: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-serif: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-display: "Zalando Sans Variable", var(--font-sans);--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 24px;--fs-2xl: 32px;--color-bg: #f7f4ed;--color-surface: #ffffff;--color-surface-2: #f1ede4;--color-surface-3: #e9e3d8;--color-border: #e7e1d5;--color-border-subtle: #f0ebe2;--color-border-strong: #d3cabb;--color-surface-nested: #faf8f3;--color-text: #211f1a;--color-text-muted: #6d675c;--color-text-inverse: #fdfcf9;--color-primary: #1f3d2e;--color-primary-hover: #2c523f;--color-primary-soft: #e4ece6;--color-accent: #1f3d2e;--color-accent-soft: rgba(185, 138, 47, .14);--color-mention-membership: tomato;--color-success: #1a7f37;--color-warning: #b76d00;--color-danger: #c0392b;--color-danger-soft: #fbe7e3;--color-overlay: rgba(33, 31, 26, .72);--color-overlay-text: #fdfcf9;--color-media-bg: #14130f;--color-nav-surface: rgba(251, 249, 244, .86);--shadow-sm: 0 1px 2px rgba(33, 31, 26, .04), 0 1px 3px rgba(33, 31, 26, .06);--shadow-md: 0 4px 8px rgba(33, 31, 26, .05), 0 8px 24px rgba(33, 31, 26, .08);--shadow-lg: 0 8px 16px rgba(33, 31, 26, .08), 0 24px 48px rgba(33, 31, 26, .12);--tree-parent-union-0: #4a6fa5;--tree-parent-union-1: #8b4d9e;--tree-parent-union-2: #0f766e;--tree-parent-union-3: #b45309;--tree-parent-union-4: #be185d;--tree-card-fill: #f7f4ed;--tree-card-fill-compact: #ffffff;--tree-card-stroke: #d3cabb;--tree-card-stroke-hover: #a89d8c;--tree-card-selected-stroke: #1f3d2e;--tree-card-selected-glow: rgba(31, 61, 46, .18);--tree-hover-source-stroke: #b98a2f;--tree-hover-source-glow: rgba(185, 138, 47, .22);--tree-hover-related-stroke: #d4a843;--tree-hover-dim-opacity: .28;--tree-accent-male: #3f6bb5;--tree-accent-female: #c44d8a;--tree-accent-neutral: #7d7567;--tree-link-parent: #7d7567;--tree-link-spouse: #4a7c64;--tree-link-spouse-former: #b3a995;--tree-text-name: #211f1a;--tree-text-subtitle: #6d675c;--tree-text-date: #8a8275;--nav-height: 56px;--site-banner-height: 0px;--max-content-width: 1200px;color-scheme:light}[data-theme=dark]{--color-bg: #0e1116;--color-surface: #161b22;--color-surface-2: #1f242c;--color-surface-3: #262d36;--color-border: #232930;--color-border-subtle: #1c2128;--color-border-strong: #343b44;--color-surface-nested: #13171d;--color-text: #e6edf3;--color-text-muted: #8b949e;--color-text-inverse: #0e1116;--color-primary: #5b8def;--color-primary-hover: #7aa3f7;--color-primary-soft: #1a2c4f;--color-accent: #5b8def;--color-accent-soft: rgba(224, 176, 32, .16);--color-mention-membership: tomato;--color-success: #3fb950;--color-warning: #d29922;--color-danger: #f85149;--color-danger-soft: #4a1f23;--color-overlay: rgba(20, 20, 22, .72);--color-overlay-text: #ffffff;--color-media-bg: #000000;--color-nav-surface: #161b22;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--tree-parent-union-0: #6b8fc4;--tree-parent-union-1: #a88bc4;--tree-parent-union-2: #4db8a8;--tree-parent-union-3: #c49a3a;--tree-parent-union-4: #c46898;--tree-card-fill: #1b2430;--tree-card-fill-compact: #161e29;--tree-card-stroke: #334155;--tree-card-stroke-hover: #4a5b75;--tree-card-selected-stroke: #6ea1ff;--tree-card-selected-glow: rgba(110, 161, 255, .22);--tree-hover-source-stroke: #fbbf24;--tree-hover-source-glow: rgba(251, 191, 36, .24);--tree-hover-related-stroke: #fcd34d;--tree-hover-dim-opacity: .28;--tree-accent-male: #6ea1ff;--tree-accent-female: #d28cc8;--tree-accent-neutral: #6b7686;--tree-link-parent: #475569;--tree-link-spouse: #5b8def;--tree-link-spouse-former: #5b6678;--tree-text-name: #e6edf3;--tree-text-subtitle: #9aa6b4;--tree-text-date: #7f8a99;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #0e1116;--color-surface: #161b22;--color-surface-2: #1f242c;--color-surface-3: #262d36;--color-border: #2a313a;--color-border-subtle: #1c2128;--color-border-strong: #3a424c;--color-surface-nested: #13171d;--color-text: #e6edf3;--color-text-muted: #8b949e;--color-text-inverse: #0e1116;--color-primary: #5b8def;--color-primary-hover: #7aa3f7;--color-primary-soft: #1a2c4f;--color-accent: #5b8def;--color-accent-soft: rgba(224, 176, 32, .16);--color-success: #3fb950;--color-warning: #d29922;--color-danger: #f85149;--color-danger-soft: #4a1f23;--color-overlay: rgba(20, 20, 22, .72);--color-overlay-text: #ffffff;--color-media-bg: #000000;--color-nav-surface: #161b22;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--tree-parent-union-0: #6b8fc4;--tree-parent-union-1: #a88bc4;--tree-parent-union-2: #4db8a8;--tree-parent-union-3: #c49a3a;--tree-parent-union-4: #c46898;--tree-card-fill: #1b2430;--tree-card-fill-compact: #161e29;--tree-card-stroke: #334155;--tree-card-stroke-hover: #4a5b75;--tree-card-selected-stroke: #6ea1ff;--tree-card-selected-glow: rgba(110, 161, 255, .22);--tree-hover-source-stroke: #fbbf24;--tree-hover-source-glow: rgba(251, 191, 36, .24);--tree-hover-related-stroke: #fcd34d;--tree-hover-dim-opacity: .28;--tree-accent-male: #6ea1ff;--tree-accent-female: #d28cc8;--tree-accent-neutral: #6b7686;--tree-link-parent: #475569;--tree-link-spouse: #5b8def;--tree-link-spouse-former: #5b6678;--tree-text-name: #e6edf3;--tree-text-subtitle: #9aa6b4;--tree-text-date: #7f8a99;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;font-family:var(--font-serif);font-weight:600;letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--fs-2xl);line-height:1.15}h2{font-size:var(--fs-xl);line-height:1.2}h3{font-size:var(--fs-lg);line-height:1.25}.display-title,.card__header,.topnav__brand,.page-title{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance}.primary-text{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance}input,textarea,select{font:inherit;color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:var(--sp-5) var(--sp-4)}.muted{color:var(--color-text-muted);font-size:var(--fs-sm)}.flex{display:flex}.flex-col{flex-direction:column}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.items-center{align-items:center}.justify-between{justify-content:space-between}.grow{flex:1 1 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-weight:500;transition:background .15s ease,transform .05s ease,border-color .15s ease;user-select:none}.btn:hover{background:var(--color-surface-2)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn--primary[disabled],.btn--primary:disabled{background:var(--color-surface-3);border-color:var(--color-border);color:var(--color-text-muted)}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--color-surface-2)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--sm{padding:4px 10px;font-size:var(--fs-sm)}.settings-theme-picker__btn--active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-text);font-weight:600}.settings-theme-picker__btn--active:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.input,.textarea,.select{width:100%;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.textarea{resize:vertical;min-height:96px;font-family:inherit}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted);opacity:.85}label.field{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--color-text-muted)}label.field>.field-label{font-weight:500;color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.page-grid__sidebar .card__header{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--sp-2)}.page-grid__sidebar .card__header:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.page-grid__sidebar .posts-occasion-card__header:before,.page-grid__sidebar .dir-memberships-card__header:before{content:none}.page-grid__sidebar .dir-memberships-card__toggle:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.card__body{padding:var(--sp-4)}.card__header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);font-weight:600}.card--nested,.card .card{background:var(--color-surface-nested);border-color:var(--color-border-subtle);box-shadow:none}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);background:var(--color-surface-3);color:var(--color-text-muted);font-size:var(--fs-xs);font-weight:500}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge--shrink{align-self:flex-start;width:fit-content;max-width:100%}.badge--warn{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--relationship{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.badge--status{background:var(--color-surface-3);color:var(--color-text-muted);border:1px solid var(--color-border-subtle)}.badge--muted{background:var(--color-surface-2);color:var(--color-text-muted)}.person-account-pill{gap:.25em}.person-account-pill__star{font-size:1em;font-weight:700;color:var(--color-accent);line-height:1;text-shadow:0 0 1px var(--color-surface)}.person-account-pill-row{display:inline-flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.message-send-btn{min-width:2rem;padding-inline:var(--sp-2);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.message-send-btn:hover{color:var(--color-text)}.topnav{position:sticky;top:0;z-index:30;height:var(--nav-height);background:var(--color-nav-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--sp-4);gap:var(--sp-2);backdrop-filter:saturate(140%) blur(8px)}.topnav--impersonating{flex-wrap:wrap;height:auto;min-height:var(--nav-height);padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.topnav__impersonation{flex:1 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-1);font-size:var(--fs-sm)}.topnav__menu-btn{display:none;align-items:center;justify-content:center;width:2.5rem;height:2rem;padding:0;border:none;border-radius:var(--r-md);background:transparent;color:var(--color-text);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.topnav__menu-btn:hover{background:var(--color-surface-2)}.topnav__menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.topnav__settings-icon{display:none}.topnav__logout{display:inline-flex;align-items:center;gap:var(--sp-2)}.topnav__logout-icon{display:none}.topnav__logout-icon .logout-icon{width:1.2rem;height:1.2rem;display:block}.topnav__brand{font-weight:700;font-size:var(--fs-lg);margin-right:var(--sp-4);color:var(--color-primary)}.topnav__links{display:flex;gap:var(--sp-2);flex:1;flex-wrap:wrap}.topnav__link{padding:6px 10px;border-radius:var(--r-md);color:var(--color-text-muted);font-weight:500;text-decoration:none}.topnav__link:hover{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.topnav__link.active{background:var(--color-primary-soft);color:var(--color-primary)}.topnav__right{display:flex;align-items:center;gap:var(--sp-2)}.topnav__account-menu{position:relative;display:inline-flex}.topnav__account-link{border:none;background:transparent;font:inherit;cursor:pointer}.topnav__account-pop{z-index:40;min-width:160px}#fn-theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2rem;padding:0;line-height:1;box-sizing:border-box}.topnav__theme-glyph{display:inline-block;line-height:1}#fn-theme-toggle.topnav__theme-toggle--sun{font-size:1.5rem;margin-top:1px}#fn-theme-toggle.topnav__theme-toggle--sun .topnav__theme-glyph{transform:translateY(-2px)}@media (max-width: 980px){.topnav{flex-wrap:wrap;padding:0 var(--sp-3);height:auto;min-height:var(--nav-height);align-content:flex-start;backdrop-filter:none;background:var(--color-surface)}.topnav__menu-btn{display:inline-flex;order:3}.topnav__brand{order:1;margin-right:0}.topnav__links{display:none;order:4;flex:1 1 100%;flex-direction:column;align-items:stretch;gap:0;padding:var(--sp-2) 0 var(--sp-3);border-top:1px solid var(--color-border);background:var(--color-surface)}.topnav.is-menu-open .topnav__links{display:flex}.topnav__link{padding:var(--sp-2) var(--sp-1)}.topnav__right{order:2;margin-left:auto;gap:var(--sp-1)}.topnav__account-link{display:none}.topnav__settings-icon{display:inline-flex}.topnav__logout{min-width:2.5rem;height:2rem;padding:0;justify-content:center}.topnav__logout-icon{display:inline-flex}.topnav__logout-label{display:none}}@media (max-width: 600px){.topnav{padding:0 var(--sp-2);gap:var(--sp-1)}.topnav__brand{font-size:var(--fs-md)}}.avatar{width:40px;height:40px;border-radius:50%;clip-path:circle(50%);background:var(--color-surface-3);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-weight:600;font-size:var(--fs-sm);overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar--placeholder{color:var(--color-text-muted);overflow:hidden;border-radius:50%}.avatar--placeholder .avatar-placeholder__frame{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden}.avatar--placeholder .avatar-placeholder__svg{position:absolute;left:50%;top:50%;width:68%;aspect-ratio:1 / 1;height:auto;max-height:72%;transform:translate(-50%,-50%);display:block}.avatar--lg{width:96px;height:96px;font-size:var(--fs-xl)}.avatar--xl{width:144px;height:144px;font-size:var(--fs-2xl)}.avatar-wrap{position:relative;display:inline-flex;vertical-align:middle}.avatar-wrap .avatar-account-star{position:absolute;inset:auto -1px -1px auto;transform:none;line-height:1;font-size:14px;color:var(--color-accent);text-shadow:0 0 1px var(--color-surface),0 1px 2px rgba(0,0,0,.45);pointer-events:none;z-index:2}.avatar-wrap--lg .avatar-account-star{font-size:18px;right:-2px;bottom:-2px}.avatar-wrap--xl .avatar-account-star{font-size:24px;right:-3px;bottom:-3px}.avatar-link{flex-shrink:0;text-decoration:none;color:inherit;border-radius:50%}.avatar-link:hover{opacity:.88}html.avatar-hover-zoom :is(.birthday-row,.anniversary-row,.dir-row,.post,.comment,.chat-info,.lore-topic-card,.lore-topic-detail,.dir-membership-preview) .avatar{transition:transform .12s ease-out;transform-origin:center}html.avatar-hover-zoom :is(.birthday-row,.anniversary-row,.dir-row,.post,.comment,.chat-info,.lore-topic-card,.lore-topic-detail,.dir-membership-preview) .avatar:hover{transform:scale(1.55);position:relative;z-index:3}html.avatar-hover-zoom :is(.birthday-row,.anniversary-row,.dir-row,.post,.comment,.chat-info,.lore-topic-card,.lore-topic-detail,.dir-membership-preview) .avatar-link:hover{opacity:1}@media (prefers-reduced-motion: reduce){html.avatar-hover-zoom :is(.birthday-row,.anniversary-row,.dir-row,.post,.comment,.chat-info,.lore-topic-card,.lore-topic-detail,.dir-membership-preview) .avatar{transition:none}}.modal.avatar-crop{width:min(420px,100%)}.avatar-crop__hint{margin:0;font-size:.8125rem}.avatar-crop__frame{position:relative;width:min(320px,72vw);aspect-ratio:1 / 1;margin:0 auto;border-radius:50%;overflow:hidden;background:transparent;cursor:grab;touch-action:none;user-select:none}.avatar-crop__frame.is-dragging{cursor:grabbing}.avatar-crop__canvas{width:100%;height:100%;display:block;border-radius:inherit;background:var(--color-surface-3);pointer-events:none}.avatar-crop__ring{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffffb3;pointer-events:none}.avatar-crop__zoom{display:flex;flex-direction:column;gap:var(--sp-1)}.avatar-crop__zoom-input{width:100%}.post{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.post__head{display:flex;align-items:center;gap:var(--sp-3)}.post__author{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;--post-author-target-gap: 10px;width:103%}.post__sub{color:var(--color-text-muted);font-size:var(--fs-xs);letter-spacing:.01em}.post__body{white-space:pre-wrap;word-break:break-word}.mention-link{color:var(--color-primary);font-weight:600;text-decoration:none}.mention-link:hover{text-decoration:underline}.mention-link--membership,.mention-link--membership:hover{color:var(--color-mention-membership)}.post__media{display:block}.post__media.media-grid{display:grid;gap:4px;width:100%;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2)}.post__media.media-grid--post-4,.post__media-grid-page.media-grid--post-4{grid-template-columns:repeat(2,minmax(0,1fr))}.post__media.media-grid--post-5,.post__media-grid-page.media-grid--post-5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1 / 1;max-height:min(70vh,560px)}.post__media.media-grid--post-5 .media-grid__cell,.post__media-grid-page.media-grid--post-5 .media-grid__cell{aspect-ratio:auto;height:100%}.post__media.media-grid--post-5 .media-grid__cell:nth-child(1),.post__media-grid-page.media-grid--post-5 .media-grid__cell:nth-child(1){grid-row:1 / 3;grid-column:1}.post__media.media-grid--post-5 .media-grid__cell:nth-child(2),.post__media-grid-page.media-grid--post-5 .media-grid__cell:nth-child(2){grid-column:2;grid-row:1}.post__media.media-grid--post-5 .media-grid__cell:nth-child(3),.post__media-grid-page.media-grid--post-5 .media-grid__cell:nth-child(3){grid-column:3;grid-row:1}.post__media.media-grid--post-5 .media-grid__cell:nth-child(4),.post__media-grid-page.media-grid--post-5 .media-grid__cell:nth-child(4){grid-column:2;grid-row:2}.post__media.media-grid--post-5 .media-grid__cell:nth-child(5),.post__media-grid-page.media-grid--post-5 .media-grid__cell:nth-child(5){grid-column:3;grid-row:2}.post__media.media-grid--post-6-8,.post__media.media-grid--post-9,.post__media-grid-page.media-grid--post-6-8,.post__media-grid-page.media-grid--post-9{grid-template-columns:repeat(3,minmax(0,1fr))}.post__media.media-grid--post-6-8 .media-grid__cell:nth-child(7):last-child,.post__media-grid-page.media-grid--post-6-8 .media-grid__cell:nth-child(7):last-child{grid-column:2}.post__media-grid-page[class*=media-grid--post-last-]{gap:2px}.post__media-grid-page.media-grid--post-last-1{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.post__media-grid-page.media-grid--post-last-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.post__media-grid-page.media-grid--post-last-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.post__media-grid-page.media-grid--post-last-3 .media-grid__cell:nth-child(1){grid-row:1 / 3;grid-column:1}.post__media-grid-page.media-grid--post-last-3 .media-grid__cell:nth-child(2){grid-column:2;grid-row:1}.post__media-grid-page.media-grid--post-last-3 .media-grid__cell:nth-child(3){grid-column:2;grid-row:2}.post__media-grid-page.media-grid--post-last-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.post__media-grid-page.media-grid--post-last-5{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.post__media-grid-page.media-grid--post-last-5 .media-grid__cell:nth-child(1){grid-row:1 / 3;grid-column:1}.post__media-grid-page.media-grid--post-last-5 .media-grid__cell:nth-child(2){grid-column:2;grid-row:1}.post__media-grid-page.media-grid--post-last-5 .media-grid__cell:nth-child(3){grid-column:3;grid-row:1}.post__media-grid-page.media-grid--post-last-5 .media-grid__cell:nth-child(4){grid-column:2;grid-row:2}.post__media-grid-page.media-grid--post-last-5 .media-grid__cell:nth-child(5){grid-column:3;grid-row:2}.post__media-grid-page.media-grid--post-last-6{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.post__media-grid-page.media-grid--post-last-7,.post__media-grid-page.media-grid--post-last-8{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(1),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(1){grid-column:1 / 3;grid-row:1}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(2),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(2){grid-column:3 / 5;grid-row:1}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(3),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(3){grid-column:5 / 7;grid-row:1}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(4),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(4){grid-column:1 / 3;grid-row:2}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(5),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(5){grid-column:3 / 5;grid-row:2}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(6),.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(6){grid-column:5 / 7;grid-row:2}.post__media-grid-page.media-grid--post-last-7 .media-grid__cell:nth-child(7){grid-column:1 / 7;grid-row:3}.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(7){grid-column:1 / 4;grid-row:3}.post__media-grid-page.media-grid--post-last-8 .media-grid__cell:nth-child(8){grid-column:4 / 7;grid-row:3}.post__media--grid-carousel{position:relative;display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);aspect-ratio:1 / 1;max-height:min(70vh,560px);width:100%}.post__media-grid-track{display:flex;flex:1;min-height:0;height:100%;align-items:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.post__media-grid-track::-webkit-scrollbar{display:none}.post__media-grid-page{flex:0 0 100%;scroll-snap-align:start;display:grid;gap:4px;width:100%;min-width:0;min-height:0;height:100%;max-height:100%;box-sizing:border-box;overflow:hidden;align-self:stretch}.post__media-grid-page.media-grid--post-9{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.post__media--grid-carousel .post__media-nav{opacity:1;background:#0000009e;box-shadow:0 1px 4px #00000073}.post__media--grid-carousel .post__media-nav:hover{background:#000000d1}.post__media--grid-carousel .post__media-nav.is-hidden{opacity:0!important;pointer-events:none}.post__media-single img{width:100%;max-height:min(70vh,560px);object-fit:contain;border-radius:var(--r-md);background:var(--color-surface-2);display:block;margin:0 auto}.post__media--carousel{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);--slides-per-view: min(3, var(--carousel-slide-count, 3));--slides-gap: 6px}.post__media-track{display:flex;gap:var(--slides-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.post__media-track::-webkit-scrollbar{display:none}.post__media-slide{flex:0 0 calc((100% - (var(--slides-per-view) - 1) * var(--slides-gap)) / var(--slides-per-view));aspect-ratio:1 / 1;scroll-snap-align:start;position:relative;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);overflow:hidden}.post__media-slide img{width:100%;height:100%;object-fit:cover;display:block}.post__media-slide--video{position:relative}.post__media-slide--video video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.post__media-single.post__media-slide--video{position:relative;aspect-ratio:16 / 9;background:var(--color-media-bg);border-radius:var(--r-md);overflow:hidden}.post__media-single.post__media-slide--video video{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.post__media-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:22px;font-weight:500;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s ease,background .15s ease}.post__media--carousel:hover .post__media-nav,.post__media--carousel:focus-within .post__media-nav{opacity:1}.post__media-nav:hover{background:#000c}.post__media-nav--prev{left:8px;padding:2px 2px 0 0}.post__media-nav--next{right:8px;padding:0 0 2px 3px}.post__media-nav.is-hidden{opacity:0!important;pointer-events:none}.post__media-dots{position:absolute;z-index:2;bottom:8px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#0006}.post__media-dots[hidden]{display:none}.post__media-dot{width:7px;height:7px;border-radius:50%;border:none;background:#ffffff80;padding:0;cursor:pointer;transition:background .12s ease,transform .12s ease}.post__media-dot.is-active{background:#fff;transform:scale(1.2)}.post__media-dot[hidden]{display:none}.post__media-count{position:absolute;z-index:2;top:8px;right:8px;background:#0000008c;color:#fff;font-size:12px;padding:3px 8px;border-radius:999px;pointer-events:none}@media (max-width: 900px){.post__media--carousel{--slides-per-view: min(2, var(--carousel-slide-count, 2))}}@media (max-width: 600px){.post__media--carousel{--slides-per-view: 1}.post__media-nav{opacity:1}}.action-menu,.post__menu{position:relative}.post__menu{margin-left:auto}.action-menu__toggle,.post__menu-toggle{font-size:18px;line-height:1;padding:2px 10px}.action-menu__pop,.post__menu-pop{position:absolute;right:0;top:calc(100% + 4px);min-width:200px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:5;padding:4px}.action-menu__pop[data-floating=true]{z-index:1200}.profile-hero-card{overflow:visible}.action-menu__item,.post__menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:inherit;font:inherit;border-radius:var(--r-sm);cursor:pointer;text-decoration:none;box-sizing:border-box}.action-menu__item:hover,.action-menu__item:focus-visible,.post__menu-item:hover,.post__menu-item:focus-visible{background:var(--color-surface-2);outline:none}.action-menu__item--danger,.post__menu-item--danger{color:var(--color-danger)}.post__reactions{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-1)}@media (max-width: 600px){.post__reactions{margin-left:-5px;margin-right:-10px}}.post__reactions-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3)}.post__reaction-control{position:relative;margin-top:-14px}.post__reaction-control:has(.post__react-btn.is-active){margin-top:0}.post__react-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:600;cursor:pointer;line-height:1}.post__react-btn:not(.is-active){width:36px;height:36px;min-width:36px;min-height:36px;padding:0}.post__react-btn:hover,.post__react-btn.is-active{border-color:var(--color-accent, var(--color-border-strong, var(--color-border)));color:var(--color-text);background:var(--color-surface-2, var(--color-bg))}.post__react-btn[data-tip-title]:after{content:attr(data-tip-title);position:absolute;left:0;bottom:calc(100% + 8px);transform:translateY(2px);z-index:30;box-sizing:border-box;width:max-content;max-width:min(360px,90vw);padding:6px 12px;border-radius:8px;background:var(--color-text, #1a1a1a);color:var(--color-surface, #fff);font-size:var(--fs-xs);font-weight:500;line-height:1.35;text-align:left;white-space:pre-line;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,transform .12s ease,visibility .12s}.post__react-btn--has-tip-body[data-tip-title]:after{content:attr(data-tip-title) "\a" attr(data-tip-body)}.post__react-btn[data-tip-title]:hover:after,.post__react-btn[data-tip-title]:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.post__reaction-control:has(.post__reaction-picker:not([hidden])) .post__react-btn:after{opacity:0;visibility:hidden}.post__react-emoji{font-size:1.25rem;line-height:1}.post__react-icon{width:1.6rem;height:1.6rem;display:block;flex-shrink:0;color:currentColor}.post__reactions--compact .post__react-icon{width:1.25rem;height:1.25rem}@media (max-width: 600px){.post__react-btn:not(.is-active){width:36px;height:36px;min-width:36px;min-height:36px;padding:0}.post__reactions--compact .post__react-btn:not(.is-active){width:32px;height:32px;min-width:32px;min-height:32px;padding:0}}.post__reaction-picker{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;display:flex;gap:2px;padding:6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:0 8px 24px #0000001f}@media (max-width: 600px){.post__reaction-picker{display:grid;grid-template-columns:repeat(4,36px);gap:4px;padding:8px;border-radius:16px;max-width:min(100vw - 24px,200px)}}.post__reaction-picker[hidden]{display:none}.post__reaction-pick{width:36px;height:36px;border:none;border-radius:50%;background:transparent;font-size:1.35rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease}.post__reaction-pick:hover,.post__reaction-pick.is-selected{transform:scale(1.2);background:var(--color-surface-2, var(--color-bg))}.post__reaction-summary{display:inline;border:none;background:none;padding:0;color:var(--color-text-muted);font-size:var(--fs-sm);cursor:pointer;text-align:left}.post__reaction-summary-inner{display:inline;padding-bottom:1px;border-bottom:1px solid transparent}.post__reaction-summary:hover{color:var(--color-text)}.post__reaction-summary:hover .post__reaction-summary-inner{border-bottom-color:currentColor}.post__reaction-summary-text--compact{display:none}@media (max-width: 600px){.post__reaction-summary-text--full{display:none}.post__reaction-summary-text--compact{display:inline}}.post__reaction-icons{letter-spacing:-.15em;font-size:.95rem;margin-right:.35em}.post__reactions-modal{width:min(420px,100%)}.post__reactions-modal__body{padding:var(--sp-3) var(--sp-4);min-height:0;max-height:min(60vh,480px);overflow:auto}.post__reaction-list{display:flex;flex-direction:column;gap:var(--sp-2)}.post__reaction-list-item{display:flex;align-items:center;gap:var(--sp-2)}.post__reaction-list-meta{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-sm);font-weight:600}.post__reaction-list-emoji{font-size:1.1rem;line-height:1}.post__reactions--compact{margin-top:2px;gap:2px}.post__reactions--compact .post__react-btn{min-height:28px;padding:2px 10px;font-size:var(--fs-xs)}.post__reactions--compact .post__react-btn:not(.is-active){width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.comments{border-top:1px solid var(--color-border);margin-top:var(--sp-2);padding-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.comments__list{display:flex;flex-direction:column;gap:var(--sp-2)}.comments__view-more{align-self:flex-start;background:none;border:none;padding:4px 0;color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.comments__view-more:hover{text-decoration:underline}.comment{display:flex;gap:var(--sp-2);align-items:flex-start}.comment .avatar{width:32px;height:32px;flex:0 0 32px}.comment__main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.comment__bubble{background:var(--color-surface-2);border-radius:18px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;max-width:100%;min-width:0;word-break:break-word;position:relative}.comment__bubble--has-menu{padding-right:36px}.comment__menu{position:absolute;top:2px;right:2px;margin-left:0;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:3}.comment:hover .comment__menu,.comment:focus-within .comment__menu,.comment__menu:has(.post__menu-pop:not([hidden])){opacity:1;pointer-events:auto}@media (hover: none),(max-width: 600px){.comment__menu{opacity:1;pointer-events:auto}}.comment__menu .post__menu-toggle{min-width:28px;min-height:28px;padding:0 6px;color:var(--color-text-muted)}.comment__menu .post__menu-pop{min-width:140px}.comment__author{font-weight:600;color:inherit;text-decoration:none;font-size:var(--fs-sm)}.comment__author:hover{text-decoration:underline}.comment__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35em;line-height:1.3}.comment__head-sep{color:var(--color-text-muted);font-weight:400;font-size:var(--fs-sm)}@media (max-width: 600px){.comment__head-sep{display:none}}.comment__head .comment__time{font-weight:400}.comment__body{white-space:pre-wrap}.comment__body+.comment__media{margin-top:6px}.comment__media .post__media{width:100%;max-width:min(100%,320px)}.comment__media .post__media.media-grid,.comment__media .post__media--grid-carousel,.comment__media .post__media--carousel{border-radius:var(--r-sm, 8px)}.comment__media .post__media-nav{width:28px;height:28px;font-size:18px}.comment__media .post__media-nav--prev{left:4px}.comment__media .post__media-nav--next{right:4px}.comment__media .post__media--grid-carousel{max-height:320px;max-width:min(100%,320px)}.comment__media:not(.media-grid)>.media-grid{display:grid;gap:4px;width:100%;max-width:min(100%,280px);min-width:0}.comment__actions{display:flex;align-items:center;gap:var(--sp-2);font-size:12px;color:var(--color-text-muted);padding-left:12px}.comment__time{font-size:12px;color:var(--color-text-muted)}.comment__link-btn{background:none;border:none;padding:0;font:inherit;color:var(--color-text-muted);font-weight:600;cursor:pointer}.comment__link-btn:hover{text-decoration:underline;color:inherit}.comment__edit-input{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--r-md);padding:6px 10px;font:inherit;background:var(--color-surface);resize:none;overflow-y:hidden;min-height:36px}.comment-composer--edit .comment-composer__input{max-height:none}.comment-composer{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-1)}.comment-composer .avatar{width:32px;height:32px;flex:0 0 32px}.comment-composer--disabled{font-size:var(--fs-sm);padding:var(--sp-2) 0}.comment-composer--edit{position:relative;display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;margin-top:4px}.comment-edit__gallery{width:100%;min-width:0}.comment-edit__gallery .post__media,.comment-edit__gallery .post__media--grid-carousel,.comment-edit__gallery .post__media--carousel{max-width:min(100%,320px)}.comment-edit__gallery .post__media--grid-carousel{max-height:320px}.comment-edit__gallery .media-grid__cell,.comment-edit__gallery .post__media-slide,.comment-edit__gallery .post__media-single{position:relative}.comment-edit__gallery .comment-composer__preview-remove{z-index:2}.post-edit__gallery{width:100%;min-width:0}.post-edit__gallery .media-grid__cell,.post-edit__gallery .post__media-slide,.post-edit__gallery .post__media-single{position:relative}.post-edit__gallery .post-composer__preview-remove{z-index:2}.comment-composer--edit .comment-composer__previews{min-width:0;max-width:100%}.comment-composer--edit.is-drop-target{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--r-md)}.comment-composer__input-wrap{position:relative;flex:1;background:var(--color-surface-2);border-radius:18px;padding:6px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.comment-composer__input-wrap.is-drop-target{outline:2px solid var(--color-primary);outline-offset:-2px}.comment-composer__drop-overlay{position:absolute;inset:0;border-radius:inherit;background:var(--color-overlay);color:var(--color-overlay-text);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.comment-composer__drop-overlay[hidden]{display:none}.comment-composer__drop-overlay-inner{display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:10px 16px;border:2px dashed rgba(255,255,255,.7);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em}.comment-composer__drop-icon{font-size:24px;line-height:1}.comment-composer__input{width:100%;border:none;background:transparent;resize:none;outline:none;font:inherit;padding:2px 0;overflow-y:hidden}.comment-composer__previews{display:flex;align-items:flex-start;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin-top:2px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.comment-composer__previews[hidden]{display:none}.comment-composer__preview{position:relative;flex:0 0 88px;width:88px;height:88px;aspect-ratio:1 / 1;align-self:flex-start;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border);scroll-snap-align:start}.comment-composer__preview img,.comment-composer__preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.comment-composer__preview--deleted{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;text-align:center}.comment-composer__preview-label{font-size:9px;line-height:1.2;color:var(--color-text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.comment-composer__preview--video .comment-composer__preview-remove{z-index:1}.comment-composer__preview--file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;text-align:center;color:var(--color-text)}.comment-composer__preview-ext{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.8}.comment-composer__preview-name{font-size:9px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.comment-composer__preview-size{font-size:8px}.comment__video-retention,.chat-message__video-retention{margin-top:6px;font-size:var(--fs-xs);line-height:1.35}.chat-composer__preview--video .chat-composer__preview-remove{z-index:1}.chat-composer__preview--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.media-grid__video-cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.media-grid__video-badge{position:absolute;bottom:4px;right:4px;font-size:10px;line-height:1;padding:2px 5px;border-radius:var(--r-sm);background:#000000a6;color:#fff}.media-grid__cell--deleted{cursor:default;opacity:.85}.media-grid__cell--deleted .media-grid__file-name{font-size:9px;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.comment-composer__preview-remove{position:absolute;z-index:1;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.comment-composer__preview-remove:hover{background:#000c}.comment-composer__actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.comment-composer__attach,.comment-composer__attach-disabled{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;background:transparent;border-radius:var(--r-sm, 6px);color:var(--color-text);cursor:pointer;appearance:none}.comment-composer__attach svg,.comment-composer__attach-disabled svg{width:22px;height:22px;display:block}.comment-composer__attach:hover{background:var(--color-surface-3, rgba(0, 0, 0, .05))}.comment-composer__attach-disabled{cursor:not-allowed;opacity:.45}.comment-composer__send{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:64px}.comment-composer__send-spinner{width:14px;height:14px;border-width:2px;border-color:#ffffff59;border-top-color:var(--color-text-inverse)}.comment-composer--submitting .comment-composer__send:disabled{opacity:1;cursor:default}.composer-tags{position:relative;flex:0 0 auto}.composer-tags__toggle{display:inline-flex;align-items:center;gap:var(--sp-2);padding:10px 15px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-sm);cursor:pointer;text-align:left;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.composer-tags__toggle:hover{background:var(--color-surface-3);border-color:var(--color-border-strong)}.composer-tags__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--r-pill)}.composer-tags__label{display:inline-flex;align-items:baseline;gap:5px;min-width:0}.composer-tags__prefix{color:var(--color-text-muted)}.composer-tags__value{color:var(--color-primary);font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-tags__chevron.collapsible-chevron{width:1.25rem;height:1.25rem;flex:0 0 auto}.composer-tags__chevron.collapsible-chevron .chevron-icon{width:.875rem;height:.875rem}.composer-tags--open .composer-tags__chevron .chevron-icon{transform:rotate(180deg)}.composer-tags__inputs{display:none}.composer-tags__item{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);cursor:pointer}.composer-tags-popup{position:absolute;top:calc(100% + 6px);right:0;width:min(235px,calc(100vw - 32px));z-index:10;max-height:min(300px,50vh);display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden}@media (max-width: 640px){.composer-tags-popup{right:auto;left:0}}.composer-tags-popup__hint{margin:0;padding:10px 12px;font-size:var(--fs-xs);line-height:1.4;border-bottom:1px solid var(--color-border)}.composer-tags-popup__list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:4px}.composer-tags-popup__item{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:var(--fs-sm);cursor:pointer;user-select:none;border-radius:var(--r-sm)}.composer-tags-popup__item:hover{background:var(--color-surface-2)}.composer-tags-popup__item input{flex-shrink:0}.post-composer-card{position:relative;overflow:visible;background:var(--color-surface-nested);border-color:var(--color-border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-md),inset 0 1px color-mix(in srgb,var(--color-primary-soft) 30%,transparent)}.post-composer-card>.card__body{padding:var(--sp-5)}.post-composer__top{display:flex;align-items:flex-start;gap:var(--sp-3)}.post-composer__avatar{flex:0 0 auto}.post-composer__avatar .avatar{width:68px;height:68px;border:2px solid var(--color-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-soft) 50%,transparent)}.post-composer__input-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3)}.post-composer__body-wrap{position:relative;width:100%;min-width:0;background:var(--color-surface-nested);border-radius:var(--r-md)}.post-composer__body-highlight{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none;margin:0;color:var(--color-text)}.post-composer__body-highlight .composer-person-mention{color:var(--color-primary);vertical-align:baseline}.post-composer__body-highlight .composer-membership-mention{color:var(--color-mention-membership, var(--color-primary))}.post-composer__body-highlight .composer-person-mention a{pointer-events:auto;color:inherit;font:inherit;vertical-align:baseline;text-decoration:none;cursor:pointer}.post-composer__body-highlight .composer-person-mention a:hover{text-decoration:underline}.post-composer__body-wrap .post-composer__body{position:relative;z-index:1;width:100%;caret-color:var(--color-text);background:transparent}.post-composer__body-wrap .textarea.post-composer__body{min-height:0;border:none;box-shadow:none}.post-composer__body-wrap .post-composer__body:not(:placeholder-shown){color:transparent;-webkit-text-fill-color:transparent}.post-composer__body-wrap .post-composer__body::placeholder{color:var(--color-text-muted);-webkit-text-fill-color:var(--color-text-muted);opacity:.85}.post-composer__body{resize:none;overflow-y:hidden;min-height:75px;background:var(--color-surface-nested);border-radius:var(--r-md);border:none}.post-composer__body::placeholder{font-size:20px}.post-composer__divider{height:1px;border:0;background:var(--color-border-subtle);margin:var(--sp-5) 0 0}.post-composer__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-5);flex-wrap:wrap}.post-composer__actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.post-composer__action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px 15px;border-radius:var(--r-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.post-composer__action-btn svg{width:20px;height:20px;display:block;color:var(--color-primary)}.post-composer__action-btn:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-strong)}.post-composer__action-btn:active:not(:disabled){transform:translateY(1px)}.post-composer__action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.post-composer__action-btn.is-disabled,.post-composer__action-btn:disabled{opacity:.45;cursor:not-allowed}.post-composer__publish{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto;flex:0 0 auto}.post-composer__publish .post-composer__submit{border-radius:var(--r-pill);padding:10px 24px}@media (max-width: 640px){.post-composer-card>.card__body{padding:var(--sp-4)}.post-composer__top{gap:var(--sp-3)}.post-composer__avatar .avatar{width:48px;height:48px}.post-composer__body{min-height:110px}.post-composer__footer{flex-direction:column;align-items:stretch}.post-composer__actions{flex-wrap:nowrap;gap:var(--sp-2)}.post-composer__action-btn{flex:1 1 0;min-width:0;padding:10px 8px;justify-content:center}.post-composer__publish{margin-left:0;width:100%;justify-content:space-between;flex-wrap:nowrap;gap:var(--sp-2)}.post-composer__publish .composer-tags{flex:1 1 auto;min-width:0}.post-composer__publish .composer-tags__toggle{max-width:100%}.post-composer__publish .composer-tags__value{display:none}}.post-composer__previews{display:flex;align-items:flex-start;gap:8px;overflow-x:auto;overflow-y:visible;padding:4px 2px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.post-composer__previews[hidden]{display:none}.post-composer__preview{position:relative;flex:0 0 110px;width:110px;height:110px;aspect-ratio:1 / 1;align-self:flex-start;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border);scroll-snap-align:start}.post-composer__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.post-composer__preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000b3;color:#fff;font:inherit;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.post-composer__preview-remove:hover{background:#000000e6}.post-composer__preview--file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;text-align:center;color:var(--color-text)}.post-composer__preview-ext{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.8}.post-composer__preview-name{font-size:9px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.post-composer__preview-size{font-size:8px}.post-composer__preview--giphy{flex:0 0 auto;width:auto;height:auto;aspect-ratio:unset;overflow:visible;display:flex;align-items:center;justify-content:center;padding:2px}.post-composer__preview--giphy .giphy-attachment,.post-composer__preview--giphy .post-composer__giphy{position:relative;inset:auto;width:auto;height:auto;max-width:min(320px,70vw);max-height:200px}.post-composer__preview--giphy video,.post-composer__preview--giphy img{position:static;inset:auto;width:auto;height:auto;max-width:min(320px,70vw);max-height:200px;object-fit:contain;object-position:center}.post-composer__bar-row{display:flex;align-items:flex-end;gap:12px}.post-composer__bar-row .post-composer__bar{flex:0 0 50%;min-width:0}@media (max-width: 600px){.post-composer__bar-row{flex-direction:column;align-items:stretch}.post-composer__bar-row .post-composer__bar{flex:1 1 auto;width:100%}.post-composer__bar-row .post-composer__submit-group{width:100%;justify-content:stretch}.post-composer__bar-row .post-composer__submit-group .post-composer__submit{flex:1}}.post-composer__bar{display:inline-flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface-2);justify-content:space-between}.post-composer__bar-label{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.post-composer__bar-actions{display:flex;align-items:center;gap:4px}.post-composer__bar-btn{appearance:none;background:transparent;border:none;padding:6px;border-radius:var(--r-sm, 6px);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}.post-composer__bar-btn svg{width:22px;height:22px;display:block}.post-composer__bar-btn:hover:not(:disabled){background:var(--color-surface-3, rgba(0, 0, 0, .05))}.post-composer__bar-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.post-composer__bar-btn--tag.is-tag-required{outline:2px solid var(--color-primary);outline-offset:2px;background:color-mix(in srgb,var(--color-primary) 14%,transparent);box-shadow:0 0 0 1px var(--color-primary)}.post-composer__bar-btn.is-disabled,.post-composer__bar-btn:disabled{opacity:.45;cursor:not-allowed}.post-composer__drop-overlay{position:absolute;inset:0;border-radius:inherit;background:var(--color-overlay);color:var(--color-overlay-text);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.post-composer__drop-overlay[hidden]{display:none}.post-composer__drop-overlay-inner{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;border:2px dashed rgba(255,255,255,.7);border-radius:var(--r-md);font-weight:600;letter-spacing:.02em}.post-composer__drop-icon{font-size:32px;line-height:1}.post-composer-card.is-drop-target{outline:2px solid var(--color-primary);outline-offset:-2px}.post-tag-popup-anchor{position:relative}.post-tag-popup{position:absolute;z-index:1100;width:260px;max-height:300px;display:flex;flex-direction:column;background:var(--color-surface, #fff);color:var(--color-text, #111);border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:var(--r-md);box-shadow:0 12px 32px #00000040;overflow:hidden}.post-tag-popup--floating{position:fixed}.post-tag-popup--mention{width:auto;min-width:220px}.post-tag-popup__section-label{padding:6px 10px 2px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.post-tag-popup__search{width:100%;border:none;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));padding:8px 10px;font:inherit;background:transparent;color:inherit;outline:none}.post-tag-popup__results{overflow-y:auto;display:flex;flex-direction:column}.post-tag-popup__result{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.post-tag-popup__result:hover,.post-tag-popup__result:focus-visible,.post-tag-popup__result.is-highlighted{background:var(--color-surface-2, rgba(0, 0, 0, .05));outline:none}.post-tag-popup__avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:0 0 auto}.post-tag-popup__avatar--blank{background:var(--color-surface-2, rgba(0, 0, 0, .08));display:inline-block}.post-tag-popup__name{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-tag-popup__age{font-weight:400}.post-tag-popup__empty{padding:10px 12px;font-size:12px}.toast-host{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--shadow-lg);pointer-events:auto}.toast__msg{font-size:var(--fs-sm)}.comment__media,.media-grid{display:grid;gap:6px;width:100%;min-width:0}.comment__media{max-width:min(100%,320px);margin-top:4px}.chat-message__media{display:grid;gap:6px;flex:0 0 auto;margin-top:var(--sp-1);max-width:100%;box-sizing:border-box}.comment-composer__previews.media-grid{max-width:min(100%,320px)}.media-grid__cell{position:relative;display:block;width:100%;min-width:0;aspect-ratio:1 / 1;overflow:hidden;border-radius:var(--r-sm, 8px);background:var(--color-surface);text-decoration:none;color:inherit}.media-grid__cell:hover{text-decoration:none}.media-grid__cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.post__media-grid-page.media-grid--post-9 .media-grid__cell{aspect-ratio:auto;height:100%;max-height:100%;min-height:0;align-self:stretch;justify-self:stretch}.post__media-grid-page[class*=media-grid--post-last-] .media-grid__cell{aspect-ratio:auto;height:100%;max-height:100%;min-height:0;align-self:stretch;justify-self:stretch;border-radius:2px;overflow:hidden}.post__media-grid-page.media-grid--post-last-1 .media-grid__cell{width:100%;height:100%;max-width:100%;max-height:100%}.post__media-grid-page.media-grid--post-last-1 .media-grid__cell img,.post__media-grid-page.media-grid--post-last-1 .media-grid__cell video{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;transform:none;object-fit:cover;object-position:center}.post__media-grid-page[class*=media-grid--post-last-]:not(.media-grid--post-last-1) .media-grid__cell img,.post__media-grid-page[class*=media-grid--post-last-]:not(.media-grid--post-last-1) .media-grid__cell video{width:110%;height:110%;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:cover;object-position:center}.media-grid__file-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;text-align:center;border:1px solid var(--color-border);cursor:pointer}.media-grid__video-cell{cursor:pointer}button.media-grid__video-cell,button.gallery__cell--video,button.admin-chat-media-tile__preview--video,button.post__media-slide--video,button.post__media-single,button.lore-topic-preview__slide.post__media-slide--video{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}button.media-grid__video-cell:focus-visible,button.gallery__cell--video:focus-visible,button.admin-chat-media-tile__preview--video:focus-visible,button.post__media-slide--video:focus-visible,button.post__media-single:focus-visible,button.lore-topic-preview__slide.post__media-slide--video:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.media-grid__file-ext{font-size:10px;font-weight:700;letter-spacing:.04em;opacity:.75}.media-grid__file-name{font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-grid__file-size{font-size:8px}.comment__media.media-grid--count-1,.media-grid--count-1:not(.chat-message__media),.comment__media:not(.media-grid)>.media-grid.media-grid--count-1{grid-template-columns:minmax(0,1fr);max-width:min(100%,240px)}.chat-message__media.media-grid--count-1{grid-template-columns:minmax(0,1fr);width:360px}.comment__media.media-grid--count-2,.media-grid--count-2:not(.chat-message__media),.comment__media:not(.media-grid)>.media-grid.media-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(100%,320px)}.chat-message__media.media-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr));width:480px}.comment__media.media-grid--count-3,.media-grid--count-3:not(.chat-message__media),.comment__media:not(.media-grid)>.media-grid.media-grid--count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:min(100%,320px)}.chat-message__media.media-grid--count-3{grid-template-columns:repeat(3,minmax(0,1fr));width:510px}.comment__media.media-grid--count-4,.media-grid--count-4:not(.chat-message__media),.comment__media:not(.media-grid)>.media-grid.media-grid--count-4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(100%,320px)}.chat-message__media.media-grid--count-4{grid-template-columns:repeat(2,minmax(0,1fr));width:480px}.comment__media.media-grid--count-5,.comment__media.media-grid--count-6,.comment__media.media-grid--count-7,.comment__media.media-grid--count-8,.comment__media.media-grid--count-9,.media-grid--count-5:not(.chat-message__media),.media-grid--count-6:not(.chat-message__media),.media-grid--count-7:not(.chat-message__media),.media-grid--count-8:not(.chat-message__media),.media-grid--count-9:not(.chat-message__media),.comment__media:not(.media-grid)>.media-grid.media-grid--count-5,.comment__media:not(.media-grid)>.media-grid.media-grid--count-6,.comment__media:not(.media-grid)>.media-grid.media-grid--count-7,.comment__media:not(.media-grid)>.media-grid.media-grid--count-8,.comment__media:not(.media-grid)>.media-grid.media-grid--count-9{grid-template-columns:repeat(3,minmax(0,1fr));max-width:min(100%,320px)}.chat-message__media.media-grid--count-5,.chat-message__media.media-grid--count-6,.chat-message__media.media-grid--count-7,.chat-message__media.media-grid--count-8,.chat-message__media.media-grid--count-9{grid-template-columns:repeat(3,minmax(0,1fr));width:510px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp-2)}.gallery.family-gallery{display:block;position:relative;width:100%}.fg-cell{position:absolute;overflow:hidden;border-radius:var(--r-sm);background:var(--color-surface);cursor:zoom-in;border:none;padding:0;margin:0;text-align:left}.fg-cell img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;opacity:1;transition:opacity .2s ease}.fg-cell--loading{background:linear-gradient(90deg,var(--color-surface-2) 0%,color-mix(in srgb,var(--color-surface) 70%,var(--color-surface-2)) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.fg-cell--loading img{opacity:0}.fg-cell--video{cursor:pointer}.fg-cell--deleted{cursor:default;display:flex;align-items:center;justify-content:center;padding:var(--sp-2);opacity:.85}.fg-cell__deleted-label{font-size:var(--fs-xs);text-align:center;word-break:break-word}.fg-cell__video-badge{position:absolute;bottom:6px;right:6px;pointer-events:none}.family-gallery--select-mode .fg-cell{cursor:default}.family-gallery--select-mode .fg-cell--selectable{cursor:pointer}.fg-cell-check{position:absolute;top:6px;right:6px;z-index:3;width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:#00000059;box-shadow:0 1px 3px #00000059;pointer-events:none;display:none;align-items:center;justify-content:center;color:#fff;font-size:.75rem;line-height:1;font-weight:700}.family-gallery--select-mode .fg-cell--selectable .fg-cell-check{display:flex}.fg-cell--selected .fg-cell-check{background:var(--color-primary, #2563eb);border-color:#fff}.fg-cell--selected .fg-cell-check:after{content:"✓"}.gallery-page-head h1{margin:0}.gallery-page-head__actions{justify-content:flex-end}.gallery-filter-btn.btn--ghost{border-color:var(--color-border-strong)}.gallery-filter-btn__badge{margin-left:.25rem;font-size:var(--fs-xs)}.gallery-filter-modal{max-width:min(520px,96vw)}.gallery-filter-modal__label{display:block;font-size:var(--fs-sm);margin-bottom:var(--sp-1)}.gallery-filter-modal__label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-1)}.gallery-filter-modal__label-row .gallery-filter-modal__label{margin-bottom:0}.gallery-filter-modal__clear{flex-shrink:0;padding:2px 8px;font-size:var(--fs-xs);color:var(--color-text-muted)}.gallery-filter-modal__empty{margin:var(--sp-1) 0 0;font-size:var(--fs-sm)}.gallery-filter-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.gallery-filter-modal__actions-right{display:flex;gap:var(--sp-2);margin-left:auto}.gallery-filter-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1);min-height:2rem}.gallery-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--fs-sm);cursor:pointer;max-width:100%}.gallery-filter-chip:hover{background:var(--color-surface-2)}.gallery-filter-chip__avatar{width:1.25rem;height:1.25rem;border-radius:50%;object-fit:cover;flex-shrink:0}.gallery-filter-chip__x{opacity:.7;font-size:1rem;line-height:1}.gallery-filter-results{margin-top:var(--sp-2);max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface)}.gallery-filter-result{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2);border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.gallery-filter-result:hover,.gallery-filter-result.is-highlighted,.gallery-filter-result.is-highlighted:hover{background:var(--color-surface-2)}.gallery-filter-result__kind{font-size:var(--fs-xs);flex-shrink:0;min-width:3.5rem}.gallery-filter-result__avatar{width:1.75rem;height:1.75rem;border-radius:50%;object-fit:cover;flex-shrink:0}.gallery__cell{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);aspect-ratio:1 / 1;border:1px solid var(--color-border);cursor:grab}.gallery__cell.is-primary button[data-act=primary]{color:var(--color-accent);font-weight:700;text-shadow:0 0 1px rgba(0,0,0,.8)}.gallery__cell-pfp-star{position:absolute;bottom:6px;right:6px;z-index:2;font-size:14px;line-height:1;color:var(--color-accent);text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.55);pointer-events:none}.gallery__cell img{width:100%;height:100%;object-fit:cover}.gallery__cell .progressive-image{position:absolute;inset:0}.gallery__cell .actions{position:absolute;inset:auto 6px 6px auto;z-index:2;display:flex;gap:4px}.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell,.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell img{cursor:default}.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell--selectable,.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell--selectable img{cursor:pointer}.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell .actions{display:none}.gallery__cell-check{position:absolute;top:6px;right:6px;z-index:3;width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:#00000059;box-shadow:0 1px 3px #00000059;pointer-events:none;display:none;align-items:center;justify-content:center;color:#fff;font-size:.75rem;line-height:1;font-weight:700}.gallery__cell--selected .gallery__cell-check,.gallery-carousel[data-gallery-select-mode="1"] .gallery__cell--selectable .gallery__cell-check{display:flex}.gallery__cell--selected .gallery__cell-check{background:var(--color-primary, #2563eb);border-color:#fff}.gallery__cell--selected .gallery__cell-check:after{content:"✓"}.gallery__cell--selectable:not(.gallery__cell--selected) .gallery__cell-check{background:#00000040}.gallery__cell .actions button{background:#0000008c;color:#fff;border:none;border-radius:6px;padding:2px 6px;font-size:11px}.gallery__cell--tagged-in{cursor:zoom-in}.gallery__cell--tagged-in img{opacity:.95}.gallery__cell-tag-badge{position:absolute;top:6px;left:6px;z-index:2;background:#0000008c;color:#fff;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:6px;pointer-events:none}.modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--color-media-bg) 50%,transparent);display:flex;align-items:center;justify-content:center;z-index:1200;padding:var(--sp-4)}.add-rel-layout{display:flex;align-items:stretch;justify-content:center;gap:var(--sp-4);max-width:min(980px,100%);max-height:90vh;width:100%}.add-rel-relations{flex:0 0 min(320px,34vw);min-width:260px;max-height:90vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.add-rel-relations__inner{display:flex;flex-direction:column;min-height:0;height:100%}.add-rel-relations__head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border)}.add-rel-relations__title{font-weight:600;line-height:1.3}.add-rel-relations__subtitle{font-size:.875rem;margin-top:var(--sp-1)}.add-rel-relations__body{flex:1 1 auto;overflow:auto;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.rel-groups{display:flex;flex-direction:column;gap:var(--sp-4)}.rel-groups__group-label{margin:0 0 var(--sp-2);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted, var(--color-text-muted))}.rel-groups__group--collapsible .rel-groups__group-label{margin:0;flex:1 1 auto;min-width:0;text-align:left}.rel-groups__group-toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;margin:0 0 var(--sp-2);padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rel-groups__group-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--r-sm)}.rel-groups__group-chevron.collapsible-chevron{width:1.25rem;height:1.25rem}.rel-groups__group-chevron.collapsible-chevron .chevron-icon{width:.875rem;height:.875rem}.rel-groups__group--collapsible.rel-groups__group--collapsed .rel-groups__group-body{display:none}.rel-groups__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.rel-groups__person{list-style:none}.rel-groups__person--with-actions{display:flex;align-items:center;gap:var(--sp-2)}.rel-groups__person--with-actions .rel-groups__person-link{flex:1 1 auto;min-width:0}.rel-groups__person-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--sp-1)}.rel-groups__person-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:background .12s ease}.rel-groups__person-link:hover{background:var(--color-surface-2, rgba(255, 255, 255, .04));text-decoration:none;color:inherit}.rel-groups__person-link:hover .rel-groups__person-name{text-decoration:underline}.rel-groups__person-text{display:flex;flex-direction:column;gap:2px;min-width:0}.rel-groups__person-name{font-weight:500;line-height:1.3}.rel-groups__person-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-1);font-size:.8125rem;line-height:1.2;color:var(--color-text-muted)}.rel-groups__person-age{font-size:inherit;line-height:inherit;color:inherit}.rel-groups__person-kind:before{content:"·";margin-right:var(--sp-1)}.rel-groups__person-meta>.rel-groups__person-kind:first-child:before{content:none;margin-right:0}.rel-groups__person-link:hover .rel-groups__person-meta,.rel-groups__person-link:hover .rel-groups__person-age,.rel-groups__person-link:hover .rel-groups__person-kind{color:var(--color-text-muted);text-decoration:none}.rel-groups__person-dates{font-size:.8125rem;line-height:1.2;color:var(--color-text-muted)}.rel-groups__person-link:hover .rel-groups__person-dates{color:var(--color-text-muted);text-decoration:none}.rel-groups__empty{margin:0;padding:0 var(--sp-2);font-size:.875rem}.add-rel-additional-fields{border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface-2, var(--color-surface))}.add-rel-additional-fields__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);cursor:pointer;user-select:none;list-style:none;padding:var(--sp-2) var(--sp-3);font-weight:500;color:var(--color-text)}.add-rel-additional-fields__summary::-webkit-details-marker{display:none}.add-rel-additional-fields__label{flex:1 1 auto;min-width:0}.add-rel-additional-fields__chevron.collapsible-chevron{width:1.25rem;height:1.25rem}.add-rel-additional-fields__chevron.collapsible-chevron .chevron-icon{width:.875rem;height:.875rem}.add-rel-additional-fields__body{padding:0 var(--sp-3) var(--sp-3);border-top:1px solid var(--color-border)}.add-rel-layout>.modal{flex:1 1 auto;min-width:0;width:min(560px,100%);max-height:90vh}@media (max-width: 899px){.add-rel-relations{display:none!important}.add-rel-layout{max-width:min(560px,100%)}}.modal{width:min(560px,100%);max-height:90vh;background:var(--color-surface);border-radius:var(--r-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal__head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);font-weight:600;display:flex;justify-content:space-between;align-items:center}.modal__body{padding:var(--sp-4);overflow:auto}.modal__foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--sp-2)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3)}.modal-actions--with-back{justify-content:space-between;align-items:center;width:100%}.modal-actions__end{display:flex;justify-content:flex-end;gap:var(--sp-2)}.modal-actions--stack-sm,.modal__foot.modal-actions--stack-sm{flex-wrap:wrap}@media (max-width: 600px){.modal-actions--stack-sm,.modal__foot.modal-actions--stack-sm,.modal__foot,.modal-actions--with-back{flex-direction:column-reverse;align-items:stretch}.modal-actions__end{flex-direction:column-reverse;align-items:stretch;width:100%}.modal-actions--stack-sm .btn,.modal-actions--with-back .btn,.modal-actions__end .btn,.modal__foot.modal-actions--stack-sm .btn,.modal__foot .btn{width:100%}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-hero{display:flex;gap:var(--sp-4);align-items:center}.page-hero__actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:flex-end;flex-shrink:0}.profile-hero{align-items:center}.profile-hero__avatar{flex-shrink:0}.profile-hero__avatar--lightbox{cursor:zoom-in;border-radius:var(--r-full, 50%)}.profile-hero__avatar--lightbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.profile-hero__main{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;justify-content:center}.profile-hero__name{margin:0;font-family:"Quattrocento",var(--font-serif);font-size:var(--fs-2xl);font-weight:400;line-height:1.2}@media (min-width: 601px){.profile-hero__main{margin-left:11px}.profile-hero__name{margin-left:-7px}}.profile-hero__legal{font-size:var(--fs-base);color:var(--color-text-muted)}.profile-hero__identity{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);color:var(--color-text-muted)}.profile-hero__life-dates{white-space:nowrap}.profile-hero__nicknames{font-size:var(--fs-sm);line-height:1.5;color:var(--color-text-muted)}.profile-hero__status-block{display:flex;flex-direction:column;gap:var(--sp-1)}.profile-hero__status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-left:-8px;margin-top:5px}.profile-hero__sep{color:var(--color-text-muted);user-select:none}.profile-hero__meta{font-size:var(--fs-sm);line-height:1.5;color:var(--color-text-muted)}.profile-hero__actions-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:flex-end}.profile-about__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.profile-about__title{flex:1 1 auto;min-width:0}.profile-about__toggle{flex:0 0 auto;padding:var(--sp-1) var(--sp-2);min-width:2.75rem;min-height:2.75rem}.collapsible-chevron{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.75rem;height:1.75rem;color:var(--color-text-muted)}.collapsible-chevron .chevron-icon{display:block;width:1.25rem;height:1.25rem;transition:transform .15s ease;transform:rotate(0)}.profile-about.is-expanded .profile-about__chevron .chevron-icon,.profile-section-card:not(.profile-section-card--collapsed) .profile-section-card__chevron .chevron-icon,.dir-memberships-card:not(.dir-memberships-card--collapsed) .dir-memberships-card__chevron .chevron-icon,.posts-occasion-card:not(.posts-occasion-card--collapsed) .posts-occasion-card__chevron .chevron-icon,.admin-collapsible-card:not(.admin-collapsible-card--collapsed) .admin-collapsible-card__chevron .chevron-icon,.lightbox--panel-expanded .lightbox__panel-toggle .lightbox__panel-chevron .chevron-icon,.rel-groups__group--collapsible:not(.rel-groups__group--collapsed) .rel-groups__group-chevron .chevron-icon,.add-rel-additional-fields[open]>.add-rel-additional-fields__summary .add-rel-additional-fields__chevron .chevron-icon,.lightbox__panel-section--collapsible:not(.lightbox__panel-section--collapsed) .lightbox__panel-section-chevron .chevron-icon{transform:rotate(180deg)}.profile-about__chevron{width:1.75rem;height:1.75rem}.profile-about__text{word-break:break-word}.profile-about__content{white-space:pre-wrap;overflow-wrap:anywhere}.profile-about.is-collapsed .profile-about__content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.toolbar--stack-sm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2)}@media (max-width: 600px){.page-hero,.profile-hero{flex-direction:column;align-items:stretch}.page-hero__actions,.profile-hero__actions-row{justify-content:flex-start}.profile-hero__name{margin-left:0}.page-hero__actions .btn,.page-hero__actions>a.btn{flex:1 1 auto;min-width:0}.page-hero__actions .action-menu{flex:0 0 auto}.toolbar--stack-sm{flex-direction:column;align-items:stretch}.toolbar--stack-sm>.flex{width:100%;justify-content:stretch}.toolbar--stack-sm .btn{flex:1 1 auto}}.form-grid{display:grid;gap:var(--sp-3)}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 980px){.form-grid--4,.form-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.form-grid--2,.form-grid--3,.form-grid--4{grid-template-columns:minmax(0,1fr)}}.profile-form-nested{background:var(--color-surface-nested, var(--color-surface-2))}.profile-form-nested>.card__header{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.profile-form-nested>.card__body{padding:var(--sp-2) var(--sp-3)}.profile-form-contact-split{align-items:stretch}.education-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--color-border-subtle);border-radius:var(--r-md)}.education-row__attending{align-self:end;min-height:2.5rem}.education-row__actions{display:flex;justify-content:flex-end}.education-profile-list{display:flex;flex-direction:column}.education-profile-item{display:flex;align-items:flex-start;gap:var(--sp-3);padding-block:var(--sp-3)}.education-profile-item:first-child{padding-top:0}.education-profile-item:last-child{padding-bottom:0}.education-profile-item+.education-profile-item{border-top:1px solid var(--color-border-subtle)}.education-profile-item__logo{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-success)}.education-profile-item__logo svg{width:22px;height:22px}.education-profile-item__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.education-profile-item__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.education-profile-item__school{min-width:0;overflow-wrap:break-word}.education-profile-item__years{flex:none;white-space:nowrap;font-size:var(--fs-sm)}.education-profile-item__degree{font-size:var(--fs-sm)}.education-profile-item__focus{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:2px;font-size:var(--fs-sm);color:var(--color-text-muted)}.education-profile-item__major,.education-profile-item__minor{display:inline-flex;align-items:center;gap:var(--sp-1);min-width:0}.education-profile-item__major svg,.education-profile-item__minor svg{width:15px;height:15px;flex:none}.education-profile-item__major svg,.education-profile-item__minor svg{color:var(--tree-parent-union-0)}.education-profile-item__sep{color:var(--color-border-strong)}.callout{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--color-border);background:var(--color-surface-2);font-size:var(--fs-sm)}.callout--danger{border-color:var(--color-danger, #c0392b);background:color-mix(in oklab,var(--color-danger, #c0392b) 10%,var(--color-surface));color:var(--color-danger, #c0392b)}.callout--info{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text)}.site-banner-host{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);width:79%;margin:0 auto}.site-banner{display:flex;align-items:flex-start;gap:var(--sp-3);padding:15px 25px}.site-banner__content{flex:1;min-width:0}.site-banner__title{font-size:var(--fs-md);font-weight:600}.site-banner__body{margin-top:2px;white-space:pre-wrap}.site-banner__dismiss{flex:none;border:none;background:transparent;color:inherit;font-size:2.25rem;line-height:1;cursor:pointer;padding:0 var(--sp-1);opacity:.7;margin-top:5px}.site-banner__dismiss:hover{opacity:1}.admin-announcements{display:flex;flex-direction:column;gap:var(--sp-2)}.admin-announcements__item{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface-2)}.admin-announcements__content{flex:1;min-width:0}.admin-announcements__title{font-weight:600}.admin-announcements__body{margin:2px 0 4px;white-space:pre-wrap}.rel-section-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--sp-2)}.rel-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.rel-section-head--actions{justify-content:flex-start}.profile-section-card__header{padding:0}.profile-section-card__toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.profile-section-card__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.profile-section-card__heading{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-section-card__heading-row{display:inline-flex;align-items:center;gap:var(--sp-2)}.profile-section-card__heading-icon{display:inline-flex;flex:none;color:var(--color-primary)}.profile-section-card__heading-icon svg{width:18px;height:18px}@media (min-width: 981px){.profile-section-card__toggle{cursor:default;pointer-events:none}.profile-section-card__chevron{display:none}}@media (max-width: 980px){.profile-section-card--collapsed .profile-section-card__body{display:none}.profile-section-card--collapsed .profile-section-card__header{border-bottom:none}}.rel-connection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--color-border);background:var(--color-surface-raised, var(--color-surface))}.rel-connection-bar__chip{font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted);white-space:nowrap}.rel-connection-bar__chip:not(:last-child):after{content:"·";margin-left:var(--sp-2);font-weight:400;color:var(--color-border-strong)}.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-2)}.rel-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--color-border-strong);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.rel-chip:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.rel-chip:active{transform:translateY(1px)}.rel-chip__label{font-weight:600;color:var(--color-text)}.rel-chip__hint{font-size:var(--fs-xs);color:var(--color-text-muted)}.change-requests-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.review-media-preview{display:flex;flex-direction:column;gap:var(--sp-2)}.review-media-preview__context{font-size:var(--fs-sm)}.review-media-preview__grid{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.review-media-preview__img{width:96px;height:96px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--color-border);background:var(--color-surface-2)}.change-request-media-preview__img{max-width:160px;max-height:160px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--color-border)}.change-request-diff-wrap{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--r-md);padding:var(--sp-3)}.change-request-diff{display:flex;flex-direction:column;gap:var(--sp-2);margin:0}.change-request-diff__row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:var(--sp-2) var(--sp-3);align-items:baseline;font-size:var(--fs-sm)}.change-request-diff__label{margin:0;font-weight:600;color:var(--color-text-muted)}.change-request-diff__values{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1) var(--sp-2)}.change-request-diff__before{color:var(--color-text-muted)}.change-request-diff__arrow{color:var(--color-text-muted);font-size:var(--fs-xs)}.change-request-diff__after--highlight{background:color-mix(in srgb,var(--color-warning) 22%,var(--color-surface));color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-warning) 45%,transparent);border-radius:var(--r-sm);padding:2px 8px;font-weight:600}@media (max-width: 600px){.change-request-diff__row{grid-template-columns:minmax(0,1fr)}}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5)}@media (max-width: 980px){.page-grid{grid-template-columns:minmax(0,1fr)}.page-grid__sidebar{order:-1}}.list-tight{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.list-tight>li{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md)}.list-tight>li:hover{background:var(--color-surface-2)}.admin-audit-log{max-height:200px;overflow-y:auto}.admin-collapsible-card__header{padding:0}.admin-collapsible-card__toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.admin-collapsible-card__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.admin-collapsible-card__heading{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-collapsible-card--collapsed .admin-collapsible-card__body{display:none}.admin-collapsible-card--collapsed .admin-collapsible-card__header{border-bottom:none}.admin-user-quotas{max-height:min(480px,60vh);overflow:auto}.admin-user-quotas__table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.admin-user-quotas__table th,.admin-user-quotas__table td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.admin-user-quotas__table th{font-weight:600;position:sticky;top:0;background:var(--color-surface);z-index:1}.admin-user-quotas__pct{font-variant-numeric:tabular-nums;font-weight:600}.account-storage__bar{margin-top:8px;height:6px;border-radius:999px;background:var(--color-border);overflow:hidden}.account-storage__bar-fill{height:100%;border-radius:inherit;background:var(--color-accent);transition:width .2s ease}.upload-progress{display:flex;align-items:center;gap:var(--sp-2);width:100%}.upload-progress[hidden]{display:none}.upload-progress__track{flex:1 1 auto;height:6px;border-radius:999px;background:var(--color-border);overflow:hidden}.upload-progress__fill{height:100%;width:0;border-radius:inherit;background:var(--color-accent);transition:width .15s ease}.upload-progress__label{flex:0 0 auto;font-size:var(--fs-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.delegation-add__intro{font-size:12px;line-height:1.45;margin:var(--sp-1) 0 0}.delegation-add__step{border-left:3px solid var(--color-border-strong);padding-left:var(--sp-3)}.delegation-add__field{display:flex;flex-direction:column;gap:4px}.delegation-add__label{font-weight:600;font-size:13px}.delegation-add__hint{font-size:12px;line-height:1.35}.delegation-add__results{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);margin-top:4px;display:flex;flex-direction:column;max-height:200px;overflow-y:auto}.delegation-add__picked{font-size:12px;margin-top:6px;padding:6px 8px;border-radius:var(--r-sm, 6px);background:var(--color-surface);border:1px solid var(--color-border)}.delegation-add__arrow{font-size:12px;text-align:center;line-height:1.3}.delegation-add__preview{font-size:13px;line-height:1.45;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--color-surface);border:1px solid var(--color-border-strong)}.divider{height:1px;background:var(--color-border);margin:var(--sp-3) 0}.login-shell{flex:1;display:grid;place-items:center;padding:var(--sp-6) var(--sp-4)}.login-card{width:100%;max-width:420px;padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.login-card__title{font-size:var(--fs-xl);font-weight:700}.login-card__error{color:var(--color-danger);font-size:var(--fs-sm);background:var(--color-danger-soft);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md)}.tree-page{padding:0;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tree-page>.container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.tree-page-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.tree-breadcrumb:empty{display:none}.tree-breadcrumb:not(:empty){flex:0 0 auto}.tree-shell{position:relative;border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-surface);overflow:hidden;flex:1 1 auto;min-height:0}.tree-shell--node-nav{outline:2px solid color-mix(in srgb,var(--tree-card-selected-stroke) 55%,transparent);outline-offset:-2px}.tree-svg{width:100%;height:100%;display:block}.tree-canvas-overlays{position:absolute;top:var(--sp-3);left:var(--sp-3);z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);max-width:min(420px,calc(100% - var(--sp-6)));pointer-events:none}.tree-toolbar{display:flex;align-items:center;gap:var(--sp-2);max-width:100%;background:var(--color-surface);padding:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);opacity:0;pointer-events:auto;transition:opacity .14s ease,box-shadow .14s ease}.tree-toolbar:hover,.tree-toolbar:focus-within{opacity:1;box-shadow:var(--shadow-md)}.tree-toolbar__help{font-size:var(--fs-sm);line-height:1.4;min-width:0;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .18s ease,opacity .14s ease}.tree-toolbar:hover .tree-toolbar__help{max-width:min(420px,calc(100vw - 12rem));opacity:1;white-space:normal}.tree-toolbar__zoom{display:flex;flex-direction:column;align-items:stretch;gap:2px;flex:0 0 auto}.tree-toolbar__zoom-btn{min-width:2rem;min-height:1.75rem;padding-inline:.45rem;font-size:1rem;line-height:1;touch-action:none;user-select:none}.tree-pan{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1.75rem);grid-template-rows:repeat(3,1.75rem);gap:2px;padding:2px;border-radius:var(--r-sm);border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-surface))}.tree-pan__btn{min-width:0;width:100%;height:100%;padding:0;font-size:.85rem;line-height:1;touch-action:none;user-select:none}.tree-pan__btn[data-pan=up]{grid-column:2;grid-row:1}.tree-pan__btn[data-pan=left]{grid-column:1;grid-row:2}.tree-pan__btn[data-pan=right]{grid-column:3;grid-row:2}.tree-pan__btn[data-pan=down]{grid-column:2;grid-row:3}.tree-details{position:absolute;top:var(--sp-3);right:var(--sp-3);width:min(360px,92%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-4);display:none;z-index:2}.tree-undo-preview{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:1;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.tree-details.visible{display:block}@media (max-width: 980px){.tree-page-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.tree-details{inset:auto 0 0;width:auto;max-height:45vh;overflow-y:auto;border-radius:var(--r-lg) var(--r-lg) 0 0}.tree-canvas-overlays{max-width:calc(100% - var(--sp-6))}.tree-toolbar__help{font-size:var(--fs-xs);line-height:1.35}}@media (max-width: 600px){.tree-toolbar{display:none}}.tree-details__row{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35}.tree-details__k{font-size:11px;letter-spacing:.01em}.tree-details__main{display:flex;align-items:flex-start;gap:var(--sp-3)}.tree-details__body{flex:1 1 auto;min-width:0}.tree-details__avatar{flex:0 0 auto;width:128px;height:128px;border-radius:var(--r-md);border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-surface));overflow:hidden}.tree-details__avatar img{width:100%;height:100%;object-fit:cover;display:block}.tree-details__profile-actions{display:flex;align-items:stretch;gap:var(--sp-2)}.tree-details__profile-link{flex:1 1 auto;min-width:0;justify-content:center}.tree-details__profile-actions .message-send-btn{flex:0 0 auto}.tree-hover-preview{position:absolute;top:var(--sp-3);left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:var(--sp-3);max-width:min(420px,calc(100% - var(--sp-6)));padding:var(--sp-2) var(--sp-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-md);pointer-events:none;opacity:1;transition:opacity .12s ease}.tree-hover-preview[hidden]{display:none}.tree-hover-preview__avatar{flex:0 0 auto;width:52px;height:52px;object-fit:cover;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-surface))}.tree-hover-preview__avatar-placeholder{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-surface));position:relative}.tree-hover-preview__avatar-placeholder:after{content:"";position:absolute;inset:30%;border-radius:50%;background:var(--color-text-muted);opacity:.35}.tree-hover-preview__text{min-width:0;display:flex;flex-direction:column;gap:2px}.tree-hover-preview__name{font-size:18px;font-weight:600;line-height:1.25;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-hover-preview__age{font-size:14px;line-height:1.3}.tree-node text{fill:var(--tree-text-name);font-size:16px;pointer-events:none;user-select:none}.tree-link{fill:none;stroke:var(--tree-link-parent);stroke-width:1.25;stroke-linecap:square;transition:opacity .14s ease,stroke-width .14s ease}.tree-link.parent{stroke:var(--tree-link-parent)}.tree-link.parent.tree-link-parent--u0{stroke:var(--tree-parent-union-0)}.tree-link.parent.tree-link-parent--u1{stroke:var(--tree-parent-union-1)}.tree-link.parent.tree-link-parent--u2{stroke:var(--tree-parent-union-2)}.tree-link.parent.tree-link-parent--u3{stroke:var(--tree-parent-union-3)}.tree-link.parent.tree-link-parent--u4{stroke:var(--tree-parent-union-4)}.tree-link.spouse{stroke:var(--tree-link-spouse);stroke-width:1.5}.tree-link.spouse.former{stroke-dasharray:5 4;stroke:var(--tree-link-spouse-former)}.tree-node .tree-node-tile{fill:var(--tree-card-fill);stroke:var(--tree-card-stroke);stroke-width:1;transition:stroke .14s ease,filter .14s ease}.tree-node--compact .tree-node-tile{fill:var(--tree-card-fill-compact)}.tree-node--male .tree-node-accent{fill:var(--tree-accent-male)}.tree-node--female .tree-node-accent{fill:var(--tree-accent-female)}.tree-node--sex-neutral .tree-node-accent{fill:var(--tree-accent-neutral)}.tree-node--compact .tree-node-name,.tree-node-name{fill:var(--tree-text-name)}.tree-node-subtitle{fill:var(--tree-text-subtitle);font-style:italic}.tree-node-date{fill:var(--tree-text-date)}.tree-link.member-of{stroke:var(--color-text-muted);stroke-dasharray:2 3}.tree-node--placeholder .tree-node-tile{stroke-dasharray:5 4;stroke:var(--color-text-muted);opacity:.75}.tree-node--placeholder .tree-node-name,.tree-node--placeholder .tree-node-subtitle,.tree-node--placeholder .tree-node-date{fill:var(--color-text-muted);font-style:italic}.tree-node:hover>.tree-node-tile{stroke:var(--tree-card-stroke-hover)}.tree-node-halo{opacity:0;pointer-events:none;transition:opacity .14s ease}.tree-node--focused>.tree-node-tile{stroke:var(--tree-card-selected-stroke);stroke-width:1.5}.tree-node--focused.tree-node--hover-source>.tree-node-tile,.tree-node--focused.tree-node--hover-related>.tree-node-tile{stroke:var(--tree-card-selected-stroke);stroke-width:2}.tree-node--focused .tree-node-halo{opacity:1;stroke:var(--tree-card-selected-stroke);stroke-opacity:.22}.tree-node--focused.tree-node--hover-source .tree-node-halo{stroke:var(--tree-card-selected-stroke);stroke-opacity:.38}.tree-shell--lineage-hover .tree-node:hover>.tree-node-tile{stroke:var(--tree-card-stroke)}.tree-node{transition:opacity .14s ease}.tree-node--hover-dim:not(.tree-node--focused){opacity:var(--tree-hover-dim-opacity)}.tree-node--hover-source>.tree-node-tile{stroke:var(--tree-hover-source-stroke);stroke-width:1.5}.tree-node--hover-source .tree-node-halo{opacity:1;stroke:var(--tree-hover-source-stroke);stroke-opacity:.28}.tree-node--hover-related>.tree-node-tile{stroke:var(--tree-hover-related-stroke);stroke-width:1.25}.tree-shell--lineage-hover .tree-link--hover-dim{opacity:var(--tree-hover-dim-opacity)}.tree-shell--lineage-hover .tree-link--hover-active{opacity:1;stroke-width:2.25}.tree-shell--lineage-hover .tree-link.spouse.tree-link--hover-active{stroke-width:2.5}.tree-add,.tree-swap{transition:opacity .14s ease}@media (hover: hover){.tree-add,.tree-swap{opacity:0;pointer-events:none}.tree-node:hover .tree-add,.tree-add:focus-within,.tree-node:hover .tree-swap,.tree-swap:focus-within{opacity:1;pointer-events:auto}}.tree-add circle{transition:filter .12s ease}.tree-add:hover circle{filter:brightness(1.12)}.tree-swap-hit{transition:stroke .12s ease,filter .12s ease}.tree-swap circle{transition:filter .12s ease,stroke .12s ease}.tree-swap:hover .tree-swap-hit{stroke:var(--color-primary)}.tree-swap:hover circle{filter:brightness(1.05);stroke:var(--color-primary)}.tree-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;font-size:13px}.tree-breadcrumb strong{color:var(--color-text)}.tree-link.ghost{stroke:var(--color-text-muted);stroke-dasharray:3 3;stroke-width:1}.tree-ghost rect{transition:stroke .12s ease,filter .12s ease}.tree-ghost:hover rect{stroke:var(--color-primary);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.tree-visual-popup{min-width:220px;padding:var(--sp-2)}.tree-visual-popup__title{font-size:.75rem;padding:var(--sp-1) var(--sp-2);text-transform:uppercase;letter-spacing:.04em}.tree-visual-popup__options{display:flex;flex-direction:column;width:100%}.tree-visual-popup__option{width:100%;box-sizing:border-box}.tree-visual-popup__option.is-active{background:var(--color-surface-elevated)}.tree-visual-popup__check{margin-left:auto;font-size:.85rem}.network-edge{stroke:var(--tree-link-parent);stroke-linecap:round}.network-edge--partner{stroke:var(--tree-link-spouse)}.network-edge--former-partner,.network-edge--former{stroke:var(--tree-link-spouse-former);opacity:.75}.network-edge--step-parent-child,.network-edge--adoptive-parent-child,.network-edge--guardian-parent-child{stroke:var(--color-text-muted)}.network-edge--unknown-parent-child,.network-edge--unknown{stroke:var(--color-text-muted);opacity:.85}.network-edge--dim{opacity:.2}.tidy-tree-svg{touch-action:none}.tidy-tree-svg .tree-node{transition:opacity .14s ease}.tree-shell--tidy-hover .tidy-tree-svg .tree-node--hover-dim:not(.tree-node--focused){opacity:var(--tree-hover-dim-opacity)}.tree-shell--tidy-hover .tidy-tree-svg .network-edge--dim{opacity:var(--tree-hover-dim-opacity)}.tree-shell--tidy-hover .tidy-tree-svg .network-edge--hover-active{opacity:1;stroke-width:2.25}.tree-shell--tidy-hover .tidy-tree-svg .network-edge--hover-active.network-edge--partner{stroke-width:2.5}.tidy-tree-links .tidy-tree-link{pointer-events:none;stroke-linecap:round}.tidy-tree-svg .tidy-tree-links .network-edge{stroke:var(--color-text-muted);stroke-opacity:.45}.tidy-tree-svg .tidy-tree-links .network-edge--partner{stroke:var(--color-danger);stroke-opacity:.9}.tidy-tree-svg .tidy-tree-links .network-edge--former-partner{stroke:var(--color-text-muted);stroke-opacity:.75;stroke-dasharray:2 4}.tidy-tree-partner-label{fill:var(--color-text-muted);font-size:11px;font-weight:500;pointer-events:none;user-select:none}.tidy-tree-partner-label--married,.tidy-tree-partner-label--partner{fill:var(--color-danger)}.tidy-tree-partner-label--former{fill:var(--color-text-muted)}.tree-shell--tidy-hover .tidy-tree-partner-label--dim{opacity:var(--tree-hover-dim-opacity)}.tidy-tree-collapse-btn{fill:var(--color-surface);stroke:var(--color-text-muted);stroke-width:1.5;cursor:pointer}.tidy-tree-collapse-btn:hover,.tidy-tree-collapse-btn:focus{stroke:var(--color-primary);fill:var(--color-surface-elevated)}.tidy-tree-collapse-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tidy-tree-collapse-label{fill:var(--color-text);font-size:12px;font-weight:700;pointer-events:none}.tidy-tree-action{margin-left:0}.network-node__tile{fill:var(--tree-card-fill);stroke:var(--tree-card-stroke);stroke-width:1.5}.network-node__name{fill:var(--tree-text-name);font-size:12px;font-weight:600;pointer-events:none}.network-node__date{fill:var(--tree-text-date);font-size:10px;pointer-events:none}.network-node__account-star{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2;paint-order:stroke;pointer-events:none}.network-node__branch-mark{pointer-events:none}.network-node__branch-mark--0{fill:var(--tree-parent-union-0)}.network-node__branch-mark--1{fill:var(--tree-parent-union-1)}.network-node__branch-mark--2{fill:var(--tree-parent-union-2)}.network-node__branch-mark--3{fill:var(--tree-parent-union-3)}.network-node__branch-mark--4{fill:var(--tree-parent-union-4)}.network-node--associated .network-node__tile{fill:var(--tree-card-fill);stroke:var(--color-text-muted);opacity:.85}.network-node--placeholder .network-node__tile{stroke-dasharray:4 3}.network-node--adopted .network-node__tile{stroke-width:2}.network-node--stepchild .network-node__tile,.network-node--ward .network-node__tile{stroke-dasharray:5 3}.network-node--branch-0 .network-node__tile{stroke:var(--tree-parent-union-0)}.network-node--branch-1 .network-node__tile{stroke:var(--tree-parent-union-1)}.network-node--branch-2 .network-node__tile{stroke:var(--tree-parent-union-2)}.network-node--branch-3 .network-node__tile{stroke:var(--tree-parent-union-3)}.network-node--branch-4 .network-node__tile{stroke:var(--tree-parent-union-4)}.network-node:hover .network-node__tile,.network-node--hover .network-node__tile{filter:drop-shadow(0 2px 6px rgba(0,0,0,.12));stroke:var(--tree-card-hover-stroke, var(--color-primary))}.network-node--selected .network-node__tile{stroke:var(--tree-card-selected-stroke, var(--color-primary));stroke-width:2.5}.network-node--dim{opacity:.35}.network-union__shape{fill:var(--tree-card-fill);stroke:var(--tree-link-spouse);stroke-width:1.25}.network-union--former .network-union__shape{stroke:var(--tree-link-spouse-former);opacity:.8}.network-union--unknown .network-union__shape{stroke:var(--color-text-muted);stroke-dasharray:2 2}.network-union--partner .network-union__shape{stroke:var(--tree-link-spouse)}.about-page__inner{display:flex;flex-direction:column;gap:var(--sp-6);padding-bottom:var(--sp-8)}.about-hero{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08))}.about-hero img{display:block;width:50%;height:clamp(180px,32vw,320px);object-fit:cover;border-radius:25px}.about-prose{max-width:42rem;line-height:1.65;font-size:var(--fs-base)}.about-prose h1{margin:0 0 var(--sp-3);line-height:1.2}.about-prose h2{margin:var(--sp-6) 0 var(--sp-3);font-size:var(--fs-lg);line-height:1.25}.about-prose p{margin:0 0 var(--sp-3)}.about-prose ul{margin:0 0 var(--sp-3);padding-left:1.35rem}.about-prose li+li{margin-top:var(--sp-2)}.about-lead{font-size:var(--fs-lg);color:var(--color-text-muted)}.about-contact-me{font-weight:600;text-decoration:underline;text-underline-offset:2px}.about-tooltip{position:relative;display:inline;cursor:help}.about-tooltip__term{border-bottom:1px dotted var(--color-text-muted);color:inherit}.about-tooltip__bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);z-index:20;width:max-content;max-width:min(280px,85vw);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);line-height:1.45;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .12));pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.about-tooltip__bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-border)}.about-tooltip:hover .about-tooltip__bubble,.about-tooltip:focus-visible .about-tooltip__bubble{opacity:1;visibility:visible}.empty-state{text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--color-text-muted)}.feed-mode-bar{width:100%}.feed-mode-bar .btn{height:40px;white-space:nowrap}.feed-mode-seg__short{display:none}.feed-filter-wrap{margin-left:auto}.feed-filter-toggle{display:inline-flex;align-items:center;gap:6px}@media (max-width: 600px){.feed-mode-seg__full{display:none}.feed-mode-seg__short{display:inline}}.feed-filter-toggle__icon{width:16px;height:16px;flex:0 0 auto;display:block}.feed-filter-modal{width:min(360px,100%)}.feed-filter-modal__body{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-3);padding-bottom:var(--sp-3);overflow:hidden}.feed-filter-modal__search-wrap{flex:0 0 auto}.feed-filter-modal__search{width:100%}.feed-filter-modal__list{flex:1 1 auto;min-height:0;max-height:min(320px,50vh);overflow-y:auto;display:flex;flex-direction:column;margin:0 calc(-1 * var(--sp-1));padding:0 var(--sp-1)}.feed-filter-modal__item{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:var(--fs-sm);cursor:pointer;user-select:none;border-radius:var(--r-sm)}.feed-filter-modal__item:hover{background:var(--color-surface-2, rgba(0, 0, 0, .05))}.feed-filter-modal__item input{flex-shrink:0}.feed-filter-modal__empty{margin:0;font-size:var(--fs-sm)}.feed-sentinel{min-height:1px;padding:var(--sp-3) 0;display:flex;justify-content:center}.feed-sentinel__spinner,.feed-sentinel__end{color:var(--color-text-muted);font-size:var(--fs-sm)}.feed-sentinel__end{margin:0;text-align:center}.feed-catchup{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:500}.feed-catchup:before,.feed-catchup:after{content:"";flex:1;height:1px;background:var(--color-surface-3)}.feed-catchup__label{white-space:nowrap}.spinner{width:18px;height:18px;border:2px solid var(--color-surface-3);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.progressive-image{position:relative;overflow:hidden;display:block;width:100%;height:100%}.progressive-image__placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(12px);transform:scale(1.05);pointer-events:none;transition:opacity .25s ease}.progressive-image__main{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease}.progressive-image.is-loaded .progressive-image__main{opacity:1}.progressive-image.is-loaded .progressive-image__placeholder{opacity:0;visibility:hidden}.progressive-image--lightbox{position:relative;display:inline-block;line-height:0;width:auto;height:auto}.progressive-image--lightbox .lightbox__tags{position:absolute;inset:0;z-index:2}.progressive-image--lightbox .progressive-image__placeholder{object-fit:contain}.progressive-image--lightbox .progressive-image__main{width:auto;height:auto;max-width:min(96vw,1600px);max-height:92vh;object-fit:contain;z-index:0}.media-grid__cell .progressive-image,.post__media-slide .progressive-image{position:absolute;inset:0}.post__media-single .progressive-image{display:block;width:100%;max-height:min(70vh,560px);margin:0 auto;border-radius:var(--r-md);background:var(--color-surface-2)}.post__media-single .progressive-image__placeholder,.post__media-single .progressive-image__main{object-fit:contain}.skeleton-page{display:flex;flex-direction:column;gap:var(--sp-4)}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 0%,color-mix(in srgb,var(--color-surface) 70%,var(--color-surface-2)) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--r-sm)}.skeleton--circle{border-radius:50%;flex-shrink:0}.skeleton-line{height:.875rem;max-width:100%}.skeleton-card .card__header .skeleton-line{height:1rem}.skeleton-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.skeleton-row__text{flex:1 1 auto;min-width:0}.skeleton-post-head{margin-bottom:var(--sp-1)}.skeleton-pill-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.skeleton-pill{width:5.5rem;height:2rem;border-radius:999px}.skeleton-grid-3x3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.skeleton-grid-3x3 .skeleton{aspect-ratio:1}.skeleton-messenger-pane{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);min-height:12rem}.skeleton-tree-canvas{width:100%;min-height:min(60vh,520px);border-radius:var(--r-md)}.skeleton-login-field{height:2.75rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 700px){.skeleton-grid-3x3{grid-template-columns:repeat(2,minmax(0,1fr))}}.input--sm{padding:4px 8px;font-size:var(--fs-sm);width:auto;min-width:120px}.rel-row--editing{background:var(--color-surface-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md)}.rel-row--editing .rel-edit-fields .input,.rel-row--editing .rel-edit-fields .select{width:100%;max-width:100%;min-width:0}.rel-partnership-dates{font-size:var(--fs-sm);line-height:1.35}@media (max-width: 600px){.rel-groups__person--with-actions{flex-wrap:wrap;align-items:flex-start}.rel-groups__person-actions{flex:1 1 100%;justify-content:flex-end;padding:0 var(--sp-2) var(--sp-2)}.rel-section-head{flex-direction:column;align-items:stretch}}.rel-search-results{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;margin-top:var(--sp-1);padding:4px;border:1px solid var(--color-border-strong);border-radius:var(--r-md);background:var(--color-surface)}.rel-search-result{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;border-radius:var(--r-sm, 6px);cursor:pointer;color:inherit;font:inherit}.rel-search-result:hover,.rel-search-result:focus-visible{background:var(--color-surface-2);outline:none}.partial-date-field{display:flex;flex-direction:column;gap:6px}.partial-date-field__parts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.partial-date-field__month{flex:1 1 7rem;min-width:6rem}.partial-date-field__day{flex:0 1 4.5rem;width:4.5rem;min-width:3.5rem}.partial-date-field__year{flex:0 1 5.5rem;width:5.5rem;min-width:4.5rem}.partial-date-field__hint{font-size:11px;line-height:1.3}.death-undo-x{align-self:flex-start;margin-top:2px;padding:2px 8px;border:none;background:transparent;font-size:1.25rem;line-height:1;color:var(--color-text-muted);cursor:pointer;border-radius:var(--r-sm)}.death-undo-x:hover,.death-undo-x:focus-visible{color:var(--color-text);background:var(--color-surface-2);outline:none}.dir-memberships-card__header{padding:0}.dir-memberships-card__toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.dir-memberships-card__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dir-memberships-card__heading{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-memberships-card__hint{font-weight:400}@media (min-width: 981px){.dir-memberships-card__toggle{cursor:default;pointer-events:none}.dir-memberships-card__chevron{display:none}}@media (max-width: 980px){.dir-memberships-card--collapsed .dir-memberships-card__body{display:none}.dir-memberships-card--collapsed .dir-memberships-card__header{border-bottom:none}}.dir-memberships{display:flex;flex-direction:column;gap:2px}.dir-membership{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;color:inherit;font:inherit;border-radius:var(--r-sm, 6px);cursor:pointer}.dir-membership:hover,.dir-membership:focus-visible{background:var(--color-surface-2);outline:none}.dir-membership--active{background:var(--color-primary-soft);color:var(--color-text);font-weight:600}.dir-membership--active:hover,.dir-membership--active:focus-visible{background:var(--color-primary-soft)}.dir-membership__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-membership__count{font-size:var(--fs-sm);flex:0 0 auto}.dir-membership-preview{position:fixed;z-index:45;padding:4px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-md);pointer-events:none}.dir-membership-preview[hidden]{display:none}.dir-membership-preview__avatars{display:flex;align-items:center;gap:4px;pointer-events:auto}.dir-membership-preview__avatar .avatar{width:40px;height:40px}.dir-membership-preview__skeleton{width:40px;height:40px;border-radius:50%;background:var(--color-surface-2);animation:skeleton-shimmer 1.4s ease-in-out infinite}.dir-membership-preview__more,.dir-membership-preview__empty{font-size:var(--fs-xs);padding:0 4px}.dir-people-header__title{min-width:0;margin-right:var(--sp-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-row{display:flex;align-items:center;gap:var(--sp-2);padding:4px 6px;border-radius:var(--r-sm, 6px)}.dir-row:hover{background:var(--color-surface-2)}.dir-row__main{flex:1 1 auto;min-width:0}.dir-row__text{display:flex;flex-direction:column;min-width:0}.dir-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-row__age{font-size:var(--fs-sm);font-weight:400}.dir-row__match{display:flex;gap:4px;min-width:0;font-size:var(--fs-sm);font-weight:400}.dir-row__match-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-row__match-mark{padding:0 .1em;border-radius:2px;background:color-mix(in srgb,var(--color-warning) 28%,transparent);color:inherit;font-weight:600;font-style:normal}.dir-row__follow{flex:0 0 auto}#dir-page-head{scroll-margin-top:calc(var(--nav-height) + var(--site-banner-height) + var(--sp-2))}.dir-row__main.dir-kb-focus,.dir-row__follow.dir-kb-focus,.dir-membership.dir-kb-focus{scroll-margin-top:calc(var(--nav-height) + var(--site-banner-height) + var(--sp-2));outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--r-sm, 6px)}.dir-membership.dir-kb-focus{background:var(--color-surface-2)}.follow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.follow-row{display:flex;align-items:center;gap:var(--sp-2);padding:4px 6px;border-radius:var(--r-sm, 6px)}.follow-row:hover{background:var(--color-surface-2)}.follow-row__main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--sp-2)}.follow-row__name{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-row__sub{font-size:var(--fs-sm)}.follow-row__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-surface-2);font-size:14px;flex:0 0 auto}.posts-occasion-card__header{padding:0}.posts-occasion-card__toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.posts-occasion-card__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.posts-occasion-card__icon{display:inline-flex;flex:0 0 auto;width:18px;height:18px;color:var(--color-accent)}.posts-occasion-card__icon svg{display:block;width:100%;height:100%}.posts-occasion-card__icon--stroke svg{stroke:var(--color-accent)}.posts-occasion-card__icon--heart svg path{fill:var(--color-accent)}.posts-occasion-card__heading{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 981px){.posts-occasion-card__toggle{cursor:default;pointer-events:none}.posts-occasion-card__chevron{display:none}}@media (max-width: 980px){#posts-mode-help-card,.posts-occasion-card--collapsed .posts-occasion-card__body{display:none}.posts-occasion-card--collapsed .posts-occasion-card__header{border-bottom:none}}.birthday-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.birthday-row{display:flex;align-items:center;gap:var(--sp-2);padding:4px 6px;border-radius:var(--r-sm, 6px)}.birthday-row:hover{background:var(--color-surface-2)}.birthday-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.birthday-row__name{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-row__age{font-size:var(--fs-sm)}.anniversary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.anniversary-row{display:flex;align-items:center;gap:var(--sp-2);padding:4px 6px;border-radius:var(--r-sm, 6px)}.anniversary-row:hover{background:var(--color-surface-2)}.anniversary-row__avatars{display:flex;flex:0 0 auto;gap:2px}.anniversary-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.anniversary-row__names{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .35em;font-weight:500;min-width:0}.anniversary-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.anniversary-row__amp{color:var(--color-text-muted);font-weight:400;flex-shrink:0}.anniversary-row__years{font-size:var(--fs-sm)}.occasion-widget{display:flex;flex-direction:column;gap:var(--sp-3)}.occasion-widget__section--upcoming{padding-top:var(--sp-3);border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.occasion-widget__heading{margin:0 0 var(--sp-2);font-size:var(--fs-xs, .75rem);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted)}#birthdays-body .occasion-widget__heading{font-family:var(--font-display)}.occasion-widget__empty{margin:0}[data-lightbox-group] img{cursor:zoom-in}body.lightbox-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:1000;background:color-mix(in srgb,var(--color-media-bg) 92%,transparent);display:flex;align-items:center;justify-content:center;padding:24px}.lightbox__stage{position:relative;display:inline-block;line-height:0}.lightbox__img{max-width:min(96vw,1600px);max-height:92vh;object-fit:contain;border-radius:var(--r-md);box-shadow:0 12px 48px #0009;user-select:none;display:block}.lightbox__video{max-width:min(96vw,1600px);max-height:92vh;border-radius:var(--r-md);box-shadow:0 12px 48px #0009;background:var(--color-media-bg);display:block}.lightbox--video .lightbox__stage{line-height:normal}.lightbox__tags{position:absolute;inset:0;z-index:2;pointer-events:none}.lightbox__toolbar{position:absolute;top:16px;right:16px;display:flex;gap:8px;align-items:center;z-index:2}.lightbox__toggle{background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;transition:background .15s ease}.lightbox__toggle:hover{background:#000c}.lightbox__toggle.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.lightbox__toggle.is-muted{opacity:.7}.lightbox__toggle--icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0}.lightbox__toggle--icon .magnifier-icon{width:20px;height:20px;display:block}.lightbox__magnifier-controls{display:none;align-items:center;gap:8px;background:#0000008c;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 12px;color:#fff}.lightbox--magnifier .lightbox__magnifier-controls{display:inline-flex}.lightbox__magnifier-controls input[type=range]{width:120px;cursor:pointer}.lightbox__magnifier-value{font-size:12px;min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.lightbox__magnifier-loupe{position:fixed;width:320px;height:320px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 6px 24px #0000008c,inset 0 0 0 1px #0000004d;transform:translate(-50%,-50%);pointer-events:none;z-index:3;display:none}.lightbox__magnifier-loupe.is-visible{display:block}.lightbox--magnifier .lightbox__stage{cursor:crosshair}.lightbox__close,.lightbox__nav{position:absolute;display:inline-flex;align-items:center;justify-content:center;background:#00000080;color:#fff;border:none;border-radius:50%;cursor:pointer;font-family:inherit;line-height:1;padding:0;transition:background .15s ease}.lightbox__close:hover,.lightbox__nav:hover{background:#000c}.lightbox__close:focus-visible,.lightbox__nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.lightbox__close{position:static;width:40px;height:40px;font-size:28px}.lightbox__toolbar .action-menu__toggle{width:40px;height:40px;padding:0;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:20px;line-height:1;transition:background .15s ease}.lightbox__toolbar .action-menu__toggle:hover{background:#000c}.lightbox__toolbar .action-menu__toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.lightbox__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:32px;z-index:2}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}.lightbox__count{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#00000080;color:#fff;font-size:13px;padding:4px 10px;border-radius:999px;z-index:2}@media (max-width: 600px){.lightbox{padding:8px}.lightbox__nav{width:40px;height:40px;font-size:26px}.lightbox__nav--prev{left:6px}.lightbox__nav--next{right:6px}.lightbox__toolbar{top:8px;right:8px}.lightbox__close{width:36px;height:36px;font-size:24px}.lightbox__toolbar .action-menu__toggle{width:36px;height:36px;font-size:18px}}.lightbox--tagging .lightbox__stage{cursor:crosshair}.lightbox__tag-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:inline-flex;align-items:center}.lightbox__tag-dot{width:28px;height:28px;border-radius:50%;background:transparent;border:none;display:block;transition:background .12s ease,box-shadow .12s ease}.lightbox--tagging .lightbox__tag-dot{background:#ffffffd9;border:2px solid rgba(0,0,0,.55);box-shadow:0 0 0 2px #00000040;width:14px;height:14px}.lightbox__tag-marker--pending .lightbox__tag-dot{background:var(--color-primary)!important;border:2px solid rgba(255,255,255,.9)!important;width:14px;height:14px}.lightbox__tag-name{display:none;position:absolute;left:22px;top:50%;transform:translateY(-50%);background:#000000d9;color:#fff;font-size:14px;padding:7px 10px;border-radius:8px;white-space:nowrap;align-items:center;gap:10px}.lightbox__tag-marker:hover .lightbox__tag-name,.lightbox__tag-marker:focus-within .lightbox__tag-name,.lightbox__tag-marker.is-highlighted .lightbox__tag-name{display:inline-flex}.lightbox:not(.lightbox--show-tag-dots):not(.lightbox--tagging) .lightbox__tag-marker{pointer-events:none}.lightbox:not(.lightbox--show-tag-dots):not(.lightbox--tagging) .lightbox__tag-dot{opacity:0}.lightbox--show-tag-dots:not(.lightbox--tagging) .lightbox__tag-dot{background:#ffffffd9;border:2px solid rgba(0,0,0,.55);box-shadow:0 0 0 2px #00000040;width:14px;height:14px;opacity:1}.lightbox__tag-marker.is-highlighted .lightbox__tag-dot{background:#ffffffeb;border:2px solid rgba(0,0,0,.6);box-shadow:0 0 0 2px #0000004d;width:14px;height:14px}.lightbox__tag-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;cursor:pointer}.lightbox__tag-link:hover .lightbox__tag-label,.lightbox__tag-link:focus-visible .lightbox__tag-label{text-decoration:underline}.lightbox__tag-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.lightbox__tag-label{line-height:1.2}.lightbox__tag-remove{appearance:none;background:transparent;border:none;border-left:1px solid rgba(255,255,255,.25);color:#ffffffd9;font:inherit;font-size:18px;line-height:1;cursor:pointer;padding:2px 4px 2px 8px;margin-left:4px}.lightbox__tag-remove:hover{color:#fff}.lightbox__tag-popup{position:fixed;z-index:1100;width:325px;max-height:280px;display:flex;flex-direction:column;background:var(--color-surface, #fff);color:var(--color-text, #111);border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:var(--r-md);box-shadow:0 12px 32px #00000073;overflow:hidden}.lightbox__tag-search{width:100%;border:none;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));padding:8px 10px;font:inherit;background:transparent;color:inherit;outline:none}.lightbox__tag-results{overflow-y:auto;display:flex;flex-direction:column}.lightbox__tag-result{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.lightbox__tag-result:hover,.lightbox__tag-result:focus-visible,.lightbox__tag-result.is-highlighted{background:var(--color-surface-2, rgba(0, 0, 0, .05));outline:none}.lightbox__tag-result-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:0 0 auto}.lightbox__tag-result-avatar--blank{background:var(--color-surface-2, rgba(0, 0, 0, .1));display:inline-block}.lightbox__tag-result-name{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox__tag-result-age{font-weight:400}.lightbox__tag-empty{padding:8px 10px;font-size:12px}.lightbox__panel{position:absolute;top:50px;bottom:50px;right:24px;width:280px;max-height:none;height:auto;display:flex;flex-direction:column;background:#141416eb;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);box-shadow:0 10px 28px #00000080;overflow:hidden;z-index:1}.lightbox__panel-scroll{overflow-y:auto;flex:1 1 auto;min-height:0}.lightbox__panel-section{border-bottom:1px solid rgba(255,255,255,.08)}.lightbox__panel-section:last-child{border-bottom:none}.lightbox__details{margin:0;display:flex;flex-direction:column;gap:10px}.lightbox__details-row{display:grid;grid-template-columns:5.5rem 1fr;gap:8px;align-items:start}.lightbox__details-row dt{margin:0;font-size:10px;font-weight:600;color:#ffffff8c;text-transform:uppercase;letter-spacing:.02em}.lightbox__details-row dd{margin:0;font-size:10px;line-height:1.35;color:#ffffffeb}.lightbox__details-link{color:#a0c8fff2;text-decoration:underline;text-underline-offset:2px}.lightbox__details-link:hover{color:#fff}.lightbox__panel-body{padding:8px 12px 12px;font-size:14px;line-height:1.45}.lightbox__desc-text{margin:0;white-space:pre-wrap;word-break:break-word}.lightbox__desc-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px}.lightbox__desc-edit,.lightbox__desc-btn,.lightbox__comment-btn{border:none;background:transparent;color:#ffffffd9;font:inherit;font-size:12px;cursor:pointer;padding:0}.lightbox__desc-edit:hover,.lightbox__desc-btn:hover,.lightbox__comment-btn:hover{text-decoration:underline}.lightbox__desc-btn--muted,.lightbox__comment-btn--muted{color:#ffffff8c}.lightbox__desc-input,.lightbox__comment-input,.lightbox__comment-edit{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.15);border-radius:var(--r-sm);background:#00000059;color:#fff;font:inherit;font-size:13px;padding:8px;resize:none;overflow-y:hidden}.lightbox__desc-actions{display:flex;gap:12px;margin-top:8px}.lightbox__panel-comments{padding:4px 0}.lightbox__comment{display:flex;gap:8px;padding:8px 12px}.lightbox__comment-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#ffffff1a}.lightbox__comment-avatar--blank{display:inline-block}.lightbox__comment-main{flex:1 1 auto;min-width:0}.lightbox__comment-author{font-size:13px;font-weight:600;color:#fff;text-decoration:none}.lightbox__comment-author:hover{text-decoration:underline}.lightbox__comment-body{margin:2px 0 0;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.lightbox__comment-body .mention-link{color:#9ecbff}.lightbox__comment-body .mention-link--membership{color:#c5b0ff}.lightbox__comment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.lightbox__comment-time,.lightbox__comment-edited{font-size:11px;color:#ffffff8c}.lightbox__comment-btn--danger{color:#ff8a8a}.lightbox__comment-form{display:flex;flex-direction:column;gap:8px;padding:8px 12px 12px}.lightbox__comment-body-wrap{background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:var(--r-sm)}.lightbox__comment-body-wrap .post-composer__body-highlight{color:#ffffffeb}.lightbox__comment-body-wrap .composer-person-mention{color:#9ecbff}.lightbox__comment-body-wrap .composer-membership-mention{color:#c5b0ff}.lightbox__comment-body-wrap .lightbox__comment-input{position:relative;z-index:1;caret-color:#fff;background:transparent;border:none}.lightbox__comment-body-wrap .lightbox__comment-input:not(:placeholder-shown){color:transparent;-webkit-text-fill-color:transparent}.lightbox__comment-body-wrap .lightbox__comment-input::placeholder{color:#ffffff73;-webkit-text-fill-color:rgba(255,255,255,.45)}.lightbox__comment-mentions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.lightbox__comment-mentions-label{color:#ffffff8c;font-weight:500}.lightbox__comment-mention-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#ffffffe6}.lightbox__comment-mention-remove{background:transparent;border:0;color:#ffffff8c;cursor:pointer;font-size:1em;line-height:1;padding:0 2px}.lightbox__comment-mention-remove:hover{color:#fff}.lightbox__comment-submit{align-self:flex-end;border:none;border-radius:var(--r-sm);background:var(--color-primary);color:#fff;font:inherit;font-size:13px;padding:6px 12px;cursor:pointer}.lightbox__comment-submit:hover{filter:brightness(1.08)}.lightbox__comments-more{display:block;width:calc(100% - 24px);margin:4px 12px 8px;border:none;border-radius:var(--r-sm);background:#ffffff1a;color:#ffffffd9;font:inherit;font-size:12px;padding:8px;cursor:pointer}.lightbox__comments-more:hover{background:#ffffff29}.lightbox--has-panel .lightbox__nav--next{right:320px}.lightbox__panel-header{padding:10px 12px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.08)}.lightbox__panel-header--toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit}.lightbox__panel-header--toggle:focus-visible{outline:2px solid #fff;outline-offset:-2px}.lightbox__panel-header-label{flex:1 1 auto;min-width:0}.lightbox__panel-section-chevron.collapsible-chevron{width:1.25rem;height:1.25rem;color:#ffffffb3}.lightbox__panel-section-chevron.collapsible-chevron .chevron-icon{width:.875rem;height:.875rem}.lightbox__panel-section--collapsible.lightbox__panel-section--collapsed .lightbox__panel-section-body{display:none}.lightbox__panel-section--collapsible.lightbox__panel-section--collapsed .lightbox__panel-header--toggle{border-bottom:none}.lightbox__panel-list{display:flex;flex-direction:column;padding:4px 0}.lightbox__panel-row-wrap{display:flex;align-items:center;transition:background .12s ease}.lightbox__panel-row-wrap:hover,.lightbox__panel-row-wrap:focus-within{background:#ffffff14}.lightbox__panel-row{display:flex;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;color:inherit;cursor:pointer;flex:1 1 auto;min-width:0}.lightbox__panel-row:focus-visible,.lightbox__panel-row.is-highlighted{outline:none}.lightbox__panel-remove{flex:0 0 auto;margin-right:8px;width:24px;height:24px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font:inherit;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;transition:opacity .12s ease,background .12s ease}.lightbox__panel-remove:hover,.lightbox__panel-remove:focus-visible{opacity:1;background:#ff505099;outline:none}.lightbox__panel-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#ffffff1a}.lightbox__panel-avatar--blank{display:inline-block}.lightbox__panel-name{font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox__panel-empty{padding:12px;font-size:12px;color:#fff9}.lightbox__panel-toggle{display:none}.lightbox--has-panel{padding-right:336px}@media (max-width: 900px){.lightbox__panel-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;padding:10px 12px;border:none;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:pointer}.lightbox__panel-toggle:focus-visible{outline:2px solid #fff;outline-offset:-2px}.lightbox__panel-toggle-label{flex:1 1 auto;min-width:0}.lightbox__panel-chevron.collapsible-chevron{color:#ffffffd9}.lightbox__panel{position:absolute;inset:auto 16px 50px;width:auto;max-width:none;transform:none;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px)}.lightbox--panel-collapsed .lightbox__panel-scroll{display:none}.lightbox--panel-collapsed .lightbox__panel-toggle{border-bottom:none}.lightbox--has-panel{padding-right:8px;padding-bottom:8px}.lightbox--has-panel.lightbox--panel-expanded{padding-bottom:max(48vh,240px)}.lightbox--has-panel .lightbox__nav--next{right:16px}}@media (max-width: 600px){.lightbox--has-panel.lightbox--panel-expanded{padding-bottom:max(42vh,200px)}.lightbox__panel{bottom:40px}.lightbox--panel-expanded .lightbox__panel{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px)}}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--sp-4);align-items:start}.profile-grid__col{min-width:0}.profile-grid__col--right .post-composer-card{margin-bottom:var(--sp-4)}@media (max-width: 980px){.profile-grid{grid-template-columns:minmax(0,1fr)}}.profile-wall{display:flex;flex-direction:column;gap:var(--sp-4)}.profile-wall__empty{color:var(--color-text-muted);text-align:center;font-size:var(--fs-sm);padding:var(--sp-3) 0}.post__author-target{display:inline-flex;align-items:center;gap:var(--post-author-target-gap);margin-left:var(--post-author-target-gap);font-weight:500;color:var(--color-text-muted)}.post__author-target-arrow{font-size:1.1em;line-height:1;color:var(--color-text-muted)}.post__author-target a{color:var(--color-text);font-weight:600;padding-top:1px}.post__body--editing{padding:0;margin-top:var(--sp-1);white-space:normal}.post-composer--edit{display:flex;flex-direction:column;gap:var(--sp-2);position:relative;background:transparent;border:1px solid var(--color-border);border-radius:var(--r-md);padding:var(--sp-2);white-space:normal}.post-composer--edit .post-composer__body-wrap{background:transparent}.post-composer--edit .post-composer__body-wrap .post-composer__body,.post-composer--edit .post-composer__body-wrap .post-composer__body-highlight{min-height:0;padding:0;line-height:inherit;border:none;background:transparent;box-shadow:none}.post-composer--edit .post-composer__body:focus{border-color:transparent;box-shadow:none}.post-composer--edit .post-composer__body::placeholder{font-size:inherit}.post-composer--edit .post-composer__previews{padding:0}.post-composer--edit .post-composer__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:0;flex-wrap:nowrap}.post-composer--edit .post-composer__actions{gap:2px;flex-wrap:nowrap}.post-composer--edit .post-composer__action-btn{padding:4px 6px;border:none;background:transparent;border-radius:var(--r-sm)}.post-composer--edit .post-composer__action-btn:hover:not(:disabled){background:var(--color-surface-3);border-color:transparent}.post-composer--edit .post-composer__action-label{display:none}.post-composer--edit .post-composer__submit-group{margin-left:auto;align-items:center}.post-composer--edit .post-composer__submit-group .post-composer__submit,.post-composer--edit .post-composer__submit-group .post-composer__cancel{align-self:center;height:auto}.post-composer--edit .post-composer__submit-group .post-composer__submit{min-width:72px}.post-composer__submit-group{display:flex;align-items:stretch;gap:var(--sp-2);justify-content:flex-end;margin-left:auto;flex:0 0 auto}.post-composer__submit-group .post-composer__submit,.post-composer__submit-group .post-composer__cancel{flex:0 0 auto;align-self:stretch;height:auto}.post-composer__submit-group .post-composer__submit{min-width:96px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding-left:15px;padding-right:15px}.post-composer__submit-spinner{width:18px;height:18px;border-color:#ffffff59;border-top-color:var(--color-text-inverse)}.post-composer--submitting .post-composer__submit:disabled{opacity:1;cursor:default}.post-composer__mentions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-sm)}.post-composer__mentions-label{color:var(--color-text-muted);font-weight:500}.post-composer__mention-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--color-surface-2, rgba(0, 0, 0, .06));border:1px solid var(--color-border)}.post-composer__mention-remove{background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;font-size:1em;line-height:1;padding:0 2px}.post-composer__mention-remove:hover{color:var(--color-text)}.post-composer__mention-chip--membership{background:var(--color-accent-soft, rgba(64, 128, 255, .12));border-color:var(--color-accent)}.comment-composer__mentions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-sm);padding:2px 4px 0}.comment-composer__mentions-label{color:var(--color-text-muted);font-weight:500}.comment-composer__mention-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:var(--color-accent-soft, rgba(64, 128, 255, .12));border:1px solid var(--color-accent)}.comment-composer__mention-remove{background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;font-size:1em;line-height:1;padding:0 2px}.comment-composer__mention-remove:hover{color:var(--color-text)}.post-tag-popup__tabs{display:flex;gap:4px;padding:4px;border-bottom:1px solid var(--color-border)}.post-tag-popup__tab{flex:1 1 0;background:transparent;border:0;padding:6px 8px;border-radius:var(--r-sm, 4px);color:var(--color-text-muted);font-weight:600;font-size:var(--fs-sm);cursor:pointer}.post-tag-popup__tab:hover{background:var(--color-surface-2)}.post-tag-popup__tab.is-active{background:var(--color-surface-2);color:var(--color-text)}.post-tag-popup__avatar--family{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-2);font-size:16px}.post-tag-popup__meta{margin-left:auto;font-size:var(--fs-xs, 12px)}.post__tagged-families{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--color-text-muted)}.post__tagged-families a{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}.post__tagged-families a:hover{color:var(--color-text)}.gallery-uploader{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);margin-top:var(--sp-2);border:1px dashed var(--color-border);border-radius:var(--r-md);background:var(--color-surface-2, transparent)}.gallery-edit-tip{margin-top:var(--sp-2);font-size:12px}.gallery-uploader.is-drop-target{border:2px dashed var(--color-primary, var(--color-text))}.gallery-uploader__bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.gallery-uploader__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-weight:600;line-height:1}.gallery-uploader__btn:hover{background:var(--color-surface-2)}.gallery-uploader__btn svg{width:20px;height:20px;color:var(--color-success, #45bd62)}.gallery-uploader__hint{flex:1 1 auto;font-size:var(--fs-sm)}@media (max-width: 600px){.gallery-uploader__bar{justify-content:space-between;flex-wrap:nowrap;width:100%}.gallery-uploader__hint{display:none}}.gallery-uploader__submit{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:5.5rem}.gallery-uploader__submit-spinner{width:18px;height:18px;border-color:#ffffff59;border-top-color:var(--color-text-inverse)}.gallery-uploader--uploading .gallery-uploader__btn,.gallery-uploader--uploading .gallery-uploader__preview-remove{opacity:.45;pointer-events:none}.gallery-uploader__previews{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;scroll-snap-type:x mandatory}.gallery-uploader__previews[hidden]{display:none}.gallery-uploader__preview{position:relative;flex:0 0 auto;width:110px;height:110px;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);scroll-snap-align:start}.gallery-uploader__preview img{width:100%;height:100%;object-fit:cover;display:block}.gallery-uploader__preview--file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;text-align:center;color:var(--color-text)}.gallery-uploader__preview-ext{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.8}.gallery-uploader__preview-name{font-size:9px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gallery-uploader__preview-size{font-size:8px}.gallery-uploader__preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000b3;color:#fff;font:inherit;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.gallery-uploader__preview-remove:hover{background:#000000e6}.gallery-uploader__drop-overlay{position:absolute;inset:0;border-radius:inherit;background:var(--color-overlay);color:var(--color-overlay-text);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.gallery-uploader__drop-overlay[hidden]{display:none}.gallery-uploader__drop-overlay-inner{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;max-width:calc(100% - 16px);font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.35}.gallery-uploader__drop-icon{font-size:32px;line-height:1}.profile-page--gallery-drop-target .profile-grid{outline:2px dashed var(--color-primary, var(--color-text));outline-offset:4px;border-radius:var(--r-md)}.gallery-carousel{position:relative}.gallery-carousel__viewport{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.gallery-carousel__viewport::-webkit-scrollbar{display:none}.gallery-page{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--sp-2);padding-bottom:var(--sp-4)}.gallery__cell .progressive-image:not(.is-loaded){min-height:4rem;background:var(--color-surface-2)}.gallery-carousel__nav{position:absolute;top:calc(50% - var(--sp-2));transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:#0000008c;color:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease;z-index:2}.gallery-carousel:hover .gallery-carousel__nav,.gallery-carousel:focus-within .gallery-carousel__nav{opacity:1}.gallery-carousel__nav:hover{background:#000c}.gallery-carousel__nav--prev{left:-4px}.gallery-carousel__nav--next{right:-4px}.gallery-carousel__nav.is-hidden{opacity:0!important;pointer-events:none}.gallery-carousel__dots{position:absolute;bottom:4px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#0006}.gallery-carousel__dot{width:7px;height:7px;border-radius:50%;border:none;background:#ffffff80;padding:0;cursor:pointer;transition:background .12s ease,transform .12s ease}.gallery-carousel__dot.is-active{background:#fff;transform:scale(1.2)}.gallery-carousel__count{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;font-size:12px;padding:3px 8px;border-radius:999px;pointer-events:none;z-index:1}@media (max-width: 700px){.gallery-page{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-carousel__nav{opacity:1}}.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.gallery-header__title{font-weight:inherit}.gallery-header__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sp-1)}.gallery-header__sort,.gallery-header__filter{white-space:nowrap}.gallery-header__sort.is-active,.gallery-header__filter.is-active{background:var(--color-primary, var(--color-text));color:var(--color-on-primary, var(--color-surface));border-color:transparent}@media (max-width: 600px){.gallery-header{flex-direction:column;align-items:flex-start}}.notif-wrap{position:relative;display:inline-flex;align-items:center}.notif-bell{position:relative;min-width:2.5rem;display:inline-flex;align-items:center;justify-content:center}.notif-bell__icon{width:1.15rem;height:1.15rem;display:block;color:inherit}.notif-badge{position:absolute;top:2px;right:2px;min-width:1.1rem;height:1.1rem;padding:0 5px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;line-height:1.1rem;text-align:center;box-sizing:border-box;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 6px);right:0;width:min(380px,calc(100vw - var(--sp-4) * 2));max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:0 8px 24px #0000002e;z-index:40;overflow:hidden}.notif-panel[hidden]{display:none}@media (max-width: 980px){.notif-panel{position:fixed;top:calc(var(--nav-height) + var(--site-banner-height) + 6px);left:var(--sp-3);right:var(--sp-3);width:auto}}@media (max-width: 600px){.notif-panel{left:var(--sp-2);right:var(--sp-2)}}.notif-panel__head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--color-border);font-weight:600}.notif-panel__title{font-size:var(--fs-sm)}.notif-panel__list{flex:1;overflow-y:auto}.notif-panel__empty{padding:var(--sp-4);text-align:center;font-size:var(--fs-sm)}.notif-panel__more{padding:var(--sp-2);text-align:center;border-top:1px solid var(--color-border)}.notif-row{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;position:relative}.notif-row:last-child{border-bottom:none}.notif-row:hover{background:var(--color-surface-2);text-decoration:none}.notif-row--unread{background:var(--color-primary-soft)}.notif-row--unread:hover{background:var(--color-primary-soft);filter:brightness(.97)}.notif-row__avatar{flex-shrink:0}.notif-row__main{flex:1;min-width:0}.notif-row__title{font-size:var(--fs-sm);font-weight:500;line-height:1.3}.notif-row__subtitle{font-size:var(--fs-xs);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-row__meta{font-size:var(--fs-xs);margin-top:2px}.notif-row__dot{align-self:center;width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.post.is-deep-linked{box-shadow:0 0 0 2px var(--color-primary);transition:box-shadow .6s ease-out}.app-shell:has(.messenger-page),.app-shell:has(.tree-page){min-height:0;height:calc(100vh - var(--nav-height) - var(--site-banner-height));overflow:hidden}.messenger-page{padding:0;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.messenger{display:grid;grid-template-columns:minmax(260px,22%) minmax(0,1fr) minmax(280px,28%);gap:0;flex:1;min-height:0;background:var(--color-bg)}.messenger__list,.messenger__thread,.messenger__info{background:var(--color-surface);border-right:1px solid var(--color-border);overflow:hidden;display:flex;flex-direction:column;min-height:0}.messenger__info{border-right:none;border-left:1px solid var(--color-border)}@media (min-width: 981px){.messenger.messenger--info-hidden{grid-template-columns:minmax(260px,22%) minmax(0,1fr)}.messenger.messenger--info-hidden .messenger__info{display:none}}.chat-list{display:flex;flex-direction:column;height:100%;min-height:0}.chat-list__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-4) var(--sp-2)}.chat-list__header h2{margin:0;font-size:var(--fs-lg)}.chat-list__compose{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border)}.chat-list__compose:hover{background:var(--color-surface-3)}.chat-list__search{padding:0 var(--sp-4) var(--sp-2)}.chat-list__search-input{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-sm)}.chat-list__search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface)}.chat-list__filters{display:flex;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3);overflow-x:auto}.chat-filter{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:4px var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap}.chat-filter--active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.chat-list__rows{flex:1;overflow-y:auto;padding:0 var(--sp-2) var(--sp-3)}.chat-list__sentinel{height:24px}.chat-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-3);background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;color:var(--color-text);text-align:left;font:inherit}.chat-row:hover{background:var(--color-surface-2)}.chat-row--active{background:var(--color-primary-soft)}.chat-row__body{min-width:0;display:flex;flex-direction:column;gap:2px}.chat-row__title{font-weight:600;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row__preview{color:var(--color-text-muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row--unread .chat-row__title,.chat-row--unread .chat-row__preview{color:var(--color-text);font-weight:600}.chat-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:var(--fs-xs);color:var(--color-text-muted)}.chat-row__dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.chat-empty{padding:var(--sp-4);text-align:center;color:var(--color-text-muted);font-size:var(--fs-sm)}.chat-avatar-stack{position:relative;display:inline-flex;flex-shrink:0;width:44px;height:44px}.chat-avatar-stack--single .avatar{width:44px;height:44px}.chat-avatar-stack--2 .chat-avatar-stack__slot,.chat-avatar-stack--3 .chat-avatar-stack__slot{position:absolute;width:28px;height:28px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--color-surface)}.chat-avatar-stack__slot .avatar{width:100%;height:100%}.chat-avatar-stack--2 .chat-avatar-stack__slot--0{top:0;left:0}.chat-avatar-stack--2 .chat-avatar-stack__slot--1{bottom:0;right:0}.chat-avatar-stack--3 .chat-avatar-stack__slot--0{top:0;left:0}.chat-avatar-stack--3 .chat-avatar-stack__slot--1{top:4px;right:0}.chat-avatar-stack--3 .chat-avatar-stack__slot--2{bottom:0;left:8px}.chat-thread__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.chat-thread__back{display:none;flex:0 0 auto;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:var(--r-md);background:transparent;color:var(--color-text);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.chat-thread__back:hover{background:var(--color-surface-2)}.chat-thread__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 980px){.chat-thread__back{display:inline-flex}}.chat-thread__title-block{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.chat-thread__title{margin:0;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread__subtitle{margin:2px 0 0;font-size:var(--fs-xs)}.chat-thread__actions{display:flex;align-items:center;gap:var(--sp-2)}.chat-moderation-banner{background:var(--color-warning);color:var(--color-text-inverse);border-radius:var(--r-pill);padding:2px var(--sp-2);font-size:var(--fs-xs);font-weight:600}.chat-thread__scroll{overflow-anchor:auto;flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:var(--sp-4) var(--sp-4) var(--sp-2);background:var(--color-bg)}.chat-thread__sentinel{text-align:center;padding:var(--sp-2) 0}.chat-thread__sentinel-text{font-size:var(--fs-xs)}.chat-thread__messages{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto}.chat-day-separator{display:flex;align-items:center;justify-content:center;margin:var(--sp-3) 0 var(--sp-2);font-size:var(--fs-xs);color:var(--color-text-muted)}.chat-day-separator span{background:var(--color-surface);border-radius:var(--r-pill);padding:4px var(--sp-3);border:1px solid var(--color-border)}.chat-message{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:flex-end;gap:var(--sp-2)}.chat-message--mine{grid-template-columns:minmax(0,1fr);justify-content:end}.chat-message__avatar{display:inline-flex;width:32px;height:32px}.chat-message__avatar .avatar{width:32px;height:32px}.chat-message__bubble{width:fit-content;max-width:70%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;align-items:stretch;gap:4px;box-sizing:border-box;position:relative}.chat-message__bubble:has(.chat-message__menu){padding-right:34px}.chat-message--mine .chat-message__bubble{background:var(--color-primary);color:var(--color-text-inverse);border-color:transparent;margin-left:auto}.chat-message__sender{font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted)}.chat-message__body{margin:0;white-space:pre-wrap;word-wrap:break-word;font-size:var(--fs-sm)}.chat-message__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px}.chat-message__time{font-size:10px;opacity:.7}.chat-message__edited{font-size:10px}.chat-message__link-btn{border:none;background:none;padding:0;font-size:10px;color:inherit;opacity:.75;cursor:pointer;text-decoration:underline}.chat-message__link-btn:hover{opacity:1}.chat-message__menu{position:absolute;top:2px;right:2px;margin-left:0;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:3}.chat-message:hover .chat-message__menu,.chat-message:focus-within .chat-message__menu,.chat-message__menu:has(.post__menu-pop:not([hidden])){opacity:1;pointer-events:auto}@media (hover: none),(max-width: 600px){.chat-message__menu{opacity:1;pointer-events:auto}}.chat-message__menu .post__menu-toggle{min-width:24px;min-height:20px;padding:0 4px;font-size:15px;color:inherit;opacity:.75}.chat-message--mine .chat-message__menu .post__menu-toggle{color:var(--color-text-inverse)}.chat-message__menu .post__menu-pop{min-width:140px;color:var(--color-text)}.chat-message--mine .chat-message__menu .post__menu-pop{left:auto;right:0}.chat-message .post__reactions{grid-column:2;margin-top:2px}.chat-message--mine .post__reactions{grid-column:1;align-items:flex-end}.chat-message--mine .post__reactions-bar{justify-content:flex-end}.chat-message--mine .post__reaction-picker{left:auto;right:0}.chat-message-composer--edit{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;padding:0;border:none;background:transparent}.chat-message__edit-input{width:100%;box-sizing:border-box;margin:0;border:1px solid var(--color-border-strong);border-radius:var(--r-md);padding:6px 10px;font:inherit;font-size:var(--fs-sm);line-height:1.35;white-space:pre-wrap;word-wrap:break-word;background:var(--color-surface);color:var(--color-text);resize:none;overflow-y:hidden;min-height:36px}.chat-message__edit-input:focus{outline:none;border-color:var(--color-primary)}.chat-message--mine .chat-message__edit-input{background:#ffffff24;border-color:#ffffff59;color:inherit}.chat-message--mine .chat-message__edit-input:focus{border-color:#ffffffa6}.chat-message-edit__previews{width:100%;min-width:0}.chat-message-edit__actions{display:flex;align-items:center;gap:var(--sp-2)}.chat-message-edit__attach{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.chat-message-edit__attach:hover{background:var(--color-surface-2);color:var(--color-text)}.chat-message--mine .chat-message-edit__attach{color:inherit;opacity:.85}.chat-message--mine .chat-message-edit__attach:hover{background:#ffffff1f;opacity:1}.chat-message__meta--edit{margin-top:4px;gap:var(--sp-2)}.chat-message--mine .chat-message__meta--edit .btn--ghost{color:inherit;border-color:#ffffff73}.chat-message--mine .chat-message__meta--edit .btn--ghost:hover{background:#ffffff1f}.chat-message-edit__save{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:56px}.chat-message-edit__save-spinner{width:14px;height:14px;border-color:#ffffff59;border-top-color:var(--color-text-inverse)}.chat-message-composer--edit--submitting .chat-message-edit__save:disabled{opacity:1;cursor:default}.chat-message--mine .chat-message__link-btn{color:inherit}.chat-message--mine .chat-message__media .media-grid__file-cell{background:#ffffff1f;border-color:#fff3;color:inherit}.chat-message--mine .chat-message__media .media-grid__file-cell:hover{background:#fff3}.chat-composer{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-composer__row{display:flex;align-items:flex-end;gap:var(--sp-2);min-width:0}.chat-composer__previews{display:flex;align-items:flex-start;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chat-composer__previews[hidden]{display:none}.chat-composer__preview{position:relative;flex:0 0 88px;width:88px;height:88px;aspect-ratio:1 / 1;align-self:flex-start;border-radius:var(--r-md);overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border);scroll-snap-align:start}.chat-composer__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.chat-composer__preview--file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;text-align:center;color:var(--color-text)}.chat-composer__preview-ext{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.8}.chat-composer__preview-name{font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-composer__preview-size{font-size:8px}.chat-composer__preview-remove{position:absolute;top:4px;right:4px;z-index:1;width:20px;height:20px;border-radius:50%;border:none;background:#000000b3;color:#fff;font:inherit;font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.chat-composer__preview-remove:hover{background:#000000e6}.chat-composer__attach{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-surface-2);color:var(--color-primary);cursor:pointer}.chat-composer__attach:hover{background:var(--color-surface-3)}.chat-composer__attach--gif{appearance:none;border:none;padding:0;font:inherit;flex-shrink:0}.chat-composer__attach--gif:focus{outline:none}.chat-composer__attach--gif:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-composer__attach--gif svg{width:20px;height:20px;display:block}.chat-composer__attach--gif:disabled{opacity:.45;cursor:not-allowed}.chat-composer__input{flex:1;min-width:0;padding:var(--sp-2) var(--sp-3);border-radius:8px;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--fs-sm);font-family:inherit;line-height:1.35;resize:none;overflow-y:hidden}.chat-composer__input:focus{outline:none;background:var(--color-surface);border-color:var(--color-primary)}.chat-composer__send{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-text-inverse);border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-composer__send:hover:not(:disabled){background:var(--color-primary-hover)}.chat-composer__send:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.chat-composer--sending .chat-composer__send:disabled{opacity:1;cursor:default}.chat-composer__send-icon{display:inline-flex;align-items:center;justify-content:center}.chat-composer__send-spinner{width:18px;height:18px;border-color:#ffffff59;border-top-color:var(--color-text-inverse)}.chat-composer--sending .chat-composer__attach,.chat-composer--sending .chat-composer__attach--gif{opacity:.45;pointer-events:none}.chat-composer--sending .chat-composer__input:disabled{opacity:.65;cursor:not-allowed}.chat-composer--over-attachment-limit .chat-composer__send{opacity:.45;cursor:not-allowed}.chat-composer__error{font-size:var(--fs-xs);padding:0 var(--sp-1)}.chat-empty-thread{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.chat-empty-thread__inner{text-align:center}.chat-info{display:flex;flex-direction:column;padding:var(--sp-4);gap:var(--sp-3);overflow-y:auto}.chat-info--empty{align-items:center;justify-content:center;text-align:center}.chat-info__profile{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:1px solid var(--color-border)}.chat-info__profile .chat-avatar-stack,.chat-info__profile .chat-avatar-stack--single .avatar{width:64px;height:64px}.chat-info__name{margin:0;font-size:var(--fs-md);text-align:center}.chat-info__subtitle{margin:0;font-size:var(--fs-xs)}.chat-info__section{border:1px solid var(--color-border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--color-surface)}.chat-info__section summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm)}.chat-info__people{list-style:none;padding:0;margin:var(--sp-2) 0 0;display:flex;flex-direction:column;gap:var(--sp-2)}.chat-info__people li,.chat-info__person{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.chat-info__person-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-info__person-name a{font-weight:500}.chat-info__person-remove{flex-shrink:0;color:var(--color-danger, #b42318)}.chat-info__actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.chat-info__actions-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:1.4}.chat-info__rename{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.chat-info__rename input{flex:1;padding:6px var(--sp-2);border-radius:var(--r-sm);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-sm)}.chat-info__media-carousel{margin-top:var(--sp-2)}.chat-info__media-carousel .gallery-page{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery__cell--video{cursor:pointer}.gallery__cell--video video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.chat-info__file-cell{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:var(--sp-1);color:var(--color-text);text-decoration:none;aspect-ratio:1 / 1;overflow:hidden;cursor:pointer}.chat-info__file-cell:hover{filter:brightness(1.05)}.chat-info__file-ext{font-size:10px;font-weight:700;letter-spacing:.04em;opacity:.75}.chat-info__file-name{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-info__file-size{font-size:9px}.chat-info__media-loading{margin-top:var(--sp-2);font-size:var(--fs-xs);text-align:center}.chat-info__media-empty{margin-top:var(--sp-2);font-size:var(--fs-sm)}.chat-composer-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--sp-4)}.chat-composer-modal{width:min(420px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.chat-composer-modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border)}.chat-composer-modal__head h3{margin:0;font-size:var(--fs-md)}.chat-composer-modal__body{padding:var(--sp-3) var(--sp-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3)}.chat-composer-modal__chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-height:36px;align-items:center}.chat-chip{display:inline-flex;align-items:center;gap:4px;background:var(--color-surface-2);border-radius:var(--r-pill);padding:2px var(--sp-2);font-size:var(--fs-xs)}.chat-chip .avatar{width:20px;height:20px}.chat-chip button{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--fs-sm)}.chat-composer-modal__title,.chat-composer-modal__search{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--fs-sm)}.chat-composer-modal__title-label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.chat-composer-modal__results{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.chat-composer-modal__result{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-sm);background:transparent;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--color-text)}.chat-composer-modal__result:hover,.chat-composer-modal__result.is-highlighted,.chat-composer-modal__result.is-highlighted:hover{background:var(--color-surface-2)}.chat-composer-modal__result-skeleton .skeleton-row{padding-left:var(--sp-2);padding-right:var(--sp-2)}.chat-composer-modal__result[disabled]{opacity:.5;cursor:not-allowed}.chat-composer-modal__foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border)}.chat-composer-modal__error{padding:0 var(--sp-4) var(--sp-2);font-size:var(--fs-xs);color:var(--color-danger)}.messages-wrap{position:relative;display:inline-flex;align-items:center}.messages-bell{position:relative;min-width:2.5rem;display:inline-flex;align-items:center;justify-content:center}.messages-badge{position:absolute;top:2px;right:2px;min-width:1.1rem;height:1.1rem;padding:0 5px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;line-height:1.1rem;text-align:center;box-sizing:border-box;pointer-events:none}#admin-chat-media-card .card__body>p{margin-bottom:var(--sp-1);font-size:var(--fs-xs)}.admin-chat-media-carousel{margin-top:0;max-width:430px}.admin-chat-media-carousel .gallery-page{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:var(--sp-3)}.admin-chat-media-carousel .gallery-carousel__nav{width:30px;height:30px;font-size:20px;top:calc(50% - 8px)}.admin-chat-media-carousel .gallery-carousel__nav--prev{left:-3px}.admin-chat-media-carousel .gallery-carousel__nav--next{right:-3px}.admin-chat-media-carousel .gallery-carousel__dots{gap:5px;padding:3px 7px;bottom:3px}.admin-chat-media-carousel .gallery-carousel__dot{width:6px;height:6px}.admin-chat-media-carousel .gallery-carousel__count{top:6px;right:6px;font-size:11px;padding:2px 7px}.admin-chat-media-carousel__loading{margin-top:var(--sp-1);font-size:var(--fs-xs);text-align:center}.admin-chat-media-tile{position:relative;overflow:hidden;padding:0;border-radius:var(--r-sm);border:1px solid var(--color-border);background:var(--color-surface-2)}.admin-chat-media-tile__preview{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:inherit;overflow:hidden}.admin-chat-media-tile__preview--image img{width:100%;height:100%;object-fit:cover;display:block}.admin-chat-media-tile__preview--video video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.admin-chat-media-tile__preview--file{gap:2px;padding:5px 3px;text-align:center;font-size:9px}.admin-chat-media-tile__preview--file .chat-info__file-ext{font-size:9px}.admin-chat-media-tile__preview--file .chat-info__file-name,.admin-chat-media-tile__preview--file .chat-info__file-size{font-size:8px}.admin-chat-media-tile__chat{position:absolute;left:3px;right:3px;bottom:3px;z-index:2;display:block;padding:2px 5px;border-radius:var(--r-sm);background:#000000b8;color:#fff;font-size:9px;font-weight:600;text-align:center;text-decoration:none;line-height:1.2}.admin-chat-media-tile__chat:hover{background:#000000e0;text-decoration:none}.admin-chat-conversations{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.admin-chat-conversations__row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-1);cursor:pointer;border-bottom:1px solid var(--color-border)}.admin-chat-conversations__row:hover{background:var(--color-surface-2)}.admin-chat-conversations__body{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-chat-conversations__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 980px){.messenger{grid-template-columns:minmax(0,1fr)}.messenger__list{display:flex}.messenger__thread,.messenger__info{display:none}.messenger:has(.chat-thread__head) .messenger__list{display:none}.messenger:has(.chat-thread__head) .messenger__thread{display:flex}.messenger--info-open .messenger__info{display:flex;position:absolute;inset:0;z-index:30;background:var(--color-surface)}}#gif-picker-root[hidden]{display:none}.gif-picker-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.gif-picker{display:flex;flex-direction:column;width:min(100%,32rem);max-height:min(80vh,28rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .25));overflow:hidden}.gif-picker__head{display:flex;gap:.5rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--color-border)}.gif-picker__search{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-surface-2);color:var(--color-text)}.gif-picker__close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:var(--radius-md, 8px);background:transparent;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer}.gif-picker__close:hover{background:var(--color-surface-2);color:var(--color-text)}.gif-picker__grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:8px;padding:.75rem}@media (max-width: 600px){.gif-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gif-picker__cell{display:block;width:100%;margin:0;padding:0;border:none;border-radius:var(--r-md, 8px);overflow:hidden;cursor:pointer;background:var(--color-surface-2);position:relative;align-self:start}.gif-picker__cell:before{content:"";display:block;padding-top:100%}.gif-picker__cell:hover,.gif-picker__cell:focus-visible{outline:2px solid var(--color-primary, #4a9eff);outline-offset:2px}.gif-picker__cell img,.gif-picker__cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.gif-picker__loading,.gif-picker__empty{grid-column:1 / -1;text-align:center;padding:2rem 1rem;margin:0}.gif-picker__foot{flex-shrink:0;padding:.5rem .75rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;min-height:2rem}.gif-picker__attribution{display:block;height:1.25rem;width:auto;max-width:100%;opacity:.9}.comment-composer__preview--giphy .giphy-attachment,.comment-composer__preview--giphy .comment-composer__giphy,.chat-composer__preview--giphy .giphy-attachment,.chat-composer__preview--giphy .chat-composer__giphy{position:absolute;inset:0;width:100%;height:100%;border-radius:0}.comment-composer__preview--giphy video,.comment-composer__preview--giphy img,.chat-composer__preview--giphy video,.chat-composer__preview--giphy img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}.post__media--giphy,.comment__media--giphy,.chat-message__media--giphy{margin-top:.35rem}.post__media--giphy video,.post__media--giphy img,.comment__media--giphy video,.comment__media--giphy img,.chat-message__media--giphy video,.chat-message__media--giphy img{max-width:min(100%,20rem);border-radius:var(--radius-md, 8px);display:block}.lore-add-section{display:flex;flex-direction:column;gap:.75rem;width:100%}.lore-add-section [data-lore-add-toggle]{align-self:flex-start;font-weight:600;box-shadow:0 1px 3px #0000001f}.lore-add-section [data-lore-add-toggle]:hover{box-shadow:0 2px 6px #00000029}.lore-add-section [data-lore-composer-panel]{width:100%;align-self:stretch}.lore-toolbar__search{flex:1;min-width:12rem}.lore-topic-card[data-topic-id],.post--lore[data-lore-topic-id]{cursor:pointer}.lore-topic-card__subject{font-size:var(--fs-lg);margin:0}.lore-topic-card__subject a{color:inherit;text-decoration:none}.lore-topic-card__subject a:hover{text-decoration:underline}.lore-topic-tags-edit__chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.lore-topic-tags-edit__chips[hidden]{display:none}.lore-topic-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:var(--fs-sm)}.lore-topic-card__tags{display:flex;flex-wrap:wrap;gap:.35rem}.lore-topic-card__tag{font-size:var(--fs-xs);padding:.15rem .5rem;border-radius:var(--radius-pill, 999px);background:var(--color-surface-3, rgba(128, 128, 128, .12));color:inherit;text-decoration:none}.lore-topic-card__tag:hover{text-decoration:underline}.lore-topic-preview.post__media{margin-top:.35rem;border-radius:var(--radius-md, 8px)}.lore-topic-preview.post__media--carousel{--slides-per-view: min(3, var(--carousel-slide-count, 3))}.lore-topic-preview .post__media-track{position:relative;z-index:0;min-height:160px}.lore-topic-preview .post__media-slide{min-height:160px;max-height:160px}.lore-topic-preview .post__media-slide img{object-fit:cover;width:100%;height:160px}.lore-topic-preview .post__media-nav{z-index:2;width:1.75rem;height:1.75rem;font-size:1.1rem;opacity:1}.lore-topic-preview .post__media-count,.lore-topic-preview .post__media-dots{z-index:2}.lore-topic-preview .post__media-dots{bottom:4px}.lore-topic-preview .post__media-dot{width:5px;height:5px}.lore-topic-preview .post__media-count{font-size:var(--fs-xs);padding:.1rem .35rem}.lore-topic-preview .post__media-slide--video{position:relative;display:block}.lore-topic-preview__video-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.25rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none}.lore-topic-preview .post__media-slide--file,.lore-topic-preview .post__media-slide--deleted{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:var(--color-surface-3, rgba(128, 128, 128, .12));color:inherit;text-decoration:none;font-size:var(--fs-xs)}.lore-topic-preview__file-ext{font-weight:700;font-size:var(--fs-sm)}.lore-topic-preview__file-name,.lore-topic-preview__deleted-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.lore-topic-preview__giphy .giphy-attachment,.lore-topic-preview__giphy video,.lore-topic-preview__giphy img{max-height:120px;width:auto;max-width:100%;margin:0 auto;display:block;object-fit:contain}.post--lore .post__lore-subject{margin:.35rem 0 0;font-size:var(--fs-md);font-weight:600;line-height:1.35}.post--lore .post__lore-subject a{color:inherit;text-decoration:none}.post--lore .post__lore-subject a:hover{text-decoration:underline}.post--lore .post__lore-context{font-size:var(--fs-sm);font-weight:400}.post--lore .post__lore-body{margin-top:.35rem;white-space:pre-wrap}.post--lore .post__lore-tags{margin-top:.35rem}.post--lore .post__lore-footer{margin-top:.5rem;padding-top:.35rem;border-top:1px solid var(--color-border, rgba(128, 128, 128, .2))}.post--lore .post__lore-discuss-link{font-size:var(--fs-sm);color:var(--color-accent);text-decoration:none}.post--lore .post__lore-discuss-link:hover{text-decoration:underline}.lore-topic-detail__subject{margin:0;font-size:var(--fs-xl)}.lore-topic-detail__body{white-space:pre-wrap;word-break:break-word}.lore-comments-section__title{font-size:var(--fs-md);margin:0}.lore-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}@media (max-width: 600px){.lore-pagination{flex-direction:column;align-items:stretch}.lore-pagination__pages{order:1}.lore-pagination__page-size{order:2;width:100%;justify-content:center}}.lore-pagination__pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem;flex:1 1 auto;min-width:0}.lore-pagination__page{min-width:2rem;height:2rem;padding:0 .4rem;border:1px solid var(--color-border, rgba(128, 128, 128, .25));border-radius:var(--radius-sm, 6px);background:var(--color-surface-2, rgba(128, 128, 128, .08));color:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;line-height:1}.lore-pagination__page:hover:not(:disabled){background:var(--color-surface-3, rgba(128, 128, 128, .14))}.lore-pagination__page.is-active,.lore-pagination__page.is-active:disabled{background:var(--color-accent);border-color:var(--color-accent);color:#fff;cursor:default;opacity:1}.lore-pagination__ellipsis{padding:0 .2rem;font-size:var(--fs-sm);color:var(--color-text-muted);user-select:none}.lore-pagination__nav{flex:0 0 auto}.lore-pagination__page-size{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;font-size:var(--fs-sm)}.lore-pagination__page-size-label{white-space:nowrap}.lore-pagination__page-size-select{min-width:4.25rem}.lore-comment__reply-to{display:block;width:100%;text-align:left;font-size:var(--fs-xs);color:var(--color-text-muted);background:none;border:none;padding:0 0 .25rem;cursor:pointer;text-decoration:underline}.lore-reply-chip{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--color-surface-3, rgba(128, 128, 128, .12))}.lore-reply-chip button{border:none;background:none;cursor:pointer;font-size:1.1rem;line-height:1}.lore-comment--highlight,.comment--highlight{animation:lore-comment-highlight 2.5s ease-out}@keyframes lore-comment-highlight{0%,15%{background:color-mix(in srgb,var(--color-accent) 25%,transparent)}to{background:transparent}}.gallery__cell--highlight,.media-focus-highlight{animation:media-focus-highlight 2.5s ease-out;outline:2px solid var(--color-accent);outline-offset:2px}@keyframes media-focus-highlight{0%,15%{outline-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 35%,transparent)}to{outline-color:transparent;box-shadow:none}}.feed-filter-modal__section-title{font-size:var(--fs-sm);font-weight:600;margin:0 0 .5rem}.lore-sentinel{height:1px}.lore-composer__subject{font-weight:600}.lore-reply-chip{margin-bottom:4px}.pw-reqs{font-size:13px;margin:-2px 0 2px}.pw-reqs__title{color:var(--color-text-muted);margin-bottom:6px}.pw-reqs__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pw-req{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);transition:color .15s ease}.pw-req__mark{flex:0 0 auto;width:16px;height:16px;border-radius:50%;border:1.5px solid currentColor;position:relative}.pw-req__mark:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .15s ease}.pw-req.is-met{color:var(--color-success, #45bd62)}.pw-req.is-met .pw-req__mark{background:var(--color-success, #45bd62);border-color:var(--color-success, #45bd62)}.pw-req.is-met .pw-req__mark:after{transform:rotate(45deg) scale(1)}#impersonate-start{width:fit-content}.help-button-host{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:900}@media (max-width: 980px){body:has(.messenger-page .chat-composer) .help-button-host{right:max(var(--sp-2),env(safe-area-inset-right,0px));bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}}.help-button{position:relative;display:flex}.help-button__btn{appearance:none;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);font-weight:700;font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:var(--shadow-md);transition:background .15s ease,transform .15s ease}.help-button__btn:hover{background:var(--color-surface-2)}.help-button__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.help-button__btn--highlight{animation:help-button-pulse 1.6s ease-in-out infinite}@keyframes help-button-pulse{0%,to{box-shadow:var(--shadow-md),0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}50%{box-shadow:var(--shadow-md),0 0 0 6px color-mix(in srgb,var(--color-accent) 12%,transparent)}}.help-button__coachmark{position:absolute;bottom:calc(100% + 12px);right:0;z-index:1;width:max-content;max-width:min(280px,calc(100vw - 2 * var(--sp-5) - 3rem));padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-md);font-size:13px;line-height:1.4}.help-button__coachmark:before{content:"";position:absolute;bottom:-6px;right:18px;width:10px;height:10px;background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg)}.help-overlay{--help-overlay-height: min(540px, calc(100vh - 5rem) );width:min(640px,calc(100vw - 2rem));height:var(--help-overlay-height);max-height:var(--help-overlay-height);overflow:hidden;display:flex;flex-direction:column}.help-overlay .modal__body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.help-overlay__body{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0;flex:1 1 auto;overflow:hidden}.help-overlay__tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--color-border);padding-bottom:var(--sp-1);flex:0 0 auto}.help-overlay__tabs--single{display:none}.help-overlay__tab{appearance:none;border:none;background:transparent;color:var(--color-text-muted);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;font:inherit}.help-overlay__tab.is-active{color:var(--color-text);background:var(--color-surface-2);font-weight:600}.help-overlay__panel{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.help-overlay__empty{margin:0}.help-overlay__carousel{display:flex;flex-direction:column;gap:var(--sp-3);flex:1 1 auto;min-height:0;overflow:hidden}.help-overlay__slides{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.help-overlay__slide{display:none}.help-overlay__slide.is-active{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.help-overlay__step{display:flex;flex-direction:column;gap:var(--sp-2);height:100%;min-height:0;overflow:hidden}.help-overlay__step-title{margin:0;font-size:1.05rem;flex:0 0 auto}.help-overlay__route-link{color:var(--color-primary);font-weight:600;background:var(--color-primary-soft);padding:0 5px;border-radius:var(--r-sm);text-decoration:none;white-space:nowrap;cursor:pointer}.help-overlay__route-link:hover{background:var(--color-primary);color:var(--color-text-inverse);text-decoration:none}.help-overlay__step-body{line-height:1.5;flex:0 1 auto;min-height:0;max-height:7.5em;overflow-y:auto;overscroll-behavior:contain;margin-bottom:20px}.help-overlay__figure{flex:0 1 auto;min-height:0;max-height:min(200px,32vh);margin:0;display:flex;align-items:center;justify-content:center}.help-overlay__image{display:block;max-height:min(180px,30vh);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:zoom-in}.help-image-zoom{position:fixed;z-index:1300;pointer-events:none;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);background:var(--color-surface);opacity:0;transform:scale(.85);transform-origin:center center;transition:opacity .12s ease,transform .12s ease}.help-image-zoom.is-visible{opacity:1;transform:scale(1)}.help-image-zoom img{display:block;width:100%;height:100%;object-fit:contain}.help-overlay__carousel-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex:0 0 auto}.help-overlay__dots{display:flex;gap:6px;align-items:center;justify-content:center;flex:1}.help-overlay__dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:var(--color-border);cursor:pointer}.help-overlay__dot.is-active{background:var(--color-accent)}.help-overlay__faq{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 auto;min-height:0;overflow:hidden}.help-overlay__faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);overflow:hidden;flex:0 0 auto}.help-overlay__faq-item[open]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-overlay__faq-q{cursor:pointer;padding:var(--sp-2) var(--sp-3);font-weight:600;list-style:none;flex:0 0 auto}.help-overlay__faq-q::-webkit-details-marker{display:none}.help-overlay__faq-a{padding:0 var(--sp-3) var(--sp-3);line-height:1.5;overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:var(--sp-2)}.help-overlay__faq-text{line-height:1.5;max-height:7.5em;overflow-y:auto;overscroll-behavior:contain;flex:0 1 auto;min-height:0}.help-overlay__faq-a .help-overlay__figure{max-height:min(140px,22vh)}.help-overlay__faq-a .help-overlay__image{max-height:min(120px,20vh)}.admin-help__guides{display:flex;flex-direction:column;gap:var(--sp-3)}.admin-help__guide{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.admin-help__guide-summary{cursor:pointer;padding:var(--sp-2) var(--sp-3);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.admin-help__guide-body{padding:0 var(--sp-3) var(--sp-3)}.admin-help__steps{display:flex;flex-direction:column;gap:var(--sp-3)}.admin-help__step{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.admin-help__step-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.admin-help__step-actions{display:flex;gap:var(--sp-1);flex-wrap:wrap}.admin-help__step-media{display:flex;flex-direction:column;gap:var(--sp-2)}.admin-help__step-preview{max-width:240px;max-height:160px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border)}main.page{flex:1}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");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:Zalando Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/zalando-sans-vietnamese-wght-normal-gZ07XE5O.woff2) format("woff2-variations");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:Zalando Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/zalando-sans-latin-ext-wght-normal-Bb9EOLO6.woff2) format("woff2-variations");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:Zalando Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/zalando-sans-latin-wght-normal-BpvJhGQl.woff2) format("woff2-variations");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:Quattrocento;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quattrocento-latin-ext-400-normal-DDsTWwE5.woff2) format("woff2"),url(/assets/quattrocento-latin-ext-400-normal-CRs38J7F.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:Quattrocento;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quattrocento-latin-400-normal-Da3aNouX.woff2) format("woff2"),url(/assets/quattrocento-latin-400-normal-Cg-bZE-u.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}
