html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}.flip-engine{display:block;--nav-glyph-size: 24px;--nav-chevron-prev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 6 9 12 15 18'/%3E%3C/svg%3E");--nav-chevron-next: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E");--spread-w: calc(var(--page-w) * 2);--book-perspective: none;--book-bar-radius: 2px;--book-accent-bar-h: 3px;--flip-angle: 0deg;--flip-progress: 0;--gradient-book-spine: linear-gradient( to right, var(--color-book-spine-shadow) 0%, var(--color-book-spine-gold) 35%, var(--color-book-spine-gold-hi) 65%, var(--color-book-spine-shadow) 100% );--z-behind: 0;--z-base: 1;--z-above: 2;--z-spine: 3;--z-flipper: 5;--z-overlay-local: 6;--z-overlay: 10;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-16: 16px;--text-xs: 10px;--text-base: 14px;--text-md: 14px;--text-xl: 20px;--text-2xl: 22px;--font-weight-medium: 500;--lh-tight: 1.2;--lh-none: 1;--tracking-em-sm: .04em;--tracking-em-md: .12em;--radius-full: 9999px;--transition-base: .2s}.flip-engine .flex{display:flex}.flip-engine .flex-col{display:flex;flex-direction:column}.flip-engine .items-center{align-items:center}.flip-engine .justify-center{justify-content:center}.flip-engine .book-scene{perspective:var(--book-perspective);perspective-origin:50% 45%;gap:var(--space-16)}.flip-engine .book-spread{position:relative;width:var(--spread-w);height:var(--page-h);box-shadow:var(--shadow-book-drop);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.flip-engine.flip-engine-dragging .book-spread{cursor:grabbing}.flip-engine .page{position:absolute;top:0;width:var(--page-w);height:var(--page-h);background:var(--color-book-page-bg);overflow:hidden}.flip-engine .page.page-left{left:0;border-radius:var(--book-page-radius) 0 0 var(--book-page-radius);box-shadow:var(--shadow-book-page-l)}.flip-engine .page.page-right{right:0;border-radius:0 var(--book-page-radius) var(--book-page-radius) 0;box-shadow:var(--shadow-book-page-r)}.flip-engine .page.active-page{z-index:var(--z-above);background:transparent;pointer-events:auto}.flip-engine .page.bg-page{z-index:var(--z-base)}.flip-engine .page.page-inactive{opacity:.4;pointer-events:none}.flip-engine .gutter-sh{position:absolute;top:0;bottom:0;width:calc(var(--page-w) * .4);z-index:var(--z-above);pointer-events:none;opacity:calc(var(--book-curl-spine-max) * var(--flip-progress))}.flip-engine .gutter-sh-left{right:50%;background:linear-gradient(to left,var(--book-curl-spine-color),transparent)}.flip-engine .gutter-sh-right{left:50%;background:linear-gradient(to right,var(--book-curl-spine-color),transparent)}.flip-engine .page-flipper{position:absolute;top:0;width:var(--page-w);height:var(--page-h);transform-style:preserve-3d;z-index:var(--z-flipper);pointer-events:none;visibility:hidden;--curl-lift: calc(1 - (2 * var(--flip-progress) - 1) * (2 * var(--flip-progress) - 1));transform:rotateY(var(--flip-angle, 0deg)) scaleY(calc(1 - (1 - var(--book-curl-scale)) * var(--curl-lift)))}.flip-engine .page-flipper.active{visibility:visible}.flip-engine .page-flipper.dir-forward{right:0;left:auto;transform-origin:left center}.flip-engine .page-flipper.dir-backward{left:0;right:auto;transform-origin:right center}.flip-engine .page-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--color-book-page-bg);overflow:hidden;border-radius:0 var(--book-page-radius) var(--book-page-radius) 0;isolation:isolate}.flip-engine .page-face:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(to right,transparent 55%,var(--book-curl-shadow-color));opacity:calc(var(--book-curl-shadow-max) * var(--curl-lift))}.flip-engine .face-back{transform:rotateY(180deg);border-radius:var(--book-page-radius) 0 0 var(--book-page-radius)}.flip-engine .face-back:after{background:linear-gradient(to left,transparent 55%,var(--book-curl-shadow-color))}.flip-engine .book-spine{position:absolute;top:0;left:calc(50% - calc(var(--book-spine-w) / 2));width:var(--book-spine-w);height:100%;z-index:var(--z-spine);background:var(--gradient-book-spine);pointer-events:none}.flip-engine .book-sh2{position:absolute;top:var(--space-8);left:var(--space-8);right:calc(var(--space-8) * -1);bottom:calc(var(--space-8) * -1);background:var(--color-book-shadow-far);border-radius:var(--book-page-radius);z-index:var(--z-behind);pointer-events:none}.flip-engine .book-sh1{position:absolute;top:var(--space-4);left:var(--space-4);right:calc(var(--space-4) * -1);bottom:calc(var(--space-4) * -1);background:var(--color-book-shadow-near);border-radius:var(--book-page-radius);z-index:var(--z-behind);pointer-events:none}.flip-engine .book-a{position:absolute;top:0;left:0;right:0;height:var(--book-accent-bar-h);z-index:var(--z-overlay);pointer-events:none;border-radius:var(--book-bar-radius) var(--book-bar-radius) 0 0;background:var(--acc)}.flip-engine .page-overlay{position:absolute;inset:0;gap:var(--space-6);padding:var(--space-16);pointer-events:none;text-align:center;z-index:var(--z-base)}.flip-engine .page-overlay.leaf-overlay{z-index:-1}.flip-engine .overlay-names{font-size:clamp(var(--text-md),2.2vw,var(--text-2xl));font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-em-sm);line-height:var(--lh-tight);opacity:.72}.flip-engine .overlay-date{font-size:clamp(var(--text-xs),1.4vw,var(--text-base));letter-spacing:var(--tracking-em-md);opacity:.55}.flip-engine .book-footer-slot{position:absolute;bottom:0;left:0;right:0;z-index:var(--z-overlay-local);pointer-events:none}.flip-engine .nav-arrow{box-sizing:border-box;width:var(--book-nav-arrow-size);height:var(--book-nav-arrow-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-full);font-size:var(--text-xl);line-height:var(--lh-none);cursor:pointer;transition:background var(--transition-base)}.flip-engine .nav-arrow[disabled]{opacity:.35;cursor:not-allowed}.flip-engine .nav-arrow-glyph{pointer-events:none;display:block;flex-shrink:0;width:var(--nav-glyph-size);height:var(--nav-glyph-size);background-color:currentColor;-webkit-mask:center center / contain no-repeat;mask:center center / contain no-repeat}.flip-engine .nav-arrow-prev .nav-arrow-glyph{-webkit-mask-image:var(--nav-chevron-prev);mask-image:var(--nav-chevron-prev)}.flip-engine .nav-arrow-next .nav-arrow-glyph{-webkit-mask-image:var(--nav-chevron-next);mask-image:var(--nav-chevron-next)}.flip-engine .nav-arrow-prev{background:var(--btn-prev-bg, var(--acc));color:var(--icon-color, var(--color-on-accent));border:var(--btn-prev-border, none)}.flip-engine .nav-arrow-prev:hover:not([disabled]){background:var(--accD)}.flip-engine .nav-arrow-next{background:var(--btn-next-bg, var(--acc));color:var(--icon-color, var(--color-on-accent));border:none}.flip-engine .nav-arrow-next:hover:not([disabled]){background:var(--accD)}@media(prefers-reduced-motion:reduce){.flip-engine .page-face:after,.flip-engine .gutter-sh{display:none}}:root{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 20px;--radius-full: 9999px;--border-default: 1px solid var(--br);--border-divider: 1px solid var(--brL);--border-accent: 1px solid var(--acc);--border-accent-light: 1px solid var(--accL);--border-dashed: 1px dashed var(--br);--border-warning: 1px solid var(--color-warning-br);--border-error: 1px solid var(--color-state-error-br);--border-toggle: 1px solid var(--color-toggle-border);--border-selection: 2px solid transparent;--border-spinner: 2px solid currentColor;--border-accent-2: 2px solid var(--accL);--border-resize: 2px solid var(--color-resize-handle);--border-album-header: 1px solid var(--color-album-separator);--border-album-toolbar: 1px solid var(--color-album-separator-light);--outline-drop-receiving: 2px dashed var(--color-drop-receiving-br);--outline-drop-active: 2px dashed var(--acc);--outline-offset-inset: -4px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .06);--shadow-drag: 0 8px 24px rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 3px var(--focus-ring);--shadow-polaroid: 0 1px 3px rgba(0, 0, 0, .22), 0 2px 6px rgba(0, 0, 0, .14);--shadow-book-drop: drop-shadow(0 24px 48px rgba(0, 0, 0, .7));--shadow-book-page-l: inset -6px 0 12px rgba(0, 0, 0, .1);--shadow-book-page-r: inset 6px 0 12px rgba(0, 0, 0, .08);--shadow-toggle: 0 2px 8px rgba(0, 0, 0, .15);--gradient-photo-caption: linear-gradient(transparent, rgba(0, 0, 0, .6));--gradient-book-spine: linear-gradient(to right, var(--color-book-spine-shadow) 0%, var(--color-book-spine-gold) 35%, var(--color-book-spine-gold-hi) 65%, var(--color-book-spine-shadow) 100%);--book-perspective: 2400px;--book-flip-duration: .75s;--book-spine-w: 18px;--book-page-radius: 3px;--book-bar-radius: 2px;--book-accent-bar-h: 3px;--book-nav-arrow-size: 44px;--font-sans: "DM Sans", "Helvetica Neue", sans-serif;--font-serif: "Playfair Display", serif;--font-mono: monospace;--text-2xs: 8px;--text-xs: 10px;--text-sm: 12px;--text-md: 14px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 22px;--text-3xl: 24px;--lh-tight: 1.2;--lh-snug: 1.4;--lh-relaxed: 1.6;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-btn: .2px;--tracking-xs: .3px;--tracking-px: .5px;--tracking-mono: 1px;--tracking-wide: 2px;--tracking-logo: 3px;--tracking-wider: 4px;--tracking-widest: 4px;--tracking-em-sm: .04em;--tracking-em-md: .12em;--lh-none: 1;--icon-sm: 24px;--icon-md: 32px;--icon-lg: 40px;--icon-xl: 56px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-22: 22px;--space-24: 24px;--space-28: 28px;--space-30: 30px;--space-32: 32px;--space-36: 36px;--space-38: 38px;--space-40: 40px;--space-44: 44px;--space-48: 48px;--space-64: 64px;--transition-fast: .15s;--transition-base: .2s;--blur-sm: blur(6px);--blur-md: blur(8px);--z-behind: 0;--z-base: 1;--z-above: 2;--z-flipper: 3;--z-spine: 4;--z-overlay-local: 6;--z-overlay: 10;--z-fixed: 100;--sidebar-width: 210px;--toolbar-h: 52px;--editor-panel-w: 300px;--panel-collapse-btn-h: 48px;--divider-h: 1px;--divider-w: 44px;--album-card-header-h: 100px;--polaroid-img-w: 118px;--polaroid-img-h: 94px;--drag-thumb-w: 80px;--drag-thumb-h: 60px;--drop-hint-min-h: 80px;--font-caption: "Georgia", serif}:root{--album-wedding-bg: #F5F0EB;--album-wedding-accent: #C9A882;--album-wedding-dark: #7C6355;--album-birthday-bg: #FFFBEF;--album-birthday-accent: #F0A830;--album-birthday-dark: #a07820;--album-baptism-bg: #EDF8F4;--album-baptism-accent: #4DB6AC;--album-baptism-dark: #2a7a72;--album-graduation-bg: #F5EEF8;--album-graduation-accent: #A06AB4;--album-graduation-dark: #6a3a80;--album-dark-bg: #1C1C2E;--album-dark-accent: #666677;--album-dark-tag-text: #888888}:root,[data-theme=light]{--bg: #F5F0EB;--card: #ffffff;--sec: #EDE8E2;--acc: #7C6355;--accL: #C9A882;--accD: #3A2818;--tx: #3A2818;--txS: #8B7060;--txT: #A08870;--br: #D4C0B0;--brL: #E8DDD4;--color-bg: var(--bg);--color-surface: var(--card);--color-border: var(--br);--color-text-secondary: var(--txS);--color-text-tertiary: var(--txT);--color-preview-item-border: var(--brL);--color-preview-item-bg: var(--card);--bg-frosted: rgba(255, 255, 255, .8);--bg-frosted-72: rgba(255, 255, 255, .72);--bg-frosted-88: rgba(255, 255, 255, .88);--color-on-accent: #fff;--focus-ring: rgba(124, 99, 85, .12);--color-state-success: #16a34a;--color-state-error: #dc2626;--color-state-error-bg: #fff0f0;--color-state-error-br: #f5c6c6;--color-state-error-text: #c0392b;--color-warn: #e57373;--color-drop-receiving-bg: #edf5e8;--color-drop-receiving-br: #66bb6a;--color-book-desk-start: #5a3e28;--color-book-desk-end: #1e1208;--color-book-shadow-far: #bfa890;--color-book-shadow-near: #d0b8a4;--color-book-page-bg: #fdf5e2;--color-book-spine-shadow: rgba(0, 0, 0, .25);--color-book-spine-gold: rgba(180, 140, 80, .35);--color-book-spine-gold-hi: rgba(200, 160, 90, .35);--color-warning-bg: #fef3c7;--color-warning-br: #f59e0b;--color-warning-tx: #92400e;--color-warning-icon: #d97706;--color-warning-action: #d97706;--color-warning-action-hover: #b45309;--color-warning-sent: #166534;--color-warning-err: #991b1b;--color-icon-overlay: rgba(0, 0, 0, .42);--color-icon-overlay-danger: rgba(180, 0, 0, .85);--color-resize-handle: rgba(0, 0, 0, .4);--color-editor-idle: rgba(255, 255, 255, .4);--color-editor-separator: rgba(255, 255, 255, .15);--color-editor-active: rgba(255, 218, 140, .9);--color-editor-hover: rgba(255, 255, 255, .8);--color-editor-dot: rgba(255, 255, 255, .25);--color-album-separator: rgba(180, 150, 120, .3);--color-album-separator-light: rgba(180, 150, 120, .2);--color-book-footer-bg: rgba(245, 240, 235, .95);--color-page-empty: rgba(0, 0, 0, .18);--color-scrim: rgba(0, 0, 0, .48);--color-dark-tag-bg: rgba(0, 0, 0, .5);--color-toggle-border: rgba(0, 0, 0, .1);--color-toggle-icon: rgba(0, 0, 0, .4);--color-toggle-active-bg: rgba(0, 0, 0, .07);--color-toggle-icon-active: rgba(0, 0, 0, .87);--color-toggle-hover-bg: rgba(0, 0, 0, .04);--color-toggle-icon-hover: rgba(0, 0, 0, .65)}[data-theme=dark]{--bg-frosted: rgba(255, 255, 255, .08);--bg-frosted-72: rgba(255, 255, 255, .06);--bg-frosted-88: rgba(255, 255, 255, .1);--bg: #1a1a2e;--card: #252538;--sec: #1e1e32;--acc: #9a7d6e;--accL: #b8917e;--accD: #e8d5c8;--tx: #e8d5c8;--txS: rgba(255, 255, 255, .54);--txT: rgba(255, 255, 255, .35);--br: #3a3a5c;--brL: #2e2e48;--color-bg: var(--bg);--color-surface: var(--card);--color-border: var(--br);--color-text-secondary: var(--txS);--color-text-tertiary: var(--txT);--color-preview-item-border: var(--brL);--color-preview-item-bg: var(--card);color-scheme:dark;--shadow-toggle: 0 2px 8px rgba(0, 0, 0, .4);--color-toggle-border: rgba(255, 255, 255, .1);--color-toggle-icon: rgba(255, 255, 255, .35);--color-toggle-active-bg: rgba(255, 255, 255, .12);--color-toggle-icon-active: rgba(255, 255, 255, .9);--color-toggle-hover-bg: rgba(255, 255, 255, .07);--color-toggle-icon-hover: rgba(255, 255, 255, .65)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{display:flex;flex-wrap:wrap}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.content-start{align-content:flex-start}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}.min-h-0{min-height:0}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-auto{overflow:auto}.page-center{display:flex;align-items:center;justify-content:center;min-height:100vh}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.rounded-full{border-radius:50%}.text-center{text-align:center}.p-0{padding:0}.m-0{margin:0}html,body{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--card);color:var(--tx)}@keyframes spin{to{transform:rotate(360deg)}}:root{--mat-sys-on-surface: #3A2818;--mat-sys-on-surface-variant: #8B7060;--mat-sys-surface: #ffffff;--mat-sys-surface-container: #EDE8E2;--mat-sys-surface-container-low: #F5F0EB;--mat-sys-surface-container-high: #E0DAD4;--mat-sys-surface-container-highest: #D4CEC8;--mat-sys-background: #F5F0EB;--mat-sys-on-background: #3A2818;--mat-sys-outline: #D4C0B0;--mat-sys-outline-variant: #E8DDD4;--mat-sys-primary: #7C6355;--mat-sys-on-primary: #ffffff}[data-theme=dark]{--mat-sys-on-surface: #e8d5c8;--mat-sys-on-surface-variant: rgba(255, 255, 255, .54);--mat-sys-surface: #252538;--mat-sys-surface-container: #1e1e32;--mat-sys-surface-container-low: #1a1a2e;--mat-sys-surface-container-high: #2a2a3e;--mat-sys-surface-container-highest: #303048;--mat-sys-background: #1a1a2e;--mat-sys-on-background: #e8d5c8;--mat-sys-outline: #3a3a5c;--mat-sys-outline-variant: #2e2e48;--mat-sys-primary: #9a7d6e;--mat-sys-on-primary: #ffffff;--mat-sys-inverse-on-surface: #1a1a2e;--mat-sys-inverse-surface: #e8d5c8}[data-theme=dark] mat-icon{color:#ffffffde}.auth-lbl{font-size:var(--text-sm);color:var(--txT);margin-bottom:var(--space-6);display:block;text-align:left}.auth-inp{width:100%;font-size:var(--text-base);padding:var(--space-12) var(--space-14);border-radius:var(--radius-md);border:var(--border-accent-light);background:var(--bg-frosted);color:var(--tx);font-family:var(--font-sans);margin-bottom:var(--space-16);outline:none;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.auth-inp:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--focus-ring)}.auth-btn{width:100%;background:var(--acc);color:var(--color-on-accent);border:none;padding:var(--space-12);font-size:var(--text-lg);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-serif);letter-spacing:var(--tracking-px);margin-bottom:var(--space-16);transition:background var(--transition-base)}.auth-btn:hover{background:var(--accD)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-link{font-size:var(--text-sm);color:var(--txT);margin:0}.auth-link a{color:var(--acc);text-decoration:none}.auth-link a:hover{text-decoration:underline}.mat-mdc-card{border:var(--border-divider);border-radius:var(--radius-lg)}
