:root{--rose: #d4838f;--rose-light: #f2d0d5;--peach: #f7cdbb;--cream: #fdf6ee;--ivory: #faf3eb;--sand: #e8ddd3;--warm-gray: #b8a99a;--text: #4a3f35;--text-light: #85776b;--gold: #d4a84b;--gold-soft: #f5e6c0;--white: #ffffff;--shadow: rgba(74, 63, 53, .08);--shadow-md: rgba(74, 63, 53, .12);font-family:Georgia,Times New Roman,ui-serif,serif;line-height:1.6;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:linear-gradient(168deg,#fdf6ee,#f7e8d8,#f2dfcf);color:var(--text)}.app{max-width:740px;margin:0 auto;padding:2rem 1.25rem 4rem}.header{text-align:center;margin-bottom:2.5rem}.header-title{margin:0;font-size:2.25rem;font-weight:700;letter-spacing:-.02em;color:var(--rose);font-style:italic}.header-sub{margin:.25rem 0 0;color:var(--text-light);font-size:1rem}.form-section{margin-bottom:2rem}.memory-form{background:var(--white);border:1px solid var(--sand);border-radius:1rem;padding:1.75rem;box-shadow:0 4px 18px var(--shadow),0 1px 3px var(--shadow)}.form-heading{margin:0 0 1.25rem;font-size:1.15rem;font-weight:600;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em}.form-input{font-family:inherit;font-size:.95rem;padding:.6rem .8rem;border:1px solid var(--sand);border-radius:.5rem;background:var(--ivory);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--rose-light);box-shadow:0 0 0 3px #d4838f26}.form-textarea{resize:vertical;min-height:80px;margin-bottom:.75rem}.form-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text);cursor:pointer;margin-bottom:1.25rem}.form-checkbox-label input[type=checkbox]{accent-color:var(--rose);width:1.1rem;height:1.1rem}.form-actions{display:flex;gap:.75rem}.btn{font-family:inherit;font-size:.9rem;font-weight:600;padding:.6rem 1.4rem;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--rose),#c0707c);color:var(--white);box-shadow:0 2px 8px #d4838f59}.btn-primary:hover{background:linear-gradient(135deg,#c0707c,var(--rose))}.btn-ghost{background:transparent;color:var(--text-light);border:1px solid var(--sand)}.btn-ghost:hover{background:var(--ivory)}.btn-small{font-size:.78rem;padding:.35rem .85rem}.btn-edit{background:var(--gold-soft);color:#7a6520}.btn-edit:hover{background:var(--gold);color:var(--white)}.btn-delete{background:transparent;color:var(--rose);border:1px solid var(--rose-light)}.btn-delete:hover{background:var(--rose-light);color:#8b3a44}.btn-icon{background:none;border:none;font-size:1.35rem;cursor:pointer;color:var(--gold);line-height:1;padding:0;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light)}.filter-select{font-family:inherit;font-size:.9rem;padding:.5rem .75rem;border:1px solid var(--sand);border-radius:.5rem;background:var(--white);color:var(--text);cursor:pointer;min-width:160px}.filter-select:focus{outline:none;border-color:var(--rose-light);box-shadow:0 0 0 3px #d4838f26}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-light);font-style:italic;font-size:1.05rem}.timeline{position:relative}.timeline-group{margin-bottom:1.5rem}.timeline-month-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--warm-gray);margin-bottom:1rem;padding-left:2.25rem}.timeline-item{display:flex;gap:1rem;margin-bottom:.5rem}.timeline-dot-col{display:flex;flex-direction:column;align-items:center;width:1.25rem;flex-shrink:0;padding-top:1.25rem}.timeline-dot{width:.85rem;height:.85rem;border-radius:50%;background:var(--sand);border:2px solid var(--rose-light);flex-shrink:0;transition:background .2s}.dot-fav{background:var(--gold);border-color:var(--gold);box-shadow:0 0 6px #d4a84b80}.timeline-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--sand),transparent);margin-top:.35rem}.memory-card{flex:1;background:var(--white);border:1px solid var(--sand);border-radius:.85rem;padding:1.25rem 1.35rem;margin-bottom:.65rem;box-shadow:0 2px 10px var(--shadow);transition:box-shadow .25s,border-color .25s}.memory-card:hover{box-shadow:0 4px 20px var(--shadow-md)}.card-fav{border-color:var(--gold-soft);background:linear-gradient(135deg,var(--white),#fdf8ef);box-shadow:0 2px 10px #d4a84b1f}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.card-date{font-size:.78rem;color:var(--warm-gray);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.card-title{margin:0 0 .4rem;font-size:1.1rem;font-weight:700;color:var(--text)}.card-note{margin:0 0 .75rem;font-size:.92rem;color:var(--text-light);line-height:1.55;font-style:italic}.card-actions{display:flex;gap:.5rem}.footer{margin-top:3rem;text-align:center;font-size:.8rem;color:var(--warm-gray)}@media(max-width:600px){.app{padding:1.25rem .85rem 3rem}.header-title{font-size:1.75rem}.form-row{grid-template-columns:1fr;gap:.75rem}.memory-form{padding:1.25rem}.timeline-dot-col{display:none}.timeline-item{gap:0}.memory-card{border-left:3px solid var(--rose-light)}.card-fav{border-left-color:var(--gold)}.timeline-month-label{padding-left:0}.filters{flex-direction:column}.filter-select{min-width:100%}.form-actions{flex-direction:column}.btn{width:100%;text-align:center}}
