:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}body{color:#1a1a1a;-webkit-text-fill-color:#1a1a1a;background:#f5f5f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}input,textarea,button,select{color:#1a1a1a;-webkit-text-fill-color:#1a1a1a;appearance:none;background:#fff;font-family:inherit}input::placeholder,textarea::placeholder{color:#8a8a8a;-webkit-text-fill-color:#8a8a8a}.app{max-width:480px;min-height:100vh;margin:0 auto;padding:16px}h1{margin-bottom:16px;font-size:1.5rem}h2{margin-bottom:12px;font-size:1.2rem}h3{color:#555;margin-bottom:4px;font-size:1rem}.app-header{text-align:center;padding:16px 0 8px}.app-header .app-title{color:#2d6a4f;letter-spacing:-.5px;font-size:1.75rem;font-weight:700}.app-header .app-subtitle{color:#777;letter-spacing:.5px;text-transform:uppercase;font-size:.8rem}.login-page{flex-direction:column;justify-content:center;min-height:80vh;display:flex}.login-page h1{text-align:center;color:#2d6a4f;margin-bottom:32px;font-size:2rem}.login-page form{flex-direction:column;gap:16px;display:flex}.login-page label{margin-bottom:4px;font-size:.875rem;font-weight:600;display:block}.login-page input{border:2px solid #ddd;border-radius:8px;width:100%;padding:12px;font-size:1rem}.login-page input:focus{border-color:#2d6a4f;outline:none}.login-page .error{color:#d32f2f;font-size:.875rem}button,.new-entry-link{cursor:pointer;text-align:center;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}button[type=submit],.new-entry-link{color:#fff;background:#2d6a4f;width:100%}button[type=submit]:hover,.new-entry-link:hover{background:#1b4332}button:disabled{opacity:.5;cursor:not-allowed}.entry-list{padding-top:16px}.entry-list ul{list-style:none}.entry-list li{margin-bottom:8px}.entry-list li a{color:inherit;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;text-decoration:none;display:flex;box-shadow:0 1px 3px #0000001a}.entry-list li a:hover{box-shadow:0 2px 6px #00000026}.status{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.status-complete{color:#155724;background:#d4edda}.status-draft{color:#856404;background:#fff3cd}.journal-flow{padding-top:32px}.prompt-text{margin-bottom:16px;font-size:1.1rem;font-weight:500;line-height:1.6}.journal-flow textarea{resize:vertical;border:2px solid #ddd;border-radius:8px;width:100%;min-height:150px;padding:12px;font-family:inherit;font-size:1rem}.journal-flow textarea:focus{border-color:#2d6a4f;outline:none}.actions{gap:12px;margin-top:16px;display:flex}.actions button{flex:1}.actions button[aria-label=Record]{color:#333;background:#e0e0e0;flex:none}.actions button[aria-label=Stop]{color:#fff;background:#d32f2f;flex:none}.actions{flex-wrap:wrap}.recording-indicator{color:#d32f2f;flex-basis:100%;align-items:center;gap:8px;margin-top:4px;font-size:.9rem;font-weight:600;display:inline-flex}.actions .error{flex-basis:100%;margin-top:4px}.recording-dot{background:#d32f2f;border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.step-indicator{text-align:center;color:#888;margin-top:16px;font-size:.875rem}.mood-selector{justify-content:center;gap:8px;margin:16px 0;display:flex}.mood-btn{background:#fff;border:2px solid #ddd;border-radius:8px;min-width:60px;padding:12px 16px;font-size:.875rem}.mood-btn.selected{background:#d4edda;border-color:#2d6a4f}.entry-detail{padding-top:16px}.entry-detail .back-link{color:#2d6a4f;margin-bottom:16px;font-size:.875rem;text-decoration:none;display:inline-block}.response-block{background:#fff;border-radius:8px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px #0000001a}.response-block p{margin-top:4px}.ai-response{background:#e8f5e9;border-left:4px solid #2d6a4f;border-radius:8px;margin-top:24px;padding:20px}.ai-response h2{margin-bottom:14px}.ai-response p{color:#1a1a1a;margin:0 0 14px;line-height:1.65}.ai-response p:last-child{margin-bottom:0}.ai-response .theory-quote,.ai-response .user-quote{color:#1e6fd9;font-style:italic;text-decoration:none}.ai-response .citation{color:#1e6fd9;white-space:nowrap;font-style:normal;font-weight:700}.ai-response .references{border-top:1px solid #c9dfce;margin-top:20px;padding-top:14px}.ai-response .references h3{color:#1a1a1a;margin-bottom:10px;font-size:.95rem;font-style:normal;font-weight:700}.ai-response .references ol{color:#1a1a1a;margin:0;padding-left:22px;font-size:.9rem;line-height:1.55}.ai-response .references li{margin-bottom:6px}.nav-bar{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 0;display:flex}.nav-bar .user-info{color:#666;font-size:.875rem}.nav-bar button{color:#333;background:#e0e0e0;padding:6px 12px;font-size:.8rem}
