.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c2c2c,#1a1a1a);padding:2rem 1rem}.landing-container{max-width:800px;width:100%;text-align:center}.landing-header{margin-bottom:3rem}.landing-header h1{font-size:4rem;color:#d4b8a3;margin-bottom:3rem;font-weight:300;letter-spacing:1px;background:linear-gradient(45deg,#d4b8a3,#f0e6d2,#d4b8a3,#c19a82,#d4b8a3);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.landing-content{background:transparent;padding:3rem 2rem}.password-form{margin:0}.input-group{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:1.5rem}.password-input{width:100%;max-width:400px;padding:2rem 2.5rem;border:none;border-radius:20px;font-size:1.5rem;font-family:inherit;background:#ffffff0d;color:#d4b8a3;transition:all .3s ease;text-align:center;position:relative;box-shadow:0 0 20px #d4b8a31a;animation:input-glow 4s ease-in-out infinite alternate}@keyframes input-glow{0%{box-shadow:0 0 20px #d4b8a31a;background:#ffffff0d}to{box-shadow:0 0 30px #d4b8a34d,0 0 50px #d4b8a31a;background:#ffffff14}}.password-input::placeholder{color:#d4b8a380}.password-input:focus{outline:none;background:#ffffff1f;box-shadow:0 0 40px #d4b8a366,0 0 80px #d4b8a333;animation:none}.password-input.error{border-color:#e74c3c;background:#e74c3c1a}.unlock-button{padding:2rem 3rem;background:linear-gradient(135deg,#d4b8a3,#c19a82);color:#2c2c2c;border:none;border-radius:20px;font-size:1.3rem;font-family:inherit;cursor:pointer;transition:all .3s ease;min-width:180px;font-weight:500}.unlock-button:hover:not(:disabled){background:linear-gradient(135deg,#e6d0bf,#d4b8a3);transform:translateY(-2px);box-shadow:0 8px 25px #d4b8a366}.unlock-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:#e74c3c;font-size:1rem;margin:.5rem 0 0;font-style:italic;text-align:center}.screen-transition{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#2c2c2c,#1a1a1a);display:flex;align-items:center;justify-content:center;z-index:1000;animation:slideIn .4s ease-out;overflow:hidden}.ripple-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple{position:absolute;border:2px solid #d4b8a3;border-radius:50%;opacity:0;animation:rippleExpand 2s ease-out infinite}.ripple-0{animation-delay:0s}.ripple-1{animation-delay:.3s}.ripple-2{animation-delay:.6s}.ripple-3{animation-delay:.9s}.ripple-4{animation-delay:1.2s}.ripple-5{animation-delay:1.5s}.floating-letters{position:absolute;width:100%;height:100%;pointer-events:none}.floating-letter{position:absolute;font-size:4rem;font-weight:300;color:#d4b8a3;opacity:0;animation:floatAcross 2s ease-in-out infinite;text-shadow:0 0 20px rgba(212,184,163,.5)}.letter-0{top:10%;left:-10%;animation-delay:.2s}.letter-1{top:25%;right:-10%;animation-delay:.4s;animation-direction:reverse}.letter-2{top:40%;left:-10%;animation-delay:.6s}.letter-3{top:55%;right:-10%;animation-delay:.8s;animation-direction:reverse}.letter-4{top:70%;left:-10%;animation-delay:1s}.letter-5{top:85%;right:-10%;animation-delay:1.2s;animation-direction:reverse}.letter-6{top:15%;left:-10%;animation-delay:1.4s}.landing.unlocking .landing-container{transform:scale(1.05);opacity:.8;filter:blur(2px);transition:all .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rippleExpand{0%{width:0;height:0;opacity:1}to{width:300px;height:300px;opacity:0;margin:-150px 0 0 -150px}}@keyframes floatAcross{0%{opacity:0;transform:translate(-50px) scale(.5)}50%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(50px) scale(.5)}}@media (max-width: 900px){.landing-container{max-width:600px}.floating-letter{font-size:3rem}.unlock-text{font-size:1.2rem}}@media (max-width: 600px){.landing{padding:1rem}.landing-header h1{font-size:2.5rem}.landing-content{padding:2.5rem 1.5rem}.password-input{padding:1.5rem 2rem;font-size:1.2rem}.unlock-button{padding:1.5rem 2rem;font-size:1.1rem;min-width:140px}.unlock-button{min-width:auto}}.letter-page{min-height:100vh;padding:2rem;transition:all .5s ease}.letter-container{max-width:700px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000001a}.letter-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.2)}.back-button{background:#ffffffe6;border:none;padding:.75rem 1.25rem;border-radius:25px;cursor:pointer;font-family:inherit;font-size:.9rem;color:#333;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.letter-content{padding:3rem 2.5rem}.letter-title{font-size:2.5rem;margin-bottom:2rem;text-align:center;font-weight:300;letter-spacing:.5px}.letter-body{line-height:1.8;font-size:1.1rem}.letter-paragraph{margin-bottom:1.5rem;text-align:left}.letter-paragraph:last-child{margin-bottom:0}.letter-spacer{height:1rem}.letter-photo{margin:2rem 0;text-align:center}.photo-image{max-width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px #00000026;transition:transform .3s ease}.photo-image:hover{transform:scale(1.02)}.letter-photo-header{text-align:center;margin-bottom:2rem}.photo-image-header{max-width:200px;height:auto;border-radius:8px;box-shadow:0 4px 12px #0003}.letter-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.theme-golden{background:linear-gradient(135deg,#fff8e7,#ffeaa7)}.theme-golden .letter-container{background:linear-gradient(145deg,#fffbf0,#fff4d6);border:1px solid #f7dc6f}.theme-golden .letter-header{background:linear-gradient(135deg,#f7dc6f,#f4d03f);border-bottom:1px solid #f1c40f}.theme-golden .letter-title{color:#d68910;text-shadow:0 2px 4px rgba(212,137,16,.1)}.theme-golden .letter-body{color:#7d6608}.theme-dark{background:linear-gradient(135deg,#2c3e50,#34495e)}.theme-dark .letter-container{background:linear-gradient(145deg,#34495e,#2c3e50);border:1px solid #4a6477}.theme-dark .letter-header{background:linear-gradient(135deg,#4a6477,#34495e);border-bottom:1px solid #5d7590}.theme-dark .letter-title{color:#ecf0f1;text-shadow:0 2px 4px rgba(0,0,0,.5)}.theme-dark .letter-body{color:#bdc3c7}.theme-dark .back-button{background:#ecf0f1e6;color:#2c3e50}.theme-dark .back-button:hover{background:#ecf0f1}.theme-blue{background:linear-gradient(135deg,#e3f2fd,#90caf9)}.theme-blue .letter-container{background:linear-gradient(145deg,#f3f9ff,#e1f5fe);border:1px solid #81d4fa}.theme-blue .letter-header{background:linear-gradient(135deg,#81d4fa,#4fc3f7);border-bottom:1px solid #29b6f6}.theme-blue .letter-title{color:#0277bd;text-shadow:0 2px 4px rgba(2,119,189,.1)}.theme-blue .letter-body{color:#01579b}.theme-purple{background:linear-gradient(135deg,#f3e5f5,#ce93d8)}.theme-purple .letter-container{background:linear-gradient(145deg,#faf4ff,#f8e1ff);border:1px solid #dda0dd}.theme-purple .letter-header{background:linear-gradient(135deg,plum,#c48ccd);border-bottom:1px solid #ba68c8}.theme-purple .letter-title{color:#7b1fa2;text-shadow:0 2px 4px rgba(123,31,162,.1)}.theme-purple .letter-body{color:#4a148c}.theme-smoky{background:linear-gradient(135deg,#2c2c2c,#1a1a1a,#2d1b1b);position:relative;overflow:hidden}.theme-smoky:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(220,180,140,.1) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(200,160,120,.08) 0%,transparent 35%),radial-gradient(circle at 40% 80%,rgba(180,140,100,.06) 0%,transparent 30%);animation:smokeDrift 20s ease-in-out infinite;pointer-events:none}.theme-smoky .letter-container{background:#2d1b1be6;border:1px solid rgba(220,180,140,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 60px #00000080}.theme-smoky .letter-header{background:linear-gradient(135deg,#3c3737cc,#2d2828e6);border-bottom:1px solid rgba(180,170,160,.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.theme-smoky .letter-title{color:#dcc8a0;text-shadow:0 0 10px rgba(220,200,160,.6),0 2px 20px rgba(220,180,140,.3);animation:titleGlow 4s ease-in-out infinite alternate}.theme-smoky .letter-body{color:#c8b090;text-shadow:0 1px 3px rgba(0,0,0,.5);line-height:1.9}.theme-smoky .back-button{background:#dcb48c33;color:#dcc8a0;border:1px solid rgba(220,180,140,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-smoky .back-button:hover{background:#dcb48c4d;box-shadow:0 4px 20px #dcb48c33}@keyframes smokeDrift{0%,to{transform:translate(0) translateY(0) scale(1);opacity:1}25%{transform:translate(10px) translateY(-5px) scale(1.02);opacity:.8}50%{transform:translate(-5px) translateY(10px) scale(.98);opacity:1}75%{transform:translate(8px) translateY(-8px) scale(1.01);opacity:.9}}@keyframes titleGlow{0%{text-shadow:0 0 10px rgba(220,200,160,.6),0 2px 20px rgba(220,180,140,.3)}to{text-shadow:0 0 20px rgba(220,200,160,.8),0 2px 30px rgba(220,180,140,.5),0 0 40px rgba(220,180,140,.2)}}@media (max-width: 768px){.letter-page{padding:1rem}.letter-content{padding:2rem 1.5rem}.letter-title{font-size:2rem}.letter-body{font-size:1rem}.letter-header{padding:1rem 1.5rem}}@media (max-width: 480px){.letter-content{padding:1.5rem 1rem}.letter-title{font-size:1.75rem}}.App{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;line-height:1.6;color:#333;background-color:#faf9f7;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}
