Changed around line 1
+ :root {
+ --primary: #1a472a;
+ --secondary: #c41e3a;
+ --accent: #ffd700;
+ --background: #f0f8ff;
+ --text: #2c3e50;
+ }
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: system-ui, -apple-system, sans-serif;
+ background: var(--background);
+ color: var(--text);
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ overflow-x: hidden;
+ }
+
+ .container {
+ flex: 1;
+ padding: 2rem;
+ position: relative;
+ }
+
+ .snowfall {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
+ z-index: 1;
+ }
+
+ .hero {
+ max-width: 800px;
+ margin: 0 auto;
+ text-align: center;
+ position: relative;
+ z-index: 2;
+ padding: 2rem;
+ background: rgba(255, 255, 255, 0.9);
+ border-radius: 1rem;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+ backdrop-filter: blur(10px);
+ }
+
+ .title {
+ font-size: clamp(2rem, 8vw, 4rem);
+ color: var(--primary);
+ margin-bottom: 1rem;
+ animation: fadeIn 1s ease-out;
+ }
+
+ .year {
+ font-size: clamp(1.5rem, 6vw, 3rem);
+ color: var(--secondary);
+ font-weight: bold;
+ margin-bottom: 2rem;
+ animation: fadeIn 1s ease-out 0.3s backwards;
+ }
+
+ .message {
+ font-size: clamp(1rem, 4vw, 1.25rem);
+ line-height: 1.6;
+ animation: fadeIn 1s ease-out 0.6s backwards;
+ }
+
+ .gratitude-list {
+ list-style: none;
+ margin: 1.5rem 0;
+ }
+
+ .gratitude-list li {
+ margin: 0.5rem 0;
+ opacity: 0;
+ animation: slideIn 0.5s ease-out forwards;
+ }
+
+ .gratitude-list li:nth-child(1) { animation-delay: 0.8s; }
+ .gratitude-list li:nth-child(2) { animation-delay: 1.0s; }
+ .gratitude-list li:nth-child(3) { animation-delay: 1.2s; }
+ .gratitude-list li:nth-child(4) { animation-delay: 1.4s; }
+ .gratitude-list li:nth-child(5) { animation-delay: 1.6s; }
+ .gratitude-list li:nth-child(6) { animation-delay: 1.8s; }
+
+ .highlight {
+ color: var(--secondary);
+ font-size: 1.2em;
+ font-weight: bold;
+ margin-top: 1.5rem;
+ opacity: 0;
+ animation: fadeIn 1s ease-out 2s forwards;
+ }
+
+ footer {
+ text-align: center;
+ padding: 2rem;
+ background: var(--primary);
+ color: white;
+ }
+
+ @keyframes fadeIn {
+ from { opacity: 0; }
+ to { opacity: 1; }
+ }
+
+ @keyframes slideIn {
+ from {
+ opacity: 0;
+ transform: translateX(-30px);
+ }
+ to {
+ opacity: 1;
+ transform: translateX(0);
+ }
+ }
+
+ @media (max-width: 600px) {
+ .container {
+ padding: 1rem;
+ }
+
+ .hero {
+ padding: 1.5rem;
+ }
+ }