.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}: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}
