:root{--bg-primary: #1A2F23;--bg-secondary: #0D1A12;--bg-card: #243328;--bg-card-hover: #2A3D30;--color-primary: #3D5A45;--color-primary-light: #4A6B53;--color-accent: #C4A484;--color-accent-hover: #D4B494;--color-rose: #D4A5A5;--color-gold: #D4A853;--text-primary: #F5F0E8;--text-secondary: #9CAF94;--text-muted: #6B7D6B;--border-color: #3D5A45;--shadow-color: rgba(0, 0, 0, .3);--orb-1: rgba(196, 164, 132, .15);--orb-2: rgba(212, 165, 165, .12);--orb-3: rgba(212, 168, 83, .1);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg-secondary)}body{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);background-attachment:fixed;color:var(--text-primary);min-height:100vh}#root{min-height:100vh;width:100%}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}input,textarea{font-family:inherit;border:none;outline:none}@keyframes breathe{0%,to{opacity:0}50%{opacity:.4}}.app{min-height:100vh;position:relative;isolation:isolate}.app:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(45,74,53,.6) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(45,74,53,.4) 0%,transparent 50%);animation:breathe 10s ease-in-out infinite;pointer-events:none;z-index:-1}.app-content{max-width:700px;margin:0 auto;padding:5rem 2rem 2rem;position:relative;z-index:1}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#1a2f23f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:60px}.navbar-brand{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;text-decoration:none}.navbar-logo{width:55px;height:55px;object-fit:contain}.navbar-brand:hover{color:var(--color-accent)}.navbar-links{display:flex;align-items:center;gap:.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;transition:all .2s ease}.nav-link:hover{color:var(--text-primary);background:var(--bg-card)}.nav-link.active{color:var(--color-accent);background:#c4a4841a}.btn-logout{background:transparent;color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;border:1px solid var(--border-color);margin-left:.5rem}.btn-logout:hover{color:var(--color-rose);border-color:var(--color-rose);background:#d4a5a51a}.page-title{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin-bottom:1.5rem}@media(max-width:600px){.navbar{padding:0 .75rem}.navbar-brand{font-size:0;gap:0}.navbar-logo{width:40px;height:40px}.navbar-links{gap:.25rem}.nav-link{padding:.4rem .6rem;font-size:.8rem}.btn-logout{padding:.4rem .6rem;font-size:.8rem;margin-left:.25rem}.app-content{padding:5rem 1rem 1rem}}.quote-card{background:var(--bg-card);border:2px solid var(--color-accent);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;text-align:center}.quote-card p{color:var(--text-primary);font-size:1.1rem;font-style:italic;margin:0}.motivations-section{margin-bottom:1.5rem}.motivations-section h3{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.motivation-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.75rem}.motivation-card p{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.motivation-card span{color:var(--text-muted);font-size:.875rem}.journal-form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.journal-form-card h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.25rem;text-align:center}.journal-form-card>p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;text-align:center}.category-section{margin-bottom:1.25rem}.category-label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.95rem;font-weight:500;margin-bottom:.5rem}.category-icon{font-size:1.1rem}.category-textarea{width:100%;min-height:80px;max-height:300px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;color:var(--text-primary);font-size:1rem;font-family:inherit;line-height:1.5;resize:none;overflow-y:auto;transition:border-color .2s ease,box-shadow .2s ease,min-height .2s ease}.category-textarea::placeholder{color:var(--text-muted)}.category-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #c4a48426;outline:none}.category-textarea::-webkit-scrollbar{width:8px}.category-textarea::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.category-textarea::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.category-textarea::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.btn-save{width:100%;background:var(--color-accent);color:var(--bg-primary);padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;margin-top:.5rem;transition:all .2s ease}.btn-save:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c4a4844d}.entries-section{margin-top:2rem}.entries-section h3{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.entry-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;overflow:hidden;transition:all .2s ease}.entry-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .2s ease}.entry-header:hover{background:var(--bg-card-hover)}.entry-date{color:var(--text-primary);font-weight:500}.entry-preview{color:var(--text-muted);font-size:.875rem;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-toggle{color:var(--text-muted);font-size:.75rem;transition:transform .2s ease}.entry-toggle.expanded{transform:rotate(180deg)}.entry-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.entry-content.expanded{max-height:500px;padding:0 1.25rem 1rem;border-top:1px solid var(--border-color)}.entry-item{display:flex;gap:.75rem;padding:.75rem 0}.entry-item-label{color:var(--color-accent);font-size:.9rem;font-weight:600;flex-shrink:0;min-width:100px}.entry-item-text{color:var(--text-primary);font-size:.95rem;line-height:1.5}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.calendar-page h2{text-align:center;color:var(--text-primary);margin-bottom:1.5rem}.calendar-nav{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.calendar-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:1rem;cursor:pointer;min-width:140px}.calendar-select:focus{outline:none;border-color:var(--color-accent)}.calendar-select option{background:var(--bg-card);color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:2rem}.calendar-header-cell{text-align:center;padding:.75rem .25rem;color:var(--text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.calendar-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:2px solid transparent;border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease}.calendar-day:hover:not(:disabled){background:var(--bg-card-hover)}.calendar-day.other-month{color:var(--text-muted);cursor:default}.calendar-day.today{border-color:var(--color-accent);font-weight:600}.calendar-day.selected{background:var(--color-accent);color:var(--bg-primary);font-weight:600}.calendar-day.selected:hover{background:var(--color-accent-hover)}.calendar-day.has-entry{border-color:var(--color-primary-light);background:#3d5a4533}.calendar-day.has-entry.selected{background:var(--color-accent);border-color:var(--color-accent)}.entry-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.calendar-day.selected .entry-dot{background:var(--bg-primary)}.selected-entries{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.selected-entries h3{text-align:center;color:var(--color-accent);margin-bottom:1rem;font-size:1.1rem}.no-entries,.select-prompt{text-align:center;color:var(--text-secondary);padding:1rem}.entries-list{display:flex;flex-direction:column;gap:1rem}.calendar-entry-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.entry-item{display:flex;gap:.75rem;padding:.5rem 0}.entry-item:not(:last-child){border-bottom:1px solid rgba(61,90,69,.3)}.entry-icon{color:var(--color-accent);font-size:1rem;flex-shrink:0}.entry-text{color:var(--text-primary);font-size:.95rem;line-height:1.5}@media(max-width:500px){.calendar-grid{padding:.5rem;gap:2px}.calendar-header-cell{font-size:.7rem;padding:.5rem 0}.calendar-day{font-size:.85rem;border-radius:6px}.entry-dot{width:4px;height:4px;bottom:2px}.calendar-nav{flex-direction:column;align-items:center}.calendar-select{width:100%;max-width:200px}}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.orb{position:fixed;border-radius:50%;filter:blur(40px);animation:float 10s infinite ease-in-out;pointer-events:none;z-index:0}.orb-1{width:300px;height:300px;background:var(--orb-1);top:10%;left:10%;animation-delay:0s}.orb-2{width:250px;height:250px;background:var(--orb-2);top:60%;right:10%;animation-delay:-5s}.orb-3{width:200px;height:200px;background:var(--orb-3);bottom:10%;left:30%;animation-delay:-10s}.orb-4{width:150px;height:150px;background:var(--orb-1);top:30%;right:25%;animation-delay:-15s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(60px,-50px) scale(1.1)}50%{transform:translate(-40px,40px) scale(.9)}75%{transform:translate(50px,20px) scale(1.05)}}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;position:relative;z-index:1;box-shadow:0 8px 32px var(--shadow-color)}.login-card h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;text-align:center;margin-bottom:.5rem}.login-card .subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.login-form input::placeholder{color:var(--text-muted)}.login-form input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #c4a48426}.btn-primary{background:var(--color-accent);color:var(--bg-primary);padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;margin-top:.5rem;transition:all .2s ease}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c4a4844d}.btn-google{width:100%;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-google:hover{background:var(--bg-card-hover);border-color:var(--color-accent)}.toggle-auth{background:none;color:var(--text-secondary);font-size:.9rem;margin-top:1rem;text-align:center}.toggle-auth:hover{color:var(--color-accent)}.error-message{background:#d4a5a526;border:1px solid var(--color-rose);color:var(--color-rose);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;text-align:center}.divider{display:flex;align-items:center;gap:1rem;margin:1rem 0;color:var(--text-muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.motivate-page{max-width:600px;margin:0 auto;padding:2rem}.motivate-page h2{text-align:center;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.motivate-page>p{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.motivate-form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.motivate-form-group{margin-bottom:1.25rem}.motivate-form-group label{display:block;color:var(--text-primary);font-size:.95rem;font-weight:500;margin-bottom:.5rem}.motivate-form-group textarea{width:100%;min-height:120px;max-height:300px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;color:var(--text-primary);font-size:1rem;font-family:inherit;line-height:1.5;resize:vertical;overflow-y:auto}.motivate-form-group textarea::placeholder{color:var(--text-muted)}.motivate-form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #c4a48426;outline:none}.motivate-form-group input[type=text]{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;color:var(--text-primary);font-size:1rem;font-family:inherit}.motivate-form-group input[type=text]::placeholder{color:var(--text-muted)}.motivate-form-group input[type=text]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #c4a48426;outline:none}.motivate-page button{width:100%;background:var(--color-accent);color:var(--bg-primary);padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;margin-top:.5rem;transition:all .2s ease}.motivate-page button:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c4a4844d}.motivate-success{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center}.motivate-success h2{color:var(--color-accent);margin-bottom:1rem}.motivate-success p{color:var(--text-secondary);margin-bottom:1.5rem}.motivate-form-group textarea::-webkit-scrollbar{width:8px}.motivate-form-group textarea::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.motivate-form-group textarea::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.motivate-form-group textarea::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.settings-page h2{text-align:center;color:var(--text-primary);margin-bottom:1.5rem}.settings-page h3{color:var(--text-primary);margin-bottom:.5rem}.settings-page p{color:var(--text-secondary);margin-bottom:1rem}.settings-page label{color:var(--text-secondary);display:block;margin-bottom:.5rem}.share-section,.preferences-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.share-link{display:flex;gap:.5rem}.share-link input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem}.share-link input:focus{border-color:var(--color-accent);outline:none}.share-link button{background:var(--color-accent);color:var(--bg-primary);padding:.75rem 1.25rem;border-radius:6px;font-weight:600}.share-link button:hover{background:var(--color-accent-hover)}.preferences-section select{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;color:var(--text-primary);font-size:1rem;margin-bottom:1rem;cursor:pointer}.preferences-section select:focus{border-color:var(--color-accent);outline:none}.preferences-section select option{background:var(--bg-card);color:var(--text-primary)}.preferences-section input[type=number]{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.preferences-section input[type=number]:focus{border-color:var(--color-accent);outline:none}.preferences-section button{width:100%;background:var(--color-accent);color:var(--bg-primary);padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600}.preferences-section button:hover{background:var(--color-accent-hover)}
