*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;-webkit-font-smoothing:antialiased;background:#f0f2f5;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}#root{flex-direction:column;height:100dvh;display:flex}.top-bar{background:#fff;border-bottom:1px solid #e2e4e9;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.brand{color:#1a1a2e;letter-spacing:-.3px;font-size:17px;font-weight:700}.record-btn{color:#dc2626;cursor:pointer;background:#fff;border:2px solid #dc2626;border-radius:100px;align-items:center;gap:8px;padding:10px 32px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.record-btn:hover{background:#fef2f2}.record-btn.recording{color:#fff;background:#dc2626;animation:2s infinite pulse-shadow}.record-btn.recording:hover{background:#b91c1c;border-color:#b91c1c}.record-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:10px;height:10px}.recording .record-dot{background:#fff;animation:1.5s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-shadow{0%,to{box-shadow:0 0 #dc26264d}50%{box-shadow:0 0 0 8px #dc262600}}.panels{background:#e2e4e9;flex:1;grid-template-rows:1fr;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid}.panel{background:#fff;flex-direction:column;min-height:0;display:flex}.panel-transcript{grid-area:1/1}.panel-right-col{background:#e2e4e9;grid-column:2;grid-template-rows:auto 1fr 1fr;gap:1px;min-height:0;display:grid}.panel-summary{min-height:100px}.panel-questions,.panel-concepts{min-height:120px}.panel-header{text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8f9fb;border-bottom:1px solid #e2e4e9;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 20px;font-size:11px;font-weight:700;display:flex}.panel-body{color:#374151;flex:1;padding:16px 20px;font-size:14px;line-height:1.65;overflow-y:auto}.panel-body.transcript{white-space:pre-wrap;word-break:break-word;cursor:default}.copy-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.copy-btn:hover{color:#334155;background:#f1f5f9;border-color:#94a3b8}.copy-btn.copied{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.word{cursor:pointer;border-radius:3px;transition:background .12s,color .12s}.word:hover{color:#1e40af;background:#dbeafe}.explain-popup{color:#fff;cursor:pointer;z-index:1000;background:#1e293b;border:none;border-radius:8px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 16px #0000002e}.explain-popup:hover{background:#0f172a}.question-item{border-bottom:1px solid #f1f5f9;padding:12px 0}.question-item:last-child{border-bottom:none}.q-time{color:#94a3b8;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px}.question-item .q{color:#1e293b;margin:2px 0 6px;font-size:13px;font-weight:600;line-height:1.5}.question-item .a{color:#475569;font-size:13px;line-height:1.6}.question-item .a p{margin:0}.question-item .a p+p{margin-top:4px}.concept-item{border-bottom:1px solid #f1f5f9;padding:12px 0}.concept-item:last-child{border-bottom:none}.concept-term{color:#1e40af;margin-bottom:4px;font-size:13px;font-weight:700}.concept-body{color:#475569;font-size:13px;line-height:1.6}.concept-body p{margin:0}.concept-body p+p{margin-top:4px}.thinking,.empty-state{color:#94a3b8;font-size:13px;font-style:italic}.error-state{color:#dc2626;font-size:14px}@media (width<=768px){.top-bar{padding:10px 16px}.brand{font-size:15px}.record-btn{padding:8px 24px;font-size:14px}.panels{grid-template-rows:minmax(200px,1fr);grid-template-columns:1fr;overflow-y:auto}.panel-transcript{min-height:250px}.panel-right-col{grid-column:1;grid-template-rows:auto auto auto}.panel-summary,.panel-questions,.panel-concepts{min-height:150px;max-height:300px}.panel-header{padding:8px 16px}.panel-body{padding:12px 16px;font-size:14px}}
