:root{color-scheme:light;--bg: #ffffff;--bg-alt: #f0f2f5;--panel: #f7f8fa;--header: #f0f2f5;--bubble-narrator: #d9fdd3;--bubble-interviewer: #ffffff;--accent: #25d366;--accent-dark: #008069;--text: #111b21;--muted: #667781;--border: #e9edef;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}input,button,select{font:inherit}.auth-screen,.subject-picker{max-width:380px;margin:10vh auto;padding:24px;display:flex;flex-direction:column;gap:14px}.auth-screen h1{font-size:1.8em;margin:0}.auth-screen form,.subject-picker form{display:flex;flex-direction:column;gap:12px}.auth-screen input,.auth-screen button,.subject-picker input,.subject-picker button{padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:1em}.auth-screen button[type=submit],.subject-picker button[type=submit]{background:var(--accent-dark);color:#fff;font-weight:600;border:none}.link-button{background:none;border:none;color:var(--accent-dark);cursor:pointer;padding:8px 0;font-size:1em;font-weight:500}.error{color:#d33;font-size:.9em}.tagline{color:var(--muted);margin-top:-8px}.subject-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.subject-list button{width:100%;padding:16px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font-size:1.05em;font-weight:600}.loading{text-align:center;margin-top:20vh;color:var(--muted);font-size:1.1em}.chat-screen{display:flex;flex-direction:column;height:100dvh;background:var(--bg-alt)}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--accent-dark);color:#fff}.chat-header .link-button,.chat-header .settings-link{color:#fff}.chat-header .link-button{white-space:nowrap;flex-shrink:0}.chat-topic-title{flex:1;font-weight:700;font-size:1.15em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-badge{font-size:.75em;color:#e9f7f0;flex-shrink:0}.export-button{padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;flex-shrink:0;font-size:.95em}.export-button:disabled{color:#ffffff80;cursor:default}.chat-thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:78%;padding:12px 16px;border-radius:12px;line-height:1.5;font-size:1.05em;box-shadow:0 1px 1px #00000014}.bubble.narrator{align-self:flex-end;background:var(--bubble-narrator);color:var(--text)}.bubble.narrator.pending{opacity:.65}.bubble.interviewer{align-self:flex-start;background:var(--bubble-interviewer);color:var(--text)}.bubble.interviewer.reflection{font-style:italic}.bubble.interviewer.typing{color:var(--muted)}.photo-chip{margin-top:8px;font-size:.8em;color:var(--muted)}.record-button-wrap{padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--header)}.record-button{width:68px;height:68px;border-radius:50%;border:none;background:var(--accent);font-size:1.7em;color:#fff;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 2px 6px #0003}.record-button.recording{background:#e34848}.record-label{font-size:.9em;color:var(--muted)}.settings-link{color:var(--text);text-decoration:none;font-size:1.3em;padding:4px}.settings-screen{max-width:500px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:26px}.settings-header{display:flex;align-items:center;gap:16px}.settings-header h1{margin:0;font-size:1.4em}.hint{color:var(--muted);font-size:.9em}.key-row{padding:14px 0;border-bottom:1px solid var(--border)}.key-provider{display:block;margin-bottom:8px;font-weight:600;font-size:1.05em}.badge{font-size:.7em;font-weight:400;color:#fff;background:var(--accent);border-radius:999px;padding:2px 10px;margin-left:8px}.key-input-row{display:flex;gap:8px}.key-input-row input{flex:1;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.key-input-row button{padding:12px 16px;border-radius:10px;border:none;background:var(--accent-dark);color:#fff;font-weight:600;cursor:pointer}.selection-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:12px}.selection-row select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;font-size:.95em}.settings-message{color:var(--accent-dark);font-size:.95em;font-weight:500}.topic-list-screen{max-width:560px;margin:0 auto;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}.topic-list-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--header);border-bottom:1px solid var(--border)}.topic-list-header h1{flex:1;margin:0;font-size:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.topic-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text);text-decoration:none}.topic-row:active{background:var(--bg-alt)}.topic-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.topic-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.topic-title{font-weight:600;font-size:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-timestamp{font-size:.78em;color:var(--muted);flex-shrink:0}.topic-snippet{font-size:.92em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-circle{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;letter-spacing:.5px}.new-topic-form{display:flex;flex-direction:column;gap:10px;padding:16px}.mode-picker{display:flex;flex-direction:column;gap:8px}.mode-picker label{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:.95em;color:var(--muted);cursor:pointer}.mode-picker label.active{border-color:var(--accent-dark);color:var(--text);background:var(--bg-alt)}.new-topic-form input{flex:1;padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:1em}.new-topic-form button{padding:14px 16px;border-radius:10px;border:none;background:var(--accent-dark);color:#fff;font-weight:600;cursor:pointer;font-size:1em}.new-topic-button{align-self:flex-start;margin:8px 16px}.badge-shared{background:var(--accent-dark)}.share-form{display:flex;gap:8px}.share-form input{flex:1;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.share-form button{padding:12px 16px;border-radius:10px;border:none;background:var(--accent-dark);color:#fff;font-weight:600;cursor:pointer}.share-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px}.share-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-weight:500}.welcome-screen{max-width:440px;margin:0 auto;min-height:100dvh;padding:48px 24px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.welcome-icon{font-size:3.5em;line-height:1}.welcome-screen h1{font-size:2em;margin:4px 0 0}.welcome-tagline{color:var(--muted);font-size:1.1em;margin:0 0 24px}.welcome-steps{list-style:none;padding:0;margin:0 0 36px;display:flex;flex-direction:column;gap:22px;text-align:left;width:100%}.welcome-steps li{display:flex;align-items:flex-start;gap:14px}.welcome-step-icon{font-size:1.6em;flex-shrink:0;width:1.4em;text-align:center}.welcome-steps strong{font-size:1.05em}.welcome-steps p{margin:2px 0 0;color:var(--muted);line-height:1.4}.welcome-cta{width:100%;padding:16px;border-radius:10px;border:none;background:var(--accent-dark);color:#fff;font-weight:700;font-size:1.1em;cursor:pointer;margin-top:auto}.logout-button{width:100%;padding:14px;border-radius:10px;border:1px solid #d33;background:transparent;color:#d33;font-weight:600;font-size:1em;cursor:pointer}
