.btn{font-family:var(--font-sans);font-weight:var(--weight-medium);border-radius:var(--radius-md);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.btn-primary{background-color:var(--clay-600);border-color:var(--clay-600);color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:var(--clay-700);border-color:var(--clay-700);color:#fff}.btn-primary:active{transform:translateY(1px)}.btn-outline-primary{color:var(--clay-600);border-color:var(--clay-100)}.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:var(--clay-50);border-color:var(--clay-600);color:var(--clay-700)}.btn-outline-secondary{color:var(--ink-700);border-color:var(--paper-300)}.btn-outline-secondary:hover,.btn-outline-secondary:focus{background-color:var(--paper-100);border-color:var(--paper-300);color:var(--ink-900)}.btn-outline-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.btn-outline-danger:hover,.btn-outline-danger:focus{background-color:var(--danger-50);border-color:var(--danger);color:var(--danger)}.btn-link{color:var(--clay-600);text-decoration:none}.btn-link:hover{color:var(--clay-700);text-decoration:underline}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-full);color:var(--ink-700);background:transparent;border:1px solid var(--paper-200);transition:all var(--dur) var(--ease)}.btn-icon:hover,.btn-icon:focus{background:var(--paper-100);color:var(--clay-700);border-color:var(--paper-300)}.btn-icon:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.card-keepsake{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{--bs-card-bg: var(--surface);--bs-card-border-color: var(--paper-200);--bs-card-border-radius: var(--radius-lg);--bs-card-cap-bg: transparent;box-shadow:var(--shadow-sm)}.badge-keepsake{display:inline-flex;align-items:center;gap:var(--space-1);padding:0.3rem 0.7rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;background:var(--paper-100);color:var(--ink-700)}.badge-keepsake.is-accent{background:var(--clay-50);color:var(--clay-700)}.badge-keepsake.is-sage{background:var(--sage-50);color:var(--sage-700)}.badge-keepsake.is-honey{background:var(--honey-50);color:var(--honey-600)}.bg-primary-subtle{background-color:var(--clay-50) !important}.text-primary-emphasis{color:var(--clay-700) !important}.bg-secondary-subtle{background-color:var(--sage-50) !important}.text-secondary-emphasis{color:var(--sage-700) !important}.form-control,.form-select{border-color:var(--paper-300);border-radius:var(--radius-md);color:var(--ink-900);background-color:var(--surface)}.form-control::placeholder,.form-select::placeholder{color:var(--ink-400)}.form-control:focus,.form-select:focus{border-color:var(--clay-600);background-color:var(--surface);outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.form-label{color:var(--ink-900);font-weight:var(--weight-medium)}.form-check-input:checked{background-color:var(--clay-600);border-color:var(--clay-600)}.form-check-input:focus{border-color:var(--clay-600);outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--gradient-warm);color:#fff;font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.alert-success{--bs-alert-bg: var(--success-50);--bs-alert-border-color: color-mix(in srgb, var(--success) 25%, transparent);--bs-alert-color: var(--success)}.alert-danger{--bs-alert-bg: var(--danger-50);--bs-alert-border-color: color-mix(in srgb, var(--danger) 25%, transparent);--bs-alert-color: var(--danger)}.alert-info{--bs-alert-bg: var(--sage-50);--bs-alert-border-color: color-mix(in srgb, var(--sage-600) 25%, transparent);--bs-alert-color: var(--sage-700)}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--radius-lg);color:var(--ink-500)}.empty-state .empty-state-icon{font-size:2.5rem;color:var(--paper-300);margin-bottom:var(--space-3)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}:root{--paper-50:  #faf7f0;--paper-100: #f3eee4;--paper-200: #eae3d6;--paper-300: #d9cfbe;--surface:   #fffdf8;--ink-900: #2a2622;--ink-700: #4a443c;--ink-500: #6e665b;--ink-400: #8a8275;--clay-700: #9a4733;--clay-600: #b4593e;--clay-100: #ecd3c8;--clay-50:  #f6e8e2;--sage-700:  #586349;--sage-600:  #6f7a5a;--sage-50:   #edf0e6;--honey-600: #b8841f;--honey-500: #d9a441;--honey-50:  #faf0d9;--success: #4c7a53;--success-50: #e7f0e8;--danger:  #b23a2e;--danger-50:  #f7e4e1;--warning: #b8841f;--warning-50: #faf0d9;--gradient-warm: linear-gradient(135deg, #b4593e 0%, #c07a3e 100%);--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs:      0.75rem;--text-sm:      0.875rem;--text-base:    1rem;--text-lg:      1.125rem;--text-xl:      1.375rem;--text-2xl:     1.75rem;--text-3xl:     2.25rem;--text-display: 2.75rem;--leading-tight:  1.15;--leading-snug:   1.35;--leading-normal: 1.6;--weight-regular:  400;--weight-medium:   500;--weight-semibold: 600;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm:   8px;--radius-md:   12px;--radius-lg:   16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(42, 38, 34, 0.04), 0 1px 3px rgba(42, 38, 34, 0.06);--shadow-md: 0 2px 10px rgba(42, 38, 34, 0.07);--shadow-lg: 0 10px 34px rgba(42, 38, 34, 0.12);--ease:      cubic-bezier(0.2, 0, 0, 1);--dur-fast:  120ms;--dur:       200ms;--container-narrow: 640px;--container:        800px;--container-wide:   960px;--bs-primary:          var(--clay-600);--bs-primary-rgb:      180, 89, 62;--bs-body-color:       var(--ink-900);--bs-body-bg:          var(--paper-50);--bs-border-color:     var(--paper-200);--bs-link-color:       var(--clay-600);--bs-link-hover-color: var(--clay-700);--bs-font-sans-serif:  var(--font-sans)}body{background-color:var(--paper-50);color:var(--ink-900);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-serif);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-0.01em;color:var(--ink-900)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--ink-900)}a{color:var(--clay-600);text-underline-offset:2px}a:hover{color:var(--clay-700)}::selection{background:var(--clay-50)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-display{font-family:var(--font-serif);font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:-0.02em;font-weight:var(--weight-semibold)}.text-muted{color:var(--ink-500) !important}.text-hint{color:var(--ink-400);font-size:var(--text-sm)}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-500)}@media (max-width: 576px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}.text-display{font-size:var(--text-2xl)}}.status-badge{padding:0.35rem 0.85rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.03em}.status-badge.status-pending{background:var(--honey-50);color:var(--honey-600)}.status-badge.status-sent{background:var(--sage-50);color:var(--sage-700)}.status-badge.status-accepted{background:var(--success-50);color:var(--success)}.status-badge.status-declined{background:var(--danger-50);color:var(--danger)}.status-badge.status-opted_out,.status-badge.status-expired{background:var(--paper-100);color:var(--ink-500)}.type-badge,.invitation-type-badge{padding:0.25rem 0.6rem;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.03em;background:var(--sage-50);color:var(--sage-700)}.type-badge.ongoing,.type-badge.type-ongoing,.invitation-type-badge.ongoing,.invitation-type-badge.type-ongoing{background:var(--clay-50);color:var(--clay-700)}.type-badge.type-one_off,.invitation-type-badge.type-one_off{background:var(--sage-50);color:var(--sage-700)}.invitations-container{max-width:var(--container-wide);margin:0 auto;padding:var(--space-6) var(--space-4)}.invitations-container .invitations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.invitations-container .invitations-header h1{font-size:var(--text-2xl);margin:0}.invitations-container .new-invite-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0.65rem var(--space-5);background:var(--clay-600);border-radius:var(--radius-md);color:#fff;font-weight:var(--weight-medium);text-decoration:none;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.invitations-container .new-invite-btn:hover{background:var(--clay-700);color:#fff;transform:translateY(-1px)}.invitations-container .stats-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.invitations-container .stat-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-sm)}.invitations-container .stat-number{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--clay-600);line-height:1;font-family:var(--font-serif)}.invitations-container .stat-label{font-size:var(--text-xs);color:var(--ink-500);text-transform:uppercase;letter-spacing:0.05em;margin-top:var(--space-1)}.invitations-container .invitations-list{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.invitations-container .invitation-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--paper-200);transition:background var(--dur) var(--ease)}.invitations-container .invitation-item:last-child{border-bottom:none}.invitations-container .invitation-item:hover{background:var(--paper-100)}.invitations-container .invitation-main{display:flex;align-items:center;gap:var(--space-4);flex:1}.invitations-container .invitation-avatar{width:50px;height:50px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-lg);color:#fff;box-shadow:var(--shadow-sm)}.invitations-container .invitation-avatar.avatar-one_off{background:linear-gradient(135deg, var(--honey-500) 0%, var(--clay-600) 100%)}.invitations-container .invitation-avatar.avatar-ongoing{background:var(--gradient-warm)}.invitations-container .invitation-details{flex:1}.invitations-container .invitation-details h4{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 0.25rem;font-family:var(--font-sans)}.invitations-container .invitation-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-500)}.invitations-container .invitation-meta i{margin-right:0.25rem}.invitations-container .invitation-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.invitations-container .invitation-time{font-size:var(--text-xs);color:var(--ink-500)}.invitations-container .empty-state{border:none;background:transparent}.invitations-container .empty-state i{font-size:4rem;color:var(--paper-300);margin-bottom:var(--space-4)}.invitations-container .empty-state h3{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-900);margin-bottom:var(--space-2)}.invitations-container .empty-state p{color:var(--ink-500);margin-bottom:var(--space-5)}.invitations-container .pagination-container{padding:var(--space-5);display:flex;justify-content:center}@media (max-width: 768px){.invitations-container .invitations-header{flex-direction:column;gap:var(--space-4);text-align:center}.invitations-container .invitation-item{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.invitations-container .invitation-right{flex-direction:row;width:100%;justify-content:space-between;align-items:center}}.invitation-detail-container{max-width:700px;margin:0 auto;padding:var(--space-6) var(--space-4)}.invitation-detail-container .back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-500);text-decoration:none;font-size:var(--text-sm);margin-bottom:var(--space-5);transition:color var(--dur) var(--ease)}.invitation-detail-container .back-link:hover{color:var(--clay-700)}.invitation-detail-container .invitation-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-6)}.invitation-detail-container .invitation-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--paper-200)}.invitation-detail-container .invitee-avatar{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:2rem;color:#fff;background:var(--gradient-warm)}.invitation-detail-container .invitee-info h1{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 var(--space-2)}.invitation-detail-container .invitee-meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.invitation-detail-container .detail-section{margin-bottom:var(--space-5)}.invitation-detail-container .detail-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:0.35rem}.invitation-detail-container .detail-value{font-size:var(--text-base);color:var(--ink-900)}.invitation-detail-container .prompt-box{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-serif);font-style:italic;color:var(--ink-700);border-left:3px solid var(--honey-500)}.invitation-detail-container .timeline{position:relative;padding-left:var(--space-5)}.invitation-detail-container .timeline::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--paper-200)}.invitation-detail-container .timeline-item{position:relative;padding-bottom:var(--space-4)}.invitation-detail-container .timeline-item:last-child{padding-bottom:0}.invitation-detail-container .timeline-dot{position:absolute;left:-1.5rem;top:4px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--surface);border:3px solid var(--clay-600)}.invitation-detail-container .timeline-dot.completed{background:var(--clay-600)}.invitation-detail-container .timeline-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.invitation-detail-container .timeline-event{font-size:var(--text-sm);color:var(--ink-900)}.invitation-detail-container .timeline-time{font-size:var(--text-xs);color:var(--ink-500)}.invitation-detail-container .memories-section h3{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-4)}.invitation-detail-container .memory-preview{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.invitation-detail-container .memory-preview p{margin:0;font-size:var(--text-base);color:var(--ink-700);font-family:var(--font-serif)}.invitation-detail-container .memory-preview .memory-date{font-size:var(--text-xs);color:var(--ink-500);margin-top:var(--space-2);padding:0}.invitation-detail-container .no-memories{text-align:center;padding:var(--space-6);color:var(--ink-500)}.invitation-detail-container .no-memories i{font-size:2.5rem;margin-bottom:var(--space-3);color:var(--paper-300);display:block}.invitation-detail-container .action-buttons{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--paper-200)}.invitation-detail-container .action-btn{padding:0.75rem 1.25rem;border-radius:var(--radius-md);font-weight:var(--weight-medium);text-decoration:none;display:flex;align-items:center;gap:var(--space-2);transition:all var(--dur) var(--ease)}.invitation-detail-container .action-btn-primary{background:var(--clay-600);color:#fff;border:none}.invitation-detail-container .action-btn-primary:hover{background:var(--clay-700);color:#fff}.invitation-detail-container .action-btn-secondary{background:var(--surface);color:var(--ink-700);border:1px solid var(--paper-200)}.invitation-detail-container .action-btn-secondary:hover{background:var(--paper-100);color:var(--ink-900)}.accept-container{max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.accept-container .accept-hero{text-align:center;margin-bottom:var(--space-6)}.accept-container .hero-icon{width:80px;height:80px;background:var(--gradient-warm);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.accept-container .hero-icon i{font-size:2.5rem;color:#fff}.accept-container .accept-hero h1{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-3)}.accept-container .accept-hero p{color:var(--ink-500);font-size:var(--text-lg)}.accept-container .accept-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-5)}.accept-container .invitation-summary{text-align:center;padding-bottom:var(--space-5);border-bottom:1px solid var(--paper-200);margin-bottom:var(--space-5)}.accept-container .inviter-name{font-size:var(--text-lg);color:var(--ink-900);margin-bottom:var(--space-2)}.accept-container .inviter-name strong{color:var(--clay-700)}.accept-container .subject-highlight{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--clay-50);padding:0.75rem 1.25rem;border-radius:var(--radius-full);margin-top:var(--space-2)}.accept-container .subject-avatar{width:36px;height:36px;background:var(--clay-600);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--weight-semibold)}.accept-container .subject-name{font-weight:var(--weight-semibold);color:var(--clay-700)}.accept-container .prompt-box{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4);font-family:var(--font-serif);font-style:italic;color:var(--ink-700);border-left:3px solid var(--honey-500)}.accept-container .section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:var(--space-4)}.accept-container .cadence-options{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-3)}.accept-container .cadence-option{position:relative;cursor:pointer}.accept-container .cadence-option input{position:absolute;opacity:0}.accept-container .cadence-label{display:block;padding:var(--space-4);background:var(--paper-100);border:2px solid transparent;border-radius:var(--radius-md);text-align:center;transition:all var(--dur) var(--ease)}.accept-container .cadence-label strong{display:block;color:var(--ink-900);font-size:var(--text-sm);margin-bottom:0.25rem}.accept-container .cadence-label span{font-size:var(--text-xs);color:var(--ink-500)}.accept-container .cadence-label:hover{border-color:var(--clay-100)}.accept-container .cadence-option input:checked+.cadence-label{border-color:var(--clay-600);background:var(--clay-50)}.accept-container .merge-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--paper-200)}.accept-container .merge-alert{background:var(--honey-50);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.accept-container .merge-alert i{color:var(--honey-600);font-size:var(--text-lg)}.accept-container .merge-alert strong{color:var(--honey-600);display:block;margin-bottom:0.25rem}.accept-container .merge-alert p{color:var(--ink-700);font-size:var(--text-sm);margin:0}.accept-container .merge-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--paper-100);border-radius:var(--radius-sm);margin-bottom:var(--space-2);cursor:pointer;border:2px solid transparent;transition:all var(--dur) var(--ease)}.accept-container .merge-option:hover{border-color:var(--clay-100)}.accept-container .merge-option strong{display:block;color:var(--ink-900);font-size:var(--text-sm)}.accept-container .merge-option span{font-size:var(--text-sm);color:var(--ink-500)}.accept-container .action-buttons{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.accept-container .btn-accept{flex:1;padding:var(--space-4) var(--space-5);background:var(--clay-600);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.accept-container .btn-accept:hover{background:var(--clay-700);transform:translateY(-1px)}.accept-container .btn-decline{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);color:var(--ink-500);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--dur) var(--ease)}.accept-container .btn-decline:hover{background:var(--danger-50);color:var(--danger);border-color:var(--danger)}.accept-container .footer-note{text-align:center;margin-top:var(--space-6);padding:var(--space-4);background:var(--paper-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-500)}.accept-container .footer-note a{color:var(--clay-600)}@media (max-width: 576px){.accept-container .cadence-options{grid-template-columns:1fr}.accept-container .action-buttons{flex-direction:column}}.invite-container{max-width:var(--container-wide);margin:0 auto;padding:var(--space-6) var(--space-4)}.invite-container .invite-header{text-align:center;margin-bottom:var(--space-7)}.invite-container .invite-header h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-2)}.invite-container .invite-header p{color:var(--ink-500);font-size:var(--text-lg);max-width:500px;margin:0 auto}.invite-container .invite-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-6)}.invite-container .section-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--clay-700);margin-bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3)}.invite-container .section-title i{font-size:var(--text-base);color:var(--honey-500)}.invite-container .subject-select{position:relative}.invite-container .form-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:0.35rem}.invite-container .invitee-row{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-4);position:relative;border:1px solid transparent;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.invite-container .invitee-row:hover{border-color:var(--clay-100)}.invite-container .invitee-row.highlighted{border-color:var(--honey-500);transform:scale(1.01)}.invite-container .invitee-number{position:absolute;left:-0.5rem;top:-0.5rem;width:28px;height:28px;background:var(--clay-600);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.invite-container .remove-invitee{position:absolute;right:0.5rem;top:0.5rem;width:28px;height:28px;background:transparent;border:none;color:var(--ink-500);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--dur) var(--ease)}.invite-container .remove-invitee:hover{background:var(--danger-50);color:var(--danger)}.invite-container .invite-type-toggle{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.invite-container .invite-type-btn{flex:1;padding:0.6rem var(--space-4);border:2px solid var(--paper-200);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-500);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--dur) var(--ease)}.invite-container .invite-type-btn input{display:none}.invite-container .invite-type-btn:hover{border-color:var(--clay-100);color:var(--clay-700)}.invite-container .invite-type-btn.active{background:var(--clay-600);border-color:var(--clay-600);color:#fff}.invite-container .prompt-field{display:none;margin-top:var(--space-3)}.invite-container .prompt-field.show{display:block;animation:slideDown var(--dur) var(--ease)}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-container .add-invitee-btn{width:100%;padding:var(--space-4);border:2px dashed var(--paper-300);border-radius:var(--radius-md);background:transparent;color:var(--ink-500);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--dur) var(--ease)}.invite-container .add-invitee-btn:hover{border-color:var(--clay-600);color:var(--clay-700);background:var(--clay-50)}.invite-container .submit-section{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.invite-container .submit-btn{padding:var(--space-4) 2.5rem;background:var(--clay-600);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.invite-container .submit-btn:hover{background:var(--clay-700);transform:translateY(-1px)}.invite-container .submit-btn:active{transform:translateY(0)}.invite-container .invitee-count{color:var(--ink-500);font-size:var(--text-sm)}.invite-container .invitee-count strong{color:var(--clay-700);font-weight:var(--weight-semibold)}.invite-container .recent-invitations{margin-top:var(--space-7)}.invite-container .invitation-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.invite-container .invitation-info{display:flex;align-items:center;gap:var(--space-4)}.invite-container .invitation-avatar{width:44px;height:44px;background:var(--gradient-warm);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--weight-semibold)}.invite-container .invitation-details h5{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 0.25rem}.invite-container .invitation-details p{font-size:var(--text-xs);color:var(--ink-500);margin:0}.invite-container .invitation-status{display:flex;align-items:center;gap:var(--space-2)}.invite-container .invitation-time{font-size:var(--text-xs);color:var(--ink-500)}@media (max-width: 768px){.invite-container .invite-header h1{font-size:var(--text-2xl)}.invite-container .submit-section{flex-direction:column-reverse}.invite-container .submit-btn{width:100%;justify-content:center}}.error-container,.success-container{max-width:500px;margin:0 auto;padding:var(--space-6) var(--space-4);min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.error-container h1,.success-container h1{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-900);margin-bottom:var(--space-3)}.error-container p,.success-container p{color:var(--ink-500);font-size:var(--text-lg);margin-bottom:var(--space-6)}.error-container .error-icon,.error-container .success-icon,.success-container .error-icon,.success-container .success-icon{width:100px;height:100px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.error-container .error-icon i,.error-container .success-icon i,.success-container .error-icon i,.success-container .success-icon i{font-size:3rem}.error-container .btn-home,.success-container .btn-home{display:inline-block;padding:0.75rem var(--space-5);background:var(--clay-600);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:var(--weight-medium)}.error-container .btn-home:hover,.success-container .btn-home:hover{background:var(--clay-700);color:#fff}.error-container .contact-note,.success-container .contact-note{background:var(--paper-100);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-500);margin-bottom:var(--space-5)}.error-container .error-icon{background:var(--honey-50)}.error-container .error-icon i{color:var(--honey-600)}.invalid-page .error-icon{background:var(--danger-50)}.invalid-page .error-icon i{color:var(--danger)}.success-container .success-icon{background:var(--success-50)}.success-container .success-icon i{color:var(--success)}.success-container .info-card{background:var(--surface);border:1px solid var(--paper-200);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);text-align:left;width:100%}.success-container .info-card .info-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--paper-200)}.success-container .info-card .info-row:last-child{border-bottom:none}.success-container .info-card .info-label{color:var(--ink-500);font-size:var(--text-sm)}.success-container .info-card .info-value{color:var(--ink-900);font-weight:var(--weight-medium)}.landing-body{padding-bottom:0;background-color:#fff}.landing-nav{background:var(--gradient-warm);padding:12px 0;position:sticky;top:0;z-index:1000}.landing-nav .btn-outline-light{border-radius:var(--radius-sm);font-weight:500}.landing-nav .btn-outline-light:hover{background-color:rgba(255,255,255,0.2);border-color:#fff}.landing-nav .btn-light{border-radius:var(--radius-sm);color:var(--clay-600)}.landing-brand{color:#fff !important;font-weight:700;font-size:1.25rem;text-decoration:none}.landing-brand i{margin-right:6px}.landing-hero{background:var(--gradient-warm);padding:80px 0 100px;color:#fff}.landing-hero-title{font-size:2.75rem;font-weight:700;line-height:1.2;margin-bottom:20px}.landing-hero-subtitle{font-size:1.2rem;opacity:0.9;line-height:1.6;max-width:400px;margin:0 auto}.landing-hero .btn-light{color:var(--clay-600);border-radius:var(--radius-sm)}.landing-hero .btn-light:hover{background-color:#f0f0ff}.landing-hero .btn-outline-light{border-radius:var(--radius-sm)}.landing-hero .btn-outline-light:hover{background-color:rgba(255,255,255,0.15)}.landing-section{padding:80px 0}.landing-section-alt{background-color:var(--paper-100)}.landing-section-title{text-align:center;font-size:2rem;font-weight:700;color:var(--ink-900);margin-bottom:8px}.landing-section-subtitle{text-align:center;font-size:1.1rem;color:var(--ink-700)}.landing-step-card{background:#fff;border-radius:var(--radius-md);padding:32px 24px;text-align:center;box-shadow:0 2px 8px rgba(42,38,34,0.08);border:1px solid #f0f0f8;height:100%}.landing-step-card h3{font-size:1.25rem;font-weight:600;color:var(--ink-900);margin-bottom:12px}.landing-step-card p{color:var(--ink-700);margin-bottom:0;line-height:1.5}.landing-step-icon{width:64px;height:64px;border-radius:50%;background:var(--gradient-warm);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.landing-step-icon i{font-size:28px;color:#fff}.landing-step-number{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:var(--paper-100);color:var(--clay-600);font-weight:700;font-size:0.85rem;line-height:28px;text-align:center;margin-bottom:12px}.landing-quote-section{padding:80px 0;background:#fff}.landing-quote-icon{font-size:3rem;color:var(--clay-600);opacity:0.3;display:block;margin-bottom:16px}.landing-quote{font-size:1.35rem;color:var(--ink-900);line-height:1.7;font-style:italic;border:none;padding:0;margin:0}.landing-sms-cta{background:rgba(255,255,255,0.15);border-radius:var(--radius-md);padding:24px 32px;display:inline-block}.landing-sms-instruction{font-size:1.1rem;margin-bottom:4px;opacity:0.95}.landing-sms-number{font-size:2.25rem;font-weight:700;letter-spacing:1px;margin-bottom:4px}.landing-sms-hint{font-size:0.95rem;opacity:0.8;margin-bottom:0}.landing-sms-cta-bottom{background:rgba(255,255,255,0.15)}.landing-feature-card{background:#fff;border-radius:var(--radius-md);padding:28px 24px;box-shadow:0 2px 8px rgba(42,38,34,0.08);border:1px solid #f0f0f8;height:100%}.landing-feature-card h4{font-size:1.1rem;font-weight:600;color:var(--ink-900);margin-bottom:8px}.landing-feature-card p{color:var(--ink-700);margin-bottom:0;font-size:0.95rem;line-height:1.5}.landing-feature-icon{font-size:1.75rem;color:var(--clay-600);margin-bottom:12px;display:block}.landing-cta{background:var(--gradient-warm);padding:80px 0;color:#fff}.landing-cta-title{font-size:2rem;font-weight:700;margin-bottom:12px}.landing-cta-subtitle{font-size:1.15rem;opacity:0.9}.landing-cta .btn-light{color:var(--clay-600);border-radius:var(--radius-sm)}.landing-cta .btn-light:hover{background-color:#f0f0ff}.landing-footer{background-color:var(--ink-900);color:rgba(255,255,255,0.85);padding:32px 0}.landing-footer .text-danger{color:var(--clay-600) !important}@media (max-width: 768px){.landing-hero{padding:60px 0 80px}.landing-hero-title{font-size:2rem}.landing-hero-subtitle{font-size:1.05rem}.landing-section{padding:60px 0}.landing-section-title{font-size:1.6rem}.landing-quote{font-size:1.15rem}.landing-cta{padding:60px 0}.landing-cta-title{font-size:1.6rem}.landing-sms-number{font-size:1.75rem}}.memory-container{max-width:var(--container);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.memory-header{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-5)}.memory-header h1{font-size:var(--text-2xl);margin:0}.memory-header .btn-primary,.memory-header .btn-outline-secondary{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-full);font-size:var(--text-lg);line-height:1}.memory-header .btn-outline-secondary{color:var(--clay-600);border-color:var(--paper-300)}.memory-header .btn-outline-secondary:hover,.memory-header .btn-outline-secondary:focus{background:var(--clay-50);color:var(--clay-700);border-color:var(--clay-100)}.admin-bypass-bar{background:var(--paper-100) !important;border-color:var(--paper-200) !important;border-radius:var(--radius-md)}.timeline-progress-container{display:flex;align-items:center;width:100%;margin-top:var(--space-3)}.timeline-date-label{font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap}.memory-progress{height:6px;background-color:var(--paper-100);border-radius:var(--radius-full);margin:0 var(--space-3)}.memory-progress .progress-bar{background:var(--gradient-warm);border-radius:var(--radius-full)}#peopleFilterCollapse .border{border-color:var(--paper-200) !important}#peopleFilterCollapse .bg-light{background-color:var(--paper-100) !important;border-radius:var(--radius-md)}#peopleFilterCollapse .form-check-input:checked{background-color:var(--clay-600);border-color:var(--clay-600)}#peopleFilterCollapse .btn-secondary{background:var(--clay-600);border:none;margin-right:var(--space-2)}#peopleFilterCollapse .btn-secondary:hover{background:var(--clay-700)}.memories-list{display:flex;flex-direction:column;gap:var(--space-4)}.memory-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.memory-card:hover{box-shadow:var(--shadow-md);border-color:var(--paper-300)}.memory-date{padding:var(--space-4) var(--space-5) 0}.memory-date>span:first-child{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-500)}.memory-category{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--clay-700);background:var(--clay-50);padding:0.25rem 0.6rem;border-radius:var(--radius-full)}.memory-question{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--ink-900);padding:var(--space-2) var(--space-5) var(--space-3)}.memory-content{padding:0 var(--space-5) var(--space-4)}.memory-text{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-700);margin:0;padding:var(--space-1) 0;white-space:pre-wrap}.memory-plain-text{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-900);padding:var(--space-1) 0}.memory-image{margin:0 0 var(--space-3);overflow:hidden;border-radius:var(--radius-md)}.memory-image img{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-md);transition:transform var(--dur) var(--ease)}.memory-image img:hover{transform:scale(1.02)}.memory-video{width:100%;max-height:360px;margin:0 0 var(--space-3);border-radius:var(--radius-md)}.memory-audio{width:100%;margin:0 0 var(--space-3)}.memory-file{display:flex;align-items:center;background:var(--clay-50);border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-3);color:var(--ink-900);text-decoration:none;transition:background var(--dur) var(--ease)}.memory-file:hover{background:var(--clay-100)}.memory-file i{font-size:1.5rem;color:var(--clay-600);margin-right:var(--space-4)}.memory-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:var(--space-3) var(--space-5);border-top:1px solid var(--paper-200);background:var(--surface)}.memory-person-container{display:flex;align-items:center}.memory-person-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-warm);display:flex;align-items:center;justify-content:center;margin-right:var(--space-3);box-shadow:var(--shadow-sm);flex-shrink:0}.avatar-text{color:#fff;font-weight:var(--weight-semibold);font-size:var(--text-base)}.memory-person-info{font-weight:var(--weight-medium);color:var(--ink-900);line-height:var(--leading-snug);font-size:var(--text-sm)}.memory-person-relationship{font-size:var(--text-xs);color:var(--ink-500);font-weight:var(--weight-regular);margin-top:1px}.memory-contributor{font-size:var(--text-xs);color:var(--ink-500)}.memory-contributor i{margin-right:var(--space-1);color:var(--clay-600)}.memory-visibility{font-size:var(--text-xs);color:var(--ink-500)}.memory-visibility i{color:var(--ink-400);margin-right:var(--space-1)}.memory-actions{display:flex;align-items:center;gap:var(--space-2)}.memory-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--ink-500);text-decoration:none;transition:all var(--dur) var(--ease)}.memory-edit-btn:hover,.memory-edit-btn:focus{color:var(--clay-700);background:var(--clay-50)}.memory-edit-btn i{font-size:var(--text-sm)}.pagination-simple{display:flex;align-items:center;justify-content:center;gap:var(--space-4);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-5);max-width:375px;margin:0 auto}.pagination-btn{color:var(--clay-600);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-xl);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--dur) var(--ease);line-height:1}.pagination-btn:hover{background:var(--paper-100);color:var(--clay-700)}.pagination-btn.disabled{color:var(--ink-400);pointer-events:none}.pagination-info{color:var(--ink-500);font-size:var(--text-sm);font-weight:var(--weight-medium)}.memory-file-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3)}.memory-download-btn,.transcript-toggle{display:flex;align-items:center;gap:var(--space-2);background:var(--clay-50);border:1px solid var(--clay-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--clay-700);font-size:var(--text-xs);font-weight:var(--weight-medium);text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease)}.memory-download-btn:hover,.transcript-toggle:hover{background:var(--clay-100);color:var(--clay-700)}.memory-transcript{display:contents}.transcript-toggle .transcript-chevron{margin-left:auto;font-size:var(--text-xs);transition:transform var(--dur) var(--ease)}.transcript-content{flex-basis:100%;padding:var(--space-4);margin-top:var(--space-2);background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--radius-md);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-700);white-space:pre-wrap}.transcript-pending{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-500);padding:var(--space-2) 0}.transcript-pending i{animation:spin 2s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.memory-edit-form{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.memory-edit-form .form-label{color:var(--ink-900);margin-bottom:var(--space-2)}.memory-edit-form .btn-primary{padding:0.6rem var(--space-5);font-weight:var(--weight-medium)}.memory-edit-form .text-muted{font-size:var(--text-sm)}@media (max-width: 576px){.memory-container{padding:var(--space-4) var(--space-3) var(--space-6)}.memory-header{padding:var(--space-4)}}.person-card{transition:box-shadow 0.2s ease}.person-card:hover{box-shadow:0 4px 12px rgba(42,38,34,0.08)}.person-card .person-badges{display:flex;flex-wrap:wrap;gap:0.25rem}.deleted-person-card{opacity:0.8;background-color:#fffbf0}.danger-zone .card.border-danger{border-width:1px;background-color:#fff5f5}.settings-form fieldset{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.settings-form legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.person-form fieldset{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.person-form legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.questions-section{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.questions-section legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.questions-section .question-row:last-child{border-bottom:none !important}.questions-section .question-toggle{background:none;line-height:1}.questions-section .question-toggle:hover{opacity:0.7}.questions-section .add-question-form small{display:block;margin-top:0.25rem}.app-brand{font-family:var(--font-serif);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--ink-900);text-decoration:none}.app-brand i{color:var(--clay-600)}.app-brand:hover{color:var(--clay-700)}.navbar .nav-link{color:var(--ink-700);text-decoration:none;padding:0.5rem 0}.navbar .nav-link:hover{color:var(--clay-600)}.navbar .nav-link.active{color:var(--clay-600);border-bottom:2px solid var(--clay-600)}:root{--paper-50:  #faf7f0;--paper-100: #f3eee4;--paper-200: #eae3d6;--paper-300: #d9cfbe;--surface:   #fffdf8;--ink-900: #2a2622;--ink-700: #4a443c;--ink-500: #6e665b;--ink-400: #8a8275;--clay-700: #9a4733;--clay-600: #b4593e;--clay-100: #ecd3c8;--clay-50:  #f6e8e2;--sage-700:  #586349;--sage-600:  #6f7a5a;--sage-50:   #edf0e6;--honey-600: #b8841f;--honey-500: #d9a441;--honey-50:  #faf0d9;--success: #4c7a53;--success-50: #e7f0e8;--danger:  #b23a2e;--danger-50:  #f7e4e1;--warning: #b8841f;--warning-50: #faf0d9;--gradient-warm: linear-gradient(135deg, #b4593e 0%, #c07a3e 100%);--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs:      0.75rem;--text-sm:      0.875rem;--text-base:    1rem;--text-lg:      1.125rem;--text-xl:      1.375rem;--text-2xl:     1.75rem;--text-3xl:     2.25rem;--text-display: 2.75rem;--leading-tight:  1.15;--leading-snug:   1.35;--leading-normal: 1.6;--weight-regular:  400;--weight-medium:   500;--weight-semibold: 600;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm:   8px;--radius-md:   12px;--radius-lg:   16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(42, 38, 34, 0.04), 0 1px 3px rgba(42, 38, 34, 0.06);--shadow-md: 0 2px 10px rgba(42, 38, 34, 0.07);--shadow-lg: 0 10px 34px rgba(42, 38, 34, 0.12);--ease:      cubic-bezier(0.2, 0, 0, 1);--dur-fast:  120ms;--dur:       200ms;--container-narrow: 640px;--container:        800px;--container-wide:   960px;--bs-primary:          var(--clay-600);--bs-primary-rgb:      180, 89, 62;--bs-body-color:       var(--ink-900);--bs-body-bg:          var(--paper-50);--bs-border-color:     var(--paper-200);--bs-link-color:       var(--clay-600);--bs-link-hover-color: var(--clay-700);--bs-font-sans-serif:  var(--font-sans)}body{background-color:var(--paper-50);color:var(--ink-900);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-serif);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-0.01em;color:var(--ink-900)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--ink-900)}a{color:var(--clay-600);text-underline-offset:2px}a:hover{color:var(--clay-700)}::selection{background:var(--clay-50)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-display{font-family:var(--font-serif);font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:-0.02em;font-weight:var(--weight-semibold)}.text-muted{color:var(--ink-500) !important}.text-hint{color:var(--ink-400);font-size:var(--text-sm)}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-500)}@media (max-width: 576px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}.text-display{font-size:var(--text-2xl)}}.btn{font-family:var(--font-sans);font-weight:var(--weight-medium);border-radius:var(--radius-md);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.btn-primary{background-color:var(--clay-600);border-color:var(--clay-600);color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:var(--clay-700);border-color:var(--clay-700);color:#fff}.btn-primary:active{transform:translateY(1px)}.btn-outline-primary{color:var(--clay-600);border-color:var(--clay-100)}.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:var(--clay-50);border-color:var(--clay-600);color:var(--clay-700)}.btn-outline-secondary{color:var(--ink-700);border-color:var(--paper-300)}.btn-outline-secondary:hover,.btn-outline-secondary:focus{background-color:var(--paper-100);border-color:var(--paper-300);color:var(--ink-900)}.btn-outline-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.btn-outline-danger:hover,.btn-outline-danger:focus{background-color:var(--danger-50);border-color:var(--danger);color:var(--danger)}.btn-link{color:var(--clay-600);text-decoration:none}.btn-link:hover{color:var(--clay-700);text-decoration:underline}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-full);color:var(--ink-700);background:transparent;border:1px solid var(--paper-200);transition:all var(--dur) var(--ease)}.btn-icon:hover,.btn-icon:focus{background:var(--paper-100);color:var(--clay-700);border-color:var(--paper-300)}.btn-icon:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.card-keepsake{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{--bs-card-bg: var(--surface);--bs-card-border-color: var(--paper-200);--bs-card-border-radius: var(--radius-lg);--bs-card-cap-bg: transparent;box-shadow:var(--shadow-sm)}.badge-keepsake{display:inline-flex;align-items:center;gap:var(--space-1);padding:0.3rem 0.7rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;background:var(--paper-100);color:var(--ink-700)}.badge-keepsake.is-accent{background:var(--clay-50);color:var(--clay-700)}.badge-keepsake.is-sage{background:var(--sage-50);color:var(--sage-700)}.badge-keepsake.is-honey{background:var(--honey-50);color:var(--honey-600)}.bg-primary-subtle{background-color:var(--clay-50) !important}.text-primary-emphasis{color:var(--clay-700) !important}.bg-secondary-subtle{background-color:var(--sage-50) !important}.text-secondary-emphasis{color:var(--sage-700) !important}.form-control,.form-select{border-color:var(--paper-300);border-radius:var(--radius-md);color:var(--ink-900);background-color:var(--surface)}.form-control::placeholder,.form-select::placeholder{color:var(--ink-400)}.form-control:focus,.form-select:focus{border-color:var(--clay-600);background-color:var(--surface);outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.form-label{color:var(--ink-900);font-weight:var(--weight-medium)}.form-check-input:checked{background-color:var(--clay-600);border-color:var(--clay-600)}.form-check-input:focus{border-color:var(--clay-600);outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--clay-600) 22%, transparent)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--gradient-warm);color:#fff;font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.alert-success{--bs-alert-bg: var(--success-50);--bs-alert-border-color: color-mix(in srgb, var(--success) 25%, transparent);--bs-alert-color: var(--success)}.alert-danger{--bs-alert-bg: var(--danger-50);--bs-alert-border-color: color-mix(in srgb, var(--danger) 25%, transparent);--bs-alert-color: var(--danger)}.alert-info{--bs-alert-bg: var(--sage-50);--bs-alert-border-color: color-mix(in srgb, var(--sage-600) 25%, transparent);--bs-alert-color: var(--sage-700)}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--radius-lg);color:var(--ink-500)}.empty-state .empty-state-icon{font-size:2.5rem;color:var(--paper-300);margin-bottom:var(--space-3)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}.memory-container{max-width:var(--container);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.memory-header{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-5)}.memory-header h1{font-size:var(--text-2xl);margin:0}.memory-header .btn-primary,.memory-header .btn-outline-secondary{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-full);font-size:var(--text-lg);line-height:1}.memory-header .btn-outline-secondary{color:var(--clay-600);border-color:var(--paper-300)}.memory-header .btn-outline-secondary:hover,.memory-header .btn-outline-secondary:focus{background:var(--clay-50);color:var(--clay-700);border-color:var(--clay-100)}.admin-bypass-bar{background:var(--paper-100) !important;border-color:var(--paper-200) !important;border-radius:var(--radius-md)}.timeline-progress-container{display:flex;align-items:center;width:100%;margin-top:var(--space-3)}.timeline-date-label{font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap}.memory-progress{height:6px;background-color:var(--paper-100);border-radius:var(--radius-full);margin:0 var(--space-3)}.memory-progress .progress-bar{background:var(--gradient-warm);border-radius:var(--radius-full)}#peopleFilterCollapse .border{border-color:var(--paper-200) !important}#peopleFilterCollapse .bg-light{background-color:var(--paper-100) !important;border-radius:var(--radius-md)}#peopleFilterCollapse .form-check-input:checked{background-color:var(--clay-600);border-color:var(--clay-600)}#peopleFilterCollapse .btn-secondary{background:var(--clay-600);border:none;margin-right:var(--space-2)}#peopleFilterCollapse .btn-secondary:hover{background:var(--clay-700)}.memories-list{display:flex;flex-direction:column;gap:var(--space-4)}.memory-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.memory-card:hover{box-shadow:var(--shadow-md);border-color:var(--paper-300)}.memory-date{padding:var(--space-4) var(--space-5) 0}.memory-date>span:first-child{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-500)}.memory-category{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--clay-700);background:var(--clay-50);padding:0.25rem 0.6rem;border-radius:var(--radius-full)}.memory-question{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--ink-900);padding:var(--space-2) var(--space-5) var(--space-3)}.memory-content{padding:0 var(--space-5) var(--space-4)}.memory-text{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-700);margin:0;padding:var(--space-1) 0;white-space:pre-wrap}.memory-plain-text{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-900);padding:var(--space-1) 0}.memory-image{margin:0 0 var(--space-3);overflow:hidden;border-radius:var(--radius-md)}.memory-image img{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-md);transition:transform var(--dur) var(--ease)}.memory-image img:hover{transform:scale(1.02)}.memory-video{width:100%;max-height:360px;margin:0 0 var(--space-3);border-radius:var(--radius-md)}.memory-audio{width:100%;margin:0 0 var(--space-3)}.memory-file{display:flex;align-items:center;background:var(--clay-50);border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-3);color:var(--ink-900);text-decoration:none;transition:background var(--dur) var(--ease)}.memory-file:hover{background:var(--clay-100)}.memory-file i{font-size:1.5rem;color:var(--clay-600);margin-right:var(--space-4)}.memory-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:var(--space-3) var(--space-5);border-top:1px solid var(--paper-200);background:var(--surface)}.memory-person-container{display:flex;align-items:center}.memory-person-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-warm);display:flex;align-items:center;justify-content:center;margin-right:var(--space-3);box-shadow:var(--shadow-sm);flex-shrink:0}.avatar-text{color:#fff;font-weight:var(--weight-semibold);font-size:var(--text-base)}.memory-person-info{font-weight:var(--weight-medium);color:var(--ink-900);line-height:var(--leading-snug);font-size:var(--text-sm)}.memory-person-relationship{font-size:var(--text-xs);color:var(--ink-500);font-weight:var(--weight-regular);margin-top:1px}.memory-contributor{font-size:var(--text-xs);color:var(--ink-500)}.memory-contributor i{margin-right:var(--space-1);color:var(--clay-600)}.memory-visibility{font-size:var(--text-xs);color:var(--ink-500)}.memory-visibility i{color:var(--ink-400);margin-right:var(--space-1)}.memory-actions{display:flex;align-items:center;gap:var(--space-2)}.memory-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--ink-500);text-decoration:none;transition:all var(--dur) var(--ease)}.memory-edit-btn:hover,.memory-edit-btn:focus{color:var(--clay-700);background:var(--clay-50)}.memory-edit-btn i{font-size:var(--text-sm)}.pagination-simple{display:flex;align-items:center;justify-content:center;gap:var(--space-4);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-5);max-width:375px;margin:0 auto}.pagination-btn{color:var(--clay-600);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-xl);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--dur) var(--ease);line-height:1}.pagination-btn:hover{background:var(--paper-100);color:var(--clay-700)}.pagination-btn.disabled{color:var(--ink-400);pointer-events:none}.pagination-info{color:var(--ink-500);font-size:var(--text-sm);font-weight:var(--weight-medium)}.memory-file-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3)}.memory-download-btn,.transcript-toggle{display:flex;align-items:center;gap:var(--space-2);background:var(--clay-50);border:1px solid var(--clay-100);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--clay-700);font-size:var(--text-xs);font-weight:var(--weight-medium);text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease)}.memory-download-btn:hover,.transcript-toggle:hover{background:var(--clay-100);color:var(--clay-700)}.memory-transcript{display:contents}.transcript-toggle .transcript-chevron{margin-left:auto;font-size:var(--text-xs);transition:transform var(--dur) var(--ease)}.transcript-content{flex-basis:100%;padding:var(--space-4);margin-top:var(--space-2);background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--radius-md);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-700);white-space:pre-wrap}.transcript-pending{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-500);padding:var(--space-2) 0}.transcript-pending i{animation:spin 2s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.memory-edit-form{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.memory-edit-form .form-label{color:var(--ink-900);margin-bottom:var(--space-2)}.memory-edit-form .btn-primary{padding:0.6rem var(--space-5);font-weight:var(--weight-medium)}.memory-edit-form .text-muted{font-size:var(--text-sm)}@media (max-width: 576px){.memory-container{padding:var(--space-4) var(--space-3) var(--space-6)}.memory-header{padding:var(--space-4)}}.landing-body{padding-bottom:0;background-color:#fff}.landing-nav{background:var(--gradient-warm);padding:12px 0;position:sticky;top:0;z-index:1000}.landing-nav .btn-outline-light{border-radius:var(--radius-sm);font-weight:500}.landing-nav .btn-outline-light:hover{background-color:rgba(255,255,255,0.2);border-color:#fff}.landing-nav .btn-light{border-radius:var(--radius-sm);color:var(--clay-600)}.landing-brand{color:#fff !important;font-weight:700;font-size:1.25rem;text-decoration:none}.landing-brand i{margin-right:6px}.landing-hero{background:var(--gradient-warm);padding:80px 0 100px;color:#fff}.landing-hero-title{font-size:2.75rem;font-weight:700;line-height:1.2;margin-bottom:20px}.landing-hero-subtitle{font-size:1.2rem;opacity:0.9;line-height:1.6;max-width:400px;margin:0 auto}.landing-hero .btn-light{color:var(--clay-600);border-radius:var(--radius-sm)}.landing-hero .btn-light:hover{background-color:#f0f0ff}.landing-hero .btn-outline-light{border-radius:var(--radius-sm)}.landing-hero .btn-outline-light:hover{background-color:rgba(255,255,255,0.15)}.landing-section{padding:80px 0}.landing-section-alt{background-color:var(--paper-100)}.landing-section-title{text-align:center;font-size:2rem;font-weight:700;color:var(--ink-900);margin-bottom:8px}.landing-section-subtitle{text-align:center;font-size:1.1rem;color:var(--ink-700)}.landing-step-card{background:#fff;border-radius:var(--radius-md);padding:32px 24px;text-align:center;box-shadow:0 2px 8px rgba(42,38,34,0.08);border:1px solid #f0f0f8;height:100%}.landing-step-card h3{font-size:1.25rem;font-weight:600;color:var(--ink-900);margin-bottom:12px}.landing-step-card p{color:var(--ink-700);margin-bottom:0;line-height:1.5}.landing-step-icon{width:64px;height:64px;border-radius:50%;background:var(--gradient-warm);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.landing-step-icon i{font-size:28px;color:#fff}.landing-step-number{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:var(--paper-100);color:var(--clay-600);font-weight:700;font-size:0.85rem;line-height:28px;text-align:center;margin-bottom:12px}.landing-quote-section{padding:80px 0;background:#fff}.landing-quote-icon{font-size:3rem;color:var(--clay-600);opacity:0.3;display:block;margin-bottom:16px}.landing-quote{font-size:1.35rem;color:var(--ink-900);line-height:1.7;font-style:italic;border:none;padding:0;margin:0}.landing-sms-cta{background:rgba(255,255,255,0.15);border-radius:var(--radius-md);padding:24px 32px;display:inline-block}.landing-sms-instruction{font-size:1.1rem;margin-bottom:4px;opacity:0.95}.landing-sms-number{font-size:2.25rem;font-weight:700;letter-spacing:1px;margin-bottom:4px}.landing-sms-hint{font-size:0.95rem;opacity:0.8;margin-bottom:0}.landing-sms-cta-bottom{background:rgba(255,255,255,0.15)}.landing-feature-card{background:#fff;border-radius:var(--radius-md);padding:28px 24px;box-shadow:0 2px 8px rgba(42,38,34,0.08);border:1px solid #f0f0f8;height:100%}.landing-feature-card h4{font-size:1.1rem;font-weight:600;color:var(--ink-900);margin-bottom:8px}.landing-feature-card p{color:var(--ink-700);margin-bottom:0;font-size:0.95rem;line-height:1.5}.landing-feature-icon{font-size:1.75rem;color:var(--clay-600);margin-bottom:12px;display:block}.landing-cta{background:var(--gradient-warm);padding:80px 0;color:#fff}.landing-cta-title{font-size:2rem;font-weight:700;margin-bottom:12px}.landing-cta-subtitle{font-size:1.15rem;opacity:0.9}.landing-cta .btn-light{color:var(--clay-600);border-radius:var(--radius-sm)}.landing-cta .btn-light:hover{background-color:#f0f0ff}.landing-footer{background-color:var(--ink-900);color:rgba(255,255,255,0.85);padding:32px 0}.landing-footer .text-danger{color:var(--clay-600) !important}@media (max-width: 768px){.landing-hero{padding:60px 0 80px}.landing-hero-title{font-size:2rem}.landing-hero-subtitle{font-size:1.05rem}.landing-section{padding:60px 0}.landing-section-title{font-size:1.6rem}.landing-quote{font-size:1.15rem}.landing-cta{padding:60px 0}.landing-cta-title{font-size:1.6rem}.landing-sms-number{font-size:1.75rem}}.person-card{transition:box-shadow 0.2s ease}.person-card:hover{box-shadow:0 4px 12px rgba(42,38,34,0.08)}.person-card .person-badges{display:flex;flex-wrap:wrap;gap:0.25rem}.deleted-person-card{opacity:0.8;background-color:#fffbf0}.danger-zone .card.border-danger{border-width:1px;background-color:#fff5f5}.settings-form fieldset{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.settings-form legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.person-form fieldset{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.person-form legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.questions-section{background-color:white;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--paper-200)}.questions-section legend{font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.questions-section .question-row:last-child{border-bottom:none !important}.questions-section .question-toggle{background:none;line-height:1}.questions-section .question-toggle:hover{opacity:0.7}.questions-section .add-question-form small{display:block;margin-top:0.25rem}.app-brand{font-family:var(--font-serif);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--ink-900);text-decoration:none}.app-brand i{color:var(--clay-600)}.app-brand:hover{color:var(--clay-700)}.navbar .nav-link{color:var(--ink-700);text-decoration:none;padding:0.5rem 0}.navbar .nav-link:hover{color:var(--clay-600)}.navbar .nav-link.active{color:var(--clay-600);border-bottom:2px solid var(--clay-600)}.status-badge{padding:0.35rem 0.85rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.03em}.status-badge.status-pending{background:var(--honey-50);color:var(--honey-600)}.status-badge.status-sent{background:var(--sage-50);color:var(--sage-700)}.status-badge.status-accepted{background:var(--success-50);color:var(--success)}.status-badge.status-declined{background:var(--danger-50);color:var(--danger)}.status-badge.status-opted_out,.status-badge.status-expired{background:var(--paper-100);color:var(--ink-500)}.type-badge,.invitation-type-badge{padding:0.25rem 0.6rem;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.03em;background:var(--sage-50);color:var(--sage-700)}.type-badge.ongoing,.type-badge.type-ongoing,.invitation-type-badge.ongoing,.invitation-type-badge.type-ongoing{background:var(--clay-50);color:var(--clay-700)}.type-badge.type-one_off,.invitation-type-badge.type-one_off{background:var(--sage-50);color:var(--sage-700)}.invitations-container{max-width:var(--container-wide);margin:0 auto;padding:var(--space-6) var(--space-4)}.invitations-container .invitations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.invitations-container .invitations-header h1{font-size:var(--text-2xl);margin:0}.invitations-container .new-invite-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0.65rem var(--space-5);background:var(--clay-600);border-radius:var(--radius-md);color:#fff;font-weight:var(--weight-medium);text-decoration:none;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.invitations-container .new-invite-btn:hover{background:var(--clay-700);color:#fff;transform:translateY(-1px)}.invitations-container .stats-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.invitations-container .stat-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-sm)}.invitations-container .stat-number{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--clay-600);line-height:1;font-family:var(--font-serif)}.invitations-container .stat-label{font-size:var(--text-xs);color:var(--ink-500);text-transform:uppercase;letter-spacing:0.05em;margin-top:var(--space-1)}.invitations-container .invitations-list{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.invitations-container .invitation-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--paper-200);transition:background var(--dur) var(--ease)}.invitations-container .invitation-item:last-child{border-bottom:none}.invitations-container .invitation-item:hover{background:var(--paper-100)}.invitations-container .invitation-main{display:flex;align-items:center;gap:var(--space-4);flex:1}.invitations-container .invitation-avatar{width:50px;height:50px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-lg);color:#fff;box-shadow:var(--shadow-sm)}.invitations-container .invitation-avatar.avatar-one_off{background:linear-gradient(135deg, var(--honey-500) 0%, var(--clay-600) 100%)}.invitations-container .invitation-avatar.avatar-ongoing{background:var(--gradient-warm)}.invitations-container .invitation-details{flex:1}.invitations-container .invitation-details h4{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 0.25rem;font-family:var(--font-sans)}.invitations-container .invitation-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-500)}.invitations-container .invitation-meta i{margin-right:0.25rem}.invitations-container .invitation-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.invitations-container .invitation-time{font-size:var(--text-xs);color:var(--ink-500)}.invitations-container .empty-state{border:none;background:transparent}.invitations-container .empty-state i{font-size:4rem;color:var(--paper-300);margin-bottom:var(--space-4)}.invitations-container .empty-state h3{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-900);margin-bottom:var(--space-2)}.invitations-container .empty-state p{color:var(--ink-500);margin-bottom:var(--space-5)}.invitations-container .pagination-container{padding:var(--space-5);display:flex;justify-content:center}@media (max-width: 768px){.invitations-container .invitations-header{flex-direction:column;gap:var(--space-4);text-align:center}.invitations-container .invitation-item{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.invitations-container .invitation-right{flex-direction:row;width:100%;justify-content:space-between;align-items:center}}.invitation-detail-container{max-width:700px;margin:0 auto;padding:var(--space-6) var(--space-4)}.invitation-detail-container .back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-500);text-decoration:none;font-size:var(--text-sm);margin-bottom:var(--space-5);transition:color var(--dur) var(--ease)}.invitation-detail-container .back-link:hover{color:var(--clay-700)}.invitation-detail-container .invitation-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-6)}.invitation-detail-container .invitation-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--paper-200)}.invitation-detail-container .invitee-avatar{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:2rem;color:#fff;background:var(--gradient-warm)}.invitation-detail-container .invitee-info h1{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 var(--space-2)}.invitation-detail-container .invitee-meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.invitation-detail-container .detail-section{margin-bottom:var(--space-5)}.invitation-detail-container .detail-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:0.35rem}.invitation-detail-container .detail-value{font-size:var(--text-base);color:var(--ink-900)}.invitation-detail-container .prompt-box{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-serif);font-style:italic;color:var(--ink-700);border-left:3px solid var(--honey-500)}.invitation-detail-container .timeline{position:relative;padding-left:var(--space-5)}.invitation-detail-container .timeline::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--paper-200)}.invitation-detail-container .timeline-item{position:relative;padding-bottom:var(--space-4)}.invitation-detail-container .timeline-item:last-child{padding-bottom:0}.invitation-detail-container .timeline-dot{position:absolute;left:-1.5rem;top:4px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--surface);border:3px solid var(--clay-600)}.invitation-detail-container .timeline-dot.completed{background:var(--clay-600)}.invitation-detail-container .timeline-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.invitation-detail-container .timeline-event{font-size:var(--text-sm);color:var(--ink-900)}.invitation-detail-container .timeline-time{font-size:var(--text-xs);color:var(--ink-500)}.invitation-detail-container .memories-section h3{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-4)}.invitation-detail-container .memory-preview{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.invitation-detail-container .memory-preview p{margin:0;font-size:var(--text-base);color:var(--ink-700);font-family:var(--font-serif)}.invitation-detail-container .memory-preview .memory-date{font-size:var(--text-xs);color:var(--ink-500);margin-top:var(--space-2);padding:0}.invitation-detail-container .no-memories{text-align:center;padding:var(--space-6);color:var(--ink-500)}.invitation-detail-container .no-memories i{font-size:2.5rem;margin-bottom:var(--space-3);color:var(--paper-300);display:block}.invitation-detail-container .action-buttons{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--paper-200)}.invitation-detail-container .action-btn{padding:0.75rem 1.25rem;border-radius:var(--radius-md);font-weight:var(--weight-medium);text-decoration:none;display:flex;align-items:center;gap:var(--space-2);transition:all var(--dur) var(--ease)}.invitation-detail-container .action-btn-primary{background:var(--clay-600);color:#fff;border:none}.invitation-detail-container .action-btn-primary:hover{background:var(--clay-700);color:#fff}.invitation-detail-container .action-btn-secondary{background:var(--surface);color:var(--ink-700);border:1px solid var(--paper-200)}.invitation-detail-container .action-btn-secondary:hover{background:var(--paper-100);color:var(--ink-900)}.accept-container{max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.accept-container .accept-hero{text-align:center;margin-bottom:var(--space-6)}.accept-container .hero-icon{width:80px;height:80px;background:var(--gradient-warm);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.accept-container .hero-icon i{font-size:2.5rem;color:#fff}.accept-container .accept-hero h1{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-3)}.accept-container .accept-hero p{color:var(--ink-500);font-size:var(--text-lg)}.accept-container .accept-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-5)}.accept-container .invitation-summary{text-align:center;padding-bottom:var(--space-5);border-bottom:1px solid var(--paper-200);margin-bottom:var(--space-5)}.accept-container .inviter-name{font-size:var(--text-lg);color:var(--ink-900);margin-bottom:var(--space-2)}.accept-container .inviter-name strong{color:var(--clay-700)}.accept-container .subject-highlight{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--clay-50);padding:0.75rem 1.25rem;border-radius:var(--radius-full);margin-top:var(--space-2)}.accept-container .subject-avatar{width:36px;height:36px;background:var(--clay-600);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--weight-semibold)}.accept-container .subject-name{font-weight:var(--weight-semibold);color:var(--clay-700)}.accept-container .prompt-box{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4);font-family:var(--font-serif);font-style:italic;color:var(--ink-700);border-left:3px solid var(--honey-500)}.accept-container .section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:var(--space-4)}.accept-container .cadence-options{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-3)}.accept-container .cadence-option{position:relative;cursor:pointer}.accept-container .cadence-option input{position:absolute;opacity:0}.accept-container .cadence-label{display:block;padding:var(--space-4);background:var(--paper-100);border:2px solid transparent;border-radius:var(--radius-md);text-align:center;transition:all var(--dur) var(--ease)}.accept-container .cadence-label strong{display:block;color:var(--ink-900);font-size:var(--text-sm);margin-bottom:0.25rem}.accept-container .cadence-label span{font-size:var(--text-xs);color:var(--ink-500)}.accept-container .cadence-label:hover{border-color:var(--clay-100)}.accept-container .cadence-option input:checked+.cadence-label{border-color:var(--clay-600);background:var(--clay-50)}.accept-container .merge-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--paper-200)}.accept-container .merge-alert{background:var(--honey-50);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.accept-container .merge-alert i{color:var(--honey-600);font-size:var(--text-lg)}.accept-container .merge-alert strong{color:var(--honey-600);display:block;margin-bottom:0.25rem}.accept-container .merge-alert p{color:var(--ink-700);font-size:var(--text-sm);margin:0}.accept-container .merge-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--paper-100);border-radius:var(--radius-sm);margin-bottom:var(--space-2);cursor:pointer;border:2px solid transparent;transition:all var(--dur) var(--ease)}.accept-container .merge-option:hover{border-color:var(--clay-100)}.accept-container .merge-option strong{display:block;color:var(--ink-900);font-size:var(--text-sm)}.accept-container .merge-option span{font-size:var(--text-sm);color:var(--ink-500)}.accept-container .action-buttons{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.accept-container .btn-accept{flex:1;padding:var(--space-4) var(--space-5);background:var(--clay-600);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.accept-container .btn-accept:hover{background:var(--clay-700);transform:translateY(-1px)}.accept-container .btn-decline{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);color:var(--ink-500);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--dur) var(--ease)}.accept-container .btn-decline:hover{background:var(--danger-50);color:var(--danger);border-color:var(--danger)}.accept-container .footer-note{text-align:center;margin-top:var(--space-6);padding:var(--space-4);background:var(--paper-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-500)}.accept-container .footer-note a{color:var(--clay-600)}@media (max-width: 576px){.accept-container .cadence-options{grid-template-columns:1fr}.accept-container .action-buttons{flex-direction:column}}.invite-container{max-width:var(--container-wide);margin:0 auto;padding:var(--space-6) var(--space-4)}.invite-container .invite-header{text-align:center;margin-bottom:var(--space-7)}.invite-container .invite-header h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:var(--space-2)}.invite-container .invite-header p{color:var(--ink-500);font-size:var(--text-lg);max-width:500px;margin:0 auto}.invite-container .invite-card{background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-6)}.invite-container .section-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--clay-700);margin-bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3)}.invite-container .section-title i{font-size:var(--text-base);color:var(--honey-500)}.invite-container .subject-select{position:relative}.invite-container .form-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-500);margin-bottom:0.35rem}.invite-container .invitee-row{background:var(--paper-100);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-4);position:relative;border:1px solid transparent;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.invite-container .invitee-row:hover{border-color:var(--clay-100)}.invite-container .invitee-row.highlighted{border-color:var(--honey-500);transform:scale(1.01)}.invite-container .invitee-number{position:absolute;left:-0.5rem;top:-0.5rem;width:28px;height:28px;background:var(--clay-600);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.invite-container .remove-invitee{position:absolute;right:0.5rem;top:0.5rem;width:28px;height:28px;background:transparent;border:none;color:var(--ink-500);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--dur) var(--ease)}.invite-container .remove-invitee:hover{background:var(--danger-50);color:var(--danger)}.invite-container .invite-type-toggle{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.invite-container .invite-type-btn{flex:1;padding:0.6rem var(--space-4);border:2px solid var(--paper-200);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-500);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--dur) var(--ease)}.invite-container .invite-type-btn input{display:none}.invite-container .invite-type-btn:hover{border-color:var(--clay-100);color:var(--clay-700)}.invite-container .invite-type-btn.active{background:var(--clay-600);border-color:var(--clay-600);color:#fff}.invite-container .prompt-field{display:none;margin-top:var(--space-3)}.invite-container .prompt-field.show{display:block;animation:slideDown var(--dur) var(--ease)}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-container .add-invitee-btn{width:100%;padding:var(--space-4);border:2px dashed var(--paper-300);border-radius:var(--radius-md);background:transparent;color:var(--ink-500);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--dur) var(--ease)}.invite-container .add-invitee-btn:hover{border-color:var(--clay-600);color:var(--clay-700);background:var(--clay-50)}.invite-container .submit-section{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.invite-container .submit-btn{padding:var(--space-4) 2.5rem;background:var(--clay-600);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.invite-container .submit-btn:hover{background:var(--clay-700);transform:translateY(-1px)}.invite-container .submit-btn:active{transform:translateY(0)}.invite-container .invitee-count{color:var(--ink-500);font-size:var(--text-sm)}.invite-container .invitee-count strong{color:var(--clay-700);font-weight:var(--weight-semibold)}.invite-container .recent-invitations{margin-top:var(--space-7)}.invite-container .invitation-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--paper-200);border-radius:var(--radius-md);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.invite-container .invitation-info{display:flex;align-items:center;gap:var(--space-4)}.invite-container .invitation-avatar{width:44px;height:44px;background:var(--gradient-warm);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--weight-semibold)}.invite-container .invitation-details h5{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-900);margin:0 0 0.25rem}.invite-container .invitation-details p{font-size:var(--text-xs);color:var(--ink-500);margin:0}.invite-container .invitation-status{display:flex;align-items:center;gap:var(--space-2)}.invite-container .invitation-time{font-size:var(--text-xs);color:var(--ink-500)}@media (max-width: 768px){.invite-container .invite-header h1{font-size:var(--text-2xl)}.invite-container .submit-section{flex-direction:column-reverse}.invite-container .submit-btn{width:100%;justify-content:center}}.error-container,.success-container{max-width:500px;margin:0 auto;padding:var(--space-6) var(--space-4);min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.error-container h1,.success-container h1{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-900);margin-bottom:var(--space-3)}.error-container p,.success-container p{color:var(--ink-500);font-size:var(--text-lg);margin-bottom:var(--space-6)}.error-container .error-icon,.error-container .success-icon,.success-container .error-icon,.success-container .success-icon{width:100px;height:100px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.error-container .error-icon i,.error-container .success-icon i,.success-container .error-icon i,.success-container .success-icon i{font-size:3rem}.error-container .btn-home,.success-container .btn-home{display:inline-block;padding:0.75rem var(--space-5);background:var(--clay-600);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:var(--weight-medium)}.error-container .btn-home:hover,.success-container .btn-home:hover{background:var(--clay-700);color:#fff}.error-container .contact-note,.success-container .contact-note{background:var(--paper-100);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-500);margin-bottom:var(--space-5)}.error-container .error-icon{background:var(--honey-50)}.error-container .error-icon i{color:var(--honey-600)}.invalid-page .error-icon{background:var(--danger-50)}.invalid-page .error-icon i{color:var(--danger)}.success-container .success-icon{background:var(--success-50)}.success-container .success-icon i{color:var(--success)}.success-container .info-card{background:var(--surface);border:1px solid var(--paper-200);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);text-align:left;width:100%}.success-container .info-card .info-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--paper-200)}.success-container .info-card .info-row:last-child{border-bottom:none}.success-container .info-card .info-label{color:var(--ink-500);font-size:var(--text-sm)}.success-container .info-card .info-value{color:var(--ink-900);font-weight:var(--weight-medium)}.cursor-pointer{cursor:pointer}.object-fit-cover{object-fit:cover}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
