.shell{min-height:100vh;background:radial-gradient(1200px 700px at 10% 0%,rgba(34,211,238,.15),transparent 60%),radial-gradient(900px 600px at 90% 20%,rgba(167,139,250,.14),transparent 55%),var(--bg)}.topbar{position:sticky;top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-elev);border-bottom:1px solid var(--border);z-index:10}.topbarInner{max-width:1100px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px}.brandTitle{font-weight:700;letter-spacing:-.02em}.muted{color:var(--muted)}.container{max-width:1100px;margin:0 auto;padding:22px 18px 60px}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}@media (max-width: 980px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);padding:16px}.cardTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cardTitle{font-size:1.05rem;font-weight:650;letter-spacing:-.01em;margin:0}.btnRow{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;font-weight:650;font-size:.92rem;border:1px solid transparent;cursor:pointer;transition:transform .06s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btnPrimary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.btnPrimary:disabled{opacity:.6;cursor:not-allowed}.btnGhost{background:transparent;border-color:var(--border);color:var(--text)}.btnGhost:hover{border-color:#94a3b8b3}.btnDanger{background:transparent;border-color:#ef444473;color:var(--danger)}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 720px){.fieldRow{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.label{font-weight:600;font-size:.9rem}.help{font-size:.85rem;color:var(--muted)}.fileInput{border:1px dashed rgba(148,163,184,.55);border-radius:12px;padding:10px;background:#ffffff0f}.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.kvItem{display:flex;flex-direction:column;gap:2px}.kvKey{font-size:.82rem;color:var(--muted)}.kvVal{font-weight:650}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#ffffff0f;font-size:.85rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.divider{height:1px;background:var(--border);margin:14px 0}.chatLog{display:flex;flex-direction:column;gap:10px}.msg{border:1px solid var(--border);border-radius:12px;padding:12px;background:#ffffff0f}.msgRole{font-size:.82rem;color:var(--muted);margin-bottom:6px}.plotImg{width:100%;border-radius:12px;border:1px solid var(--border)}.textarea{width:100%;min-height:84px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);resize:vertical}.landingWrap{min-height:100vh;background:var(--bg)}.landingMain{max-width:960px;margin:0 auto;padding:48px 24px 64px;text-align:center}.landingLogo{width:min(520px,92%);height:auto;display:block;margin:0 auto 18px}.landingHeroTitle{font-size:1.75rem;font-weight:700;margin:0 0 8px}.landingHeroSub{color:var(--muted);margin:0 0 40px}.landingCards{display:flex;justify-content:center}.landingCard{background:var(--panel);border-radius:12px;border:1px solid var(--border);padding:28px;width:min(520px,100%);text-align:left}.landingCardInternal{border-top:4px solid var(--success)}.landingBtn{width:100%}.chatWrap{min-height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(1200px 700px at 20% -10%,rgba(14,165,233,.16),transparent 55%),radial-gradient(900px 600px at 85% 0%,rgba(99,102,241,.18),transparent 55%),var(--bg)}.chatTopBar{display:flex;align-items:center;gap:16px;padding:10px 18px;background:var(--bg-elev);border-bottom:1px solid var(--border);height:60px}.chatLogo{display:inline-flex;align-items:center;gap:8px}.chatBrandText{display:flex;flex-direction:column;line-height:1.05}.chatBrandTop{font-size:11px;font-weight:900}.chatBrandBottom{font-size:12px;font-weight:900;background:linear-gradient(90deg,#0ea5e9,#16a34a);-webkit-background-clip:text;background-clip:text;color:transparent}.chatTopCenter{flex:1;display:flex;justify-content:center}.chatGrid{display:grid;grid-template-columns:300px 1fr;height:calc(100dvh - 60px);overflow:hidden}.leftColumn{display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0}.leftTopNewChat{padding:18px 16px 12px}.leftTopNewChatBtn{width:100%}.sidebar{padding:8px 16px 16px;display:flex;flex-direction:column;min-height:0}.sidebarHistoryDivider{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sidebarHistoryDividerLine{flex:1;height:1px;background:var(--border)}.sidebarHistoryDividerText{font-size:12px;font-weight:700}.sidebarScroll{overflow:auto;min-height:0}.sessionCard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.sessionCardClickable{cursor:pointer}.sessionCard+.sessionCard{margin-top:10px}.sessionCardActive{border-color:#0ea5e98c}.sessionTopRow{display:flex;justify-content:space-between;align-items:center}.sessionTitle{font-size:13px;font-weight:700}.sessionMeta{margin-top:6px;font-size:12px;color:var(--muted)}.main{padding:18px;min-height:0;min-width:0;overflow:auto}.chatPanel{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow-soft);min-height:0;min-width:0;max-width:100%;box-sizing:border-box}.chatCol{height:100%;min-height:0;display:flex;flex-direction:column}.chatBodyScroll{flex:1;overflow:auto}.chatTranscript{display:flex;flex-direction:column;gap:10px}.msgRow{display:flex;flex-direction:column;gap:8px}.msgBubble{border-radius:14px;padding:12px 14px;max-width:90%;white-space:pre-wrap;line-height:1.4}.msgUser{margin-left:auto;background:#dbeafe;color:#1d4ed8}.msgAssistant{margin-right:auto;background:var(--panel);border:1px solid var(--border);white-space:normal;max-width:100%}.msgAssistant .chat-prose{max-width:100%}.chatComposer{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.composerRow{display:grid;grid-template-columns:1fr 120px;gap:10px;align-items:end}.optionCardsGrid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}.optionCard{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px;min-width:0;max-width:100%;box-sizing:border-box}.optionCardGuided{margin-top:2px}.optionCardGuided .chatBodyScroll{max-height:min(45vh,360px);overflow:auto}.insightsScroll{max-height:min(50vh,480px);overflow:auto;overflow-x:auto;padding-right:8px;margin-top:8px;min-width:0;max-width:100%}.insightsTableBlock{margin-bottom:14px;min-width:0;max-width:100%}.insightsTableBlock+.insightsTableBlock{margin-top:4px}.insightsTableTitle{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:8px}.insightsTableWrap{overflow-x:auto;overflow-y:auto;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px;background:#ffffff0a}html[data-theme=dark] .insightsTableWrap{background:#0c0c0e80}.insightsTable{width:100%;max-width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.insightsTable th,.insightsTable td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top;white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.insightsTable th{font-weight:700;background:#94a3b824;position:sticky;top:0;z-index:1}html[data-theme=dark] .insightsTable th{background:#94a3b81f}.insightsTable tbody tr:nth-child(2n) td{background:#94a3b80f}html[data-theme=dark] .insightsTable tbody tr:nth-child(2n) td{background:#94a3b814}.insightsTopMetricsPill{margin-top:10px}.insightsScroll .chat-prose{max-width:100%;min-width:0}.insightsScroll .chat-prose table{table-layout:fixed;width:100%}.insightsScroll .chat-prose th,.insightsScroll .chat-prose td{word-break:break-word;overflow-wrap:anywhere}.chat-prose{color:var(--text);white-space:normal;font-size:14px;line-height:1.45}.chat-prose>*:first-child{margin-top:0}.chat-prose>*:last-child{margin-bottom:0}.chat-prose p{margin:0 0 8px}.chat-prose ul,.chat-prose ol{margin:0 0 8px;padding-left:18px}.chat-prose li{margin:2px 0}.chat-prose h1,.chat-prose h2,.chat-prose h3,.chat-prose h4{margin:10px 0 6px;line-height:1.2}.chat-prose pre{margin:8px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0206170a;overflow:auto}html[data-theme=dark] .chat-prose pre{background:#0c0c0eb8}.chat-prose code{font-size:.92em}.chat-prose table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.chat-prose th,.chat-prose td{border:1px solid var(--border);padding:8px 10px;vertical-align:top}.chat-prose th{text-align:left;font-weight:800;background:#94a3b824}html[data-theme=dark] .chat-prose th{background:#94a3b81f}.chat-prose tr:nth-child(2n) td{background:#94a3b80f}html[data-theme=dark] .chat-prose tr:nth-child(2n) td{background:#94a3b814}.chatUser{position:relative}.chatUserBtn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;border:1px solid var(--border);background:#ffffff8c;padding:8px 12px;cursor:pointer;color:var(--text);max-width:260px}.chatUserDot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,#0ea5e9e6,#6366f1e6);box-shadow:0 0 0 4px #0ea5e924;flex-shrink:0}.chatUserName{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatUserMenu{position:absolute;right:0;top:calc(100% + 10px);min-width:170px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:50}.chatUserMenuItem{width:100%;display:flex;align-items:center;gap:10px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text);padding:10px;cursor:pointer;font-weight:800;font-size:13px}.chatUserMenuItem:hover{background:#fff9;border-color:var(--border)}.themeFab{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,#0ea5e938,#6366f138);color:var(--text);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60}.loginWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg)}.loginCard{width:100%;max-width:520px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;padding:28px 24px}.loginTitle{text-align:center;font-size:30px;line-height:1.05;margin:0;font-weight:500;color:#111827}.loginSubtitle{text-align:center;margin-top:10px;color:#6b7280;font-size:14px}.input{width:100%;border:1px solid #dbeafe;background:#eaf2ff;border-radius:4px;padding:10px 12px;font-size:15px;outline:none}.input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f633}.primaryBtn{width:100%;margin-top:18px;border:none;border-radius:4px;padding:12px 16px;background:#1f77cc;color:#fff;font-weight:600;font-size:16px;box-shadow:0 8px 16px #1f77cc40;cursor:pointer}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f6f7fb;--bg-elev: rgba(255, 255, 255, .75);--panel: rgba(255, 255, 255, .9);--border: rgba(226, 232, 240, .9);--text: #0f172a;--muted: #64748b;--primary: #0ea5e9;--primary-2: #6366f1;--success: #16a34a;--danger: #ef4444;--shadow: 0 18px 45px rgba(2, 6, 23, .08);--shadow-soft: 0 10px 25px rgba(2, 6, 23, .06)}html[data-theme=dark]{--bg: #050608;--bg-elev: rgba(12, 12, 14, .72);--panel: rgba(12, 12, 14, .9);--border: rgba(71, 85, 105, .35);--text: #e5e7eb;--muted: #94a3b8;--primary: #22d3ee;--primary-2: #a78bfa;--success: #22c55e;--danger: #fb7185;--shadow: 0 22px 60px rgba(0, 0, 0, .55);--shadow-soft: 0 14px 40px rgba(0, 0, 0, .42)}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
