:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #38b2ac;--color-secondary: #2d3748;--color-background: #1a202c;--color-surface: #2d3748;--color-text: #f7fafc;--color-text-secondary: #a0aec0;--color-success: #48bb78;--color-warning: #ed8936;--color-error: #e53e3e;--color-info: #4299e1;--color-border: #4a5568;--color-category-mind: #38b2ac;--color-category-health: #38a169;--color-category-wealth: #d69e2e;--color-category-career: #3182ce;--color-category-relationships: #805ad5;--color-category-volunteering: #e53e3e;--sidebar-width: 280px;--header-height: 60px;--border-radius: 8px;--spacing: 16px;--font-size: 14px;--font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;--animation-duration: .2s;--animation-easing: ease}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}#root{width:100%;min-height:100vh;background-color:var(--color-background);color:var(--color-text)}a{font-weight:500;color:var(--color-text);text-decoration:inherit}a:hover{color:var(--color-primary)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-background{background-color:var(--color-background)}.theme-surface{background-color:var(--color-surface)}.theme-text{color:var(--color-text)}.theme-text-secondary{color:var(--color-text-secondary)}.theme-border{border-color:var(--color-border)}.theme-primary{color:var(--color-primary)}.theme-success{color:var(--color-success)}.theme-warning{color:var(--color-warning)}.theme-error{color:var(--color-error)}.theme-info{color:var(--color-info)}.theme-transition{transition:all var(--animation-duration) var(--animation-easing)}.theme-font-base{font-size:var(--font-size);font-family:var(--font-family)}.routine-tab-actions{display:flex;gap:4px;align-items:center;width:80px;flex-shrink:0;justify-content:center}.routine-tab-btn{border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;color:#fff;line-height:1;min-height:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center}.routine-tab-btn:disabled{cursor:wait;opacity:.6}.routine-tab-badge{width:24px;height:24px;min-width:24px;min-height:24px;text-align:center;padding:4px 8px;border-radius:4px;color:#fff;font-weight:600;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.routine-tab-btn-complete{background:#10b981}.routine-tab-btn-complete:hover{background:#059669}.routine-tab-btn-missed{background:#ef4444}.routine-tab-btn-missed:hover{background:#dc2626}.routine-tab-btn-deferred{background:#f59e0b}.routine-tab-btn-deferred:hover{background:#d97706}.routine-tab-btn-neutral{background:#4a5568}.routine-tab-btn-neutral:hover{background:#2d3748}.routine-tab-btn-active{background:#3182ce}.routine-tab-btn-active:hover{background:#2b6cb0}.routine-tab-btn-untrack{background:#718096}.routine-tab-btn-untrack:hover{background:#4a5568}.routine-tab-badge-win,.routine-tab-badge-regret-zero{background:#10b981}.routine-tab-badge-regret{background:#ef4444}.routine-tab-badge-unconfirmed{background:#4a5568}.routine-tab-badge-none{background:#718096}.routine-tab-item{display:flex;align-items:center;gap:8px;padding:3px 0}.routine-tab-item-label{flex:1}.goal-interview{max-width:720px;padding:16px 0}.goal-interview--idle .goal-interview__start{text-align:center;padding:40px 20px;background:#1a202c;border:1px solid #2d3748;border-radius:12px}.goal-interview--idle .goal-interview__start h3{color:#e2e8f0;font-size:20px;margin:0 0 8px}.goal-interview--idle .goal-interview__start p{color:#a0aec0;font-size:14px;max-width:480px;margin:0 auto 20px}.goal-interview__start-btn{padding:10px 24px;border-radius:8px;border:none;background:#4f46e5;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.goal-interview__start-btn:hover:not(:disabled){background:#4338ca}.goal-interview__start-btn:disabled{opacity:.6;cursor:not-allowed}.goal-interview__stepper{margin-bottom:20px}.goal-interview__stepper-phases{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.goal-interview__step{font-size:11px;padding:4px 10px;border-radius:12px;background:#2d3748;color:#718096;transition:all .2s ease}.goal-interview__step--active{background:#4f46e5;color:#fff;font-weight:600}.goal-interview__step--done{background:#14532d;color:#86efac}.goal-interview__phase-label{font-size:13px;color:#a0aec0;margin:0}.goal-interview__phase-label strong{color:#e2e8f0}.goal-interview__prompt{background:#1a202c;border:1px solid #2d3748;border-radius:8px;padding:16px;margin-bottom:16px}.goal-interview__prompt p{color:#e2e8f0;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.goal-interview__input-area{display:flex;flex-direction:column;gap:8px}.goal-interview__textarea{width:100%;min-height:100px;padding:12px;border-radius:8px;border:1px solid #4a5568;background:#1a202c;color:#f7fafc;font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s ease;box-sizing:border-box}.goal-interview__textarea:focus{border-color:#4f46e5}.goal-interview__textarea:disabled{opacity:.6}.goal-interview__submit-btn{align-self:flex-end;padding:8px 20px;border-radius:6px;border:none;background:#4f46e5;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease}.goal-interview__submit-btn:hover:not(:disabled){background:#4338ca}.goal-interview__submit-btn:disabled{opacity:.5;cursor:not-allowed}.goal-interview__loading{display:flex;justify-content:center;padding:12px;color:#a0aec0;font-size:13px}.goal-interview__error{background:#7f1d1d;color:#fca5a5;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px}.goal-interview--complete .goal-interview__completion{text-align:center;padding:32px 20px;background:#1a202c;border:1px solid #2d3748;border-radius:12px}.goal-interview--complete .goal-interview__completion h3{color:#e2e8f0;font-size:18px;margin:0 0 8px}.goal-interview--complete .goal-interview__completion p{color:#a0aec0;font-size:14px;margin:0 0 8px;white-space:pre-wrap}.goal-interview__proposal-hint{color:#818cf8!important;font-weight:500}.journal-synthesis{max-width:720px;padding:16px 0}.journal-synthesis__controls{display:flex;gap:8px;margin-bottom:16px;align-items:center}.journal-synthesis__type-select{padding:8px 12px;border-radius:6px;border:1px solid #4a5568;background:#1a202c;color:#f7fafc;font-size:13px;outline:none;cursor:pointer;min-width:160px}.journal-synthesis__type-select:focus{border-color:#4f46e5}.journal-synthesis__synthesize-btn{padding:8px 20px;border-radius:6px;border:none;background:#4f46e5;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease;white-space:nowrap}.journal-synthesis__synthesize-btn:hover:not(:disabled){background:#4338ca}.journal-synthesis__synthesize-btn:disabled{opacity:.6;cursor:not-allowed}.journal-synthesis__loading{display:flex;justify-content:center;padding:20px;color:#a0aec0;font-size:13px}.journal-synthesis__error{background:#7f1d1d;color:#fca5a5;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px}.journal-synthesis__result{background:#1a202c;border:1px solid #2d3748;border-radius:8px;padding:16px}.journal-synthesis__themes{margin-bottom:16px}.journal-synthesis__themes h4{color:#e2e8f0;font-size:13px;margin:0 0 8px}.journal-synthesis__themes ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.journal-synthesis__themes li{background:#2d3748;color:#818cf8;padding:4px 10px;border-radius:12px;font-size:12px}.journal-synthesis__text{background:#111827;border:1px solid #2d3748;border-radius:6px;padding:14px;color:#e2e8f0;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-x:auto;margin:0 0 12px;font-family:inherit}.journal-synthesis__meta{color:#718096;font-size:11px;margin:0 0 12px}.journal-synthesis__actions{margin-bottom:16px}.journal-synthesis__save-btn{padding:6px 16px;border-radius:6px;border:1px solid #38a169;background:transparent;color:#48bb78;font-size:12px;cursor:pointer;transition:all .2s ease}.journal-synthesis__save-btn:hover:not(:disabled){background:#14532d}.journal-synthesis__save-btn:disabled{opacity:.5;cursor:not-allowed}.journal-synthesis__followup{display:flex;gap:8px;border-top:1px solid #2d3748;padding-top:12px}.journal-synthesis__followup-input{flex:1;padding:8px 12px;border-radius:6px;border:1px solid #4a5568;background:#111827;color:#f7fafc;font-size:13px;outline:none}.journal-synthesis__followup-input:focus{border-color:#4f46e5}.journal-synthesis__followup-input:disabled{opacity:.6}.journal-synthesis__ask-btn{padding:8px 16px;border-radius:6px;border:none;background:#4f46e5;color:#fff;font-size:13px;cursor:pointer;transition:background .2s ease;white-space:nowrap}.journal-synthesis__ask-btn:hover:not(:disabled){background:#4338ca}.journal-synthesis__ask-btn:disabled{opacity:.5;cursor:not-allowed}.settings-root{padding:16px;min-height:100vh;color:var(--color-text, #f7fafc)}.settings-header{margin-bottom:20px;border-bottom:1px solid var(--color-border, #4a5568);padding-bottom:12px}.settings-header h2{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--color-text, #f7fafc)}.settings-header p{margin:0;color:var(--color-text-secondary, #a0aec0);font-size:13px}.settings-error{background-color:#fed7d7;color:#c53030;padding:10px 14px;border-radius:6px;margin-bottom:16px;border:1px solid #feb2b2;font-size:13px}.settings-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.settings-btn-save{padding:8px 16px;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.settings-btn-save.has-changes{background-color:#48bb78}.settings-btn-save:not(.has-changes){background-color:var(--color-border, #4a5568);cursor:not-allowed;opacity:.6}.settings-btn-reset{padding:8px 16px;background-color:#e53e3e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.settings-btn-reset:disabled{cursor:not-allowed;opacity:.6}.settings-unsaved-badge{padding:8px 12px;background-color:#ffeaa7;color:#2d3436;border-radius:6px;font-size:12px;font-weight:500}.settings-layout{display:flex;gap:16px}.settings-nav{width:200px;flex-shrink:0}.settings-nav-list{border-radius:8px;overflow:hidden;background-color:var(--color-surface, #2d3748);border:1px solid var(--color-border, #4a5568)}.settings-nav-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;background-color:transparent;color:var(--color-text, #e2e8f0);border:none;border-bottom:1px solid var(--color-border, #4a5568);cursor:pointer;font-size:13px;font-weight:500;text-align:left;transition:background-color .15s}.settings-nav-btn:last-child{border-bottom:none}.settings-nav-btn:hover:not(.is-active){background-color:#ffffff0d}.settings-nav-btn.is-active{background-color:var(--color-primary, #38b2ac);color:#fff}.settings-nav-btn .nav-icon{flex-shrink:0}.settings-nav-btn .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-content{flex:1;min-width:0}.settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px;flex-wrap:wrap}.settings-section-title{margin:0;color:var(--color-text, #f7fafc);font-size:18px}.settings-expand-btns{display:flex;gap:6px}.settings-btn-sm{padding:4px 10px;background-color:var(--color-border, #4a5568);color:var(--color-text, #e2e8f0);border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:background-color .15s}.settings-btn-sm:hover{background-color:#ffffff26}.settings-group{border-bottom:1px solid var(--color-border, #4a5568)}.settings-group:last-child{border-bottom:none}.settings-group-header{width:100%;padding:10px 0;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--color-text, #f7fafc)}.settings-group-header:hover{opacity:.85}.settings-group-chevron{color:var(--color-text-secondary, #a0aec0);font-size:12px;transition:transform .2s ease;transform:rotate(-90deg);flex-shrink:0}.settings-group-header.is-expanded .settings-group-chevron{transform:rotate(0)}.settings-group-title{margin:0;font-size:14px;font-weight:600}.settings-group-content{padding:0 0 12px 20px;animation:settingsSlideDown .2s ease-out}@keyframes settingsSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.settings-field{margin-bottom:10px}.settings-label{display:block;margin-bottom:3px;color:var(--color-text, #e2e8f0);font-size:13px;font-weight:500}.settings-label-unit{color:var(--color-text-secondary, #a0aec0)}.settings-input,.settings-select{width:100%;padding:7px 10px;background-color:var(--color-background, #1a202c);border:1px solid var(--color-border, #4a5568);border-radius:4px;color:var(--color-text, #f7fafc);font-size:13px;min-height:36px;box-sizing:border-box}.settings-input:focus,.settings-select:focus{outline:2px solid var(--color-primary, #38b2ac);outline-offset:-1px}.settings-color-row{display:flex;gap:8px;align-items:center}.settings-color-swatch{width:36px;height:32px;border:1px solid var(--color-border, #4a5568);border-radius:4px;background-color:transparent;cursor:pointer;flex-shrink:0}.settings-color-hex{width:80px!important;font-family:monospace;font-size:12px}.settings-checkbox{margin-bottom:12px}.settings-checkbox-label{display:flex;align-items:flex-start;cursor:pointer;gap:8px}.settings-checkbox-label input[type=checkbox]{margin-top:2px;flex-shrink:0}.settings-checkbox-text{color:var(--color-text, #e2e8f0);font-size:13px;font-weight:500}.settings-checkbox-desc{color:var(--color-text-secondary, #a0aec0);font-size:12px;margin-top:1px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.settings-grid-narrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.settings-sub-heading{margin:0 0 12px;font-size:14px;font-weight:600}.settings-info{background-color:var(--color-background, #1a202c);border:1px solid var(--color-border, #4a5568);border-radius:6px;padding:10px 12px;margin-top:10px}.settings-info-title{color:#63b3ed;font-size:13px;font-weight:500;margin-bottom:6px}.settings-info-text{color:var(--color-text-secondary, #a0aec0);font-size:12px;line-height:1.4}.settings-warning{background-color:#fed7d7;color:#c53030;padding:12px 14px;border-radius:6px;margin-top:20px;border:1px solid #feb2b2;font-size:13px}.settings-hint{margin-top:6px;color:var(--color-text-secondary, #a0aec0);font-size:12px}.settings-metrics-card{background-color:var(--color-background, #1a202c);padding:10px;border-radius:6px;text-align:center}.settings-metrics-card .metric-value{font-size:18px;font-weight:700}.settings-metrics-card .metric-label{font-size:11px;color:var(--color-text-secondary, #a0aec0)}.settings-metrics-panel{background-color:var(--color-surface, #2d3748);padding:16px;border-radius:8px;margin-top:20px;border:1px solid var(--color-border, #4a5568)}.settings-metrics-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap}.settings-metrics-panel h4{margin:0;font-size:15px}.settings-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background-color:var(--color-background, #1a202c);border-radius:6px;font-size:13px;color:var(--color-text, #e2e8f0)}.settings-tag .tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.settings-tag .tag-remove{background:none;border:none;color:#e53e3e;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.settings-preset-btn{padding:5px 10px;border:none;border-radius:4px;color:#1a202c;font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s}.settings-preset-btn:hover{transform:scale(1.05)}.settings-tab-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:var(--color-surface, #2d3748);border:1px solid var(--color-border, #4a5568);border-radius:6px;margin-bottom:6px}.settings-tab-item.is-dragging{background-color:#3d4a5c}.settings-tab-item .drag-handle{cursor:grab;padding:2px;color:var(--color-text-secondary, #a0aec0);font-size:16px}.settings-tab-item .tab-icon{font-size:16px;flex-shrink:0}.settings-tab-item .tab-label{color:var(--color-text, #f7fafc);flex:1;font-size:13px}.settings-tab-item .tab-desc{color:var(--color-text-secondary, #a0aec0);font-size:11px}.settings-tab-item.is-locked{opacity:.7}.settings-radio-group{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.settings-radio-option{display:flex;align-items:center;gap:8px;padding:6px 10px;background-color:var(--color-background, #1a202c);border-radius:4px;cursor:pointer;border:2px solid transparent;transition:all .15s;font-size:13px;color:var(--color-text, #f7fafc)}.settings-radio-option.is-selected{background-color:var(--color-border, #4a5568);border-color:#38b2ac}.settings-radio-option input{display:none}.settings-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.settings-status-dot.connected{background-color:#48bb78}.settings-status-dot.disconnected{background-color:#f56565}.settings-cal-warning{background:#744210;color:#fbd38d;border-radius:6px;padding:8px 12px;font-size:12px;margin-bottom:12px}.settings-placeholder{background:var(--color-surface, #2d3748);border:1px dashed var(--color-border, #4a5568);border-radius:8px;padding:20px;text-align:center}.settings-table-wrap{background-color:var(--color-background, #1a202c);padding:10px;border-radius:6px;max-height:150px;overflow-y:auto;-webkit-overflow-scrolling:touch}.settings-table{width:100%;font-size:11px;color:var(--color-text, #e2e8f0);border-collapse:collapse}.settings-table th{text-align:left;padding:3px 4px;color:var(--color-text-secondary, #a0aec0);font-weight:500}.settings-table td{padding:3px 4px}.settings-table .text-right{text-align:right}.settings-preview{padding:16px;background-color:var(--color-background, #1a202c);border-radius:8px;border:1px solid var(--color-border, #4a5568);text-align:center;grid-column:1 / -1}.settings-inline-form{display:flex;gap:8px;align-items:flex-end}.settings-inline-form .form-field{flex:1;min-width:0}.settings-inline-form .form-field-fixed{flex:0 0 120px}.settings-inline-form label{display:block;margin-bottom:3px;color:var(--color-text, #e2e8f0);font-size:12px}.settings-inline-form .settings-input,.settings-inline-form .settings-select{width:100%}.settings-btn-primary{padding:7px 12px;background-color:var(--color-primary, #38b2ac);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;min-height:36px}@media (max-width: 768px){.settings-root{padding:12px}.settings-layout{flex-direction:column;gap:12px}.settings-nav{width:100%}.settings-nav-list{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:8px;justify-content:center}.settings-nav-btn{flex:1 1 calc(33.33% - 4px);min-width:0;white-space:nowrap;padding:8px 12px;border-bottom:none;border-radius:6px;font-size:12px;gap:4px;min-height:40px;justify-content:center;text-align:center}.settings-nav-btn.is-active{border-radius:6px}.settings-section-title{font-size:16px}.settings-grid{grid-template-columns:1fr;gap:16px}.settings-actions{gap:8px}.settings-inline-form{flex-wrap:wrap}.settings-inline-form .form-field-fixed{flex:1 1 100%}.settings-tab-item .tab-desc{display:none}.settings-grid-narrow{grid-template-columns:repeat(2,1fr)}.settings-table-wrap{overflow-x:auto}}@media (max-width: 600px){.settings-root{padding:8px}.settings-header h2{font-size:17px}.settings-header p{font-size:12px}.settings-input,.settings-select,.settings-btn-save,.settings-btn-reset,.settings-btn-primary{min-height:44px}.settings-checkbox-label input[type=checkbox]{width:20px;height:20px}.settings-group-header{padding:12px 0;min-height:44px}.settings-nav-btn{padding:6px 10px;font-size:12px}.settings-group-content{padding-left:12px}.settings-preset-btn{padding:6px 8px;font-size:11px}}@media (max-width: 480px){.settings-nav-btn{flex:1 1 calc(33.33% - 4px);padding:8px 6px;justify-content:center;font-size:11px}.settings-nav-btn .nav-icon{font-size:16px}.settings-nav-btn .nav-label{font-size:10px}.settings-btn-save,.settings-btn-reset{padding:8px 12px;font-size:12px;flex:1}.settings-unsaved-badge{width:100%;text-align:center;font-size:11px;padding:6px 10px}.settings-metrics-card .metric-value{font-size:16px}.settings-grid-narrow{grid-template-columns:1fr 1fr;gap:8px}}.settings-performance{display:flex;flex-direction:column;gap:14px}.settings-performance-grid{margin-top:14px}.settings-performance-small{color:var(--color-text-secondary, #a0aec0);font-size:11px;line-height:1.35;margin-top:4px}.settings-performance-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-performance-table-wrap{max-height:220px}.today-dashboard{padding:0;min-height:60vh}.today-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #4a5568}.today-header-left h2{margin:0 0 4px;font-size:26px;font-weight:600;color:#f7fafc}.today-header-left .today-date{margin:0;font-size:14px;color:#a0aec0}.today-header-right{display:flex;align-items:center;gap:8px}.today-refresh-btn{background:none;border:1px solid #4a5568;color:#a0aec0;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s ease}.today-refresh-btn:hover{border-color:#63b3ed;color:#63b3ed;background:#63b3ed14}.today-last-updated{font-size:11px;color:#718096}.today-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 720px){.today-card-grid{grid-template-columns:1fr}}.today-card-full-width{grid-column:1 / -1}.today-card{background:#1e2a3a;border:1px solid #2d3f55;border-radius:10px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.today-card:hover{border-color:#4a5568}.today-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;border-bottom:1px solid transparent;transition:background .15s ease}.today-card-header:hover{background:#ffffff0a}.today-card-header.expanded{border-bottom-color:#2d3f55}.today-card-header-left{display:flex;align-items:center;gap:8px}.today-card-icon{font-size:18px;line-height:1}.today-card-title{font-size:14px;font-weight:600;color:#e2e8f0}.today-card-badge{font-size:11px;font-weight:600;background:#2d3748;color:#a0aec0;padding:2px 8px;border-radius:10px;margin-left:8px}.today-card-chevron{font-size:12px;color:#718096;transition:transform .2s ease;display:inline-block}.today-card-chevron.expanded{transform:rotate(90deg)}.today-card-header-right{display:flex;align-items:center;gap:6px}.today-card-width-toggle{background:none;border:1px solid #4a5568;border-radius:4px;padding:2px 6px;font-size:13px;cursor:pointer;color:#718096;line-height:1;transition:color .15s,border-color .15s;display:flex;align-items:center;justify-content:center}.today-card-width-toggle:hover{color:#e2e8f0;border-color:#718096}.today-card-body{padding:12px 16px 16px}.today-card-drag-handle{cursor:grab;color:#4a5568;font-size:14px;padding:0 4px;margin-left:2px;transition:color .15s}.today-card-drag-handle:hover{color:#a0aec0}.today-card-drag-handle:active{cursor:grabbing}.weather-card-content,.weather-location-panel{display:flex;flex-direction:column;gap:14px}.weather-current{display:flex;align-items:center;gap:16px;padding:4px 0 2px}.weather-temp-main{font-size:clamp(38px,7vw,54px);font-weight:800;color:#f7fafc;line-height:.95;letter-spacing:-.05em}.weather-icon-large{font-size:clamp(42px,7vw,58px);filter:drop-shadow(0 8px 18px rgba(251,191,36,.22))}.weather-details{flex:1;min-width:0}.weather-location{font-size:13px;color:#cbd5e1;margin:0 0 3px;white-space:normal}.weather-description{font-size:15px;color:#f8fafc;margin:0 0 8px;font-weight:650}.weather-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#d1d5db}.weather-meta span{margin-right:0;padding:4px 8px;border-radius:999px;background:#0f172a70;border:1px solid rgba(148,163,184,.16)}.weather-forecast-section{padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:14px;background:#0f172a3d}.weather-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.weather-section-header h4{margin:0;color:#f8fafc;font-size:14px;font-weight:750;letter-spacing:.01em}.weather-section-header span{color:#cbd5e1;font-size:12px}.weather-graph-card{position:relative;display:flex;flex-direction:column;gap:7px;padding:2px 10px 0 28px;overflow:visible}.weather-graph-svg{display:block;width:100%;height:76px;overflow:visible}.weather-graph-axis{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin:-5px 0 2px;color:#dbeafe;font-size:11px;font-weight:700;line-height:1.1;text-align:center;white-space:nowrap}.weather-graph-grid{stroke:#94a3b829;stroke-width:1;vector-effect:non-scaling-stroke}.weather-graph-line{fill:none;stroke:#38bdf8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(56,189,248,.35))}.weather-graph-point{fill:#f8fafc;stroke:#38bdf8;stroke-width:1.5;vector-effect:non-scaling-stroke}.weather-graph-y-label{position:absolute;left:0;color:#94a3b8;font-size:11px;line-height:1}.weather-graph-y-label-top{top:10px}.weather-graph-y-label-bottom{top:58px}.weather-hour-cards{display:grid;grid-template-columns:repeat(9,minmax(58px,1fr));gap:6px;margin-left:0;overflow-x:auto;padding:0 2px 3px 0;scrollbar-gutter:stable}.weather-hour-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 5px;border-radius:12px;background:#0f172a7a;border:1px solid rgba(148,163,184,.16);color:#e2e8f0;text-align:center;box-sizing:border-box}.weather-hour-time{color:#cbd5e1;font-size:12px;font-weight:700;white-space:nowrap}.weather-hour-icon{font-size:22px;line-height:1}.weather-hour-temp{color:#f8fafc;font-weight:800;font-size:13px}.weather-days-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}.weather-day-card{min-width:70px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:12px;background:#0f172a7a;border:1px solid rgba(148,163,184,.16);color:#e2e8f0}.weather-day-name{color:#cbd5e1;font-size:12px;font-weight:700}.weather-day-icon{font-size:24px;line-height:1}.weather-day-high{color:#f8fafc;font-size:13px;font-weight:800}.weather-day-low{color:#93c5fd;font-size:12px;font-weight:700}.weather-not-configured{text-align:center;padding:12px;color:#718096;font-size:13px}.weather-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:12px 0}@media (max-width: 720px){.weather-current{align-items:flex-start}.weather-days-grid{grid-template-columns:repeat(7,76px)}.weather-hour-card:nth-child(2n){display:none}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-item{text-align:center;padding:8px 4px;border-radius:8px;background:#ffffff08}.stat-value{font-size:24px;font-weight:700;line-height:1.2}.stat-value.overdue{color:#fc8181}.stat-value.due-today{color:#f6ad55}.stat-value.completed{color:#68d391}.stat-value.active{color:#63b3ed}.stat-value.rate{color:#b794f4}.stat-value.week{color:#4fd1c5}.stat-label{font-size:11px;color:#a0aec0;margin-top:2px}.routine-progress{margin-bottom:12px}.routine-progress-bar{height:6px;background:#2d3748;border-radius:3px;overflow:hidden;margin-bottom:4px}.routine-progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38b2ac);border-radius:3px;transition:width .3s ease}.routine-progress-label{font-size:11px;color:#a0aec0;text-align:right}.routine-area-group{margin-bottom:10px}.routine-area-title{font-size:12px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.routine-task-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background .15s;cursor:default}.routine-task-item:hover{background:#ffffff08}.routine-task-checkbox{width:16px;height:16px;border:2px solid #4a5568;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0;font-size:10px;background:transparent;color:transparent;margin-right:64px}.routine-task-checkbox.completed{background:#48bb78;border-color:#48bb78;color:#fff}.routine-task-checkbox.missed{background:#e53e3e;border-color:#e53e3e;color:#fff}.routine-task-checkbox.deferred{background:#ed8936;border-color:#ed8936;color:#fff}.routine-task-name{font-size:13px;color:#e2e8f0;flex:1}.routine-task-name.done{text-decoration:line-through;color:#718096}.routine-task-freq{font-size:10px;color:#718096;background:#2d3748;padding:1px 6px;border-radius:4px}.task-list-compact{display:flex;flex-direction:column;gap:4px}.task-item-compact{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;background:#ffffff05;transition:background .15s}.task-item-compact:hover{background:#ffffff0d}.task-priority-badge{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.task-priority-badge.priority-A{background:#e53e3e;color:#fff}.task-priority-badge.priority-B{background:#ed8936;color:#fff}.task-priority-badge.priority-C{background:#ecc94b;color:#1a202c}.task-priority-badge.priority-D{background:#4299e1;color:#fff}.task-priority-badge.priority-none{background:#4a5568;color:#a0aec0}.task-desc-compact{flex:1;font-size:13px;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-due-tag{font-size:11px;padding:2px 6px;border-radius:4px;flex-shrink:0;font-weight:500}.task-due-tag.overdue{background:#e53e3e33;color:#fc8181}.task-due-tag.today{background:#ed893633;color:#f6ad55}.task-due-tag.upcoming{background:#4299e126;color:#90cdf4}.task-area-tag{font-size:10px;color:#718096;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-section-title{font-size:12px;font-weight:600;color:#a0aec0;margin:8px 0 4px;padding:0 4px}.due-section-title:first-child{margin-top:0}.calendar-timeline{display:flex;flex-direction:column;gap:4px}.calendar-event{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:#ffffff05;border-left:3px solid #4299e1}.calendar-event-time{font-size:12px;font-weight:600;color:#90cdf4;min-width:50px;flex-shrink:0}.calendar-event-title{font-size:13px;color:#e2e8f0;flex:1}.calendar-event-location{font-size:11px;color:#718096}.calendar-no-events{text-align:center;padding:16px;color:#718096;font-size:13px}.workout-rest-day{text-align:center;padding:16px}.workout-rest-icon{font-size:32px;display:block;margin-bottom:8px}.workout-rest-text{color:#a0aec0;font-size:14px}.workout-name{font-size:15px;font-weight:600;color:#f7fafc;margin:0 0 4px}.workout-plan-label{font-size:12px;color:#718096;margin:0 0 10px}.workout-exercises{display:flex;flex-direction:column;gap:4px}.workout-exercise{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;background:#ffffff05}.workout-exercise-name{font-size:13px;color:#e2e8f0}.workout-exercise-detail{font-size:12px;color:#a0aec0}.meals-plan-name{font-size:12px;color:#718096;margin:0 0 8px}.meals-totals{display:flex;gap:16px;padding:6px 10px;margin-bottom:8px;background:#2d3748;border-radius:6px;font-size:13px;font-weight:600;color:#e2e8f0}.meals-total-item{white-space:nowrap}.meals-content{font-size:13px;color:#e2e8f0;line-height:1.6;white-space:pre-wrap}.meals-item{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.meals-item-done{opacity:.5}.meals-item-done .meals-item-text{text-decoration:line-through}.meals-item-checkbox{margin-top:2px;cursor:pointer;flex-shrink:0}.meals-item-text{font-size:13px;color:#e2e8f0}.meals-no-plan{text-align:center;padding:12px;color:#718096;font-size:13px}.goals-list{display:flex;flex-direction:column;gap:8px}.goal-item{padding:8px 10px;border-radius:6px;background:#ffffff05}.goal-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.goal-item-name{font-size:13px;font-weight:500;color:#e2e8f0}.goal-item-count{font-size:11px;color:#a0aec0}.goal-progress-bar{height:5px;background:#2d3748;border-radius:3px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#805ad5,#b794f4);border-radius:3px;transition:width .3s ease}.today-card-empty{text-align:center;padding:16px;color:#718096;font-size:13px}.today-card-loading{text-align:center;padding:20px;color:#718096;font-size:13px}.today-loading-spinner{display:inline-block;width:24px;height:24px;border:3px solid #2d3748;border-top:3px solid #38b2ac;border-radius:50%;animation:today-spin .8s linear infinite;margin-bottom:8px}@keyframes today-spin{to{transform:rotate(360deg)}}.today-error{text-align:center;padding:40px 16px;color:#fc8181}.today-error h3{margin:0 0 8px}.today-error button{margin-top:12px;padding:6px 16px;background:#2d3748;border:1px solid #4a5568;color:#e2e8f0;border-radius:6px;cursor:pointer}.today-task-list{list-style:none;margin:0;padding:0}.today-task-item{margin:1px 0;padding:0}.today-task-row{display:flex;align-items:flex-start;gap:8px}.today-task-checkbox{margin-top:2px;cursor:pointer;flex-shrink:0}.today-task-desc{flex:1;color:#e2e8f0}.today-task-meta{color:#666;margin-left:4px;font-size:12px;white-space:nowrap}.today-task-tags{color:#06c;margin-left:4px;font-size:12px;font-weight:500;white-space:nowrap}@media (max-width: 720px){.today-task-row{flex-wrap:wrap}.today-task-desc{flex:1 1 60%;min-width:0}.today-task-meta,.today-task-tags{white-space:normal;word-break:break-word}}.routine-action-buttons{display:flex;gap:4px;flex-shrink:0;min-width:80px}.routine-btn{border:none;border-radius:5px;padding:5px 9px;font-size:11px;cursor:pointer;color:#fff;line-height:1;min-height:24px;min-width:24px;display:flex;align-items:center;justify-content:center}@media (max-width: 720px){.routine-btn{min-height:33px;min-width:33px;padding:6px 11px;font-size:12px}.routine-action-buttons{gap:6px}}.routine-btn-complete{background:#10b981}.routine-btn-complete:hover{background:#059669}.routine-btn-missed{background:#ef4444}.routine-btn-missed:hover{background:#dc2626}.routine-btn-deferred{background:#f59e0b}.routine-btn-deferred:hover{background:#d97706}.meals-quick-log{margin-top:12px;padding-top:12px;border-top:1px solid #4a5568}.meals-quick-log-btn{width:100%;border:2px dashed #63b3ed;background:transparent;color:#63b3ed;padding:8px 12px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s ease}.meals-quick-log-btn:hover{background:#1a365d;border-color:#4299e1;color:#4299e1}.meals-quick-log-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.meals-quick-log-search-wrapper{position:relative}.meals-quick-log-input{width:100%;padding:6px 8px;border:1px solid #4a5568;background:#1a202c;color:#e2e8f0;border-radius:4px;font-size:12px}.meals-quick-log-input::placeholder{color:#718096}.meals-food-dropdown{position:absolute;top:100%;left:0;right:0;background:#2d3748;border:1px solid #4a5568;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 6px #0000004d}.meals-food-item{padding:8px 10px;border-bottom:1px solid #4a5568;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .15s ease}.meals-food-item:hover{background:#4a5568}.meals-food-item:last-child{border-bottom:none}.meals-food-name{flex:1;color:#cbd5e0;font-size:12px;font-weight:500}.meals-food-nutrition{color:#a0aec0;font-size:11px;white-space:nowrap;margin-left:8px}.meals-quick-log-fields{display:flex;gap:6px}.meals-quick-log-field{flex:1;padding:6px 8px;border:1px solid #4a5568;background:#1a202c;color:#e2e8f0;border-radius:4px;font-size:12px}.meals-quick-log-field::placeholder{color:#718096}.meals-quick-log-buttons{display:flex;gap:6px}.meals-quick-log-submit,.meals-quick-log-cancel{padding:6px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer;color:#fff;transition:all .2s ease;flex:0 0 auto}.meals-quick-log-submit{background:#10b981}.meals-quick-log-submit:hover{background:#059669}.meals-quick-log-cancel{background:#ef4444}.meals-quick-log-cancel:hover{background:#dc2626}.workout-logged-sets{display:flex;flex-direction:column;gap:4px;margin-top:4px;margin-bottom:8px;padding:8px;background:#0f2810;border-left:3px solid #10b981;border-radius:3px}.workout-logged-set{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#c6f6d5}.workout-logged-set span{flex:1}.workout-logged-set span:last-child{flex:0 0 auto;margin-left:8px;color:#a0aec0;font-weight:500}.workout-log-btn{margin-left:8px;padding:4px 8px;background:#3182ce;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease}.workout-log-btn:hover{background:#2563eb}.workout-log-form{display:flex;gap:6px;margin-top:6px;align-items:center}.workout-log-input{flex:1;padding:4px 6px;border:1px solid #4a5568;background:#1a202c;color:#e2e8f0;border-radius:3px;font-size:11px}.workout-log-input::placeholder{color:#718096}.workout-log-submit,.workout-log-cancel{padding:4px 6px;border:none;border-radius:3px;font-size:10px;cursor:pointer;color:#fff;transition:all .2s ease}.workout-log-submit{background:#10b981}.workout-log-submit:hover{background:#059669}.workout-log-cancel{background:#ef4444}.workout-log-cancel:hover{background:#dc2626}.wins-regret-card{display:flex;flex-direction:column;gap:8px}.wins-regret-section-header{font-size:12px;font-weight:600;padding:4px 0;margin-bottom:4px;border-bottom:1px solid #4a5568}.wins-header{color:#c6f6d5}.regrets-header{color:#fca5a5}.routine-win-item{display:flex;align-items:center;gap:8px;padding:4px 8px;background:transparent;border-left:none;border-radius:3px;margin-bottom:4px}.routine-win-icon{font-size:14px;flex-shrink:0}.routine-win-name{flex:1;color:#e2e8f0;font-size:14px;font-weight:500}.routine-win-input-group{display:flex;gap:3px;flex-shrink:0;align-items:center}.routine-win-stepper-btn{width:28px;height:28px;border:1px solid #4a5568;background:#2d3748;color:#e2e8f0;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;line-height:1;padding:0}.routine-win-stepper-btn:hover{background:#4a5568;border-color:#10b981}.routine-win-stepper-btn:active{transform:scale(.9)}.routine-win-count{min-width:28px;text-align:center;color:#e2e8f0;font-size:16px;font-weight:600}.routine-win-input{width:40px;padding:2px 4px;border:1px solid #2d5016;background:#0f2810;color:#c6f6d5;border-radius:2px;font-size:10px;text-align:center}.routine-win-log-btn{padding:4px 10px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:28px}.routine-win-log-btn:hover{background:#059669}.routine-regret-item{display:flex;align-items:center;gap:8px;padding:4px 8px;background:transparent;border-left:none;border-radius:3px;margin-bottom:4px}.routine-regret-icon{font-size:14px;flex-shrink:0}.routine-regret-name{flex:1;color:#e2e8f0;font-size:14px;font-weight:500}.routine-regret-input-group{display:flex;gap:3px;flex-shrink:0;align-items:center}.routine-regret-stepper-btn{width:28px;height:28px;border:1px solid #4a5568;background:#2d3748;color:#e2e8f0;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;line-height:1;padding:0}.routine-regret-stepper-btn:hover{background:#4a5568;border-color:#ef4444}.routine-regret-stepper-btn:active{transform:scale(.9)}.routine-regret-count{min-width:28px;text-align:center;color:#e2e8f0;font-size:16px;font-weight:600}.routine-regret-input{width:40px;padding:2px 4px;border:1px solid #7f1d1d;background:#3f0f0f;color:#fca5a5;border-radius:2px;font-size:10px;text-align:center}.routine-regret-log-btn{padding:4px 10px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:28px}.routine-regret-log-btn:hover{background:#dc2626}@media (max-width: 720px){.routine-win-stepper-btn,.routine-regret-stepper-btn{width:36px;height:36px;font-size:18px}.routine-win-log-btn,.routine-regret-log-btn{min-height:36px;padding:6px 12px;font-size:12px}}.today-card-width-toggle{border:none;background:#2d3748;color:#cbd5e0;border-radius:4px;cursor:pointer;padding:4px 8px;min-width:34px;min-height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .15s ease;flex-shrink:0}.today-card-width-toggle:hover{background:#4a5568;color:#e2e8f0;transform:scale(1.05)}.today-card-width-toggle:active{transform:scale(.95)}.reflections-card{display:flex;flex-direction:column;gap:12px;min-height:120px}.reflections-text{font-size:15px;line-height:1.65;color:#e2e8f0;font-style:italic;margin:0;border-left:3px solid #4a5568;padding:0 4px 0 14px;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;max-height:300px;overflow-y:auto}.reflections-attribution{font-size:13px;color:#a0aec0;padding-left:18px}.reflections-author{font-weight:600;color:#cbd5e0}.reflections-work{font-style:italic}.reflections-section{font-size:12px;color:#718096}.reflections-translation{font-size:11px;color:#718096;padding-left:18px;font-style:italic}.reflections-actions{display:flex;gap:8px;padding-top:4px}.reflections-action-btn{background:#2d3748;border:1px solid #4a5568;color:#a0aec0;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;transition:all .15s ease}.reflections-action-btn:hover{background:#4a5568;color:#e2e8f0;border-color:#718096}.reflections-copy-btn.copied{background:#276749;border-color:#38a169;color:#9ae6b4}.reflections-fav-btn{font-size:16px;padding:2px 8px}.reflections-fav-btn.favorited{color:#f6e05e;border-color:#d69e2e}.reflections-next-btn{margin-left:auto}.reflections-loading{min-height:80px}.reflections-skeleton{display:flex;flex-direction:column;gap:10px}.reflections-skeleton-line{height:14px;border-radius:4px;background:linear-gradient(90deg,#2d3748 25%,#4a5568,#2d3748 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s infinite ease-in-out}.reflections-skeleton-long{width:100%}.reflections-skeleton-medium{width:65%}.reflections-skeleton-short{width:40%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.reflections-error{text-align:center;padding:12px 0}.reflections-error-message{color:#fc8181;font-size:13px;margin:0 0 8px}.reflections-retry-btn{background:#2d3748;border:1px solid #4a5568;color:#a0aec0;border-radius:4px;padding:6px 16px;font-size:12px;cursor:pointer;transition:all .15s}.reflections-retry-btn:hover{background:#4a5568;color:#e2e8f0}.reflections-empty{text-align:center;padding:12px 0}.reflections-empty-message{color:#718096;font-size:13px;font-style:italic;margin:0}@media (max-width: 720px){.reflections-card{min-height:100px}.reflections-text{font-size:14px;max-height:200px}.reflections-actions{flex-wrap:wrap}.reflections-attribution{font-size:12px}.reflections-next-btn{margin-left:0}}@media (max-width: 480px){.reflections-text{font-size:13px;padding-left:10px;border-left-width:2px}.reflections-action-btn{padding:3px 8px;font-size:11px}}.reflections-secondary-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.reflections-section-toggle{background:none;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 10px;color:#a0aec0;cursor:pointer;font-size:12px;transition:all .2s ease}.reflections-section-toggle:hover{background:#ffffff0d;color:#e2e8f0}.reflections-section-toggle.active{background:#63b3ed1a;border-color:#63b3ed4d;color:#63b3ed}.reflections-history{margin-top:10px;max-height:220px;overflow-y:auto}.reflections-history-empty,.reflections-favorites-empty{color:#718096;font-size:13px;text-align:center;padding:12px 0;margin:0}.reflections-history-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .15s ease}.reflections-history-item:hover{background:#ffffff0d}.reflections-history-text{flex:1;color:#cbd5e0;font-size:13px;font-style:italic;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reflections-history-author{color:#a0aec0;font-size:12px;font-weight:500;white-space:nowrap}.reflections-history-time{color:#718096;font-size:11px;white-space:nowrap}.reflections-favorites{margin-top:10px;max-height:280px;overflow-y:auto}.reflections-favorite-item{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s ease;margin-bottom:6px}.reflections-favorite-item:hover{background:#ffffff0d}.reflections-favorite-text{color:#e2e8f0;font-size:13px;font-style:italic;margin:0 0 4px;padding:0;border:none}.reflections-favorite-author{color:#a0aec0;font-size:12px}.file-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.file-editor{background:#1a1a1a;border-radius:8px;box-shadow:0 8px 32px #00000080;width:90vw;height:90vh;max-width:1200px;max-height:800px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #404040}.file-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #404040;background-color:#2d2d2d}.file-editor-header h2{margin:0;color:#e5e5e5;font-size:1.25rem;font-weight:600}.file-editor-actions{display:flex;gap:.75rem;align-items:center}.file-editor-actions button{padding:.5rem 1rem;border:1px solid #555555;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;background-color:#404040;color:#e5e5e5}.file-editor-actions .btn-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.file-editor-actions .btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.file-editor-actions .btn-primary:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.file-editor-actions .btn-secondary{background-color:#555;color:#e5e5e5;border-color:#666}.file-editor-actions .btn-secondary:hover:not(:disabled){background-color:#666;border-color:#777}.file-editor-actions .btn-close{background:none;border:none;font-size:1.5rem;color:#999;padding:.25rem .5rem;border-radius:.25rem;line-height:1}.file-editor-actions .btn-close:hover:not(:disabled){color:#e5e5e5;background-color:#555}.file-editor-content{flex:1;padding:0;overflow:hidden;display:flex;flex-direction:column}.file-editor-textarea{flex:1;border:none;outline:none;padding:1.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;resize:none;background-color:#1e1e1e;color:#e5e5e5;white-space:pre-wrap;word-wrap:break-word}.file-editor-textarea:disabled{opacity:.6;cursor:not-allowed}.file-editor-footer{padding:.75rem 1.5rem;border-top:1px solid #404040;background-color:#2d2d2d;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#b0b0b0}.file-info{display:flex;align-items:center;gap:1rem}.file-path{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background-color:#404040;color:#e5e5e5;padding:.25rem .5rem;border-radius:.25rem}.changes-indicator{color:#f59e0b;font-weight:500}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:#b0b0b0;font-size:1rem}.alert{margin:0 1.5rem;padding:.75rem;border-radius:.375rem;font-size:.875rem;margin-bottom:0}.alert-error{background-color:#2d1b1b;color:#ff6b6b;border:1px solid #4d2626}.alert-success{background-color:#1b2d1b;color:#4ade80;border:1px solid #264d26}@media (max-width: 768px){.file-editor{width:95vw;height:95vh;margin:2.5vh auto}.file-editor-header{padding:1rem;flex-direction:column;gap:1rem;align-items:stretch}.file-editor-actions{justify-content:center}.file-editor-textarea{padding:1rem;font-size:.8125rem}.file-editor-footer{padding:.75rem 1rem;flex-direction:column;gap:.5rem;align-items:stretch}}.login-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at top,rgba(255,215,0,.18),transparent 32%),#0f172a;color:#e2e8f0}.login-gate--center{font-size:18px}.login-card{width:min(440px,100%);padding:32px;border:1px solid rgba(148,163,184,.25);border-radius:24px;background:#0f172aeb;box-shadow:0 24px 80px #00000059}.login-eyebrow{margin:0 0 8px;color:#fbbf24;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-card h1{margin:0 0 12px;font-size:clamp(28px,5vw,40px);line-height:1.05}.login-copy{margin:0 0 24px;color:#94a3b8}.login-form{display:grid;gap:10px}.login-form label{font-weight:650}.login-form input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#020617;color:#f8fafc;font-size:16px}.login-form button,.social-login-button,.login-secondary,.auth-bar button{border:0;border-radius:999px;cursor:pointer;font-weight:700}.login-form button{margin-top:12px;padding:13px 18px;background:linear-gradient(135deg,#fbbf24,#38bdf8);color:#0f172a;font-size:16px}.social-login{display:grid;gap:10px;margin:16px 0 0}.social-login-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid rgba(148,163,184,.35);background:#f8fafc;color:#0f172a;font-size:15px}.social-login-button--facebook{background:#1877f2;color:#fff}.social-login-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px}.social-login-icon svg{width:20px;height:20px;display:block}.social-login-icon--facebook{color:#fff}.social-login-button:disabled{cursor:not-allowed;opacity:.55}.social-login-note{margin:-4px 0 0;color:#94a3b8;font-size:12px;line-height:1.4}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0 0;color:#94a3b8;font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#94a3b83d}.login-form button:disabled{cursor:not-allowed;opacity:.55}.login-secondary{margin-top:16px;padding:10px 0;background:transparent;color:#93c5fd}.login-error{padding:12px 14px;border:1px solid rgba(248,113,113,.45);border-radius:12px;background:#7f1d1d52;color:#fecaca}.auth-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 14px;background:#0f172af0;color:#e2e8f0;border-bottom:1px solid rgba(148,163,184,.2);font-size:13px}.auth-bar button{padding:7px 12px;background:#334155;color:#f8fafc}
