:root{--ink:#292524;--ink-muted:#57534e;--bg:#fafaf9;--surface:#fff;--rule:#e7e5e4;--accent:#92400e;--accent-ink:#fff;--ink-tertiary:#78716c;--accent-hover:#b45309;--success:#10b981;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--measure:60ch;scrollbar-color:var(--rule) transparent;caret-color:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#fafaf9;--ink-muted:#a8a29e;--ink-tertiary:#78716c;--bg:#1c1917;--surface:#292524;--rule:#44403c;--accent:#fbbf24;--accent-hover:#f59e0b;--accent-ink:#1c1917;--success:#34d399}}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}body{-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}.screen{min-height:100vh}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}::selection{color:var(--ink);background:#fed7aa}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:.18em}.num{font-variant-numeric:tabular-nums}button,[role=button],summary,select,input[type=checkbox],input[type=radio]{min-height:44px}button{min-width:44px}input,select,textarea{font:inherit;font-size:max(1rem,16px)}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}@media (width<=480px){.screen{padding-inline:1rem}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}button,.tab,.mood-button,.calendar-day,.calendar-nav-button,.search-result-item,.entry-textarea,.search-input{transition:all .2s cubic-bezier(.4,0,.2,1)}.entry-modal{animation:.2s ease-out fadeIn}.entry-modal-content{animation:.2s cubic-bezier(.4,0,.2,1) slideUp}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}html,body,#root{height:100%;overflow:hidden}.app{flex-direction:column;height:100%;display:flex}.app-main{flex:1;overflow:hidden auto}.screen{max-width:800px;padding:var(--space-xl) var(--space-lg);padding-bottom:calc(var(--space-2xl) + 80px);min-height:100%;margin:0 auto}.screen-header{margin-bottom:var(--space-2xl)}.screen-title{letter-spacing:-.02em;color:var(--ink);font-size:1.875rem;font-weight:700;line-height:1.2}.screen-date{margin-top:var(--space-sm);color:var(--ink-muted);font-size:1rem}.tab-bar{background:var(--surface);border-top:1px solid var(--rule);padding:var(--space-sm);display:flex;box-shadow:0 -1px 3px #0000000d}.tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm);color:var(--ink-tertiary);cursor:pointer;border-radius:.5rem;flex-direction:column;flex:1;text-decoration:none;display:flex}.tab:hover{background:var(--bg);color:var(--ink-muted)}.tab:active{transform:scale(.97)}.tab-active{color:var(--accent);background:#fef3c7}@media (prefers-color-scheme:dark){.tab-active{background:#451a03}}.tab-icon{font-size:1.25rem}.tab-label{font-size:.75rem;font-weight:600}.write-content{gap:var(--space-2xl);flex-direction:column;display:flex}.mood-selector{gap:var(--space-md);flex-direction:column;display:flex}.mood-label{color:var(--ink);font-size:1.125rem;font-weight:600}.mood-options{gap:var(--space-sm);flex-wrap:wrap;display:flex}.mood-button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface);border:2px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:.5rem;font-family:inherit;font-size:1rem;font-weight:500;display:flex}.mood-button:hover{background:var(--bg);border-color:#d6d3d1}@media (prefers-color-scheme:dark){.mood-button:hover{border-color:#57534e}}.mood-button-active{border-color:var(--mood-color);background:color-mix(in srgb, var(--mood-color) 10%, var(--surface))}.mood-indicator{background:var(--mood-color);border-radius:50%;width:1rem;height:1rem}.mood-label-text{-webkit-user-select:none;user-select:none}.entry-field{gap:var(--space-md);flex-direction:column;display:flex}.entry-label{color:var(--ink);font-size:1.125rem;font-weight:600}.entry-textarea{width:100%;padding:var(--space-md);background:var(--surface);border:2px solid var(--rule);color:var(--ink);resize:vertical;border-radius:.5rem;font-family:inherit;font-size:1rem;line-height:1.7}.entry-textarea::placeholder{color:#a8a29e}.entry-textarea:hover{border-color:#d6d3d1}@media (prefers-color-scheme:dark){.entry-textarea:hover{border-color:#57534e}}.entry-textarea:focus{border-color:var(--accent);outline:none}.write-actions{align-items:center;gap:var(--space-md);display:flex}.save-button{padding:var(--space-md) var(--space-xl);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:.5rem;font-family:inherit;font-size:1rem;font-weight:600;box-shadow:0 1px 2px #0000000d}.save-button:hover{background:var(--accent-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.save-button:active{transform:scale(.98)}.save-button:disabled{color:#a8a29e;cursor:not-allowed;box-shadow:none;background:#d6d3d1}@media (prefers-color-scheme:dark){.save-button:disabled{color:#78716c;background:#44403c}}.save-feedback{color:var(--success);font-size:.875rem;font-weight:500}.calendar-content{gap:var(--space-xl);flex-direction:column;display:flex}.calendar-nav{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.calendar-month{color:var(--ink);font-size:1.25rem;font-weight:700}.calendar-nav-button{padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--rule);color:var(--ink-muted);cursor:pointer;border-radius:.5rem;font-family:inherit;font-size:.875rem;font-weight:500}.calendar-nav-button:hover{background:var(--bg);color:var(--ink);border-color:#d6d3d1}@media (prefers-color-scheme:dark){.calendar-nav-button:hover{border-color:#57534e}}.calendar-nav-button:active{transform:scale(.97)}.calendar-grid{background:var(--surface);border:1px solid var(--rule);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.calendar-weekdays{background:var(--bg);border-bottom:1px solid var(--rule);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{padding:var(--space-md);text-align:center;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{aspect-ratio:1;padding:var(--space-sm);background:var(--surface);border:none;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;font-family:inherit;display:flex;position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover:not(:disabled):not(.calendar-day-empty){background:var(--bg)}.calendar-day:active:not(:disabled){background:#f5f5f4}@media (prefers-color-scheme:dark){.calendar-day:active:not(:disabled){background:#1c1917}}.calendar-day-empty{cursor:default;background:var(--bg);opacity:.5}.calendar-day-today{background:#fef3c7}@media (prefers-color-scheme:dark){.calendar-day-today{background:#451a03}}.calendar-day-today:hover{background:#fde68a}@media (prefers-color-scheme:dark){.calendar-day-today:hover{background:#78350f}}.calendar-day-number{color:var(--ink);z-index:1;font-size:.875rem;font-weight:500}.calendar-day-indicator{background:var(--mood-color);border-radius:50%;width:.375rem;height:.375rem;position:absolute;bottom:.25rem}.calendar-day-has-entry .calendar-day-number{font-weight:700}.search-content{gap:var(--space-xl);flex-direction:column;display:flex}.search-field{z-index:10;background:var(--bg);padding-bottom:var(--space-md);position:sticky;top:0}.search-input{width:100%;padding:var(--space-md);background:var(--surface);border:2px solid var(--rule);color:var(--ink);border-radius:.5rem;font-family:inherit;font-size:1rem}.search-input::placeholder{color:#a8a29e}.search-input:hover{border-color:#d6d3d1}@media (prefers-color-scheme:dark){.search-input:hover{border-color:#57534e}}.search-input:focus{border-color:var(--accent);outline:none}.search-results{gap:var(--space-md);flex-direction:column;display:flex}.search-count{color:var(--ink-muted);font-size:.875rem;font-weight:500}.search-list{gap:var(--space-md);flex-direction:column;display:flex}.search-result-item{gap:var(--space-sm);padding:var(--space-md);background:var(--surface);border:1px solid var(--rule);text-align:left;cursor:pointer;border-radius:.5rem;flex-direction:column;display:flex;box-shadow:0 1px 2px #0000000d}.search-result-item:hover{border-color:#d6d3d1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (prefers-color-scheme:dark){.search-result-item:hover{border-color:#57534e}}.search-result-item:active{transform:scale(.99)}.search-result-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.search-result-date{color:var(--ink);font-size:.875rem;font-weight:600}.search-result-mood{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--mood-color) 15%, var(--surface));color:var(--mood-color);border-radius:.25rem;font-size:.75rem;font-weight:600;display:flex}.search-result-mood:before{content:"";background:var(--mood-color);border-radius:50%;width:.5rem;height:.5rem}.search-result-excerpt{color:var(--ink-muted);font-size:.875rem;line-height:1.6}.empty-state{padding:var(--space-2xl);text-align:center}.empty-state-title{color:var(--ink);margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:600}.empty-state-text{color:var(--ink-muted);max-width:32ch;margin:0 auto;font-size:1rem}.entry-modal{z-index:50;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.entry-modal-content{background:var(--surface);border-radius:.75rem;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.entry-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-xl);border-bottom:1px solid var(--rule);display:flex}.entry-modal-date{color:var(--ink);margin-bottom:var(--space-xs);font-size:1.125rem;font-weight:700}.entry-modal-mood{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--mood-color) 15%, var(--surface));color:var(--mood-color);border-radius:.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.entry-modal-mood:before{content:"";background:var(--mood-color);border-radius:50%;width:.5rem;height:.5rem}.entry-modal-close{width:2rem;height:2rem;color:var(--ink-tertiary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:flex}.entry-modal-close:hover{background:var(--bg);color:var(--ink)}.entry-modal-body{padding:var(--space-xl);flex:1;overflow-y:auto}.entry-modal-text{color:var(--ink);white-space:pre-wrap;word-wrap:break-word;font-size:1rem;line-height:1.7}@media (width<=640px){.screen{padding:var(--space-lg) var(--space-md)}.screen-title{font-size:1.5rem}.calendar-weekday{padding:var(--space-sm);font-size:.625rem}.calendar-day{padding:var(--space-xs)}.calendar-day-number{font-size:.75rem}.mood-options{flex-direction:column}.mood-button{justify-content:flex-start;width:100%}.entry-modal{align-items:flex-end;padding:0}.entry-modal-content{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:85vh}}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:.25rem}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#57534e}}::-webkit-scrollbar-thumb:hover{background:#a8a29e}@media (width<=480px){body,.container,[class*=container],section,header,footer,nav,main,article{padding-inline:max(1rem,16px)}}
