body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;justify-content:center;align-items:center;background-color:#ff98bc;margin:20px}.link-container,.App{text-align:center}.box-container{display:flex;justify-content:center;align-items:center;height:100vh}.heart-box{cursor:pointer;text-align:center;transition:transform .3s ease}.heart-box:hover{transform:scale(1.1)}.heart-image{width:150px;height:auto}.heart-box p{margin-top:10px;font-size:1.2rem;font-weight:700;color:#fff}.letter{width:300px;padding:20px;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0003;text-align:left}.letter h1{font-size:2rem;margin-bottom:10px;color:#333}.letter p{font-size:1.1rem;color:#555;line-height:1.6}.collage-page h1{text-align:center}.collage{display:flex;flex-wrap:wrap;gap:10px}.collage-container{display:flex;max-height:33vh;min-height:250px}.collage-bar{width:20px;background:linear-gradient(to bottom,red,orange);margin-left:10px;margin-right:10px;flex-shrink:0}.collage-date{display:flex;width:120px;font-family:Courier New,Courier,monospace;font-weight:700;align-items:flex-start;justify-content:flex-start;flex-shrink:0}.collage-text{background:#f5f5f5;margin:20px;padding:15px;flex:1;overflow-y:auto;max-height:100%;position:relative}.edit-icon-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;cursor:pointer;transition:transform .2s ease,opacity .2s ease;opacity:.7;z-index:10}.edit-icon-btn:hover{transform:scale(1.1);opacity:1}.edit-icon-btn img{width:100%;height:100%;object-fit:contain}.collage-text>h1{text-align:center;font-size:1.5rem;margin-top:0;padding-right:40px}.collage-text>p{font-size:1.2rem;line-height:1.5}.collage-pic{display:flex;align-items:center;justify-content:center;margin:20px;flex-shrink:0;max-height:100%}.collage-pic>img{max-height:calc(33vh - 40px);max-width:400px;width:auto;height:auto;object-fit:contain}.collage-pic>img:hover{animation:tilt-shaking;animation-duration:.4s;animation-iteration-count:1}@keyframes tilt-shaking{0%{transform:rotate(0)}25%{transform:rotate(5deg)}50%{transform:rotate(0)}75%{transform:rotate(-5deg)}to{transform:rotate(0)}}.header-container{text-align:center;position:relative}.header-container>.milestone-text{color:#000;font-family:Diplomata,serif;font-weight:400;font-style:normal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px}.lyrics{font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif;font-size:20px;text-align:center;background-color:pink;padding:40px;border-radius:8px;width:40vw;box-shadow:0 4px 8px #0003}.database-test{max-width:1200px;margin:0 auto;padding:20px}.database-test h1{color:#fff;margin-bottom:30px}.memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.memory-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 8px #0003;transition:transform .3s ease}.memory-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #0000004d}.memory-image{width:100%;height:200px;overflow:hidden;background:#f0f0f0}.memory-image img{width:100%;height:100%;object-fit:cover}.no-image{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.memory-content{padding:15px}.memory-content h2{margin:0 0 10px;font-size:1.5rem;color:#333}.memory-date{color:#ff98bc;font-weight:700;font-size:.9rem;margin-bottom:10px}.memory-description{color:#555;line-height:1.5;margin:0}.database-test button{background-color:#fff;color:#ff98bc;border:2px solid white;padding:10px 20px;font-size:1rem;font-weight:700;border-radius:5px;cursor:pointer;transition:all .3s ease}.database-test button:hover{background-color:#ff98bc;color:#fff;transform:scale(1.05)}.database-actions{margin-bottom:20px;display:flex;justify-content:center}.add-memory-btn{background-color:#fff;color:#ff98bc;border:2px solid white;padding:12px 24px;font-size:1rem;font-weight:700;border-radius:5px;text-decoration:none;display:inline-block;transition:all .3s ease}.add-memory-btn:hover{background-color:#ff98bc;color:#fff;transform:scale(1.05)}.memory-actions{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0;display:flex;gap:10px;justify-content:flex-end}.edit-btn{background-color:#ff98bc;color:#fff;border:none;padding:8px 16px;font-size:.9rem;font-weight:700;border-radius:5px;text-decoration:none;cursor:pointer;transition:all .3s ease}.edit-btn:hover{background-color:#ff7aa8;transform:scale(1.05)}.preview-note{margin-top:10px;font-size:.85rem;color:#666;font-style:italic}.loading-message{background-color:#e0f0ff;color:#06c;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center;border:1px solid #b3d9ff}.loading-message p{margin:0}.add-memory{max-width:600px;margin:0 auto;padding:20px}.add-memory h1{color:#fff;margin-bottom:30px;text-align:center}.memory-form{background:#fff;padding:30px;border-radius:10px;box-shadow:0 4px 8px #0003}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:700;font-size:.95rem}.form-group input[type=text],.form-group input[type=date],.form-group textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:5px;font-size:1rem;font-family:inherit;transition:border-color .3s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group textarea:focus{outline:none;border-color:#ff98bc}.form-group input[type=file]{width:100%;padding:8px;border:2px solid #e0e0e0;border-radius:5px;font-size:.9rem;cursor:pointer;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:100px}.image-preview{margin-top:15px;text-align:center}.image-preview img{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-actions{display:flex;gap:15px;justify-content:center;align-items:center;margin-top:25px}.submit-btn{background-color:#ff98bc;color:#fff;border:none;padding:12px 30px;font-size:1rem;font-weight:700;border-radius:5px;cursor:pointer;transition:all .3s ease}.submit-btn:hover:not(:disabled){background-color:#ff7aa8;transform:scale(1.05)}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.cancel-link{color:#ff98bc;text-decoration:none;font-weight:700;padding:12px 20px;transition:color .3s ease}.cancel-link:hover{color:#ff7aa8;text-decoration:underline}.error-message{background-color:#ffe0e0;color:#d00;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center;border:1px solid #fcc}.error-message p{margin:0}.success-message{background-color:#e0ffe0;color:#060;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center;border:1px solid #cfc}.success-message p{margin:0;font-weight:700}.delete-section{margin-top:40px;padding-top:30px;border-top:2px solid #f0f0f0;text-align:center}.delete-memory-btn{background-color:#f44;color:#fff;border:none;padding:12px 30px;font-size:1rem;font-weight:700;border-radius:5px;cursor:pointer;transition:all .3s ease}.delete-memory-btn:hover:not(:disabled){background-color:#c00;transform:scale(1.05)}.delete-memory-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.divider-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 8px #0003;text-align:center}.divider-card h3{margin:0 0 10px;color:#333;font-size:1.5rem}.delete-btn{background-color:#f44;color:#fff;border:none;padding:8px 16px;font-size:.9rem;font-weight:700;border-radius:5px;cursor:pointer;transition:all .3s ease;margin-top:10px}.delete-btn:hover{background-color:#c00;transform:scale(1.05)}
