: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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}}:root{--bg-primary: #0a1628;--bg-secondary: #111d32;--bg-card: #162033;--text-primary: #ffffff;--text-secondary: #8892a6;--text-muted: #5a6478;--accent: #39ff14;--accent-glow: rgba(57, 255, 20, .4);--accent-dim: #2db80e;--border: #1e2d45;--danger: #ff4757}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}#root{min-height:100vh;width:100%}.home-container{min-height:100vh;display:flex;flex-direction:column;padding:40px 24px;max-width:500px;margin:0 auto}.home-header{text-align:center;margin-bottom:48px}.home-header h1{font-size:28px;font-weight:600;letter-spacing:-.5px;margin-bottom:8px}.home-header p{color:var(--text-secondary);font-size:15px}.session-options{display:flex;flex-direction:column;gap:16px;flex:1}.session-button{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.session-button:hover{background:var(--bg-secondary);border-color:var(--accent)}.session-button:disabled{opacity:.5;cursor:not-allowed}.session-button:disabled:hover{background:var(--bg-card);border-color:var(--border)}.session-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:10px;font-size:20px}.session-button:hover .session-icon{background:#39ff141a}.session-button:disabled:hover .session-icon{background:var(--bg-secondary)}.session-info{flex:1}.session-info h3{font-size:16px;font-weight:500;margin-bottom:4px}.session-info p{font-size:13px;color:var(--text-secondary)}.coming-soon{font-size:11px;color:var(--text-muted);background:var(--bg-secondary);padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.session-container{min-height:100vh;width:100%;display:flex;flex-direction:column;padding:24px}.session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-top:16px}.back-button{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s}.back-button:hover{color:var(--text-primary)}.session-title{font-size:24px;font-weight:600}.session-header-spacer{width:60px}.session-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}.session-stats{display:flex;align-items:center;gap:12px;margin-top:auto;padding-bottom:24px}.stat-mini{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.stat-divider{color:var(--text-muted);font-size:10px}.record-button-container{position:relative;display:flex;align-items:center;justify-content:center;margin-top:80px}.record-glow{position:absolute;width:320px;height:320px;border-radius:50%;background:var(--accent);filter:blur(60px);opacity:0;transition:opacity .3s ease;z-index:0}.record-glow.active{opacity:.3;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}.record-button{position:relative;z-index:1;width:240px;height:240px;border-radius:50%;border:none;background:var(--bg-card);border:2px solid var(--border);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.record-button:hover{border-color:var(--accent);transform:scale(1.02)}.record-button.active{border-color:var(--accent);background:#39ff141a}.record-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.record-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.mic-icon{font-size:96px;transition:all .3s}.record-button.active .mic-icon{color:var(--accent)}.record-button.ready{border-color:var(--accent-dim);box-shadow:0 0 20px #39ff1433}.mic-icon.ready{filter:drop-shadow(0 0 8px rgba(57,255,20,.5))}.stop-icon{width:48px;height:48px;background:var(--danger);border-radius:8px}.session-status{margin-top:32px;text-align:center}.status-text{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.status-text.active{color:var(--accent)}.status-hint{font-size:13px;color:var(--text-muted)}.processing-indicator{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:15px}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{text-align:center;color:var(--accent)}.success-message h3{font-size:18px;margin-bottom:8px}.success-message p{font-size:14px;color:var(--text-secondary)}.error-message{text-align:center;color:var(--danger)}.error-message h3{font-size:18px;margin-bottom:8px}.error-message p{font-size:14px;color:var(--text-secondary)}@media(max-width:600px){.home-container{padding:32px 20px}.home-header h1{font-size:24px}.session-button{padding:16px 20px}.session-container{padding:20px 16px}.record-button{width:220px;height:220px}.record-glow{width:300px;height:300px}.mic-icon{font-size:88px}.stop-icon{width:52px;height:52px}}.voice-note-mic{transform:scaleX(-1)}.forum-setup{justify-content:flex-start;padding-top:60px}.forum-icon{font-size:64px;margin-bottom:24px}.forum-heading{font-size:24px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.forum-description{font-size:14px;color:var(--text-secondary);text-align:center;max-width:320px;line-height:1.5;margin-bottom:40px}.date-range-section{width:100%;max-width:320px;margin-bottom:32px}.date-label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.date-inputs{display:flex;flex-direction:column;gap:12px}.date-field{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.date-prefix{font-size:13px;color:var(--text-muted);min-width:40px}.date-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:15px;font-family:inherit;outline:none}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer}.forum-start-button{background:var(--accent);color:var(--bg-primary);border:none;border-radius:8px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.forum-start-button:hover{transform:scale(1.02);box-shadow:0 0 20px var(--accent-glow)}.forum-start-button:active{transform:scale(.98)}.entry-count-badge{background:var(--bg-secondary);color:var(--accent);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;margin-bottom:24px}.therapist-glow{background:#9b59b6}.therapist-glow.active{animation:therapist-pulse 3s ease-in-out infinite}@keyframes therapist-pulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.theme-selection{width:100%;max-width:340px;margin-bottom:32px;text-align:center}.theme-label{font-size:13px;color:var(--text-muted);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.theme-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.theme-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:8px 16px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.theme-chip:hover{border-color:#9b59b6;color:var(--text-primary)}.theme-chip.selected{background:#9b59b633;border-color:#9b59b6;color:#9b59b6}.continue-main{justify-content:flex-start;padding-top:20px}.selection-label{font-size:14px;color:var(--text-muted);margin-bottom:16px;text-align:center}.session-list{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:4px}.session-item{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .2s ease}.session-item:hover{border-color:var(--accent)}.session-item.selected{border-color:var(--accent);background:#00ff880d}.session-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.session-date{font-size:14px;font-weight:600;color:var(--text-primary)}.session-type-badge{font-size:11px;background:var(--bg-secondary);color:var(--text-muted);padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.session-preview{font-size:13px;color:var(--text-secondary);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.continue-button{margin-top:24px;background:var(--accent);color:var(--bg-primary);border:none;border-radius:8px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.continue-button:hover{transform:scale(1.02);box-shadow:0 0 20px var(--accent-glow)}.continue-button:active{transform:scale(.98)}.continue-glow{background:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-secondary);max-width:280px}
