.home-page{width:100%;max-width:100%}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:32px;width:100%}.home-greeting{flex:1}.home-greeting h2{font-size:2.2rem;color:var(--text-dark);margin-bottom:4px}.home-greeting p{color:var(--text-light);font-size:.9rem}.milestone-countdown{background:var(--warm-white);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;min-width:210px;text-align:right}.milestone-tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);margin-bottom:8px}.milestone-title{font-family:Playfair Display,serif;font-size:1rem;color:var(--text-dark)}.milestone-days{font-size:.95rem;font-family:monospace;font-weight:500;color:var(--text-mid);margin-top:6px;letter-spacing:-.02em}.milestone-date{font-size:.78rem;color:var(--text-light);margin-top:4px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:800px;margin-bottom:40px}.home-card{background:var(--warm-white);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s;display:block}.home-card:not(.empty):hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-tag{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);margin-bottom:10px}.card-title{font-family:Playfair Display,serif;font-size:1.1rem;color:var(--text-dark);line-height:1.4;margin-top:4px}.card-excerpt{font-size:.85rem;color:var(--text-mid);margin-top:8px;line-height:1.5}.card-year{font-size:.85rem;color:var(--text-light)}.days-card{background:linear-gradient(135deg,var(--terracotta) 0%,var(--terracotta-light) 100%);border:none;color:#fff}.days-number{font-family:Playfair Display,serif;font-size:3.2rem;font-weight:600;line-height:1;color:#fff}.days-label{font-size:1rem;color:#ffffffd9;margin-top:6px}.days-sub{font-size:.78rem;color:#ffffffa6;margin-top:6px}.note-preview{font-family:Playfair Display,serif;font-style:italic;font-size:.95rem;color:var(--text-dark);line-height:1.6}.note-meta{font-size:.78rem;color:var(--text-light);margin-top:10px}.bucket-type{font-size:.8rem;color:var(--text-light);margin-bottom:4px}.home-card.empty{display:flex;flex-direction:column;justify-content:center}.empty-text{font-size:.88rem;color:var(--text-light);margin-bottom:10px}.card-link{font-size:.85rem;color:var(--terracotta);font-weight:500;transition:opacity .15s}.card-link:hover{opacity:.75}.quick-add h3{font-size:1rem;font-family:Inter,sans-serif;font-weight:500;color:var(--text-mid);margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.quick-add-buttons{display:flex;gap:10px}.quick-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--warm-white);border:1px solid var(--border);border-radius:10px;color:var(--text-mid);font-size:.88rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.quick-btn:hover{border-color:var(--terracotta);color:var(--terracotta);background:var(--terracotta-pale)}@media(max-width:600px){.home-header{flex-direction:column;align-items:stretch}.milestone-countdown{text-align:left;min-width:unset}.home-grid{grid-template-columns:1fr}.quick-add-buttons{flex-wrap:wrap}}.calendar-page{max-width:700px}.on-this-day-banner{display:flex;align-items:center;gap:12px;background:var(--terracotta-pale);border:1px solid var(--terracotta-light);border-radius:10px;padding:12px 16px;margin-bottom:24px}.otd-tag{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);white-space:nowrap}.otd-content{flex:1;font-size:.88rem;color:var(--text-dark)}.otd-btn{background:var(--terracotta);color:#fff;border:none;padding:5px 14px;border-radius:6px;font-size:.8rem;transition:background .15s}.otd-btn:hover{background:var(--terracotta-light)}.calendar-card{margin-bottom:32px}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-header h3{font-size:1.2rem;color:var(--text-dark)}.cal-nav{background:none;border:1px solid var(--border);border-radius:6px;width:32px;height:32px;font-size:1.2rem;color:var(--text-mid);display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.cal-nav:hover{border-color:var(--terracotta);color:var(--terracotta)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.cal-weekday{text-align:center;font-size:.72rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;position:relative;transition:background .15s;gap:1px}.cal-day:hover:not(.empty):not(.future){background:var(--terracotta-pale)}.cal-day.empty{cursor:default}.cal-day.future{cursor:default;opacity:.35}.cal-day.today .cal-day-num{background:var(--terracotta);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.cal-day-num{font-size:.85rem;color:var(--text-dark);line-height:1}.cal-heart{font-size:.55rem;color:var(--terracotta);line-height:1}.cal-day.has-memory{background:var(--terracotta-pale)}.memory-list{margin-top:0}.memory-list h3{font-size:1rem;font-family:Inter,sans-serif;font-weight:600;color:var(--text-mid);margin-bottom:14px}.memory-item{margin-bottom:10px;cursor:pointer;transition:box-shadow .2s,transform .2s;display:flex;align-items:center;gap:16px}.memory-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.memory-item-date{font-size:.78rem;color:var(--text-light);white-space:nowrap;min-width:100px}.memory-item-title{flex:1;font-family:Playfair Display,serif;font-size:.95rem;color:var(--text-dark)}.mood-tag{background:var(--terracotta-pale);color:var(--terracotta);padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:500;white-space:nowrap}.empty-month{color:var(--text-light);font-size:.9rem;padding:20px 0}.view-memory-date{font-size:.82rem;color:var(--text-light);margin-bottom:8px}.view-memory-title{margin-bottom:12px}.view-memory-note{font-size:.95rem;line-height:1.7;color:var(--text-mid);margin-bottom:16px;white-space:pre-wrap}.view-memory-meta{font-size:.8rem;color:var(--text-light);margin-top:16px}.notes-page{max-width:700px}.notes-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px}.notes-header .page-header{margin-bottom:0}.notes-empty{text-align:center;padding:80px 40px;color:var(--text-light)}.notes-empty-icon{font-size:3rem;margin-bottom:16px}.notes-empty h3{font-size:1.4rem;color:var(--text-mid);margin-bottom:8px}.notes-empty p{font-size:.95rem;margin-bottom:24px}.notes-wall{display:flex;flex-direction:column;gap:16px}.note-card{cursor:pointer;transition:box-shadow .2s,transform .2s;position:relative}.note-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.note-card.pinned{border-color:var(--terracotta-light);background:var(--terracotta-pale)}.pin-badge{font-size:.72rem;font-weight:600;color:var(--terracotta);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.note-content{font-family:Playfair Display,serif;font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--text-dark);margin-bottom:16px}.note-footer{display:flex;align-items:center;justify-content:space-between}.note-author{font-size:.85rem;font-weight:500;color:var(--text-mid)}.note-date{font-size:.78rem;color:var(--text-light)}.note-disclaimer{font-size:.78rem;color:var(--text-light);font-style:italic;margin-bottom:0}.note-view-modal{max-width:580px}.note-view-content{font-family:Playfair Display,serif;font-style:italic;font-size:1.1rem;line-height:1.8;color:var(--text-dark);margin-bottom:20px;white-space:pre-wrap}.note-view-meta{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-light);margin-bottom:8px}.bucket-page{max-width:700px}.bucket-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.bucket-header .page-header{margin-bottom:0}.bucket-stats{font-size:.82rem;color:var(--text-light);margin-bottom:20px;display:flex;gap:8px}.bucket-tabs{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}.tab-btn{padding:7px 16px;border-radius:20px;border:1px solid var(--border);background:var(--warm-white);color:var(--text-mid);font-size:.85rem;transition:all .15s}.tab-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}.tab-btn.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.bucket-empty{text-align:center;padding:60px 20px;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:16px}.bucket-list{display:flex;flex-direction:column;gap:10px}.bucket-item{display:flex;align-items:flex-start;gap:14px;transition:box-shadow .2s}.bucket-item:hover{box-shadow:var(--shadow-hover)}.bucket-item.completed .bucket-item-title{text-decoration:line-through;color:var(--text-light)}.bucket-check{background:none;border:2px solid var(--border);border-radius:50%;width:28px;height:28px;min-width:28px;font-size:.85rem;color:var(--text-light);display:flex;align-items:center;justify-content:center;margin-top:2px;transition:border-color .15s,background .15s,color .15s}.bucket-check:hover{border-color:var(--terracotta);color:var(--terracotta)}.bucket-item.completed .bucket-check{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.bucket-item-body{flex:1}.bucket-item-title{font-size:.95rem;font-weight:500;color:var(--text-dark);margin-bottom:4px;line-height:1.4}.bucket-item-notes{font-size:.82rem;color:var(--text-light);margin-bottom:6px}.bucket-item-meta{display:flex;align-items:center;gap:10px}.bucket-type-tag{font-size:.72rem;padding:2px 8px;border-radius:10px;font-weight:500}.type-together{background:#e8f4e8;color:#3d7a3d}.type-goal{background:#fff4e0;color:#8a6200}.completed-date{font-size:.72rem;color:var(--text-light)}.bucket-delete{background:none;border:none;color:var(--border);font-size:1.2rem;padding:0 4px;line-height:1;transition:color .15s;margin-top:2px}.bucket-delete:hover{color:var(--terracotta)}.type-toggle{display:flex;gap:8px}.type-btn{flex:1;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--cream);color:var(--text-mid);font-size:.88rem;transition:all .15s}.type-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}.type-btn.active{background:var(--terracotta-pale);border-color:var(--terracotta);color:var(--terracotta);font-weight:500}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;min-width:220px;background:var(--warm-white);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 20px;position:fixed;top:0;left:0;height:100vh;overflow-y:auto}.sidebar-logo h1{font-size:1.4rem;color:var(--terracotta);line-height:1.2;margin-bottom:6px}.sidebar-logo p{font-size:.7rem;color:var(--text-light);letter-spacing:.04em;font-style:italic}.sidebar-nav{margin-top:40px;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:var(--text-mid);font-size:.9rem;font-weight:400;transition:background .15s,color .15s}.nav-link:hover{background:var(--terracotta-pale);color:var(--terracotta)}.nav-link.active{background:var(--terracotta-pale);color:var(--terracotta);font-weight:500}.nav-icon{font-size:1rem}.main-content{flex:1;margin-left:220px;padding:40px 48px;position:relative}.page-header{margin-bottom:32px}.page-header h2{font-size:2rem;color:var(--text-dark);margin-bottom:6px}.page-header p{color:var(--text-light);font-size:.9rem}.card{background:var(--warm-white);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.btn-primary{background:var(--terracotta);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--terracotta-light);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--text-mid);border:1px solid var(--border);padding:10px 20px;border-radius:8px;font-size:.9rem;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--terracotta);color:var(--terracotta)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c181066;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--warm-white);border-radius:16px;padding:32px;width:100%;max-width:520px;box-shadow:0 8px 40px #2c181033}.modal h3{font-size:1.4rem;margin-bottom:24px;color:var(--text-dark)}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--text-mid);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--cream);color:var(--text-dark);font-size:.9rem;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--terracotta-light)}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:20px 16px 80px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--terracotta: #C1614A;--terracotta-light: #E8927A;--terracotta-pale: #F5E6E2;--cream: #FBF7F4;--warm-white: #FFFDF9;--text-dark: #2C1810;--text-mid: #6B4C42;--text-light: #A0837A;--border: #E8D5CF;--shadow: 0 2px 12px rgba(44, 24, 16, .08);--shadow-hover: 0 4px 20px rgba(44, 24, 16, .14)}body{font-family:Inter,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.6;min-height:100vh}h1,h2,h3{font-family:Playfair Display,serif}button{cursor:pointer;font-family:Inter,sans-serif}input,textarea,select{font-family:Inter,sans-serif}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
