:root{color-scheme:dark;font-family:IBM Plex Sans,sans-serif;background:#1b1c1f;color:#f3f4f6;--surface: #202124;--surface-soft: #26282c;--surface-strong: #2b2d31;--border: #35373c;--text: #f3f4f6;--muted: #a9afb8;--soft: #8b9097;--accent: #4f8cff;--accent-2: #5db39e;--danger: #ff6b6b;--shadow: 0 22px 46px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top center,rgba(67,76,92,.18),transparent 30%),linear-gradient(180deg,#17181b,#1d1f23);color:var(--text);font-size:15px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{background:#161618f2;border-bottom:1px solid rgba(255,255,255,.06);padding:12px 18px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#ffb703,#fb8500);color:#111;font-weight:800;display:grid;place-items:center}.notebook-name{font-size:.98rem;font-weight:600}.menu-row{display:flex;gap:12px;margin-top:2px;color:var(--muted);font-size:.84rem}.menu-link-button{background:transparent;border:0;color:var(--muted);padding:0}.menu-link-button:hover{color:#dbe7ff}.menu-dropdown{position:relative}.menu-popover{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;background:#202124;border:1px solid #3b3e45;border-radius:14px;box-shadow:var(--shadow);padding:8px;display:grid;gap:6px}.menu-popover-item{display:grid;gap:3px;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--text);padding:10px 12px}.menu-popover-item:hover{background:#ffffff0a;border-color:#474b53}.menu-popover-title{font-size:.88rem;font-weight:600}.menu-popover-copy{color:var(--muted);font-size:.78rem;line-height:1.35}.runtime-pill{padding:8px 12px;border-radius:999px;background:#4f8cff29;color:#bfd5ff;font-weight:600}.share-button,.toolbar-pill,.toolbar-link,.primary-button,.secondary-button,.ghost-button,.run-chip{border:1px solid transparent;border-radius:12px;transition:.14s ease}.share-button{background:#0b57d0;color:#fff;padding:9px 16px;font-weight:600}.topbar-chip{padding:8px 12px;border-radius:999px;border:1px solid #3b3e45;color:var(--muted);font-size:.82rem;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.workspace{width:min(1480px,calc(100vw - 40px));margin:14px auto 30px}.busy-banner{display:inline-flex;align-items:center;gap:10px;background:#4f8cff24;border:1px solid rgba(79,140,255,.4);color:#d6e6ff;border-radius:12px;padding:9px 12px;margin-bottom:12px;font-size:.88rem;font-weight:600}.spinner-dot{width:12px;height:12px;border-radius:999px;border:2px solid rgba(214,230,255,.35);border-top-color:#d6e6ff;animation:spin .8s linear infinite}.global-alert,.empty-state,.hero-shell,.resource-shell,.trend-shell,.menu-shell,.composer-shell,.notebook-cell{background:#202124f0;border:1px solid var(--border);box-shadow:var(--shadow)}.hero-shell,.resource-shell,.trend-shell,.menu-shell,.composer-shell{border-radius:24px;padding:16px 18px}.toolbar{display:flex;align-items:center;gap:12px;background:#202124f2;border:1px solid var(--border);border-radius:18px;padding:10px 12px;margin-bottom:14px}.toolbar-pill{background:#2c2f35;color:var(--text);padding:8px 12px}.toolbar-link{background:transparent;color:var(--text);padding:8px 0;border-radius:0}.toolbar-link:hover{color:#bcd3ff}.toolbar-spacer{flex:1}.hero-shell{margin-bottom:14px}.hero-kicker,.section-title,.menu-label,.resource-label{text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-weight:700}.hero-kicker{font-size:.73rem;margin-bottom:6px}.hero-title{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.05}.hero-subtitle{margin:0;max-width:66rem;color:#c2c7cf;font-size:.96rem;line-height:1.45}.header-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(320px,1fr);gap:14px;align-items:stretch;margin-bottom:14px}.resource-shell,.trend-shell{padding:10px 14px;border-radius:20px}.section-title{font-size:.68rem;margin-bottom:10px}.resource-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.resource-value{font-size:.96rem;font-weight:700;margin:2px 0}.resource-subvalue{color:var(--muted);font-size:.72rem;line-height:1.3}.trend-shell{display:flex;flex-direction:column}.trend-plot{flex:1;min-height:72px;height:72px}.connection-pill{background:#1b1c1f;border:1px solid #3a3d43;border-radius:14px;padding:12px 14px;color:#d8dde5}.button-stack{display:grid;gap:8px}.button-stack.two{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-button,.secondary-button,.ghost-button{min-height:38px;padding:0 14px}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.toolbar-link:disabled,.run-chip:disabled,.composer-input:disabled,.code-editor:disabled{opacity:.55;cursor:not-allowed}.primary-button{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.primary-button:hover{background:#6a9dff;border-color:#6a9dff}.secondary-button,.ghost-button{background:transparent;color:var(--text);border-color:#44484f}.secondary-button:hover,.ghost-button:hover{border-color:#6d7581;background:#ffffff08}.ghost-button.danger:hover{color:#ffc0c0;border-color:#ff6b6b73}.wide{width:100%;margin-top:10px}.meta-list{display:grid;gap:6px;color:var(--muted);font-size:.92rem}.composer-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.composer-input,.cell-prompt{width:100%;border-radius:16px;border:1px solid #44484f;background:#17181b;color:var(--text);resize:vertical}.composer-input{min-height:150px;padding:13px 14px}.composer-button{min-height:46px;min-width:136px;padding:0 16px;white-space:nowrap}.notebook-body{display:grid;gap:14px;margin-top:14px}.empty-state,.global-alert{border-radius:18px;padding:14px 16px}.empty-state{color:var(--muted)}.empty-state.inline{background:transparent;border:1px dashed #4a4f57;box-shadow:none}.global-alert{color:#ffd5d5;margin-bottom:16px}.notebook-cell{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;padding:14px;border-radius:18px}.notebook-cell.active{border-color:#4f8cff8c;box-shadow:0 0 0 1px #4f8cff47,var(--shadow)}.cell-gutter{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:6px}.run-chip{width:36px;height:36px;border-radius:50%;background:#2b2d31;color:#c8ccd2;border-color:#3b3e45}.run-chip.active,.run-chip:hover{background:var(--accent);border-color:var(--accent);color:#fff}.cell-index{color:var(--soft);font-family:IBM Plex Mono,monospace;font-size:.8rem}.cell-main{min-width:0}.cell-header{display:flex;align-items:stretch;gap:12px;margin-bottom:10px}.cell-superbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.cell-header-main{flex:1;min-width:0}.cell-status-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}.cell-kind{color:var(--soft);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.cell-status{padding:4px 8px;border-radius:999px;background:#ffffff14;color:#d3d7dd;font-size:.74rem}.cell-status.ready,.cell-status.analysis-ready{background:#5db39e29;color:#a9e1d2}.cell-status.running{background:#4f8cff29;color:#bfd5ff}.cell-status.errored,.cell-status.completed-with-errors{background:#ff6b6b24;color:#ffc8c8}.cell-header-actions{display:flex;align-items:flex-start;gap:8px}.cell-running-row{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(79,140,255,.34);background:#4f8cff1a;border-radius:999px;color:#cfe1ff;font-size:.8rem;padding:6px 10px;margin:0 0 10px}.cell-prompt{min-height:140px;padding:12px 14px;font-size:1.02rem;line-height:1.35}.cell-tabs-wrap{display:grid;gap:0;min-width:0}.cell-tabs{display:flex;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;flex-wrap:wrap}.tab-pill{background:#1f2228;border:1px solid #4a5060;color:#c6ccd7;border-radius:999px;min-width:120px;padding:9px 20px;font-size:.9rem;font-weight:700;letter-spacing:.02em}.tab-pill.active{background:#4f8cff42;border-color:#4f8cff9e;color:#fff;box-shadow:0 0 0 1px #4f8cff47}.tab-panel,.interpret-shell{display:grid;gap:12px}.interpret-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:12px;align-items:start}.interpret-card{border:1px solid #3a3f48;border-radius:14px;padding:12px 14px;background:#181a1f;min-width:0}.trace-card{border:1px solid #3a3f48;border-radius:14px;padding:12px 14px;background:#15171c}.interpret-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:#9ea7b8;font-weight:700;margin-bottom:8px}.interpret-copy{margin:0;color:#d3dae5;line-height:1.45}.interpret-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.interpret-k{color:#8f97a7;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.interpret-v{color:#e2e8f2;font-weight:600}.interpret-list{margin:0;padding-left:18px;color:#d2d9e4;display:grid;gap:6px}.interpret-list li{overflow-wrap:anywhere;word-break:break-word}.citation-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.citation-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #4b5a77;background:#4f8cff1f;color:#c8dcff;border-radius:999px;padding:2px 8px;font-size:.73rem;font-weight:700;letter-spacing:.02em}.quality-card{border-color:#4b5a77;background:#151a23;max-width:100%;overflow:hidden}.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:8px}.quality-score{color:#d8e8ff;font-size:1.25rem;font-weight:800}.quality-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700;letter-spacing:.03em;border:1px solid transparent}.quality-badge.passed{background:#5db39e29;border-color:#5db39e73;color:#bdebdc}.quality-badge.failed{background:#ff6b6b24;border-color:#ff6b6b73;color:#ffd2d2}.assumption-status{display:inline-flex;align-items:center;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700;letter-spacing:.04em;margin-right:4px}.assumption-status.pass{background:#5db39e24;color:#bdebdc;border:1px solid rgba(93,179,158,.38)}.assumption-status.fail{background:#ffb34724;color:#ffe3b5;border:1px solid rgba(255,179,71,.38)}.recommend-grid{display:grid;gap:10px}.recommend-item{border:1px solid #3a3f48;border-radius:12px;padding:10px 12px;background:#14171c}.recommend-title{font-weight:700;color:#e2e7f2;margin-bottom:3px}.recommend-meta{color:#97a0b0;font-size:.8rem;margin-bottom:6px}.recommend-copy{color:#cdd4df;line-height:1.4}.code-editor{width:100%;border-radius:16px;border:1px solid #44484f;background:#17181b;color:var(--text);font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;min-height:96px;max-height:680px;overflow:hidden;overscroll-behavior:contain}.code-editor,.code-editor *{font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.code-editor-highlight,.code-editor-input{margin:0;font-family:IBM Plex Mono,monospace;line-height:1.45;font-size:.88rem;min-height:96px;max-height:680px}.code-editor-highlight{color:#d4d8df;white-space:pre;word-break:normal;overflow-wrap:normal;overflow:hidden;pointer-events:none}.code-editor-input{color:transparent;caret-color:#d8deea;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.code-editor-input::placeholder{font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.code-editor-input::selection,.code-editor-highlight ::selection{background:#4f8cff47}.code-editor .token.comment,.code-editor .token.prolog,.code-editor .token.doctype,.code-editor .token.cdata{color:#7f8b9a}.code-editor .token.punctuation,.code-editor .token.operator{color:#a6b0bf}.code-editor .token.keyword{color:#c792ea}.code-editor .token.function,.code-editor .token.class-name,.code-editor .token.builtin{color:#82aaff}.code-editor .token.string,.code-editor .token.char,.code-editor .token.attr-value{color:#c3e88d}.code-editor .token.number,.code-editor .token.boolean,.code-editor .token.constant{color:#f78c6c}.code-editor .token.variable,.code-editor .token.parameter,.code-editor .token.attr-name,.code-editor .token.property,.code-editor .token.symbol{color:#f2c97d}.code-editor .token.important,.code-editor .token.regex{color:#ffcb6b}.panel-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-bottom:12px}.micro-copy{color:var(--soft);font-size:.8rem}.data-table-shell{width:100%;max-width:min(100%,calc(100vw - 96px));max-height:420px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #393d45;border-radius:16px}.data-table{width:max-content;min-width:100%;border-collapse:collapse;min-width:640px}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #33363c;white-space:nowrap}.data-table th{background:#1a1b1f;color:#dfe3e8;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.data-table td{color:#c3c8cf;font-size:.84rem}.tab-panel,.recommend-item,.interpret-card{min-width:0;max-width:100%}.analysis-chart{min-height:300px;border:1px solid #393d45;border-radius:18px;overflow:hidden}.terminal{margin:0;padding:12px 14px;background:#17181b;border:1px solid #393d45;border-radius:16px;color:#d9dde3;font-family:IBM Plex Mono,monospace;white-space:pre-wrap;font-size:.84rem}.trace-terminal{max-height:220px;overflow:auto}.status-toast,.help-panel{background:#202124f5;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.status-toast{padding:10px 12px;color:#d6e4ff;margin-bottom:12px;font-size:.88rem}.help-panel{padding:12px 14px;margin-bottom:12px}.help-panel-title{font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin-bottom:8px}.help-panel-copy{color:var(--muted);font-size:.88rem;line-height:1.45;margin-bottom:4px}.session-panel{background:#202124f5;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px;margin-bottom:16px}.session-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.session-panel-title{font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}.session-panel-empty{color:var(--muted);font-size:.88rem;padding:8px 0}.session-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}.session-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid transparent;transition:background .15s,border-color .15s}.session-item:hover{background:#ffffff0a}.session-item-active{border-color:var(--accent, #4f8cff);background:#4f8cff14}.session-item-body{flex:1;min-width:0}.session-item-question{color:var(--text, #e0e0e0);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-meta{color:var(--muted, #8c8c8c);font-size:.78rem;margin-top:2px}.session-delete-btn{background:none;border:none;color:var(--muted, #8c8c8c);font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.session-delete-btn:hover{color:#ff6b6b;background:#ff6b6b1f}.terminal.error{color:#ffc2c2}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1280px){.header-grid,.composer-row{grid-template-columns:1fr}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 960px){.workspace{width:min(100vw - 24px,100%);margin:12px auto 28px}.topbar{padding:10px 14px}.menu-row{flex-wrap:wrap;gap:10px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook-cell{grid-template-columns:1fr}.cell-gutter{flex-direction:row;justify-content:space-between}.cell-header{flex-direction:column}.cell-superbar{flex-direction:column;align-items:flex-start}.interpret-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interpret-top-grid{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.resource-grid,.button-stack.two{grid-template-columns:1fr}.topbar-right{gap:8px}.topbar-chip{display:none}.interpret-grid,.interpret-top-grid,.quality-grid{grid-template-columns:1fr}}
