/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */.home-header{justify-content:space-between;width:100%;max-width:28rem;padding:1rem 0 1.5rem}.home-header,.user-section{align-items:center;display:flex}.user-section{flex:1;gap:.75rem}.welcome-text{color:var(--text-muted);font-size:.95rem;font-weight:500}.header-controls{gap:.75rem}.header-controls,.theme-switch-container{align-items:center;display:flex}.theme-switch-icon{color:var(--text-muted);transition:color .3s}.theme-switch-icon.sun{margin-right:.25rem}.theme-switch-icon.moon{margin-left:.25rem}.theme-switch .MuiSwitch-switchBase,.theme-switch .MuiSwitch-thumb,.theme-switch .MuiSwitch-track{transition:transform .3s,background-color .3s!important}.logout-icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background-color .2s,color .2s;display:flex}.logout-icon-btn:hover{background:var(--surface-muted);color:var(--text)}.logout-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entry-card{box-sizing:border-box;padding:2rem 1.5rem}.entry-card,.mood-section{margin-bottom:2rem}.section-label{color:#374151;margin-bottom:1rem;font-size:1rem;font-weight:600;display:block}.dark .section-label{color:#d1d5db}.mood-grid{flex-wrap:wrap;gap:.75rem}.mood-btn,.mood-grid{justify-content:center;display:flex}.mood-btn{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;align-items:center;width:3.5rem;height:3.5rem;font-size:1.75rem;transition:all .2s ease-in-out}.dark .mood-btn{background:#374151;border-color:#4b5563}.mood-btn:hover{border-color:#4f46e5;transform:scale(1.05)}.dark .mood-btn:hover{border-color:#818cf8}.mood-btn.selected{background:#eef2ff;border-color:#4f46e5;transform:scale(1.05)}.dark .mood-btn.selected{background:#312e81;border-color:#818cf8}.date-section{margin-bottom:2rem}.date-input{color:#374151;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;width:100%;max-width:300px;margin-bottom:.5rem;padding:.75rem;font-size:1rem}.dark .date-input{color:#d1d5db;color-scheme:dark;background:#374151;border-color:#4b5563}.date-input:focus{border-color:#4f46e5;outline:none}.dark .date-input:focus{border-color:#818cf8}.date-hint{color:#6b7280;font-size:.875rem;font-style:italic;display:block}.dark .date-hint{color:#9ca3af}.memory-section{margin-bottom:15px}.memory-input{resize:vertical;box-sizing:border-box;color:#374151;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;width:100%;max-width:100%;min-height:4rem;padding:1rem;font-size:1rem;transition:border-color .2s ease-in-out}.dark .memory-input{color:#d1d5db;background:#374151;border-color:#4b5563}.memory-input:focus{border-color:#4f46e5;outline:none}.dark .memory-input:focus{border-color:#818cf8}.memory-input::placeholder{color:#9ca3af}.dark .memory-input::placeholder{color:#6b7280}.memory-input:-webkit-autofill,.memory-input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#374151!important;background-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.memory-input:-webkit-autofill:active,.memory-input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#374151!important;background-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.dark .memory-input:-webkit-autofill,.dark .memory-input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#d1d5db!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 1000px #374151!important}.dark .memory-input:-webkit-autofill:active,.dark .memory-input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#d1d5db!important;background-color:#374151!important;-webkit-box-shadow:inset 0 0 0 1000px #374151!important}.memory-input:not(:placeholder-shown):not([type=email]){color:#0f172a!important;background:#f1f5f9!important;border-color:#94a3b8!important}.dark .memory-input:not(:placeholder-shown):not([type=email]){color:#f8fafc!important;background:#475569!important;border-color:#64748b!important}.memory-input:not(:placeholder-shown):not([type=email]):focus{color:#0f172a!important;background:#f1f5f9!important;border-color:#4f46e5!important}.dark .memory-input:not(:placeholder-shown):not([type=email]):focus{color:#f8fafc!important;background:#475569!important;border-color:#818cf8!important}.save-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:3.25rem;min-height:3.25rem;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s ease-in-out;display:flex}.save-btn:hover:not(:disabled){background:#4338ca}.dark .save-btn{background:#6366f1}.dark .save-btn:hover:not(:disabled){background:#4f46e5}.save-btn:disabled{cursor:not-allowed;background:#9ca3af}.dark .save-btn:disabled{background:#6b7280}.daily-mood-card{max-width:28rem;margin:0 auto 2rem}.check-in-heading{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;color:var(--text);margin:0 0 .75rem;font-size:1.625rem;font-weight:500;line-height:1.15}.check-in-error{color:var(--error);margin:0 0 1rem;font-size:.9rem}.check-in-skeleton{border-radius:var(--radius-sm);background:var(--surface-muted);height:3rem;margin-bottom:1rem;animation:pulse 1.5s ease-in-out infinite}.timeline{border-left:1px solid var(--border);flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:0 0 0 1rem;list-style:none;display:flex}.timeline-row{background:var(--bg);border:1px solid var(--border);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--radius-md);grid-template-columns:auto 1fr;align-items:center;gap:.375rem .625rem;padding:.75rem .875rem;display:grid;position:relative}.timeline-row:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute;top:1.05rem;left:calc(-1rem - 3.5px)}.timeline-row:hover{border-color:var(--text-muted)}.timeline-time{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:.75rem}.timeline-text{flex-direction:column;min-width:0;display:flex}.timeline-feeling{font-family:var(--font-display),Georgia,serif;font-size:1.125rem}.timeline-note{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.sheet-backdrop{background:var(--overlay);z-index:10000;position:fixed;inset:0}.sheet{z-index:10001;max-width:28rem;max-height:90dvh;padding:1.25rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border-top:1px solid var(--border);border-radius:var(--radius-md)var(--radius-md)0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-title{font-family:var(--font-display),Georgia,serif;margin:0 0 .25rem;font-size:1.35rem;font-weight:500}.sheet-note{color:var(--text-muted);margin:0 0 1rem;font-size:.875rem}.sheet-error{color:var(--error);margin:0 0 .75rem;font-size:.875rem}.feeling-grid{grid-template-columns:1fr 1fr;gap:.625rem;margin:1rem 0 1.25rem;display:grid}.feeling-option{min-height:3.25rem;font:inherit;font-family:var(--font-display),Georgia,serif;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.625rem;padding:0 1rem;font-size:1.125rem;display:flex}.feeling-option:hover:not(:disabled){border-color:var(--text-muted)}.feeling-option:disabled{opacity:.6}.detail-group{border:none;margin:0 0 1rem;padding:0}.detail-group legend,.detail-note{margin-bottom:.5rem;font-size:.85rem;font-weight:500}.chip-row{flex-wrap:wrap;display:flex}.chip,.chip-row{align-items:center;gap:.375rem}.chip{min-height:2.25rem;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.375rem .75rem;font-size:.875rem;display:inline-flex}.chip[aria-pressed=true]{background:var(--surface-muted);border-color:var(--text-muted);font-weight:600}.chip-square{justify-content:center;width:2.5rem;padding:.375rem 0}.chip-hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.chip:disabled{opacity:.5;cursor:default}.own-word{gap:.375rem;margin-top:.5rem;display:flex}.own-word input{box-sizing:border-box;min-width:0;min-height:2.25rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex:1;padding:.375rem .625rem;font-size:.875rem}.detail-note{display:block}.detail-note textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;margin-top:.375rem;padding:.5rem .625rem;font-weight:400;display:block}.sheet-actions{gap:.75rem;margin-top:.25rem;display:flex}.sheet-primary,.sheet-secondary{font:inherit;border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:.75rem;font-weight:500}.sheet-primary{color:var(--on-primary);background:var(--primary);border:1px solid var(--primary)}.sheet-primary:disabled{opacity:.5}.sheet-secondary{width:100%;color:var(--text);border:1px solid var(--border-strong);background:0 0}.sheet-delete{font:inherit;color:var(--error);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:1rem auto 0;padding:.5rem;font-size:.85rem;text-decoration:underline;display:block}.chip:focus-visible,.feeling-option:focus-visible,.sheet-delete:focus-visible,.sheet-primary:focus-visible,.sheet-secondary:focus-visible,.timeline-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reminder-prompt{max-width:28rem;margin:0 auto 2rem}.reminder-prompt-title{font-family:var(--font-display),Georgia,serif;color:var(--text);margin:0 0 .375rem;font-size:1.3rem;font-weight:500}.reminder-prompt-text{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem}.reminder-prompt-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.reminder-prompt-actions .sheet-secondary{grid-column:1/-1}.save-later{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.625rem;padding:.75rem;display:flex}.save-later input{width:1rem;height:1rem;accent-color:var(--primary);flex-shrink:0;margin-top:.2rem}.save-later-label{font-size:.9rem;font-weight:500;display:block}.save-later-hint{font-size:.8rem}.hard-day-link,.save-later-hint{color:var(--text-muted);display:block}.hard-day-link{text-align:center;text-underline-offset:3px;margin-top:.875rem;font-size:.85rem;text-decoration:underline}.plan-offer{color:var(--text);background:var(--surface-muted);border-radius:var(--radius-sm);margin:0 0 1rem;padding:.625rem .75rem;font-size:.9rem;text-decoration:none;display:block}.hard-day-link:focus-visible,.plan-offer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.look-back{max-width:28rem;margin:0 auto 1.5rem}.look-back-title{font-family:var(--font-display),Georgia,serif;color:var(--text);margin:0;font-size:1.35rem;font-weight:500}.look-back-week{color:var(--text-muted);margin:.125rem 0 .75rem;font-size:.8rem}.look-back-lines{color:var(--text);margin:0 0 1rem;padding-left:1.1rem;font-size:.925rem}.look-back-lines li+li{margin-top:.25rem}.look-back-question label{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.look-back-question textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;margin-bottom:.75rem;padding:.5rem .625rem;display:block}.look-back-actions{gap:.5rem;display:flex}.look-back-note{color:var(--text-muted);margin:0;font-size:.875rem}.look-back-error{color:var(--error);margin:0 0 .5rem;font-size:.875rem}.mood-heatmap{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin-bottom:2rem;padding:1.5rem}.heatmap-header{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.heatmap-title{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:500;line-height:1.2}.month-selector-scroll,.view-mode-selector,.year-selector-scroll{background:var(--surface-muted);border-radius:var(--radius-sm);scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;gap:.25rem;padding:.25rem;display:flex}.view-mode-selector .buttons-container{scrollbar-width:none;gap:.25rem;width:100%;display:flex;overflow-x:auto}.month-selector-scroll,.year-selector-scroll{overflow-x:auto}.month-selector-btn,.view-mode-btn,.year-selector-btn{border-radius:calc(var(--radius-sm) - 2px);min-width:3rem;min-height:2.25rem;color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1 0 auto;padding:.375rem .625rem;font-size:.8rem;font-weight:500;transition:background-color .2s,color .2s}.month-selector-btn:hover:not(:disabled),.view-mode-btn:hover,.year-selector-btn:hover:not(:disabled){color:var(--text)}.month-selector-btn.active,.view-mode-btn.active,.view-mode-btn.today-active,.year-selector-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.month-selector-btn:disabled,.year-selector-btn:disabled{opacity:.4;cursor:default}.heatmap-day:focus-visible,.legend-item:focus-visible,.month-selector-btn:focus-visible,.view-mode-btn:focus-visible,.year-month:focus-visible,.year-selector-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.weekday-headers{grid-template-columns:repeat(7,1fr);gap:.25rem;margin:.5rem 0 .25rem;display:grid}.weekday-header{text-align:center;color:var(--text-muted);padding:.25rem 0;font-size:.75rem;font-weight:500}.heatmap-grid{flex-direction:column;gap:.25rem;margin-bottom:1.25rem;display:flex}.heatmap-week{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.heatmap-week.calendar-week{display:contents}.heatmap-day{aspect-ratio:1;border-radius:calc(var(--radius-sm) - 1px);background:var(--mood-none);width:100%;min-height:2.5rem;color:var(--text);font:inherit;cursor:default;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:border-color .2s,opacity .2s;display:flex;position:relative}.heatmap-day.has-entry{background:linear-gradient(var(--tile-mood),var(--tile-mood))bottom/100% 3px no-repeat,var(--tile-mood)}@supports (color:color-mix(in lab,red,red)){.heatmap-day.has-entry{background:linear-gradient(var(--tile-mood),var(--tile-mood))bottom/100% 3px no-repeat,color-mix(in srgb,var(--tile-mood)22%,var(--surface))}}.heatmap-day.clickable{cursor:pointer}.heatmap-day.clickable:hover{border-color:var(--text-muted)}.heatmap-day.other-month{opacity:.45}.heatmap-day.today{border-color:var(--text)}.heatmap-day.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-number{font-variant-numeric:tabular-nums;pointer-events:none;font-size:.7rem;font-weight:500}.heatmap-day.has-entry .day-number{color:var(--text-muted);font-size:.6rem;position:absolute;top:2px;left:4px}.day-mood{pointer-events:none;line-height:0;display:flex}.heatmap-grid.year-view{gap:.5rem}.year-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.year-month{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:3.75rem;color:var(--text);font:inherit;cursor:pointer;padding:.5rem;transition:border-color .2s}.year-month.has-entry{background:linear-gradient(var(--tile-mood),var(--tile-mood))bottom/100% 3px no-repeat,var(--tile-mood)}@supports (color:color-mix(in lab,red,red)){.year-month.has-entry{background:linear-gradient(var(--tile-mood),var(--tile-mood))bottom/100% 3px no-repeat,color-mix(in srgb,var(--tile-mood)18%,var(--surface))}}.year-month:hover:not(:disabled){border-color:var(--text-muted)}.year-month:disabled{opacity:.45;cursor:default}.year-month-content{flex-direction:column;align-items:center;gap:.125rem;display:flex}.month-name{font-size:.8rem;font-weight:500}.entry-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.7rem}.heatmap-grid.calendar-view{grid-template-columns:repeat(var(--weeks,53),11px);scrollbar-width:none;grid-auto-rows:11px;justify-content:start;gap:2px;width:fit-content;max-width:100%;margin-bottom:1.25rem;display:grid;overflow:auto hidden}.heatmap-grid.calendar-view::-webkit-scrollbar{display:none}.calendar-day{aspect-ratio:auto;border:none;border-radius:2px;width:11px;height:11px;min-height:0}.calendar-day.has-entry{background:var(--tile-mood)}.calendar-day .day-number{display:none}.calendar-day.selected,.calendar-day.today{outline:1px solid var(--text);outline-offset:1px;box-shadow:none}.heatmap-legend{flex-wrap:wrap;gap:.375rem;display:flex}.legend-item{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:2rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8rem;transition:border-color .2s,opacity .2s;display:inline-flex}.legend-item.selected,.legend-item:hover{border-color:var(--text-muted)}.legend-item.selected{background:var(--surface-muted);font-weight:600}@media (max-width:425px){.mood-heatmap{padding:1.25rem 1rem}.heatmap-grid.calendar-view{grid-template-columns:repeat(var(--weeks,53),9px);grid-auto-rows:9px;gap:1px}.calendar-day{width:9px;height:9px}.weekday-header{font-size:.7rem}}.auth-container{min-height:100dvh;padding:max(1rem,env(safe-area-inset-top))max(1rem,env(safe-area-inset-right))max(1rem,env(safe-area-inset-bottom))max(1rem,env(safe-area-inset-left));background:var(--bg);color:var(--text);justify-content:center;align-items:center;display:flex}.auth-wrapper{width:100%;max-width:26rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header .main-title{margin-bottom:.375rem;font-size:2.25rem}.auth-field-help,.auth-form-description,.auth-subtitle,.auth-toggle-text{color:var(--text-muted)}.auth-subtitle{margin:0;font-size:.95rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:1.75rem 1.5rem}.auth-form-section{margin-bottom:1.25rem}.auth-title{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:500}.auth-form-description{margin:0;font-size:.875rem}.auth-form{gap:1rem}.auth-field,.auth-form{flex-direction:column;display:flex}.auth-field{gap:.375rem}.auth-label{font-size:.85rem;font-weight:500}.required{color:var(--text-muted)}.auth-input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.7rem .8rem;transition:border-color .2s}.auth-input::placeholder{color:var(--text-muted);opacity:.8}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.auth-input:disabled{opacity:.6}.auth-field-help{margin:0;font-size:.8rem}.auth-field-help a{color:var(--text)}.auth-consent{cursor:pointer;align-items:flex-start;gap:.625rem;margin-bottom:.375rem;font-size:.85rem;line-height:1.5;display:flex}.auth-consent input{width:1rem;height:1rem;accent-color:var(--primary);flex-shrink:0;margin-top:.2rem}.auth-error-text{color:var(--error);margin:0;font-size:.875rem}.auth-submit-btn{font:inherit;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.8rem 1rem;font-weight:500;transition:background-color .2s;display:flex}.auth-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.auth-submit-btn:active:not(:disabled){transform:scale(.98)}.auth-submit-btn:disabled{opacity:.4;cursor:not-allowed}.loading-spinner{border:2px solid;border-right:2px solid #0000;border-radius:50%;width:1rem;height:1rem;animation:spin .8s linear infinite}.auth-toggle{justify-content:center;align-items:center;gap:.375rem;margin-top:1.25rem;display:flex}.auth-toggle-text{margin:0;font-size:.9rem}.auth-toggle-button{font:inherit;color:var(--text);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.9rem;font-weight:500;text-decoration:underline}.auth-toggle-button:disabled{opacity:.5;cursor:not-allowed}.auth-consent input:focus-visible,.auth-submit-btn:focus-visible,.auth-toggle-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}