.page-transition{transition:opacity .2s ease,transform .2s ease;will-change:opacity,transform}.page-transition.visible{opacity:1;transform:translateY(0)}.page-transition.hidden{opacity:0;transform:translateY(8px)}@media(prefers-reduced-motion:reduce){.page-transition{transition:opacity .2s ease}.page-transition.hidden{transform:none}}.theme-toggle{position:relative;width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.theme-toggle:hover{background-color:#c88b9f1a}.theme-toggle:active{background-color:#c88b9f33}.theme-toggle:focus{outline:none}.theme-toggle:focus-visible{outline:2px solid var(--color-blush);outline-offset:2px}.theme-icon{position:absolute;width:20px;height:20px;color:var(--color-warm-gray);transition:transform .3s ease,opacity .3s ease}.theme-icon svg{width:100%;height:100%}.theme-icon.visible{transform:rotate(0) scale(1);opacity:1}.theme-icon.hidden{transform:rotate(-90deg) scale(0);opacity:0}[data-theme=dark] .theme-toggle:hover{background-color:#ffb6c126}[data-theme=dark] .theme-icon{color:var(--color-lavender)}@media(prefers-reduced-motion:reduce){.theme-icon{transition:opacity .15s ease}.theme-icon.hidden,.theme-icon.visible{transform:none}}.pull-to-refresh-container{position:relative;min-height:100%;touch-action:pan-y}.pull-indicator{position:fixed;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none}.pull-heart{font-size:2rem;transition:transform .1s ease-out;filter:drop-shadow(0 2px 10px rgba(255,100,130,.4))}.pull-indicator.refreshing .pull-heart{animation:heartExplode .3s ease-out forwards}@keyframes heartExplode{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.8}to{transform:scale(2);opacity:0}}.pull-particle{position:absolute;font-size:1rem;animation:particleExplode .8s ease-out forwards;pointer-events:none}@keyframes particleExplode{0%{transform:translate(0) scale(var(--scale)) rotate(0);opacity:1}to{transform:translate(calc(var(--vx) * 40px),calc(var(--vy) * 40px + 30px)) scale(calc(var(--scale) * .5)) rotate(var(--rotation));opacity:0}}.pull-content{transition:transform .2s ease-out;will-change:transform}.pull-content:not([style*=translateY]){transition:none}@media(prefers-reduced-motion:reduce){.pull-heart,.pull-content{transition:none}.pull-indicator.refreshing .pull-heart{animation:none;opacity:0}.pull-particle{display:none}}.layout{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.floating-hearts-bg{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:1;contain:strict}.floating-heart{position:absolute;opacity:0;animation:floatUp ease-in-out infinite;will-change:transform,opacity;contain:layout style}.header{position:sticky;top:0;z-index:100;background:var(--color-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-card-border);position:relative;transition:background-color .3s ease,border-color .3s ease}.nav{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg)}.nav-logo{font-size:1.5rem;text-decoration:none;transition:transform var(--transition-fast)}.nav-logo:hover{transform:scale(1.1)}.nav-links{display:flex;gap:var(--spacing-lg);list-style:none}.nav-link{font-family:var(--font-body);font-weight:500;font-size:.95rem;color:var(--color-warm-gray);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);position:relative;transition:color var(--transition-fast)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-blush);transition:width var(--transition-normal)}.nav-link:hover,.nav-link.active{color:var(--color-dusty-rose)}.nav-link:hover:after,.nav-link.active:after{width:100%}.main{flex:1;padding:var(--spacing-lg) 0;position:relative;z-index:2;overflow-x:hidden}.footer{text-align:center;padding:var(--spacing-lg);background:linear-gradient(to top,rgba(255,182,193,.1),transparent);color:var(--color-warm-gray);font-size:.9rem;position:relative;z-index:2}@media(max-width:640px){.nav{padding:var(--spacing-sm) var(--spacing-md)}.nav-links{gap:var(--spacing-md)}.nav-link{font-size:.85rem}}.sparkles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:visible}.sparkle-particle{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;animation:sparkle-fall ease-out forwards;transform-origin:center;filter:drop-shadow(0 0 2px var(--color-blush))}@keyframes sparkle-fall{0%{opacity:1;transform:translateY(0) translate(0) scale(1) rotate(0)}50%{opacity:.8;transform:translateY(50px) translate(var(--drift, 0px)) scale(.9) rotate(15deg)}to{opacity:0;transform:translateY(100px) translate(var(--drift, 0px)) scale(.5) rotate(30deg)}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-cream);z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease,background-color .3s ease}.loading-screen.visible{opacity:1;visibility:visible}.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-hearts-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.loading-floating-heart{position:absolute;opacity:0;animation:floatUp ease-in-out infinite;will-change:transform,opacity}.loading-center{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);z-index:1}.loading-main-heart{font-size:4rem;animation:loadingPulse 1s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(255,100,130,.3))}.loading-text{font-family:var(--font-display);font-size:1.2rem;color:var(--color-warm-gray);font-style:italic;animation:loadingFade 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes loadingFade{0%,to{opacity:.6}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.loading-floating-heart{animation:none;opacity:.4}.loading-main-heart{animation:none}.loading-text{animation:none;opacity:1}}.confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.confetti-trigger{display:inline-block;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.confetti-trigger:focus{outline:none}.confetti-trigger:focus-visible{outline:2px solid var(--color-blush);outline-offset:4px;border-radius:4px}.home{max-width:800px;margin:0 auto;padding:0 var(--spacing-md);text-align:center}.home-hero{position:relative;padding:var(--spacing-lg);background:var(--color-card-bg);border-radius:20px;box-shadow:0 10px 40px var(--color-card-shadow);border:1px solid var(--color-card-border);max-width:650px;margin:0 auto;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.home-title{font-family:var(--font-script);font-size:3.5rem;font-weight:600;color:var(--color-charcoal);margin-bottom:var(--spacing-md)}.title-heart{--heartbeat-bpm: 72;display:inline-block;animation:heartbeat calc(60s / var(--heartbeat-bpm)) ease-in-out infinite;cursor:pointer;transition:filter .2s ease}.title-heart:hover{filter:drop-shadow(0 0 8px rgba(255,100,130,.6))}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.title-heart{animation:none}}.home-subtitle{font-size:1.25rem;color:var(--color-warm-gray);font-style:italic}.home-message{margin:var(--spacing-xl) 0}.home-card{background:var(--color-card-bg);border-radius:20px;padding:var(--spacing-lg);box-shadow:0 0 40px var(--color-card-shadow);border:1px solid var(--color-card-border);text-align:left;line-height:2;max-width:650px;margin:0 auto;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.home-card p{margin-bottom:var(--spacing-md);font-size:1rem;color:var(--color-charcoal)}.home-card p:last-child{margin-bottom:0}.home-signature{font-family:var(--font-display);font-style:italic;font-size:1.2rem!important;color:var(--color-dusty-rose)!important;text-align:right;margin-top:var(--spacing-lg)!important}.home-actions{margin-top:var(--spacing-xl)}.home-button{display:inline-block;background:linear-gradient(135deg,var(--color-blush),var(--color-rose));color:#fff;font-family:var(--font-body);font-weight:600;font-size:1.1rem;padding:var(--spacing-md) var(--spacing-xl);border-radius:50px;text-decoration:none;box-shadow:0 4px 20px #ffb6c166;transition:all var(--transition-normal)}.home-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffb6c180;color:#fff}@media(min-width:768px){.home-title{font-size:5rem}.home-subtitle{font-size:1.5rem}}.gallery{max-width:900px;margin:0 auto;padding:0 var(--spacing-md)}.gallery-header{text-align:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-card-bg);border-radius:20px;box-shadow:0 10px 40px var(--color-card-shadow);border:1px solid var(--color-card-border);max-width:650px;margin-left:auto;margin-right:auto;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.gallery-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-charcoal);margin-bottom:var(--spacing-sm)}.gallery-subtitle{font-size:1.1rem;color:var(--color-warm-gray);max-width:500px;margin:0 auto}.gallery-grid{display:grid;gap:var(--spacing-md)}.gallery-sections{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.gallery-title{font-size:3rem}}@media(min-width:1024px){.gallery{padding:0 var(--spacing-lg)}}.card{--card-bg: var(--color-cream);--card-text: var(--color-charcoal);--card-accent: var(--color-blush);display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);color:var(--card-text);border-radius:16px;padding:var(--spacing-lg);text-decoration:none;border:1px solid var(--color-card-border);box-shadow:0 4px 20px var(--color-card-shadow);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,border-color .3s ease,background-color .3s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #c88b9f33,0 0 20px #ffb6c126;border-color:var(--card-accent)}}.card:active{transform:scale(.98);box-shadow:0 2px 10px #c88b9f26;transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .1s ease}.card-content{flex:1}.card-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--card-text)}.card-subtitle{font-size:.9rem;color:var(--color-warm-gray);opacity:.8}.card-arrow{font-size:1.5rem;color:var(--card-accent);opacity:.6;transition:all var(--transition-fast)}@media(hover:hover)and (pointer:fine){.card:hover .card-arrow{opacity:1;transform:translate(4px)}}.card:active .card-arrow{opacity:1;transform:translate(2px)}@media(prefers-reduced-motion:reduce){.card{transition:box-shadow .3s ease,border-color .3s ease}.card:hover,.card:active{transform:none}}@media(max-width:640px){.card{padding:var(--spacing-md)}.card-title{font-size:1.25rem}}.feeling-search-container{width:100%;max-width:400px;margin:0 auto var(--spacing-lg);text-align:center}.feeling-search-box{position:relative;display:flex;align-items:center}.feeling-search-icon{position:absolute;left:1rem;width:20px;height:20px;color:var(--color-dusty-rose);pointer-events:none;opacity:.7}.feeling-search-input{width:100%;padding:.875rem 2.75rem;font-family:var(--font-body);font-size:1rem;color:var(--color-charcoal);background:var(--color-card-bg);border:2px solid transparent;border-radius:50px;box-shadow:0 2px 8px var(--color-card-shadow),0 1px 3px #0000000d;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color .3s ease;outline:none}.feeling-search-input::placeholder{color:var(--color-warm-gray);opacity:.7}.feeling-search-input:focus{border-color:var(--color-dusty-rose);box-shadow:0 4px 12px #c48b9f33,0 2px 4px #0000000d}.feeling-search-clear{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--color-cream);border:none;border-radius:50%;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.feeling-search-clear svg{width:14px;height:14px;color:var(--color-warm-gray)}.feeling-search-clear:hover{background:var(--color-blush);transform:scale(1.1)}.feeling-search-clear:hover svg{color:var(--color-charcoal)}.feeling-search-results{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--color-warm-gray);font-style:italic;animation:fadeIn var(--transition-fast) ease}.feeling-section{width:100%;margin-bottom:var(--spacing-xl)}.feeling-section:last-child{margin-bottom:0}.feeling-section-header{text-align:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);position:relative}.feeling-section-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--color-dusty-rose),transparent);border-radius:1px}.feeling-section-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-charcoal);margin-bottom:var(--spacing-xs);font-weight:500;letter-spacing:.02em}.feeling-section-description{font-family:var(--font-body);font-size:.95rem;color:var(--color-warm-gray);font-style:italic;margin:0}.feeling-section-grid{display:grid;gap:var(--spacing-md)}@media(min-width:640px){.feeling-section-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.feeling-section-title{font-size:2rem}}@media(min-width:1024px){.feeling-section-title{font-size:2.25rem}.feeling-section-header:after{width:80px}}.markdown-content{font-family:var(--font-body);line-height:1.8;color:var(--color-charcoal)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{font-family:var(--font-display);margin:var(--spacing-lg) 0 var(--spacing-md);color:var(--color-charcoal)}.markdown-content h1{font-size:2rem}.markdown-content h2{font-size:1.5rem}.markdown-content h3{font-size:1.25rem}.markdown-content p{margin-bottom:var(--spacing-md)}.markdown-content a{color:var(--color-dusty-rose);text-decoration:underline;text-underline-offset:2px}.markdown-content a:hover{color:var(--color-rose)}.markdown-content img{max-width:100%;height:auto;border-radius:12px;margin:var(--spacing-md) 0;box-shadow:0 4px 20px #0000001a}.markdown-content video{max-width:100%;border-radius:12px;margin:var(--spacing-md) 0}.markdown-content blockquote{border-left:4px solid var(--color-blush);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;font-style:italic;color:var(--color-warm-gray);background:var(--blockquote-bg, rgba(255, 182, 193, .1));padding:var(--spacing-md);border-radius:0 8px 8px 0;transition:background-color .3s ease}[data-theme=dark] .markdown-content blockquote{--blockquote-bg: rgba(255, 182, 193, .08)}.markdown-content ul,.markdown-content ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-lg)}.markdown-content li{margin-bottom:var(--spacing-xs)}.markdown-content strong{font-weight:600;color:var(--color-charcoal)}.markdown-content em{font-style:italic}.markdown-content hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--color-blush),transparent);margin:var(--spacing-lg) 0}.markdown-content code{background:#c88b9f1a;padding:2px 6px;border-radius:4px;font-size:.9em}.markdown-content .verse-citation{font-style:normal;font-weight:500;color:var(--color-charcoal);display:flex;align-items:center;gap:.4em}.markdown-content .verse-link{text-decoration:none;font-size:1rem;opacity:.8;transition:opacity .2s ease,transform .2s ease;display:inline-flex;align-items:center}.markdown-content .verse-link:hover{opacity:1;transform:scale(1.15)}.feeling-detail{--page-bg: var(--color-cream);--page-text: var(--color-charcoal);--page-accent: var(--color-blush);min-height:100%;background:var(--page-bg);margin:calc(var(--spacing-lg) * -1) 0;padding:var(--spacing-lg) 0}.feeling-detail-container{max-width:700px;margin:0 auto;padding:0 var(--spacing-md) var(--spacing-xl)}.back-link{display:inline-block;color:var(--color-warm-gray);font-size:.9rem;margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.back-link:hover{color:var(--page-accent)}.feeling-header{text-align:center;margin-bottom:var(--spacing-xl)}.feeling-title{font-family:var(--font-display);font-size:3rem;color:var(--page-text);position:relative;display:inline-block}.feeling-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--page-accent);border-radius:2px}.feeling-section{background:var(--color-card-bg);border-radius:20px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 4px 20px var(--color-card-shadow);border:1px solid var(--color-card-border);animation:fadeIn var(--transition-slow) ease forwards;transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}.feeling-section:nth-child(3){animation-delay:.1s}.feeling-section:nth-child(4){animation-delay:.2s}.section-title{font-family:var(--font-display);font-size:1.25rem;color:var(--page-accent);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-card-border);display:flex;align-items:center;gap:var(--spacing-sm)}.section-title-scripture{justify-content:space-between}.scripture-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.version-selector{font-family:var(--font-body);font-size:.85rem;padding:.35em 1.8em .35em .6em;border:1px solid var(--color-card-border);border-radius:6px;background:var(--color-card-bg);color:var(--page-text);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5em center}.version-selector:hover{border-color:var(--page-accent)}.version-selector:focus{outline:none;border-color:var(--page-accent);box-shadow:0 0 0 2px #c88b9f33}.bible-gateway-link{font-size:1.1rem;text-decoration:none;opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast);display:inline-flex;align-items:center}.bible-gateway-link:hover{opacity:1;transform:scale(1.1)}.section-content{color:var(--page-text)}.verses-content blockquote{background:linear-gradient(135deg,#ffb6c11a,#d4c5e21a);border-left-color:var(--page-accent)}.feeling-footer{text-align:center;padding:var(--spacing-xl) 0;font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--color-warm-gray)}.loading-container,.error-container{text-align:center;padding:var(--spacing-xl);color:var(--color-warm-gray)}.error-container .back-link{display:inline-block;margin-top:var(--spacing-md)}@media(min-width:768px){.feeling-detail-container{padding:0 var(--spacing-lg) var(--spacing-xl)}.feeling-title{font-size:4rem}.feeling-section{padding:var(--spacing-xl)}}.letter-detail{min-height:100%;margin:calc(var(--spacing-lg) * -1) 0;padding:var(--spacing-lg) 0}.letter-detail-container{max-width:700px;margin:0 auto;padding:0 var(--spacing-md) var(--spacing-xl)}.letter-detail .back-link{display:inline-block;color:var(--color-warm-gray);font-size:.9rem;margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.letter-detail .back-link:hover{color:var(--color-dusty-rose)}.letter-paper{background:#fff;border-radius:4px;padding:var(--spacing-xl);box-shadow:0 1px 3px #00000014,0 10px 40px #0000000d;position:relative;animation:fadeIn var(--transition-slow) ease forwards}.letter-paper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(transparent,transparent 31px,rgba(200,139,159,.1) 31px,rgba(200,139,159,.1) 32px);pointer-events:none;border-radius:4px}.letter-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid rgba(200,139,159,.2);position:relative}.letter-title{font-family:var(--font-display);font-size:2rem;color:var(--color-charcoal);margin-bottom:var(--spacing-sm)}.letter-date{font-size:.9rem;color:var(--color-warm-gray);font-style:italic}.letter-content{position:relative;line-height:2}.letter-footer{text-align:right;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--color-dusty-rose);position:relative}@media(min-width:768px){.letter-detail-container{padding:0 var(--spacing-lg) var(--spacing-xl)}.letter-paper{padding:var(--spacing-xl) calc(var(--spacing-xl) * 1.5)}.letter-title{font-size:2.5rem}}.memory-detail{min-height:100%;margin:calc(var(--spacing-lg) * -1) 0;padding:var(--spacing-lg) 0}.memory-detail-container{max-width:800px;margin:0 auto;padding:0 var(--spacing-md) var(--spacing-xl)}.memory-detail .back-link{display:inline-block;color:var(--color-warm-gray);font-size:.9rem;margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.memory-detail .back-link:hover{color:var(--color-dusty-rose)}.memory-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #00000014;animation:fadeIn var(--transition-slow) ease forwards}.memory-header{background:linear-gradient(135deg,var(--color-blush),var(--color-lavender));padding:var(--spacing-xl);text-align:center}.memory-title{font-family:var(--font-display);font-size:2rem;color:#fff;margin-bottom:var(--spacing-sm);text-shadow:0 2px 10px rgba(0,0,0,.1)}.memory-date{font-size:.95rem;color:#ffffffe6}.memory-content{padding:var(--spacing-xl)}.memory-content .markdown-content img{width:100%;border-radius:8px;margin:var(--spacing-md) 0}@media(min-width:768px){.memory-detail-container{padding:0 var(--spacing-lg) var(--spacing-xl)}.memory-header{padding:var(--spacing-xl) calc(var(--spacing-xl) * 2)}.memory-title{font-size:2.5rem}.memory-content{padding:var(--spacing-xl) calc(var(--spacing-xl) * 1.5)}}:root{--color-cream: #FDF8F3;--color-blush: #FFB6C1;--color-rose: #E8A0A8;--color-dusty-rose: #C48B9F;--color-sage: #A8B5A0;--color-lavender: #D4C5E2;--color-warm-gray: #8B7E74;--color-charcoal: #3D3D3D;--color-card-bg: rgba(255, 255, 255, .85);--color-card-border: rgba(200, 139, 159, .15);--color-card-shadow: rgba(200, 139, 159, .08);--color-header-bg: rgba(253, 248, 243, .95);--font-display: "Cormorant Garamond", Georgia, serif;--font-script: "Meow Script", cursive;--font-body: "Quicksand", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}[data-theme=dark]{--color-cream: #1a1a1f;--color-blush: #ff8fa3;--color-rose: #d4727e;--color-dusty-rose: #b76b82;--color-sage: #7a9470;--color-lavender: #a99bc2;--color-warm-gray: #a8a0a0;--color-charcoal: #e8e4e0;--color-card-bg: rgba(35, 35, 42, .9);--color-card-border: rgba(200, 139, 159, .2);--color-card-shadow: rgba(0, 0, 0, .3);--color-header-bg: rgba(26, 26, 31, .95)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;height:100%}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);line-height:1.6;min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:var(--color-dusty-rose);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-rose)}img{max-width:100%;height:auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{padding:0 var(--spacing-lg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatUp{0%{transform:translateY(0) translate(0) rotate(0) scale(.8);opacity:0}10%{opacity:.6}25%{transform:translateY(-25vh) translate(15px) rotate(5deg) scale(1)}50%{transform:translateY(-50vh) translate(-10px) rotate(-3deg) scale(1.1)}75%{transform:translateY(-75vh) translate(12px) rotate(4deg) scale(1)}90%{opacity:.4}to{transform:translateY(-110vh) translate(-5px) rotate(-2deg) scale(.9);opacity:0}}.fade-in{animation:fadeIn var(--transition-slow) ease forwards}
