.markdown-body{font-size:.9375rem;line-height:1.7;color:var(--color-text);word-break:break-word}.markdown-body h1{font-size:1.375rem;font-weight:700;margin:1.25rem 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border);color:#111827}.markdown-body h2{font-size:1.15rem;font-weight:700;margin:1.1rem 0 .6rem;color:#111827}.markdown-body h3{font-size:1rem;font-weight:600;margin:1rem 0 .5rem;color:#374151}.markdown-body p{margin:.5rem 0}.markdown-body strong{color:#111827;font-weight:600}.markdown-body em{color:var(--color-text-secondary)}.markdown-body hr{border:none;border-top:1px solid var(--color-border);margin:1rem 0}.markdown-body ul{list-style-type:disc;padding-left:1.5rem;margin:.4rem 0}.markdown-body ol{list-style-type:decimal;padding-left:1.5rem;margin:.4rem 0}.markdown-body li{margin:.2rem 0;line-height:1.6}.markdown-body li::marker{color:var(--color-text-secondary)}.markdown-body table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.8125rem;overflow-x:auto;display:block}.markdown-body thead{position:sticky;top:0}.markdown-body th{background:#f3f4f6;color:#374151;font-weight:600;text-align:left;padding:.5rem .75rem;border:1px solid #e5e7eb;white-space:nowrap}.markdown-body td{padding:.4rem .75rem;border:1px solid #e5e7eb;color:var(--color-text)}.markdown-body tbody tr:nth-child(2n){background:#f9fafb}.markdown-body tbody tr:nth-child(odd){background:#fff}.markdown-body tbody tr:hover{background:#f3f4f6}@media (max-width:639px){.markdown-body table{font-size:.6875rem;margin:.5rem 0}.markdown-body th{padding:.3rem .4rem;font-size:.625rem}.markdown-body td{padding:.25rem .4rem}.markdown-body{font-size:.8125rem;line-height:1.6}.markdown-body h1{font-size:1.125rem}.markdown-body h2{font-size:1rem}.markdown-body h3{font-size:.875rem}}.markdown-body code{background:#f3f4f6;color:#dc2626;padding:.15rem .4rem;border-radius:4px;font-size:.8125rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.markdown-body pre{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0}.markdown-body pre code{background:none;color:#374151;padding:0;font-size:.8125rem;line-height:1.5}.markdown-body blockquote{border-left:3px solid var(--color-accent);padding:.5rem 1rem;margin:.75rem 0;background:#329fe70f;border-radius:0 6px 6px 0;color:var(--color-text-secondary)}.markdown-body blockquote p{margin:.25rem 0}.step-indicator{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.8125rem;color:var(--color-text-secondary)}.step-indicator.running{color:var(--color-primary)}.step-indicator.done{color:var(--color-text-muted)}.step-spinner{width:14px;height:14px;border:2px solid #0000;border-top:2px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.step-check{width:14px;height:14px;color:var(--color-success);flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.chart-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.5rem;margin:.75rem 0;overflow:visible}.chart-container .js-plotly-plot{border-radius:8px}@media (max-width:639px){.chart-container{padding:.25rem;margin:.5rem 0;border-radius:8px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-appear{animation:fadeInUp .25s ease-out}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.typing-dot{width:6px;height:6px;border-radius:50%;background:#9ca3af;display:inline-block}.typing-dot:first-child{animation:typingDot 1.4s 0s infinite}.typing-dot:nth-child(2){animation:typingDot 1.4s .2s infinite}.typing-dot:nth-child(3){animation:typingDot 1.4s .4s infinite}.app-bg{background:linear-gradient(180deg,#e8f2fe,#f0f7ff 30%,#f7faff 60%,#fff);min-height:100vh;position:relative;overflow-x:hidden}.app-header{background:#fffc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #329fe714}.app-card{background:#ffffffd9;backdrop-filter:blur(8px);border:1px solid #329fe71a;border-radius:16px;box-shadow:0 1px 3px #329fe70d,0 4px 20px #329fe70a;transition:all .25s ease}.app-card:hover{border-color:#329fe738;box-shadow:0 4px 24px #329fe71a,0 8px 40px #329fe70d;transform:translateY(-2px)}.app-card-static{background:#ffffffd9;backdrop-filter:blur(8px);border:1px solid #329fe71a;border-radius:16px;box-shadow:0 1px 3px #329fe70d,0 4px 20px #329fe70a}.app-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}.app-input{border:1px solid #329fe726;background:#fffc;border-radius:10px;transition:all .2s ease}.app-input:focus{border-color:#329fe7;box-shadow:0 0 0 3px #329fe71a;background:#fff;outline:none}.app-btn-primary{background:linear-gradient(135deg,#329fe7,#2b8bd4);color:#fff;font-weight:600;border-radius:10px;box-shadow:0 2px 8px #329fe740;transition:all .2s ease}.app-btn-primary:hover{box-shadow:0 4px 16px #329fe759;transform:translateY(-1px)}.app-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.app-sidebar{background:linear-gradient(180deg,#eaf2fd,#f0f6ff 40%,#f7faff);border-right:1px solid #329fe714}.app-sidebar-active{background:#ffffffe6;border:1px solid #329fe726;box-shadow:0 1px 6px #329fe714}.app-bubble-assistant{background:#ffffffe6;border:1px solid #329fe71a;border-radius:16px;border-top-left-radius:6px;box-shadow:0 1px 4px #329fe70a}.app-bubble-user{background:linear-gradient(135deg,#329fe7,#2b8bd4);border-radius:16px;border-bottom-right-radius:6px;box-shadow:0 2px 8px #329fe733}.app-error-card{background:#fef2f2e6;border:1px solid #ef444433;border-radius:16px;border-top-left-radius:6px;padding:16px;box-shadow:0 1px 4px #ef44440f}.app-setup-card{background:#eff6ffe6;border:1px solid #329fe733;border-radius:16px;border-top-left-radius:6px;padding:16px;box-shadow:0 1px 4px #329fe70f}.app-danger-zone{background:#ffffffd9;border:1px solid #ef444426;border-radius:16px;box-shadow:0 1px 3px #ef44440a}.app-question-card{background:#fffffff2;border:1px solid #329fe71f;border-radius:12px;box-shadow:0 1px 4px #329fe70f;transition:all .2s ease}.app-question-card:hover{border-color:#329fe733;box-shadow:0 2px 12px #329fe714}.app-empty-prompt{background:#ffffffb3;border:1px solid #329fe71a;border-radius:12px;transition:all .2s ease}.app-empty-prompt:hover{background:#ffffffe6;border-color:#329fe733;box-shadow:0 2px 12px #329fe714}