:root{--color-stone-0: #ffffff;--color-stone-25: #fffcf8;--color-stone-50: #faf7f2;--color-stone-100: #f3eee7;--color-stone-200: #e7ded4;--color-stone-300: #d3c7bb;--color-stone-400: #aa9e94;--color-stone-500: #7d736c;--color-stone-600: #625a55;--color-stone-700: #49433f;--color-stone-800: #322f2d;--color-stone-900: #22201f;--color-stone-950: #171615;--color-brand-50: #f3f1f7;--color-brand-100: #e8e4ef;--color-brand-200: #d2ccdf;--color-brand-300: #b5adc9;--color-brand-400: #9187aa;--color-brand-500: #716784;--color-brand-600: #5b536d;--color-brand-700: #494357;--color-brand-800: #373341;--color-brand-900: #282530;--color-rose-50: #fbf3f4;--color-rose-100: #f4e2e5;--color-rose-200: #e8c7cd;--color-rose-300: #d4a2ab;--color-rose-400: #b87984;--color-rose-500: #995a66;--color-rose-600: #7e4853;--color-rose-700: #653a44;--color-rose-800: #4c2c34;--color-sage-50: #f2f6f2;--color-sage-100: #e2ebe3;--color-sage-200: #c7d8c9;--color-sage-300: #a4bda8;--color-sage-400: #7e9c83;--color-sage-500: #617b66;--color-sage-600: #4d6552;--color-sage-700: #3d5042;--color-sage-800: #303f34;--space-0: 0;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-none: 0;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 999px;--border-hairline: 1px;--border-emphasis: 2px;--border-focus: 3px;--control-xs: 28px;--control-sm: 36px;--control-md: 44px;--control-lg: 52px;--touch-target-min: 40px;--touch-target-android: 48px;--container-reading: 720px;--container-content: 1120px;--container-wide: 1280px;--container-admin: 1440px;--sidebar-web: 240px;--aside-detail: 320px;--breakpoint-xs: 360px;--breakpoint-sm: 600px;--breakpoint-md: 840px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1440px;--z-base: 0;--z-sticky: 100;--z-navigation: 200;--z-dropdown: 300;--z-fab: 350;--z-scrim: 400;--z-sheet: 500;--z-modal: 600;--z-toast: 700;--z-critical: 800;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--keyboard-offset: 0px}:root,:root[data-mode=light]{color-scheme:light;--color-bg-canvas: var(--color-stone-50);--color-bg-subtle: var(--color-stone-100);--color-surface-default: var(--color-stone-25);--color-surface-raised: var(--color-stone-0);--color-surface-inverse: var(--color-stone-900);--color-text-primary: var(--color-stone-900);--color-text-secondary: var(--color-stone-600);--color-text-tertiary: var(--color-stone-600);--color-text-disabled: var(--color-stone-400);--color-text-inverse: var(--color-stone-25);--color-text-on-custom-accent: var(--color-stone-0);--color-text-link: var(--color-brand-700);--color-border-subtle: var(--color-stone-200);--color-border-default: var(--color-stone-300);--color-border-strong: var(--color-stone-500);--color-focus-ring: var(--color-brand-500);--color-action-primary: var(--color-brand-700);--color-action-primary-hover: var(--color-brand-800);--color-action-primary-pressed: var(--color-brand-900);--color-action-primary-soft: var(--color-brand-100);--color-accent-emotional: var(--color-rose-600);--color-selection: var(--color-rose-100);--color-scrim: rgb(23 22 21 / 52%);--color-success-fg: #356447;--color-success-bg: #eaf4ed;--color-success-border: #b9d8c1;--color-warning-fg: #805b22;--color-warning-bg: #fbf1de;--color-warning-border: #e8cd98;--color-danger-fg: #8a3947;--color-danger-bg: #fbeaec;--color-danger-border: #e8b8c0;--color-info-fg: #3e6171;--color-info-bg: #eaf2f5;--color-info-border: #bcd3dc;--shadow-none: none;--shadow-xs: 0 1px 2px rgb(31 27 24 / 6%);--shadow-sm: 0 4px 14px rgb(31 27 24 / 8%);--shadow-md: 0 12px 32px rgb(31 27 24 / 10%);--shadow-lg: 0 24px 60px rgb(31 27 24 / 16%);--shadow-focus: 0 0 0 3px rgb(113 103 132 / 28%);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--paper: var(--color-bg-canvas);--surface: color-mix(in srgb, var(--color-surface-default) 94%, transparent);--surface-solid: var(--color-surface-default);--line: var(--color-border-subtle);--control-line: var(--color-border-default);--accent: var(--color-brand-600);--accent-deep: var(--color-action-primary);--rose: var(--color-accent-emotional);--sage: var(--color-sage-500);--danger: var(--color-danger-fg);--focus: var(--color-focus-ring);--shadow: var(--shadow-md);--radius: var(--radius-lg)}:root[data-mode=dark]{color-scheme:dark;--color-bg-canvas: #181716;--color-bg-subtle: #211f1e;--color-surface-default: #272523;--color-surface-raised: #302d2b;--color-surface-inverse: #f8f3ed;--color-text-primary: #f5f0ea;--color-text-secondary: #c9c0b8;--color-text-tertiary: #a69c94;--color-text-disabled: #746c67;--color-text-inverse: #25211f;--color-text-on-custom-accent: #ffffff;--color-text-link: #c8c0d8;--color-border-subtle: rgb(255 255 255 / 10%);--color-border-default: rgb(255 255 255 / 18%);--color-border-strong: rgb(255 255 255 / 32%);--color-focus-ring: var(--color-brand-300);--color-action-primary: #b8afcb;--color-action-primary-hover: #cac3da;--color-action-primary-pressed: #a69cbe;--color-action-primary-soft: rgb(184 175 203 / 16%);--color-accent-emotional: #d99da8;--color-selection: rgb(217 157 168 / 18%);--color-scrim: rgb(0 0 0 / 68%);--color-success-fg: #9cc9a8;--color-success-bg: #23342a;--color-success-border: #466b52;--color-warning-fg: #e5c48c;--color-warning-bg: #3a3020;--color-warning-border: #715b35;--color-danger-fg: #efb0bb;--color-danger-bg: #3b252a;--color-danger-border: #76424d;--color-info-fg: #a9ccd8;--color-info-bg: #223139;--color-info-border: #496b78;--shadow-xs: 0 1px 2px rgb(0 0 0 / 18%);--shadow-sm: 0 4px 14px rgb(0 0 0 / 24%);--shadow-md: 0 12px 32px rgb(0 0 0 / 30%);--shadow-lg: 0 24px 60px rgb(0 0 0 / 42%);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--paper: var(--color-bg-canvas);--surface: color-mix(in srgb, var(--color-surface-default) 94%, transparent);--surface-solid: var(--color-surface-default);--line: var(--color-border-subtle);--control-line: var(--color-border-default);--accent: var(--color-brand-300);--accent-deep: var(--color-action-primary);--rose: var(--color-accent-emotional);--sage: var(--color-sage-300);--danger: var(--color-danger-fg);--focus: var(--color-focus-ring);--shadow: var(--shadow-md)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]){color-scheme:dark;--color-bg-canvas: #181716;--color-bg-subtle: #211f1e;--color-surface-default: #272523;--color-surface-raised: #302d2b;--color-surface-inverse: #f8f3ed;--color-text-primary: #f5f0ea;--color-text-secondary: #c9c0b8;--color-text-tertiary: #a69c94;--color-text-disabled: #746c67;--color-text-inverse: #25211f;--color-text-on-custom-accent: #ffffff;--color-text-link: #c8c0d8;--color-border-subtle: rgb(255 255 255 / 10%);--color-border-default: rgb(255 255 255 / 18%);--color-border-strong: rgb(255 255 255 / 32%);--color-focus-ring: var(--color-brand-300);--color-action-primary: #b8afcb;--color-action-primary-hover: #cac3da;--color-action-primary-pressed: #a69cbe;--color-action-primary-soft: rgb(184 175 203 / 16%);--color-accent-emotional: #d99da8;--color-selection: rgb(217 157 168 / 18%);--color-scrim: rgb(0 0 0 / 68%);--color-success-fg: #9cc9a8;--color-success-bg: #23342a;--color-success-border: #466b52;--color-warning-fg: #e5c48c;--color-warning-bg: #3a3020;--color-warning-border: #715b35;--color-danger-fg: #efb0bb;--color-danger-bg: #3b252a;--color-danger-border: #76424d;--color-info-fg: #a9ccd8;--color-info-bg: #223139;--color-info-border: #496b78;--shadow-xs: 0 1px 2px rgb(0 0 0 / 18%);--shadow-sm: 0 4px 14px rgb(0 0 0 / 24%);--shadow-md: 0 12px 32px rgb(0 0 0 / 30%);--shadow-lg: 0 24px 60px rgb(0 0 0 / 42%);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--paper: var(--color-bg-canvas);--surface: color-mix(in srgb, var(--color-surface-default) 94%, transparent);--surface-solid: var(--color-surface-default);--line: var(--color-border-subtle);--control-line: var(--color-border-default);--accent: var(--color-brand-300);--accent-deep: var(--color-action-primary);--rose: var(--color-accent-emotional);--sage: var(--color-sage-300);--danger: var(--color-danger-fg);--focus: var(--color-focus-ring);--shadow: var(--shadow-md)}}:root{--font-sans: Inter, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", Roboto, system-ui, sans-serif;--font-display: "Noto Serif SC", "Songti SC", STSong, serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--type-display-lg-size: 56px;--type-display-lg-line: 64px;--type-display-sm-size: 44px;--type-display-sm-line: 54px;--type-heading-1-size: 40px;--type-heading-1-line: 48px;--type-heading-2-size: 30px;--type-heading-2-line: 38px;--type-heading-3-size: 22px;--type-heading-3-line: 30px;--type-title-lg-size: 18px;--type-title-lg-line: 26px;--type-title-md-size: 16px;--type-title-md-line: 24px;--type-body-lg-size: 16px;--type-body-lg-line: 28px;--type-body-md-size: 14px;--type-body-md-line: 22px;--type-body-sm-size: 13px;--type-body-sm-line: 20px;--type-label-size: 13px;--type-label-line: 18px;--type-caption-size: 12px;--type-caption-line: 18px;--type-micro-size: 11px;--type-micro-line: 16px}@media(max-width:599px){:root{--type-display-lg-size: 36px;--type-display-lg-line: 44px;--type-display-sm-size: 32px;--type-display-sm-line: 40px;--type-heading-1-size: 30px;--type-heading-1-line: 38px;--type-heading-2-size: 24px;--type-heading-2-line: 32px;--type-heading-3-size: 20px;--type-heading-3-line: 28px;--type-body-lg-line: 26px}}:root{--motion-instant: 80ms;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--motion-emphasis: .32s;--motion-decorative: .48s;--motion-slower: 1.2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(0, 0, 0, 1);--ease-exit: cubic-bezier(.3, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring-soft: cubic-bezier(.22, 1, .36, 1)}:root{--relationship-lover-seed: #94606a;--relationship-lover-soft: #f5e9eb;--relationship-friend-seed: #557583;--relationship-friend-soft: #e8f0f2;--relationship-bestie-seed: #766582;--relationship-bestie-soft: #efeaf3;--relationship-family-seed: #8a6b43;--relationship-family-soft: #f4eee3;--relationship-custom-seed: #607666;--relationship-custom-soft: #eaf0eb;--relationship-accent: var(--relationship-custom-seed);--relationship-surface: var(--relationship-custom-soft)}[data-relationship-theme=lover]{--relationship-accent: var(--relationship-lover-seed);--relationship-surface: var(--relationship-lover-soft)}[data-relationship-theme=friend]{--relationship-accent: var(--relationship-friend-seed);--relationship-surface: var(--relationship-friend-soft)}[data-relationship-theme=bestie]{--relationship-accent: var(--relationship-bestie-seed);--relationship-surface: var(--relationship-bestie-soft)}[data-relationship-theme=family]{--relationship-accent: var(--relationship-family-seed);--relationship-surface: var(--relationship-family-soft)}:root{--button-height-sm: var(--control-sm);--button-height-md: var(--control-md);--button-height-lg: var(--control-lg);--button-radius: var(--radius-md);--button-gap: var(--space-2);--button-padding-sm: var(--space-3);--button-padding-md: var(--space-4);--button-padding-lg: var(--space-5);--button-primary-bg: var(--color-action-primary);--button-primary-bg-hover: var(--color-action-primary-hover);--button-primary-bg-pressed: var(--color-action-primary-pressed);--button-primary-fg: var(--color-text-inverse);--button-secondary-bg: var(--color-surface-raised);--button-secondary-fg: var(--color-text-primary);--button-secondary-border: var(--color-border-default);--button-tonal-bg: var(--color-action-primary-soft);--button-tonal-fg: var(--color-text-link);--button-danger-bg: var(--color-danger-fg);--button-danger-fg: var(--color-text-inverse);--field-height: var(--control-md);--field-height-login: var(--control-lg);--field-radius: var(--radius-md);--field-bg: var(--color-surface-raised);--field-fg: var(--color-text-primary);--field-border: var(--color-border-default);--field-border-hover: var(--color-border-strong);--field-border-error: var(--color-danger-fg);--chip-height: var(--control-sm);--chip-radius: var(--radius-full);--chip-bg: var(--color-surface-default);--chip-selected-bg: var(--color-action-primary-soft);--badge-height: 22px;--avatar-bg: var(--color-action-primary-soft);--skeleton-bg: var(--color-bg-subtle);--skeleton-highlight: var(--color-surface-raised)}.ui-button{position:relative;min-width:max-content;min-height:var(--button-height-md);padding-inline:var(--button-padding-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);color:var(--button-secondary-fg);background:var(--button-secondary-bg);border:var(--border-hairline) solid var(--button-secondary-border);border-radius:var(--button-radius);font:inherit;font-weight:650;line-height:1;text-align:center;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-instant) var(--ease-standard)}.ui-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.ui-button:active:not(:disabled){transform:scale(.96)}.ui-button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-button--sm{min-height:var(--button-height-sm);padding-inline:var(--button-padding-sm);font-size:var(--type-body-sm-size)}.ui-button--lg{min-height:var(--button-height-lg);padding-inline:var(--button-padding-lg)}.ui-button--block{width:100%}.ui-button--primary{color:var(--button-primary-fg);background:var(--button-primary-bg);border-color:var(--button-primary-bg)}.ui-button--primary:hover:not(:disabled){background:var(--button-primary-bg-hover);border-color:var(--button-primary-bg-hover)}.ui-button--primary:active:not(:disabled){background:var(--button-primary-bg-pressed)}.ui-button--tonal{color:var(--button-tonal-fg);background:var(--button-tonal-bg);border-color:transparent}.ui-button--tonal:hover:not(:disabled){background:color-mix(in srgb,var(--button-tonal-bg) 82%,var(--color-action-primary));border-color:transparent}.ui-button--ghost{background:transparent;border-color:transparent}.ui-button--ghost:hover:not(:disabled){background:var(--color-bg-subtle);border-color:transparent}.ui-button--danger{color:var(--button-danger-fg);background:var(--button-danger-bg);border-color:var(--button-danger-bg)}.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--button-danger-bg) 88%,var(--color-surface-inverse));border-color:transparent}.ui-button--link{min-height:auto;padding:0;color:var(--color-text-link);background:transparent;border:0;border-radius:var(--radius-xs);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}.ui-button--link:hover:not(:disabled){color:var(--color-text-link);background:transparent;text-decoration-color:currentColor}.ui-button__content{display:inline-flex;align-items:center;justify-content:center;gap:inherit}.ui-button--loading .ui-button__content{visibility:hidden}.ui-button__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.ui-spinner{width:1em;height:1em;flex:0 0 auto;border:var(--border-emphasis) solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;border-radius:var(--radius-full);animation:ui-spin var(--motion-slow) linear infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-icon-button{position:relative;width:var(--icon-button-size, var(--control-md));height:var(--icon-button-size, var(--control-md));padding:0;display:inline-grid;place-items:center;color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-instant) var(--ease-standard)}.ui-icon-button:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.ui-icon-button:active:not(:disabled){transform:scale(.96)}.ui-icon-button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-icon-button--sm{--icon-button-size: var(--control-sm);border-radius:var(--radius-sm)}.ui-icon-button--lg{--icon-button-size: var(--control-lg)}.ui-icon-button--ghost{background:transparent;border-color:transparent}.ui-icon-button--tonal{color:var(--color-text-link);background:var(--color-action-primary-soft);border-color:transparent}.ui-icon-button__badge{position:absolute;top:calc(var(--space-1) * -1);right:calc(var(--space-1) * -1);min-width:20px;height:20px;padding-inline:var(--space-1);display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-danger-fg);border:var(--border-emphasis) solid var(--color-bg-canvas);border-radius:var(--radius-full);font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}.ui-field{display:grid;gap:var(--space-2);min-width:0}.ui-field__label{color:var(--color-text-primary);font-size:var(--type-body-sm-size);font-weight:650}.ui-field__required{margin-left:var(--space-1);color:var(--color-danger-fg)}.ui-field__control-wrap{position:relative;min-width:0}.ui-field__control{width:100%;min-height:var(--field-height);padding:var(--space-2) var(--space-3);color:var(--field-fg);background:var(--field-bg);border:var(--border-hairline) solid var(--field-border);border-radius:var(--field-radius);font:inherit;line-height:var(--type-body-md-line);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.ui-field__control:hover:not(:disabled):not(:focus){border-color:var(--field-border-hover)}.ui-field__control:disabled{color:var(--color-text-disabled);background:var(--color-bg-subtle);cursor:not-allowed}.ui-field__control[aria-invalid=true]{border-color:var(--field-border-error)}.ui-field__control--trailing{padding-right:var(--control-lg)}.ui-field__trailing{position:absolute;top:50%;right:var(--space-1);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);transform:translateY(-50%)}.ui-field__trailing:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.ui-field__textarea{min-height:112px;max-height:320px;resize:vertical}.ui-field__select{padding-right:var(--space-10)}.ui-field__message{min-height:calc(var(--type-caption-size) * var(--type-caption-line));color:var(--color-text-tertiary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.ui-field__message--error{color:var(--color-danger-fg)}.ui-choice{display:grid;grid-template-columns:var(--space-5) minmax(0,1fr);align-items:start;gap:var(--space-3);color:var(--color-text-primary);cursor:pointer}.ui-choice--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-choice__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--space-5);height:var(--space-5);margin:2px 0 0;display:grid;place-items:center;background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default)}.ui-choice__control:hover:not(:disabled){border-color:var(--color-border-strong)}.ui-choice__control:checked{background:var(--color-action-primary);border-color:var(--color-action-primary)}.ui-choice__control[type=checkbox]{border-radius:var(--radius-xs)}.ui-choice__control[type=checkbox]:after{content:"";width:9px;height:5px;border-bottom:var(--border-emphasis) solid var(--color-text-inverse);border-left:var(--border-emphasis) solid var(--color-text-inverse);transform:rotate(-45deg) scale(0);transition:transform var(--motion-instant) var(--ease-out)}.ui-choice__control[type=checkbox]:checked:after{transform:rotate(-45deg) scale(1)}.ui-choice__control[type=radio]{border-radius:var(--radius-full)}.ui-choice__control[type=radio]:after{content:"";width:var(--space-2);height:var(--space-2);background:var(--color-text-inverse);border-radius:var(--radius-full);transform:scale(0);transition:transform var(--motion-instant) var(--ease-out)}.ui-choice__control[type=radio]:checked:after{transform:scale(1)}.ui-choice__copy{display:grid;gap:var(--space-1)}.ui-choice__label{font-weight:600;line-height:var(--type-body-md-line)}.ui-choice__description{color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.ui-choice--disabled .ui-choice__description{color:var(--color-text-disabled)}.ui-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--color-text-primary);cursor:pointer}.ui-switch--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-switch__copy{min-width:0;display:grid;gap:var(--space-1)}.ui-switch__label{font-weight:600}.ui-switch__description{color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.ui-switch__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:46px;height:26px;flex:0 0 auto;margin:0;background:var(--color-border-strong);border:0;border-radius:var(--radius-full);transition:background var(--motion-fast) var(--ease-standard)}.ui-switch__control:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--color-surface-raised);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:transform var(--motion-fast) var(--ease-out)}.ui-switch__control:checked{background:var(--color-action-primary)}.ui-switch__control:checked:after{transform:translate(20px)}.ui-switch__control:disabled{opacity:.55}.ui-chip{min-height:var(--chip-height);padding-inline:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1-5);color:var(--color-text-secondary);background:var(--chip-bg);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--chip-radius);font-size:var(--type-body-sm-size);font-weight:600;white-space:nowrap}button.ui-chip{cursor:pointer}button.ui-chip:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.ui-chip--selected{color:var(--color-text-link);background:var(--chip-selected-bg);border-color:color-mix(in srgb,var(--color-action-primary) 38%,transparent)}.ui-chip--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-badge{min-height:var(--badge-height);padding:var(--space-0-5) var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);background:var(--color-bg-subtle);border-radius:var(--radius-full);font-size:var(--type-caption-size);font-weight:700;line-height:1.25}.ui-badge--success{color:var(--color-success-fg);background:var(--color-success-bg)}.ui-badge--warning{color:var(--color-warning-fg);background:var(--color-warning-bg)}.ui-badge--danger{color:var(--color-danger-fg);background:var(--color-danger-bg)}.ui-badge--info{color:var(--color-info-fg);background:var(--color-info-bg)}.ui-avatar{position:relative;width:var(--avatar-size, 40px);height:var(--avatar-size, 40px);flex:0 0 auto;display:inline-grid;place-items:center;overflow:visible;color:var(--color-text-primary);background:var(--avatar-color, var(--avatar-bg));border-radius:var(--radius-full);font-weight:700;line-height:1}.ui-avatar--32{--avatar-size: 32px;font-size:var(--type-caption-size)}.ui-avatar--40{--avatar-size: 40px;font-size:var(--type-body-sm-size)}.ui-avatar--48{--avatar-size: 48px}.ui-avatar--64{--avatar-size: 64px;font-size:var(--type-heading-3-size)}.ui-avatar--96{--avatar-size: 96px;font-size:var(--type-heading-1-size)}.ui-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.ui-avatar__presence{position:absolute;right:0;bottom:0;width:max(10px,calc(var(--avatar-size) * .24));height:max(10px,calc(var(--avatar-size) * .24));background:var(--color-success-fg);border:var(--border-emphasis) solid var(--color-surface-raised);border-radius:var(--radius-full)}.ui-avatar--tone-0{--avatar-color: var(--color-brand-100)}.ui-avatar--tone-1{--avatar-color: var(--color-rose-100)}.ui-avatar--tone-2{--avatar-color: var(--color-sage-100)}.ui-avatar--tone-3{--avatar-color: var(--color-stone-200)}.ui-avatar--tone-4{--avatar-color: var(--color-brand-200)}.ui-avatar--tone-5{--avatar-color: var(--color-rose-200)}.ui-divider{width:100%;height:var(--border-hairline);border:0;background:var(--color-border-subtle)}.ui-skeleton{display:block;color:transparent;background:var(--skeleton-bg);border-radius:var(--radius-sm);overflow:hidden}.ui-skeleton:after{content:"";display:block;width:100%;height:100%;background:linear-gradient(100deg,transparent 20%,var(--skeleton-highlight) 50%,transparent 80%);transform:translate(-100%);animation:ui-skeleton var(--motion-slower) var(--ease-standard) infinite}@keyframes ui-skeleton{to{transform:translate(100%)}}.ui-progress{display:grid;gap:var(--space-2)}.ui-progress__meta{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.ui-progress__track{height:6px;overflow:hidden;background:var(--color-bg-subtle);border-radius:var(--radius-full)}.ui-progress__value{width:100%;height:100%;background:var(--color-action-primary);border-radius:inherit;transform-origin:left center;transition:transform var(--motion-base) var(--ease-out)}.ui-overlay-backdrop{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0;padding:var(--space-4);display:flex;background:var(--color-scrim)}.ui-dialog{width:min(100%,var(--dialog-width, 440px));max-height:min(88dvh,820px);margin:auto;display:flex;flex-direction:column;color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.ui-dialog--wide{--dialog-width: 720px}.ui-overlay__header{padding:var(--space-5) var(--space-6) var(--space-4);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:start;border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.ui-overlay__header-copy{min-width:0;display:grid;gap:var(--space-1)}.ui-overlay__title{margin:0;font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.ui-overlay__description{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.ui-overlay__body{min-height:0;padding:var(--space-6);overflow:auto;overscroll-behavior:contain}.ui-overlay__actions{padding:var(--space-4) var(--space-6) var(--space-5);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);border-top:var(--border-hairline) solid var(--color-border-subtle)}.ui-drawer-backdrop{justify-content:flex-end;padding:0}.ui-drawer{width:min(100%,var(--drawer-width, 520px));height:100%;display:flex;flex-direction:column;color:var(--color-text-primary);background:var(--color-surface-raised);border-left:var(--border-hairline) solid var(--color-border-subtle);box-shadow:var(--shadow-lg)}.ui-drawer--wide{--drawer-width: 640px}.ui-sheet-backdrop{align-items:flex-end;padding:0}.ui-bottom-sheet{width:100%;max-height:min(88dvh,760px);padding-bottom:var(--safe-bottom);display:flex;flex-direction:column;color:var(--color-text-primary);background:var(--color-surface-raised);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);overflow:hidden}.ui-bottom-sheet__handle{width:64px;height:28px;margin:0 auto;flex:0 0 auto;display:grid;place-items:center;touch-action:none}.ui-bottom-sheet__handle:after{content:"";width:40px;height:4px;background:var(--color-border-strong);border-radius:var(--radius-full)}.ui-overlay-enter-active,.ui-overlay-leave-active{transition:opacity var(--motion-base) var(--ease-standard)}.ui-overlay-enter-from,.ui-overlay-leave-to{opacity:0}.ui-overlay-enter-active .ui-dialog,.ui-overlay-leave-active .ui-dialog{transition:transform var(--motion-base) var(--ease-out),opacity var(--motion-fast) var(--ease-standard)}.ui-overlay-enter-from .ui-dialog,.ui-overlay-leave-to .ui-dialog{opacity:0;transform:translateY(var(--space-3)) scale(.98)}.ui-overlay-enter-active .ui-drawer,.ui-overlay-leave-active .ui-drawer{transition:transform var(--motion-base) var(--ease-out)}.ui-overlay-enter-from .ui-drawer,.ui-overlay-leave-to .ui-drawer{transform:translate(100%)}.ui-overlay-enter-active .ui-bottom-sheet,.ui-overlay-leave-active .ui-bottom-sheet{transition:transform var(--motion-base) var(--ease-out)}.ui-overlay-enter-from .ui-bottom-sheet,.ui-overlay-leave-to .ui-bottom-sheet{transform:translateY(100%)}.ui-banner{padding:var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);color:var(--color-info-fg);background:var(--color-info-bg);border:var(--border-hairline) solid var(--color-info-border);border-radius:var(--radius-md)}.ui-banner--success{color:var(--color-success-fg);background:var(--color-success-bg);border-color:var(--color-success-border)}.ui-banner--warning{color:var(--color-warning-fg);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.ui-banner--danger{color:var(--color-danger-fg);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.ui-banner__icon{margin-top:2px;display:grid;place-items:center}.ui-banner__copy{min-width:0;display:grid;gap:var(--space-1)}.ui-banner__title{font-weight:700}.ui-banner__description{color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.ui-banner__actions{display:flex;align-items:center;gap:var(--space-2)}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip__content{position:absolute;z-index:var(--z-dropdown);left:50%;bottom:calc(100% + var(--space-2));width:max-content;max-width:min(240px,calc(100vw - var(--space-8)));padding:var(--space-2) var(--space-3);color:var(--color-text-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:var(--type-caption-size);line-height:var(--type-caption-line);opacity:0;pointer-events:none;transform:translate(-50%,var(--space-1));transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-out)}.ui-tooltip:hover .ui-tooltip__content,.ui-tooltip:focus-within .ui-tooltip__content{opacity:1;transform:translate(-50%)}.ui-tooltip--bottom .ui-tooltip__content{top:calc(100% + var(--space-2));bottom:auto;transform:translate(-50%,calc(var(--space-1) * -1))}.ui-tooltip--bottom:hover .ui-tooltip__content,.ui-tooltip--bottom:focus-within .ui-tooltip__content{transform:translate(-50%)}.ui-toast-viewport{position:fixed;z-index:var(--z-toast);top:calc(var(--safe-top) + var(--space-4));right:calc(var(--safe-right) + var(--space-4));width:min(380px,calc(100vw - var(--safe-left) - var(--safe-right) - var(--space-8)));display:grid;gap:var(--space-3);pointer-events:none}.ui-toast{padding:var(--space-4);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-emphasis) solid var(--color-info-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:auto}.ui-toast--success{border-color:var(--color-success-border)}.ui-toast--warning{border-color:var(--color-warning-border)}.ui-toast--danger{border-color:var(--color-danger-border)}.ui-toast__copy{min-width:0;display:grid;gap:var(--space-1)}.ui-toast__title{font-weight:700}.ui-toast__message{color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.ui-toast__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:var(--space-2)}.ui-toast-list-enter-active,.ui-toast-list-leave-active{transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-out)}.ui-toast-list-enter-from,.ui-toast-list-leave-to{opacity:0;transform:translateY(calc(var(--space-2) * -1))}.ui-empty-state{max-width:560px;margin-inline:auto;padding:var(--space-10) var(--space-6);display:grid;justify-items:center;gap:var(--space-3);color:var(--color-text-primary);text-align:center}.ui-empty-state__icon{width:48px;height:48px;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-full)}.ui-empty-state h3{margin:var(--space-1) 0 0;font-size:var(--type-heading-3-size)}.ui-empty-state p{max-width:46ch;margin:0;color:var(--color-text-secondary);line-height:var(--type-body-md-line)}.ui-empty-state__actions{margin-top:var(--space-2);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.ui-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.ui-pagination__status{min-width:8ch;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);text-align:center;font-variant-numeric:tabular-nums}.ui-load-more{display:grid;justify-items:center;gap:var(--space-2)}.ui-load-more__done{color:var(--color-text-tertiary);font-size:var(--type-body-sm-size)}.native-app .ui-field__control{min-height:var(--touch-target-android)}@media(prefers-reduced-motion:reduce){.ui-spinner{animation:none}.ui-skeleton:after{animation:none;opacity:.35;transform:none}}@media(pointer:coarse){.ui-button--sm{min-height:var(--control-md)}.ui-icon-button--sm{--icon-button-size: var(--control-md)}}@media(max-width:599px){.ui-overlay-backdrop{padding:var(--space-3)}.ui-dialog{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - var(--space-6));border-radius:var(--radius-lg)}.ui-overlay__header,.ui-overlay__body{padding:var(--space-4)}.ui-overlay__actions{padding:var(--space-3) var(--space-4) var(--space-4)}.ui-drawer{width:100%;padding-top:var(--safe-top);border-left:0}.ui-toast-viewport{top:calc(var(--safe-top) + var(--space-3));right:calc(var(--safe-right) + var(--space-3));width:calc(100vw - var(--safe-left) - var(--safe-right) - var(--space-6))}}@media(max-width:839px){.ui-toast-viewport{top:auto;bottom:calc(64px + var(--safe-bottom) + var(--space-3))}.native-app.keyboard-open .ui-toast-viewport{bottom:calc(var(--keyboard-offset) + var(--space-3))}.ui-overlay-backdrop--fullscreen{padding:0}.ui-dialog--compact-fullscreen{width:100%;height:100%;max-height:100dvh;padding-top:var(--safe-top);border:0;border-radius:0}.ui-dialog--compact-fullscreen .ui-overlay__body{flex:1}.ui-dialog--compact-fullscreen .ui-overlay__actions{padding-bottom:calc(var(--safe-bottom) + var(--space-4))}.native-app.keyboard-open .ui-dialog--compact-fullscreen .ui-overlay__actions{padding-bottom:calc(var(--keyboard-offset) + var(--space-3))}}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--color-bg-canvas);-webkit-text-size-adjust:100%;text-size-adjust:100%}html.native-app{height:100%;overscroll-behavior:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{display:block;max-width:100%}body{min-width:320px;min-height:100vh;min-height:100dvh;color:var(--color-text-primary);background:var(--color-bg-canvas);font-family:var(--font-sans);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:var(--color-action-primary)}h1,h2,h3,h4{color:var(--color-text-primary);font-family:var(--font-sans);font-weight:650;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}.font-display,.serif{font-family:var(--font-display)}::selection{color:var(--color-text-primary);background:var(--color-selection)}::placeholder{color:var(--color-text-tertiary);opacity:1}button:disabled,[aria-disabled=true]{cursor:not-allowed}time,.tabular-nums{font-variant-numeric:tabular-nums}html{scrollbar-color:var(--color-border-strong) var(--color-bg-subtle)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--color-bg-subtle)}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:3px solid var(--color-bg-subtle);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}img{outline:1px solid oklch(0 0 0 / 10%);outline-offset:-1px}:root[data-mode=dark] img{outline-color:#ffffff1a}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) img{outline-color:#ffffff1a}}.skip-link{position:fixed;z-index:var(--z-critical);top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-md);transform:translateY(calc(-100% - var(--space-8)));transition:transform var(--motion-fast) var(--ease-standard)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:var(--border-focus) solid var(--color-focus-ring);outline-offset:3px}:where(input,textarea,select):focus-visible{outline-offset:1px}@media(prefers-reduced-motion:reduce){:root{--motion-instant: 1ms;--motion-fast: 1ms;--motion-base: 1ms;--motion-slow: 1ms;--motion-emphasis: 1ms;--motion-decorative: 1ms;--motion-slower: 1ms}html{scroll-behavior:auto}.icon-button,.button,.memory-card{transition-duration:1ms}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.container-reading,.container-content,.container-wide,.container-admin{width:min(calc(100% - (2 * var(--space-4))),var(--container-width));margin-inline:auto}.container-reading{--container-width: var(--container-reading)}.container-content{--container-width: var(--container-content)}.container-wide{--container-width: var(--container-wide)}.container-admin{--container-width: var(--container-admin)}.safe-top{padding-top:var(--safe-top)}.safe-bottom{padding-bottom:var(--safe-bottom)}.safe-inline{padding-right:var(--safe-right);padding-left:var(--safe-left)}.surface-default{color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle)}.surface-raised{color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);box-shadow:var(--shadow-sm)}@media(min-width:600px){.container-reading,.container-content,.container-wide,.container-admin{width:min(calc(100% - (2 * var(--space-6))),var(--container-width))}}@media(min-width:840px){.container-reading,.container-content,.container-wide,.container-admin{width:min(calc(100% - 56px),var(--container-width))}}@media(min-width:1200px){.container-reading,.container-content,.container-wide,.container-admin{width:min(calc(100% - (2 * var(--space-8))),var(--container-width))}}.app-shell{--shell-web-topbar-height: 72px;--shell-secondary-height: 48px}.shell-web-topbar{position:sticky;z-index:var(--z-navigation);top:0;height:72px;padding-inline:max(var(--space-6),calc((100vw - var(--container-wide)) / 2));display:flex;align-items:center;gap:var(--space-6);background:color-mix(in srgb,var(--color-bg-canvas) 94%,transparent);border-bottom:var(--border-hairline) solid var(--color-border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.shell-brand{min-width:max-content;display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text-primary)}.shell-brand__mark{width:36px;height:36px;display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-xs);font-family:var(--font-display);font-weight:750}.shell-brand__copy{display:grid;gap:var(--space-0-5)}.shell-brand__copy strong{font-size:var(--type-body-md-size);letter-spacing:.04em}.shell-brand__copy small{color:var(--color-text-tertiary);font-size:var(--type-caption-size);font-weight:700;letter-spacing:.08em}.shell-primary-nav{height:100%;display:flex;align-items:stretch;gap:var(--space-1)}.shell-primary-nav a{position:relative;min-width:52px;padding-inline:var(--space-3);display:grid;place-items:center;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);font-weight:600}.shell-primary-nav a:after{content:"";position:absolute;right:var(--space-3);bottom:-1px;left:var(--space-3);height:3px;background:var(--color-action-primary);border-radius:var(--radius-full) var(--radius-full) 0 0;transform:scaleX(0);transition:transform var(--motion-fast) var(--ease-out)}.shell-primary-nav a:hover{color:var(--color-text-primary)}.shell-primary-nav a.is-active{color:var(--color-text-primary);font-weight:750}.shell-primary-nav a.is-active:after{transform:scaleX(1)}.shell-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.shell-search{width:min(248px,20vw);height:var(--control-md);padding-inline:var(--space-3);display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.shell-search:focus-within{border-color:var(--color-focus-ring);box-shadow:var(--shadow-focus)}.shell-search input{min-width:0;width:100%;padding:0;color:var(--color-text-primary);background:transparent;border:0;outline:0}.shell-realtime-indicator{position:absolute;right:7px;bottom:7px;width:7px;height:7px;background:var(--color-success-fg);border:var(--border-hairline) solid var(--color-surface-raised);border-radius:var(--radius-full)}.shell-user-menu{position:relative}.shell-user-trigger{width:var(--control-md);height:var(--control-md);padding:3px;display:grid;place-items:center;background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-full)}.shell-user-trigger .user-avatar{width:100%;height:100%;border-radius:inherit}.shell-user-popover{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-2));right:0;width:220px;padding:var(--space-2);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.shell-user-summary{padding:var(--space-3);display:grid;gap:var(--space-1);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.shell-user-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-user-summary small{color:var(--color-text-secondary)}.shell-user-links{padding-top:var(--space-2);display:grid;gap:var(--space-1)}.shell-user-links a,.shell-user-links button{width:100%;min-height:var(--control-sm);padding-inline:var(--space-3);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:transparent;border:0;border-radius:var(--radius-sm);font:inherit;font-size:var(--type-body-sm-size);text-align:left}.shell-user-links a:hover,.shell-user-links button:hover{background:var(--color-bg-subtle)}.shell-user-links .is-danger{color:var(--color-danger-fg)}.shell-compact-topbar{display:none}.shell-secondary-nav{position:sticky;z-index:var(--z-sticky);top:72px;min-height:48px;padding-inline:max(var(--space-6),calc((100vw - var(--container-wide)) / 2));display:flex;align-items:stretch;gap:var(--space-1);background:color-mix(in srgb,var(--color-bg-canvas) 96%,transparent);border-bottom:var(--border-hairline) solid var(--color-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}.shell-secondary-nav::-webkit-scrollbar{display:none}.shell-secondary-nav a{position:relative;min-width:max-content;padding-inline:var(--space-4);display:grid;place-items:center;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);font-weight:600}.shell-secondary-nav a:after{content:"";position:absolute;right:var(--space-4);bottom:0;left:var(--space-4);height:2px;background:var(--color-action-primary);transform:scaleX(0)}.shell-secondary-nav a.router-link-exact-active{color:var(--color-text-primary);font-weight:750}.shell-secondary-nav a.router-link-exact-active:after{transform:scaleX(1)}.shell-main{width:min(calc(100% - (2 * var(--space-6))),var(--container-content));min-height:calc(100dvh - 72px);margin-inline:auto;padding-block:var(--space-10) var(--space-24)}.shell-bottom-nav{display:none}.shell-create-fab{position:fixed;z-index:var(--z-fab);right:var(--space-8);bottom:var(--space-8);box-shadow:var(--shadow-md)}.shell-create-fab span{max-width:12ch;overflow:hidden;white-space:nowrap;transform:translate(0);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-base) var(--ease-out)}.shell-create-fab.is-condensed span{max-width:0;opacity:0;transform:translate(var(--space-2))}.shell-create-fab.is-condensed:hover span,.shell-create-fab.is-condensed:focus-visible span{max-width:12ch;opacity:1;transform:translate(0)}.shell-live-notice{position:fixed;z-index:var(--z-toast);top:calc(72px + var(--space-4));right:var(--space-6);width:min(380px,calc(100vw - var(--space-8)));padding:var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left}.shell-live-notice__icon{width:40px;height:40px;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-full)}.shell-live-notice strong{display:block;margin-bottom:var(--space-1)}.shell-live-notice strong+span{display:block;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}@media(max-width:1023px){.shell-web-topbar,.shell-secondary-nav{padding-inline:var(--space-5)}.shell-primary-nav{gap:0}.shell-primary-nav a{min-width:46px;padding-inline:var(--space-2)}.shell-brand__copy small{display:none}.shell-search{width:190px}}@media(max-width:839px){.app-shell{--shell-web-topbar-height: calc(56px + var(--safe-top));--shell-secondary-height: 44px}.shell-web-topbar{display:none}.shell-compact-topbar{position:sticky;z-index:var(--z-navigation);top:0;min-height:calc(56px + var(--safe-top));padding:var(--safe-top) calc(var(--space-3) + var(--safe-right)) 0 calc(var(--space-3) + var(--safe-left));display:grid;background:color-mix(in srgb,var(--color-bg-canvas) 96%,transparent);border-bottom:var(--border-hairline) solid var(--color-border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.shell-compact-topbar__row{min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.shell-compact-title{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.shell-compact-title h1{overflow:hidden;font-size:var(--type-heading-3-size);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.shell-compact-actions{display:flex;align-items:center;gap:var(--space-1)}.shell-compact-search{padding-bottom:var(--space-3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.shell-compact-search .shell-search{width:100%}.shell-secondary-nav{top:calc(56px + var(--safe-top));min-height:44px;padding-inline:calc(var(--space-2) + var(--safe-left))}.shell-compact-topbar.is-searching+.shell-secondary-nav{top:calc(112px + var(--safe-top))}.shell-secondary-nav a{padding-inline:var(--space-3)}.shell-main{width:min(calc(100% - (2 * var(--space-4))),var(--container-content));min-height:calc(100dvh - 56px - var(--safe-top));padding-block:var(--space-6) calc(88px + var(--safe-bottom))}.shell-bottom-nav{position:fixed;z-index:var(--z-navigation);right:0;bottom:0;left:0;min-height:calc(64px + var(--safe-bottom));padding:0 calc(var(--space-2) + var(--safe-right)) var(--safe-bottom) calc(var(--space-2) + var(--safe-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:color-mix(in srgb,var(--color-surface-raised) 97%,transparent);border-top:var(--border-hairline) solid var(--color-border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.shell-bottom-nav a,.shell-bottom-nav button{position:relative;min-width:0;min-height:56px;padding:var(--space-1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-md);font-size:var(--type-caption-size);font-weight:650}.shell-bottom-nav a:before{content:"";position:absolute;top:2px;width:22px;height:3px;background:var(--color-action-primary);border-radius:var(--radius-full);transform:scaleX(0)}.shell-bottom-nav a.is-active{color:var(--color-text-link);font-weight:750}.shell-bottom-nav a.is-active:before{transform:scaleX(1)}.shell-bottom-nav button.shell-bottom-nav__create{width:100%;min-height:56px;justify-self:stretch;color:var(--color-text-secondary);background:transparent;border-radius:var(--radius-md)}.shell-bottom-nav__create-icon{position:absolute;top:calc(var(--space-3) * -1);width:var(--control-lg);height:var(--control-lg);display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.shell-bottom-nav__create>span:last-child{margin-top:var(--control-md)}.shell-create-fab{display:none}.shell-live-notice{top:calc(56px + var(--safe-top) + var(--space-3));right:calc(var(--safe-right) + var(--space-3));width:calc(100vw - var(--safe-left) - var(--safe-right) - var(--space-6))}.native-app.keyboard-open .shell-bottom-nav{display:none}.native-app.keyboard-open .shell-main{padding-bottom:var(--space-6)}.native-app .shell-user-trigger,.native-app .shell-compact-actions .ui-icon-button{width:var(--touch-target-android);height:var(--touch-target-android)}}@media(max-width:359px){.shell-compact-actions{gap:0}.shell-compact-actions .ui-icon-button{width:var(--control-sm);height:var(--control-sm)}.shell-bottom-nav{padding-inline:var(--safe-left) var(--safe-right)}}.identity-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,520px);background:var(--color-bg-canvas);overflow:hidden}.identity-visual{position:relative;isolation:isolate;min-width:0;padding:calc(var(--safe-top) + var(--space-10)) clamp(var(--space-8),6vw,var(--space-20)) calc(var(--safe-bottom) + var(--space-12));display:flex;flex-direction:column;justify-content:space-between;color:var(--color-stone-25);background-image:url(/images/auth-memory-atlas.png);background-position:center;background-size:cover}.identity-visual__overlay{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-stone-950) 66%,transparent),color-mix(in srgb,var(--color-stone-950) 20%,transparent) 66%,color-mix(in srgb,var(--color-stone-950) 42%,transparent)),linear-gradient(0deg,color-mix(in srgb,var(--color-stone-950) 58%,transparent),transparent 64%)}.identity-brand{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:var(--space-3);align-items:center;width:max-content}.identity-brand__mark{grid-row:1 / 3;width:var(--control-md);height:var(--control-md);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-2);border:var(--border-hairline) solid color-mix(in srgb,var(--color-stone-25) 58%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-stone-950) 26%,transparent)}.identity-brand__mark i{display:block;align-self:end;height:68%;background:var(--color-stone-25);border-radius:var(--radius-full) var(--radius-full) var(--radius-xs) var(--radius-xs)}.identity-brand__mark i:last-child{align-self:start;height:52%;background:var(--color-rose-200)}.identity-brand__name{align-self:end;font-size:var(--type-title-md-size);font-weight:700;letter-spacing:.08em}.identity-brand__latin{align-self:start;color:color-mix(in srgb,var(--color-stone-25) 72%,transparent);font-size:var(--type-micro-size);font-weight:650;letter-spacing:.18em}.identity-story{max-width:620px}.identity-kicker{display:block;color:var(--color-text-link);font-size:var(--type-micro-size);font-weight:750;letter-spacing:.18em;line-height:var(--type-micro-line)}.identity-story .identity-kicker{color:var(--color-rose-200)}.identity-story h1{margin:var(--space-4) 0 var(--space-5);color:inherit;font-size:clamp(var(--type-heading-1-size),5.4vw,var(--type-display-lg-size));font-weight:600;line-height:1.22;letter-spacing:-.04em}.identity-story p{max-width:520px;margin:0;color:color-mix(in srgb,var(--color-stone-25) 88%,transparent);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}.identity-story__note{width:max-content;margin-top:var(--space-8);padding-top:var(--space-4);display:block;color:color-mix(in srgb,var(--color-stone-25) 72%,transparent);border-top:var(--border-hairline) solid color-mix(in srgb,var(--color-stone-25) 28%,transparent);font-size:var(--type-caption-size);letter-spacing:.08em}.identity-panel{min-width:0;padding:calc(var(--safe-top) + var(--space-10)) clamp(var(--space-6),4vw,var(--space-12)) calc(var(--safe-bottom) + var(--space-10));display:grid;place-items:center;background:var(--color-bg-canvas);overflow:auto}.identity-card{width:min(100%,456px);padding:clamp(var(--space-6),3vw,var(--space-8));display:grid;gap:var(--space-5);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.identity-card__header h2,.admin-identity-card h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.identity-card__header p,.admin-identity-card header p{margin:0;color:var(--color-text-secondary)}.identity-card__alerts:empty{display:none}.identity-card__alerts{display:grid;gap:var(--space-3)}.identity-card__alerts .ui-banner,.admin-identity-card .ui-banner{padding:var(--space-3)}.identity-card__fields,.admin-identity-card__fields{display:grid;gap:var(--space-3)}.identity-card .ui-field__control,.admin-identity-card .ui-field__control{min-height:var(--field-height-login)}.identity-card__submit{margin-top:var(--space-1)}.identity-card__switch{margin:calc(var(--space-1) * -1) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);text-align:center}.identity-card__switch a,.identity-card__footer a,.admin-identity-back{color:var(--color-text-link);font-weight:700;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.24em}.identity-card__switch a:hover,.identity-card__footer a:hover,.admin-identity-back:hover{text-decoration-color:currentColor}.identity-card__footer{padding-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--color-text-tertiary);border-top:var(--border-hairline) solid var(--color-border-subtle);font-size:var(--type-micro-size);line-height:var(--type-micro-line)}.identity-card__footer a{flex:0 0 auto;color:var(--color-text-tertiary)}.identity-form-enter-active,.identity-form-leave-active{transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-spring-soft)}.identity-form-enter-from{opacity:0;transform:translate(var(--space-3))}.identity-form-leave-to{opacity:0;transform:translate(calc(var(--space-3) * -1))}.admin-identity-page{position:relative;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + var(--space-20)) clamp(var(--space-6),7vw,var(--space-24)) calc(var(--safe-bottom) + var(--space-12));display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,460px);align-items:center;gap:clamp(var(--space-12),9vw,140px);color:var(--color-stone-25);background:var(--color-stone-900)}.admin-identity-back{position:absolute;top:calc(var(--safe-top) + var(--space-8));left:clamp(var(--space-6),7vw,var(--space-24));display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-stone-200);font-size:var(--type-body-sm-size)}.admin-identity-intro{max-width:660px}.admin-identity-seal{width:var(--space-16);height:var(--space-16);margin-bottom:var(--space-10);display:grid;place-items:center;color:var(--color-brand-200);border:var(--border-hairline) solid var(--color-stone-600);border-radius:var(--radius-lg);background:var(--color-stone-800)}.admin-identity-intro .identity-kicker{color:var(--color-brand-200)}.admin-identity-intro h1{margin:var(--space-4) 0 var(--space-5);color:inherit;font-size:clamp(var(--type-heading-1-size),5vw,var(--type-display-lg-size));line-height:1.2}.admin-identity-intro>p{max-width:560px;margin:0;color:var(--color-stone-300);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}.admin-identity-boundary{max-width:560px;margin-top:var(--space-8);padding-top:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-stone-300);border-top:var(--border-hairline) solid var(--color-stone-700);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.admin-identity-boundary svg{flex:0 0 auto;color:var(--color-sage-300)}.admin-identity-boundary strong{display:block;color:var(--color-stone-50)}.admin-identity-card{width:min(100%,460px);padding:clamp(var(--space-6),3vw,var(--space-8));display:grid;gap:var(--space-5);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.admin-identity-card>small{color:var(--color-text-tertiary);font-size:var(--type-micro-size);line-height:var(--type-micro-line);text-align:center}@media(max-width:1023px){.identity-page{grid-template-columns:minmax(0,1fr) minmax(420px,480px)}.identity-visual{padding-inline:var(--space-10)}.admin-identity-page{gap:var(--space-12)}}@media(max-width:839px){.identity-page{grid-template-columns:1fr;grid-template-rows:minmax(230px,32dvh) minmax(0,1fr);overflow:auto}.identity-visual{min-height:230px;padding:calc(var(--safe-top) + var(--space-5)) var(--space-6) var(--space-12);background-position:42% 56%}.identity-brand__mark{width:var(--control-sm);height:var(--control-sm);padding:var(--space-1-5)}.identity-story .identity-kicker,.identity-story__note{display:none}.identity-story h1{margin:0 0 var(--space-2);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.identity-story p{max-width:44ch;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.identity-panel{position:relative;z-index:1;margin-top:calc(var(--space-8) * -1);padding:var(--space-8) max(var(--space-5),var(--safe-right)) calc(var(--safe-bottom) + var(--space-8)) max(var(--space-5),var(--safe-left));place-items:start center;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;overflow:visible}.identity-card{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.admin-identity-page{padding:calc(var(--safe-top) + var(--space-20)) var(--space-5) calc(var(--safe-bottom) + var(--space-8));grid-template-columns:1fr;place-items:center;background:var(--color-stone-900)}.admin-identity-intro{display:none}.admin-identity-back{top:calc(var(--safe-top) + var(--space-6));left:var(--space-5)}.admin-identity-card{align-self:center}}@media(max-width:599px){.identity-page{grid-template-rows:minmax(210px,30dvh) minmax(0,1fr)}.identity-visual{min-height:210px;padding-inline:var(--space-5)}.identity-brand__latin{display:none}.identity-brand__mark{grid-row:auto}.identity-story h1{font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.identity-story p{display:none}.identity-panel{padding-inline:max(var(--space-4),var(--safe-right)) max(var(--space-4),var(--safe-left))}.identity-card{gap:var(--space-4)}.identity-card__header h2,.admin-identity-card h2{font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.identity-card__footer{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.admin-identity-card{padding:var(--space-6) var(--space-5)}}.native-app.keyboard-open .identity-page{grid-template-rows:88px minmax(0,1fr)}.native-app.keyboard-open .identity-visual{min-height:88px;padding:calc(var(--safe-top) + var(--space-3)) var(--space-5) var(--space-3);background-position:44% 52%}.native-app.keyboard-open .identity-story{display:none}.native-app.keyboard-open .identity-panel{margin-top:0;padding-top:var(--space-5);border-radius:0}@media(prefers-reduced-motion:reduce){.identity-form-enter-active,.identity-form-leave-active{transition:none}}.home-page{display:grid;gap:var(--space-16)}.home-welcome{padding-block:var(--space-4) var(--space-6);display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.home-welcome>div{max-width:var(--container-reading)}.home-kicker{display:block;color:var(--color-text-link);font-size:var(--type-micro-size);font-weight:750;letter-spacing:.16em;line-height:var(--type-micro-line)}.home-welcome h1{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-heading-1-size);font-weight:600;line-height:var(--type-heading-1-line)}.home-welcome p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}.home-section{min-width:0}.home-section__heading{min-height:var(--control-lg);margin-bottom:var(--space-5);display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.home-section__heading h2{margin:var(--space-1) 0 0;font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.home-section__heading>a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-link);font-size:var(--type-body-sm-size);font-weight:700}.home-section__heading>a:hover{text-decoration:underline;text-underline-offset:.25em}.home-primary-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-10);align-items:start}.home-memory-stack{display:grid;gap:var(--space-4)}.home-memory-feature{overflow:hidden;background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.home-memory-feature>a{min-height:292px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.home-memory-feature__visual{position:relative;min-height:292px;display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-surface-inverse);overflow:hidden}.home-memory-feature__visual.is-text{background:linear-gradient(145deg,color-mix(in srgb,var(--color-brand-800) 88%,var(--color-stone-900)),var(--color-stone-900))}.home-memory-feature__visual :is(.private-media,img,video){width:100%;height:100%;min-height:inherit}.home-memory-feature__visual :is(img,video){object-fit:cover}.home-memory-feature__visual>span{position:absolute;left:var(--space-4);bottom:var(--space-4);padding:var(--space-1) var(--space-2);color:var(--color-stone-25);background:color-mix(in srgb,var(--color-stone-950) 72%,transparent);border-radius:var(--radius-full);font-size:var(--type-micro-size);font-weight:700}.home-memory-feature__copy{padding:var(--space-8);display:flex;flex-direction:column;justify-content:center}.home-memory-feature__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.home-memory-feature__meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.home-memory-feature h3{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.home-memory-feature p{margin:0;display:-webkit-box;color:var(--color-text-secondary);line-height:var(--type-body-md-line);-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.home-memory-feature__open{margin-top:auto;padding-top:var(--space-5);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-link);font-size:var(--type-body-sm-size);font-weight:700}.home-memory-rows,.home-summary-grid{display:grid;gap:var(--space-3)}.home-memory-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.home-memory-row>a{min-width:0;padding:var(--space-2);display:grid;grid-template-columns:var(--control-lg) minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.home-memory-row>a:hover{border-color:var(--color-border-strong);transform:translateY(calc(var(--space-0-5) * -1))}.home-memory-row__visual{width:var(--control-lg);height:var(--control-lg);display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-sm);overflow:hidden}.home-memory-row__visual :is(.private-media,img,video){width:100%;height:100%}.home-memory-row__visual :is(img,video){object-fit:cover}.home-memory-row__copy{min-width:0;display:grid;gap:var(--space-1)}.home-memory-row__copy strong,.home-memory-row__copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-memory-row__copy>span{color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.home-reminders{padding-left:var(--space-8);border-left:var(--border-hairline) solid var(--color-border-subtle)}.home-reminder-list,.home-reminder-loading{display:grid;gap:var(--space-3)}.home-reminder-item{min-height:76px;padding:var(--space-3);display:grid;grid-template-columns:var(--control-md) minmax(0,1fr);align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.home-reminder-item:hover{border-color:var(--color-border-strong)}.home-reminder-item__icon{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;color:var(--color-accent-emotional);background:var(--color-rose-100);border-radius:var(--radius-full)}:root[data-mode=dark] .home-reminder-item__icon{background:color-mix(in srgb,var(--color-accent-emotional) 16%,transparent)}.home-reminder-item>span:last-child{min-width:0;display:grid;gap:var(--space-1)}.home-reminder-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-reminder-item time{color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.home-reminder-empty{min-height:244px;padding:var(--space-8) var(--space-5);display:grid;align-content:center;justify-items:start;gap:var(--space-2);color:var(--color-text-link);background:var(--color-bg-subtle);border-radius:var(--radius-lg)}.home-reminder-empty strong{margin-top:var(--space-2);color:var(--color-text-primary);font-size:var(--type-title-md-size)}.home-reminder-empty p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.home-reminder-empty a{margin-top:var(--space-2);font-weight:700}.home-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.home-space-card{min-width:0;border-top:var(--border-emphasis) solid var(--home-space-accent, var(--color-action-primary))}.home-space-card>a{min-height:132px;padding:var(--space-5);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);color:var(--color-text-primary);background:color-mix(in srgb,var(--home-space-accent, var(--color-action-primary)) 7%,var(--color-surface-raised));border:var(--border-hairline) solid var(--color-border-subtle);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.home-space-card>a:hover{border-color:var(--color-border-strong)}.home-space-card.is-archived{opacity:.72}.home-space-card__icon{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;color:var(--color-text-link);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.home-space-card__copy{min-width:0;display:grid;gap:var(--space-1)}.home-space-card__copy small{color:var(--color-text-tertiary);font-size:var(--type-micro-size)}.home-space-card__copy strong{overflow:hidden;font-size:var(--type-title-md-size);text-overflow:ellipsis;white-space:nowrap}.home-space-card__copy>span{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.home-invite-step{margin-bottom:var(--space-4);padding:var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-action-primary-soft);border:var(--border-hairline) solid color-mix(in srgb,var(--color-action-primary) 24%,transparent);border-radius:var(--radius-md)}.home-invite-step__icon{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;color:var(--color-text-link);background:var(--color-surface-raised);border-radius:var(--radius-full)}.home-invite-step>span:nth-child(2){display:grid;gap:var(--space-1)}.home-invite-step small{color:var(--color-text-link);font-size:var(--type-micro-size);font-weight:750;letter-spacing:.08em}.home-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-memory-loading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.home-memory-loading>:first-child{grid-column:1 / -1}.home-section .ui-empty-state{min-height:220px;padding:var(--space-8) var(--space-5)}.home-onboarding{min-height:400px;padding:clamp(var(--space-8),6vw,var(--space-16));display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px);align-items:center;gap:clamp(var(--space-6),5vw,var(--space-16));background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.home-onboarding__index{align-self:start;color:var(--color-brand-200);font-family:var(--font-display);font-size:var(--type-display-lg-size);line-height:1}.home-onboarding__copy{max-width:600px}.home-onboarding h2{margin:var(--space-3) 0 var(--space-4);font-family:var(--font-display);font-size:var(--type-heading-1-size);font-weight:600;line-height:var(--type-heading-1-line)}.home-onboarding__copy>p{margin:0 0 var(--space-6);color:var(--color-text-secondary);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}.home-onboarding__next{padding:var(--space-6);display:grid;gap:var(--space-2);color:var(--color-text-disabled);background:var(--color-bg-subtle);border-radius:var(--radius-lg)}.home-onboarding__next span,.home-onboarding__next small{font-size:var(--type-caption-size)}.home-onboarding__next strong{color:var(--color-text-secondary);font-size:var(--type-title-md-size)}.home-dashboard-recovery{padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--color-warning-fg);background:var(--color-warning-bg);border:var(--border-hairline) solid var(--color-warning-border);border-radius:var(--radius-md);font-size:var(--type-body-sm-size)}.home-dashboard-recovery span{flex:1}@media(max-width:1023px){.home-primary-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:var(--space-6)}.home-memory-feature>a{grid-template-columns:1fr}.home-memory-feature__visual,.home-memory-feature__copy{min-height:220px}.home-space-grid,.home-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-onboarding{grid-template-columns:auto minmax(0,1fr)}.home-onboarding__next{grid-column:2}}@media(max-width:839px){.home-page{gap:var(--space-12)}.home-welcome{padding-top:0;align-items:stretch;flex-direction:column;gap:var(--space-5)}.home-welcome h1{font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.home-welcome p{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line)}.home-welcome .ui-button{width:100%}.home-primary-grid{grid-template-columns:1fr;gap:var(--space-12)}.home-reminders{padding:0;border-left:0}.home-memory-feature>a{min-height:0;grid-template-columns:minmax(120px,42%) minmax(0,1fr)}.home-memory-feature__visual{min-height:210px}.home-memory-feature__copy{min-height:210px;padding:var(--space-5)}.home-memory-feature p{-webkit-line-clamp:2}.home-space-grid,.home-summary-grid{grid-template-columns:1fr}.home-onboarding{min-height:0;padding:var(--space-8) var(--space-6);grid-template-columns:1fr;gap:var(--space-6)}.home-onboarding__index{font-size:var(--type-display-sm-size)}.home-onboarding__next{grid-column:auto}}@media(max-width:599px){.home-page{gap:var(--space-10)}.home-section__heading{margin-bottom:var(--space-4)}.home-section__heading h2{font-size:var(--type-title-lg-size);line-height:var(--type-title-lg-line)}.home-memory-feature>a{display:block}.home-memory-feature__visual{min-height:190px;height:190px}.home-memory-feature__copy{min-height:0;padding:var(--space-5)}.home-memory-feature__open{margin-top:0}.home-memory-rows{grid-template-columns:1fr}.home-space-card>a{min-height:116px;padding:var(--space-4)}.home-onboarding{padding:var(--space-6) var(--space-5)}.home-onboarding h2{font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.home-dashboard-recovery{align-items:flex-start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.home-memory-row>a{transition:none}}.memory-archive-page{display:grid;gap:var(--space-8)}.memory-archive-header{padding-block:var(--space-3) var(--space-6);display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.memory-kicker{display:block;color:var(--color-text-link);font-size:var(--type-micro-size);font-weight:750;letter-spacing:.16em;line-height:var(--type-micro-line)}.memory-archive-header h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-heading-1-size);font-weight:600;line-height:var(--type-heading-1-line)}.memory-archive-header p{margin:0;color:var(--color-text-secondary);line-height:var(--type-body-lg-line)}.memory-archive-tools{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.memory-search{width:min(100%,440px);min-height:var(--control-lg);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.memory-search:focus-within{border-color:var(--color-focus-ring);box-shadow:var(--shadow-focus)}.memory-search input{min-width:0;padding:0;color:var(--color-text-primary);background:transparent;border:0;outline:0}.memory-search>button:not(.ui-button){width:var(--control-sm);height:var(--control-sm);display:grid;place-items:center;color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-sm)}.memory-search>button:not(.ui-button):hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.memory-type-filters{max-width:100%;display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.memory-type-filters::-webkit-scrollbar{display:none}.memory-result-heading{min-height:var(--control-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.memory-result-heading>div{display:flex;align-items:baseline;gap:var(--space-3)}.memory-result-heading h2{margin:0;font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.memory-result-heading span{color:var(--color-text-tertiary);font-size:var(--type-body-sm-size)}.memory-result-heading>button{padding:var(--space-2);color:var(--color-text-link);background:transparent;border:0;border-radius:var(--radius-sm);font-weight:700}.memory-archive-grid,.memory-archive-loading{columns:3 280px;column-gap:var(--space-5)}.archive-memory-card,.memory-archive-loading>*{width:100%;margin-bottom:var(--space-5);break-inside:avoid}.archive-memory-card{position:relative;overflow:hidden;color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--motion-base) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.archive-memory-card__actions{position:absolute;top:var(--space-3);right:var(--space-3);z-index:3;display:flex;gap:var(--space-2);opacity:0;transform:scale(.96);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.archive-memory-card__actions .ui-icon-button{color:var(--color-danger-fg);background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent)}.archive-memory-card__actions .archive-memory-card__visibility{color:var(--color-text-primary)}.archive-memory-card:hover .archive-memory-card__actions,.archive-memory-card:focus-within .archive-memory-card__actions{opacity:1;transform:scale(1)}.memory-delete-confirmation{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-4)}.memory-delete-confirmation__icon{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;color:var(--color-danger-fg);background:var(--color-danger-bg);border-radius:var(--radius-full)}.memory-delete-confirmation strong{color:var(--color-text-primary)}.memory-delete-confirmation p{margin:var(--space-2) 0 0;color:var(--color-text-secondary);line-height:var(--type-body-line)}.memory-owner-actions{margin-top:var(--space-5);padding-top:var(--space-4);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);border-top:var(--border-hairline) solid var(--color-border-subtle)}.memory-visibility-editor,.memory-visibility-spaces{display:grid;gap:var(--space-3)}.memory-visibility-spaces{margin-top:var(--space-5);padding-top:var(--space-5);border-top:var(--border-hairline) solid var(--color-border-subtle)}.memory-visibility-spaces h3,.memory-visibility-spaces p{margin:0}.memory-visibility-spaces>p{color:var(--color-text-secondary)}.memory-visibility-spaces>div{display:grid;gap:var(--space-2)}.archive-memory-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(calc(var(--space-1) * -1))}.archive-memory-card>a{display:block;color:inherit}.archive-memory-card__visual{position:relative;height:250px;background:var(--color-bg-subtle);overflow:hidden}.archive-memory-card.is-video .archive-memory-card__visual{height:210px}.archive-memory-card.is-mixed .archive-memory-card__visual{height:300px}.archive-memory-card__visual :is(.private-media,img,video){width:100%;height:100%}.archive-memory-card__visual :is(img,video){object-fit:cover}.archive-memory-card__type{position:absolute;left:var(--space-3);bottom:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--color-stone-25);background:color-mix(in srgb,var(--color-stone-950) 74%,transparent);border-radius:var(--radius-full);font-size:var(--type-micro-size);font-weight:700}.archive-memory-card__body{padding:var(--space-5)}.archive-memory-card.is-text .archive-memory-card__body{min-height:260px;display:flex;flex-direction:column;justify-content:center}.archive-memory-card.is-location .archive-memory-card__body{min-height:220px;background:color-mix(in srgb,var(--color-sage-100) 42%,var(--color-surface-raised))}.archive-memory-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--type-micro-size);font-variant-numeric:tabular-nums}.archive-memory-card__meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.archive-memory-card h3{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-title-lg-size);font-weight:600;line-height:var(--type-title-lg-line)}.archive-memory-card.is-text h3{font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-line)}.archive-memory-card p{margin:0;display:-webkit-box;color:var(--color-text-secondary);line-height:var(--type-body-md-line);-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.archive-memory-card.is-media-rich p,.archive-memory-card.is-compact p{-webkit-line-clamp:2}.archive-memory-card__foot{margin-top:var(--space-5);padding-top:var(--space-4);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-tertiary);border-top:var(--border-hairline) solid var(--color-border-subtle);font-size:var(--type-micro-size)}.archive-memory-card__foot span{display:inline-flex;align-items:center;gap:var(--space-1)}.archive-memory-card__foot span:nth-last-child(1):not(:first-child){margin-left:auto}.archive-memory-card__creator{width:var(--control-xs);height:var(--control-xs);justify-content:center;color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-full);font-weight:750}.archive-memory-card.is-compact .archive-memory-card__visual{height:160px}.archive-memory-card.is-compact .archive-memory-card__body{min-height:0;padding:var(--space-4)}@media(max-width:839px){.memory-archive-page{gap:var(--space-6)}.memory-archive-header{padding-top:0}.memory-archive-header h1{font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.memory-archive-header p,.memory-archive-header .ui-button{display:none}.memory-archive-tools{position:sticky;z-index:calc(var(--z-sticky) - 1);top:calc(var(--safe-top) + 56px + 48px);margin-inline:calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);align-items:stretch;flex-direction:column;background:color-mix(in srgb,var(--color-bg-canvas) 96%,transparent);border-bottom:var(--border-hairline) solid var(--color-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.memory-search{width:100%}.memory-type-filters{margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4)}.memory-result-heading{min-height:var(--control-sm)}.memory-archive-grid,.memory-archive-loading{columns:1}.archive-memory-card,.memory-archive-loading>*{margin-bottom:var(--space-4)}.archive-memory-card__visual,.archive-memory-card.is-video .archive-memory-card__visual,.archive-memory-card.is-mixed .archive-memory-card__visual{height:min(68vw,310px)}.archive-memory-card.is-text .archive-memory-card__body{min-height:220px}}@media(prefers-reduced-motion:reduce){.archive-memory-card{transition:none}}@media(hover:none){.archive-memory-card__actions{opacity:1;transform:none}}.create-memory-form{display:grid;gap:var(--space-8)}.create-memory-section{min-width:0;margin:0;padding:0;display:grid;gap:var(--space-4);border:0}.create-memory-section+.create-memory-section{padding-top:var(--space-8);border-top:var(--border-hairline) solid var(--color-border-subtle)}.create-memory-section>h3,.create-memory-section>legend{width:100%;margin:0;padding:0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--type-title-md-size);font-weight:700;line-height:var(--type-title-md-line)}.create-memory-section>h3>span,.create-memory-section>legend>span{color:var(--color-text-link);font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.08em}.create-memory-types>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.create-memory-types button{min-height:92px;padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);text-align:left}.create-memory-types button:hover{border-color:var(--color-border-strong)}.create-memory-types button.is-selected{color:var(--color-text-link);background:var(--color-action-primary-soft);border-color:var(--color-action-primary)}.create-memory-types button>span{min-width:0;display:grid;gap:var(--space-1)}.create-memory-types button strong{color:var(--color-text-primary)}.create-memory-types button small{color:var(--color-text-tertiary);font-size:var(--type-micro-size);line-height:var(--type-micro-line)}.create-memory-types button.is-selected small{color:var(--color-text-secondary)}.create-memory-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.create-memory-location{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.create-memory-location>span,.create-memory-supporting{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.create-memory-dropzone{min-height:116px;padding:var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-4);color:var(--color-text-link);background:var(--color-bg-subtle);border:var(--border-hairline) dashed var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer}.create-memory-dropzone:hover{border-color:var(--color-action-primary)}.create-memory-dropzone.has-error{border-color:var(--color-danger-fg)}.create-memory-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.create-memory-dropzone>span{display:grid;gap:var(--space-1)}.create-memory-dropzone strong{color:var(--color-text-primary)}.create-memory-dropzone small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.create-memory-inline-error{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-danger-fg);font-size:var(--type-caption-size)}.create-memory-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.create-memory-previews figure{min-width:0;margin:0;overflow:hidden;background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.create-memory-previews :is(img,video){width:100%;height:132px;display:block;object-fit:cover;background:var(--color-surface-inverse)}.create-memory-previews figcaption{padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.create-memory-previews figcaption>span{min-width:0;flex:1;display:grid;gap:var(--space-1)}.create-memory-previews figcaption strong{overflow:hidden;font-size:var(--type-caption-size);text-overflow:ellipsis;white-space:nowrap}.create-memory-previews figcaption small{color:var(--color-text-tertiary);font-size:var(--type-micro-size)}.create-memory-previews figcaption button{width:var(--control-xs);height:var(--control-xs);display:grid;place-items:center;color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-sm)}.create-memory-previews figcaption button:hover{color:var(--color-danger-fg);background:var(--color-danger-bg)}.create-memory-space-list,.create-memory-visibility>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.create-memory-space-list .ui-choice,.create-memory-visibility .ui-choice{padding:var(--space-4);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}@media(max-width:599px){.create-memory-form{gap:var(--space-6)}.create-memory-section+.create-memory-section{padding-top:var(--space-6)}.create-memory-types>div{grid-template-columns:1fr 1fr}.create-memory-types button{min-height:84px;padding:var(--space-3)}.create-memory-field-row,.create-memory-space-list,.create-memory-visibility>div{grid-template-columns:1fr}.create-memory-location{grid-template-columns:1fr}.create-memory-location .ui-button{width:max-content}.create-memory-dropzone{padding:var(--space-5) var(--space-4);justify-content:flex-start}.create-memory-previews{grid-template-columns:1fr 1fr}.create-memory-previews :is(img,video){height:108px}}.memory-detail-page{display:grid;gap:var(--space-5)}.memory-detail-back{width:max-content;min-height:var(--control-sm);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-link);font-size:var(--type-body-sm-size);font-weight:700}.memory-detail-back:hover{text-decoration:underline;text-underline-offset:.25em}.memory-detail-loading,.memory-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--space-8);align-items:start}.memory-detail-loading>div{display:grid;gap:var(--space-5)}.memory-detail-story{min-width:0}.memory-detail-title{padding:var(--space-6) 0 var(--space-8);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.memory-detail-title h1{margin:var(--space-3) 0 var(--space-4);font-family:var(--font-display);font-size:var(--type-display-sm-size);font-weight:600;line-height:var(--type-display-sm-line)}.memory-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-5);color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.memory-detail-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.memory-visibility-note{width:max-content;max-width:100%;margin-top:var(--space-5);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-md)}.memory-visibility-note>span{display:grid;gap:var(--space-1)}.memory-visibility-note strong{color:var(--color-text-primary);font-size:var(--type-body-sm-size)}.memory-visibility-note small{color:var(--color-text-secondary);font-size:var(--type-micro-size)}.memory-detail-media{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.memory-detail-media.is-single{grid-template-columns:1fr}.memory-detail-media>button{min-height:260px;padding:0;color:var(--color-text-secondary);background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.memory-detail-media.is-single>button{min-height:420px;max-height:680px}.memory-detail-media>button:hover{border-color:var(--color-border-strong)}.memory-detail-media :is(.private-media,img,video){width:100%;height:100%;min-height:inherit}.memory-detail-media :is(img,video){object-fit:cover}.memory-detail-content{padding:var(--space-10) 0}.memory-detail-content p{max-width:68ch;margin:0;color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-body-lg-size);line-height:2;white-space:pre-wrap}.memory-detail-spaces{padding:var(--space-6) 0;border-top:var(--border-hairline) solid var(--color-border-subtle);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.memory-detail-spaces h2{margin:var(--space-1) 0 var(--space-4);font-size:var(--type-title-lg-size)}.memory-detail-spaces>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.memory-detail-spaces a{min-height:var(--control-sm);padding-inline:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-full);font-size:var(--type-body-sm-size)}.memory-report-entry{margin-top:var(--space-6);padding:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);background:transparent;border:0;border-radius:var(--radius-sm);font-size:var(--type-caption-size)}.memory-report-entry:hover{color:var(--color-danger-fg);background:var(--color-danger-bg)}.memory-detail-aside{position:sticky;top:calc(72px + var(--space-6));display:grid;gap:var(--space-4)}.memory-response-panel,.memory-comments{padding:var(--space-5);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.memory-response-panel h2,.memory-comments h2{margin:var(--space-1) 0 var(--space-4);font-size:var(--type-title-md-size);line-height:var(--type-title-md-line)}.memory-reaction-row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.memory-reaction-row button{aspect-ratio:1;padding:0;display:grid;place-items:center;background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-full);font-size:var(--type-title-md-size)}.memory-reaction-row button:hover:not(:disabled){border-color:var(--color-border-strong);transform:translateY(calc(var(--space-1) * -1))}.memory-reaction-counts{margin:var(--space-3) 0;display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.memory-comments__heading h2{display:flex;align-items:center;gap:var(--space-2)}.memory-comment-list{display:grid;gap:var(--space-4)}.memory-comment{position:relative;padding-bottom:var(--space-4);display:grid;grid-template-columns:var(--control-sm) minmax(0,1fr) auto;gap:var(--space-3);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.memory-comment__avatar{width:var(--control-sm);height:var(--control-sm);display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-full);font-weight:750}.memory-comment strong{font-size:var(--type-body-sm-size)}.memory-comment p{margin:var(--space-1) 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);white-space:pre-wrap}.memory-comment time{color:var(--color-text-tertiary);font-size:var(--type-micro-size)}.memory-comment>button{width:var(--control-xs);height:var(--control-xs);padding:0;display:grid;place-items:center;color:var(--color-text-tertiary);background:transparent;border:0;border-radius:var(--radius-sm)}.memory-comment>button:hover{color:var(--color-danger-fg);background:var(--color-danger-bg)}.memory-comments__empty{margin:0;padding:var(--space-6) 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);text-align:center}.memory-comment-composer{margin-top:var(--space-4);padding-top:var(--space-4);display:flex;align-items:end;gap:var(--space-2);border-top:var(--border-hairline) solid var(--color-border-subtle)}.memory-comment-composer textarea{min-width:0;min-height:var(--control-lg);max-height:140px;padding:var(--space-3);flex:1;resize:vertical;color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.memory-comment-error{margin:var(--space-2) 0 0;color:var(--color-danger-fg);font-size:var(--type-caption-size)}.memory-media-preview{min-height:55vh;display:grid;place-items:center;background:var(--color-surface-inverse);border-radius:var(--radius-md);overflow:hidden}.memory-media-preview :is(.private-media,img,video){width:100%;max-height:72vh}.memory-media-preview :is(img,video){object-fit:contain}@media(max-width:839px){.memory-detail-layout,.memory-detail-loading{grid-template-columns:1fr}.memory-detail-title{padding-top:var(--space-3)}.memory-detail-title h1{font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.memory-detail-aside{position:static}.memory-detail-media.is-single>button{min-height:min(100vw,520px)}.memory-comment-composer{position:sticky;bottom:calc(64px + var(--safe-bottom));z-index:var(--z-sticky);padding:var(--space-3);margin-inline:calc(var(--space-3) * -1);background:var(--color-surface-raised)}.native-app.keyboard-open .memory-comment-composer{bottom:var(--keyboard-offset)}}@media(max-width:599px){.memory-detail-media{grid-template-columns:1fr}.memory-detail-media>button{min-height:260px}.memory-detail-content{padding-block:var(--space-8)}.memory-detail-content p{font-size:var(--type-body-md-size);line-height:1.9}.memory-response-panel,.memory-comments{padding:var(--space-4)}}.companion-page-header{padding-block:var(--space-10) var(--space-8);display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.companion-page-header h1{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.companion-page-header p{max-width:54ch;margin:0;color:var(--color-text-secondary)}.photo-archive-groups{padding-block:var(--space-8) var(--space-16);display:grid;gap:var(--space-12)}.photo-month{display:grid;gap:var(--space-5)}.photo-month__heading{display:flex;align-items:baseline;gap:var(--space-3)}.photo-month__heading h2{margin:0;font-family:var(--font-display);font-size:var(--type-heading-3-size)}.photo-month__heading span{color:var(--color-text-tertiary);font-size:var(--type-body-sm-size)}.photo-month__grid,.photo-archive-loading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.photo-month__grid{grid-auto-rows:150px}.photo-archive-loading{padding-block:var(--space-8);align-items:start}.photo-tile{position:relative;min-width:0;grid-row:span 2;overflow:hidden;color:var(--color-text-inverse);background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);isolation:isolate}.photo-tile:nth-child(5n+2),.photo-tile:nth-child(5n+4){grid-row:span 3}.photo-tile .private-media,.photo-tile .private-media>img,.photo-tile .private-media>video,.photo-tile .media-skeleton{width:100%;height:100%}.photo-tile img,.photo-tile video{object-fit:cover;transition:transform var(--motion-slow) var(--ease-standard)}.photo-tile .private-media img,.photo-tile .private-media video{max-height:none;object-fit:cover;background:transparent}.photo-tile:hover img,.photo-tile:hover video{transform:scale(1.025)}.photo-tile:after{content:"";position:absolute;top:38%;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to bottom,transparent,rgb(24 22 24 / 76%));pointer-events:none}.photo-tile__play{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;width:42px;height:42px;display:grid;place-items:center;color:var(--color-text-inverse);background:#181618a8;border:var(--border-hairline) solid rgb(255 255 255 / 30%);border-radius:var(--radius-full)}.photo-tile__caption{position:absolute;inset:auto var(--space-4) var(--space-4);z-index:2;display:grid;gap:var(--space-1)}.photo-tile__caption strong{font-family:var(--font-display);font-size:var(--type-title-lg-size)}.photo-tile__caption>span{display:flex;align-items:center;gap:var(--space-3);color:var(--color-stone-100);font-size:var(--type-caption-size)}.photo-tile__caption>span span{display:inline-flex;align-items:center;gap:var(--space-1)}@media(max-width:1080px){.photo-month__grid,.photo-archive-loading{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:839px){.companion-page-header{padding-block:var(--space-6) var(--space-5);align-items:start}.companion-page-header h1{font-size:var(--type-heading-1-size)}.companion-page-header>.ui-button{display:none}.photo-archive-groups{padding-block:var(--space-6) var(--space-10);gap:var(--space-9)}.photo-month__grid,.photo-archive-loading{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.photo-month__grid{grid-auto-rows:auto}.photo-tile,.photo-tile:nth-child(5n+2),.photo-tile:nth-child(5n+4){grid-row:auto;aspect-ratio:1 / 1.12}.photo-tile__caption{inset:auto var(--space-3) var(--space-3)}.photo-tile__caption strong{font-size:var(--type-body-md-size)}.photo-tile__caption>span{gap:var(--space-2)}.photo-tile__play{width:36px;height:36px}}.calendar-layout{padding-block:var(--space-8) var(--space-16);display:grid;grid-template-columns:minmax(0,8fr) minmax(280px,4fr);align-items:start;gap:var(--space-6)}.calendar-surface,.calendar-day-drawer,.calendar-day-placeholder{background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.calendar-surface{padding:var(--space-6)}.calendar-toolbar{margin-bottom:var(--space-5);display:grid;grid-template-columns:var(--control-md) 1fr var(--control-md);align-items:center;text-align:center}.calendar-toolbar h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--type-heading-2-size)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.calendar-weekdays span{padding-block:var(--space-2);color:var(--color-text-tertiary);font-size:var(--type-caption-size);font-weight:650;text-align:center}.calendar-date{position:relative;min-height:80px;padding:var(--space-3);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);font:inherit;font-variant-numeric:tabular-nums}.calendar-date:hover{background:var(--color-bg-subtle);border-color:var(--color-border-default)}.calendar-date.is-outside{color:var(--color-text-tertiary);background:transparent}.calendar-date.has-memory{border-color:var(--color-border-default)}.calendar-date.is-today:before{content:"";position:absolute;top:var(--space-2);right:var(--space-2);width:7px;height:7px;background:var(--color-info-fg);border-radius:var(--radius-full)}.calendar-date.is-selected{color:var(--color-text-inverse);background:var(--color-action-primary);border-color:var(--color-action-primary)}.calendar-date.is-selected.is-today:before{background:var(--color-text-inverse)}.calendar-date__memory{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.calendar-date.is-selected .calendar-date__memory{color:var(--color-text-inverse)}.calendar-date__memory i{width:6px;height:6px;background:currentColor;border-radius:var(--radius-full)}.calendar-grid--loading .ui-skeleton{min-width:0}.calendar-day-drawer{position:sticky;top:calc(var(--shell-web-topbar-height) + var(--shell-secondary-height) + var(--space-4));max-height:calc(100dvh - var(--shell-web-topbar-height) - var(--shell-secondary-height) - var(--space-8));display:flex;flex-direction:column;overflow:hidden}.calendar-day-drawer>header{padding:var(--space-5);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.calendar-day-drawer h2{margin:var(--space-1) 0;font-family:var(--font-display);font-size:var(--type-heading-2-size)}.calendar-day-drawer header p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.calendar-day-list,.calendar-day-loading{padding:var(--space-4);display:grid;gap:var(--space-3);overflow-y:auto}.calendar-day-list>a{min-width:0;padding:var(--space-3);display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.calendar-day-list__media,.calendar-day-list__symbol{width:72px;height:84px;display:grid;place-items:center;overflow:hidden;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-sm)}.calendar-day-list__media .private-media,.calendar-day-list__media img,.calendar-day-list__media video,.calendar-day-list__media .media-skeleton{width:100%;height:100%}.calendar-day-list__media .private-media img,.calendar-day-list__media .private-media video{max-height:none;object-fit:cover;background:transparent}.calendar-day-list__copy{min-width:0;display:grid;align-content:center;gap:var(--space-1)}.calendar-day-list__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-list__copy>span{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.calendar-day-list__copy small{display:-webkit-box;overflow:hidden;color:var(--color-text-secondary);font-size:var(--type-caption-size);-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-day-placeholder{min-height:280px;display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-text-tertiary);text-align:center}.calendar-day-placeholder>span{font-family:var(--font-display);font-size:var(--type-display-lg-size);line-height:1;opacity:.28}.calendar-day-placeholder p{margin:0;line-height:var(--type-body-md-line)}@media(max-width:839px){.calendar-layout{padding-block:var(--space-5) var(--space-10);grid-template-columns:1fr;gap:var(--space-4)}.calendar-surface{padding:var(--space-3)}.calendar-weekdays,.calendar-grid{gap:var(--space-1)}.calendar-date{min-height:56px;padding:var(--space-2);align-items:center}.calendar-date__memory{font-size:0}.calendar-date__memory i{width:5px;height:5px}.calendar-date.is-today:before{top:var(--space-1);right:var(--space-1);width:5px;height:5px}.calendar-day-drawer{position:static;max-height:none}.calendar-day-placeholder{display:none}}@media(max-width:370px){.calendar-date{min-height:50px;padding-inline:var(--space-1)}}.map-permission-note{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-info-fg);background:var(--color-info-bg);border:var(--border-hairline) solid var(--color-info-border);border-radius:var(--radius-md)}.map-permission-note.is-error{color:var(--color-danger-fg);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.map-permission-note.is-success{color:var(--color-success-fg);background:var(--color-success-bg);border-color:var(--color-success-border)}.map-permission-note>span{display:grid;gap:var(--space-0-5)}.map-permission-note strong{font-size:var(--type-body-sm-size)}.map-permission-note small{color:var(--color-text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.memory-map-layout,.memory-map-loading{padding-block:var(--space-6) var(--space-16);display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,8fr);align-items:stretch;gap:var(--space-5)}.map-place-panel,.memory-map-canvas{min-height:540px;background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.map-place-panel{display:flex;flex-direction:column;overflow:hidden}.map-place-panel>header{padding:var(--space-5);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.map-place-panel h2{margin:var(--space-1) 0;font-family:var(--font-display);font-size:var(--type-heading-3-size)}.map-place-panel header p,.map-place-panel__empty{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.map-place-panel__empty{padding:var(--space-5);line-height:var(--type-body-md-line)}.map-place-list{padding:var(--space-3);display:grid;align-content:start;gap:var(--space-2);overflow-y:auto}.map-place-list button{min-width:0;min-height:66px;padding:var(--space-3);display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:transparent;border:var(--border-hairline) solid transparent;border-radius:var(--radius-md);font:inherit;text-align:left}.map-place-list button:hover{background:var(--color-bg-subtle)}.map-place-list button.is-selected{background:var(--color-action-primary-soft);border-color:var(--color-border-default)}.map-place-list__icon{width:38px;height:38px;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-full)}.map-place-list button>span:nth-child(2){min-width:0;display:grid;gap:var(--space-1)}.map-place-list strong,.map-place-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-place-list small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.memory-map-canvas{position:relative;overflow:hidden;background-color:var(--color-bg-subtle);background-image:linear-gradient(color-mix(in srgb,var(--color-border-default) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-border-default) 45%,transparent) 1px,transparent 1px);background-size:48px 48px}.memory-map-canvas:before,.memory-map-canvas:after{content:"";position:absolute;pointer-events:none}.memory-map-canvas:before{top:12%;right:9%;bottom:12%;left:9%;border:var(--border-hairline) solid var(--color-border-default);border-radius:48% 52% 42% 58%;transform:rotate(-7deg)}.memory-map-canvas:after{top:24%;right:19%;bottom:24%;left:19%;border:var(--border-hairline) dashed var(--color-border-default);border-radius:58% 42% 53% 47%;transform:rotate(11deg)}.memory-map-canvas__axis span{position:absolute;z-index:1;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size);font-weight:700}.memory-map-canvas__axis span:nth-child(1){top:var(--space-3);left:50%}.memory-map-canvas__axis span:nth-child(2){top:50%;right:var(--space-3)}.memory-map-canvas__axis span:nth-child(3){bottom:var(--space-3);left:50%}.memory-map-canvas__axis span:nth-child(4){top:50%;left:var(--space-3)}.memory-map-marker,.memory-map-current{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;place-items:center}.memory-map-marker{width:42px;height:42px;color:var(--color-text-inverse);background:var(--color-action-primary);border:3px solid var(--color-surface-raised);border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--radius-xs);box-shadow:var(--shadow-sm);transform:translate(-50%,-50%) rotate(-8deg)}.memory-map-marker>svg{transform:rotate(8deg)}.memory-map-marker.is-selected{width:50px;height:50px;box-shadow:0 0 0 5px var(--color-action-primary-soft),var(--shadow-md)}.memory-map-current{width:46px;height:46px;color:var(--color-info-fg);background:var(--color-info-bg);border:3px double var(--color-info-fg);border-radius:var(--radius-full);box-shadow:0 0 0 6px color-mix(in srgb,var(--color-info-fg) 16%,transparent)}.memory-map-selection{position:absolute;z-index:4;right:var(--space-5);bottom:var(--space-5);width:min(320px,calc(100% - (2 * var(--space-5))));padding:var(--space-5);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.memory-map-selection h3{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-heading-3-size)}.memory-map-selection p{margin:0 0 var(--space-1);display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary)}.memory-map-selection time{margin-top:var(--space-2);display:block;color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.memory-map-selection a{margin-top:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-link);font-weight:700}.memory-map-legend{position:absolute;z-index:2;left:var(--space-4);bottom:var(--space-4);padding:var(--space-2) var(--space-3);display:flex;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--type-caption-size)}.memory-map-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}@media(max-width:839px){.map-permission-note{margin-top:var(--space-4)}.memory-map-layout,.memory-map-loading{padding-block:var(--space-4) var(--space-10);grid-template-columns:1fr;gap:0}.memory-map-canvas{min-height:430px;grid-row:1;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.map-place-panel{min-height:0;max-height:none;grid-row:2;margin-top:calc(var(--space-4) * -1);z-index:5;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.map-place-list{max-height:320px}.memory-map-selection{right:var(--space-3);bottom:var(--space-12);width:calc(100% - (2 * var(--space-3)));padding:var(--space-4)}.memory-map-legend{top:var(--space-3);bottom:auto}}.relationship-domain-header{padding-block:var(--space-10) var(--space-7);display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}.relationship-domain-header h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.relationship-domain-header p{max-width:62ch;margin:0;color:var(--color-text-secondary);line-height:var(--type-body-md-line)}.relationship-domain-header>div:last-child:not(:first-child){display:flex;align-items:center;gap:var(--space-3)}.relationship-boundary-note{margin-bottom:var(--space-7);display:grid;grid-template-columns:1fr 1fr;background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.relationship-boundary-note>div{min-width:0;padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.relationship-boundary-note>div+div{border-left:var(--border-hairline) solid var(--color-border-subtle)}.relationship-boundary-note>div>svg{color:var(--color-text-link)}.relationship-boundary-note span{display:grid;gap:var(--space-0-5)}.relationship-boundary-note small{color:var(--color-text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.relationship-boundary-note a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-link);font-size:var(--type-body-sm-size);font-weight:700;white-space:nowrap}.relationship-categories-page>.ui-banner{margin-bottom:var(--space-5)}.relationship-category-section{padding-block:var(--space-4) var(--space-8)}.relationship-section-heading{margin-bottom:var(--space-4);display:flex;align-items:end;justify-content:space-between;gap:var(--space-6)}.relationship-section-heading h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--type-heading-2-size)}.relationship-section-heading p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.relationship-category-list,.relationship-category-loading{display:grid;gap:var(--space-3)}.relationship-category-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid color-mix(in srgb,var(--category-accent) 36%,var(--color-border-subtle));box-shadow:inset 0 1px color-mix(in srgb,var(--category-accent) 45%,transparent);border-radius:var(--radius-md);overflow:hidden}.relationship-category-main{min-width:0;min-height:108px;padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);color:inherit}.relationship-category-main:hover{background:var(--color-bg-subtle)}.relationship-category-icon{width:52px;height:52px;display:grid;place-items:center;color:var(--category-accent, var(--color-text-link));background:var(--category-background, var(--color-action-primary-soft));border-radius:var(--radius-md)}.relationship-category-main>span:nth-child(2){min-width:0;display:grid;gap:var(--space-0-5)}.relationship-category-main small{color:var(--color-text-tertiary);font-size:var(--type-micro-size);letter-spacing:.08em;text-transform:uppercase}.relationship-category-main strong{font-family:var(--font-display);font-size:var(--type-heading-3-size)}.relationship-category-main>span>span{color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.relationship-category-actions{padding-inline:var(--space-3);display:flex;align-items:center;gap:var(--space-1);border-left:var(--border-hairline) solid var(--color-border-subtle)}.relationship-hidden-categories{margin-bottom:var(--space-12);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.relationship-hidden-categories summary{min-height:64px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.relationship-hidden-categories summary::-webkit-details-marker{display:none}.relationship-hidden-categories summary>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-1) var(--space-3)}.relationship-hidden-categories summary>span svg{grid-row:1 / 3;color:var(--color-text-tertiary)}.relationship-hidden-categories summary small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-hidden-categories[open] summary>svg{transform:rotate(180deg)}.relationship-hidden-categories>div{padding:0 var(--space-3) var(--space-3);display:grid;gap:var(--space-2)}.relationship-hidden-categories article{min-height:64px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.relationship-category-icon.is-quiet{width:42px;height:42px;color:var(--color-text-tertiary);background:var(--color-surface-default)}.relationship-hidden-categories article>span:nth-child(2){display:grid;gap:var(--space-0-5)}.relationship-hidden-categories article small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-invite-flow{display:grid;gap:var(--space-7)}.relationship-invite-flow>section{display:grid;gap:var(--space-3)}.relationship-invite-flow h3{margin:0;display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-display);font-size:var(--type-heading-3-size)}.relationship-invite-flow h3 span{color:var(--color-text-link);font-family:var(--font-mono);font-size:var(--type-micro-size)}.relationship-invite-flow section>p{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-people-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.relationship-people-results{display:grid;gap:var(--space-1);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.relationship-people-results button{min-height:64px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:transparent;border:0;font:inherit;text-align:left}.relationship-people-results button:hover{background:var(--color-bg-subtle)}.relationship-people-results .user-avatar,.relationship-selected-person .user-avatar{width:42px;height:42px}.relationship-people-results button>span,.relationship-selected-person>span{min-width:0;display:grid;gap:var(--space-0-5)}.relationship-people-results small,.relationship-selected-person small{overflow:hidden;color:var(--color-text-secondary);font-size:var(--type-caption-size);text-overflow:ellipsis;white-space:nowrap}.relationship-search-hint{padding:var(--space-3);color:var(--color-text-secondary);background:var(--color-bg-subtle);border-radius:var(--radius-sm);font-size:var(--type-body-sm-size)}.relationship-selected-person{padding:var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:var(--space-3);background:var(--color-success-bg);border:var(--border-hairline) solid var(--color-success-border);border-radius:var(--radius-md)}.relationship-category-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.relationship-category-choices .ui-choice{padding:var(--space-3);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.relationship-create-category{display:grid;gap:var(--space-5)}.relationship-create-category fieldset{margin:0;padding:0;border:0}.relationship-create-category legend{margin-bottom:var(--space-2);font-size:var(--type-body-sm-size);font-weight:650}.relationship-create-category fieldset>div{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.relationship-create-category fieldset button{min-height:var(--control-lg);display:grid;place-items:center;gap:var(--space-1);color:var(--color-text-secondary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-sm);font:inherit;font-size:var(--type-caption-size)}.relationship-create-category fieldset button.is-selected{color:var(--color-text-link);background:var(--color-action-primary-soft);border-color:var(--color-action-primary)}@media(max-width:839px){.relationship-domain-header{padding-block:var(--space-6) var(--space-5);align-items:start;flex-direction:column}.relationship-domain-header>div:last-child:not(:first-child){width:100%}.relationship-domain-header>div:last-child:not(:first-child) .ui-button{flex:1}.relationship-boundary-note{grid-template-columns:1fr}.relationship-boundary-note>div{grid-template-columns:auto minmax(0,1fr)}.relationship-boundary-note>div+div{border-top:var(--border-hairline) solid var(--color-border-subtle);border-left:0}.relationship-boundary-note a{grid-column:2}.relationship-section-heading{align-items:start;flex-direction:column;gap:var(--space-1)}.relationship-category-list>article{grid-template-columns:1fr}.relationship-category-main{min-height:88px;padding:var(--space-3);grid-template-columns:46px minmax(0,1fr) auto}.relationship-category-icon{width:46px;height:46px}.relationship-category-actions{padding:var(--space-1) var(--space-2);justify-content:flex-end;border-top:var(--border-hairline) solid var(--color-border-subtle);border-left:0}.relationship-people-search{grid-template-columns:1fr}.relationship-people-search .ui-button{width:100%}.relationship-category-choices{grid-template-columns:1fr}}@media(max-width:460px){.relationship-domain-header>div:last-child:not(:first-child){align-items:stretch;flex-direction:column-reverse}.relationship-hidden-categories article{grid-template-columns:42px minmax(0,1fr)}.relationship-hidden-categories article .ui-button{grid-column:1 / -1}}.relationship-back-link{margin-top:var(--space-2);padding-block:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--type-body-sm-size);font-weight:650}.relationship-category-detail-loading{padding-block:var(--space-6);display:grid;gap:var(--space-3)}.relationship-category-hero{margin-block:var(--space-5);min-height:220px;padding:var(--space-8);display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:var(--space-6);color:var(--color-text-primary);background:color-mix(in srgb,var(--category-background) 68%,var(--color-surface-raised));border:var(--border-hairline) solid color-mix(in srgb,var(--category-accent) 32%,var(--color-border-subtle));border-radius:var(--radius-lg)}.relationship-category-hero__icon{width:72px;height:72px;display:grid;place-items:center;color:var(--color-text-on-custom-accent);background:var(--category-accent);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs)}.relationship-category-hero h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-display-sm-size);line-height:var(--type-display-sm-line)}.relationship-category-hero p{margin:0;color:var(--color-text-secondary)}.relationship-category-hero>div:last-child{display:grid;gap:var(--space-2)}.relationship-category-page>.ui-banner{margin-bottom:var(--space-3)}:root[data-mode=dark] .relationship-category-hero{background:color-mix(in srgb,var(--category-background) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--category-accent) 42%,var(--color-border-default))}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .relationship-category-hero{background:color-mix(in srgb,var(--category-background) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--category-accent) 42%,var(--color-border-default))}}.relationship-category-people{padding-block:var(--space-7) var(--space-16)}.relationship-person-list{border-top:var(--border-hairline) solid var(--color-border-subtle)}.relationship-person-list>article{min-width:0;padding:var(--space-5) var(--space-2);display:grid;grid-template-columns:52px minmax(0,1fr) minmax(260px,340px);align-items:center;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.relationship-person-list .user-avatar{width:52px;height:52px}.relationship-person-copy{min-width:0;display:grid;gap:var(--space-1)}.relationship-person-copy strong{font-family:var(--font-display);font-size:var(--type-title-lg-size)}.relationship-person-copy>span{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-person-copy p{max-width:56ch;margin:var(--space-1) 0 0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);text-overflow:ellipsis;white-space:nowrap}.relationship-space-entry{min-width:0;min-height:72px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.relationship-space-entry>span{min-width:0;display:grid;gap:var(--space-0-5)}.relationship-space-entry small{color:var(--color-text-secondary);font-size:var(--type-micro-size);letter-spacing:.06em}.relationship-space-entry strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relationship-space-entry span span{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-space-entry.is-unavailable{color:var(--color-text-secondary);background:var(--color-bg-subtle);border-style:dashed}@media(max-width:839px){.relationship-category-hero{min-height:0;padding:var(--space-5);grid-template-columns:56px minmax(0,1fr);gap:var(--space-4)}.relationship-category-hero__icon{width:56px;height:56px}.relationship-category-hero h1{font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.relationship-category-hero>div:last-child{grid-column:1 / -1;grid-template-columns:1fr 1fr}.relationship-person-list>article{grid-template-columns:48px minmax(0,1fr);padding-block:var(--space-4)}.relationship-person-list .user-avatar{width:48px;height:48px}.relationship-space-entry{grid-column:1 / -1}.relationship-person-copy p{white-space:normal}}.relationship-manage-page>.ui-banner{margin-bottom:var(--space-3)}.relationship-manage-loading{display:grid;gap:var(--space-3)}.relationship-manage-section{padding-bottom:var(--space-10)}.relationship-ledger{display:grid;gap:var(--space-4)}.relationship-ledger-entry{color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.relationship-ledger-person{padding:var(--space-5);display:grid;grid-template-columns:52px minmax(0,1fr) minmax(240px,320px);align-items:center;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.relationship-ledger-person .user-avatar{width:52px;height:52px}.relationship-ledger-person>div{min-width:0}.relationship-ledger-person h3{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-heading-3-size)}.relationship-ledger-person p{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-one-space{min-width:0;min-height:68px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-action-primary-soft);border-radius:var(--radius-md)}.relationship-one-space>span{min-width:0;display:grid;gap:var(--space-0-5)}.relationship-one-space small{color:var(--color-text-secondary);font-size:var(--type-micro-size);letter-spacing:.06em}.relationship-one-space strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relationship-tag-editor{padding:var(--space-5);display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto;align-items:center;gap:var(--space-5)}.relationship-tag-copy{display:grid;gap:var(--space-1)}.relationship-tag-copy p{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.relationship-tag-editor fieldset{min-width:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);border:0}.relationship-tag-editor label{min-height:var(--control-md);padding-inline:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1-5);color:var(--color-text-secondary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-full);font-size:var(--type-body-sm-size);cursor:pointer}.relationship-tag-editor label:has(input:checked){color:var(--color-text-link);background:var(--color-action-primary-soft);border-color:var(--color-action-primary)}.relationship-tag-editor label.is-hidden-category{border-style:dashed}.relationship-tag-editor label small{color:var(--color-text-tertiary);font-size:var(--type-micro-size)}.relationship-tag-editor input{width:16px;height:16px;margin:0;accent-color:var(--color-action-primary)}.relationship-ledger-actions{padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);background:var(--color-bg-subtle);border-top:var(--border-hairline) solid var(--color-border-subtle)}.relationship-ledger-actions p{margin:0;display:grid;gap:var(--space-0-5)}.relationship-ledger-actions p strong{font-size:var(--type-body-sm-size)}.relationship-ledger-actions p span{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-archive{margin-bottom:var(--space-16);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.relationship-archive summary{min-height:68px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);cursor:pointer;list-style:none}.relationship-archive summary::-webkit-details-marker{display:none}.relationship-archive summary>span:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-0-5) var(--space-3)}.relationship-archive summary>span:first-child svg{grid-row:1 / 3;color:var(--color-text-tertiary)}.relationship-archive summary small,.relationship-archive summary>span:last-child{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-archive>div{padding:0 var(--space-3) var(--space-3);display:grid;gap:var(--space-1)}.relationship-archive article{min-height:68px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.relationship-archive article .user-avatar{width:42px;height:42px}.relationship-archive article>span{min-width:0;display:grid;gap:var(--space-0-5)}.relationship-archive article small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.relationship-archive article a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-link);font-size:var(--type-body-sm-size);font-weight:650}.relationship-archive-confirm{padding:var(--space-3);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-warning-bg);border:var(--border-hairline) solid var(--color-warning-border);border-radius:var(--radius-md)}.relationship-archive-confirm svg{color:var(--color-warning-fg)}.relationship-archive-confirm p{margin:0;line-height:var(--type-body-md-line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:839px){.relationship-ledger-person{grid-template-columns:48px minmax(0,1fr);padding:var(--space-4)}.relationship-ledger-person .user-avatar{width:48px;height:48px}.relationship-one-space{grid-column:1 / -1}.relationship-tag-editor{padding:var(--space-4);grid-template-columns:1fr;gap:var(--space-4)}.relationship-tag-editor .ui-button{width:100%}.relationship-ledger-actions{padding:var(--space-4);align-items:stretch;flex-direction:column}.relationship-ledger-actions .ui-button{width:100%}}@media(max-width:460px){.relationship-archive summary>span:last-child{display:none}.relationship-archive article{grid-template-columns:42px minmax(0,1fr)}.relationship-archive article a{grid-column:1 / -1;justify-self:end}}.spaces-index-header{padding-block:var(--space-10) var(--space-8);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-10)}.spaces-index-header h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.spaces-index-header p{max-width:66ch;margin:0;color:var(--color-text-secondary);line-height:var(--type-body-md-line)}.spaces-index-header dl{margin:0;display:flex;gap:var(--space-7)}.spaces-index-header dl div{display:grid;gap:var(--space-0-5)}.spaces-index-header dt{font-family:var(--font-display);font-size:var(--type-heading-2-size);font-weight:700;font-variant-numeric:tabular-nums}.spaces-index-header dd{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size);white-space:nowrap}.spaces-page>.ui-banner{margin-bottom:var(--space-5)}.spaces-index-loading{display:grid;gap:var(--space-3)}.spaces-personal-section{padding-bottom:var(--space-10)}.spaces-section-label{margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.spaces-section-label>span{display:grid;gap:var(--space-0-5)}.spaces-section-label strong{color:var(--color-text-primary);font-size:var(--type-body-sm-size)}.spaces-section-label small{font-size:var(--type-caption-size)}.spaces-personal-entry{min-height:220px;padding:var(--space-7);display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-6);color:var(--color-text-primary);background:color-mix(in srgb,var(--space-wash) 66%,var(--color-surface-raised));border:var(--border-hairline) solid color-mix(in srgb,var(--space-accent) 30%,var(--color-border-subtle));border-radius:var(--radius-lg)}.spaces-entry-mark{width:52px;height:52px;display:grid;place-items:center;color:var(--color-text-on-custom-accent);background:var(--space-accent, var(--color-action-primary));border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-xs)}.spaces-personal-entry>.spaces-entry-mark{width:64px;height:64px}.spaces-personal-copy,.spaces-shared-copy{min-width:0;display:grid;gap:var(--space-1)}.spaces-personal-copy small,.spaces-shared-copy small{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.08em}.spaces-personal-copy strong{font-family:var(--font-display);font-size:var(--type-display-sm-size);line-height:var(--type-display-sm-line)}.spaces-personal-copy>span,.spaces-shared-copy>span{color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.spaces-stat-strip{display:flex;align-items:center}.spaces-stat-strip>span{min-width:82px;padding-inline:var(--space-4);display:grid;gap:var(--space-0-5);color:var(--color-text-secondary);border-left:var(--border-hairline) solid color-mix(in srgb,var(--space-accent) 28%,var(--color-border-subtle));font-size:var(--type-caption-size)}.spaces-stat-strip b{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-heading-2-size);font-variant-numeric:tabular-nums}.spaces-shared-section{padding-bottom:var(--space-10)}.spaces-shared-list{border-top:var(--border-hairline) solid var(--color-border-subtle)}.spaces-shared-entry{min-height:112px;padding:var(--space-4) var(--space-2);display:grid;grid-template-columns:52px minmax(0,1fr) auto 24px;align-items:center;gap:var(--space-4);color:var(--color-text-primary);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.spaces-shared-entry:hover{background:var(--color-bg-subtle)}.spaces-shared-copy strong{overflow:hidden;font-family:var(--font-display);font-size:var(--type-heading-3-size);text-overflow:ellipsis;white-space:nowrap}.spaces-shared-stats{display:flex;align-items:center;gap:var(--space-5);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.spaces-shared-stats>span{display:inline-flex;align-items:center;gap:var(--space-1-5);white-space:nowrap}.spaces-archive{margin-bottom:var(--space-16);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.spaces-archive summary{min-height:68px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);list-style:none;cursor:pointer}.spaces-archive summary::-webkit-details-marker{display:none}.spaces-archive summary>span:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-0-5) var(--space-3)}.spaces-archive summary svg{grid-row:1 / 3;color:var(--color-text-tertiary)}.spaces-archive summary small,.spaces-archive summary>span:last-child{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.spaces-archive>div{padding:0 var(--space-3) var(--space-3);display:grid;gap:var(--space-1)}.spaces-archive>div>a{min-height:68px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text-primary);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.spaces-archive .spaces-entry-mark{width:42px;height:42px;color:var(--color-text-tertiary);background:var(--color-surface-default)}.spaces-archive a>span:nth-child(2){min-width:0;display:grid;gap:var(--space-0-5)}.spaces-archive a small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}:root[data-mode=dark] .spaces-personal-entry{background:color-mix(in srgb,var(--space-wash) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--space-accent) 38%,var(--color-border-default))}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .spaces-personal-entry{background:color-mix(in srgb,var(--space-wash) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--space-accent) 38%,var(--color-border-default))}}@media(max-width:960px){.spaces-index-header{grid-template-columns:1fr;gap:var(--space-5)}.spaces-personal-entry{grid-template-columns:64px minmax(0,1fr) auto}.spaces-stat-strip{grid-column:1 / -1}.spaces-stat-strip>span:first-child{border-left:0;padding-left:0}}@media(max-width:700px){.spaces-index-header{padding-block:var(--space-6)}.spaces-index-header dl{width:100%;justify-content:space-between;gap:var(--space-3)}.spaces-personal-entry{min-height:0;padding:var(--space-5);grid-template-columns:52px minmax(0,1fr) auto;gap:var(--space-3)}.spaces-personal-entry>.spaces-entry-mark{width:52px;height:52px}.spaces-personal-copy strong{font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-line)}.spaces-stat-strip>span{min-width:0;flex:1;padding-inline:var(--space-3)}.spaces-stat-strip b{font-size:var(--type-heading-3-size)}.spaces-shared-entry{grid-template-columns:46px minmax(0,1fr) auto}.spaces-shared-entry .spaces-entry-mark{width:46px;height:46px}.spaces-shared-stats{grid-column:2 / -1;justify-content:flex-start;gap:var(--space-3)}.spaces-shared-entry>svg{grid-column:3;grid-row:1}}@media(max-width:460px){.spaces-stat-strip>span{padding-inline:var(--space-2)}.spaces-shared-stats{display:grid;grid-template-columns:repeat(3,auto)}.spaces-archive summary>span:last-child{display:none}}.space-detail-loading{padding-top:var(--space-5);display:grid;gap:var(--space-4)}.space-detail-loading>div{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5)}.space-detail-page>.ui-banner{margin-bottom:var(--space-4)}.space-detail-hero{position:relative;min-height:330px;margin-block:var(--space-3) var(--space-6);padding:var(--space-10);display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:end;align-items:end;gap:var(--space-8);color:var(--color-text-primary);background:color-mix(in srgb,var(--space-background) 70%,var(--color-surface-raised));border:var(--border-hairline) solid color-mix(in srgb,var(--space-primary) 30%,var(--color-border-subtle));border-radius:var(--radius-lg);overflow:hidden}.space-detail-hero:after{content:"";position:absolute;width:270px;height:270px;top:-120px;right:-70px;background:var(--space-primary);border-radius:50%;opacity:.1;pointer-events:none}.space-detail-hero.has-background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--space-image);background-position:center;background-size:cover;filter:brightness(var(--space-brightness, 100%));transform:scale(1.01)}.space-detail-hero.has-background:after{top:0;right:0;bottom:0;left:0;width:auto;height:auto;background:linear-gradient(90deg,color-mix(in srgb,#171316 66%,transparent),color-mix(in srgb,#171316 30%,transparent));border-radius:0;opacity:1}.space-detail-hero.has-background{color:var(--color-text-on-custom-accent);border-color:transparent}.space-detail-hero.is-archived{filter:saturate(.55)}.space-detail-hero__copy,.space-detail-stats,.space-detail-appearance{position:relative;z-index:1}.space-detail-hero__copy{max-width:720px}.space-detail-hero__copy .memory-kicker{color:currentColor;opacity:.78}.space-detail-hero h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-display-lg-size);line-height:var(--type-display-lg-line)}.space-detail-hero__copy p{max-width:62ch;margin:0;color:currentColor;line-height:var(--type-body-md-line);opacity:.78}.space-detail-stats{grid-column:1;margin:0;display:flex;align-items:center}.space-detail-stats>div{min-width:110px;padding-inline:var(--space-5);display:grid;gap:var(--space-0-5);border-left:var(--border-hairline) solid currentColor}.space-detail-stats>div:first-child{padding-left:0;border-left:0}.space-detail-stats dt{font-family:var(--font-display);font-size:var(--type-heading-1-size);font-weight:700;font-variant-numeric:tabular-nums}.space-detail-stats dd{margin:0;font-size:var(--type-caption-size);opacity:.72}.space-detail-appearance{grid-column:2;grid-row:2}.space-detail-layout{padding-bottom:var(--space-16);display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:var(--space-8)}.space-detail-timeline{min-width:0}.space-timeline-list{border-top:var(--border-hairline) solid var(--color-border-subtle)}.space-timeline-entry{display:grid;grid-template-columns:116px minmax(0,1fr);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.space-timeline-entry>time{padding:var(--space-5) var(--space-4) var(--space-5) 0;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.04em}.space-timeline-entry>a{min-width:0;padding:var(--space-5) 0 var(--space-5) var(--space-4);display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);color:var(--color-text-primary);border-left:var(--border-hairline) solid var(--color-border-subtle)}.space-timeline-entry>a:hover{background:var(--color-bg-subtle)}.space-timeline-cover{width:160px;height:112px;min-height:112px;overflow:hidden;border-radius:var(--radius-md)}.space-timeline-cover img,.space-timeline-cover video{width:100%;height:100%;min-height:0;object-fit:cover}.space-timeline-entry>a>span{min-width:0;display:grid;gap:var(--space-1)}.space-timeline-entry small{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.06em}.space-timeline-entry strong{font-family:var(--font-display);font-size:var(--type-heading-3-size)}.space-timeline-entry p{margin:0;display:-webkit-box;overflow:hidden;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);-webkit-box-orient:vertical;-webkit-line-clamp:2}.space-detail-rail{display:grid;gap:var(--space-4)}.space-rail-section{padding:var(--space-5);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.space-rail-heading{margin-bottom:var(--space-4);display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.space-rail-heading>span{width:36px;height:36px;display:grid;place-items:center;color:var(--space-primary);background:color-mix(in srgb,var(--space-primary) 12%,var(--color-surface-default));border-radius:var(--radius-sm)}.space-rail-heading>div{display:grid;gap:var(--space-0-5)}.space-rail-heading small{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.06em}.space-rail-heading h2{margin:0;font-family:var(--font-display);font-size:var(--type-title-lg-size)}.space-member-list{display:grid;gap:var(--space-2)}.space-member-list>div{min-height:48px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:var(--space-3)}.space-member-list .user-avatar{width:40px;height:40px}.space-member-list>div>span{display:grid;gap:var(--space-0-5)}.space-member-list small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.space-anniversary-list,.space-event-list,.space-message-list{display:grid;gap:var(--space-2)}.space-anniversary-list article{min-height:64px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.space-anniversary-list time{width:48px;height:48px;display:grid;place-content:center;color:var(--color-text-on-custom-accent);background:var(--space-primary);border-radius:var(--radius-sm);text-align:center}.space-anniversary-list time b{font-size:var(--type-title-lg-size);line-height:1}.space-anniversary-list time span{margin-top:var(--space-0-5);font-size:var(--type-micro-size)}.space-anniversary-list article>div:nth-child(2){min-width:0}.space-anniversary-list article>div:nth-child(2) strong{display:block;overflow:hidden;font-size:var(--type-body-sm-size);text-overflow:ellipsis;white-space:nowrap}.space-anniversary-list p{margin:var(--space-0-5) 0 0;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.space-anniversary-actions{display:flex}.space-rail-empty{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.space-event-list a{min-height:54px;padding-block:var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-primary);border-top:var(--border-hairline) solid var(--color-border-subtle)}.space-event-list a>span{min-width:0;display:grid;gap:var(--space-1)}.space-event-list small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.space-message-list article{padding:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.space-message-list strong{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--type-caption-size)}.space-message-list time{color:var(--color-text-tertiary);font-weight:500}.space-message-list p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.space-message-compose{margin-top:var(--space-3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.space-message-compose input{min-width:0;min-height:var(--control-md);padding-inline:var(--space-3);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-sm)}.space-anniversary-form{display:grid;gap:var(--space-4)}.space-anniversary-form .ui-choice{padding:var(--space-3);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.space-appearance-form{display:grid;gap:var(--space-4)}.space-appearance-form .space-theme-presets,.space-appearance-form .space-color-grid,.space-appearance-form .space-range-grid{margin:0}:root[data-mode=dark] .space-detail-hero:not(.has-background){background:color-mix(in srgb,var(--space-background) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--space-primary) 42%,var(--color-border-default))}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .space-detail-hero:not(.has-background){background:color-mix(in srgb,var(--space-background) 12%,var(--color-surface-raised));border-color:color-mix(in srgb,var(--space-primary) 42%,var(--color-border-default))}}@media(max-width:960px){.space-detail-loading>div,.space-detail-layout{grid-template-columns:1fr}.space-detail-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.space-detail-rail>.ui-button{grid-column:1 / -1}}@media(max-width:700px){.space-detail-hero{min-height:280px;padding:var(--space-5);grid-template-columns:1fr;gap:var(--space-5)}.space-detail-hero h1{font-size:var(--type-display-sm-size);line-height:var(--type-display-sm-line)}.space-detail-stats{grid-column:1}.space-detail-stats>div{min-width:0;flex:1;padding-inline:var(--space-3)}.space-detail-stats dt{font-size:var(--type-heading-2-size)}.space-detail-appearance{grid-column:1;grid-row:auto;width:100%}.space-detail-layout{gap:var(--space-6)}.space-timeline-entry{grid-template-columns:1fr;padding-block:var(--space-4)}.space-timeline-entry>time{padding:0 0 var(--space-2)}.space-timeline-entry>a{padding:0;grid-template-columns:112px minmax(0,1fr) auto;border-left:0}.space-timeline-cover{width:112px;height:88px;min-height:88px}.space-detail-rail{grid-template-columns:1fr}}@media(max-width:460px){.space-detail-hero{margin-inline:calc(var(--page-gutter) * -1);border-inline:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.space-timeline-entry>a{grid-template-columns:92px minmax(0,1fr)}.space-timeline-entry>a>svg{display:none}.space-timeline-cover{width:92px;height:82px;min-height:82px}.space-anniversary-actions{grid-column:2 / -1;justify-content:flex-end}}.event-detail-loading{display:grid;gap:var(--space-4)}.event-detail-hero{min-height:290px;margin-block:var(--space-3) var(--space-8);padding:var(--space-9);display:grid;grid-template-columns:64px minmax(0,1fr) minmax(240px,340px);align-items:center;gap:var(--space-6);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.event-detail-mark{width:64px;height:64px;display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs)}.event-detail-hero>div{min-width:0}.event-detail-hero h1{margin:var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-display-sm-size);line-height:var(--type-display-sm-line)}.event-detail-hero p{max-width:58ch;margin:0;color:var(--color-text-secondary);line-height:var(--type-body-md-line)}.event-detail-hero dl{margin:0;padding-left:var(--space-6);display:grid;gap:var(--space-5);border-left:var(--border-hairline) solid var(--color-border-subtle)}.event-detail-hero dl div{display:grid;gap:var(--space-1)}.event-detail-hero dt{color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.event-detail-hero dd{margin:0;display:flex;align-items:center;gap:var(--space-1);font-size:var(--type-body-sm-size);font-weight:650}.event-memory-section{padding-bottom:var(--space-16)}@media(max-width:839px){.event-detail-hero{min-height:0;padding:var(--space-6);grid-template-columns:56px minmax(0,1fr)}.event-detail-mark{width:56px;height:56px}.event-detail-hero dl{grid-column:1 / -1;padding:var(--space-4) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));border-top:var(--border-hairline) solid var(--color-border-subtle);border-left:0}}@media(max-width:520px){.event-detail-hero{padding:var(--space-5);grid-template-columns:1fr}.event-detail-hero h1{font-size:var(--type-heading-1-size);line-height:var(--type-heading-1-line)}.event-detail-hero dl{grid-template-columns:1fr}}.friends-page>.ui-banner{margin-bottom:var(--space-3)}.friends-page .memo-id-card{margin-bottom:var(--space-7);padding:var(--space-5) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-6);background:transparent;border:0;border-block:var(--border-hairline) solid var(--color-border-subtle);border-radius:0;box-shadow:none}.friends-page .memo-id-card:after{display:none}.friends-page .memo-id-card strong{display:block;margin-top:var(--space-1);font-family:var(--font-display);font-size:var(--type-display-sm-size);letter-spacing:.12em;font-variant-numeric:tabular-nums}.friends-page .memo-id-card p{max-width:66ch;margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.friends-page .friend-workbench{margin-bottom:var(--space-10);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:var(--space-4)}.friends-page .friend-add-panel,.friends-page .request-panel{padding:var(--space-6);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.friends-page .friend-workbench h2{margin:var(--space-1) 0;font-family:var(--font-display);font-size:var(--type-heading-2-size)}.friends-page .friend-workbench section>p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.friends-page .memo-id-search{margin-top:var(--space-4);border-color:var(--color-border-default);background:var(--color-surface-default);border-radius:var(--radius-sm)}.friends-page .memo-id-search button{color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.friends-page .friend-search-results article{background:var(--color-bg-subtle);border-color:var(--color-border-subtle);border-radius:var(--radius-sm)}.friends-page .request-tabs{background:var(--color-bg-subtle);border-color:var(--color-border-subtle);border-radius:var(--radius-sm)}.friends-page .request-tabs button{border-radius:var(--radius-xs)}.friends-page .request-tabs button.active{color:var(--color-text-primary);background:var(--color-surface-raised);box-shadow:none}.friends-page .request-count{color:var(--color-text-inverse);background:var(--color-action-primary)}.friends-page .section-heading{margin-bottom:var(--space-3)}.friends-page .friend-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:var(--border-hairline) solid var(--color-border-subtle)}.friends-page .friend-card{min-width:0;min-height:124px;padding:var(--space-4) var(--space-2);display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:var(--space-2) var(--space-4);background:transparent;border:0;border-bottom:var(--border-hairline) solid var(--color-border-subtle);border-radius:0;box-shadow:none}.friends-page .friend-card-head{grid-row:1 / 3;align-self:center}.friends-page .friend-avatar.large{width:58px;height:58px;box-shadow:none}.friends-page .friend-card-head>i{left:44px;border-color:var(--color-bg-canvas)}.friends-page .friend-card-copy{min-width:0;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:var(--space-1) var(--space-3)}.friends-page .friend-card-copy h3{margin:0;font-family:var(--font-display);font-size:var(--type-heading-3-size)}.friends-page .friend-card-copy .original-name,.friends-page .friend-card-copy .friend-memo-id{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.friends-page .friend-card-copy .friend-bio{grid-column:1 / -1;min-height:0;margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.friends-page .friend-permissions{min-height:0;margin:0;display:flex;gap:var(--space-2)}.friends-page .friend-permissions span{color:var(--color-text-secondary);background:var(--color-bg-subtle);border-radius:var(--radius-full)}.friends-page .friend-card-actions{grid-column:3;grid-row:1 / 3;display:flex;align-items:center;gap:var(--space-1)}.friend-list-loading{display:grid;gap:var(--space-2)}.friend-settings-form,.friend-relationship-form{display:grid;gap:var(--space-4)}.friend-settings-form .ui-choice{padding:var(--space-3);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md)}.friend-danger-actions{padding-top:var(--space-3);display:flex;gap:var(--space-2);border-top:var(--border-hairline) solid var(--color-border-subtle)}.friend-danger-actions .ui-button{color:var(--color-danger-fg)}@media(max-width:839px){.friends-page .friend-workbench{grid-template-columns:1fr}.friends-page .friend-card{grid-template-columns:56px minmax(0,1fr)}.friends-page .friend-card-head{grid-row:1}.friends-page .friend-avatar.large{width:52px;height:52px}.friends-page .friend-card-head>i{left:39px}.friends-page .friend-permissions{grid-column:2}.friends-page .friend-card-actions{grid-column:1 / -1;grid-row:auto;justify-content:flex-end}}@media(max-width:520px){.friends-page .memo-id-card{grid-template-columns:1fr}.friends-page .memo-id-card .ui-button{width:100%}.friends-page .friend-add-panel,.friends-page .request-panel{padding:var(--space-4)}.friends-page .friend-card-copy{grid-template-columns:1fr;gap:var(--space-0-5)}.friends-page .friend-card-copy .friend-bio{margin-top:var(--space-1)}.friends-page .friend-permissions{grid-column:1 / -1}.friends-page .friend-card-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr auto}}.chat-page{min-height:calc(100dvh - 210px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:none}.chat-page .chat-header{min-height:84px;padding:var(--space-3) var(--space-4);gap:var(--space-3);background:var(--color-surface-raised);border-color:var(--color-border-subtle)}.chat-page .chat-person h1{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-title-lg-size)}.chat-page .chat-person span{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.chat-page .chat-person i{background:var(--color-text-tertiary)}.chat-page .chat-person i.online{background:var(--color-success-fg)}.chat-page .chat-header-actions{display:flex;align-items:center;gap:var(--space-1)}.chat-page>.ui-banner{margin:var(--space-3) var(--space-4) 0}.chat-page .chat-messages{min-height:460px;max-height:calc(100dvh - 360px);padding:var(--space-6);background:var(--color-bg-subtle);scroll-behavior:smooth}.chat-loading{display:flex;flex-direction:column;gap:var(--space-3)}.chat-loading>:nth-child(2n){align-self:flex-end}.chat-page .load-older{margin:0 auto var(--space-4);display:block;padding:var(--space-2) var(--space-3);color:var(--color-text-link);background:transparent;border:0;font-size:var(--type-caption-size);font-weight:650}.chat-page .chat-message{margin:var(--space-2) 0}.chat-page .chat-bubble{max-width:min(620px,74%);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-xs) var(--radius-md) var(--radius-md) var(--radius-md);box-shadow:none}.chat-page .chat-message.mine .chat-bubble{color:var(--color-text-inverse);background:var(--color-action-primary);border-color:transparent;border-radius:var(--radius-md) var(--radius-xs) var(--radius-md) var(--radius-md)}.chat-page .chat-message.failed .chat-bubble{color:var(--color-danger-fg);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.chat-page .chat-bubble p{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line)}.chat-page .chat-bubble small{color:var(--color-text-secondary);font-size:var(--type-micro-size)}.chat-page .chat-message.mine .chat-bubble small{color:currentColor;opacity:.76}.chat-page .chat-message.failed .chat-bubble small{color:var(--color-danger-fg);opacity:1}.chat-page .chat-bubble>button{margin-top:var(--space-2);padding:0;color:var(--color-danger-fg);background:transparent;border:0;font:inherit;font-size:var(--type-caption-size);font-weight:700;text-decoration:underline;text-underline-offset:3px}.chat-page .chat-empty{color:var(--color-text-secondary)}.chat-page .chat-empty h2{color:var(--color-text-primary);font-family:var(--font-display)}.chat-page .chat-composer{padding:var(--space-3);grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);background:var(--color-surface-raised);border-color:var(--color-border-subtle)}.chat-page .chat-composer textarea{min-height:var(--control-lg);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);background:var(--color-surface-default);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.chat-page .chat-composer button{min-width:92px;color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-md)}@media(max-width:839px){.chat-page{height:calc(100dvh - 120px - var(--safe-top) - var(--safe-bottom) - var(--space-5));min-height:0;margin-top:calc(var(--space-2) * -1);border-inline:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.chat-page .chat-header{min-height:70px;padding:var(--space-2)}.chat-page .chat-header>.friend-avatar{width:40px;height:40px}.chat-page .chat-header-actions .ui-button{display:none}.chat-page .chat-messages{min-height:0;max-height:none;padding:var(--space-4) var(--space-3)}.chat-page .chat-bubble{max-width:86%}.chat-page .chat-composer{padding:var(--space-2) var(--space-2) max(var(--space-2),env(safe-area-inset-bottom))}.chat-page .chat-composer button{min-width:var(--control-lg)}.chat-page .chat-composer button span{display:none}}.notifications-page>.ui-banner{margin-bottom:var(--space-4)}.notification-summary{display:flex;align-items:center;gap:var(--space-6)}.notification-summary>span{display:grid;gap:var(--space-0-5);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.notification-summary strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-heading-2-size);font-variant-numeric:tabular-nums}.notification-loading{display:grid;gap:var(--space-2)}.notifications-page .notification-tabs{margin:0 0 var(--space-8);display:flex;gap:var(--space-1);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.notifications-page .notification-tabs button{min-height:var(--control-md);padding-inline:var(--space-4);color:var(--color-text-secondary);background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;font-size:var(--type-body-sm-size);font-weight:650}.notifications-page .notification-tabs button.active{color:var(--color-text-primary);border-bottom-color:var(--color-action-primary);box-shadow:none}.notifications-page .notification-tabs span{margin-left:var(--space-1);padding:1px var(--space-1-5);color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-full);font-size:var(--type-micro-size);font-variant-numeric:tabular-nums}.notification-invitation-list{margin-bottom:var(--space-10);display:grid;gap:var(--space-3)}.notification-invitation-list article{min-height:104px;padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:var(--space-4);background:var(--color-action-primary-soft);border:var(--border-emphasis) solid color-mix(in srgb,var(--color-action-primary) 35%,var(--color-border-default));border-radius:var(--radius-md)}.notification-invitation-list .notification-avatar{width:48px;height:48px}.notification-invitation-list h3{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-title-lg-size)}.notification-invitation-list p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.notification-invitation-list .invitation-actions{display:flex;gap:var(--space-2)}.notification-history{padding-bottom:var(--space-12)}.notification-groups{display:grid;gap:var(--space-7)}.notification-groups>section>h3{margin:0 0 var(--space-2);color:var(--color-text-tertiary);font-size:var(--type-caption-size);font-weight:650}.notifications-page .notification-list{display:grid;border-top:var(--border-hairline) solid var(--color-border-subtle)}.notifications-page .notification-list article{position:relative;min-height:86px;padding:var(--space-3) var(--space-2);display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.notifications-page .notification-list article.unread:before{content:"";position:absolute;left:calc(var(--space-2) * -1);width:5px;height:5px;background:var(--color-action-primary);border-radius:50%}.notifications-page .notification-list article.actionable{cursor:pointer}.notifications-page .notification-list article.actionable:hover{background:var(--color-bg-subtle)}.notifications-page .notification-list .notification-avatar{width:44px;height:44px;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:50%}.notifications-page .notification-list h4{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-body-md-size)}.notifications-page .notification-list p{margin:0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.notifications-page .notification-list time{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size);white-space:nowrap}.notifications-page .report-history-list{display:grid;border-top:var(--border-hairline) solid var(--color-border-subtle)}.notifications-page .report-history-item{min-height:92px;padding:var(--space-4) var(--space-2);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);background:transparent;border:0;border-bottom:var(--border-hairline) solid var(--color-border-subtle);border-radius:0}.notifications-page .report-history-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--color-warning-fg);background:var(--color-warning-bg);border-radius:var(--radius-sm)}.notifications-page .report-history-icon.resolved{color:var(--color-success-fg);background:var(--color-success-bg)}.notifications-page .report-history-icon.dismissed{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.notifications-page .report-history-title{display:flex;align-items:center;gap:var(--space-2)}.notifications-page .report-history-title h3{margin:0;font-family:var(--font-display);font-size:var(--type-body-md-size)}.notifications-page .report-history-title span{padding:var(--space-0-5) var(--space-2);color:var(--color-warning-fg);background:var(--color-warning-bg);border-radius:var(--radius-full);font-size:var(--type-micro-size)}.notifications-page .report-history-title span.resolved{color:var(--color-success-fg);background:var(--color-success-bg)}.notifications-page .report-history-title span.dismissed{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.notifications-page .report-history-item p{margin:var(--space-1) 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.notifications-page .report-history-item small{color:var(--color-text-primary);font-size:var(--type-caption-size)}.notifications-page .report-history-item time{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size)}@media(max-width:700px){.notification-summary{width:100%}.notifications-page .notification-tabs button{flex:1;padding-inline:var(--space-2)}.notification-invitation-list article{padding:var(--space-4);grid-template-columns:44px minmax(0,1fr)}.notification-invitation-list .notification-avatar{width:44px;height:44px}.notification-invitation-list .invitation-actions{grid-column:2}.notification-invitation-list .invitation-actions .ui-button{flex:1}.notifications-page .notification-list article{grid-template-columns:40px minmax(0,1fr) auto}.notifications-page .notification-list .notification-avatar{width:40px;height:40px}.notifications-page .notification-list time{grid-column:2}.notifications-page .notification-list article>svg{grid-column:3;grid-row:1 / 3}.notifications-page .report-history-item{grid-template-columns:40px minmax(0,1fr)}.notifications-page .report-history-item time{grid-column:2}.notifications-page .report-history-title{align-items:start;justify-content:space-between}}.reminders-page>.ui-banner{margin-bottom:var(--space-4)}.reminder-heading{grid-template-columns:minmax(0,1fr) auto auto}.reminder-summary{display:flex;align-items:center;gap:var(--space-6)}.reminder-summary>span{display:grid;gap:var(--space-0-5);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.reminder-summary strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-heading-2-size);font-variant-numeric:tabular-nums}.reminders-page .reminder-principle{margin-bottom:var(--space-7);padding:var(--space-3) var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.reminders-page .reminder-principle>svg{flex:0 0 auto;margin-top:2px;color:var(--color-text-primary)}.reminders-page .reminder-principle strong{display:block;margin-bottom:var(--space-1);color:var(--color-text-primary);font-size:var(--type-body-sm-size)}.reminders-page .reminder-principle p{margin:0;font-size:var(--type-caption-size);line-height:var(--type-body-sm-line)}.reminder-toolbar{margin-bottom:var(--space-7);display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.reminder-filters{display:flex;align-items:end;gap:var(--space-1)}.reminder-filters button{min-height:var(--control-md);padding-inline:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;font-size:var(--type-body-sm-size);font-weight:650}.reminder-filters button.active{color:var(--color-text-primary);border-bottom-color:var(--color-action-primary)}.reminder-filters button span{min-width:19px;padding:1px var(--space-1);color:var(--color-text-inverse);background:var(--color-action-primary);border-radius:var(--radius-full);font-size:var(--type-micro-size);font-variant-numeric:tabular-nums}.reminder-quick-create{padding-bottom:var(--space-1);display:flex;gap:var(--space-1)}.reminder-loading{display:grid;gap:var(--space-2)}.reminder-timeline{position:relative;margin:0;padding:0 0 var(--space-12);list-style:none}.reminder-timeline:before{content:"";position:absolute;top:25px;bottom:var(--space-12);left:96px;width:1px;background:var(--color-border-subtle)}.reminder-timeline>li{position:relative;min-height:122px;padding:var(--space-4) 0;display:grid;grid-template-columns:78px 38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.reminder-timeline>li:has(.reminder-image){grid-template-columns:78px 38px 68px minmax(0,1fr) auto}.reminder-timeline>li.is-pending{background:linear-gradient(90deg,var(--color-action-primary-soft),transparent 46%)}.reminder-timeline>li.is-completed{opacity:.68}.reminder-timeline>li.is-overdue .reminder-marker{color:var(--color-warning-fg);background:var(--color-warning-bg)}.reminder-date-block{display:grid;justify-items:start;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.reminder-date-block b{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-heading-2-size);line-height:1}.reminder-date-block span{margin-top:var(--space-1);font-size:var(--type-caption-size)}.reminder-date-block small{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-micro-size)}.reminder-marker{z-index:1;width:38px;height:38px;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:50%}.reminder-timeline .reminder-image{grid-column:3;width:68px;height:68px;object-fit:cover;border-radius:var(--radius-sm)}.reminders-page .reminder-copy{grid-column:3;min-width:0}.reminder-timeline>li:has(.reminder-image) .reminder-copy{grid-column:4}.reminder-meta{margin-bottom:var(--space-1);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);color:var(--color-text-tertiary);font-size:var(--type-micro-size);font-weight:650;letter-spacing:.02em}.reminder-meta .is-emphasis{color:var(--color-text-link)}.reminder-meta .is-warning{color:var(--color-warning-fg)}.reminders-page .reminder-copy h2{margin:0;font-family:var(--font-display);font-size:var(--type-title-lg-size);line-height:var(--type-title-lg-line)}.reminders-page .reminder-copy p{margin:var(--space-1) 0;max-width:62ch;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.reminders-page .reminder-copy>small{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.reminders-page .reminder-actions{grid-column:4;justify-self:end;display:flex;align-items:center;justify-content:end;gap:var(--space-1)}.reminder-timeline>li:has(.reminder-image) .reminder-actions{grid-column:5}.completed-label{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-success-fg);font-size:var(--type-caption-size);font-weight:650}.reminder-form{display:grid;gap:var(--space-5)}.reminder-mode-picker{margin:0;padding:0;border:0}.reminder-mode-picker legend{margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--type-caption-size);font-weight:650}.reminder-mode-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.reminder-mode-picker button{min-height:82px;padding:var(--space-3);display:grid;align-content:center;gap:var(--space-1);text-align:left;color:var(--color-text-secondary);background:var(--color-bg-surface);border:0;border-right:var(--border-hairline) solid var(--color-border-default);font:inherit}.reminder-mode-picker button:last-child{border-right:0}.reminder-mode-picker button.active{color:var(--color-text-primary);background:var(--color-action-primary-soft);box-shadow:inset 0 -3px var(--color-action-primary)}.reminder-mode-picker b{font-size:var(--type-body-sm-size)}.reminder-mode-picker small{color:inherit;font-size:var(--type-micro-size);line-height:1.45}.reminder-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.reminder-note-field{grid-column:1 / -1}.reminder-image-picker{min-height:72px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-bg-subtle);border:var(--border-hairline) dashed var(--color-border-strong);border-radius:var(--radius-md);font:inherit;cursor:pointer}.reminder-image-picker>svg{color:var(--color-text-link)}.reminder-image-picker span{display:grid;gap:var(--space-0-5);text-align:left}.reminder-image-picker b{color:var(--color-text-primary);font-size:var(--type-body-sm-size)}.reminder-image-picker small{font-size:var(--type-caption-size)}.reminder-image-picker input{position:absolute;width:1px;height:1px;opacity:0}.reminder-form .privacy-note{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-tertiary);font-size:var(--type-caption-size)}@media(max-width:900px){.reminder-heading{grid-template-columns:minmax(0,1fr) auto}.reminder-heading>.ui-button{grid-column:1 / -1;justify-self:start}.reminder-toolbar{align-items:stretch;flex-direction:column}.reminder-quick-create{overflow-x:auto}.reminder-timeline>li,.reminder-timeline>li:has(.reminder-image){grid-template-columns:66px 38px minmax(0,1fr)}.reminder-timeline:before{left:84px}.reminder-timeline .reminder-image{display:none}.reminders-page .reminder-copy,.reminder-timeline>li:has(.reminder-image) .reminder-copy{grid-column:3}.reminders-page .reminder-actions{grid-column:3;justify-self:start;flex-wrap:wrap}.reminder-timeline>li:has(.reminder-image) .reminder-actions{grid-column:3}}@media(max-width:640px){.reminder-summary{width:100%}.reminder-heading>.ui-button{width:100%}.reminder-filters{width:100%;overflow-x:auto}.reminder-filters button{flex:1 0 auto;padding-inline:var(--space-3)}.reminder-quick-create .ui-button{flex:0 0 auto}.reminder-timeline:before{left:54px}.reminder-timeline>li{padding-block:var(--space-5);grid-template-columns:42px 26px minmax(0,1fr);align-items:start;gap:var(--space-2)}.reminder-date-block b{font-size:var(--type-title-lg-size)}.reminder-date-block span{font-size:var(--type-micro-size)}.reminder-date-block small{display:none}.reminder-marker{width:28px;height:28px}.reminder-marker svg{width:15px;height:15px}.reminders-page .reminder-copy h2{font-size:var(--type-body-lg-size)}.reminders-page .reminder-actions{grid-column:3;width:100%}.reminder-actions .ui-button{flex:1 1 auto}.reminder-mode-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-mode-picker button:nth-child(2){border-right:0}.reminder-mode-picker button:nth-child(-n+2){border-bottom:var(--border-hairline) solid var(--color-border-default)}.reminder-form-grid{grid-template-columns:1fr}.reminder-note-field{grid-column:auto}}.explore-page>.ui-banner,.user-profile-page>.ui-banner{margin-bottom:var(--space-4)}.explore-heading{grid-template-columns:minmax(0,1fr) minmax(320px,430px);align-items:end}.explore-search{display:grid;gap:var(--space-1)}.explore-search>label{color:var(--color-text-secondary);font-size:var(--type-caption-size);font-weight:650}.explore-search>div{min-height:var(--control-lg);padding-left:var(--space-3);display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg-surface);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.explore-search>div:focus-within{border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.explore-search input{min-width:0;flex:1;color:var(--color-text-primary);background:transparent;border:0;outline:0;font:inherit}.explore-search input::placeholder{color:var(--color-text-tertiary)}.explore-people{margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.explore-people>.ui-banner{margin-bottom:var(--space-3)}.explore-people-loading{display:grid;gap:var(--space-2)}.explore-people-list{display:grid;border-top:var(--border-hairline) solid var(--color-border-subtle)}.explore-people-list article{min-height:96px;padding:var(--space-3) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.explore-person-identity{min-width:0;flex:1;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:inherit;text-align:left;background:transparent;border:0;font:inherit}.explore-person-identity .user-avatar{width:52px;height:52px;color:var(--color-text-link);background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:50%;font-weight:700}.explore-person-identity>span{min-width:0;display:grid;gap:var(--space-0-5)}.explore-person-identity strong{font-family:var(--font-display);font-size:var(--type-title-lg-size)}.explore-person-identity small{color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.explore-person-identity em{overflow:hidden;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.explore-person-identity>svg{color:var(--color-text-tertiary)}.explore-person-actions{flex:0 0 auto;display:flex;gap:var(--space-1)}.explore-feed{padding-bottom:var(--space-12)}.explore-feed-heading{margin-bottom:var(--space-5);display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.explore-feed-heading h2{margin:var(--space-1) 0 var(--space-3);font-family:var(--font-display);font-size:var(--type-heading-2-size)}.explore-feed-tabs{display:flex;align-items:end}.explore-feed-tabs button{min-height:var(--control-md);padding-inline:var(--space-4);color:var(--color-text-secondary);background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;font-size:var(--type-body-sm-size);font-weight:650}.explore-feed-tabs button.active{color:var(--color-text-primary);border-bottom-color:var(--color-action-primary)}.explore-feed-loading,.explore-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-5)}.user-profile-loading{display:grid;gap:var(--space-5)}.user-profile-loading>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.user-profile-hero{margin-bottom:var(--space-7);padding:var(--space-6) 0 var(--space-7);display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:var(--space-6);border-bottom:var(--border-hairline) solid var(--color-border-default)}.user-profile-portrait .user-avatar{width:120px;height:120px;color:var(--color-text-link);background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:50%;font-size:var(--type-heading-1-size);font-weight:700}.user-profile-identity h1{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--type-display-size);line-height:var(--type-display-line)}.user-profile-handle{margin:0;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--type-caption-size)}.user-profile-bio{margin:var(--space-3) 0 var(--space-2);max-width:60ch;color:var(--color-text-secondary);line-height:var(--type-body-md-line)}.user-profile-location{margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.user-profile-memo-id{padding:0;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);background:transparent;border:0;font:inherit}.user-profile-memo-id span{font-size:var(--type-micro-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-profile-memo-id strong{color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--type-body-sm-size);font-variant-numeric:tabular-nums}.user-profile-actions{display:flex;align-items:center;gap:var(--space-2)}.user-profile-stats{grid-column:2 / -1;margin:0;display:flex;gap:var(--space-8)}.user-profile-stats>div{display:grid;gap:var(--space-0-5)}.user-profile-stats dt{font-family:var(--font-display);font-size:var(--type-heading-2-size);font-variant-numeric:tabular-nums}.user-profile-stats dd{margin:0;color:var(--color-text-tertiary);font-size:var(--type-caption-size)}.user-profile-shortcuts{margin-bottom:var(--space-10);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:var(--border-hairline) solid var(--color-border-subtle)}.user-profile-shortcuts button{min-height:86px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-primary);text-align:left;background:transparent;border:0;border-right:var(--border-hairline) solid var(--color-border-subtle);font:inherit}.user-profile-shortcuts button:last-child{border-right:0}.user-profile-shortcuts button:hover{background:var(--color-bg-subtle)}.user-profile-shortcuts svg{color:var(--color-text-link)}.user-profile-shortcuts span{display:grid;gap:var(--space-0-5)}.user-profile-shortcuts strong{font-family:var(--font-display);font-size:var(--type-body-lg-size)}.user-profile-shortcuts small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.user-profile-memories{padding-bottom:var(--space-12)}.user-profile-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:var(--space-4)}@media(max-width:900px){.explore-heading{grid-template-columns:1fr;align-items:stretch}.explore-feed-loading,.explore-feed-grid{grid-template-columns:1fr}.user-profile-hero{grid-template-columns:104px minmax(0,1fr);align-items:start}.user-profile-portrait .user-avatar{width:96px;height:96px}.user-profile-actions{grid-column:2;flex-wrap:wrap}.user-profile-stats{grid-column:2}.user-profile-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.explore-search>div{padding-left:var(--space-2)}.explore-people-list article{align-items:stretch;flex-direction:column}.explore-person-actions{width:100%;padding-left:64px}.explore-person-actions .ui-button{flex:1}.explore-feed-heading{align-items:stretch;flex-direction:column}.explore-feed-tabs{width:100%}.explore-feed-tabs button{flex:1}.user-profile-loading>div{grid-template-columns:1fr}.user-profile-hero{padding-top:var(--space-3);grid-template-columns:72px minmax(0,1fr);gap:var(--space-3)}.user-profile-portrait .user-avatar{width:68px;height:68px;font-size:var(--type-title-lg-size)}.user-profile-identity h1{font-size:var(--type-heading-1-size)}.user-profile-bio{margin-top:var(--space-2)}.user-profile-actions{grid-column:1 / -1;width:100%}.user-profile-actions .ui-button{flex:1;min-height:var(--control-lg)}.user-profile-stats{grid-column:1 / -1;justify-content:space-between;gap:var(--space-3)}.user-profile-shortcuts{grid-template-columns:1fr}.user-profile-shortcuts button{border-right:0;border-bottom:var(--border-hairline) solid var(--color-border-subtle)}.user-profile-shortcuts button:last-child{border-bottom:0}.user-profile-memory-grid{grid-template-columns:1fr}}.settings-page>.ui-banner{margin-bottom:var(--space-4)}.settings-loading{display:grid;grid-template-columns:220px minmax(0,720px);gap:var(--space-8)}.settings-loading>div{display:grid;gap:var(--space-5)}.settings-layout-v2{display:grid;grid-template-columns:220px minmax(0,720px);align-items:start;gap:var(--space-10)}.settings-nav{position:sticky;top:calc(var(--shell-header-height) + var(--space-5));padding:var(--space-2);display:grid;gap:var(--space-1);background:var(--color-bg-subtle);border-radius:var(--radius-md)}.settings-nav p{margin:0 0 var(--space-2);padding-left:var(--space-4);color:var(--color-text-tertiary);font-size:var(--type-micro-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.settings-nav button{min-height:var(--control-md);padding:0 var(--space-4);color:var(--color-text-secondary);text-align:left;background:transparent;border:0;border-radius:var(--radius-sm);font:inherit;font-size:var(--type-body-sm-size)}.settings-nav button.active{color:var(--color-text-primary);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);font-weight:700}.settings-content{display:grid;gap:var(--space-6);padding-bottom:var(--space-12)}.settings-section{scroll-margin-top:calc(var(--shell-header-height) + var(--space-4));padding:var(--space-6);background:var(--color-bg-surface);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-lg)}.settings-section>header{margin-bottom:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3)}.settings-section-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;color:var(--color-text-link);background:var(--color-action-primary-soft);border-radius:var(--radius-sm)}.settings-section h2{margin:0;font-family:var(--font-display);font-size:var(--type-heading-2-size)}.settings-section>header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.settings-section>footer{margin-top:var(--space-5);padding-top:var(--space-4);display:flex;justify-content:flex-end;border-top:var(--border-hairline) solid var(--color-border-subtle)}.memo-identity-row{margin-bottom:var(--space-6);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.memo-identity-row>div{min-width:0;display:grid;gap:var(--space-1)}.memo-identity-row span{color:var(--color-text-tertiary);font-size:var(--type-micro-size);font-weight:700;letter-spacing:.09em}.memo-identity-row strong{font-family:var(--font-mono);font-size:var(--type-title-lg-size);font-variant-numeric:tabular-nums}.memo-identity-row p{margin:0;display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.settings-profile-head{margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.settings-profile-head .user-avatar{width:64px;height:64px;color:var(--color-text-link);background:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-border-default);border-radius:50%;font-size:var(--type-title-lg-size);font-weight:700}.settings-profile-head>div{display:grid;gap:var(--space-1)}.settings-profile-head p{margin:0;color:var(--color-text-secondary);font-size:var(--type-caption-size)}.settings-file-picker{width:100%;min-height:66px;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);text-align:left;background:var(--color-bg-subtle);border:var(--border-hairline) dashed var(--color-border-strong);border-radius:var(--radius-md);font:inherit;cursor:pointer}.settings-file-picker>span{display:grid;gap:var(--space-0-5)}.settings-file-picker b{color:var(--color-text-primary);font-size:var(--type-body-sm-size)}.settings-file-picker small{font-size:var(--type-caption-size)}.settings-file-picker input,.settings-file-actions input{position:absolute;width:1px;height:1px;opacity:0}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.settings-wide-field{grid-column:1 / -1}.settings-mode{margin:0 0 var(--space-5);padding:0;border:0}.settings-mode legend{margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--type-caption-size);font-weight:650}.settings-mode>div{display:grid;grid-template-columns:repeat(3,1fr);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.settings-mode button{min-height:var(--control-lg);color:var(--color-text-secondary);background:transparent;border:0;border-right:var(--border-hairline) solid var(--color-border-default);font:inherit}.settings-mode button:last-child{border-right:0}.settings-mode button.active{color:var(--color-text-primary);background:var(--color-action-primary-soft);box-shadow:inset 0 -3px var(--color-action-primary);font-weight:700}.settings-appearance-preview{position:relative;height:250px;overflow:hidden;display:grid;place-items:center;color:var(--color-text-secondary);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-md)}.settings-appearance-preview>img,.settings-appearance-preview .private-media,.settings-appearance-preview .private-media img{width:100%;height:100%;min-height:0;object-fit:cover;border:0;border-radius:0}.settings-appearance-preview>span{display:grid;justify-items:center;gap:var(--space-2);font-size:var(--type-caption-size)}.settings-appearance-preview>i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-scrim);pointer-events:none}.settings-appearance-controls{margin:var(--space-4) 0;display:grid;grid-template-columns:120px 1fr 1fr;gap:var(--space-4)}.settings-appearance-controls label{display:grid;align-content:start;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--type-caption-size)}.settings-appearance-controls label>span{display:flex;justify-content:space-between;gap:var(--space-2)}.settings-appearance-controls input[type=color]{width:100%;height:var(--control-md);padding:var(--space-1);border:var(--border-hairline) solid var(--color-border-default);border-radius:var(--radius-sm)}.settings-appearance-controls input[type=range]{width:100%;accent-color:var(--color-action-primary)}.settings-file-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.settings-file-actions>label{cursor:pointer}.settings-file-actions .ui-button__content{display:inline-flex;align-items:center;gap:var(--space-2)}.settings-password-form{max-width:480px;display:grid;gap:var(--space-3)}.settings-password-form>.ui-button{justify-self:start;margin-top:var(--space-2)}.settings-connection-note{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--type-caption-size);line-height:var(--type-body-sm-line)}.settings-storage-summary{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.settings-storage-summary>div{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.settings-storage-summary strong{color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--type-title-lg-size);font-variant-numeric:tabular-nums}.settings-storage-summary span,.settings-storage-summary b{color:var(--color-text-secondary);font-size:var(--type-body-sm-size)}.settings-storage-meter{height:10px;margin-top:var(--space-3);overflow:hidden;background:var(--color-bg-subtle);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-full)}.settings-storage-meter>i{width:0;height:100%;display:block;background:var(--color-action-primary);border-radius:inherit;transition:width var(--motion-base) var(--ease-out)}.settings-session{border-color:var(--color-border-default)}@media(max-width:840px){.settings-loading{grid-template-columns:1fr}.settings-loading>.ui-skeleton:first-child{display:none}.settings-layout-v2{grid-template-columns:1fr;gap:var(--space-4)}.settings-nav{z-index:2;top:var(--compact-header-height);padding:var(--space-1);display:flex;overflow-x:auto;background:var(--color-bg-canvas);border-bottom:var(--border-hairline) solid var(--color-border-subtle);border-radius:0}.settings-nav p{display:none}.settings-nav button{flex:1 0 auto;min-width:76px;padding-inline:var(--space-3);text-align:center}.settings-content{gap:0}.settings-section{display:none;padding:var(--space-4) 0;background:transparent;border:0;border-radius:0}.settings-section.is-active{display:block}}@media(max-width:560px){.settings-section>header{margin-bottom:var(--space-4)}.memo-identity-row{align-items:stretch;flex-direction:column}.memo-identity-row .ui-button{align-self:flex-start}.settings-form-grid{grid-template-columns:1fr}.settings-wide-field{grid-column:auto}.settings-appearance-preview{height:190px}.settings-appearance-controls{grid-template-columns:1fr}.settings-file-actions{display:grid;grid-template-columns:1fr}.settings-file-actions>.ui-button,.settings-file-actions>label{width:100%;justify-content:center}.settings-section>footer .ui-button{width:100%}}:root[data-mode=dark] .panel,:root[data-mode=dark] .memory-card,:root[data-mode=dark] .detail-story,:root[data-mode=dark] .calendar-card{border-color:var(--line)}:root[data-mode=dark] input,:root[data-mode=dark] textarea,:root[data-mode=dark] select{color:var(--ink);background:var(--color-bg-subtle)}:root[data-mode=dark] .timeline-date,:root[data-mode=dark] .timeline-card p{color:color-mix(in srgb,var(--space-muted,var(--muted)) 58%,#f4f1eb)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) input,:root:not([data-mode=light]) textarea,:root:not([data-mode=light]) select{color:var(--ink);background:var(--color-bg-subtle)}:root:not([data-mode=light]) .timeline-date,:root:not([data-mode=light]) .timeline-card p{color:color-mix(in srgb,var(--space-muted,var(--muted)) 58%,#f4f1eb)}}.app-shell{position:relative;isolation:isolate;min-height:100vh}.route-screen{min-width:0}.standalone-route-screen{min-height:100vh}.app-shell:before,.app-shell:after{content:"";position:fixed;z-index:-2;top:0;right:0;bottom:0;left:0;pointer-events:none}.app-shell:before{background-color:var(--user-background,var(--paper));background-image:var(--user-bg-image,none);background-position:center;background-size:cover;background-attachment:fixed;filter:brightness(var(--user-bg-brightness,100%));transform:scale(1.01)}.app-shell:after{z-index:-1;background-color:rgb(22 21 25 / var(--user-bg-overlay,0));background-image:none}:root[data-mode=dark] .app-shell:after{background-image:linear-gradient(#0a0909b8,#0a0909b8)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .app-shell:after{background-image:linear-gradient(#0a0909b8,#0a0909b8)}}.icon-button{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;padding:0;border:1px solid var(--control-line);border-radius:14px;color:var(--ink);background:var(--surface-solid);transition:transform .18s ease,border-color .18s ease,background .18s ease}.icon-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 48%,transparent);background:color-mix(in srgb,var(--surface-solid) 92%,var(--accent))}.icon-button:active:not(:disabled){transform:scale(.96)}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.page-heading h1{margin-bottom:7px;font-size:clamp(28px,4vw,42px);font-weight:600}.page-heading p{margin:0;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:38px 0 18px}.section-heading h2{margin:0;font-size:23px}.section-heading a,.text-link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.section-heading a:hover,.text-link:hover{text-decoration-color:currentColor}.button{min-height:var(--control-md);padding:0 18px;border:1px solid var(--control-line);border-radius:14px;color:var(--ink);background:var(--surface-solid);font-weight:500;transition:transform .18s ease,border-color .18s ease,background .18s ease,filter .18s ease}.button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--surface-solid) 93%,var(--accent))}.button:active:not(:disabled){transform:scale(.96)}.button.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,#686f84,#4f566b);box-shadow:0 10px 24px #555c703d}.button.rose{border-color:transparent;color:#fff;background:linear-gradient(135deg,#a85f6c,#884652)}.button.primary:hover:not(:disabled),.button.rose:hover:not(:disabled){filter:brightness(.92)}.button.ghost{background:transparent}.button:disabled{opacity:.55;cursor:wait}.chip{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:500}.panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{position:relative;min-height:310px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;padding:45px 50px;border-radius:36px;background:linear-gradient(125deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 74%,#cfc8c5));border:1px solid var(--line);box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:430px;height:430px;right:-130px;top:-140px;border:1px solid rgba(113,119,137,.16);border-radius:50%;box-shadow:0 0 0 48px #ffffff29,0 0 0 96px #7c82950b}.hero-copy{position:relative;z-index:2;align-self:center}.hero h1{max-width:570px;margin-bottom:15px;font-size:clamp(33px,4.5vw,57px);line-height:1.22;font-weight:600}.hero h1 em{color:var(--rose);font-style:normal}.hero p{max-width:510px;color:var(--muted);line-height:1.8}.hero-stats{position:relative;z-index:2;align-self:center;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-stat{min-height:112px;padding:20px 15px;display:flex;flex-direction:column;justify-content:end;border-radius:22px;background:var(--surface);border:1px solid var(--line)}.hero-stat b{font:600 30px "Noto Serif SC",serif}.hero-stat span{color:var(--muted);font-size:12px}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.memory-card{overflow:hidden;background:var(--surface-solid);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow-md);transition:transform var(--motion-slow) var(--ease-out),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-slow) var(--ease-out)}.memory-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 46%,transparent);box-shadow:0 20px 48px #3a343129}.memory-card:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 20%,transparent),0 20px 48px #3a343129}.memory-link{display:block;height:100%}.memory-link:focus-visible{outline:0}.memory-visual{position:relative;isolation:isolate;height:150px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#9aa5aa,#63747c);text-shadow:0 1px 3px rgba(20,18,20,.48)}.memory-visual:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(#18171b5c,#18171b70)}.memory-visual svg{align-self:center;opacity:.92}.memory-visual small{opacity:1}.visual-date{align-self:flex-end;padding:4px 8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:10px;letter-spacing:.15em}.type-photo .memory-visual{background:linear-gradient(145deg,#c7a891,#8b796e 55%,#5f6972)}.type-video .memory-visual{background:linear-gradient(145deg,#6f7283,#343843)}.type-location .memory-visual{background:linear-gradient(145deg,#9aad9d,#67786c)}.type-mixed .memory-visual{background:linear-gradient(145deg,#cfaba7,#868da0)}.memory-body{padding:20px}.memory-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.08em}.memory-meta span{color:var(--accent)}.memory-card h3{margin:11px 0 8px;font:600 18px "Noto Serif SC",serif}.memory-card p{min-height:47px;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.75}.memory-foot{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.memory-foot span{display:inline-flex;align-items:center;gap:3px}.memory-foot span:nth-last-child(1):not(:first-child){margin-left:auto}.creator-dot{width:22px;height:22px;justify-content:center;color:#fff;background:#626a7f;border-radius:50%}.memory-card.compact .memory-visual{height:115px}.space-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.space-card{position:relative;min-height:230px;overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:space-between;color:color-mix(in srgb,var(--space-text,#53656f) 72%,#27262b);background:linear-gradient(140deg,var(--space-background,#f5f7f6),color-mix(in srgb,var(--space-background,#f5f7f6) 72%,white));border:1px solid color-mix(in srgb,var(--space-text,#53656f) 24%,transparent);border-radius:30px;box-shadow:var(--shadow)}.space-card:after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:var(--space-primary,#89a9b8);opacity:.14}.space-card h3{position:relative;z-index:1;margin:8px 0;font:600 24px "Noto Serif SC",serif}.space-card p{color:color-mix(in srgb,var(--space-muted,#85959d) 62%,#27262b)}.space-members{display:flex;align-items:center}.space-members span{width:38px;height:38px;margin-right:-8px;display:grid;place-items:center;border:3px solid white;border-radius:50%;color:#fff;background:color-mix(in srgb,var(--space-primary,#7c8295) 62%,#27262b)}.space-numbers{display:flex;gap:25px;position:relative;z-index:1}.space-numbers b{display:block;font:600 20px "Noto Serif SC",serif}.space-numbers small{color:color-mix(in srgb,var(--space-muted,#85959d) 62%,#27262b)}.archived{filter:saturate(.3)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.filters button{padding:8px 14px;border:1px solid var(--control-line);border-radius:999px;background:var(--surface-solid);color:var(--muted);font-weight:500}.filters button:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--ink)}.filters button.active{color:#fff;background:var(--accent-deep)}.search-wide{max-width:450px;height:46px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--control-line);border-radius:15px;background:var(--surface-solid)}.search-wide input{width:100%;border:0;outline:0;background:transparent}.search-box:focus-within,.search-wide:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.search-box input:focus-visible,.search-wide input:focus-visible{outline:0}.empty-state{padding:60px 24px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed color-mix(in srgb,var(--accent) 48%,transparent);border-radius:28px}.empty-state>span{width:52px;height:52px;margin:0 auto 16px;display:grid;place-items:center;color:var(--accent);background:var(--surface-solid);border-radius:18px;box-shadow:var(--shadow)}.empty-state h3{margin-bottom:8px;color:var(--ink);font:600 18px "Noto Serif SC",serif}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:25px;display:grid;place-items:center;background:#1f1e229e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.create-modal{width:min(680px,100%);max-height:calc(100vh - 45px);overflow:auto;padding:30px;background:var(--surface-solid);border:1px solid var(--line);border-radius:30px;box-shadow:0 30px 90px #14131557}.create-modal>header{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.create-modal h2{margin:0;font-size:27px}.create-modal footer{margin-top:24px;display:flex;justify-content:flex-end;gap:10px}.location-capture{margin:-2px 0 15px;display:flex;align-items:center;gap:12px}.location-capture .button{flex:none;margin:0;display:inline-flex;align-items:center;gap:6px}.location-capture small{color:var(--muted);font-size:10px;line-height:1.5}.location-clear{flex:none;padding:4px 0;border:0;color:var(--accent);background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:3px}.memory-types{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:21px}.memory-types button{padding:13px 8px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--control-line);border-radius:14px;color:var(--muted);background:var(--surface-solid)}.memory-types button:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.memory-types button.active{color:#fff;border-color:transparent;background:var(--accent-deep)}.field{display:block;margin:15px 0}.field>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--control-line);border-radius:13px;color:var(--ink);background:var(--surface-solid);resize:vertical}.field input:hover,.field textarea:hover,.field select:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.drop-zone{min-height:100px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed color-mix(in srgb,var(--accent) 65%,transparent);border-radius:17px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 96%,var(--accent));cursor:pointer}.drop-zone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-solid) 91%,var(--accent))}.drop-zone input{display:none}.drop-zone b{color:var(--ink);font-size:13px}.drop-zone span{font-size:11px}.selected-file-list{margin:-7px 0 14px;display:grid;gap:6px}.selected-file-list>div{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.selected-file-list span,.selected-file-list b,.selected-file-list small{min-width:0;display:block}.selected-file-list b{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.selected-file-list small{margin-top:2px;color:var(--muted);font-size:9px}.selected-file-list button{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:transparent}.check-pills,.visibility-options{display:flex;flex-wrap:wrap;gap:8px}.check-pills label,.visibility-options label{padding:8px 11px;border:1px solid var(--control-line);border-radius:11px;background:var(--surface-solid);font-size:12px}.visibility-options label.disabled{opacity:.48;cursor:not-allowed}.check-pills input,.visibility-options input{width:auto;margin-right:6px;accent-color:var(--accent-deep)}.form-error{margin:8px 0;color:var(--danger);font-size:13px;font-weight:600}.timeline{position:relative;padding-left:35px}.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:12px;width:1px;background:linear-gradient(var(--space-primary,var(--accent)),transparent)}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;left:-32px;top:25px;width:11px;height:11px;border:4px solid var(--space-background,var(--paper));border-radius:50%;background:var(--space-primary,var(--accent));box-shadow:0 0 0 1px var(--space-primary,var(--accent))}.timeline-date{margin-bottom:7px;color:color-mix(in srgb,var(--space-muted,var(--muted)) 62%,#27262b);font-size:11px;font-weight:500;letter-spacing:.08em}.timeline-card{display:block;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--space-text,var(--ink)) 20%,transparent);border-radius:21px;color:inherit;background:var(--surface)}.timeline-card h3{margin:0 0 8px;font:600 17px "Noto Serif SC",serif}.timeline-card p{margin:0;color:color-mix(in srgb,var(--space-muted,var(--muted)) 62%,#27262b);line-height:1.7}.space-hero{position:relative;overflow:hidden;margin:-42px calc((1180px - 100vw)/2) 35px;padding:65px max(32px,calc((100vw - 1180px)/2));color:var(--space-text);background:linear-gradient(135deg,var(--space-background),color-mix(in srgb,var(--space-primary) 18%,white))}.space-hero.has-background:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background-image:linear-gradient(rgba(18,17,20,var(--space-overlay,0)),rgba(18,17,20,var(--space-overlay,0))),var(--space-image);background-position:center;background-size:cover;filter:brightness(var(--space-brightness,100%));transform:scale(1.01)}.space-hero>span,.space-hero>h1,.space-hero>p{position:relative;z-index:1}.space-hero:after{content:"";position:absolute;right:6%;top:-80px;width:330px;height:330px;border:1px solid color-mix(in srgb,var(--space-primary) 30%,transparent);border-radius:50%;box-shadow:0 0 0 55px color-mix(in srgb,var(--space-primary) 7%,transparent)}.space-hero h1{position:relative;z-index:1;margin:10px 0;font-size:clamp(35px,5vw,58px)}.space-hero p{position:relative;z-index:1;color:color-mix(in srgb,var(--space-muted,var(--muted)) 62%,#27262b)}.space-stats{position:relative;z-index:1;margin-top:30px;display:flex;gap:40px}.space-stats b{display:block;font:600 24px "Noto Serif SC",serif}.space-stats small{color:color-mix(in srgb,var(--space-muted,var(--muted)) 62%,#27262b)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:25px;align-items:start}.message-list{display:grid;gap:10px}.message-note{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-solid)}.message-note b{display:block;margin-bottom:4px;font-size:12px}.message-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.detail-story{padding:40px;background:var(--surface);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow)}.detail-story h1{font-size:clamp(30px,4vw,48px)}.detail-content{color:var(--ink);font:500 17px/2 "Noto Serif SC",serif;white-space:pre-wrap}.media-gallery{display:grid;gap:12px;margin-bottom:30px}.private-media{overflow:hidden;min-height:220px;display:grid;place-items:center;border:1px solid var(--line);border-radius:23px;background:color-mix(in srgb,var(--surface-solid) 88%,var(--muted))}.private-media img,.private-media video{display:block;width:100%;max-height:620px;object-fit:contain;background:#222}.media-skeleton{color:var(--muted);font-size:13px}.detail-side{display:grid;gap:14px}.reaction-row{display:flex;gap:7px;flex-wrap:wrap}.reaction-row button{min-width:43px;height:39px;border:1px solid var(--control-line);border-radius:13px;color:var(--ink);background:var(--surface-solid);font-size:18px}.reaction-row button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-solid) 91%,var(--accent))}.comment{padding:12px 0;border-bottom:1px solid var(--line)}.comment b{font-size:12px}.comment p{margin:5px 0;color:var(--muted);font-size:13px}.calendar-card{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-head span{padding:9px;text-align:center;color:var(--muted);font-size:11px}.calendar-day{aspect-ratio:1.1;padding:9px;border:1px solid transparent;border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 86%,var(--paper))}.calendar-day.has-memory{border-color:var(--line);background:var(--surface-solid);box-shadow:0 8px 20px #32303117}.calendar-day.empty{background:transparent}.calendar-day b{font-size:12px}.calendar-day i{width:6px;height:6px;margin-top:8px;display:block;border-radius:50%;background:var(--rose)}.map-canvas{position:relative;min-height:520px;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,#e7ebe7,#d9e0dc);box-shadow:var(--shadow)}.map-canvas:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.4;background:repeating-linear-gradient(30deg,transparent 0 50px,rgba(91,107,99,.08) 51px 52px),repeating-linear-gradient(120deg,transparent 0 70px,rgba(91,107,99,.07) 71px 72px)}.map-pin{position:absolute;z-index:2;transform:translate(-50%,-100%);width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50% 50% 50% 8px;color:#fff;background:#536b5a;box-shadow:0 8px 20px #34453b40;rotate:-45deg}.map-pin svg{rotate:45deg}.map-legend{position:absolute;z-index:3;left:22px;bottom:22px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.notification-list{display:grid;gap:11px}.notification-item{padding:17px 20px;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;border-radius:19px;background:var(--surface);border:1px solid var(--line)}.notification-item.unread{border-color:var(--rose);background:color-mix(in srgb,var(--surface) 88%,var(--color-selection))}.notification-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--color-text-inverse);background:var(--color-action-primary)}.notification-item h3{margin:0 0 4px;font:600 14px "Noto Serif SC",serif}.notification-item p{margin:0;color:var(--muted);font-size:12px}.notification-item time{color:var(--muted);font-size:11px}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:35px;background:var(--surface);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.profile-avatar{width:90px;height:90px;display:grid;place-items:center;border:5px solid var(--surface-solid);border-radius:50%;color:#fff;background:linear-gradient(135deg,#965f59,#626b82);font:600 32px "Noto Serif SC",serif;box-shadow:0 12px 28px #463f422b}.profile-hero h1{margin:0 0 8px;font-size:31px}.profile-hero p{margin:0;color:var(--muted)}.profile-memo-id{margin-top:9px!important;display:flex;align-items:center;gap:7px;color:var(--accent)!important;font-size:12px;font-weight:600;letter-spacing:.04em}.profile-memo-id .icon-button{width:30px;height:30px;border-radius:10px}.profile-stats{display:flex;gap:25px}.profile-stats b{display:block;font-size:20px}.profile-stats span{color:var(--muted);font-size:11px}@media(max-width:1050px){.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr;padding:38px}.hero-stats{margin-top:30px}.space-hero{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}}.route-flow-enter-active{transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1)}.route-flow-leave-active{transition:opacity .16s ease,transform .2s ease}.route-flow-enter-from{opacity:0;transform:translate3d(0,13px,0) scale(.996)}.route-flow-leave-to{opacity:0;transform:translate3d(0,-5px,0) scale(.998)}@media(prefers-reduced-motion:reduce){.route-flow-enter-active,.route-flow-leave-active{transition:none}.route-flow-enter-from,.route-flow-leave-to{transform:none}}@media(max-width:720px){.route-screen{min-height:calc(100dvh - 176px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.standalone-route-screen{min-height:100dvh}.hero{min-height:auto;display:block;padding:30px 25px;border-radius:28px}.hero h1{font-size:36px}.hero-stats{grid-template-columns:repeat(3,1fr);gap:7px}.hero-stat{min-height:82px;padding:13px 10px}.hero-stat b{font-size:22px}.memory-grid,.space-grid,.two-column,.detail-layout{grid-template-columns:1fr}.page-heading{align-items:start;flex-direction:column}.field-row{grid-template-columns:1fr}.memory-types{grid-template-columns:repeat(2,1fr)}.create-modal{padding:22px;border-radius:24px}.modal-backdrop{padding:10px}.space-hero{margin-top:-24px;margin-left:-14px;margin-right:-14px;padding:45px 20px;border-radius:0 0 30px 30px}.space-hero:after{display:none}.space-stats{gap:23px}.detail-story{padding:25px}.calendar-card{padding:12px}.calendar-head,.calendar-grid{gap:3px}.calendar-day{padding:5px;border-radius:9px}.profile-hero{grid-template-columns:auto 1fr;padding:23px}.profile-stats{grid-column:1/-1;justify-content:space-around}.map-canvas{min-height:430px}}html.native-app .app-shell:before{background-attachment:scroll}@media(pointer:coarse){.selected-file-list button,.reaction-row button,.profile-memo-id .icon-button,.request-tabs button,.tiny-action,.friend-settings-button,.reminder-delete{min-width:var(--control-md);min-height:var(--control-md)}}.friends-heading .button,.friend-card .button,.friend-search-results .button,.request-actions,.chat-header .button,.reminder-heading .button,.reminder-actions .button,.memo-id-card .button,.memo-identity-panel .button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.section-help{color:var(--muted);font-size:12px}.memo-id-card{position:relative;overflow:hidden;margin-bottom:22px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid color-mix(in srgb,var(--accent-deep) 28%,var(--line));border-radius:25px;background:linear-gradient(120deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 83%,#bfc3cf));box-shadow:var(--shadow)}.memo-id-card:after{content:"";position:absolute;right:120px;top:-70px;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%}.memo-id-card>div,.memo-id-card>button{position:relative;z-index:1}.memo-id-card strong{display:block;font:600 clamp(27px,4vw,38px) "Noto Serif SC",serif;letter-spacing:.13em;font-variant-numeric:tabular-nums}.memo-id-card p{max-width:630px;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.friend-workbench{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:20px;align-items:stretch}.friend-workbench h2{margin-bottom:8px;font-size:22px}.friend-workbench .panel>p{color:var(--muted);font-size:13px;line-height:1.65}.memo-id-search{height:50px;margin-top:17px;padding-left:15px;display:flex;align-items:center;gap:9px;border:1px solid var(--control-line);border-radius:16px;background:var(--surface-solid)}.memo-id-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.memo-id-search input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent!important;font-size:17px;letter-spacing:.1em;font-variant-numeric:tabular-nums}.memo-id-search button{align-self:stretch;padding:0 19px;border:0;border-radius:0 15px 15px 0;color:#fff;background:var(--accent-deep);font-weight:600}.compact-field{margin-bottom:0}.friend-search-results{margin-top:14px;display:grid;gap:8px}.friend-search-results article{padding:11px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--surface-solid)}.friend-search-results b,.friend-search-results small{display:block}.friend-search-results small{margin-top:3px;color:var(--muted);font-size:11px;letter-spacing:.03em}.friend-avatar{width:43px;height:43px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:linear-gradient(135deg,#92665f,#5e687e);font:600 16px "Noto Serif SC",serif;box-shadow:0 7px 17px #443e4329}.friend-avatar.small{width:36px;height:36px;font-size:13px}.friend-avatar.large{width:62px;height:62px;font-size:22px}.friend-panel-title{display:flex;align-items:start;justify-content:space-between}.friend-panel-title h2{margin:0}.request-count{min-width:27px;height:27px;padding:0 8px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#8d4f5b;font-size:12px;font-weight:700}.request-tabs{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.request-tabs button{height:35px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:12px;font-weight:600}.request-tabs button.active{color:var(--ink);background:var(--surface-solid);box-shadow:0 5px 14px #37333417}.request-list{max-height:290px;overflow:auto;display:grid;gap:8px}.request-list article{padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.request-copy b,.request-copy small{display:block}.request-copy small{margin-top:2px;color:var(--muted);font-size:10px}.request-copy p{margin:5px 0 0!important;color:var(--ink)!important;font-size:12px!important}.request-actions{gap:5px}.tiny-action{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--control-line);border-radius:11px;color:var(--ink);background:var(--surface-solid)}.tiny-action.accept{color:#fff;border-color:transparent;background:#536f5d}.request-status{color:var(--muted);font-size:10px;font-weight:600}.request-status.accepted{color:#3f6d51}.friend-mini-empty{min-height:120px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);font-size:12px}.friend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.friend-card{padding:21px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.friend-card-head{position:relative;display:flex;align-items:start}.friend-card-head>i{position:absolute;left:47px;bottom:1px;width:13px;height:13px;border:3px solid var(--surface-solid);border-radius:50%;background:#89878c}.friend-card-head>i.online{background:#46765b}.friend-settings-button{margin-left:auto;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--control-line);border-radius:12px;color:var(--muted);background:var(--surface-solid)}.friend-card h3{margin:14px 0 2px;font-size:19px}.original-name{margin:0;color:var(--muted);font-size:11px}.friend-memo-id{margin:7px 0;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.05em}.friend-bio{min-height:42px;margin:8px 0;color:var(--muted);font-size:12px;line-height:1.65}.friend-permissions{min-height:24px;margin:12px 0;display:flex;flex-wrap:wrap;gap:6px}.friend-permissions span{padding:5px 8px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 84%,var(--paper));font-size:10px}.friend-permissions span.enabled{color:#3c6249}.full-button{width:100%}.setting-toggle{margin:13px 0;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 92%,var(--paper))}.setting-toggle b,.setting-toggle small{display:block}.setting-toggle small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}.setting-toggle input{width:20px;height:20px;accent-color:var(--accent-deep)}.friend-setting-footer{align-items:center;justify-content:space-between!important}.friend-setting-footer>div{display:flex;gap:10px}.danger-link{padding:7px;display:inline-flex;align-items:center;gap:5px;border:0;color:var(--danger);background:transparent;font-size:12px;font-weight:600}.chat-page{min-height:calc(100vh - 218px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--line);border-radius:30px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.chat-header{min-height:83px;padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--surface-solid)}.chat-person{min-width:0;flex:1}.chat-person h1{margin:0 0 4px;font-size:19px}.chat-person span{display:flex;align-items:center;color:var(--muted);font-size:11px}.chat-person i{width:8px;height:8px;margin-right:6px;border-radius:50%;background:#89878c}.chat-person i.online{background:#46765b}.chat-header-actions{display:flex;align-items:center;gap:7px}.chat-header-actions .button{min-height:38px;padding:0 13px;font-size:12px}.chat-error{margin:12px 18px 0!important}.chat-messages{min-height:470px;max-height:calc(100vh - 365px);overflow:auto;padding:25px;scroll-behavior:smooth;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 60%,transparent),transparent)}.load-older{margin:0 auto 20px;display:block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-solid);font-size:11px}.chat-empty{height:100%;min-height:380px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.chat-empty h2{margin:5px 0 0;color:var(--ink);font-size:20px}.chat-empty p{max-width:390px;font-size:12px;line-height:1.7}.chat-message{margin:7px 0;display:flex;justify-content:flex-start}.chat-message.mine{justify-content:flex-end}.chat-bubble{max-width:min(610px,75%);padding:11px 14px;border:1px solid var(--line);border-radius:7px 18px 18px;background:var(--surface-solid);box-shadow:0 5px 15px #322f3012}.chat-message.mine .chat-bubble{color:#fff;border-color:transparent;border-radius:18px 7px 18px 18px;background:linear-gradient(135deg,#697086,#535a70)}.chat-message.failed .chat-bubble{border-color:var(--danger)}.chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.65}.chat-bubble small{margin-top:4px;display:flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--muted);font-size:9px}.chat-message.mine .chat-bubble small{color:#fffc}.chat-composer{padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px solid var(--line);background:var(--surface-solid)}.chat-composer textarea{min-height:46px;max-height:130px;padding:12px 15px;resize:none;border:1px solid var(--control-line);border-radius:16px;color:var(--ink);background:var(--surface-solid)}.chat-composer button{min-width:92px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:16px;color:#fff;background:var(--accent-deep);font-weight:600}.chat-composer button:disabled{opacity:.5}.reminder-overview{display:grid;grid-template-columns:180px 180px 1fr;gap:14px;margin-bottom:25px}.reminder-overview>div{min-height:126px;padding:20px;border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:var(--shadow)}.reminder-overview>div:not(.reminder-principle){display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}.reminder-overview-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;background:#626b80}.reminder-overview-icon.rose{background:#8e5962}.reminder-overview b{font:600 30px "Noto Serif SC",serif}.reminder-overview small{grid-column:1/-1;color:var(--muted);font-size:11px}.reminder-principle{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 88%,#d6c3bd))!important}.reminder-principle strong{font:600 17px "Noto Serif SC",serif}.reminder-principle p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.reminder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.reminder-filters{margin:0}.reminder-quick-create{display:flex;gap:7px}.reminder-quick-create button{padding:8px 11px;display:flex;align-items:center;gap:5px;border:1px solid var(--control-line);border-radius:12px;color:var(--muted);background:var(--surface-solid);font-size:11px;font-weight:600}.reminder-list{display:grid;gap:12px}.reminder-card{padding:15px 17px;display:grid;grid-template-columns:69px 52px minmax(0,1fr) auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:var(--shadow-sm)}.reminder-card.pending{border-color:var(--color-accent-emotional);background:color-mix(in srgb,var(--surface) 92%,var(--color-selection))}.reminder-card.completed{opacity:.72}.reminder-date-block{min-height:69px;display:grid;place-items:center;align-content:center;border-radius:17px;color:var(--ink);background:color-mix(in srgb,var(--paper) 75%,var(--surface-solid))}.reminder-date-block b{font:600 25px "Noto Serif SC",serif;line-height:1}.reminder-date-block span,.reminder-date-block small{color:var(--muted);font-size:9px}.reminder-date-block small{margin-top:4px;font-weight:600}.reminder-kind-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:var(--accent-deep);background:color-mix(in srgb,var(--surface-solid) 75%,#c4c8d2)}.reminder-image{width:52px!important;min-height:52px!important;height:52px;border-radius:15px!important}.reminder-image img{width:52px!important;height:52px!important;object-fit:cover!important}.reminder-copy{min-width:0}.reminder-copy h2{margin:5px 0 3px;font-size:17px}.reminder-copy>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.reminder-copy>small{display:block;margin-top:5px;color:var(--accent);font-size:10px}.reminder-tags{display:flex;gap:5px}.reminder-tags span{padding:3px 7px;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 76%,var(--paper));font-size:9px;font-weight:600}.reminder-tags .pending-tag{color:#7b414d;background:#f2dfe2}.reminder-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.reminder-actions .button{min-height:37px;padding:0 11px;font-size:11px}.reminder-delete{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--danger);background:transparent}.completed-label{display:flex;align-items:center;gap:5px;color:#3f6d51;font-size:11px;font-weight:600}.reminder-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.reminder-mode-grid button{min-height:69px;padding:10px;border:1px solid var(--control-line);border-radius:14px;color:var(--ink);background:var(--surface-solid);text-align:left}.reminder-mode-grid b,.reminder-mode-grid small{display:block}.reminder-mode-grid small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.reminder-mode-grid button.active{color:#fff;border-color:transparent;background:var(--accent-deep)}.reminder-mode-grid button.active small{color:#ffffffd1}.reminder-image-picker{width:100%;margin-top:15px;padding:14px;display:flex;align-items:center;gap:12px;border:1px dashed color-mix(in srgb,var(--accent) 62%,transparent);border-radius:16px;color:var(--accent);background:color-mix(in srgb,var(--surface-solid) 94%,var(--accent));text-align:left;cursor:pointer}.reminder-image-picker:disabled{opacity:.62}.reminder-image-picker span{flex:1}.reminder-image-picker b,.reminder-image-picker small{display:block}.reminder-image-picker b{color:var(--ink);font-size:12px}.reminder-image-picker small{margin-top:3px;color:var(--muted);font-size:10px}.reminder-image-picker input{display:none}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.settings-main,.settings-side{display:grid;gap:18px}.settings-side h2{font-size:20px}.settings-side p{color:var(--muted);font-size:12px;line-height:1.7}.memo-identity-panel{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.identity-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:16px;color:var(--color-text-inverse);background:var(--color-action-primary)}.memo-identity-panel h2{margin:0;font-size:29px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.memo-identity-panel p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.memo-identity-panel>small{grid-column:2/-1;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.settings-message{color:var(--accent);font-size:13px;font-weight:600}@media(max-width:980px){.friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-workbench,.settings-layout{grid-template-columns:1fr}.reminder-card{grid-template-columns:62px 48px 1fr}.reminder-actions{grid-column:2/-1;justify-content:flex-start}.reminder-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.memo-id-card{padding:22px;align-items:flex-start;flex-direction:column}.memo-id-card strong{font-size:26px}.memo-id-card .button{width:100%}.friend-grid,.friend-workbench{grid-template-columns:1fr}.friend-workbench .panel{padding:20px}.friend-search-results article{grid-template-columns:auto 1fr}.friend-search-results .button{grid-column:1/-1;width:100%}.friend-setting-footer{align-items:stretch!important;flex-direction:column-reverse}.friend-setting-footer>div{justify-content:space-between}.chat-page{min-height:calc(100vh - 182px);margin:-8px 0 0;border-radius:23px}.chat-header{min-height:70px;padding:10px}.chat-header>.friend-avatar{width:38px;height:38px}.chat-header-actions .button{display:none}.chat-messages{min-height:calc(100vh - 355px);max-height:calc(100vh - 355px);padding:15px 11px}.chat-bubble{max-width:84%}.chat-composer{padding:10px}.chat-composer button{min-width:48px}.chat-composer button span{display:none}.reminder-overview{grid-template-columns:1fr 1fr}.reminder-principle{grid-column:1/-1;min-height:105px!important}.reminder-overview>div{min-height:108px;padding:16px}.reminder-quick-create{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.reminder-quick-create button{justify-content:center;padding:9px 5px}.reminder-card{padding:13px;grid-template-columns:55px 1fr;gap:10px}.reminder-date-block{min-height:57px}.reminder-kind-icon,.reminder-image{display:none!important}.reminder-copy{grid-column:2}.reminder-actions{grid-column:1/-1;flex-wrap:wrap;justify-content:flex-end}.reminder-actions .button{flex:1}.reminder-mode-grid{grid-template-columns:1fr 1fr}.memo-identity-panel{grid-template-columns:auto 1fr}.memo-identity-panel .button{grid-column:1/-1;width:100%}.memo-identity-panel>small{grid-column:1/-1}.memo-identity-panel h2{font-size:22px}}.user-avatar[data-v-8bff3e79]{display:grid;place-items:center;overflow:hidden}.user-avatar>img[data-v-8bff3e79],.user-avatar[data-v-8bff3e79] .private-media,.user-avatar[data-v-8bff3e79] img{width:100%;height:100%;min-height:0;border:0;border-radius:inherit;object-fit:cover}.user-avatar[data-v-8bff3e79] .media-skeleton{font-size:0}.user-avatar[data-v-8bff3e79] .media-skeleton:after{content:"拾";font-size:inherit}
