:root{--blue: #2563eb;--blue-dark: #1d4ed8;--red: #dc2626;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg: #ffffff;--panel: #f8fafc;--radius: 14px;--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .04)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:1080px;margin:0 auto;padding:0 20px 80px}body{overflow-x:hidden}.topbar{position:sticky;top:0;z-index:20;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);margin:0 -20px 20px;padding:12px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{font-weight:700;font-size:19px;letter-spacing:-.01em;margin-right:auto}.brand small{color:var(--muted);font-weight:500;font-size:13px;display:block}.nav{display:flex;gap:8px;flex-wrap:wrap}.listening{display:inline-flex;align-items:center;gap:8px;background:#fef2f2;color:var(--red);border:1px solid #fecaca;padding:7px 12px;border-radius:999px;font-weight:700;font-size:14px}.listening.idle{background:var(--panel);color:var(--muted);border-color:var(--line)}.dot{width:11px;height:11px;border-radius:50%;background:var(--red)}.listening.on .dot{animation:pulse 1.2s infinite}.listening.idle .dot{background:#cbd5e1}@keyframes pulse{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 9px #dc262600}to{box-shadow:0 0 #dc262600}}@media(prefers-reduced-motion:reduce){.listening.on .dot{animation:none}}button{font-family:inherit}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 16px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--panel)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.danger{color:var(--red);border-color:#fecaca}.btn.danger:hover{background:#fef2f2}.btn.big{font-size:18px;padding:15px 22px;width:100%}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--panel)}.btn.small{padding:7px 12px;font-size:14px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{margin:0 0 4px;font-size:20px}.card h3{margin:0 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.subtle{color:var(--muted);font-size:15px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.stack>*+*{margin-top:14px}label.field{display:block;font-weight:600;margin-bottom:6px}textarea,input[type=text]{width:100%;font-family:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;resize:vertical}textarea:focus,input[type=text]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.transcript{min-height:110px}.interim{color:var(--muted);font-style:italic}.hint{font-size:14px;color:var(--muted);margin-top:6px}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:10px;padding:12px 14px;font-size:15px}.notice.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.notice.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.saythis{font-size:20px;line-height:1.55;white-space:pre-wrap}.plain{white-space:pre-wrap}ul.clean{margin:0;padding-left:20px}ul.clean li{margin-bottom:8px}.tag{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:999px}.tag.saved{background:#dcfce7;color:#166534}.tag.moved{background:var(--panel);color:var(--muted)}.consent-check{display:flex;gap:10px;align-items:flex-start}.consent-check input{margin-top:5px;width:18px;height:18px}.loader{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:15px}.loader .spin{width:15px;height:15px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.review-item{border-left:3px solid var(--line);padding-left:16px}.review-item.saved-item{border-left-color:#22c55e}.footer-note{font-size:13px;color:var(--muted);text-align:center;margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}kbd{background:var(--panel);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:560px){body{font-size:16px}.saythis{font-size:19px}.card{padding:16px}}.controls-card{margin-bottom:18px}.big-inline{padding:12px 22px;font-size:17px}.session-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:start}.pane{margin-bottom:0}.answer-pane{position:sticky;top:90px}@media(max-width:860px){.session-grid{grid-template-columns:1fr}.answer-pane{position:static}}.answer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.answer-status{font-size:13px;font-weight:700;padding:4px 11px;border-radius:999px;white-space:nowrap}.answer-status.idle{background:var(--panel);color:var(--muted)}.answer-status.gen{background:#eff6ff;color:#1e40af}.answer-status.ready{background:#dcfce7;color:#166534}.ask-callout{margin-top:14px;background:#fef2f2;border:2px solid var(--red);border-radius:10px;padding:12px 14px;color:#991b1b}.ask-callout-title{text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:800;margin-bottom:6px}.ask-callout ul{margin:0;padding-left:20px}.ask-callout li{margin-bottom:4px;font-weight:700}.pushback{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.pushback-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:8px}.coach-reply{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.coach-reply summary{cursor:pointer;font-weight:600;color:var(--muted);font-size:14px}
