*,*:before,*:after{box-sizing:border-box}:root{--bg: #f8f6f3;--bg-soft: #f0ede8;--text: #2c2925;--text-muted: #5c5650;--accent: #6b7b6e;--accent-soft: #9aa89c;--border: #e2ddd6;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--radius: 8px;--font-serif: Georgia, "Times New Roman", serif}html{font-size:18px;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-serif);line-height:1.6}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text)}button{font-family:inherit;cursor:pointer}.layout{min-height:100vh;padding:var(--space-lg) var(--space-md);max-width:42rem;margin:0 auto}.layout-header{margin-bottom:var(--space-xl)}.app-title{margin:0 0 var(--space-xs);font-size:1.75rem;font-weight:500;letter-spacing:.02em;display:flex;align-items:center;gap:.75rem}.app-logo{flex-shrink:0;color:var(--text);vertical-align:middle}.app-subtitle{margin:0 0 var(--space-lg);font-size:.95rem;color:var(--text-muted);font-style:italic;line-height:1.5}.layout-main{padding-top:var(--space-sm)}.layout-footer{margin-top:var(--space-xl);padding-top:var(--space-sm);border-top:1px solid var(--border);text-align:center}.supabase-status{font-size:.75rem;color:var(--text-muted)}.welcome{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.welcome-inner{max-width:28rem;text-align:center}.welcome-title{margin:0 0 var(--space-md);font-size:1.75rem;font-weight:500;letter-spacing:.02em}.welcome-tagline{margin:0 0 var(--space-lg);font-size:1rem;color:var(--text-muted);font-style:italic;line-height:1.5}.welcome-bullets{margin:0 0 var(--space-xl);padding-left:1.25rem;text-align:left;list-style:disc;font-size:.95rem;color:var(--text);line-height:1.7}.welcome-bullets li{margin-bottom:var(--space-xs)}.welcome-enter{margin-top:var(--space-sm)}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.nav-link{padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.9rem;transition:color .15s ease,border-color .15s ease,background .15s ease}.nav-link:hover{color:var(--text);border-color:var(--accent-soft)}.nav-link--current{color:var(--text);border-color:var(--accent);background:var(--bg-soft)}.layout-bad-night-link{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.layout-bad-night-link:hover{color:var(--text);border-color:var(--accent-soft)}.page{padding:var(--space-sm) 0}.block{padding:var(--space-md) 0}.page-return-home{margin:0 0 var(--space-md);padding:0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.9rem;cursor:pointer}.page-return-home:hover{color:var(--text)}.page-title{margin:0 0 var(--space-xs);font-size:1.35rem;font-weight:500}.page-muted{margin:0 0 var(--space-md);color:var(--text-muted);font-size:.95rem}.page-intro{margin:0 0 var(--space-lg);font-size:1rem}.btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);border:1px solid transparent;font-size:1rem;transition:background .15s ease,border-color .15s ease}.btn--primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn--primary:hover{background:#5a6a5d;border-color:#5a6a5d}.btn--secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn--secondary:hover{border-color:var(--accent-soft);background:var(--bg-soft)}.btn--danger{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn--danger:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn--danger:disabled{opacity:.6;cursor:not-allowed}.form-hint{margin:0 0 var(--space-md);color:var(--text-muted);font-size:.9rem;font-style:italic}.checkin-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-section{margin:0;padding:var(--space-md) 0;border:none;border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none}.form-legend{font-size:.95rem;color:var(--text-muted);margin-bottom:var(--space-sm);padding:0}.form-label{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm)}.form-label--row{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.form-label-text{font-size:.9rem;color:var(--text);min-width:8rem}.form-input,.form-select,.form-textarea{font-family:inherit;font-size:1rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);max-width:20rem}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-soft)}.form-textarea{resize:vertical;min-height:5rem;max-width:100%}.form-actions{padding-top:var(--space-sm)}.block--confirmation .page-intro,.confirmation-suggestions{margin-bottom:var(--space-lg)}.confirmation-suggestions-intro{margin:0 0 var(--space-sm);font-size:.95rem;color:var(--text-muted)}.confirmation-suggestions-list{list-style:none;margin:0;padding:0}.confirmation-suggestions-list li{margin:0 0 var(--space-xs)}.confirmation-skill-link{display:block;width:100%;padding:var(--space-sm) 0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer;transition:color .15s ease}.confirmation-skill-link:hover{color:var(--text)}.confirmation-skill-title{display:block;font-weight:500}.confirmation-skill-reason{display:block;font-size:.85rem;color:var(--text-muted);font-weight:400;margin-top:2px}.calendar-month-label{margin-bottom:var(--space-md)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-xl)}.calendar-weekday{padding:var(--space-xs) 0;font-size:.75rem;color:var(--text-muted);text-align:center}.calendar-cell{aspect-ratio:1;min-height:2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-xs);border:none;border-radius:var(--radius);background:transparent;color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .15s ease}.calendar-cell--empty{cursor:default;pointer-events:none}.calendar-cell--day:hover{background:var(--bg-soft)}.calendar-day-num{font-variant-numeric:tabular-nums}.calendar-cell-indicators{display:flex;align-items:center;justify-content:center;gap:2px;font-size:.65rem}.calendar-cell--selected{background:var(--bg-soft);border:1px solid var(--accent-soft)}.calendar-completed{color:var(--accent)}.calendar-reflection{color:var(--text-muted)}.calendar-skills{color:var(--text-muted);font-variant-numeric:tabular-nums}.calendar-mood{font-size:.7rem;color:var(--text-muted)}.calendar-day-panel{padding:var(--space-md) 0;margin-bottom:var(--space-lg);border-top:1px solid var(--border)}.calendar-day-panel-title{margin:0 0 var(--space-sm);font-size:1rem;font-weight:500}.calendar-day-panel-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.calendar-day-panel-skills{margin-top:var(--space-sm)}.calendar-day-panel-skills-label{font-size:.9rem;color:var(--text-muted);margin-right:var(--space-xs)}.calendar-day-panel-skills-list{list-style:none;margin:var(--space-xs) 0 0;padding:0}.calendar-day-panel-skills-list li{margin:0 0 var(--space-xs)}.calendar-day-panel-skill-link{padding:0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.9rem;cursor:pointer}.calendar-day-panel-skill-link:hover{color:var(--text)}.history-block{padding-top:var(--space-lg);border-top:1px solid var(--border)}.history-title{margin:0 0 var(--space-xs);font-size:1.1rem;font-weight:500}.history-block .page-muted{margin-bottom:var(--space-sm)}.history-empty{margin:0;color:var(--text-muted);font-size:.95rem}.history-list{list-style:none;margin:0;padding:0}.history-item{margin:0;padding:0}.history-item-button{display:block;width:100%;padding:var(--space-sm) 0;margin:0;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s ease}.history-item-button:hover{background:var(--bg-soft)}.history-date{display:block;margin-bottom:2px}.history-meta{font-size:.85rem;color:var(--text-muted)}.history-reflection{font-style:italic}.history-skills-count{font-variant-numeric:tabular-nums}.skills-intro{margin-bottom:var(--space-lg)}.skill-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.skill-card-wrapper{margin:0;padding:0}.skill-card{display:block;width:100%;padding:var(--space-md);text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.skill-card:hover{background:var(--bg-soft);border-color:var(--accent-soft)}.skill-card-title{display:block;font-size:1.1rem;font-weight:500;margin-bottom:var(--space-xs)}.skill-card-time{display:inline-block;font-size:.85rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.skill-card-when{margin:0 0 var(--space-xs);font-size:.95rem;color:var(--text-muted);line-height:1.5}.skill-card-used{display:inline-block;font-size:.8rem;color:var(--accent);margin-top:var(--space-xs)}.skill-detail-back{margin:0 0 var(--space-md);padding:0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.9rem;cursor:pointer}.skill-detail-back:hover{color:var(--text)}.skill-meta{margin:0 0 var(--space-sm);font-size:.9rem;color:var(--text-muted)}.skill-when{margin:0 0 var(--space-lg);font-size:.95rem;color:var(--text-muted);line-height:1.5}.skill-steps{margin:0 0 var(--space-xl);padding-left:1.25rem}.skill-step{margin-bottom:var(--space-sm);line-height:1.6}.skill-used-block{padding-top:var(--space-lg);border-top:1px solid var(--border)}.skill-used-prompt{margin:0 0 var(--space-sm);font-size:.95rem;color:var(--text-muted)}.skill-used-message{margin:0;font-size:.95rem;color:var(--text-muted)}.reflection-date-label{margin-bottom:var(--space-sm)}.reflection-date-picker-label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.reflection-date-picker-text{font-size:.9rem;color:var(--text-muted)}.reflection-date-input{font-family:inherit;font-size:1rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.reflection-prompts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-sm);margin-bottom:var(--space-lg)}.reflection-prompt-label{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:12rem}.reflection-prompt-text{font-size:.9rem;color:var(--text-muted)}.reflection-prompt-select{max-width:100%}.reflection-insert-btn{flex-shrink:0}.reflection-text-label{display:flex;flex-direction:column;gap:var(--space-xs)}.reflection-text-label-text{font-size:.9rem;color:var(--text-muted)}.reflection-textarea{width:100%;min-height:18rem}.reflection-save-status{margin:var(--space-xs) 0 0;font-size:.85rem;color:var(--text-muted);font-style:italic}.dashboard-date{margin-bottom:var(--space-lg)}.dashboard-card{padding:var(--space-lg);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-xl)}.dashboard-card-title{margin:0 0 var(--space-md);font-size:1.1rem;font-weight:500}.dashboard-status-list{margin:0 0 var(--space-lg);padding:0}.dashboard-status-row{margin:0 0 var(--space-sm);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.dashboard-status-term{margin:0;font-weight:400;font-size:.95rem;color:var(--text-muted);min-width:8rem}.dashboard-status-detail{margin:0;font-size:.95rem;color:var(--text)}.dashboard-skills-list{color:var(--text-muted)}.dashboard-primary-action{padding-top:var(--space-sm)}.dashboard-suggestions{padding-top:var(--space-md);border-top:1px solid var(--border)}.dashboard-suggestions-intro{margin:0 0 var(--space-sm);font-size:.95rem;color:var(--text-muted)}.dashboard-suggestions-list{list-style:none;margin:0;padding:0}.dashboard-suggestions-list li{margin:0 0 var(--space-xs)}.dashboard-skill-link{display:block;width:100%;padding:var(--space-sm) 0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer;transition:color .15s ease}.dashboard-skill-link:hover{color:var(--text)}.dashboard-skill-title{display:block;font-weight:500}.dashboard-skill-reason{display:block;font-size:.85rem;color:var(--text-muted);font-weight:400;margin-top:2px}.home-about-section{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.home-about-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) 0;border:none;background:transparent;color:var(--text);font-family:inherit;font-size:1rem;cursor:pointer;text-align:left;transition:color .15s ease}.home-about-toggle:hover{color:var(--accent)}.home-about-toggle-title{font-weight:500}.home-about-toggle-icon{font-size:1.25rem;color:var(--text-muted);line-height:1;flex-shrink:0;margin-left:var(--space-sm)}.home-about-content{padding-top:var(--space-md)}.trends-intro{margin-bottom:var(--space-lg)}.trends-card{padding:var(--space-lg);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-lg)}.trends-card-title{margin:0 0 var(--space-md);font-size:1.1rem;font-weight:500}.trends-stats{margin:0;padding:0}.trends-stat-row{margin:0 0 var(--space-sm);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.trends-stat-term{margin:0;font-weight:400;font-size:.95rem;color:var(--text-muted);min-width:12rem}.trends-stat-detail{margin:0;font-size:.95rem;color:var(--text)}.trends-streaks-note{margin:0 0 var(--space-md);font-size:.9rem;color:var(--text-muted);font-style:italic}.trends-empty-message{margin:0;font-size:.95rem;color:var(--text-muted);line-height:1.6}.data-intro{margin-bottom:var(--space-lg)}.data-section{margin-bottom:var(--space-xl)}.data-section-title{margin:0 0 var(--space-xs);font-size:1.1rem;font-weight:500}.data-section-desc{margin:0 0 var(--space-sm);font-size:.95rem;color:var(--text-muted)}.data-therapist-dates{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md)}.data-therapist-label{display:flex;flex-direction:column;gap:var(--space-xs)}.data-therapist-label-text{font-size:.9rem;color:var(--text-muted)}.data-therapist-input{width:auto;min-width:10rem}.data-therapist-toggles{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md)}.data-therapist-checkbox{display:flex;align-items:center;gap:var(--space-xs);font-size:.95rem;color:var(--text);cursor:pointer}.data-therapist-checkbox input{flex-shrink:0}.data-therapist-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xs)}.data-therapist-privacy{margin:0;font-size:.9rem;color:var(--text-muted)}.data-import-warning{margin:0 0 var(--space-sm);font-size:.9rem;color:var(--text-muted);font-style:italic}.data-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.data-import-result{margin-top:var(--space-md)}.data-import-success{margin:0;font-size:.95rem;color:var(--text)}.data-import-error{margin:0;font-size:.95rem;color:var(--text-muted)}.data-privacy-note{margin:var(--space-xl) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--border);font-size:.9rem;color:var(--text-muted)}.about-section{margin-bottom:var(--space-lg)}.about-section-title{margin:0 0 var(--space-xs);font-size:1.1rem;font-weight:500}.about-section-text{margin:0;font-size:.95rem;color:var(--text);line-height:1.6}.about-beta{margin:var(--space-xl) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--border);font-size:.9rem;color:var(--text-muted)}.about-welcome-again{margin:var(--space-lg) 0 0}.about-welcome-again-btn{padding:0;border:none;background:none;font-family:inherit;font-size:.9rem;color:var(--text-muted);cursor:pointer;text-decoration:underline}.about-welcome-again-btn:hover{color:var(--accent)}.account-form{margin-top:var(--space-md)}.account-email{margin:0 0 var(--space-md);font-size:.95rem;color:var(--text)}.account-sent,.account-message,.account-not-configured,.account-cooldown{margin:0 0 var(--space-md);font-size:.95rem;color:var(--text-muted)}.account-message{color:var(--text)}.account-sync-note{margin:0 0 var(--space-md);font-size:.9rem;color:var(--text-muted)}.account-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.account-sync-status{margin:var(--space-sm) 0 0;font-size:.9rem;color:var(--accent)}.account-danger-zone{margin:var(--space-lg) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--border)}.account-danger-zone-title{margin:0 0 var(--space-sm);font-size:.95rem;font-weight:600;color:var(--text)}.account-danger-zone-desc,.account-danger-zone-export{margin:0 0 var(--space-sm);font-size:.9rem;color:var(--text-muted)}.account-danger-zone-export-btn{padding:0;border:none;background:none;font-family:inherit;font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.account-danger-zone-export-btn:hover{color:var(--accent-soft)}.account-danger-zone-checkbox{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;font-size:.9rem;color:var(--text);cursor:pointer}.account-danger-zone-checkbox input{flex-shrink:0}.account-welcome-again{margin:var(--space-lg) 0 0}.account-welcome-again-btn{padding:0;border:none;background:none;font-family:inherit;font-size:.9rem;color:var(--text-muted);cursor:pointer;text-decoration:underline}.account-welcome-again-btn:hover{color:var(--accent)}.thought-record-intro{margin:0 0 var(--space-md);font-size:.95rem;color:var(--text-muted)}.thought-record-date-label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.thought-record-date-text{font-size:.9rem;color:var(--text-muted)}.thought-record-form{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.thought-record-textarea{min-height:4rem;max-width:100%}.thought-record-emotion-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.thought-record-emotion-name{flex:1;min-width:8rem;max-width:14rem}.thought-record-intensity{width:4rem}.thought-record-remove-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-family:inherit;font-size:1rem;cursor:pointer;line-height:1}.thought-record-remove-btn:hover{color:var(--text);border-color:var(--accent-soft)}.thought-record-add-btn{margin-top:var(--space-xs)}.thought-record-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.thought-record-saved{padding-top:var(--space-lg);border-top:1px solid var(--border)}.thought-record-saved-title{margin:0 0 var(--space-sm);font-size:1.1rem;font-weight:500}.thought-record-saved-empty{margin:0;font-size:.95rem;color:var(--text-muted)}.thought-record-saved-list{list-style:none;margin:0;padding:0}.thought-record-saved-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.thought-record-saved-preview{flex:1;min-width:0;font-size:.95rem;color:var(--text)}.thought-record-saved-buttons{display:flex;gap:var(--space-xs)}.thought-record-saved-open,.thought-record-saved-delete{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--accent);font-family:inherit;font-size:.85rem;cursor:pointer}.thought-record-saved-open:hover,.thought-record-saved-delete:hover{border-color:var(--accent-soft);color:var(--text)}.thought-record-saved-delete{color:var(--text-muted)}.thought-record-saved-delete:hover{color:var(--text)}.thought-record-continue-link{display:block;margin:0 0 var(--space-md);padding:var(--space-xs) 0;border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.9rem;cursor:pointer;text-align:left}.thought-record-continue-link:hover{color:var(--text)}.page--bad-night{padding:var(--space-lg) 0}.bad-night-block{max-width:36rem}.bad-night-intro{font-size:1.25rem;line-height:1.5;color:var(--text);margin:0 0 var(--space-xl)}.bad-night-steps{margin:0 0 var(--space-xl);padding-left:1.5rem}.bad-night-step{font-size:1.15rem;line-height:1.6;margin-bottom:var(--space-lg)}.bad-night-step:last-child{margin-bottom:0}.bad-night-actions{padding-top:var(--space-xl);border-top:1px solid var(--border)}.bad-night-actions-title{margin:0 0 var(--space-md);font-size:1.05rem;font-weight:500}.bad-night-timer{margin-bottom:var(--space-lg)}.bad-night-timer-display{display:block;font-size:2rem;font-variant-numeric:tabular-nums;margin-bottom:var(--space-sm)}.bad-night-timer-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.bad-night-quick-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.bad-night-link-btn{flex-shrink:0}.bad-night-exit{padding-top:var(--space-lg)}
