:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-muted:#eef0f3;--color-border:#dde1e6;--color-text:#1d2330;--color-text-muted:#5f6b7a;--color-primary:#3b5bdb;--color-primary-hover:#304ac0;--color-primary-contrast:#fff;--color-success:#2f9e44;--color-warning:#e8a400;--color-danger:#e03131;--color-info:#1c7ed6;--color-report:#e8590c;--color-focus:#3b5bdb59;--color-reply-bg:#3b5bdb14;--color-reply-bg-hover:#3b5bdb24;--color-reply-mine-bg:#ffffff2e;--color-reply-mine-bg-hover:#ffffff42;--font-family-base:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-base:16px;--font-size-sm:.875rem;--font-size-lg:1.125rem;--line-height-base:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #1018281f;--header-height:56px;--sidebar-width:240px;--transition-fast:.15s ease;--z-header:100;--z-notifications:1000;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#12151b;--color-surface:#1b1f27;--color-surface-muted:#232834;--color-border:#2e3442;--color-text:#e6e9ef;--color-text-muted:#9aa4b2;--color-primary:#5c7cfa;--color-primary-hover:#748ffc;--color-report:#ff922b;--color-focus:#5c7cfa73;--color-reply-bg:#5c7cfa24;--color-reply-bg-hover:#5c7cfa38;--shadow-md:0 4px 16px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#12151b;--color-surface:#1b1f27;--color-surface-muted:#232834;--color-border:#2e3442;--color-text:#e6e9ef;--color-text-muted:#9aa4b2;--color-primary:#5c7cfa;--color-primary-hover:#748ffc;--color-report:#ff922b;--color-focus:#5c7cfa73;--color-reply-bg:#5c7cfa24;--color-reply-bg-hover:#5c7cfa38;--shadow-md:0 4px 16px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-family-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;margin:0}img,svg,video{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4{margin:0 0 var(--space-4);font-weight:600;line-height:1.25}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0 0 var(--space-4)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.text-muted{color:var(--color-text-muted)}.text-small{font-size:var(--font-size-sm)}.form-group{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);font-weight:500}.form-control{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus);outline:none}.form-control:disabled{background:var(--color-surface-muted);cursor:not-allowed}.form-control--invalid{border-color:var(--color-danger)}select.form-control{appearance:none;padding-right:calc(var(--space-3) * 2 + 10px);background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - var(--space-4) - 5px) 50%, calc(100% - var(--space-4)) 50%;cursor:pointer;background-repeat:no-repeat;background-size:5px 5px,5px 5px}select.form-control:disabled{cursor:not-allowed}.form-error{color:var(--color-danger);font-size:var(--font-size-sm)}.form-message{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--form-message-color,var(--color-danger));color:var(--color-text);background:var(--color-surface-muted);font-size:var(--font-size-sm)}.form-message--error{--form-message-color:var(--color-danger)}.form-message--success{--form-message-color:var(--color-success)}.form-message--info{--form-message-color:var(--color-info)}.auth-form{margin-bottom:var(--space-4);flex-direction:column;display:flex}.auth-links{gap:var(--space-2);font-size:var(--font-size-sm);flex-direction:column;display:flex}.password-requirements{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.password-requirements__title{margin:0 0 var(--space-1)}.password-requirements__list{margin:0;padding:0;list-style:none}.password-requirements__item{gap:var(--space-2);display:flex}.password-requirements__item--met{color:var(--color-success)}.password-requirements__mark{text-align:center;width:1em}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-muted)}.btn--danger{background:var(--color-danger);color:#fff}.btn--block{width:100%}.btn--small{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.75s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.btn--tall{min-height:40px;padding-inline:var(--space-4)}@media (width>=768px){.btn--tall{min-height:32px}}.container{width:100%;max-width:1120px;padding:0 var(--space-4);margin:0 auto}.layout{min-height:100vh}.layout--main{flex-direction:column;display:flex}@media (width>=768px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;display:grid}}.app-shell__main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.app-shell__bar{z-index:var(--z-header);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--header-height);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}@media (width>=768px){.app-shell__bar{display:none}}.app-shell__toggle{width:40px;height:40px;margin-right:calc(var(--space-2) * -1);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-shell__toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}.app-shell__toggle:hover{background:var(--color-surface-muted)}.app-shell__backdrop{z-index:calc(var(--z-header) + 1);background:#10182873;position:fixed;inset:0}@media (width>=768px){.app-shell__backdrop{display:none}}.layout__content{width:100%;max-width:1120px;padding:var(--space-6) var(--space-4);flex:1;margin-inline:auto}@media (width>=768px){.layout__content{padding:var(--space-6)}}.layout__footer{width:100%;max-width:1120px;padding:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-inline:auto}@media (width>=768px){.layout__footer{padding-inline:var(--space-6)}}.app-sidebar{gap:var(--space-4);padding:var(--space-5) var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;display:flex}@media (width>=768px){.app-sidebar{height:100vh;position:sticky;top:0;overflow-y:auto}}@media (width<=767px){.app-sidebar{z-index:calc(var(--z-header) + 2);width:min(var(--sidebar-width), 85vw);visibility:hidden;transition:transform var(--transition-fast), visibility var(--transition-fast);box-shadow:var(--shadow-md);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar--open{visibility:visible;transform:none}}.app-sidebar__logo{color:var(--color-text);font-weight:700}@media (width<=767px){.app-sidebar__logo--wide{display:none}}.app-sidebar__user{overflow-wrap:anywhere;margin:0;font-weight:500}.app-sidebar__nav{gap:var(--space-1);flex-direction:column;display:flex}.app-sidebar__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);align-items:center;display:flex}.app-sidebar__link:hover{background:var(--color-surface-muted);text-decoration:none}.app-sidebar__link--active{background:var(--color-surface-muted);color:var(--color-text);font-weight:500}.app-sidebar__icon{width:1.15em;height:1.15em;margin-right:var(--space-2);fill:currentColor;flex:none;display:inline-block}.app-sidebar__logout{align-self:flex-start;margin-top:auto}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}.layout--auth{padding:var(--space-4);justify-content:center;align-items:center;display:flex}.layout-auth__panel{width:100%;max-width:420px;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.layout-auth__logo{margin-bottom:var(--space-5);color:var(--color-text);font-weight:700;display:block}.layout--admin{grid-template-columns:1fr;display:grid}@media (width>=768px){.layout--admin{grid-template-columns:var(--sidebar-width) 1fr}}.layout-admin__sidebar{padding:var(--space-5) var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border)}.layout-admin__logo{margin-bottom:var(--space-5);color:var(--color-text);font-weight:700;display:block}.layout-admin__nav{gap:var(--space-2);flex-direction:column;display:flex}.layout-admin__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted)}.layout-admin__link--active{background:var(--color-surface-muted);color:var(--color-text)}.layout-admin__link--back{margin-top:var(--space-3)}.layout-admin__user{margin:var(--space-5) 0 0}.layout-admin__content{min-width:0;padding:var(--space-4)}@media (width>=768px){.layout-admin__content{padding:var(--space-6)}}@media (width<=767px){.layout-admin__sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.layout-admin__nav{flex-flow:wrap}.layout-admin__link--back{margin-top:0}.layout-admin__user{display:none}}.page--narrow{max-width:480px}.page--centered{text-align:center;padding-top:var(--space-8);flex-direction:column;align-items:center;display:flex}.page__code{color:var(--color-text-muted);margin:0;font-size:4rem;font-weight:700}.card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__title{font-size:var(--font-size-lg)}.status-badge{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:inline-flex}.status-badge__dot{background:var(--status-color,var(--color-text-muted));border-radius:50%;width:8px;height:8px}.status-badge--success{--status-color:var(--color-success)}.status-badge--warning{--status-color:var(--color-warning)}.status-badge--danger{--status-color:var(--color-danger)}.status-badge--neutral{--status-color:var(--color-text-muted)}.system-status{max-width:560px}.system-status__list{margin:0 0 var(--space-4)}.system-status__row{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.system-status__row dt{color:var(--color-text-muted)}.system-status__row dd{margin:0}.notifications{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-notifications);gap:var(--space-2);width:min(360px, calc(100vw - 2 * var(--space-4)));flex-direction:column;display:flex;position:fixed}.notification{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--notification-color,var(--color-info));border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex}.notification--info{--notification-color:var(--color-info)}.notification--success{--notification-color:var(--color-success)}.notification--warning{--notification-color:var(--color-warning)}.notification--error{--notification-color:var(--color-danger)}.notification__body{flex-direction:column;flex:1;display:flex}.notification__title{font-weight:600}.notification__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1}.notification-enter-active,.notification-leave-active{transition:opacity var(--transition-fast), transform var(--transition-fast)}.notification-enter-from,.notification-leave-to{opacity:0;transform:translateY(8px)}.action-menu{display:inline-flex;position:relative}.action-menu__trigger{min-width:2.5rem}.action-menu__trigger svg{fill:currentColor;width:18px;height:18px}.action-menu__panel{top:calc(100% + var(--space-1));z-index:var(--z-header);gap:var(--space-2);min-width:220px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left;flex-direction:column;display:flex;position:absolute;right:0}.action-menu__item{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:block}.action-menu__item:hover,.action-menu__item:focus-visible{background:var(--color-surface-muted)}.action-menu__item:disabled{cursor:default;opacity:.6}.action-menu__item--danger{color:var(--color-danger)}.admin-page{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.admin-page__header{gap:var(--space-2);flex-direction:column;display:flex}.admin-page__header h1{margin:0}.admin-page__header--row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-flow:wrap}.admin-page__meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.admin-page__back{align-self:flex-start}.admin-grid{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=1024px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid__wide{grid-column:1/-1}}.admin-form{max-width:560px}.card__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.card__header .card__title{margin:0}.form-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.form-control--textarea{resize:vertical;min-height:4.5rem}.form-control--inline{width:auto;padding:var(--space-1) var(--space-2)}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-card{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--stat-color,var(--color-primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.stat-card--success{--stat-color:var(--color-success)}.stat-card--danger{--stat-color:var(--color-danger)}.stat-card__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.stat-card__value{font-size:2rem;font-weight:700;line-height:1.1}.role-counts{margin:0;padding:0;list-style:none}.role-counts__item{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.role-counts__item:last-child{border-bottom:0}.role-counts__value{font-weight:600}.filters{gap:var(--space-3);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=768px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.filters{grid-template-columns:2fr repeat(3,minmax(0,1fr)) auto}}@media (width>=768px){.filters--auto{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}}@media (width>=1024px){.filters--auto{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}}.filters__field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}@media (width>=768px){.filters__field--wide{grid-column:1/-1}}@media (width>=1024px){.filters__field--wide{grid-column:auto}}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:opacity var(--transition-fast);overflow-x:auto}.table-wrap--busy{opacity:.6}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.data-table th{color:var(--color-text-muted);white-space:nowrap;background:var(--color-surface-muted);font-weight:600}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-surface-muted)}.data-table__sort{align-items:center;gap:var(--space-1);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.data-table__sort:hover{color:var(--color-text)}.data-table__sort-mark{min-width:.75em;font-size:.7em}.data-table__id{color:var(--color-text-muted);font-family:var(--font-family-mono)}.data-table__email{white-space:nowrap}.data-table__name{min-width:9rem}.data-table__name .tag{margin-left:var(--space-2)}.data-table__date{white-space:nowrap}.data-table__actions{text-align:right}.data-table__buttons{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}@media (width<=575px){.hide-sm{display:none}}@media (width<=1023px){.hide-md{display:none}}.list-footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.list-footer__per-page{align-items:center;gap:var(--space-2);display:inline-flex}.pagination{align-items:center;gap:var(--space-3);display:flex}.pagination__info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tags{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:inline-flex}.tag{padding:0 var(--space-2);border:1px solid var(--tag-color,var(--color-primary));color:var(--tag-color,var(--color-primary));white-space:nowrap;border-radius:999px;font-size:.75rem;line-height:1.6;display:inline-block}.tag--muted{--tag-color:var(--color-text-muted)}.tag--accent{--tag-color:var(--color-danger)}.tag--warning{--tag-color:var(--color-warning)}.tag--code{--tag-color:var(--color-text-muted);font-family:var(--font-family-mono)}.detail-list{margin:0}.detail-list__row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(110px,40%) 1fr;display:grid}.detail-list__row:last-child{border-bottom:0}.detail-list__row dt{color:var(--color-text-muted)}.detail-list__row dd{margin:0}.detail-list__wrap{word-break:break-all}.checkbox{align-items:flex-start;gap:var(--space-2);cursor:pointer;display:flex}.checkbox input{width:1rem;height:1rem;accent-color:var(--color-primary);flex-shrink:0;margin-top:.2rem}.checkbox input:disabled+.checkbox__text{cursor:not-allowed}.checkbox__text{flex-direction:column;display:flex}.checkbox-list{gap:var(--space-3);margin-bottom:var(--space-3);flex-direction:column;display:flex}.permission-groups{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.permission-groups__group{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;min-width:0;margin:0;display:flex}.permission-groups__legend{padding:0 var(--space-2);font-weight:600}.permission-groups__name{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-weight:500;display:flex}.permission-groups__description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.permission-groups__key{color:var(--color-text-muted);font-size:.75rem}.data-state{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--color-text-muted);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.data-state--error{color:var(--color-danger)}.data-state p{margin:0}.dialog{width:min(440px, calc(100vw - 2 * var(--space-4)));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);padding:0}.dialog::backdrop{background:#10182873}.dialog__body{padding:var(--space-5)}.dialog__title{font-size:var(--font-size-lg)}.dialog__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.dialog--wide{width:min(560px, calc(100vw - 2 * var(--space-4)))}.secret-field{margin-bottom:var(--space-4)}.secret-field__row{gap:var(--space-2);display:flex}.secret-field__value{min-width:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);flex:1}.person{flex-direction:column;min-width:0;display:flex}.person__email{white-space:nowrap}.retention-card{margin-bottom:var(--space-4)}.retention-card__confirm{gap:var(--space-2);margin:var(--space-3) 0;font-size:var(--font-size-sm);align-items:flex-start;display:flex}.retention-terms{margin:var(--space-3) 0}.retention-terms__row{gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;display:flex}.retention-terms__row dt{color:var(--color-text)}.retention-terms__row dd{text-align:right;margin:0;font-weight:600}.retention-terms__row--nested dt{padding-left:var(--space-4);color:var(--color-text-muted)}.retention-run{margin-top:var(--space-3)}.retention-run__head{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.retention-run__errors{color:var(--color-danger)}.retention-run__error-list{padding-left:var(--space-4);color:var(--color-text-muted);margin:0}.profile-page{gap:var(--space-5);flex-direction:column;display:flex}.profile-settings>.card+.card{margin-top:var(--space-4)}.profile-settings .privacy-group{margin-bottom:0}.profile-settings .privacy-group>p{margin:var(--space-3) 0 0}.profile-tabs{gap:var(--space-1);margin-bottom:var(--space-5);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.profile-tabs__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);white-space:nowrap}.profile-tabs__link:hover{background:var(--color-surface-muted);text-decoration:none}.profile-tabs__link--active{background:var(--color-surface-muted);color:var(--color-text);font-weight:500}.profile-header{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex;position:relative}@media (width>=768px){.profile-header{text-align:left;flex-direction:row;align-items:flex-start}}.profile-header__main{flex:1;min-width:0}@media (width>=768px){.profile-header__main{padding-right:var(--space-6)}}.profile-header dialog{text-align:left}.profile-header__name{margin:0 0 var(--space-2);overflow-wrap:anywhere}.profile-header__actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}@media (width>=768px){.profile-header__actions{justify-content:flex-start}}.profile-header__actions .action-menu{top:var(--space-3);right:var(--space-3);position:absolute}.profile-avatar{--avatar-size:160px;width:var(--avatar-size);height:var(--avatar-size);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:50%;flex:none;overflow:hidden}.profile-avatar--small{--avatar-size:48px}.profile-avatar__image{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar__placeholder{width:100%;height:100%;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.profile-avatar__placeholder svg{fill:currentColor;opacity:.55;width:60%;height:60%}.profile-details{text-align:left;margin:0}.profile-details__row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(110px,30%) 1fr;display:grid}.profile-details__row dt{color:var(--color-text-muted)}.profile-details__row dd{min-width:0;margin:0}.profile-details__row--block{gap:var(--space-1);grid-template-columns:1fr}.profile-details__about{white-space:pre-line;overflow-wrap:anywhere}.profile-photos__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.profile-photos__counter{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.profile-photos__upload{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.profile-photos__progress{width:min(220px,100%)}.profile-photos__empty{margin:0}.profile-photos .form-message{margin-bottom:var(--space-4)}.photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width<=575px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.photo-grid__item{gap:var(--space-2);flex-direction:column;min-width:0;display:flex;position:relative}.photo-grid__open{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);aspect-ratio:1;cursor:zoom-in;width:100%;padding:0;display:block;overflow:hidden}.photo-grid__image{object-fit:cover;width:100%;height:100%;display:block}.photo-grid__badge{top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);pointer-events:none;font-size:.75rem;position:absolute}.photo-grid__actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.btn--icon{min-width:2.25rem}.photo-viewer{width:min(960px, calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-4))}.photo-viewer__body{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.photo-viewer__image{object-fit:contain;max-width:100%;max-height:calc(100vh - 10rem);margin:0 auto;display:block}.photo-viewer__bar{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-form{max-width:560px}.profile-form__counter{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-4);text-align:right;font-size:var(--font-size-sm);color:var(--color-text-muted)}.profile-form__date{align-items:flex-end;gap:var(--space-2);display:flex}.profile-form__date .form-group{flex:1}.profile-form__date .btn{margin-bottom:var(--space-4)}.profile-form__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.privacy-group{margin:0 0 var(--space-5);border:0;padding:0}.privacy-group legend{margin-bottom:var(--space-2);font-weight:600}.privacy-group__option{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.privacy-group__option+.privacy-group__option{margin-top:var(--space-2)}.privacy-group__option--checked{border-color:var(--color-primary);background:var(--color-surface-muted)}.privacy-group__option input{margin-top:.3em}.privacy-group__label{flex-direction:column;display:flex}.privacy-group__hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.retention-note{margin-top:var(--space-4)}.social-page{gap:var(--space-4);flex-direction:column;display:flex}.social-page h1{margin:0}.search-filters{gap:var(--space-3);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=768px){.search-filters{grid-template-columns:2fr 1fr 1fr 1fr auto}}.search-filters .form-group{min-width:0;margin:0}.search-filters__actions{display:flex}.search-filters__error{grid-column:1/-1;margin:0}.user-list{gap:var(--space-2);margin:0 0 var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.user-card{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;display:flex}.user-card__avatar{flex:none}.user-card__avatar .profile-avatar{--avatar-size:56px}.user-card__main{flex:160px;min-width:0}.user-card__name{overflow-wrap:anywhere;font-weight:600}.user-card__details,.user-card__status{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.user-card__actions{gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}@media (width>=768px){.user-card__actions{justify-content:flex-end;width:auto}}.user-list--compact .user-card{padding:var(--space-2);background:0 0;border:0}.relationship-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.relationship-actions__note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.count-badge{min-width:1.5em;margin-left:var(--space-1);background:var(--color-danger);color:var(--color-primary-contrast);border-radius:999px;justify-content:center;align-items:center;padding:0 .4em;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.wall{gap:var(--space-4);flex-direction:column;display:flex}.wall__title{margin:var(--space-2) 0 0;font-size:var(--font-size-lg)}.wall__list{gap:var(--space-4);flex-direction:column;display:flex}.wall__more{margin-top:var(--space-4);align-self:center}.link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--color-text-muted);cursor:default}.link-button--danger{color:var(--color-danger)}.post-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.post{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.post__header{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.post__meta{flex:1;min-width:8rem}.post__author{overflow-wrap:anywhere;font-weight:600}.post__info{gap:var(--space-1);flex-wrap:wrap;display:flex}.post__owner-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=575px){.post__owner-actions{flex-basis:100%;justify-content:flex-start}}.post__footer{align-items:center;gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.post__action{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer;display:inline-flex}.post__action svg{fill:none;stroke:currentColor;stroke-width:2px;width:1.1em;height:1.1em}.post__action:hover:not(:disabled){background:var(--color-surface-muted)}.post__action:disabled{opacity:.7;cursor:progress}.post__action--active{border-color:var(--color-danger);color:var(--color-danger)}.post__action--active svg{fill:currentColor}.post-images{gap:var(--space-1);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.post-images--1{grid-template-columns:minmax(0,1fr)}.post-images--1 .post-images__item{aspect-ratio:auto;max-height:520px}.post-images--1 .post-images__image{object-fit:contain;background:var(--color-surface-muted);max-height:520px}.post-images--3 .post-images__item:first-child{aspect-ratio:16/9;grid-column:1/-1}.post-images__item{aspect-ratio:1;background:var(--color-surface-muted);min-width:0;display:block;position:relative}.post-images__open{cursor:zoom-in;border:0;padding:0}.post-images__image{object-fit:cover;width:100%;height:100%;display:block}.post-images__expired{justify-content:center;align-items:center;gap:var(--space-2);min-height:120px;padding:var(--space-4);color:var(--color-text-muted);text-align:center;border:1px dashed var(--color-border);flex-direction:column;display:flex}.post-images__expired svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:32px;height:32px}.link-card{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex-direction:column;display:flex;overflow:hidden}.link-card:hover{background:var(--color-surface-muted);text-decoration:none}.link-card__image{object-fit:cover;background:var(--color-surface-muted);width:100%;max-height:260px;display:block}.link-card__text{gap:var(--space-1);min-width:0;padding:var(--space-3);flex-direction:column;display:flex}.link-card__site{overflow-wrap:anywhere}.link-card__title{overflow-wrap:anywhere;font-weight:600}.link-card__description{color:var(--color-text-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link-card--compact{flex-direction:row;flex:1}.link-card--compact .link-card__image{flex:none;width:96px;height:96px}.post-composer{gap:var(--space-3);flex-direction:column;display:flex}.post-composer .form-group{margin-bottom:0}.post-composer__body{resize:vertical;min-height:4.5em}.post-composer__meta{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.post-composer__counter{margin-left:auto}.post-composer__images{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin:0;padding:0;list-style:none;display:grid}.post-composer__thumb{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.post-composer__thumb--removed{opacity:.45}.post-composer__thumb-image,.post-composer__thumb-expired{aspect-ratio:1;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-surface-muted);width:100%}.post-composer__thumb-expired{padding:var(--space-1);color:var(--color-text-muted);text-align:center;border:1px dashed var(--color-border);justify-content:center;align-items:center;display:flex}.post-composer__thumb-remove{padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.post-composer__link{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.post-composer__bar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.post-composer__attach{cursor:pointer;position:relative}.post-composer__attach--disabled{opacity:.6;cursor:not-allowed}.post-composer__attach:focus-within{box-shadow:0 0 0 3px var(--color-focus)}.post-composer__visibility .form-control{width:auto;padding-top:var(--space-1);padding-bottom:var(--space-1)}.post-composer__submit{gap:var(--space-2);margin-left:auto;display:flex}.post-composer__hint{margin:0}.post-comments{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.post-comments__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-comments__form{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.post-comments__form .form-control{width:100%}.post-comment{gap:var(--space-2);min-width:0;display:flex}.post-comment__avatar{flex:none}.post-comment__avatar .profile-avatar--small{--avatar-size:36px}.post-comment__main{min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);flex:1}.post-comment__head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.post-comment__author{overflow-wrap:anywhere;font-weight:600}.post-comment__actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.post-comment__edit{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.likes-dialog__list{gap:var(--space-2);max-height:min(60vh,420px);margin:0 0 var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex;overflow-y:auto}.likes-dialog__user{align-items:center;gap:var(--space-3);color:var(--color-text);display:flex}.feed-page__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.feed-page__header h1{margin:0}.feed-page__more-error{margin-top:var(--space-4)}.wall__focus{gap:var(--space-3);flex-direction:column;display:flex}.wall__focus-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.post--focused{outline:2px solid var(--color-primary);outline-offset:-2px}.post__permalink{color:inherit;text-decoration:none}.post__permalink:hover,.post__permalink:focus-visible{text-decoration:underline}.conversation-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.conversation-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:inherit;transition:border-color var(--transition-fast);text-decoration:none;display:flex}.conversation-item:hover,.conversation-item:focus-visible{border-color:var(--color-primary);text-decoration:none}.conversation-item--active{border-color:var(--color-primary);background:var(--color-surface-muted)}.conversation-item__avatar.profile-avatar--small{--avatar-size:44px}.conversation-item__main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.conversation-item__top,.conversation-item__bottom{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.conversation-item__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.conversation-item__time{color:var(--color-text-muted);font-size:var(--font-size-sm);flex:none}.conversation-item__preview{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item__preview--muted{font-style:italic}.conversation-item__you{color:var(--color-text)}.conversation-item__muted{font-style:italic}.conversation-item--unread .conversation-item__preview{color:var(--color-text);font-weight:600}.app-shell__main--full{min-height:0}@media (width>=768px){.app-shell__main--full{min-height:100vh}}.layout__content--full{max-width:none;padding:0;display:flex}@media (width>=768px){.layout__content--full{padding:0}}.messenger{--messenger-height:calc(100dvh - var(--header-height));width:100%;height:var(--messenger-height);background:var(--color-surface);flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid}@media (width>=768px){.messenger{--messenger-height:100dvh;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}}.messenger__list{border-right:1px solid var(--color-border);flex-direction:column;min-height:0;display:flex}.messenger__list-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.messenger__title{font-size:var(--font-size-lg);margin:0}.messenger__offline{color:var(--color-warning);font-size:var(--font-size-sm)}.messenger__list-body{min-height:0;padding:var(--space-2);overscroll-behavior:contain;flex:1;overflow-y:auto}.messenger__more{margin:var(--space-2) auto;display:block}.messenger__retention{margin:var(--space-3) var(--space-2) var(--space-2);text-align:center}.messenger__chat{background:var(--color-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.messenger__placeholder{gap:var(--space-2);padding:var(--space-6);color:var(--color-text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}@media (width<=767px){.messenger__chat,.messenger--chat-open .messenger__list{display:none}.messenger--chat-open .messenger__chat{display:flex}}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat__header{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.chat__back{min-width:40px;min-height:36px;margin-right:var(--space-4);flex:none}@media (width>=768px){.chat__back{display:none}}.chat__peer{align-items:center;gap:var(--space-2);min-width:0;color:inherit;text-decoration:none;display:flex}.chat__peer:hover{text-decoration:none}.chat__peer .profile-avatar--small{--avatar-size:40px}.chat__peer-text{flex-direction:column;min-width:0;line-height:1.25;display:flex;position:relative}.chat__peer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chat__typing{white-space:nowrap;color:var(--color-primary);line-height:1.1;font-size:var(--font-size-sm);position:absolute;top:100%;left:0}.chat__notice{padding:var(--space-2) var(--space-4);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.chat>.data-state{margin:auto}.chat__messages{gap:var(--space-2);min-height:0;padding:var(--space-4);overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.chat__older{align-self:center}.chat__start{text-align:center;margin:auto}.chat__unavailable{padding:var(--space-6);color:var(--color-text-muted);text-align:center;margin:auto}.chat__composer{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border)}.message{max-width:min(80%,560px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);position:relative}.message--theirs{background:var(--color-surface-muted);align-self:flex-start}.message--mine{background:var(--color-primary);color:var(--color-primary-contrast);align-self:flex-end}.message--failed{opacity:.75}.message__body{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.message__meta{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:.75rem;display:flex}.message__meta time{opacity:.75}.message__error{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.message--deleted{opacity:.8}.message__body--deleted{font-style:italic}.message--editing{outline:2px solid var(--color-focus);outline-offset:2px}.message__edited{opacity:.75;font-style:italic}.message__link{margin-top:var(--space-2);color:var(--color-text)}.message__pending-files{margin:0 0 var(--space-1);font-size:var(--font-size-sm);overflow-wrap:anywhere;padding:0;list-style:none}.message__progress{align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:.75rem;display:flex}.message__progress progress{flex:1;min-width:60px;height:6px}.message__report.report-icon{--report-icon-size:16px;margin-right:auto}.message__report.report-icon+*{margin-left:var(--space-1)}.message__report.report-icon:before{border-radius:var(--radius-sm);inset:-6px -8px -12px -12px}.message__actions{width:24px;height:20px;margin-left:var(--space-1);color:inherit;border-radius:var(--radius-sm);cursor:pointer;opacity:.7;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.message__actions svg{fill:currentColor;width:16px;height:16px}.message__actions:hover,.message__actions:focus-visible{opacity:1;background:#7f7f7f33}.message-attachments{gap:var(--space-2);margin-bottom:var(--space-1);flex-direction:column;display:flex}.message-attachments__images{gap:var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}.message-attachments__images--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-attachments__thumb{background:var(--color-surface-muted);border-radius:var(--radius-md);cursor:zoom-in;border:0;padding:0;display:block;overflow:hidden}.message-attachments__thumb img{object-fit:cover;width:100%;max-width:320px;height:auto;max-height:320px;display:block}.message-attachments__images--grid .message-attachments__thumb img{aspect-ratio:1;max-height:160px}.message-attachments__unavailable{justify-content:center;align-items:center;gap:var(--space-1);min-height:96px;padding:var(--space-2);color:var(--color-text-muted);text-align:center;background:var(--color-surface-muted);border-radius:var(--radius-md);overflow-wrap:anywhere;flex-direction:column;font-size:.75rem;display:flex}.message-attachments__unavailable svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:24px;height:24px}.message-attachments__files{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.message-attachments__file{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);color:var(--color-text);background:var(--color-surface);border-radius:var(--radius-md);display:flex}.message-attachments__file--expired{color:var(--color-text-muted)}.message-attachments__icon{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none;width:24px;height:24px}.message-attachments__file-text{flex-direction:column;flex:1;min-width:0;display:flex}.message-attachments__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-attachments__details{color:var(--color-text-muted);font-size:.75rem}.message-attachments__download{flex:none}.message-actions{width:min(92vw,360px)}.message-actions__preview{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.message-actions__list{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.message-composer{gap:var(--space-2);flex-direction:column;display:flex}.message-composer__field{resize:none;width:100%;max-height:40vh}.message-composer__bar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.message-composer__hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.message-composer__left{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.message-composer__attach{flex:none}.message-composer__attach svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.message-composer__editing{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);display:flex}.message-composer__editing-text{min-width:0;font-size:var(--font-size-sm);flex-direction:column;display:flex}.message-composer__editing-text .text-muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-composer__files{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.message-composer__file{align-items:center;gap:var(--space-1);max-width:100%;padding:2px var(--space-1) 2px var(--space-2);font-size:var(--font-size-sm);background:var(--color-surface-muted);border-radius:var(--radius-sm);display:inline-flex}.message-composer__file-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.message-composer__file-size{color:var(--color-text-muted);white-space:nowrap}.message-composer__file-remove{width:24px;height:24px;color:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.1rem;line-height:1}.message-composer__file-remove:hover,.message-composer__file-remove:focus-visible{background:#7f7f7f33}.message-composer__error{margin:0}.message-status{color:currentColor;opacity:.55;flex:none;align-items:center;display:inline-flex}.message-status svg{width:13px;height:13px}.message-status .message-status__ticks{width:19px;height:12px}.message-status--read{color:var(--message-read-color);opacity:1;filter:drop-shadow(0 0 1px #00000059)}.message-status--failed{color:var(--color-danger);opacity:1}:root{--message-read-color:#3df5ff}.conversation-item__status{margin-right:var(--space-1);vertical-align:-.1em;color:var(--color-text-muted)}.conversation-item__status.message-status--read{color:var(--color-primary)}.group-avatar{--group-avatar-size:40px;width:var(--group-avatar-size);height:var(--group-avatar-size);background:var(--color-primary);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.group-avatar[data-tone="1"]{background:#6a5acd}.group-avatar[data-tone="2"]{background:#2e8b57}.group-avatar[data-tone="3"]{background:#c0672d}.group-avatar--image{object-fit:cover;background:var(--color-surface-muted)}.conversation-item__group-icon{width:18px;height:18px;fill:var(--color-text-muted);flex:none;align-self:center}.conversation-item__avatar.group-avatar{--group-avatar-size:44px}.messenger__list-header .messenger__title{margin-right:auto}.messenger__filters{gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.messenger__filter{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;flex:1}.messenger__filter:hover{color:var(--color-text);border-color:var(--color-primary)}.messenger__filter:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.messenger__filter--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.messenger__filter--active:hover{color:#fff}.messenger__new-group{flex:none}.chat__peer--group{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.chat__subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm)}.chat__info{align-items:center;gap:var(--space-1);flex:none;margin-left:auto;display:inline-flex}.message__author{margin:0 0 var(--space-1);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600}.group-panel{max-height:calc(100dvh - 2 * var(--space-4))}.group-panel__body{gap:var(--space-3);flex-direction:column;display:flex}.group-panel__head{align-items:center;gap:var(--space-3);display:flex}.group-panel__head .dialog__title{overflow-wrap:anywhere;margin:0}.group-panel__head p{margin:0}.group-panel__title{min-width:0}.group-panel__description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.group-panel__section{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.group-panel__section>summary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--color-surface-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;list-style:none;transition:background-color .15s,border-color .15s;display:flex}.group-panel__section>summary::-webkit-details-marker{display:none}.group-panel__section>summary:after{content:"";opacity:.7;border-bottom:2px solid;border-right:2px solid;flex:none;width:8px;height:8px;margin-left:auto;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}.group-panel__section>summary:hover{border-color:var(--color-primary)}.group-panel__section>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.group-panel__section:is(details){border-top:0;padding-top:0}.group-panel__section[open]>summary{border-color:var(--color-primary)}.group-panel__section[open]>summary:after{transform:translateY(2px)rotate(-135deg)}.group-panel__section>summary+*{margin-top:var(--space-3)}.group-panel__subtitle{margin:0 0 var(--space-2);font-size:var(--font-size-md,1rem)}.group-panel__form{margin-top:var(--space-3)}.group-panel__search{margin-bottom:var(--space-2)}.group-panel__list{margin:var(--space-2) 0;padding:0;list-style:none}.group-panel__row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.group-panel__row+.group-panel__row{border-top:1px solid var(--color-border)}.group-panel__person{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-width:0;display:flex}.group-panel__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.group-panel__badge{padding:0 var(--space-2);border-radius:var(--radius-sm,4px);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm)}.group-panel__footer{padding-top:var(--space-3);border-top:1px solid var(--color-border);align-items:center}.group-panel__hint{flex:100%;margin:0}.group-panel__avatar{--group-avatar-size:56px}.group-panel__avatar-field{margin-top:var(--space-3)}.group-panel__avatar-field p{margin:var(--space-1) 0 0}.group-panel__avatar-row{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.group-join{max-width:480px}.group-join__group{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.group-join__group p{margin:0}.group-join__name{overflow-wrap:anywhere;font-weight:600}.group-join__actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.reply-quote{--reply-accent:var(--color-primary);--reply-bg:var(--color-reply-bg);--reply-bg-hover:var(--color-reply-bg-hover);box-sizing:border-box;width:100%;min-width:0;padding:var(--space-1) var(--space-2);color:inherit;font:inherit;font-size:var(--font-size-sm);text-align:left;background:var(--reply-bg);border:0;border-left:3px solid var(--reply-accent);border-radius:var(--radius-sm);flex-direction:column;gap:1px;margin:0;line-height:1.35;display:flex}.reply-quote__author{color:var(--reply-accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.reply-quote__text{overflow-wrap:anywhere;opacity:.85;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reply-quote--muted .reply-quote__text{font-style:italic}.reply-quote--clickable{cursor:pointer;transition:background var(--transition-fast)}.reply-quote--clickable:hover{background:var(--reply-bg-hover)}.reply-quote--clickable:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.reply-quote--busy{cursor:progress;opacity:.7}.message__reply{margin-bottom:var(--space-1)}.message--mine .reply-quote{--reply-accent:var(--color-primary-contrast);--reply-bg:var(--color-reply-mine-bg);--reply-bg-hover:var(--color-reply-mine-bg-hover)}.message--highlight{animation:2s ease-out message-highlight}@keyframes message-highlight{0%,40%{box-shadow:0 0 0 3px var(--color-focus)}to{box-shadow:0 0 0 3px #0000}}@media (prefers-reduced-motion:reduce){.message--highlight{box-shadow:0 0 0 3px var(--color-focus);animation:none}}.message-composer__reply{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.message-composer__reply-quote{flex:1}.message-composer__reply-cancel{width:32px;height:32px;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.message-composer__reply-cancel:hover,.message-composer__reply-cancel:focus-visible{color:var(--color-text);background:var(--color-surface-muted)}.chat__detached{padding:var(--space-2) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);justify-content:center;display:flex}.message--swipeable{touch-action:pan-y;transform:translateX(var(--swipe-x,0px));transition:transform .2s}.message--swiping{-webkit-user-select:none;user-select:none;transition:none}.message__reply-button{width:30px;height:30px;color:var(--color-text-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);cursor:pointer;opacity:max(.5, var(--swipe-progress,0));transform:translateY(-50%) scale(calc(.85 + .15 * var(--swipe-progress,0)));transition:opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%}.message__reply-button svg{fill:currentColor;width:16px;height:16px}.message__reply-button:hover,.message__reply-button:focus-visible{color:var(--color-primary);opacity:1}.message__reply-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.message--theirs .message__reply-button{left:calc(100% + var(--space-2))}.message--mine .message__reply-button{right:calc(100% + var(--space-2))}.message--swipe-ready .message__reply-button{color:var(--color-primary-contrast);background:var(--color-primary);border-color:var(--color-primary);opacity:1}@media (prefers-reduced-motion:reduce){.message--swipeable{transition:none}}.notifications-page__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.notifications-page__header h1{margin:0}.notifications-page__more{margin-top:var(--space-4)}.notice-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:0;padding:0;list-style:none;overflow:hidden}.notice{--notice-accent:transparent;border-left:3px solid var(--notice-accent);align-items:stretch;min-width:0;display:flex}.notice+.notice{border-top:1px solid var(--color-border)}.notice--unread{--notice-accent:var(--color-primary);background:var(--color-surface-muted)}.notice--unread .notice__text{font-weight:600}.notice--unavailable .notice__text{color:var(--color-text-muted);font-style:italic}.notice__main{gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);color:inherit;flex:1;align-items:flex-start;text-decoration:none;display:flex}a.notice__main:hover,a.notice__main:focus-visible{background:var(--color-surface-muted)}.notice__avatar{flex:none}.notice__avatar.profile-avatar--small{--avatar-size:40px}.notice__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.notice__text{overflow-wrap:anywhere}.notice__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.notice__state{padding:0 var(--space-2);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--font-size-sm);border-radius:999px}.notice__state--pending{border-color:var(--color-warning)}.notice__state--accepted{border-color:var(--color-success)}.notice__read{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:44px;display:flex}.notice__read:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.notice__dot{background:var(--color-primary);border-radius:50%;width:10px;height:10px}.post-comment--focused{border-radius:var(--radius-sm);outline:2px solid var(--color-focus);outline-offset:2px}.post-comment__reply-to{color:var(--color-text-muted);font-size:var(--font-size-sm)}.post-comments__replying{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.moderation-page h1{margin-bottom:var(--space-3)}.moderation-page .card{margin-bottom:var(--space-4)}.moderation-page .card h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.segmented{margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:3px;display:flex}.segmented__item{min-width:0;padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-muted);text-align:center;overflow-wrap:anywhere;flex:1 1 0}.segmented__item:hover{color:var(--color-text);text-decoration:none}.segmented__item--active{background:var(--color-surface);color:var(--color-text);font-weight:500;box-shadow:0 1px 2px #00000014}.moderation-list{gap:var(--space-3);margin:0 0 var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.moderation-item{min-width:0}.moderation-item p{margin:var(--space-1) 0}.moderation-item__head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.moderation-item__link{gap:var(--space-1);color:inherit;flex-direction:column;text-decoration:none;display:flex}.moderation-item__link:hover strong{text-decoration:underline}.moderation-item__text{white-space:pre-wrap;overflow-wrap:anywhere}.moderation-item__quote{padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-text-muted)}.moderation-item__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.moderation-filters{gap:var(--space-2) var(--space-3);margin:var(--space-3) 0 var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.moderation-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.moderation-card__header{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.moderation-card__header h1{overflow-wrap:anywhere;margin:0}.moderation-card__actions fieldset{margin:0 0 var(--space-3);border:0;padding:0}.moderation-card__assign{align-items:flex-end;gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.moderation-card__assign .form-group{flex:14rem;margin-bottom:0}.moderation-card__assign-button{min-height:var(--control-height);line-height:var(--line-height-base)}.moderation-card__decision{margin-top:var(--space-3)}.moderation-card__context{margin-top:var(--space-4)}.evidence__meta{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);grid-template-columns:max-content minmax(0,1fr);display:grid}.evidence__meta dt{color:var(--color-text-muted)}.evidence__meta dd{overflow-wrap:anywhere;margin:0}.evidence__text{white-space:pre-wrap;overflow-wrap:anywhere}.evidence__quote{margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted)}.evidence__revisions h4{margin:var(--space-3) 0 var(--space-2)}.evidence__revisions ol{padding-left:var(--space-5);margin:0}.evidence__files{margin:var(--space-3) 0 0;padding-left:var(--space-5);overflow-wrap:anywhere}.context-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.context-list__item{padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.context-list__item--target{color:var(--color-primary);text-align:center;font-weight:600}.context-message p{margin:0}.context-message--deleted .evidence__text:first-of-type,.context-message__revision{color:var(--color-text-muted)}.moderation-history{padding-left:var(--space-5);margin:0}.moderation-history li{margin-bottom:var(--space-2);overflow-wrap:anywhere}.moderation-history--log{padding:0;list-style:none}.moderation-history--log li{gap:var(--space-1) var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.moderation-history__private{border-left:3px solid var(--color-warning);padding-left:var(--space-2)!important}.report-dialog__reasons{margin:0 0 var(--space-3);border:0;padding:0}.report-dialog__reason{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.post__report{margin-left:auto}.report-icon{--report-icon-size:20px;--report-icon-hit:10px;width:var(--report-icon-size);height:var(--report-icon-size);color:var(--color-report);cursor:pointer;opacity:.35;transition:opacity var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.report-icon:before{content:"";inset:calc(var(--report-icon-hit) * -1);border-radius:50%;position:absolute}.report-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:100%;height:100%}.report-icon__dot{fill:currentColor}.report-icon:hover,.report-icon:focus-visible{opacity:1}.report-icon:focus-visible{outline:2px solid var(--color-report);outline-offset:2px}.report-icon:active{transform:scale(.9)}@media (hover:none){.report-icon--faint{opacity:.55}}.account-blocked__details{margin:var(--space-4) 0}.account-blocked__details .card{margin-bottom:var(--space-3)}.account-blocked__details p{margin:var(--space-1) 0;overflow-wrap:anywhere}.account-blocked__actions{gap:var(--space-2);flex-direction:column;display:flex}.violations__tab{font:inherit;cursor:pointer;background:0 0;border:0}.violations__tab.profile-tabs__link--active,.violations__tab:hover{background:var(--color-surface-muted)}:root{--control-height:calc(var(--space-2) * 2 + var(--font-size-base) * var(--line-height-base) + 2px)}.moderation-item--unread{border-left:4px solid var(--color-danger)}.moderation-item--unread .moderation-item__head strong{font-weight:700}.moderation-item__badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.moderation-item__new{padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;font-size:var(--font-size-sm);font-weight:600}.report-button{font-weight:600}.security-page{gap:var(--space-4);flex-direction:column;display:flex}.security-page__email{margin:0 0 var(--space-2);word-break:break-all;font-weight:600}.sessions{gap:var(--space-3);margin:var(--space-3) 0;flex-direction:column;padding:0;list-style:none;display:flex}.sessions__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sessions__item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.sessions__item--current{border-color:var(--color-primary)}.sessions__main{flex:16rem;min-width:0}.sessions__name{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);word-break:break-word;flex-wrap:wrap;display:flex}.sessions__meta{gap:var(--space-1) var(--space-3);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin:0;display:grid}.sessions__meta dt{color:var(--color-text-muted)}.sessions__meta dd{word-break:break-word;margin:0}.sessions__actions{flex-shrink:0}.security-admin__grid{gap:var(--space-5);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.security-admin__subtitle{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.admin-alert{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.recovery-banner{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);border:2px solid var(--color-warning,#d97706);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.recovery-banner__title{margin:0 0 var(--space-1);font-size:var(--font-size-lg)}.recovery-banner p{margin:0}.recovery-banner__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.security-admin--pending{border-color:var(--color-warning,#d97706)}.app-boot{justify-content:center;align-items:center;gap:var(--space-2);min-height:100vh;color:var(--color-text-muted);display:flex}.account-deletion__open{margin-top:var(--space-2)}.account-deletion-page__warning{margin-bottom:var(--space-4)}.account-deletion-page__list{margin:var(--space-2) 0 var(--space-3);padding-left:var(--space-5)}.account-deletion-page__list li{margin-bottom:var(--space-2);overflow-wrap:anywhere}.account-deletion-page__due{margin:var(--space-3) 0;overflow-wrap:anywhere}.account-deletion-page__actions{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.account-blocked__delete{margin-top:var(--space-3);text-align:center;color:var(--color-danger);display:block}
