:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-900:#0c4a6e;--secondary-50:#f0fdf4;--secondary-100:#dcfce7;--secondary-500:#22c55e;--secondary-600:#16a34a;--secondary-700:#15803d;--accent-50:#fefce8;--accent-100:#fef3c7;--accent-500:#f59e0b;--accent-600:#d97706;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--bg-primary:var(--neutral-50);--bg-secondary:#fff;--bg-tertiary:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-500);--border-color:var(--neutral-200);--border-hover:var(--neutral-300);--gradient-primary:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);--gradient-secondary:linear-gradient(135deg, var(--secondary-500) 0%, var(--secondary-700) 100%);--gradient-accent:linear-gradient(135deg, var(--accent-500) 0%, var(--accent-600) 100%);--gradient-bg:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:50px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal), color var(--transition-normal);font-family:Inter,sans-serif;line-height:1.6}body,html,#root{background-color:var(--bg-primary);min-height:100vh}h5{font-size:1.125rem}h6{font-size:1rem}main{min-height:calc(100vh - 140px);margin-top:2rem;margin-bottom:2rem;animation:.5s ease-in fadeIn}@keyframes fadeIn{to{opacity:1}}.container{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.section-header{text-align:center;margin-top:1rem}.section-header h2{color:var(--text-primary);margin-bottom:1rem}.section-header p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.125rem}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.cta-button{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.cta-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.loading{justify-content:center;align-items:center;padding:2rem;display:flex}.notification{background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);z-index:1000;align-items:center;gap:.75rem;max-width:400px;padding:1rem 1.5rem;animation:.3s slideInUp;display:flex;position:fixed;bottom:2rem;right:2rem}.notification.success{border-left:4px solid var(--secondary-500)}.notification.error{border-left:4px solid #ef4444}.notification-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;margin-left:auto;padding:0;font-size:1.25rem;display:flex}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-backdrop{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);z-index:1;width:90%;max-width:600px;max-height:90vh;animation:.3s scaleIn;position:relative;overflow-y:auto}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{align-items:center;gap:.5rem;margin:0;display:flex}.modal-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem;font-size:1.5rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}@media (max-width:768px){.container{padding:0 1rem 2rem}.section{padding:2rem 0}h1{font-size:2rem}h2{font-size:1.75rem}.notification{max-width:none;bottom:140px;left:1rem;right:1rem}.modal-content{width:95%}}@media (max-width:480px){.container{padding:0 .75rem 2rem}h1{font-size:1.75rem}h2{font-size:1.5rem}.btn,.cta-button{padding:.75rem 1.25rem;font-size:.95rem}}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100;transition:all var(--transition-fast);background:#fffffff2;position:fixed;top:0;left:0;right:0}[data-theme=dark] .header{background:#262626f2}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:72px;margin:0 auto;padding:0 1rem;display:flex}.nav-logo{color:var(--primary-600);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.nav-logo:hover{color:var(--primary-700)}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);transition:all var(--transition-fast);padding:.5rem 0;font-weight:500;text-decoration:none;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--primary-600)}.nav-links a:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width var(--transition-fast);position:absolute;bottom:0;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-right{align-items:center;gap:1rem;display:flex}.dropdown-button{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem;font-weight:500;display:flex}.dropdown-button:hover{color:var(--primary-600);background:var(--bg-tertiary)}.dropdown-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10300;opacity:0;visibility:hidden;min-width:200px;transition:all var(--transition-fast);padding:.5rem 0;position:absolute;top:100%;right:0;transform:translateY(-10px)}.dropdown.open .dropdown-content{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-content a{color:var(--text-secondary);transition:all var(--transition-fast);padding:.75rem 1rem;text-decoration:none;display:block}.dropdown-content a:hover{background:var(--bg-tertiary);color:var(--primary-600)}.hamburger-menu{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem;display:none}.hamburger-menu:hover{background:var(--bg-tertiary)}.hamburger-menu span{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-fast);border-radius:2px;margin:5px 0;display:block}.hamburger-menu.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-6px)}.dark-mode-toggle{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;display:flex}.dark-mode-toggle:hover{background:var(--bg-tertiary);transform:scale(1.1)}@media (prefers-reduced-motion:no-preference){.dark-mode-toggle{transition:all var(--transition-normal)}.dark-mode-toggle:hover{transform:rotate(20deg)scale(1.1)}}@media (max-width:768px){.nav-links{background:var(--bg-secondary);border-top:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:1000;scrollbar-width:thin;scrollbar-color:var(--primary-500) transparent;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 80px);padding:1rem 0;display:none;position:absolute;top:100%;left:0;right:0;overflow:hidden auto}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-track{background:0 0}.nav-links::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:2px}.nav-links::-webkit-scrollbar-thumb:hover{background:var(--primary-600)}.nav-links.show{display:flex}.nav-links a{border-bottom:1px solid var(--border-color);padding:1rem 2rem}.nav-links a:last-child{border-bottom:none}.menu-category{border-bottom:1px solid var(--border-color)}.menu-category:last-child{border-bottom:none}.category-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 2rem .5rem;font-size:.875rem;font-weight:700}.category-items{margin:0;padding:0;list-style:none}.category-items li{border-bottom:1px solid var(--border-color)}.category-items li:last-child{border-bottom:none}.category-items a{color:var(--text-primary);border-bottom:none;padding:1rem 2rem}.category-items a:hover{background:var(--bg-secondary);color:var(--primary-600)}[data-theme=dark] .category-title{background:var(--bg-primary);color:var(--text-muted)}[data-theme=dark] .category-items a:hover{background:var(--bg-tertiary)}.hamburger-menu{display:block}.nav-right{gap:.5rem}}[data-season-theme=easter]{--gradient-primary:linear-gradient(135deg, #f97316 0%, #f59e0b 45%, #84cc16 100%);--gradient-secondary:linear-gradient(135deg, #22c55e 0%, #65a30d 100%);--gradient-accent:linear-gradient(135deg, #fb7185 0%, #f97316 100%);--easter-glow-soft:#fde04733;--easter-glow-strong:#f9731638;--easter-sparkle:#ffffff8c}[data-season-theme=easter] body{background:radial-gradient(circle at 50% -8%,#ffffffeb 0,#0000 32%),radial-gradient(circle at 10% 18%,#fef08a57 0,#0000 22%),radial-gradient(circle at 88% 12%,#fdba7438 0,#0000 20%),radial-gradient(circle at 80% 78%,#86efac38 0,#0000 18%),linear-gradient(#fffdf6 0%,#f7fef2 52%,#fff8ef 100%)}[data-theme=dark][data-season-theme=easter] body{background:radial-gradient(circle at 50% -8%,#fef08a1a 0,#0000 28%),radial-gradient(circle at 10% 18%,#facc152e 0,#0000 22%),radial-gradient(circle at 88% 12%,#f9731629 0,#0000 20%),radial-gradient(circle at 80% 78%,#4ade8024 0,#0000 18%),linear-gradient(#151612 0%,#151d14 55%,#1d1712 100%)}[data-season-theme=easter] #root,[data-season-theme=easter] .app-wrapper,[data-season-theme=easter] main{background:0 0}[data-season-theme=easter] .app-wrapper{isolation:isolate;position:relative}[data-season-theme=easter] .app-wrapper>main:before{content:"";pointer-events:none;z-index:0;opacity:.75;background:radial-gradient(circle at 16% 28%, var(--easter-sparkle) 0 2px, transparent 3px), radial-gradient(circle at 72% 18%, #ffffff80 0 2px, transparent 3px), radial-gradient(circle at 82% 62%, #ffffff6b 0 2px, transparent 3px), radial-gradient(circle at 28% 76%, #ffffff70 0 1.5px, transparent 2.5px), radial-gradient(circle at 58% 54%, #ffffff52 0 1.5px, transparent 2.5px);animation:14s linear infinite easterSparkles;position:fixed;top:0;bottom:0;left:0;right:0}[data-season-theme=easter] .app-wrapper:before,[data-season-theme=easter] .app-wrapper:after{content:"";pointer-events:none;z-index:0;opacity:.8;position:fixed}[data-season-theme=easter] .app-wrapper:before{width:178px;height:236px;transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * 32px), calc((var(--seasonal-pointer-y,.5) - .5) * -18px), 0) rotate(-12deg);background:radial-gradient(circle at 35% 24%,#ffffffeb 0 7%,#0000 8%),radial-gradient(circle at 40% 18%,#ffffff59 0 15%,#0000 16%),linear-gradient(#ffffff47,#fff0),linear-gradient(160deg,#fde68a 0%,#fdba74 55%,#fb7185 100%);border:5px solid #ffffff61;border-radius:50% 50% 48% 48%/60% 60% 46% 46%;transition:transform .22s ease-out,box-shadow .22s ease-out;animation:7s ease-in-out infinite easterEggFloatLeft;bottom:6vh;left:-48px;box-shadow:0 24px 55px #f973163d,inset 0 -16px 28px #f9731629}[data-season-theme=easter] .app-wrapper:after{width:190px;height:248px;transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * -38px), calc((var(--seasonal-pointer-y,.5) - .5) * -22px), 0) rotate(13deg);background:radial-gradient(circle at 58% 24%,#ffffffe6 0 7%,#0000 8%),radial-gradient(circle at 56% 18%,#ffffff57 0 16%,#0000 17%),linear-gradient(#ffffff40,#fff0),linear-gradient(170deg,#bbf7d0 0%,#fde68a 56%,#fdba74 100%);border:5px solid #ffffff5c;border-radius:50% 50% 47% 47%/61% 61% 45% 45%;transition:transform .22s ease-out,box-shadow .22s ease-out;animation:8.2s ease-in-out infinite easterEggFloatRight;top:18vh;right:-56px;box-shadow:0 24px 60px #84cc1633,inset 0 -16px 30px #f973161f}[data-season-theme=easter] main,[data-season-theme=easter] footer{z-index:1;position:relative}[data-season-theme=easter] header{z-index:1600;background:#fffbf1d1;border-bottom-color:#f9731629;position:relative;box-shadow:0 12px 28px #f9731614}[data-theme=dark][data-season-theme=easter] header{background:#1d1712d1;border-bottom-color:#facc151f;box-shadow:0 12px 28px #00000047}[data-season-theme=easter] .logo:before{content:"🐰";animation-duration:2.6s}[data-season-theme=easter] .hero-container{box-shadow:0 22px 46px #f973162e,0 10px 24px #84cc1614}[data-season-theme=easter] .hero-container:before{background:radial-gradient(circle at 18% 22%,#fff3 0,#0000 24%),radial-gradient(circle at 80% 20%,#ffffff24 0,#0000 26%),radial-gradient(circle at 50% 110%,#ffffff1a 0,#0000 34%),linear-gradient(135deg,#ffffff14 0%,#0000 52%)}[data-season-theme=easter] .hero h1{text-shadow:0 4px 18px #00000029,0 0 24px #ffffff1f}[data-season-theme=easter] .hero h2,[data-season-theme=easter] .hero p{text-shadow:0 2px 10px #0000001f}[data-season-theme=easter] .hero-cta-primary,[data-season-theme=easter] .hero-cta-secondary,[data-season-theme=easter] .occasion-cta-primary,[data-season-theme=easter] .namedays-cta,[data-season-theme=easter] .articles-cta-btn,[data-season-theme=easter] .quick-link-btn,[data-season-theme=easter] .newsletter-btn{position:relative;overflow:hidden}[data-season-theme=easter] .hero-cta-secondary:after,[data-season-theme=easter] .occasion-cta-primary:after,[data-season-theme=easter] .namedays-cta:after,[data-season-theme=easter] .articles-cta-btn:after,[data-season-theme=easter] .quick-link-btn:after,[data-season-theme=easter] .newsletter-btn:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff47 45%,#0000 100%);animation:6.4s ease-in-out infinite easterButtonSweep;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}[data-season-theme=easter] .app-wrapper:hover:before{box-shadow:0 28px 64px #f9731647,inset 0 -16px 28px #f973162e}[data-season-theme=easter] .app-wrapper:hover:after{box-shadow:0 28px 68px #84cc163d,inset 0 -16px 30px #f9731629}[data-season-theme=easter] .section-header h2,[data-season-theme=easter] .article-title,[data-season-theme=easter] .page-header h1,[data-season-theme=easter] .legal-header h1{background:linear-gradient(135deg,#ea580c 0%,#f59e0b 48%,#65a30d 100%);color:#0000;-webkit-background-clip:text;background-clip:text}[data-season-theme=easter] .section-header h2:after{background:linear-gradient(90deg,#fb7185,#f59e0b,#84cc16);box-shadow:0 6px 18px #f973162e}[data-season-theme=easter] .wish-card,[data-season-theme=easter] .occasion-card,[data-season-theme=easter] .article-card,[data-season-theme=easter] .generated-result,[data-season-theme=easter] .generator-form,[data-season-theme=easter] .contact-page .contact-info,[data-season-theme=easter] .contact-page .contact-form-section,[data-season-theme=easter] .contact-page .faq-item,[data-season-theme=easter] .article-content,[data-season-theme=easter] .related-link-card,[data-season-theme=easter] .favorite-card,[data-season-theme=easter] .wish-history,[data-season-theme=easter] .contact-form{background-image:linear-gradient(#ffffffb8,#fff0),radial-gradient(circle at 100% 0,#fde04714,#0000 32%);border-color:#f9731624;box-shadow:0 18px 40px #f9731614,0 6px 14px #84cc160d}[data-theme=dark][data-season-theme=easter] .wish-card,[data-theme=dark][data-season-theme=easter] .occasion-card,[data-theme=dark][data-season-theme=easter] .article-card,[data-theme=dark][data-season-theme=easter] .generated-result,[data-theme=dark][data-season-theme=easter] .generator-form,[data-theme=dark][data-season-theme=easter] .contact-page .contact-info,[data-theme=dark][data-season-theme=easter] .contact-page .contact-form-section,[data-theme=dark][data-season-theme=easter] .contact-page .faq-item,[data-theme=dark][data-season-theme=easter] .article-content,[data-theme=dark][data-season-theme=easter] .related-link-card,[data-theme=dark][data-season-theme=easter] .favorite-card,[data-theme=dark][data-season-theme=easter] .wish-history,[data-theme=dark][data-season-theme=easter] .contact-form{background-image:linear-gradient(#ffffff0a,#fff0),radial-gradient(circle at 100% 0,#fde04714,#0000 36%);border-color:#facc151f;box-shadow:0 18px 42px #00000047,0 0 0 1px #facc150d}[data-season-theme=easter] .wish-card:after,[data-season-theme=easter] .occasion-card:after,[data-season-theme=easter] .article-card:after{background:linear-gradient(135deg,#f9731614,#fde0470a,#84cc1614)}[data-season-theme=easter] .wish-card:hover,[data-season-theme=easter] .occasion-card:hover,[data-season-theme=easter] .article-card:hover,[data-season-theme=easter] .related-link-card:hover,[data-season-theme=easter] .favorite-card:hover{box-shadow:0 26px 52px #f9731624,0 10px 24px #84cc1614}[data-season-theme=easter] .namedays-banner,[data-season-theme=easter] .todays-occasion-banner,[data-season-theme=easter] .upcoming-occasion-banner,[data-season-theme=easter] .occasion-highlight{box-shadow:0 16px 34px #f973161f,inset 0 1px #fff6}[data-season-theme=easter] .icon-wrapper{background:radial-gradient(circle at 34% 28%,#ffffff52 0,#0000 20%),linear-gradient(160deg,#fff3,#ffffff0a);border-color:#ffffff4d;animation:4.8s ease-in-out infinite easterIconBob;box-shadow:0 16px 28px #f973161f,inset 0 1px #ffffff47}[data-season-theme=easter] .icon-wrapper:nth-child(2){animation-delay:.7s}[data-season-theme=easter] .icon-wrapper:nth-child(3){animation-delay:1.4s}[data-season-theme=easter] .seasonal-theme-toggle[data-active=true]{box-shadow:0 0 0 1px #f9731629,0 12px 30px #f973162e,0 0 24px #fde04726}[data-season-theme=easter] .seasonal-theme-toggle-icon{animation:2.8s ease-in-out infinite easterWiggle}[data-season-theme=easter] .article-content blockquote,[data-season-theme=easter] .generated-result,[data-season-theme=easter] .contact-page .contact-info,[data-season-theme=easter] .contact-page .contact-form-section{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes easterEggFloatLeft{0%,to{transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * 32px), calc((var(--seasonal-pointer-y,.5) - .5) * -18px), 0) rotate(-12deg)}50%{transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * 32px), calc((var(--seasonal-pointer-y,.5) - .5) * -30px), 0) rotate(-8deg)}}@keyframes easterEggFloatRight{0%,to{transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * -38px), calc((var(--seasonal-pointer-y,.5) - .5) * -22px), 0) rotate(13deg)}50%{transform:translate3d(calc((var(--seasonal-pointer-x,.5) - .5) * -38px), calc((var(--seasonal-pointer-y,.5) - .5) * -34px), 0) rotate(17deg)}}@keyframes easterSparkles{0%{opacity:.45;transform:translateY(0)}50%{opacity:.82;transform:translateY(-10px)}to{opacity:.45;transform:translateY(0)}}@keyframes easterButtonSweep{0%,70%{transform:translate(-120%)}to{transform:translate(130%)}}@keyframes easterIconBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes easterWiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-8deg)scale(1.04)}75%{transform:rotate(8deg)scale(1.04)}}.seasonal-theme-toggle{color:#9a3412;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:var(--space-sm);white-space:nowrap;background:linear-gradient(#fffbebf5,#fffffff5);border:2px solid #f973162e;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #f973161f,inset 0 1px #ffffffa6}.seasonal-theme-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 28px #f9731629,inset 0 1px #ffffffb8}.seasonal-theme-toggle[data-active=false]{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .seasonal-theme-toggle{color:#fde68a;background:linear-gradient(#422006f5,#271f0af5);border-color:#fbbf243d;box-shadow:0 12px 28px #00000038,inset 0 1px #ffffff0a}[data-theme=dark] .seasonal-theme-toggle[data-active=false]{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.seasonal-theme-toggle-icon{font-size:1rem;line-height:1}.seasonal-theme-toggle-state{background:#ffffffa6;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;line-height:1.1}[data-theme=dark] .seasonal-theme-toggle-state{background:#ffffff14}@media (prefers-reduced-motion:reduce){[data-season-theme=easter] .app-wrapper>main:before,[data-season-theme=easter] .app-wrapper:before,[data-season-theme=easter] .app-wrapper:after,[data-season-theme=easter] .logo:before,[data-season-theme=easter] .hero-container:after,[data-season-theme=easter] .hero-cta-primary:after,[data-season-theme=easter] .hero-cta-secondary:after,[data-season-theme=easter] .occasion-cta-primary:after,[data-season-theme=easter] .namedays-cta:after,[data-season-theme=easter] .articles-cta-btn:after,[data-season-theme=easter] .quick-link-btn:after,[data-season-theme=easter] .newsletter-btn:after,[data-season-theme=easter] .icon-wrapper,[data-season-theme=easter] .seasonal-theme-toggle-icon{transition:none;animation:none}}@media (max-width:1380px){.seasonal-theme-toggle-label,.seasonal-theme-toggle-state{display:none}}@media (max-width:768px){.seasonal-theme-toggle{padding:var(--space-xs) var(--space-sm);gap:.35rem;font-size:.8rem}.seasonal-theme-toggle-state{padding:.12rem .35rem}[data-season-theme=easter] .app-wrapper:before,[data-season-theme=easter] .app-wrapper:after{opacity:.55;width:118px;height:156px}[data-season-theme=easter] .app-wrapper>main:before{opacity:.45}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2)format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2)format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-ext-400-normal-DwaaZvol.woff2)format("woff2"),url(/assets/lora-cyrillic-ext-400-normal-PiPRSBNu.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-400-normal-CbVom6TB.woff2)format("woff2"),url(/assets/lora-cyrillic-400-normal-BedExNGj.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-math-400-normal-D2gccGFf.woff2)format("woff2"),url(/assets/lora-math-400-normal-BToItYw_.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-symbols-400-normal-DmcY0X7a.woff2)format("woff2"),url(/assets/lora-symbols-400-normal-BK2bqsD8.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-vietnamese-400-normal-BxA6xcFr.woff2)format("woff2"),url(/assets/lora-vietnamese-400-normal-DlgyXXxo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-ext-400-normal-CyviI4c-.woff2)format("woff2"),url(/assets/lora-latin-ext-400-normal-B9GmMl5M.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2)format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-ext-700-normal-CH2Ef3pd.woff2)format("woff2"),url(/assets/lora-cyrillic-ext-700-normal-B20D6wuF.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-700-normal-CicHrsUU.woff2)format("woff2"),url(/assets/lora-cyrillic-700-normal-CoUvLzhc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-math-700-normal-BdgFUNlJ.woff2)format("woff2"),url(/assets/lora-math-700-normal-JjB0YUk-.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-symbols-700-normal-zYsi5zvy.woff2)format("woff2"),url(/assets/lora-symbols-700-normal-DaE8wqnc.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-vietnamese-700-normal-BHDzxyiD.woff2)format("woff2"),url(/assets/lora-vietnamese-700-normal-DyKKCAD2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-ext-700-normal-DbHby4fw.woff2)format("woff2"),url(/assets/lora-latin-ext-700-normal-XBj10pPw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2)format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-cyrillic-ext-400-normal-D9NYhYTq.woff2)format("woff2"),url(/assets/merriweather-cyrillic-ext-400-normal-Di6yW_eE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-cyrillic-400-normal-AvfsDsMQ.woff2)format("woff2"),url(/assets/merriweather-cyrillic-400-normal-DAcQ8g-H.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-vietnamese-400-normal-hNacsVs_.woff2)format("woff2"),url(/assets/merriweather-vietnamese-400-normal-Dh8WVvgZ.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-latin-ext-400-normal-CWVzVQq3.woff2)format("woff2"),url(/assets/merriweather-latin-ext-400-normal-CLqijLtt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-latin-400-normal-G4kZaoXi.woff2)format("woff2"),url(/assets/merriweather-latin-400-normal-CvqO63Ah.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-cyrillic-ext-700-normal-Bk1p9YoV.woff2)format("woff2"),url(/assets/merriweather-cyrillic-ext-700-normal-DoooT6Vg.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-cyrillic-700-normal-wbY04GlL.woff2)format("woff2"),url(/assets/merriweather-cyrillic-700-normal-CHCcU-4a.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-vietnamese-700-normal-Bp6kWjW5.woff2)format("woff2"),url(/assets/merriweather-vietnamese-700-normal-C7_HxHBa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-latin-ext-700-normal-jHnxg2Kc.woff2)format("woff2"),url(/assets/merriweather-latin-ext-700-normal-CaBzXGOk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/merriweather-latin-700-normal-DoUP8Ce-.woff2)format("woff2"),url(/assets/merriweather-latin-700-normal-D4-nzrAh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-cyrillic-400-normal-CjW2EstV.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-400-normal-ZiRag6zj.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-vietnamese-400-normal-BV2APVTb.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-400-normal-BbvUAu4N.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-ext-400-normal-BxlSGspa.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-400-normal-qdZwdvNS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2)format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-ext-700-normal-Do0rx6yy.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-700-normal-BaW-xaxb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-700-normal-SLG_-a_c.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-700-normal-D3uyJ5DH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-vietnamese-700-normal--OtHbi1I.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-700-normal-GOTdnRS1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-ext-700-normal-CNjt5vTB.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-700-normal-qRbaVVD7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-vietnamese-400-normal-lz8MlVep.woff2)format("woff2"),url(/assets/dancing-script-vietnamese-400-normal-D2srOv8f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-ext-400-normal-C917Kz-3.woff2)format("woff2"),url(/assets/dancing-script-latin-ext-400-normal-DaWfpMsu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2)format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2)format("woff2"),url(/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-ext-700-normal-DuhEb1O2.woff2)format("woff2"),url(/assets/dancing-script-latin-ext-700-normal-vV212RL9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2)format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.generator-page .generator-section,.generator-page .generator-cards-section,.generator-page .generator-info,.generator-page .generator-instructions,.generator-page .faq-section{padding:var(--space-3xl) 0;position:relative}.generator-page .generator-section{background:var(--bg-primary)}.generator-page .generator-cards-section{background:radial-gradient(circle at top right, #0ea5e91f, transparent 28%), linear-gradient(180deg, var(--bg-tertiary), var(--bg-primary));border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.generator-page .generator-info{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.generator-page .generator-instructions{background:var(--bg-tertiary)}.generator-page .faq-section{background:var(--bg-secondary);border-top:1px solid var(--border-color)}.generator-page .container{max-width:1000px;padding:0 var(--space-xl);margin:0 auto}.generator-page .generator-cards-section .container{max-width:1600px}.generator-page .generator-instructions h2,.generator-page .section-header h2{color:var(--text-primary);text-align:center;margin-bottom:var(--space-md);font-size:2rem;font-weight:700;position:relative}.generator-page .generator-instructions h2:after,.generator-page .section-header h2:after{content:"";left:50%;bottom:calc(-1 * var(--space-sm));border-radius:var(--radius-full);background:var(--gradient-primary);width:60px;height:3px;position:absolute;transform:translate(-50%)}.generator-page .section-header p{color:var(--text-secondary);text-align:center;margin:0 auto var(--space-2xl);max-width:620px;font-size:1.05rem}.generator-page .generator-development-notice{justify-content:center;align-items:center;gap:var(--space-md);max-width:820px;margin:var(--space-xl) auto 0;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);text-align:left;background:#0f172a29;border:1px solid #fff3;display:flex;box-shadow:0 18px 36px #0f172a29}.generator-page .generator-development-notice-badge{border-radius:var(--radius-full);color:#fff7cc;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:#fbbf242e;border:1px solid #fbbf2459;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.generator-page .generator-development-notice p{color:#ffffffeb;margin:0;font-size:.98rem;line-height:1.5}.ai-generator{max-width:1000px;padding:var(--space-xl);margin:0 auto}.generator-form,.selling-point,.instruction-step,.tips-section,.faq-item,.generated-result{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}[data-theme=dark] .generator-form,[data-theme=dark] .selling-point,[data-theme=dark] .instruction-step,[data-theme=dark] .tips-section,[data-theme=dark] .faq-item,[data-theme=dark] .generated-result{background:var(--bg-primary)}.generator-form{padding:var(--space-2xl);margin-bottom:var(--space-2xl);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.generator-form:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--accent-500));height:3px;position:absolute;top:0;left:0;right:0}.generator-form h3{color:var(--text-primary);margin-bottom:var(--space-sm);align-items:center;gap:var(--space-sm);font-size:1.5rem;display:flex}.generator-description{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.65}.ai-generator .form-group{margin-bottom:var(--space-xl);border:0;min-inline-size:0;padding:0}.ai-generator .form-group legend{margin-bottom:var(--space-md);color:var(--text-primary);font-size:1.05rem;font-weight:700;display:block}.generator-row{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.personalization-section{margin-bottom:var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);background-image:linear-gradient(135deg,#0ea5e908,#0000 50%,#22c55e08)}.personalization-label{margin:0 0 var(--space-md);color:var(--text-primary);font-size:1.05rem;font-weight:700}.optional-badge{color:var(--text-muted);font-size:.9rem;font-weight:400}.personalization-fields{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.name-field{gap:var(--space-xs);flex-direction:column;display:flex}.name-field label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.name-field input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-normal);font-family:inherit;font-size:.95rem}.name-field input:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 2px #3b82f62e}.name-field input[aria-invalid=true]{border-color:#ef4444}.name-error{color:#b91c1c;font-size:.82rem;line-height:1.4}.options-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.options-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.compact-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.option-btn,.option-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);width:100%;color:var(--text-primary);transition:border-color var(--transition-normal), background var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer;font-family:inherit}.option-btn{min-height:92px;padding:var(--space-md);justify-content:center;align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;display:flex;position:relative}.option-card{padding:var(--space-md);text-align:left;flex-direction:column;align-items:flex-start;min-height:84px;display:flex}.option-btn:hover,.option-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md), 0 4px 12px #0ea5e91a;transform:translateY(-2px)}.option-btn.selected,.option-card.selected{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 1px var(--primary-500), 0 2px 8px #0ea5e926}.option-btn.selected:after{content:"✓";background:var(--primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;line-height:1;display:flex;position:absolute;top:6px;right:6px}[data-theme=dark] .option-btn.selected,[data-theme=dark] .option-card.selected{border-color:var(--primary-500);background:#3b82f61f}.option-emoji{font-size:1.4rem}.option-label,.option-title{font-weight:600}.option-label{font-size:.9rem;line-height:1.25}.option-title{color:var(--text-primary)}.option-desc{color:var(--text-muted);margin-top:var(--space-xs);font-size:.85rem;line-height:1.35}.selection-summary{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.summary-chip{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);min-width:0;transition:transform var(--transition-fast), box-shadow var(--transition-fast);display:flex}.summary-chip:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-icon{flex-shrink:0;font-size:1.2rem}.summary-label,.summary-value{display:block}.summary-chip>div{min-width:0}.summary-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.summary-value{color:var(--text-primary);overflow-wrap:anywhere;font-size:.92rem;font-weight:600;line-height:1.3}.generation-info{margin-bottom:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary)}.generation-info.state-ready{border-color:#22c55e40}.generation-info.state-rate_limited{background:#f59e0b14;border-color:#f59e0b59}.generation-info.state-offline,.generation-info.state-degraded{background:#ef44440d;border-color:#ef444440}.daily-limit-info{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.limit-text{color:var(--text-primary);line-height:1.5}.limit-warning,.limit-reset{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.limit-warning{color:var(--accent-700);background:var(--accent-50);border:1px solid var(--accent-200)}.limit-reset{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b47}.generate-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;cursor:pointer;letter-spacing:.02em;width:100%;min-height:60px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), opacity var(--transition-normal);border:none;font-size:1.1rem;font-weight:700;display:flex;position:relative;overflow:hidden}.generate-btn:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff2e,#0000);width:100%;height:100%;transition:left .7s;position:absolute;top:0;left:-100%}.generate-btn:not(:disabled):hover:before{left:100%}.generate-btn:hover{box-shadow:var(--shadow-lg), 0 4px 20px #0ea5e940;transform:translateY(-2px)}.generate-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.generate-btn .loading-spinner{animation:1s ease-in-out infinite spinnerPulse;display:inline-block}@keyframes spinnerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.error-message{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);color:#b91c1c;text-align:center;background:#ef444414;border:1px solid #ef44443d}.generated-result{padding:var(--space-2xl);background:linear-gradient(135deg, var(--bg-secondary) 0%, color-mix(in srgb, var(--primary-50) 40%, var(--bg-secondary)) 100%);border-color:#0000;animation:.4s ease-out slideInUp;position:relative;overflow:hidden;box-shadow:0 4px 24px #3b82f614,0 1px 3px #0000000f}[data-theme=dark] .generated-result{background:linear-gradient(135deg, var(--bg-primary) 0%, color-mix(in srgb, var(--primary-900) 30%, var(--bg-primary)) 100%);box-shadow:0 4px 24px #0003,0 1px 3px #00000026}.generated-result:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--secondary-500), var(--accent-500), var(--primary-500));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background-size:200% 100%;height:4px;animation:4s ease-in-out infinite gradientShift;position:absolute;top:0;left:0;right:0}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.generated-result-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);display:flex}.generated-result h4{align-items:center;gap:var(--space-sm);color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700;display:flex}.result-source-badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;align-items:center;gap:.35em;padding:.3em .85em;font-size:.78rem;font-weight:700;display:inline-flex}.result-source-badge.source-api{color:#15803d;background:#22c55e1f;border-color:#22c55e40}.result-source-badge.source-api:before{content:"";background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 6px #22c55e80}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.result-source-badge.source-fallback{color:#b45309;background:#f59e0b1f;border-color:#f59e0b40}.result-source-badge.source-fallback:before{content:"";background:#f59e0b;border-radius:50%;width:7px;height:7px}[data-theme=dark] .result-source-badge.source-api{color:#86efac;background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .result-source-badge.source-fallback{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b4d}.generated-wish-card{padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);box-shadow:var(--shadow-sm);position:relative}[data-theme=dark] .generated-wish-card{background:var(--bg-tertiary)}.wish-text{margin-bottom:var(--space-lg);padding:var(--space-xl) var(--space-xl) var(--space-xl) var(--space-2xl);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--primary-50) 50%, var(--bg-secondary)) 0%, var(--bg-secondary) 100%);color:var(--text-primary);border-left:none;border:1px solid color-mix(in srgb, var(--primary-200) 40%, transparent);font-size:1.1rem;line-height:1.85;position:relative}[data-theme=dark] .wish-text{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-900) 40%, var(--bg-primary)) 0%, var(--bg-primary) 100%);border-color:color-mix(in srgb, var(--primary-700) 30%, transparent)}.wish-text:before{content:"“";color:var(--primary-500);opacity:.18;font-family:Georgia,Times New Roman,serif;font-size:3.5rem;font-weight:700;line-height:1;position:absolute;top:.1em;left:.25em}.wish-text:after{content:"”";color:var(--primary-500);opacity:.12;font-family:Georgia,Times New Roman,serif;font-size:3.5rem;font-weight:700;line-height:1;position:absolute;bottom:-.15em;right:.4em}.wish-meta{margin-bottom:var(--space-md)}.wish-options{align-items:center;gap:var(--space-xs);color:var(--text-muted);flex-wrap:wrap;font-size:.88rem;display:flex}.result-source-note{margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md);color:var(--text-secondary);border-radius:var(--radius-sm);background:#f59e0b0f;border-left:3px solid #f59e0b;font-size:.88rem;line-height:1.5}.wish-actions{gap:var(--space-md);flex-direction:column;display:flex}.action-buttons{justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.generated-wish-card .favorite-btn{cursor:pointer;transition:var(--transition-normal);z-index:1;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;position:absolute;top:.5rem;right:.5rem}.generated-wish-card .favorite-btn:hover{background:#0000000d;transform:scale(1.15)}.generated-wish-card .copy-btn,.generated-wish-card .action-btn,.generated-wish-card .regenerate-btn,.social-share-inline .social-btn,.social-share-inline .share-toggle{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-normal), border-color var(--transition-normal), background var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal);font-family:inherit;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.generated-wish-card .action-btn,.generated-wish-card .regenerate-btn,.social-share-inline .social-btn,.social-share-inline .share-toggle{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.generated-wish-card .action-btn,.generated-wish-card .regenerate-btn{white-space:nowrap;flex:none;width:auto;min-width:-moz-fit-content;min-width:fit-content;height:auto}.generated-wish-card .copy-btn{background:var(--gradient-secondary);color:#fff;box-shadow:var(--shadow-sm);border:none}.generated-wish-card .copy-btn:hover,.generated-wish-card .action-btn:hover,.generated-wish-card .regenerate-btn:hover,.social-share-inline .social-btn:hover,.social-share-inline .share-toggle:hover{transform:translateY(-1px)}.generated-wish-card .copy-btn:hover{background:var(--gradient-primary);box-shadow:var(--shadow-md)}.generated-wish-card .action-btn:hover,.generated-wish-card .regenerate-btn:hover,.social-share-inline .social-btn:hover,.social-share-inline .share-toggle:hover{border-color:var(--primary-500);background:var(--bg-tertiary);color:var(--primary-600)}.regenerate-btn:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}.social-share-inline{align-items:center;display:flex}.social-share-inline .social-share-inline-panel,.social-share-inline .social-buttons{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.card-generator{gap:var(--space-xl);padding:calc(var(--space-2xl) - .25rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 0 0,#0ea5e929,#0000 26%),radial-gradient(circle at 100% 100%,#f59e0b1f,#0000 24%),linear-gradient(155deg,#fffffff5,#f0f9ffdb 48%,#fff7edeb);border:1px solid #94a3b83d;border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:clip;box-shadow:0 30px 80px #0f172a14,0 0 0 1px #ffffffad}.card-generator:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--accent-500), var(--secondary-500));height:5px;position:absolute;top:0;left:0;right:0}.card-generator:after{content:"";pointer-events:none;border:1px solid #fff9;border-radius:22px;position:absolute;top:24px;bottom:24px;left:24px;right:24px}[data-theme=dark] .card-generator{background:radial-gradient(circle at 0 0,#0ea5e92e,#0000 24%),radial-gradient(circle at 100% 100%,#f59e0b24,#0000 22%),linear-gradient(155deg,#0f172af0,#0c4a6ead 52%,#1e293beb);box-shadow:0 32px 90px #02061773,0 0 0 1px #ffffff0f}.card-generator-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.card-generator-header h3{margin-bottom:var(--space-xs);letter-spacing:-.02em;font-size:1.7rem}.card-generator-header .generator-description{max-width:620px;margin-bottom:0}.card-ai-source{align-items:flex-end;gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.card-source-btn,.card-generator-actions .copy-btn,.card-generator-actions .action-btn,.card-template-header .action-btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-normal), border-color var(--transition-normal), background var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal), opacity var(--transition-normal);min-width:0;font-family:inherit;font-size:.92rem;font-weight:600;display:inline-flex}.card-source-btn,.card-template-header .action-btn{color:var(--text-primary);background:#ffffffb8;border:1px solid #94a3b847;box-shadow:0 12px 28px #0f172a0f}.card-generator-actions .copy-btn{color:var(--text-primary);background:#ffffffbd;border:1px solid #94a3b847}.card-generator-actions .action-btn{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);border:none;font-size:.95rem;position:relative;overflow:hidden}.card-generator-actions .action-btn:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff2e,#0000);width:100%;height:100%;transition:left .7s;position:absolute;top:0;left:-100%}.card-generator-actions .action-btn:not(:disabled):hover:before{left:100%}.card-source-btn:hover,.card-generator-actions .copy-btn:hover,.card-generator-actions .action-btn:hover,.card-template-header .action-btn:hover{transform:translateY(-1px)}.card-source-btn:hover,.card-template-header .action-btn:hover,.card-generator-actions .copy-btn:hover{border-color:var(--primary-500);background:var(--bg-tertiary);color:var(--primary-600)}.card-generator-actions .action-btn:hover{box-shadow:var(--shadow-lg), 0 4px 16px #0ea5e940}.card-source-btn:disabled,.card-generator-actions .copy-btn:disabled,.card-generator-actions .action-btn:disabled,.card-template-header .action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.card-generator-layout{gap:var(--space-xl);grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);align-items:start;display:grid}@media (min-width:1400px){.card-generator-layout{grid-template-columns:minmax(0,1fr) minmax(480px,.85fr)}}.card-generator-panel,.card-preview-panel{background:linear-gradient(180deg, #ffffffe6, #f8fafcf0), var(--bg-secondary);transition:box-shadow var(--transition-normal), border-color var(--transition-normal), transform var(--transition-normal);border:1px solid #94a3b833;border-radius:24px;box-shadow:0 18px 48px #0f172a14,0 0 0 1px #fff9}.card-generator-panel:hover,.card-preview-panel:hover{box-shadow:0 24px 60px #0f172a1f,0 0 0 1px #ffffffb8}[data-theme=dark] .card-generator-panel,[data-theme=dark] .card-preview-panel{background:linear-gradient(180deg, #0f172af0, #0f172adb), var(--bg-primary);box-shadow:0 24px 60px #02061752,0 0 0 1px #ffffff0a}.card-generator-panel{padding:1.75rem}.card-preview-panel{top:calc(96px + var(--space-lg));padding:1.15rem;position:sticky}.card-preview-header{margin-bottom:var(--space-md)}.card-preview-header h4,.card-template-header h4{margin-bottom:var(--space-xs)}.card-preview-header h4,.card-preview-header-top h4{align-items:center;gap:var(--space-sm);display:flex}.card-preview-header h4:before,.card-preview-header-top h4:before{content:"";background:var(--secondary-500);width:8px;height:8px;box-shadow:0 0 6px var(--secondary-500);border-radius:50%;animation:2s ease-in-out infinite liveIndicator}@keyframes liveIndicator{0%,to{opacity:1}50%{opacity:.4}}.card-preview-header p{color:var(--text-muted);margin:0}.card-form-grid{margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.card-select,.card-textarea-field textarea{width:100%;padding:var(--space-sm) var(--space-md);color:var(--text-primary);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-normal);background:#ffffffc7;border:1px solid #94a3b842;border-radius:14px;font-family:inherit;font-size:.95rem;box-shadow:inset 0 1px #ffffff73}.card-select:focus,.card-textarea-field textarea:focus{border-color:#0ea5e9b3;outline:none;box-shadow:0 0 0 3px #0ea5e924,0 10px 22px #0ea5e914}.card-checkbox{align-items:center;gap:var(--space-sm);color:var(--text-primary);background:linear-gradient(#ffffffc2,#f8fafceb);border:1px solid #94a3b83d;border-radius:16px;padding:.95rem 1rem;font-weight:600;display:inline-flex}.card-checkbox input{accent-color:var(--primary-500)}.card-template-section{margin-bottom:var(--space-lg)}.card-template-label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.card-template-row{align-items:center;gap:.5rem;display:flex}.card-template-swatch{background:linear-gradient(135deg, var(--card-preview-start), var(--card-preview-mid) 58%, var(--card-preview-end));border:1px solid #0000001a;border-radius:7px;flex:0 0 28px;width:28px;height:28px;box-shadow:0 1px 4px #00000024}.card-template-select{flex:1 1 0;min-width:0}.card-template-random-btn{cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);background:#ffffffb3;border:1px solid #94a3b84d;border-radius:8px;flex:none;padding:.38rem .6rem;font-size:1rem;line-height:1}.card-template-random-btn:hover{background:#0ea5e91a;transform:rotate(20deg)scale(1.08)}[data-theme=dark] .card-template-random-btn{background:#0f172ab3;border-color:#94a3b82e}.card-textarea-field{margin-bottom:var(--space-lg)}.card-textarea-field textarea{resize:vertical;min-height:230px;line-height:1.7}.card-summary{margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.card-generator-actions{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.card-generator-actions .copy-btn,.card-generator-actions .action-btn{width:100%}.card-preview-shell{transform-origin:top;contain:layout paint;background:radial-gradient(circle at 0 0,#ffffff70,#0000 28%),linear-gradient(#0f172a05,#0f172a14),#d6dee8;border-radius:20px;width:100%;position:relative;overflow:hidden;transform:perspective(1400px)rotateX(3deg);box-shadow:0 32px 72px #0f172a2e,0 0 0 1px #ffffff85,inset 0 1px #fff6}.card-preview-shell svg,.card-preview-image,.card-preview-overlay,.card-preview-overlay svg{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.card-preview-image{object-fit:cover}.card-preview-overlay{pointer-events:none;will-change:contents}.card-preview-status{right:var(--space-md);top:var(--space-md);z-index:11;border-radius:var(--radius-full);color:#fff;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ac7;padding:.35rem .7rem;font-size:.78rem;font-weight:600;position:absolute;box-shadow:0 12px 28px #0f172a3d}.card-empty-state{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl);text-align:center;color:var(--text-secondary);background:radial-gradient(circle at 0 0,#ffffff6b,#0000 22%),linear-gradient(135deg,#f8fafcf2,#e2e8f0eb);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.card-empty-state strong{color:var(--text-primary);font-size:1.1rem}.card-preview-header-top{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.card-preview-header-top h4{margin-bottom:0}.card-editor-controls{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.card-editor-toggle-btn,.card-editor-reset-btn{border-radius:var(--radius-full);border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .18s}.card-editor-toggle-btn:hover,.card-editor-reset-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#0ea5e912}.card-editor-toggle-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:#0ea5e91f}.card-editor-overlay{pointer-events:none;z-index:10;position:absolute;top:0;bottom:0;left:0;right:0}.card-editor-box{pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;will-change:transform, width, height;background:#facc150d;border:2px dashed #facc15e6;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #00000040}.card-editor-box:active{cursor:grabbing}.card-editor-handle{pointer-events:all;touch-action:none;z-index:1;background:#fff;border:2px solid #facc15f2;border-radius:2px;transition:background .12s;box-shadow:0 1px 4px #00000047}.card-editor-handle:hover{background:#facc15d9}.card-editor-elem-handle{pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;will-change:transform;background:#60a5fa0f;border:2px dashed #60a5fad9;border-radius:4px;justify-content:flex-start;align-items:flex-start;padding:2px 5px;display:flex;position:absolute}.card-editor-elem-handle:active{cursor:grabbing}.card-editor-elem-label{color:#60a5faf2;white-space:nowrap;text-shadow:0 1px 2px #0009;pointer-events:none;font-size:9px;font-weight:600;line-height:1}[data-theme=dark] .card-editor-toggle-btn,[data-theme=dark] .card-editor-reset-btn{color:var(--text-secondary);background:#0f172acc;border-color:#94a3b838}[data-theme=dark] .card-editor-toggle-btn.active{background:#0ea5e92e}[data-theme=dark] .card-select,[data-theme=dark] .card-textarea-field textarea,[data-theme=dark] .card-checkbox,[data-theme=dark] .card-source-btn,[data-theme=dark] .card-generator-actions .copy-btn,[data-theme=dark] .card-template-header .action-btn{background:#0f172ab8;border-color:#94a3b82e}.info-selling-points{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:1000px;margin:0 auto;display:grid}.selling-point{padding:var(--space-xl);text-align:center;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.selling-point:hover,.faq-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-500);transform:translateY(-3px)}.sp-icon{width:64px;height:64px;margin:0 auto var(--space-md);background:linear-gradient(135deg, var(--primary-50), var(--bg-tertiary));box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex}.selling-point h3,.tips-section h3,.step-content h3{color:var(--text-primary)}.selling-point h3{margin-bottom:var(--space-sm);font-size:1.2rem}.selling-point p,.step-content p,.faq-answer{color:var(--text-secondary);line-height:1.6}@media (max-width:768px){.generator-page .generator-development-notice{flex-direction:column;align-items:flex-start}}.instruction-steps{gap:var(--space-xl);max-width:820px;margin:var(--space-2xl) auto;display:grid}.instruction-step{align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);display:flex}.step-number{background:var(--gradient-primary);color:#fff;width:50px;height:50px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.step-content h3{margin-bottom:var(--space-sm);font-size:1.15rem}.tips-section{max-width:820px;padding:var(--space-xl);margin:0 auto}.tips-section h3{margin-bottom:var(--space-lg);text-align:center;font-size:1.2rem}.tips-list{margin:0;padding:0;list-style:none}.tips-list li{padding-left:var(--space-xl);color:var(--text-secondary);line-height:1.6;position:relative}.tips-list li+li{margin-top:var(--space-md)}.tips-list li:before{content:"•";color:var(--primary-500);font-size:1.1rem;font-weight:700;position:absolute;left:0}.tips-list strong{color:var(--text-primary)}.faq-list{max-width:820px;margin:0 auto}.faq-item{margin-bottom:var(--space-lg);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);padding:0;overflow:hidden}.faq-question{width:100%;padding:var(--space-xl);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;font-size:1.05rem;font-weight:600;display:flex}.faq-question:hover{background:var(--bg-tertiary)}.faq-icon{color:var(--primary-500);font-size:1.5rem;line-height:1}.faq-answer{padding:0 var(--space-xl) var(--space-xl)}.cg-step{margin-bottom:var(--space-md);border:1px solid #94a3b838;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.cg-step-header{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#ffffffb3,#f8fafce6);border-bottom:1px solid #94a3b829;display:flex}button.cg-step-toggle{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);border:none;font-family:inherit}button.cg-step-toggle:hover{background:linear-gradient(135deg,#f0f9fff2,#fffffffa)}button.cg-step-toggle:not(.open){border-bottom:none}[data-theme=dark] .cg-step-header,[data-theme=dark] button.cg-step-toggle{background:#0f172ab8}[data-theme=dark] button.cg-step-toggle:hover{background:#0ea5e91a}.cg-step-number{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.cg-step-title{color:var(--text-primary);flex:1;min-width:0;font-size:1rem;font-weight:700}.cg-step-badge.optional{border-radius:var(--radius-full);color:var(--text-muted);background:#94a3b82e;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:600}.cg-step-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:160px;font-size:.8rem;overflow:hidden}.cg-step-chevron{color:var(--text-muted);flex-shrink:0;font-size:1.1rem;font-weight:700;line-height:1}.cg-step-body{padding:var(--space-lg);gap:var(--space-md);background:var(--bg-secondary);flex-direction:column;display:flex}[data-theme=dark] .cg-step-body{background:#0f172a80}.cg-step-body.card-style-panel{border-top:none}.cg-template-grid-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.cg-random-btn{align-items:center;gap:var(--space-xs);cursor:pointer;color:var(--text-secondary);transition:background var(--transition-fast), transform var(--transition-fast);background:#ffffffb3;border:1px solid #94a3b84d;border-radius:10px;flex:none;padding:.38rem .75rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.cg-random-btn:hover:not(:disabled){background:#0ea5e91a;transform:translateY(-1px)}.cg-random-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .cg-random-btn{color:var(--text-secondary);background:#0f172ab3;border-color:#94a3b82e}.cg-template-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cg-template-card{align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--bg-tertiary);cursor:pointer;text-align:center;transition:border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);border:2px solid #94a3b838;border-radius:14px;flex-direction:column;font-family:inherit;display:flex}.cg-template-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md), 0 4px 12px #0ea5e91a;transform:translateY(-2px)}.cg-template-card.selected{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 1px var(--primary-500), 0 2px 10px #0ea5e92e}[data-theme=dark] .cg-template-card{background:#0f172a80}[data-theme=dark] .cg-template-card.selected{border-color:var(--primary-500);background:#3b82f61f}.cg-template-icon{padding:var(--space-sm) 0;font-size:2rem;line-height:1}.cg-template-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 var(--space-xs);font-size:.78rem;font-weight:600;line-height:1.3;overflow:hidden}.cg-template-card.selected .cg-template-name{color:var(--primary-600)}.cg-template-groups{gap:var(--space-xs);flex-direction:column;display:flex}.cg-template-group{border-radius:var(--radius-md);border:1px solid #94a3b838;overflow:hidden}.cg-template-group-summary{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);color:var(--text-primary);transition:background var(--transition-fast);font-size:.9rem;font-weight:600;list-style:none;display:flex}.cg-template-group-summary::-webkit-details-marker{display:none}.cg-template-group-summary:before{content:"▶";color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0;font-size:.65rem}.cg-template-group[open]>.cg-template-group-summary:before{transform:rotate(90deg)}.cg-template-group-summary:hover{background:var(--bg-tertiary)}.cg-template-group-label{flex:1}.cg-template-group-count{color:var(--text-muted);border-radius:var(--radius-full);background:#94a3b82e;padding:1px 8px;font-size:.75rem;font-weight:500}.cg-template-group .cg-template-grid{padding:var(--space-sm);border-top:1px solid #94a3b82e}[data-theme=dark] .cg-template-group{border-color:#64748b4d}[data-theme=dark] .cg-template-group-summary{background:#0f172a99}[data-theme=dark] .cg-template-group-summary:hover{background:#1e293bcc}[data-theme=dark] .cg-template-group-count{background:#64748b40}.cg-ai-row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.cg-ai-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal), opacity var(--transition-normal);border:none;flex:none;font-family:inherit;font-size:.95rem;font-weight:700;display:inline-flex}.cg-ai-btn:hover:not(:disabled){box-shadow:var(--shadow-md), 0 4px 14px #0ea5e938;transform:translateY(-1px)}.cg-ai-btn:disabled{opacity:.65;cursor:not-allowed}.cg-ai-hint{color:var(--text-muted);font-size:.85rem}.cg-action-bar{gap:var(--space-sm);padding-top:var(--space-md);margin-top:var(--space-sm);border-top:1px solid #94a3b82e;grid-template-columns:1fr auto;display:grid}.cg-action-primary{width:100%;min-height:48px;padding:0 var(--space-lg);color:#fff;background:var(--primary-500);border-radius:var(--radius-md);cursor:pointer;white-space:normal;text-align:center;transition:background var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.4em;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.3;display:flex}.cg-action-primary:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.cg-action-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.cg-action-secondary{white-space:nowrap}.cg-field-note{color:var(--text-muted);margin-left:var(--space-xs);font-size:.75rem;font-weight:400}.card-style-panel{padding:var(--space-lg);gap:var(--space-md);background:var(--bg-secondary);border-top:1px solid #94a3b82e;flex-direction:column;display:flex}.card-style-subsection{gap:var(--space-md);padding-top:var(--space-sm);flex-direction:column;display:flex}.card-style-subsection+.card-style-subsection{padding-top:var(--space-md);border-top:1px solid #94a3b829}.card-style-subsection h5{color:var(--text-primary);margin:0;font-size:.95rem}.card-template-status{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:14px;font-size:.92rem;display:flex}.card-template-status.error{color:#991b1b;background:#fee2e2}.card-template-help{margin-top:var(--space-sm);color:var(--text-secondary);font-size:.92rem}.style-control-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.style-label{color:var(--text-secondary);flex:0 0 160px;font-size:.9rem;font-weight:600}.align-btn-group{gap:4px;display:flex}.align-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:1rem;display:flex}.align-btn:hover{border-color:var(--primary-500);color:var(--primary-600)}.align-btn.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700);font-weight:700}[data-theme=dark] .align-btn.active{color:var(--primary-400);background:#3b82f62e}.font-size-control{align-items:center;gap:var(--space-sm);flex:1;display:flex}.font-size-slider{accent-color:var(--primary-500);flex:1;min-width:80px}.font-size-slider:disabled{opacity:.4}.font-size-value{text-align:right;min-width:38px;color:var(--text-muted);font-size:.88rem;font-weight:600}.color-control{align-items:center;gap:var(--space-sm);display:flex}.color-picker{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);cursor:pointer;width:40px;height:36px;padding:2px}.color-reset-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:flex}.color-reset-btn:hover{color:#ef4444;border-color:#ef4444}.card-style-reset-btn{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);margin-top:var(--space-xs);font-family:inherit;font-size:.9rem;font-weight:600}.card-style-reset-btn:hover{border-color:var(--primary-500);color:var(--primary-600)}.card-mobile-tabs{padding:var(--space-xs);background:var(--bg-tertiary);border:1px solid #94a3b838;border-radius:16px;gap:4px;display:none}.card-tab-btn{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:12px;flex:1;font-family:inherit;font-size:.95rem;font-weight:600}.card-tab-btn.active{background:var(--bg-primary);color:var(--primary-600);box-shadow:var(--shadow-sm)}[data-theme=dark] .card-tab-btn.active{color:var(--primary-400);background:#0ea5e924}.card-mobile-fab{z-index:100;display:none;position:fixed;bottom:24px;left:16px;right:16px}.card-fab-btn{background:var(--gradient-primary);color:#fff;width:100%;padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal), opacity var(--transition-normal);border:none;font-family:inherit;font-size:1rem;font-weight:700;box-shadow:0 8px 24px #0ea5e959}.card-fab-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #0ea5e973}.card-fab-btn:disabled{opacity:.65;cursor:not-allowed}@media (max-width:900px){.generator-row,.selection-summary{grid-template-columns:1fr 1fr}.card-generator-layout{grid-template-columns:1fr}.card-preview-panel{position:static}.card-preview-shell{transform:none}.card-mobile-tabs,.card-mobile-fab{display:flex}.card-preview-panel{padding-bottom:calc(var(--space-2xl) + 88px)}.mobile-hidden{display:none!important}.style-label{flex:0 0 130px}.cg-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cg-step-preview{display:none}.cg-action-bar{grid-template-columns:1fr}.cg-ai-row{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.generator-page .container,.ai-generator{padding:0 var(--space-md)}.generator-form,.generated-result,.tips-section,.instruction-step{padding:var(--space-lg)}.generator-row,.selection-summary,.options-list,.compact-list,.personalization-fields{grid-template-columns:1fr}.options-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.generated-result-header,.instruction-step{flex-direction:column;align-items:flex-start}.card-generator,.card-generator-panel,.card-preview-panel{padding:var(--space-lg)}.card-generator-header,.card-template-header{flex-direction:column;align-items:flex-start}.card-template-header p{max-width:none}.card-ai-source,.card-generator-actions{justify-content:stretch;align-items:stretch;width:100%}.card-form-grid,.card-template-grid{grid-template-columns:1fr}.card-template-preview{min-height:116px}.generated-result-header{gap:var(--space-sm)}.action-buttons{justify-content:stretch}.generated-wish-card .copy-btn,.generated-wish-card .action-btn,.generated-wish-card .regenerate-btn,.card-source-btn,.card-generator-actions .copy-btn,.card-generator-actions .action-btn,.card-template-header .action-btn,.social-share-inline .social-btn,.social-share-inline .share-toggle{width:100%}}@media (max-width:480px){.generator-page .generator-instructions h2,.generator-page .section-header h2{font-size:1.65rem}.option-btn{min-height:84px}.ai-generator{padding-inline-start:0;padding-inline-end:0}.generator-form{border-left:none;border-right:none;border-radius:0}.generated-result{padding:var(--space-md) 0;border-left:none;border-right:none;border-radius:0}.card-generator{padding:var(--space-md) 0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-left:none;border-right:none;border-radius:0}.card-generator:after{display:none}.card-generator-panel,.card-preview-panel{padding:var(--space-md);border-left:none;border-right:none;border-radius:0}.generated-result-header{padding-inline:var(--space-md)}.generated-wish-card{padding:var(--space-md) var(--space-xs);border-left:none;border-right:none;border-radius:0}.wish-text{padding:var(--space-md);border-left:none;border-right:none;border-radius:0;font-size:1rem}.card-template-preview{min-height:108px}.cg-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-step-header{padding:var(--space-sm) var(--space-md)}.cg-step-body{padding:var(--space-md)}}.article-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-normal);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.article-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-500);transform:translateY(-4px)}[data-theme=dark] .article-card:hover{border-color:var(--primary-400)}.article-card.featured{border:2px solid var(--primary-500);background:linear-gradient(135deg, var(--primary-50) 0%, var(--bg-secondary) 100%)}[data-theme=dark] .article-card.featured{background:linear-gradient(135deg, var(--primary-900) 0%, var(--bg-secondary) 100%);border-color:var(--primary-400)}.article-card.compact{padding:var(--space-lg)}.article-card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap;display:flex}.article-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.article-category{background:var(--primary-100);color:var(--primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);align-items:center;gap:var(--space-xs);font-size:.85rem;font-weight:500;display:flex}[data-theme=dark] .article-category{background:var(--primary-900);color:var(--primary-200)}.featured-badge{background:var(--gradient-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.article-reading-time{color:var(--text-muted);align-items:center;gap:var(--space-xs);font-size:.85rem;display:flex}.article-card-content{gap:var(--space-md);flex-direction:column;flex:1;display:flex}.article-title{margin:0;line-height:.9}.article-title a{color:var(--text-primary);transition:color var(--transition-fast);font-size:1.25rem;font-weight:700;text-decoration:none}.article-title a:hover{color:var(--primary-600)}.article-excerpt{color:var(--text-secondary);flex:1;margin:0;line-height:1.6}.article-tags{gap:var(--space-xs);margin:var(--space-md) 0;flex-wrap:wrap;display:flex}.article-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:.8rem;font-weight:500}.article-tag:hover{background:var(--primary-100);color:var(--primary-700)}[data-theme=dark] .article-tag:hover{background:var(--primary-800);color:var(--primary-200)}.article-tag-more{background:var(--neutral-200);color:var(--text-muted);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}[data-theme=dark] .article-tag-more{background:var(--neutral-700);color:var(--neutral-300)}.article-card-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.article-author-date{gap:var(--space-xs);color:var(--text-muted);flex-direction:column;font-size:.85rem;display:flex}.article-author,.article-date{align-items:center;gap:var(--space-xs);display:flex}.article-read-more{color:var(--primary-600);align-items:center;gap:var(--space-xs);transition:all var(--transition-fast);font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.article-read-more:hover{color:var(--primary-700);transform:translate(4px)}.articles-page{max-width:1200px;padding:0 var(--space-xl);margin:0 auto}.articles-page .hero{margin-bottom:4rem}.articles-filters{margin-bottom:var(--space-2xl);gap:var(--space-lg);flex-direction:column;display:flex}.search-box{max-width:500px;margin:0 auto}.articles-search-input{width:100%;padding:var(--space-lg);border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);transition:all var(--transition-normal);font-size:1rem}.articles-search-input:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #0ea5e91a}.category-filters{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.category-filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem;font-weight:500}.category-filter-btn:hover{border-color:var(--primary-500);color:var(--primary-600)}[data-theme=dark] .category-filter-btn:hover{color:var(--primary-400)}.category-filter-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.featured-articles{margin-bottom:var(--space-3xl)}.featured-articles h2{text-align:center;margin-bottom:var(--space-2xl);color:var(--text-primary);font-size:2rem}.featured-articles-grid{gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.articles-listing h2{margin-bottom:var(--space-2xl);color:var(--text-primary);font-size:1.75rem}.articles-count{color:var(--text-muted);font-size:1rem;font-weight:400}.articles-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.home-articles-grid{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.no-articles{text-align:center;padding:var(--space-3xl);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.no-articles p{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:1.1rem}.reset-filters-btn{background:var(--primary-500);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:1rem;font-weight:600}.reset-filters-btn:hover{background:var(--primary-600);transform:translateY(-2px)}.articles-cta{text-align:center;margin-top:var(--space-2xl)}.articles-cta-btn{align-items:center;gap:var(--space-sm);background:var(--gradient-primary);color:#fff;padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-md);font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.articles-cta-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.articles-newsletter{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-3xl);text-align:center;margin-top:var(--space-3xl)}.newsletter-content h3{color:var(--text-primary);margin-bottom:var(--space-md);font-size:1.5rem}.newsletter-content p{color:var(--text-secondary);margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}.newsletter-actions{justify-content:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.newsletter-btn{background:var(--primary-500);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:var(--space-sm);border:none;font-size:1rem;font-weight:600;display:flex}.newsletter-btn:hover{background:var(--primary-600);transform:translateY(-2px)}.newsletter-btn.secondary{color:var(--primary-600);border:2px solid var(--primary-500);background:0 0}.newsletter-btn.secondary:hover{background:var(--primary-500);color:#fff}.article-page{max-width:1160px;padding:var(--space-xl) var(--space-xl) var(--space-3xl);margin:0 auto}.article-breadcrumbs{max-width:920px;margin:0 auto var(--space-lg);color:var(--text-muted);align-items:center;gap:var(--space-sm);font-size:.9rem;display:flex}.article-breadcrumbs a{color:var(--primary-600);transition:color var(--transition-fast);text-decoration:none}.article-breadcrumbs a:hover{color:var(--primary-700);text-decoration:underline}.breadcrumb-separator{color:var(--text-muted)}.breadcrumb-current{color:var(--text-secondary)}.article-header{max-width:920px;margin:0 auto var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.article-page-title{margin:0 0 var(--space-lg);color:var(--text-primary);letter-spacing:-.035em;text-wrap:balance;font-size:max(2.2rem,min(4.5vw,3.4rem));line-height:1.08}.article-layout{padding-top:unset;display:block}.article-meta-inline{gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-muted);flex-wrap:wrap;align-items:center;font-size:.92rem;display:flex}.article-meta-inline .article-category{background:var(--primary-100);color:var(--primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-weight:500}[data-theme=dark] .article-meta-inline .article-category{background:var(--primary-900);color:var(--primary-200)}.article-meta-inline .featured-badge{background:var(--gradient-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:600}.article-content{max-width:920px;margin:0 auto var(--space-3xl);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:max(1.75rem,min(2.5vw,2.5rem))}[data-theme=dark] .article-content{background:var(--bg-primary)}.article-body{color:var(--text-primary);margin-bottom:var(--space-2xl);text-rendering:optimizelegibility;font-feature-settings:"liga" 1, "kern" 1;font-size:max(1.04rem,min(1rem + .16vw,1.16rem));line-height:1.86}.article-body>:first-child{margin-top:0}.article-body h1,.article-body h2,.article-body h3,.article-body h4{color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.02em;text-wrap:balance;scroll-margin-top:6rem;font-weight:700;line-height:1.25}.article-body h1{margin-top:var(--space-2xl);font-size:max(1.8rem,min(2.2vw,2.2rem))}.article-body h2{margin-top:var(--space-3xl);color:var(--primary-600);font-size:max(1.5rem,min(2vw,1.85rem))}.article-body h3{margin-top:var(--space-2xl);font-size:1.3rem}.article-body h4{margin-top:var(--space-xl);font-size:1.12rem}.article-body p{margin:0 0 var(--space-lg);text-align:left;text-indent:1.5em}.article-body p:first-of-type,.article-body blockquote p,.article-body li p{text-indent:0}.article-body strong{color:var(--text-primary);font-weight:700}.article-body em{color:var(--text-secondary);font-style:italic}.article-body a{color:var(--primary-600);text-underline-offset:.18em;text-decoration-thickness:.08em}.article-body a:hover{color:var(--primary-700)}.article-body ul,.article-body ol{margin:0 0 var(--space-lg);padding-left:2.75rem}.article-body li{text-align:left;margin-bottom:.65rem;line-height:1.72}.article-body li>ul,.article-body li>ol{margin-top:var(--space-sm);margin-bottom:0}.article-body code{background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-sm);padding:.18rem .42rem;font-family:Courier New,monospace;font-size:.9em}.article-body pre{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);margin:0 0 var(--space-lg);border:1px solid var(--border-color);overflow-x:auto}.article-body pre code{background:0 0;padding:0;font-size:.9rem;line-height:1.65;display:block}.article-body blockquote{margin:0 0 var(--space-lg);padding:var(--space-lg) var(--space-xl);border-left:4px solid var(--primary-500);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary)}.article-body blockquote p{margin-bottom:var(--space-md)}.article-body blockquote p:last-child{margin-bottom:0}.article-screenshot-placeholder{margin:0 0 var(--space-xl);padding:var(--space-xl);border:2px dashed var(--primary-400);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-50) 0%, var(--bg-tertiary) 100%)}[data-theme=dark] .article-screenshot-placeholder{background:linear-gradient(135deg, #0ea5e91f 0%, var(--bg-secondary) 100%);border-color:var(--primary-500)}.article-screenshot-placeholder__eyebrow{margin-bottom:var(--space-sm);color:var(--primary-700);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}[data-theme=dark] .article-screenshot-placeholder__eyebrow{color:var(--primary-200)}.article-screenshot-placeholder__description{margin-bottom:var(--space-sm);color:var(--text-primary);font-weight:600;line-height:1.6}.article-screenshot-placeholder__id{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.9rem}.article-image{margin:0 0 var(--space-xl)}.article-image img{border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;height:auto;box-shadow:var(--shadow-sm);display:block}.article-image-caption{margin-top:var(--space-sm);color:var(--text-secondary);text-align:center;font-size:.95rem;line-height:1.5}.article-body table{border-collapse:collapse;width:100%;margin:0 0 var(--space-lg);text-align:left;display:block;overflow-x:auto}.article-body th,.article-body td{min-width:160px;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);text-align:left}.article-body th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.article-body td{color:var(--text-secondary)}.article-body hr{background:var(--border-color);height:1px;margin:var(--space-2xl) 0;border:none}.article-tags-bottom{gap:var(--space-sm);margin:0 0 var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border-color);flex-wrap:wrap;display:flex}.article-tags-bottom .article-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:.8rem;font-weight:500}.article-tags-bottom .article-tag:hover{background:var(--primary-100);color:var(--primary-700)}[data-theme=dark] .article-tags-bottom .article-tag:hover{background:var(--primary-800);color:var(--primary-200)}.article-footer{gap:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-color);max-width:none;margin:0;display:grid}.article-sharing{gap:var(--space-md);display:grid}.article-sharing h2{color:var(--text-primary);margin:0;font-size:1.25rem}.article-sharing p{max-width:52ch;color:var(--text-secondary);margin:0;line-height:1.6}.sharing-buttons{gap:var(--space-md);flex-wrap:wrap;justify-content:flex-start;display:flex}.article-sharing .social-buttons{gap:var(--space-sm);justify-content:flex-start}.article-navigation{justify-content:flex-start;align-items:center;display:flex}.back-to-articles{color:var(--primary-600);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border-color);transition:transform var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);font-weight:600;text-decoration:none;display:inline-flex}.back-to-articles:hover{color:var(--primary-700);background:var(--primary-50);border-color:var(--primary-500);transform:translate(-2px)}.related-articles{max-width:1160px;margin:0 auto var(--space-3xl)}.related-articles h2{margin:0 0 var(--space-sm);color:var(--text-primary);text-align:center;font-size:max(1.5rem,min(2.4vw,2rem))}.related-articles-intro{max-width:560px;margin:0 auto var(--space-xl);color:var(--text-secondary);text-align:center;line-height:1.6}.related-articles-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.article-cta{max-width:960px;padding:var(--space-2xl);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);color:var(--text-primary);text-align:center;margin:0 auto}[data-theme=dark] .article-cta{background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%)}.cta-content h3{margin:0 0 var(--space-md);font-size:1.65rem}.cta-content p{max-width:52ch;margin:0 auto var(--space-xl);color:var(--text-secondary);opacity:1;font-size:1.05rem;line-height:1.7}.cta-buttons{justify-content:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.cta-btn{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);transition:all var(--transition-normal);font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.cta-btn.primary{background:var(--gradient-primary);color:#fff}.cta-btn.primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-btn.secondary{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.cta-btn.secondary:hover{background:var(--bg-primary);color:var(--primary-600);transform:translateY(-2px)}.article-not-found{text-align:center;padding:var(--space-3xl);max-width:600px;margin:0 auto}.article-not-found h1{color:var(--text-primary);margin-bottom:var(--space-lg);font-size:2rem}.article-not-found p{color:var(--text-secondary);margin-bottom:var(--space-xl);font-size:1.1rem}@media (max-width:768px){.articles-page,.article-page{padding:var(--space-lg) var(--space-lg) var(--space-2xl)}.category-filters{padding-bottom:var(--space-sm);justify-content:flex-start;overflow-x:auto}.category-filter-btn{flex-shrink:0}.featured-articles-grid,.articles-grid,.home-articles-grid{gap:var(--space-lg);grid-template-columns:1fr}.article-card{padding:var(--space-lg)}.article-card-footer{align-items:flex-start;gap:var(--space-md);flex-direction:column}.article-header,.article-breadcrumbs,.article-content{max-width:100%}.article-header{margin-bottom:var(--space-xl)}.article-page-title{font-size:max(1.9rem,min(8vw,2.6rem))}.article-content{padding:var(--space-lg)}.article-body{font-size:1rem;line-height:1.75}.article-body h2{margin-top:var(--space-2xl)}.article-body h3{margin-top:var(--space-xl)}.newsletter-actions,.cta-buttons{flex-direction:column;align-items:center}.article-navigation,.sharing-buttons,.article-sharing .social-buttons{justify-content:flex-start}.related-articles-grid{grid-template-columns:1fr}}@media (max-width:480px){.article-card,.article-card.compact{padding:var(--space-md)}.articles-newsletter{padding:var(--space-xl)}.article-page{padding-inline-start:0;padding-inline-end:0}.article-breadcrumbs,.article-header{padding-inline:var(--space-md)}.article-meta-inline{font-size:.86rem}.article-content{padding:var(--space-md);border-left:none;border-right:none;border-radius:0}.article-body{font-size:.98rem}.article-body blockquote{padding:var(--space-md)}.article-sharing .social-buttons{grid-template-columns:1fr;width:100%;display:grid}.article-sharing .social-btn,.cta-btn{justify-content:center;width:100%}}.wish-history{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm);margin:2rem 0;transition:all .3s;overflow:visible}[data-theme=dark] .wish-history{background:var(--bg-primary)}.wish-history-empty{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-lg);margin:2rem 0;padding:3rem 1rem}[data-theme=dark] .wish-history-empty{background:var(--bg-primary)}.empty-state{text-align:center;color:var(--text-secondary)}.empty-state .empty-icon{opacity:.6;margin-bottom:.5rem;font-size:3rem;display:block}.empty-state h3{color:var(--text-primary);margin:.75rem 0 .35rem;font-size:1.15rem;font-weight:600}.empty-state p{color:var(--text-muted);margin:0;font-size:.88rem}.history-header{background:linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:center;padding:0;display:flex}[data-theme=dark] .history-header{background:linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-primary) 100%)}.history-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;flex:1;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;transition:background-color .2s;display:flex}.history-toggle:hover{background:#00000008}[data-theme=dark] .history-toggle:hover{background:#ffffff08}.history-icon{font-size:1.3rem}.history-title{text-align:left;flex:1;font-size:1.05rem;font-weight:700}.expand-arrow{color:var(--text-muted);font-size:.75rem;transition:transform .3s}.expand-arrow.expanded{transform:rotate(180deg)}.history-actions{gap:.5rem;padding:.5rem 1rem;display:flex}.export-btn,.clear-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);padding:.45rem .85rem;font-size:.8rem;font-weight:500;transition:all .2s}.export-btn:hover{background:color-mix(in srgb, var(--primary-50) 60%, var(--bg-secondary));border-color:var(--primary-400);color:var(--primary-700)}[data-theme=dark] .export-btn:hover{background:color-mix(in srgb, var(--primary-900) 40%, var(--bg-secondary));color:var(--primary-300)}.clear-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}[data-theme=dark] .clear-btn:hover{color:#fca5a5;background:#dc26261f;border-color:#fc81814d}.history-content{max-height:600px;overflow-y:auto}.history-stats{background:color-mix(in srgb, var(--primary-50) 30%, var(--bg-tertiary));border-bottom:1px solid var(--border-color);gap:2rem;padding:.85rem 1.5rem;font-size:.85rem;display:flex}[data-theme=dark] .history-stats{background:color-mix(in srgb, var(--primary-900) 15%, var(--bg-tertiary))}.stat-item{align-items:center;gap:.5rem;display:flex}.wish-history .stat-label{color:var(--text-muted);font-size:.82rem}.wish-history .stat-value{color:var(--primary-600);font-size:.9rem;font-weight:700}[data-theme=dark] .wish-history .stat-value{color:var(--primary-300)}.history-list{flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.history-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;overflow:visible}.history-item:hover{border-color:color-mix(in srgb, var(--primary-300) 50%, var(--border-color));box-shadow:0 2px 12px #0000000f,0 1px 3px #0000000a}[data-theme=dark] .history-item:hover{border-color:color-mix(in srgb, var(--primary-600) 40%, var(--border-color));box-shadow:0 2px 12px #0003,0 1px 3px #0000001f}.history-item:last-child{margin-bottom:0}.history-item-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem .5rem;display:flex}.wish-meta{flex:1}.wish-date{color:var(--text-muted);margin-bottom:.4rem;font-size:.78rem;font-weight:500;display:block}.wish-attributes{flex-wrap:wrap;gap:.35rem;display:flex}.attribute{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-full);letter-spacing:.01em;border:1px solid #0000;padding:.18rem .55rem;font-size:.72rem;font-weight:600}.attribute.occasion{color:#2563eb;background:#3b82f61a;border-color:#3b82f62e}.attribute.style{color:#16a34a;background:#22c55e1a;border-color:#22c55e2e}.attribute.length{color:#d97706;background:#f59e0b1a;border-color:#f59e0b2e}.attribute.mood{color:#9333ea;background:#a855f71a;border-color:#a855f72e}.remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:.25rem;font-size:1rem;line-height:1;transition:all .2s;display:flex}.history-item:hover .remove-btn{opacity:1}.remove-btn:hover{color:#dc2626;background:#fef2f2}.wish-content{padding:0 1rem 1rem}.wish-content .wish-text{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);margin-bottom:.75rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.65}.wish-content .wish-text:before,.wish-content .wish-text:after{display:none}.wish-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex;position:relative;overflow:visible}.history-item .favorite-btn{padding:.25rem;font-size:1.2rem;position:static;top:auto;right:auto}.copy-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.8rem;transition:background-color .2s}.copy-btn:hover{background:var(--primary-dark)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10100;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-modal{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:420px;padding:2rem;animation:.2s scaleIn;box-shadow:0 20px 60px #0003,0 4px 16px #0000001a}.confirm-modal h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1.2rem;font-weight:700}.confirm-modal p{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.92rem;line-height:1.55}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.cancel-btn,.confirm-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid;padding:.65rem 1.35rem;font-size:.88rem;font-weight:600;transition:all .2s}.cancel-btn{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.cancel-btn:hover{background:var(--bg-tertiary)}.confirm-btn{color:#fff;background:#dc2626;border-color:#dc2626}.confirm-btn:hover{background:#b91c1c;border-color:#b91c1c}[data-theme=dark] .attribute.occasion{color:#93bbfd;background:#3b82f626;border-color:#3b82f640}[data-theme=dark] .attribute.style{color:#86efac;background:#22c55e26;border-color:#22c55e40}[data-theme=dark] .attribute.length{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b40}[data-theme=dark] .attribute.mood{color:#d8b4fe;background:#a855f726;border-color:#a855f740}[data-theme=dark] .remove-btn:hover{color:#fca5a5;background:#dc262626}[data-theme=dark] .wish-content .wish-text{background:var(--bg-tertiary)}@media (max-width:768px){.history-header{flex-direction:column}.history-actions{justify-content:center;width:100%;padding:.5rem 1.5rem 1rem}.history-stats{text-align:center;flex-direction:column;gap:.5rem}.history-item-header{padding:1rem 1rem .5rem}.wish-attributes,.wish-actions{justify-content:center}.confirm-modal{margin:1rem;padding:1.5rem}.modal-actions{flex-direction:column}.cancel-btn,.confirm-btn{width:100%}.history-list{padding:var(--space-sm) 0}.history-item{border-left:none;border-right:none;border-radius:0}.wish-content{padding:0 var(--space-sm) var(--space-md)}.wish-content .wish-text{padding:var(--space-md) var(--space-sm)}}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-900:#0c4a6e;--secondary-50:#f0fdf4;--secondary-100:#dcfce7;--secondary-500:#22c55e;--secondary-600:#16a34a;--secondary-700:#15803d;--accent-50:#fefce8;--accent-100:#fef3c7;--accent-500:#f59e0b;--accent-600:#d97706;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--bg-primary:var(--neutral-50);--bg-secondary:#fff;--bg-tertiary:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-500);--border-color:var(--neutral-200);--border-hover:var(--neutral-300);--gradient-primary:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);--gradient-secondary:linear-gradient(135deg, var(--secondary-500) 0%, var(--secondary-700) 100%);--gradient-accent:linear-gradient(135deg, var(--accent-500) 0%, var(--accent-600) 100%);--gradient-bg:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--header-height-desktop:96px;--header-height-tablet:60px;--header-height-mobile:56px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:50px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary:var(--neutral-900);--bg-secondary:var(--neutral-800);--bg-tertiary:var(--neutral-700);--text-primary:var(--neutral-50);--text-secondary:var(--neutral-200);--text-muted:var(--neutral-400);--border-color:var(--neutral-700);--border-hover:var(--neutral-600);--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #0009, 0 10px 10px -5px #0000004d;--shadow-2xl:0 25px 50px -12px #000000b3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:1.6;overflow-x:hidden}#root{background:var(--bg-primary);min-height:100vh;transition:background-color var(--transition-normal)}.app-wrapper{background:var(--bg-primary);min-height:100vh;transition:background-color var(--transition-normal);flex-direction:column;display:flex}.app-wrapper main{flex:1}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-bottom:var(--space-md);font-weight:700;line-height:1.2}h1{font-size:max(2rem,min(5vw,3.5rem))}h2{font-size:max(1.5rem,min(4vw,2.5rem))}h3{font-size:max(1.25rem,min(3vw,2rem))}h4{font-size:max(1.125rem,min(2.5vw,1.5rem))}p{color:var(--text-secondary);margin-bottom:var(--space-md)}a{color:var(--primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-700)}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transition:opacity var(--transition-normal), transform var(--transition-normal);transform:translateY(0)}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transition:opacity var(--transition-normal), transform var(--transition-normal);transform:translateY(-20px)}header{z-index:1000;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background:#fffc;position:fixed;top:0;left:0;right:0;overflow-x:clip}[data-theme=dark] header{border-bottom-color:var(--border-color);background:#171717cc}nav{width:min(100%,1400px);max-width:1400px;padding:var(--space-lg) var(--space-xl);min-height:var(--header-height-desktop);justify-content:space-between;align-items:center;gap:var(--space-md);box-sizing:border-box;min-width:0;margin:0 auto;display:flex}.logo{color:var(--text-primary);transition:all var(--transition-fast);border-radius:var(--radius-lg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;line-height:1;text-decoration:none;display:flex}.logo:hover{transform:scale(1.02)}.logo:before{content:"✨";font-size:1.75rem;animation:2s ease-in-out infinite sparkle}@keyframes sparkle{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.1)rotate(-5deg)}75%{transform:scale(1.1)rotate(5deg)}}.desktop-menu{align-items:center;gap:var(--space-sm);flex-shrink:1;min-width:0;list-style:none;display:flex}.desktop-menu li{position:relative}.desktop-menu a{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;align-items:center;font-size:.9rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.desktop-menu a:before{content:"";background:var(--gradient-primary);width:100%;height:100%;transition:left var(--transition-normal);opacity:.1;z-index:-1;position:absolute;top:0;left:-100%}.desktop-menu a:hover:before{left:0}.desktop-menu a:hover{color:var(--primary-600);background:var(--primary-50);transform:translateY(-1px)}[data-theme=dark] .desktop-menu a:hover{background:var(--primary-900);color:var(--primary-100)}.dropdown{position:relative}.dropdown-trigger{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;font-size:.9rem;font-weight:500;display:flex}.dropdown-trigger:hover{color:var(--primary-600);background:var(--primary-50);transform:translateY(-1px)}[data-theme=dark] .dropdown-trigger:hover{background:var(--primary-900);color:var(--primary-100)}.dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:10300;padding:var(--space-sm) 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);list-style:none;position:absolute;top:100%;left:0;transform:translateY(-10px)}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu li{margin:0}.dropdown-menu a{padding:var(--space-sm) var(--space-lg);color:var(--text-secondary);transition:all var(--transition-fast);border-radius:0;font-size:.9rem;text-decoration:none;display:block}.dropdown-menu a:hover{background:var(--primary-50);color:var(--primary-600);padding-left:var(--space-xl);transform:none}[data-theme=dark] .dropdown-menu a:hover{background:var(--primary-900);color:var(--primary-100)}.cta-button{background:var(--gradient-primary);color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-md);white-space:nowrap;font-size:.9rem;font-weight:600;text-decoration:none;position:relative;overflow:hidden}.cta-button:before{content:"";width:100%;height:100%;transition:left var(--transition-slow);background:linear-gradient(90deg,#0000,#ffffff4d,#0000);position:absolute;top:0;left:-100%}.cta-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cta-button:hover:before{left:100%}.hamburger{cursor:pointer;z-index:1001;border-radius:var(--radius-sm);width:30px;height:30px;transition:all var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:space-between;padding:.5rem;display:none}.hamburger:hover{background:var(--bg-tertiary)}.hamburger .line{background-color:var(--text-primary);width:100%;height:3px;transition:all var(--transition-normal);border-radius:2px}.hamburger.active{opacity:0;pointer-events:none;transform:scale(.8)}.hamburger.active .line:first-child{transform:rotate(-45deg)translate(-5px,6px)}.hamburger.active .line:nth-child(2){opacity:0}.hamburger.active .line:nth-child(3){transform:rotate(45deg)translate(-5px,-6px)}.mobile-menu-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#00000080;animation:.3s ease-out forwards fadeIn;position:fixed;top:0;bottom:0;left:0;right:0}.mobile-menu{-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border-color);z-index:10000;visibility:hidden;will-change:transform;background:#fffffff5;flex-direction:column;align-items:stretch;width:85vw;max-width:360px;height:100dvh;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto;transform:translate(-100%);box-shadow:20px 0 40px #00000014}[data-theme=dark] .mobile-menu{background:#171717f5;box-shadow:20px 0 40px #00000080}.mobile-menu.show{visibility:visible;transform:translate(0)}.mobile-menu-close{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);z-index:10;box-shadow:var(--shadow-sm);background:#ffffff80;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}[data-theme=dark] .mobile-menu-close{background:#00000080}.mobile-menu-close:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-md);transform:scale(1.08)rotate(90deg)}.mobile-menu-close:active{transform:scale(.95)}.mobile-menu-content{flex-direction:column;flex:1;gap:.5rem;padding:5rem .75rem 2rem;display:flex}.menu-category{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);margin-bottom:.5rem;overflow:hidden}.menu-category:last-child{margin-bottom:0}.menu-category:focus-within,.menu-category:hover{box-shadow:var(--shadow-md)}.category-header{cursor:pointer;width:100%;color:var(--text-primary);transition:background-color var(--transition-normal);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:1.05rem;display:flex;position:relative}.category-info{align-items:center;gap:.75rem;display:flex}.category-icon{border-radius:var(--radius-sm);background:var(--bg-tertiary);justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;display:flex}.category-title{font-size:1rem;font-weight:600}.category-chevron{transition:all var(--transition-normal) cubic-bezier(.4, 0, .2, 1);color:var(--text-muted);padding:var(--space-xs);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0ea5e91a;justify-content:center;align-items:center;display:flex}.category-chevron.expanded{color:var(--primary-600);background:#0ea5e933;transform:rotate(180deg)scale(1.1);box-shadow:0 2px 8px #0ea5e94d}[data-theme=dark] .category-chevron{background:#3b82f626}[data-theme=dark] .category-chevron.expanded{color:var(--primary-400);background:#3b82f640;box-shadow:0 2px 8px #3b82f666}.category-content{background:var(--bg-secondary);transition:all .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.category-items{margin:0;padding:0 0 .5rem;list-style:none}.category-content.expanded .category-items{opacity:1;transition-delay:.1s;transform:translateY(0)}.category-items li{border-bottom:1px solid var(--border-color);transition:all var(--transition-fast) ease}.category-items li:last-child{border-bottom:none}.menu-item-link{color:var(--text-secondary);transition:all var(--transition-fast);padding:.75rem 1.5rem .75rem 3.5rem;font-size:.95rem;font-weight:500;text-decoration:none;display:block;position:relative}.menu-item-link:hover{background:var(--primary-50);color:var(--primary-700)}[data-theme=dark] .menu-item-link:hover{background:var(--primary-900);color:var(--primary-300)}.menu-item-link:before{content:"";background:linear-gradient(180deg, var(--primary-500) 0%, var(--primary-700) 100%);width:0;transition:all var(--transition-normal) cubic-bezier(.4, 0, .2, 1);border-radius:0 4px 4px 0;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #0ea5e999}[data-theme=dark] .menu-item-link:before{background:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-600) 100%);box-shadow:0 0 12px #3b82f6cc}.menu-item-link:hover:before{width:4px;transform:translate(2px)}.nav-links{list-style:none;display:none}main{min-height:100vh;padding-top:var(--header-height-desktop);background:var(--bg-primary);transition:background-color var(--transition-normal);margin:0 10vh;animation:.6s ease-out fadeInUp}.app-wrapper>main>main{background:0 0;min-height:auto;margin:0;padding-top:0;animation:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;padding:0 var(--space-xl);margin:0 auto;padding-bottom:2rem}.occasion-page .container{padding-bottom:0}.section-header{text-align:center}.section-header h2{margin-bottom:var(--space-md);background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.section-header p{max-width:600px;color:var(--text-muted);margin:0 auto;font-size:1.125rem}.hero{text-align:center;color:#fff;isolation:isolate;padding:0;position:relative;overflow:hidden}.hero-container{background:var(--gradient-bg);border-radius:var(--radius-2xl);max-width:1200px;padding:5rem var(--space-xl);isolation:isolate;margin:0 auto;position:relative;overflow:hidden}.hero-container:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 20% 80%,#7877c64d 0%,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0%,#0000 50%),linear-gradient(135deg,#ffffff1a 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}.hero-content{max-width:800px;margin:0 auto;position:relative}.hero h1{margin-bottom:var(--space-md);text-shadow:0 4px 8px #0000001a;letter-spacing:-.02em;color:#fff;font-size:max(2rem,min(5vw,3.5rem));font-weight:900}.hero h2{margin-bottom:var(--space-lg);opacity:.9;color:#ffffffeb;font-size:max(1.125rem,min(2.5vw,1.75rem));font-weight:500;line-height:1.4}.hero p{margin-bottom:var(--space-lg);opacity:.85;color:#ffffffd1;max-width:600px;margin-left:auto;margin-right:auto;font-size:max(1rem,min(1.8vw,1.125rem));line-height:1.5}.hero-cta{justify-content:center;gap:var(--space-lg);margin-top:var(--space-2xl);flex-wrap:wrap;display:flex}.hero-cta-primary{color:var(--primary-700);padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-lg);background:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;position:relative;overflow:hidden}.hero-cta-primary:hover{box-shadow:var(--shadow-2xl);color:var(--primary-700);transform:translateY(-3px)}.hero-cta-primary:hover:before{left:100%}.hero-cta-secondary{color:#fff;padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-full);transition:all var(--transition-normal);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1f;border:2px solid #ffffff4d;font-size:1.1rem;font-weight:600;text-decoration:none}.hero-cta-secondary:hover{color:#fff;background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.hero-extra{margin-top:var(--space-xl)}.hero-icons{justify-content:center;gap:var(--space-lg);margin-top:var(--space-2xl);flex-wrap:wrap;display:flex}.icon-wrapper{-webkit-backdrop-filter:blur(10px);width:80px;height:80px;transition:all var(--transition-normal);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.icon-wrapper:before{content:"";opacity:0;transition:opacity var(--transition-normal);z-index:-1;background:linear-gradient(45deg,#ffffff4d,#0000,#ffffff4d);border-radius:50%;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}.icon-wrapper:hover:before{opacity:1}.icon-wrapper:hover{background:#fff3;transform:translateY(-8px)rotate(5deg)scale(1.05);box-shadow:0 20px 40px #0000001a}.icon-large{filter:drop-shadow(0 2px 4px #0000001a);font-size:2rem}.dark-mode-toggle{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:var(--space-sm);white-space:nowrap;box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:600;display:inline-flex}.dark-mode-toggle:hover{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=dark] .dark-mode-toggle{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .dark-mode-toggle:hover{background:var(--primary-900);border-color:var(--primary-500);color:var(--primary-100)}.wishes-grid{gap:var(--space-xl);padding:var(--space-xl) 0;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.wishes-grid .wish-card{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.wishes-grid .wish-card{opacity:0;animation:.6s ease-out forwards fadeInScale;transform:scale(.9)translateY(20px)}.wishes-grid .wish-card:first-child{animation-delay:.1s}.wishes-grid .wish-card:nth-child(2){animation-delay:.2s}.wishes-grid .wish-card:nth-child(3){animation-delay:.3s}.wishes-grid .wish-card:nth-child(4){animation-delay:.4s}.wishes-grid .wish-card:nth-child(5){animation-delay:.5s}.wishes-grid .wish-card:nth-child(6){animation-delay:.6s}.wishes-grid .wish-card:nth-child(n+7){animation-delay:.7s}}@keyframes fadeInScale{to{opacity:1;transform:scale(1)translateY(0)}}.wish-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);gap:var(--space-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}.wish-card:before{content:"";background:var(--gradient-primary);transform-origin:0;height:4px;transition:transform var(--transition-normal);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.wish-card:after{content:"";background:radial-gradient(circle at top right, var(--primary-50), transparent 60%);opacity:0;transition:opacity var(--transition-normal);z-index:-1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.wish-card:hover:before{transform:scaleX(1)}.wish-card:hover:after{opacity:1}.wish-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)scale(1.02)}[data-theme=dark] .wish-card{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .wish-card:after{background:radial-gradient(circle at top right, var(--primary-900), transparent 60%)}.occasions-grid{gap:var(--space-xl);padding:var(--space-xl) 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.occasions-grid .occasion-card,.occasions-grid .ai-generator-card{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.occasions-grid .occasion-card,.occasions-grid .ai-generator-card{opacity:0;animation:.6s ease-out forwards slideInFromBottom;transform:translateY(40px)}.occasions-grid>:first-child{animation-delay:.1s}.occasions-grid>:nth-child(2){animation-delay:.2s}.occasions-grid>:nth-child(3){animation-delay:.3s}.occasions-grid>:nth-child(4){animation-delay:.4s}.occasions-grid>:nth-child(5){animation-delay:.5s}.occasions-grid>:nth-child(6){animation-delay:.6s}.occasions-grid>:nth-child(7){animation-delay:.7s}.occasions-grid>:nth-child(8){animation-delay:.8s}.occasions-grid>:nth-child(n+9){animation-delay:.9s}}@keyframes slideInFromBottom{to{opacity:1;transform:translateY(0)}}.occasion-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-2xl);color:var(--text-primary);transition:all var(--transition-normal);text-align:center;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;text-decoration:none;display:flex;position:relative;overflow:hidden}.occasion-card span{margin-bottom:var(--space-lg);transition:transform var(--transition-normal);filter:drop-shadow(0 4px 8px #0000001a);font-size:3rem}.occasion-card h3{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.ai-generator-card{background:var(--gradient-primary);color:#fff;border:none;position:relative;overflow:hidden}.ai-generator-card:before{background:#ffffff1a}.ai-generator-card:hover{box-shadow:var(--shadow-2xl);transform:translateY(-10px)scale(1.02)}.ai-generator-card a{color:#fff;text-decoration:none}.ai-card-content{z-index:2;position:relative}.ai-badge{background:var(--gradient-accent);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-md);font-size:.75rem;font-weight:700;animation:2s infinite pulse;position:absolute;top:-10px;right:-10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-icon{margin-bottom:var(--space-lg);font-size:3.5rem;animation:3s ease-in-out infinite float;display:block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ai-generator-card h3{color:#fff;margin-bottom:var(--space-md);font-size:1.8rem}.ai-generator-card p{color:#ffffffe6;margin:0;font-size:1rem;line-height:1.4}.card-icon{color:var(--primary-600);margin-bottom:1rem;font-size:2rem}[data-theme=dark] .card-icon{color:var(--primary-400)}.wish-card h2{color:var(--primary-600);margin-bottom:1rem;margin-left:10px;font-size:1.5rem}[data-theme=dark] .wish-card h2{color:var(--primary-400)}.wish-text{color:var(--text-secondary);flex-grow:1;margin-bottom:1rem;padding:0 1rem;font-size:1.1rem;line-height:1.7}.copy-btn{background:var(--gradient-secondary);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);transition:all var(--transition-normal);width:100%;box-shadow:var(--shadow-md);border:none;font-size:1rem;font-weight:600;display:flex;position:relative;overflow:hidden}.copy-btn:before{content:"";width:100%;height:100%;transition:left var(--transition-slow);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.copy-btn:hover:before{left:100%}.copy-btn:hover{box-shadow:var(--shadow-lg);background:var(--gradient-primary);color:#fff;transform:translateY(-2px)}.copy-btn:active{animation:.2s ease-out buttonClick;transform:translateY(0)}@keyframes buttonClick{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.copy-btn:active{transform:translateY(0)}.copy-btn.copied{background:var(--gradient-accent);transform:scale(.98)}.copy-btn.copied:after{content:"✓";right:var(--space-lg);animation:checkmark var(--transition-normal) ease-out;position:absolute}@keyframes checkmark{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(180deg)}to{opacity:1;transform:scale(1)rotate(360deg)}}.card-icon{margin-bottom:var(--space-md);filter:drop-shadow(0 2px 4px #0000001a);font-size:2.5rem}.wish-text{color:var(--text-secondary);margin-bottom:var(--space-lg);flex-grow:1;font-size:1.1rem;line-height:1.7}.wish-card h2{color:var(--primary-600);margin-bottom:var(--space-md);font-size:1.5rem;font-weight:700}.favorite-btn{cursor:pointer;transition:var(--transition);z-index:10;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.favorite-btn:hover{background:#0000000d;transform:scale(1.2)}.favorite-btn.active{animation:.6s ease-in-out heartbeat}@keyframes heartbeat{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.1)}to{transform:scale(1)}}.card-actions{gap:1rem;margin-top:auto;display:flex}.card-actions .copy-btn{flex:1}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.skeleton{background:linear-gradient(90deg, var(--neutral-200) 25%, var(--neutral-100) 50%, var(--neutral-200) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg, var(--neutral-700) 25%, var(--neutral-600) 50%, var(--neutral-700) 75%);background-size:200% 100%}.loading-pulse{animation:1.5s infinite pulse}.loading-spinner{margin-bottom:1rem}.spinner{border:4px solid var(--border-color);border-top:4px solid var(--primary-600);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-input{border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);width:100%;color:var(--text-primary);transition:var(--transition-fast);padding:1rem 3rem 1rem 1rem;font-size:1rem}.search-icon{color:var(--text-muted);font-size:1.2rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}[data-theme=dark] .search-input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.social-share-mini{margin-top:1rem;position:relative}.share-toggle{background:var(--accent-500);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.share-toggle:hover{background:var(--accent-600);transform:translateY(-1px)}.share-popover{pointer-events:none;z-index:600;position:fixed;top:0;bottom:0;left:0;right:0}.share-popover-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);pointer-events:auto;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:calc(100vw - 24px);padding:.5rem;display:flex;position:fixed}.share-icon-button{all:unset;cursor:pointer;width:2.5rem;height:2.5rem;transition:transform var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.share-icon-button:hover{transform:translateY(-1px)scale(1.04)}.share-icon-button svg{border-radius:999px}.share-icon-utility{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary)}.share-icon-emoji{font-size:1rem;line-height:1}.social-share-inline-panel{width:100%}.social-share-inline-panel .social-buttons{justify-content:flex-start}.notification{background:var(--secondary-600);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);opacity:0;transition:all var(--transition-normal);z-index:10400;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-xl);cursor:pointer;max-width:300px;display:flex;position:fixed;bottom:130px;right:20px;transform:translateY(100px)}.notification.show{opacity:1;transform:translateY(0)}.notification-close{color:#fff;cursor:pointer;opacity:.8;width:20px;height:20px;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;display:flex}.quick-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.quick-action-btn{background:var(--bg-tertiary);min-width:120px;color:var(--text-primary);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-xs);flex:1;font-size:.85rem;font-weight:500;display:flex}.quick-action-btn:hover{box-shadow:var(--shadow-sm);border-color:var(--border-hover);transform:translateY(-2px)}.whatsapp-btn:hover{color:#fff;background:#25d366;border-color:#25d366}.copy-text-btn:hover{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-500)}[data-theme=dark] .copy-text-btn:hover{background:var(--primary-900);color:var(--primary-100);border-color:var(--primary-500)}.categories-list{justify-content:center;gap:var(--space-md);margin:var(--space-2xl) 0;flex-wrap:wrap;display:flex}.category-btn{background:var(--bg-secondary);border:2px solid var(--primary-500);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);cursor:pointer;color:var(--primary-600);transition:all var(--transition-normal);font-size:.9rem;font-weight:600;position:relative;overflow:hidden}.category-btn:before{content:"";background:var(--gradient-primary);width:100%;height:100%;transition:left var(--transition-normal);z-index:-1;position:absolute;top:0;left:-100%}.category-btn:hover:before,.category-btn.active:before{left:0}.category-btn:hover,.category-btn.active{color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.category-btn.active{box-shadow:var(--shadow-xl)}[data-theme=dark] .category-btn{background:var(--bg-secondary);border-color:var(--primary-500);color:var(--primary-400)}.search-container{max-width:600px;margin:var(--space-2xl) auto;position:relative}.search-input{width:100%;padding:var(--space-lg) var(--space-3xl) var(--space-lg) var(--space-lg);border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);font-size:1rem}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--primary-500);outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #0ea5e91a}.search-icon{right:var(--space-lg);color:var(--text-muted);pointer-events:none;font-size:1.25rem;position:absolute;top:50%;transform:translateY(-50%)}.search-suggestions{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10;border-top:none;max-height:300px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);color:var(--text-primary);background:0 0;border:none;display:flex}.suggestion-item:hover,.suggestion-item.active{background:var(--primary-50)}[data-theme=dark] .suggestion-item:hover,[data-theme=dark] .suggestion-item.active{background:var(--primary-900)}.suggestion-icon{opacity:.7;font-size:.9rem}.suggestion-text{flex:1;font-size:.9rem}.advanced-filters{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:var(--space-lg) 0;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.filters-header{padding:var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.filters-toggle{color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-sm);transition:color var(--transition-fast);background:0 0;border:none;font-size:1rem;font-weight:600;display:flex}.filters-toggle:hover{color:var(--primary-600)}.toggle-icon{transition:transform var(--transition-fast);font-size:.8rem}.filters-toggle.expanded .toggle-icon{transform:rotate(180deg)}.clear-filters-btn{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem}.clear-filters-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}[data-theme=dark] .clear-filters-btn:hover{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}.filters-content{padding:var(--space-lg);gap:var(--space-xl);flex-direction:column;display:flex}.filter-group h4{color:var(--text-primary);margin-bottom:var(--space-md);font-size:1rem;font-weight:600}.category-checkboxes{gap:var(--space-sm);flex-wrap:wrap;display:flex}.category-checkbox{align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);transition:all var(--transition-fast);display:flex}.category-checkbox:hover{border-color:var(--primary-500);background:var(--primary-50)}[data-theme=dark] .category-checkbox:hover{background:var(--primary-900)}.category-checkbox input{margin:0}.checkmark{font-size:.9rem;font-weight:500}.radio-group{gap:var(--space-sm);flex-direction:column;display:flex}.radio-option{align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:background-color var(--transition-fast);display:flex}.radio-option:hover{background:var(--bg-tertiary)}.radio-option input{margin:0}.radio-checkmark{color:var(--text-secondary);font-size:.9rem}.social-share{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all var(--transition-normal);margin:3rem 0;padding:2rem}.social-share h3{color:var(--text-primary);margin-bottom:1.5rem}.social-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.social-btn{color:#fff;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.social-btn:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-2px)}.social-btn svg{width:20px;height:20px}.social-btn-facebook{background:#1877f2}.social-btn-x{background:#000}.social-btn-whatsapp{background:#25d366}.social-btn-copy,.social-btn-native{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}.share-btn-icon{font-size:1rem;line-height:1}.social-text{color:var(--text-secondary)}.pagination-container{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:3rem 0;display:flex}.pagination-button{background:var(--bg-secondary);border:2px solid var(--primary-600);color:var(--primary-600);border-radius:var(--radius-md);cursor:pointer;min-width:40px;height:40px;transition:var(--transition-fast);justify-content:center;align-items:center;font-weight:600;display:flex}.pagination-button:hover{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.pagination-button.active{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-lg)}[data-theme=dark] .pagination-button{background:var(--bg-secondary);border-color:var(--primary-400);color:var(--primary-400)}[data-theme=dark] .pagination-button:hover,[data-theme=dark] .pagination-button.active{background:var(--primary-600);color:#fff}footer{background:var(--bg-secondary);color:var(--text-secondary);text-align:center;border-top:1px solid var(--border-color);transition:all var(--transition-normal);margin-top:4rem;padding:3rem 1rem;box-shadow:0 -2px 10px #0000000d}.footer-links{margin-top:var(--space-lg);justify-content:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.footer-link{color:var(--text-muted);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:inherit;line-height:inherit;background:0 0;border:1px solid #0000;text-decoration:none}.footer-link:hover{color:var(--primary-600);background:var(--primary-50);border-color:var(--primary-200);text-decoration:none}[data-theme=dark] .footer-link:hover{color:var(--primary-400);background:var(--primary-900);border-color:var(--primary-700)}[data-theme=dark] footer{background:var(--bg-secondary);color:var(--text-secondary);border-top-color:var(--border-color);box-shadow:0 -2px 10px #0003}.occasions{text-align:center;margin-bottom:3rem}.occasions h2{margin-bottom:2rem}.occasions-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:0 1rem;display:grid}.occasion-card{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);transition:var(--transition-normal);text-align:center;border:1px solid var(--border-color);flex-direction:column;align-items:center;padding:2.5rem 2rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.occasion-card:before{content:"";background:var(--gradient-secondary);transform-origin:0;height:4px;transition:transform var(--transition-normal);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.occasion-card:hover:before{transform:scaleX(1)}.occasion-card:hover{box-shadow:var(--shadow-xl);border-color:var(--secondary-500);transform:translateY(-8px)}.occasion-card span{transition:var(--transition);margin-bottom:1rem;font-size:3rem;display:block;transform:scale(1)}.occasion-card:hover span{transform:scale(1.1)}[data-theme=dark] .occasion-card{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.occasion-card img{width:80px;height:80px;margin-bottom:1rem}.occasion-card h3{color:var(--primary-600);font-size:1.5rem}[data-theme=dark] .occasion-card h3{color:var(--primary-400)}@media (max-width:1024px){.container{padding:0 var(--space-lg);padding-bottom:2rem}.occasions-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.wishes-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.hero{margin:var(--space-lg) 0}.hero-container{margin:0 var(--space-lg);padding:var(--space-2xl) var(--space-lg)}.desktop-menu a,.dropdown-trigger{padding:var(--space-xs) var(--space-sm);font-size:.8rem}.cta-button{padding:var(--space-xs) var(--space-md);font-size:.8rem}nav{padding:var(--space-md) var(--space-lg)}.nav-right{gap:var(--space-sm)}main{margin:0 5vh}}@media (max-width:1400px){nav{box-sizing:border-box;width:100%;max-width:100%;padding:var(--space-md) var(--space-lg);justify-content:space-between}.logo{width:44px;height:44px;font-size:1.8rem}.desktop-menu{display:none}.hamburger{display:flex}.mobile-menu-overlay{z-index:15000;display:block}.mobile-menu{z-index:15001}}@media (min-width:1401px) and (max-width:1920px){.desktop-menu>li.desktop-menu-optional{display:none}nav{padding:var(--space-md) var(--space-lg)}.desktop-menu{gap:var(--space-sm)}.desktop-menu a,.dropdown-trigger{padding:var(--space-xs) var(--space-sm);font-size:.85rem}.nav-right{gap:var(--space-sm)}.cta-button{padding:var(--space-xs) var(--space-md);font-size:.85rem}}@media (max-width:1200px){.desktop-menu a,.dropdown-trigger,.cta-button{padding:var(--space-sm) var(--space-md);font-size:.85rem}.logo{width:42px;height:42px;font-size:1.7rem}.nav-right{gap:var(--space-sm)}main{margin:0 6vh}}@media (max-width:900px) and (min-width:769px){.desktop-menu a,.dropdown-trigger{padding:var(--space-xs) var(--space-sm);font-size:.8rem}.nav-right{gap:var(--space-sm)}.cta-button{padding:var(--space-xs) var(--space-md);font-size:.8rem}}@media (max-width:768px){.desktop-menu{display:none}.hamburger{display:flex}.mobile-menu-overlay{z-index:15000;display:block}.mobile-menu{z-index:15001}nav{padding:.375rem var(--space-md);min-height:var(--header-height-tablet);box-sizing:border-box;flex-wrap:nowrap;align-items:center;width:100%;max-width:none}main{margin:0 2vh}.nav-right{gap:var(--space-md);flex-shrink:0;align-items:center;display:flex}.logo{width:40px;height:40px;font-size:1.6rem}.cta-button{padding:var(--space-sm) var(--space-lg);min-height:44px;font-size:.9rem}header .nav-right .cta-button-secondary{display:none!important}.logo{text-overflow:ellipsis;flex-shrink:1;align-items:flex-start;max-width:calc(100vw - 180px);font-size:1.3rem;overflow:hidden}@media (max-width:600px){.logo{white-space:normal;word-break:break-word;text-overflow:unset;overflow:visible}}.dark-mode-toggle{padding:var(--space-xs) var(--space-sm);min-width:auto;font-size:.8rem}.contact-form{padding:var(--space-xl)}.nav-links{-webkit-backdrop-filter:blur(20px);width:100%;box-shadow:var(--shadow-lg);border-top:1px solid var(--border-color);z-index:1000;scrollbar-width:thin;scrollbar-color:var(--primary-500) transparent;background:#fffffff2;max-height:calc(100vh - 80px);position:absolute;top:100%;left:0;overflow:hidden auto}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-track{background:0 0}.nav-links::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:2px}.nav-links::-webkit-scrollbar-thumb:hover{background:var(--primary-600)}[data-theme=dark] .nav-links{border-top-color:var(--border-color);background:#171717f2}.container{padding:0 var(--space-md);padding-bottom:2rem}main{padding-top:var(--header-height-tablet)}.app-wrapper>main>main{margin:0;padding-top:0}.hero{margin:0 0 var(--space-md)}.hero-container{margin:0 var(--space-md);padding:2.25rem var(--space-md)}.hero-icons{gap:var(--space-md);flex-wrap:wrap;justify-content:center}.icon-wrapper{width:60px;height:60px}.icon-large{font-size:1.5rem}.occasions-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.wishes-grid{gap:var(--space-lg);grid-template-columns:1fr}.wish-card{padding:var(--space-lg)}.occasion-card{padding:var(--space-xl)}.occasion-card span{font-size:2.5rem}}.lazy-image{transition:opacity .3s,filter .3s}.lazy-image.loading{opacity:.7;filter:blur(4px)}.lazy-image.loaded{opacity:1;filter:blur()}.wishes-grid img,.occasion-card img,.hero img{content-visibility:auto;contain:layout style paint}@media (max-width:480px){.container{padding:0 var(--space-md);padding-bottom:2rem}nav{min-height:var(--header-height-mobile);padding:.25rem .75rem}*{-webkit-tap-highlight-color:#007bff1a}button,a,.clickable{touch-action:manipulation}main{padding-top:var(--header-height-mobile);margin:0 2vh}.app-wrapper>main>main{margin:0}.hero{margin:0 0 var(--space-sm)}.hero-container{margin:0 var(--space-sm);padding:2rem var(--space-md)}.hero h1{font-size:max(1.75rem,min(8vw,2.5rem))}.hero h2{font-size:max(1rem,min(4vw,1.25rem))}.hero-icons{gap:var(--space-sm)}.icon-wrapper{width:50px;height:50px}.icon-large{font-size:1.25rem}.occasions-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.occasion-card{padding:var(--space-lg)}.occasion-card span{font-size:2rem}.wish-card{padding:var(--space-lg);min-height:200px}.copy-btn{min-height:48px;padding:var(--space-md) var(--space-lg)}.nav-right{gap:var(--space-sm);flex-shrink:0}.logo{width:36px;height:36px;font-size:1.4rem}.cta-button{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);white-space:nowrap;min-width:auto;font-size:.75rem}.dark-mode-toggle{padding:var(--space-xs) var(--space-sm);min-width:auto;font-size:.75rem}.dark-mode-toggle span{font-size:1rem}.contact-form{padding:var(--space-lg)}.form-submit{justify-content:center;width:100%}.notification{max-width:none;bottom:10px;left:10px;right:10px}.quick-action-btn{padding:var(--space-sm);font-size:.8rem}}body.mobile-menu-open header{z-index:15002}body.mobile-menu-open .mobile-menu-close{z-index:15003}@media (max-width:500px){.logo{white-space:normal;word-break:break-word;text-align:left;max-width:calc(100vw - 120px);text-overflow:unset;font-size:1.2rem;line-height:1.1;overflow:visible}.occasions-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.occasion-card{padding:1.5rem 1rem}.occasion-card span{font-size:2.5rem}.occasion-card h3{font-size:1.2rem}.hero h1{font-size:2rem}.hero h2{font-size:1.1rem}.hero p{font-size:1rem}.hero-cta{gap:var(--space-md);margin-top:var(--space-2xl)}.hero-cta-primary,.hero-cta-secondary{padding:var(--space-lg) var(--space-xl);min-height:48px;font-size:1rem}.icon-wrapper{padding:.75rem}.icon-large{font-size:2rem}.wish-card{padding:1.5rem}.search-input{padding:.75rem 2.5rem .75rem 1rem;font-size:.9rem}}@media (prefers-reduced-motion:reduce){*{transition:none;animation:none}}@media (max-width:360px){.logo{width:32px;height:32px;font-size:1.2rem}.nav-right{gap:4px}.cta-button{border-radius:6px;padding:6px 8px;font-size:.7rem}.dark-mode-toggle{border-radius:6px;min-width:36px;padding:6px 8px;font-size:.7rem}.dark-mode-toggle span{font-size:.9rem}nav{padding:var(--space-md) var(--space-md);min-height:56px}}.contact-section{max-width:800px;margin:0 auto}.contact-form{background:var(--bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:all var(--transition-normal);margin-top:var(--space-xl)}.form-field{margin-bottom:var(--space-lg)}.form-field label{margin-bottom:var(--space-sm);color:var(--text-primary);font-size:1rem;font-weight:600;display:block}.form-field input[type=text],.form-field input[type=email],.form-field textarea{width:100%;padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-normal);font-family:inherit;font-size:1rem}.form-field input[type=text]:focus,.form-field input[type=email]:focus,.form-field textarea:focus{border-color:var(--primary-500);outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #0ea5e91a}.form-field textarea{resize:vertical;min-height:180px;line-height:1.6}.form-submit{background:var(--gradient-primary);color:#fff;padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);align-items:center;gap:var(--space-sm);border:none;font-size:1.1rem;font-weight:600;display:inline-flex}.form-submit:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.form-submit:active{transform:translateY(0)}[data-theme=dark] .contact-form{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .form-field input[type=text],[data-theme=dark] .form-field input[type=email],[data-theme=dark] .form-field textarea{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .form-field input[type=text]:focus,[data-theme=dark] .form-field input[type=email]:focus,[data-theme=dark] .form-field textarea:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #0ea5e933}.fun-facts{text-align:center;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-normal);margin:2rem 0;padding:2rem}.fun-facts h3{color:var(--text-primary);margin-bottom:1rem}.fun-facts p{color:var(--text-secondary);padding:1rem;font-size:1.1rem;line-height:1.5}[data-theme=dark] .fun-facts{background:var(--bg-tertiary);border-color:var(--border-color)}.favorites-page{max-width:1200px;margin:0 auto}.empty-illustration{margin-bottom:var(--space-2xl);display:inline-block;position:relative}.empty-heart{font-size:5rem;animation:2s ease-in-out infinite heartPulse}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.empty-particles{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.empty-particles span{opacity:.7;font-size:1.5rem;animation:3s ease-in-out infinite float;position:absolute}.empty-particles span:first-child{animation-delay:0s;top:20%;left:10%}.empty-particles span:nth-child(2){animation-delay:1s;top:30%;right:15%}.empty-particles span:nth-child(3){animation-delay:2s;bottom:25%;left:20%}.empty-state h3{color:var(--text-primary);margin-bottom:var(--space-lg);font-size:1.8rem;font-weight:700}.empty-state p{color:var(--text-secondary);margin-bottom:var(--space-2xl);font-size:1.1rem;line-height:1.6}.empty-cta-group{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.cta-primary{background:var(--gradient-primary);color:#fff;padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-lg);font-size:1rem;font-weight:600;text-decoration:none}.cta-primary:hover{box-shadow:var(--shadow-2xl);transform:translateY(-3px)}.cta-secondary{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-full);border:2px solid var(--border-color);transition:all var(--transition-normal);font-size:1rem;font-weight:600;text-decoration:none}.cta-secondary:hover{border-color:var(--primary-500);color:var(--primary-600);transform:translateY(-2px)}.favorites-controls{margin-bottom:var(--space-2xl)}.favorites-stats-row{justify-content:center;align-items:center;gap:var(--space-xl);display:flex}.search-section{margin-bottom:var(--space-lg);padding:0 var(--space-md);justify-content:center;display:flex}.search-section .search-container{width:100%;max-width:90%;position:relative}.favorites-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.favorites-stats{align-items:center;gap:var(--space-lg);display:flex}.collection-size{flex-direction:column;align-items:flex-start;display:flex}.stat-number{color:var(--primary-600);font-size:2.5rem;font-weight:800;line-height:1}.controls-group{align-items:center;gap:var(--space-md);display:flex}.search-container{align-items:center;display:flex;position:relative}.search-input{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-full);padding:var(--space-md) var(--space-lg);padding-right:var(--space-3xl);color:var(--text-primary);transition:all var(--transition-normal);width:100%;font-size:.95rem}.search-input:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #0ea5e91a}.search-icon{right:var(--space-lg);color:var(--text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-results-info{padding:var(--space-md) var(--space-lg);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);color:var(--primary-700);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}[data-theme=dark] .search-results-info{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-200)}.clear-search{color:var(--primary-600);cursor:pointer;font-weight:500;text-decoration:underline}.clear-search:hover{color:var(--primary-700)}.export-btn{background:var(--gradient-accent);color:#fff;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-sm);white-space:nowrap;border:none;font-size:.9rem;font-weight:600;display:flex}.favorites-count{color:var(--text-muted);font-size:.9rem;font-weight:500}.export-btn{background:var(--gradient-accent);color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-sm);border:none;font-size:.9rem;font-weight:600;display:inline-flex}.export-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.favorites-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));display:grid}.favorite-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);opacity:1;position:relative;overflow:hidden;transform:none}@media (prefers-reduced-motion:no-preference){.favorite-card{opacity:0;animation:.6s ease-out forwards fadeInScale;transform:translateY(20px)}}.favorite-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-300);transform:translateY(-5px)}.card-header{padding:var(--space-lg) var(--space-lg) 0;justify-content:space-between;align-items:flex-start;display:flex}.favorite-heart{opacity:.8;font-size:1.5rem;animation:2s ease-in-out infinite heartGlow}@keyframes heartGlow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.card-content{padding:var(--space-md) var(--space-lg)}.card-footer{padding:0 var(--space-lg) var(--space-lg);border-top:1px solid var(--border-color);margin-top:var(--space-lg);padding-top:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.card-meta{gap:var(--space-xs);flex-direction:column;display:flex}.date-added{color:var(--text-muted);font-size:.8rem;font-weight:500}.card-actions{gap:var(--space-sm);display:flex}.action-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;width:40px;height:40px;transition:all var(--transition-normal);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.action-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.copy-btn.copied{background:var(--secondary-500);border-color:var(--secondary-500);color:#fff}.remove-btn:hover{color:#c33;background:#fee;border-color:#fcc}.occasion-badge{background:var(--primary-100);color:var(--primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);margin-bottom:var(--space-md);font-size:.8rem;font-weight:500;display:inline-block}[data-theme=dark] .occasion-badge{background:var(--primary-900);color:var(--primary-100)}.favorite-card .wish-text{color:var(--text-secondary);margin-bottom:var(--space-lg);flex-grow:1;font-size:1.1rem;line-height:1.7}.favorite-card .card-actions{gap:var(--space-md);margin-top:auto;display:flex}.favorite-card .copy-btn{background:var(--gradient-secondary);color:#fff;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border:none;flex:1;font-size:.9rem;font-weight:600;display:flex}.favorite-card .copy-btn:hover{box-shadow:var(--shadow-md);background:var(--gradient-primary);color:#fff;transform:translateY(-2px)}.remove-btn{background:var(--bg-tertiary);color:var(--text-muted);border:2px solid var(--border-color);padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;min-width:48px;display:flex}.remove-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5;transform:translateY(-2px)}[data-theme=dark] .remove-btn:hover{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}.empty-favorites{min-height:400px;padding:var(--space-2xl);justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;max-width:400px}.empty-icon{margin-bottom:var(--space-lg);opacity:.6;font-size:4rem;display:block}.empty-state h3{color:var(--text-primary);margin-bottom:var(--space-md);font-size:1.5rem}.empty-state p{color:var(--text-muted);margin-bottom:var(--space-xl);line-height:1.6}.cta-button{align-items:center;gap:var(--space-sm);background:var(--gradient-primary);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);transition:all var(--transition-normal);box-shadow:var(--shadow-md);font-weight:600;text-decoration:none;display:inline-flex}.cta-button:hover{box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-2px)}@media (max-width:768px){.favorites-header{align-items:stretch;gap:var(--space-lg);flex-direction:column}.favorites-stats{justify-content:center}.controls-group{gap:var(--space-md);flex-direction:column}.search-section{padding:0 var(--space-sm)}.favorites-grid{gap:var(--space-lg);grid-template-columns:1fr}.card-footer{align-items:flex-start;gap:var(--space-md);flex-direction:column}.empty-heart{font-size:4rem}.empty-cta-group{flex-direction:column;align-items:center}.stat-number{font-size:2rem}}.calendar-page-layout{gap:var(--space-2xl);grid-template-columns:1fr 350px;align-items:start;display:grid}.calendar-main{width:100%}.todays-occasion{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--gradient-primary);border-radius:var(--radius-lg);color:#fff}.occasion-highlight{align-items:center;gap:var(--space-lg);display:flex}.occasion-highlight .occasion-emoji{font-size:3rem;line-height:1}.occasion-highlight .occasion-info h3{color:#fff;margin:0 0 var(--space-xs) 0;opacity:.9;font-size:1.1rem}.occasion-highlight .occasion-name{margin:0 0 var(--space-md) 0;color:#fff;font-size:1.5rem;font-weight:700}.occasion-highlight .hero-cta-primary{color:#fff;background:#fff3;border:1px solid #ffffff4d}.occasion-highlight .hero-cta-primary:hover{background:#ffffff4d;transform:translateY(-2px)}.upcoming-sidebar{gap:var(--space-xl);flex-direction:column;display:flex}.sidebar-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.sidebar-section h3{color:var(--text-primary);margin:0 0 var(--space-xs) 0;font-size:1.3rem;font-weight:700}.sidebar-subtitle{color:var(--text-muted);margin:0 0 var(--space-lg) 0;font-size:.9rem}.related-links-section{background:var(--bg-secondary);border-top:1px solid var(--border-color)}.related-links-grid{gap:var(--space-lg);margin-top:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding-bottom:2rem;display:grid}.related-link-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);color:var(--text-primary);transition:all var(--transition-normal);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;text-decoration:none;display:flex}.related-link-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-500);transform:translateY(-4px)}.related-link-card.featured{border-color:var(--primary-500);background:var(--primary-50)}[data-theme=dark] .related-link-card.featured{background:var(--primary-900);border-color:var(--primary-600)}.related-icon{margin-bottom:var(--space-md);font-size:2.5rem;display:block}.related-link-card h3{color:var(--text-primary);margin-bottom:var(--space-sm);font-size:1.2rem;font-weight:600}.related-link-card p{color:var(--text-secondary);margin:0;font-size:.9rem}.quick-actions{gap:var(--space-sm);flex-direction:column;display:flex}.quick-action-btn{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-normal);font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.quick-action-btn:hover{background:var(--primary-500);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.modal-overlay{z-index:1000;padding:var(--space-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:80vh;box-shadow:var(--shadow-xl);animation:.3s ease-out modalSlideIn;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h3{color:var(--text-primary);align-items:center;gap:var(--space-sm);margin:0;font-size:1.3rem;font-weight:700;display:flex}.modal-emoji{font-size:1.5rem}.modal-close{color:var(--text-muted);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--space-xl)}.occasion-date{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.9rem}.occasion-description p{color:var(--text-primary);margin-bottom:var(--space-lg);line-height:1.6}.occasion-traditions h4{color:var(--text-primary);margin:0 0 var(--space-sm) 0;font-size:1rem;font-weight:600}.occasion-traditions ul{margin:0;padding:0;list-style:none}.occasion-traditions li{color:var(--text-secondary);padding:var(--space-xs) 0;padding-left:var(--space-lg);position:relative}.occasion-traditions li:before{content:"•";color:var(--primary-500);font-weight:700;position:absolute;left:0}.occasion-namedays{margin-bottom:var(--space-lg)}.occasion-namedays h4{color:var(--text-primary);margin:0 0 var(--space-sm) 0;font-size:1rem;font-weight:600}.namedays-list{gap:var(--space-xs);flex-wrap:wrap;display:flex}.nameday-name{background:var(--primary-50);color:var(--primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--primary-200);font-size:.85rem;font-weight:500}[data-theme=dark] .nameday-name{background:var(--primary-900);color:var(--primary-300);border-color:var(--primary-700)}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--border-color);gap:var(--space-md);flex-wrap:wrap;display:flex}.modal-cta-primary,.modal-cta-secondary{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);transition:all var(--transition-normal);text-align:center;flex:1;font-size:.9rem;font-weight:600;text-decoration:none}.modal-cta-primary{background:var(--primary-500);color:#fff;border:none}.modal-cta-primary:hover{background:var(--primary-600);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.modal-cta-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-cta-secondary:hover{border-color:var(--primary-500);color:var(--primary-600);transform:translateY(-1px)}@media (max-width:1024px){.calendar-page-layout{gap:var(--space-xl);grid-template-columns:1fr}.upcoming-sidebar{order:-1}.sidebar-section{padding:var(--space-lg)}}@media (max-width:768px){.occasion-highlight{text-align:center;gap:var(--space-md);flex-direction:column}.modal-footer{flex-direction:column}.modal-cta-primary,.modal-cta-secondary{flex:none}}.namedays-section{padding:var(--space-lg) 0}.namedays-banner{background:linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);border-radius:var(--radius-lg);padding:var(--space-xl);color:#fff;box-shadow:var(--shadow-md)}.namedays-content{align-items:center;gap:var(--space-lg);display:flex}.namedays-icon{flex-shrink:0;font-size:2.5rem}.namedays-text{flex:1}.namedays-text h3{color:#fff;margin:0 0 var(--space-sm) 0;font-size:1.2rem;font-weight:600}.namedays-names{gap:var(--space-xs);flex-wrap:wrap;display:flex}.nameday-name-large{color:#fff;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background:#fff3;border:1px solid #ffffff4d;font-size:.9rem;font-weight:600}.namedays-action{flex-shrink:0}.namedays-cta{color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#ffffff26;border:1px solid #ffffff4d;font-size:.9rem;font-weight:600;text-decoration:none}.namedays-cta:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}@media (max-width:768px){.namedays-content{text-align:center;gap:var(--space-md);flex-direction:column}.namedays-icon{font-size:2rem}.namedays-names{justify-content:center}}.todays-occasion-banner,.upcoming-occasion-banner{background:var(--gradient-primary);border-radius:var(--radius-xl);padding:var(--space-2xl);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.upcoming-occasion-banner{background:var(--gradient-secondary)}.occasion-banner-content{align-items:center;gap:var(--space-xl);z-index:2;display:flex;position:relative}.occasion-banner-emoji{flex-shrink:0;font-size:4rem;line-height:1}.occasion-banner-text{flex:1}.occasion-banner-text h3{color:#fff;margin:0 0 var(--space-sm) 0;font-size:1.5rem;font-weight:700}.occasion-banner-text strong{font-weight:800}.occasion-banner-text p{color:#ffffffe6;margin:0;font-size:1.1rem;line-height:1.5}.occasion-banner-actions{gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.occasion-cta-primary,.occasion-cta-secondary{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);transition:all var(--transition-normal);text-align:center;white-space:nowrap;font-size:.95rem;font-weight:600;text-decoration:none}.occasion-cta-primary{color:#fff;background:#ffffff40;border:2px solid #ffffff4d}.occasion-cta-primary:hover{box-shadow:var(--shadow-lg);background:#ffffff59;border-color:#ffffff80;transform:translateY(-2px)}.occasion-cta-secondary{color:#fff;background:0 0;border:2px solid #ffffff4d}.occasion-cta-secondary:hover{background:#ffffff26;border-color:#ffffff80;transform:translateY(-2px)}.todays-occasion-banner:before,.upcoming-occasion-banner:before{content:"";z-index:1;background:#ffffff1a;border-radius:50%;width:100px;height:100px;position:absolute;top:-50%;right:-20%}.todays-occasion-banner:after,.upcoming-occasion-banner:after{content:"";z-index:1;background:#ffffff0d;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-30%;left:-10%}@media (max-width:768px){.occasion-banner-content{text-align:center;gap:var(--space-lg);flex-direction:column}.occasion-banner-emoji{font-size:3rem}.occasion-banner-text h3{font-size:1.3rem}.occasion-banner-text p{font-size:1rem}.occasion-banner-actions{flex-flow:wrap;justify-content:center}}@media (max-width:480px){.todays-occasion-banner,.upcoming-occasion-banner{padding:var(--space-xl)}.occasion-banner-emoji{font-size:2.5rem}.occasion-banner-text h3{font-size:1.2rem}.occasion-banner-actions{flex-direction:column;width:100%}.occasion-cta-primary,.occasion-cta-secondary{width:100%}.export-btn{padding:var(--space-sm) var(--space-md);font-size:.8rem}.favorites-count{font-size:.8rem}}.wish-submission-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-2xl);margin:var(--space-2xl) 0;box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.wish-submission-form h3{color:var(--text-primary);margin:0 0 var(--space-sm) 0;align-items:center;gap:var(--space-sm);font-size:1.5rem;font-weight:700;display:flex}.form-description{color:var(--text-secondary);margin-bottom:var(--space-xl);font-size:.95rem;line-height:1.6}.submission-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-group{gap:var(--space-sm);flex-direction:column;display:flex}.form-group label{color:var(--text-primary);font-size:.95rem;font-weight:600}.form-group legend{color:var(--text-primary);padding:0;font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-normal);font-family:inherit;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #0ea5e91a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.char-counter{color:var(--text-muted);text-align:right;margin-top:var(--space-xs);font-size:.8rem}.recaptcha-group{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center}.recaptcha-container{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.recaptcha-hint{color:var(--text-secondary);font-size:.9rem;font-style:italic}.rc-imageselect-target[aria-hidden=true],.rc-imageselect-target[aria-hidden=true] .rc-imageselect-tile{pointer-events:none}.recaptcha-container iframe{border:none;outline:none}.recaptcha-container .g-recaptcha>div{pointer-events:auto}@media (max-width:480px){.recaptcha-group{padding:var(--space-md)}.recaptcha-container{gap:var(--space-sm)}}.form-buttons{gap:var(--space-lg);justify-content:center;align-items:center;display:flex}.submit-btn{background:var(--gradient-primary);color:#fff;padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:var(--space-sm);border:none;font-size:1.1rem;font-weight:600;display:flex}.cancel-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;gap:var(--space-sm);font-size:1.1rem;font-weight:600;display:flex}.cancel-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.submit-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn.submitting{position:relative}.submit-btn.submitting:after{content:"";right:var(--space-lg);border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin;position:absolute}.form-notification{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-top:var(--space-lg);border:1px solid;font-weight:500}.form-notification.success{background:var(--secondary-50);border-color:var(--secondary-200);color:var(--secondary-700)}.form-notification.error{color:#dc2626;background:#fef2f2;border-color:#fecaca}.form-notification.info{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700)}[data-theme=dark] .form-notification.success{background:var(--secondary-900);border-color:var(--secondary-700);color:var(--secondary-200)}[data-theme=dark] .form-notification.error{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}[data-theme=dark] .form-notification.info{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-200)}.wish-card.user-submitted{position:relative}.occasion-page .wish-card.user-submitted:before{content:"";background:linear-gradient(90deg,#0000,#0ea5e91a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.occasion-page .wish-card.user-submitted:hover:before{left:-0%}.occasion-page .wish-card.user-submitted:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}@media (prefers-reduced-motion:no-preference){.wish-card.user-submitted{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:scale(.9)translateY(20px)}.wish-card.user-submitted.animate-in{opacity:1;transform:scale(1)translateY(0)}}.user-submission-info{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.submission-badge{align-items:center;gap:var(--space-xs);background:var(--accent-50);color:var(--accent-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);margin-bottom:var(--space-sm);font-size:.8rem;font-weight:600;display:inline-flex}[data-theme=dark] .submission-badge{background:var(--accent-900);color:var(--accent-200)}.submission-details{align-items:center;gap:var(--space-md);font-size:.9rem;display:flex}.submission-details .nickname{color:var(--primary-600);font-weight:600}.date{color:var(--text-muted);font-size:.85rem}[data-theme=dark] .submission-details .nickname{color:var(--primary-400)}@media (max-width:768px){.wish-submission-form{padding:var(--space-xl);margin:var(--space-xl) 0}.captcha-container{flex-direction:column;align-items:stretch}.captcha-question{white-space:normal;text-align:center}.captcha-container input{width:100%;min-width:auto}.refresh-captcha{align-self:center;width:40px;height:40px}.submission-details{align-items:flex-start;gap:var(--space-xs);flex-direction:column}}@media (max-width:480px){.wish-submission-form{padding:var(--space-lg)}.form-buttons{flex-direction:column-reverse;align-items:stretch}.submit-btn,.cancel-btn{padding:var(--space-md) var(--space-lg);width:100%;font-size:1rem}}.submission-section .section-header+div[style*="text-align: center"]{padding-bottom:var(--space-lg)}.moderation-panel{padding:var(--space-2xl) 0;background:var(--bg-primary);min-height:100vh}.page-header{text-align:center;margin-bottom:var(--space-2xl)}.page-header h1{color:var(--text-primary);margin:0 0 var(--space-sm) 0;font-size:2.5rem;font-weight:800}.page-header p{color:var(--text-secondary);margin:0;font-size:1.1rem}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-number{color:var(--primary-600);margin-bottom:var(--space-xs);font-size:2.5rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:.9rem;font-weight:500}.moderation-tabs{gap:var(--space-xs);margin-bottom:var(--space-2xl);background:var(--bg-secondary);padding:var(--space-xs);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex}.tab{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none;flex:1;font-size:.9rem;font-weight:600}.tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab.active{background:var(--primary-500);color:#fff;box-shadow:var(--shadow-sm)}.submissions-container{min-height:400px}.loading-message,.empty-message{text-align:center;padding:var(--space-3xl);color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:1.1rem}.submissions-grid{gap:var(--space-lg);flex-direction:column;display:flex}.submission-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.submission-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-300)}.submission-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap;display:flex}.submission-meta{gap:var(--space-sm);flex-wrap:wrap;display:flex}.nickname{background:var(--primary-50);color:var(--primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.85rem;font-weight:600}[data-theme=dark] .nickname{background:var(--primary-900);color:var(--primary-300)}.occasion,.category{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:.8rem;font-weight:500}.submission-date{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.submission-content{margin-bottom:var(--space-lg)}.submission-content p{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);border-left:4px solid var(--primary-500);color:var(--text-primary);margin:0;font-size:1.05rem;font-style:italic;line-height:1.6}.verification-info{margin-bottom:var(--space-lg);padding:var(--space-lg);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.verification-details{gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.check{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.check.pass{background:var(--secondary-50);color:var(--secondary-700);border:1px solid var(--secondary-200)}.check.fail{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}[data-theme=dark] .check.pass{background:var(--secondary-900);color:var(--secondary-200);border-color:var(--secondary-700)}[data-theme=dark] .check.fail{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}.verification-reason{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.submission-actions{gap:var(--space-md);justify-content:flex-end;display:flex}.approve-btn,.reject-btn{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none;font-size:.9rem;font-weight:600}.approve-btn{background:var(--secondary-500);color:#fff}.approve-btn:hover{background:var(--secondary-600);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.reject-btn{color:#fff;background:#dc2626}.reject-btn:hover{box-shadow:var(--shadow-sm);background:#b91c1c;transform:translateY(-1px)}.notification{bottom:var(--space-2xl);right:var(--space-2xl);max-width:400px;padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;justify-content:space-between;align-items:center;gap:var(--space-md);animation:.3s ease-out slideInRight;display:flex;position:fixed}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification.success{background:var(--secondary-50);border:1px solid var(--secondary-200);color:var(--secondary-700)}.notification.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.notification.info{background:var(--primary-50);border:1px solid var(--primary-200);color:var(--primary-700)}.notification-close{cursor:pointer;color:inherit;opacity:.7;transition:opacity var(--transition-fast);background:0 0;border:none;font-size:1.2rem}.notification-close:hover{opacity:1}[data-theme=dark] .notification.success{background:var(--secondary-900);border-color:var(--secondary-700);color:var(--secondary-200)}[data-theme=dark] .notification.error{color:#fca5a5;background:#7f1d1d;border-color:#dc2626}[data-theme=dark] .notification.info{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-200)}@media (max-width:768px){.page-header h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.moderation-tabs{flex-direction:column}.submission-header{flex-direction:column;align-items:flex-start}.verification-details{gap:var(--space-xs);flex-direction:column}.submission-actions{justify-content:stretch}.approve-btn,.reject-btn{flex:1}.notification{bottom:var(--space-lg);right:var(--space-lg);left:var(--space-lg);max-width:none}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.submission-card{padding:var(--space-lg)}}.cookie-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;opacity:0;transition:opacity var(--transition-normal);background:#00000080;position:fixed;top:0;bottom:0;left:0;right:0}.cookie-overlay.visible{opacity:1}.cookie-banner{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:min(100% - 24px,600px);box-shadow:var(--shadow-2xl);z-index:9999;transition:bottom var(--transition-normal) ease-out;max-height:80vh;position:fixed;bottom:-100%;left:50%;overflow-y:auto;transform:translate(-50%)}.cookie-banner.visible{bottom:2rem}.cookie-content{padding:var(--space-2xl);gap:var(--space-lg);flex-direction:column;display:flex}.cookie-icon{text-align:center;font-size:2rem}.cookie-text h3{color:var(--text-primary);margin:0 0 var(--space-md) 0;text-align:center;font-size:1.25rem;font-weight:700}.cookie-text p{color:var(--text-secondary);margin:0 0 var(--space-md) 0;text-align:center;line-height:1.6}.cookie-details{background:var(--bg-secondary);padding:var(--space-lg);border-radius:var(--radius-md);margin:var(--space-md) 0}.cookie-details strong{color:var(--text-primary);margin-bottom:var(--space-sm);display:block}.cookie-details ul{padding-left:var(--space-lg);color:var(--text-secondary);margin:0}.cookie-details li{margin-bottom:var(--space-xs);line-height:1.5}.cookie-actions{gap:var(--space-sm);flex-direction:column;align-items:center;display:flex}.cookie-btn{background:var(--gradient-primary);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center;border:none;min-width:200px;font-size:.95rem;font-weight:600}.cookie-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cookie-btn-reject{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.cookie-btn-reject:hover{background:var(--bg-secondary)}.cookie-link{color:var(--primary-600);padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:.9rem;text-decoration:none}.cookie-link:hover{background:var(--bg-secondary);color:var(--primary-700)}.legal-page{padding:var(--space-2xl) 0;min-height:100vh}.legal-header{text-align:center;margin-bottom:var(--space-2xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--border-color)}.legal-header h1{color:var(--text-primary);margin:0 0 var(--space-md) 0;font-size:2.5rem;font-weight:800}.legal-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.legal-content{max-width:800px;margin:0 auto}.legal-section{border-bottom:1px solid var(--border-light)}.legal-section:last-child{border-bottom:none;margin-bottom:0}.legal-section h2{color:var(--text-primary);margin:0 0 var(--space-lg) 0;padding-top:var(--space-lg);font-size:1.5rem;font-weight:700}.legal-section h3{color:var(--text-primary);margin:var(--space-lg) 0 var(--space-md) 0;font-size:1.25rem;font-weight:600}.legal-section p{color:var(--text-secondary);margin:0 0 var(--space-md) 0;line-height:1.7}.legal-section ul{color:var(--text-secondary);margin:0 0 var(--space-md) 0;padding-left:var(--space-xl);line-height:1.6}.legal-section li{margin-bottom:var(--space-xs)}.legal-section a{color:var(--primary-600);transition:border-color var(--transition-fast);border-bottom:1px solid #0000;text-decoration:none}.legal-section a:hover{border-bottom-color:var(--primary-600)}.cookie-management{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);margin:var(--space-lg) 0}.legal-footer{text-align:center;margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--border-color)}.back-home-btn{align-items:center;gap:var(--space-sm);background:var(--gradient-primary);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:600;text-decoration:none;display:inline-flex}.back-home-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=dark] .cookie-banner{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .cookie-details{background:var(--bg-tertiary)}[data-theme=dark] .cookie-btn-reject{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .cookie-btn-reject:hover,[data-theme=dark] .cookie-management{background:var(--bg-tertiary)}@media (max-width:768px){.cookie-banner{width:95vw;bottom:-100%}.cookie-banner.visible{bottom:1rem}.cookie-content{padding:var(--space-xl);gap:var(--space-md)}.cookie-actions{gap:var(--space-sm)}.cookie-btn{width:100%;min-width:auto}.legal-page{padding:var(--space-xl) var(--space-md)}.legal-header h1{font-size:2rem}.legal-content{max-width:none}}@media (max-width:480px){.cookie-content{padding:var(--space-lg)}.cookie-text h3{font-size:1.1rem}.cookie-text p{font-size:.9rem}.legal-header h1{font-size:1.75rem}.legal-section h2{font-size:1.25rem}}:root{--floating-controls-right:24px;--floating-controls-bottom:24px;--floating-controls-stack-height:112px;--floating-controls-toast-gap:16px}.floating-controls{bottom:var(--floating-controls-bottom);right:var(--floating-controls-right);z-index:10000;flex-direction:column;gap:12px;display:flex;position:fixed}.notification{right:var(--floating-controls-right);bottom:calc(var(--floating-controls-bottom) + var(--floating-controls-stack-height) + var(--floating-controls-toast-gap))}.seasonal-theme-toggle-label{display:flex}@media (max-width:768px){:root{--floating-controls-right:16px;--floating-controls-bottom:16px;--floating-controls-stack-height:108px;--floating-controls-toast-gap:12px}.floating-controls{bottom:var(--floating-controls-bottom);right:var(--floating-controls-right)}.notification{left:16px;right:16px;bottom:calc(var(--floating-controls-bottom) + var(--floating-controls-stack-height) + var(--floating-controls-toast-gap));max-width:none}.floating-controls .dark-mode-label,.floating-controls .seasonal-theme-toggle-label,.floating-controls .seasonal-theme-toggle-state{display:none}.floating-controls .dark-mode-toggle,.floating-controls .seasonal-theme-toggle{border-radius:50%;justify-content:center;align-items:center;gap:0;width:48px;height:48px;padding:12px;display:flex}.floating-controls .dark-mode-icon,.floating-controls .seasonal-theme-toggle-icon{margin:0;font-size:1.25rem}}
