:root{color:#17202a;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-root{display:grid;grid-template-columns:360px minmax(0,1fr);height:100vh;overflow:hidden}.chat-panel{background:#080f1a;border-right:1px solid #18293b;display:flex;flex-direction:column;height:100vh;overflow:hidden}.chat-header{align-items:center;border-bottom:1px solid #18293b;display:flex;flex-shrink:0;gap:12px;padding:18px 16px 15px}.chat-brand-logo{border-radius:8px;flex-shrink:0;height:34px;object-fit:contain;width:34px}.chat-brand strong,.chat-brand span{display:block}.chat-brand strong{color:#e8f0f8;font-size:.9rem}.chat-brand span{color:#4a6a84;font-size:.7rem;margin-top:3px}.chat-nav{border-bottom:1px solid #18293b;display:flex;flex-shrink:0;gap:2px;overflow-x:auto;padding:8px 10px;scrollbar-width:none}.chat-nav::-webkit-scrollbar{display:none}.chat-nav-btn{background:transparent;border:0;border-radius:7px;color:#4e6e86;font-size:.73rem;font-weight:750;padding:7px 10px;white-space:nowrap}.chat-nav-btn:hover{background:#101e2d;color:#a8c4d8}.chat-nav-btn.active{background:#0e1e30;color:#2dd4bf}.chat-messages{display:flex;flex:1 1 0;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;padding:18px 14px;scrollbar-color:#1e3248 transparent;scrollbar-width:thin}.chat-msg{display:flex;gap:9px;max-width:100%}.chat-msg--user{justify-content:flex-end}.chat-msg--assistant{align-items:flex-start;justify-content:flex-start}.chat-avatar{background:linear-gradient(135deg,#2dd4bf,#087366);border-radius:999px;box-shadow:0 0 0 3px #2dd4bf24;flex-shrink:0;height:22px;margin-top:1px;width:22px}.chat-bubble{border-radius:14px;font-size:.81rem;line-height:1.58;max-width:88%;padding:9px 12px}.chat-msg--user .chat-bubble{background:#152238;border:1px solid #233d5c;border-bottom-right-radius:4px;color:#c4dcf0}.chat-msg--assistant .chat-bubble{border-bottom-left-radius:4px;color:#7ba4bf;padding:2px 0 0}.chat-input-area{border-top:1px solid #18293b;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:12px 14px 18px}.quick-chips{display:flex;flex-wrap:wrap;gap:6px}.quick-chip{background:#0d1a28;border:1px solid #1e3248;border-radius:999px;color:#5c84a0;cursor:pointer;font-size:.71rem;font-weight:750;padding:5px 11px;transition:border-color .12s,color .12s;white-space:nowrap}.quick-chip:hover{border-color:#2dd4bf;color:#2dd4bf}.chat-textarea-wrap{align-items:flex-end;background:#0d1a28;border:1px solid #1e3248;border-radius:14px;display:flex;gap:8px;padding:10px 10px 10px 14px;transition:border-color .15s,box-shadow .15s}.chat-textarea-wrap:focus-within{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf17}.chat-textarea{background:transparent;border:0;caret-color:#2dd4bf;color:#b8d4e8;flex:1 1 0;font-size:.82rem;line-height:1.5;max-height:120px;min-height:22px;outline:none;overflow-y:auto;padding:0;resize:none;scrollbar-width:thin}.chat-textarea::placeholder{color:#2e4a5e}.chat-send-btn{align-items:center;background:linear-gradient(135deg,#2dd4bf,#087366);border:0;border-radius:999px;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:800;height:34px;justify-content:center;line-height:1;transition:opacity .15s;width:34px}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:disabled{cursor:not-allowed;opacity:.28}.sim-panel{background:#eef2f5;height:100vh;overflow-y:auto}.workspace{display:grid;gap:20px;min-width:0;padding:24px}.page-header{align-items:end;display:flex;gap:24px;justify-content:space-between}.eyebrow{color:#5e7182;font-size:.72rem;font-weight:850;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{color:#111827;font-size:2.15rem;letter-spacing:0;line-height:1.08;margin-bottom:8px}h2{color:#16212c;font-size:1.02rem;margin-bottom:0}h3{color:#16212c;font-size:1.03rem;margin-bottom:8px}.page-subtitle{color:#5e7182;line-height:1.5;margin:0;max-width:760px}.environment-pill{background:#fff;border:1px solid #d5dde5;border-radius:8px;box-shadow:0 1px 2px #0f172a0a;min-width:230px;padding:11px 13px}.environment-pill span,.environment-pill strong{display:block}.environment-pill span{color:#66788a;font-size:.74rem;margin-bottom:4px}.environment-pill strong{font-size:.92rem}.page-stack{display:grid;gap:16px}.section-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.section-heading p{color:#5e7182;margin:6px 0 0}.primary-action,.secondary-action{border-radius:7px;font-weight:750;padding:10px 13px}.primary-action{background:#111827;border:1px solid #111827;color:#fff}.primary-action:hover{background:#223044}.secondary-action{background:#fff;border:1px solid #c9d3dc;color:#17202a}.secondary-action:hover{background:#f6f8fa}.primary-action:disabled{cursor:not-allowed;opacity:.55}.secondary-action:disabled,.file-upload-label.is-loading{cursor:not-allowed;opacity:.65}.primary-action,.secondary-action,.file-upload-label{align-items:center;display:inline-flex;gap:8px;justify-content:center}.button-spinner{animation:spin .8s linear infinite;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(360deg)}}.full-width{width:100%}.project-grid,.model-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card,.model-card,.deployment-list article,.lineage-rail article,.workbench-main,.inspector{background:#fff;border:1px solid #d5dde5;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.project-card{display:grid;gap:14px;padding:18px}.empty-panel{align-items:center;background:#fff;border:1px solid #d5dde5;border-radius:8px;display:flex;gap:18px;justify-content:space-between;padding:22px}.empty-panel p{color:#5e7182;line-height:1.5;margin:6px 0 0}.project-card p,.model-card p,.deployment-list p,.lineage-rail p{color:#5e7182;line-height:1.5;margin-bottom:0}.card-topline,.card-footer{align-items:center;color:#66788a;display:flex;font-size:.8rem;justify-content:space-between}.card-topline em,.deployment-list span,.solver-badge{border-radius:999px;font-style:normal;white-space:nowrap}.card-topline em,.solver-badge{background:#e6f7f4;border:1px solid #b8e8df;color:#087366;font-size:.76rem;font-weight:850;padding:5px 9px}.workbench-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr);min-height:0;padding:20px}.workbench-main{display:grid;gap:12px;min-width:0;padding:14px}.simulation-toolbar{align-items:center;background:#fff;border:1px solid #d5dde5;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px}.toolbar-left,.toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.toolbar-run{min-width:158px}.button-icon{display:inline-flex;font-size:.9rem;line-height:1}.toolbar-field{align-items:center;background:#fff;border:1px solid #c9d3dc;border-radius:7px;display:flex;gap:7px;min-height:40px;padding:0 10px}.toolbar-field:focus-within{border-color:#087366;box-shadow:0 0 0 3px #0873661f}.toolbar-field label{color:#65798b;font-size:.68rem;font-weight:850;text-transform:uppercase}.field-dot{background:linear-gradient(180deg,#2dd4bf,#087366);border-radius:999px;box-shadow:0 0 0 3px #2dd4bf21;flex:0 0 auto;height:8px;width:8px}.toolbar-field select{appearance:none;background:linear-gradient(45deg,transparent 50%,#526879 50%) right 8px center / 6px 6px no-repeat,linear-gradient(135deg,#526879 50%,transparent 50%) right 4px center / 6px 6px no-repeat;border:0;color:#17202a;cursor:pointer;font-size:.82rem;font-weight:850;min-width:245px;outline:none;padding:9px 22px 9px 0}.icon-toggle{align-items:center;background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#314252;display:inline-flex;font-size:.78rem;font-weight:850;gap:7px;padding:9px 10px}.icon-toggle span{color:#64788a;font-size:1rem;line-height:0}.icon-toggle.active{background:#e6f7f4;border-color:#b8e8df;color:#087366}.icon-toggle:disabled{display:none}.toolbar-settings{padding:9px 11px}.run-progress-strip{background:linear-gradient(90deg,#f8fafc,#eef8f6 48%,#f8fafc);background-size:220% 100%;border:1px solid #cfe9e4;border-radius:8px;box-shadow:0 10px 30px #0f766e14;overflow:hidden;padding:12px;position:relative}.run-progress-strip:before{background:linear-gradient(90deg,transparent,rgba(20,184,166,.12),transparent);content:"";inset:0;pointer-events:none;position:absolute;transform:translate(-100%);animation:runShimmerSweep 1.8s ease-in-out infinite}.stage-toolbar{align-items:start;display:flex;gap:16px;justify-content:space-between}.context-row{color:#65798b;display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:750;gap:8px;margin-bottom:8px}.context-row span{background:#f1f5f8;border:1px solid #dce5eb;border-radius:999px;padding:4px 8px}.stage-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px}.stage-toolbar p{color:#5e7182;margin:5px 0 0}.stage-metric{background:#f7fafc;border:1px solid #dce5eb;border-radius:8px;min-width:124px;padding:9px 11px}.stage-metric span,.stage-metric strong{display:block}.stage-metric span{color:#65798b;font-size:.72rem}.stage-metric strong{font-size:1.18rem;margin-top:2px}.run-overview{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.run-overview article,.object-overview{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;padding:10px 11px}.run-overview span,.object-overview span{color:#65798b;display:block;font-size:.72rem;font-weight:800;margin-bottom:4px;text-transform:uppercase}.run-overview strong,.object-overview strong{display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text.completed{color:#087366}.status-text.failed{color:#b42318}.status-text.ready{color:#1f3f5b}.status-text.running{color:#7c5800}.status-pill{border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:850;padding:5px 9px;text-transform:uppercase}.status-pill.ready{background:#edf4fb;color:#1f3f5b}.status-pill.running{background:#fff7df;border:1px solid #f5d474;color:#7c5800}.status-pill.completed{background:#e6f7f4;border:1px solid #b8e8df;color:#087366}.status-pill.failed{background:#fff0ed;border:1px solid #ffd0c7;color:#b42318}.inline-run-state{align-items:center;background:linear-gradient(90deg,#f8fafc,#edf8f6 46%,#f8fafc);background-size:220% 100%;border:1px solid #cfe9e4;border-radius:8px;color:#315b5a;display:flex;gap:10px;overflow:hidden;padding:10px 12px;position:relative;animation:runStatusShimmer 1.8s ease-in-out infinite}.inline-run-state:after{background:linear-gradient(90deg,transparent,rgba(20,184,166,.16),transparent);content:"";inset:0;pointer-events:none;position:absolute;transform:translate(-100%);animation:runShimmerSweep 1.9s ease-in-out infinite}.inline-run-state>*{position:relative;z-index:1}.inline-run-state span:last-child{font-size:.82rem;font-weight:700}.field-toolbar{align-items:center;background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px}.overlay-note{color:#5e7182;font-size:.84rem;line-height:1.45;margin:0}.field-picker{align-items:center;display:flex;flex:0 0 auto;gap:8px}.field-picker label{color:#536779;font-size:.78rem;font-weight:850}.field-picker select{background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#17202a;min-width:235px;padding:9px 10px}.field-summary{align-items:center;background:#101923;border:1px solid #223044;border-radius:8px;color:#f8fafc;display:flex;gap:14px;justify-content:space-between;padding:11px 12px}.field-summary span,.field-summary strong,.field-summary em{display:inline-block}.field-summary span{color:#a8b6c5;font-size:.78rem;font-weight:850;margin-right:10px}.field-summary strong{font-size:.92rem;margin-right:8px}.field-summary em{color:#9fb0bd;font-size:.8rem;font-style:normal}.viewer-controls{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:10px}.viewer-controls.compact-panel{background:transparent;border:0;padding:0}.viewer-control-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.viewer-control-group.sliders{border-top:1px solid #dce5eb;padding-top:10px}.viewer-control-grid{display:grid;gap:8px;grid-template-columns:1fr}.visual-slider{align-items:center;color:#314252;display:flex;font-size:.76rem;font-weight:800;gap:8px;margin-left:4px;white-space:nowrap}.visual-slider input{accent-color:#087366;flex:1 1 80px;min-width:0}.slice-toggles-label{color:#536779;font-size:.76rem;font-weight:850;margin-right:2px;text-transform:uppercase}.slice-toggle{align-items:center;background:#f8fafc;border:1px solid #dce5eb;border-radius:7px;color:#314252;display:flex;font-size:.8rem;font-weight:750;gap:7px;padding:7px 9px}.slice-toggle input{accent-color:#087366}.slice-toggle.compact{background:#fff;font-size:.76rem;padding:6px 8px}.slice-position{align-items:center;color:#314252;display:grid;font-size:.76rem;font-weight:850;gap:6px;grid-template-columns:18px 1fr 52px;white-space:nowrap}.slice-position input[type=range]{accent-color:#087366;min-width:0;width:100%}.slice-position input[type=number]{background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#17202a;font-size:.78rem;font-weight:750;min-width:0;padding:6px 4px;width:100%}.aero-forces{background:#101923;border:1px solid #223044;border-radius:8px;color:#f8fafc;display:grid;gap:10px;padding:12px}.aero-forces-title{color:#a8b6c5;font-size:.76rem;font-weight:850;text-transform:uppercase}.aero-forces-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.aero-cell{background:#172332;border:1px solid #2b3d4f;border-radius:7px;padding:9px 10px}.aero-cell span,.aero-cell strong,.aero-cell em{display:block}.aero-cell span{color:#9fb0bd;font-size:.72rem;font-weight:850}.aero-cell strong{font-size:1.12rem;margin-top:3px}.aero-cell em{color:#9fb0bd;font-size:.72rem;font-style:normal;margin-top:2px}.legend-ramp{background:linear-gradient(90deg,#2b6cb0,#14b8a6 45%,#f59e0b 75%,#ef4444);border-radius:999px;height:9px;min-width:190px}.three-stage{aspect-ratio:16 / 9;background:#101923;border:1px solid #c9d3dc;border-radius:8px;min-height:640px;height:min(74vh,820px);overflow:hidden;position:relative;width:100%}.scene-controls,.flow-probe{background:#0a121ca3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(226,232,240,.12);border-radius:7px;color:#f8fafc;position:absolute;z-index:12}.scene-controls{display:flex;gap:4px;left:12px;padding:5px;top:12px}.scene-controls button{background:#172332;border:1px solid #2b3d4f;border-radius:6px;color:#dbeafe;font-size:.68rem;font-weight:850;padding:5px 7px}.scene-controls button:hover{background:#203248;color:#fff}.flow-probe{display:grid;gap:3px;max-width:210px;padding:9px 10px;pointer-events:none}.flow-probe strong{color:#fff;font-size:.72rem}.flow-probe span{color:#c7d2df;font-size:.68rem}.three-stage canvas{display:block;height:100%;width:100%}.empty-stage{align-items:center;background:#e7edf2;color:#526879;display:flex;font-weight:750;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center;z-index:1}.inspector{align-self:start;background:transparent;border:0;box-shadow:none;display:grid;gap:16px;padding:0}.settings-overlay{align-items:stretch;background:#0d141c6b;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:100}.settings-drawer{background:#fff;border-left:1px solid #c9d3dc;box-shadow:-18px 0 44px #0f172a2e;display:flex;flex-direction:column;height:100%;max-width:min(520px,100vw);min-width:min(520px,100vw)}.settings-drawer .inspector{align-self:auto;flex:1 1 0;min-height:0;overflow-y:auto;padding:20px}.drawer-header{align-items:center;border-bottom:1px solid #e0e7ed;display:flex;justify-content:space-between;padding:16px}.drawer-header span{color:#65798b;font-size:.72rem;font-weight:850;text-transform:uppercase}.drawer-header h2{margin-top:3px}.icon-only{align-items:center;background:#f8fafc;border:1px solid #dce5eb;border-radius:7px;color:#17202a;display:inline-flex;font-size:1.2rem;font-weight:800;height:34px;justify-content:center;line-height:1;width:34px}.panel-card{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;padding:12px}.panel-heading{display:grid;gap:3px}.panel-heading p{color:#5e7182;font-size:.8rem;line-height:1.42;margin:0}.prompt-box{border-top:1px solid #e0e7ed;display:grid;gap:10px;padding-top:16px}.prompt-box label,.inspector-section h2,.openfoam-panel h2{color:#314252;font-size:.84rem;font-weight:850}.prompt-box textarea{border:1px solid #c9d3dc;border-radius:7px;color:#17202a;line-height:1.5;min-height:104px;padding:11px;resize:vertical}.upload-panel{background:#f3f7fa;border:1px solid #c9d8e4;border-radius:10px;display:grid;gap:10px;padding:14px}.upload-panel h2{color:#314252;font-size:.84rem;font-weight:850;margin:0}.upload-panel p{color:#5e7182;font-size:.78rem;line-height:1.4;margin:2px 0 0}.file-upload-label{align-items:center;background:#fff;border:1.5px dashed #94b0c4;border-radius:7px;color:#3a5a74;cursor:pointer;display:flex;font-size:.84rem;font-weight:750;justify-content:center;padding:10px;transition:background .15s,border-color .15s}.file-upload-label:hover{background:#eaf3fa;border-color:#5b8da8}.upload-badge{align-items:center;background:#e4f0f7;border:1px solid #9ec3d9;border-radius:7px;display:flex;font-size:.82rem;gap:8px;justify-content:space-between;padding:8px 10px}.upload-badge span{color:#1d3a52;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-model-list{display:grid;gap:8px}.preset-model-list>span,.preset-model-picker>span{color:#65798b;font-size:.72rem;font-weight:850;text-transform:uppercase}.preset-model-list button{background:#fff;border:1px solid #d5e2eb;border-radius:8px;color:#243747;cursor:pointer;display:grid;gap:3px;padding:9px 10px;text-align:left}.preset-model-list button:hover,.preset-model-list button.active{border-color:#0f766e;box-shadow:0 0 0 2px #14b8a61f}.preset-model-list strong{font-size:.82rem}.preset-model-list small,.preset-note{color:#5e7182;font-size:.74rem;line-height:1.4}.freestream-panel{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;display:grid;gap:12px;padding:12px}.freestream-panel h2{color:#314252;font-size:.84rem;font-weight:850;margin:0}.freestream-label,.freestream-panel label{color:#314252;display:grid;font-size:.8rem;font-weight:850;gap:6px}.freestream-panel input,.freestream-panel select{background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#17202a;min-width:0;padding:10px 11px;width:100%}.speed-presets{display:grid;gap:7px}.speed-presets>span{color:#65798b;font-size:.72rem;font-weight:850;text-transform:uppercase}.speed-preset-row{display:grid;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr))}.speed-chip{background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#314252;font-size:.78rem;font-weight:850;padding:7px 0}.speed-chip.active{background:#111827;border-color:#111827;color:#fff}.flow-metrics,.metrics-row{display:grid;gap:8px}.flow-metrics{grid-template-columns:1fr 1fr}.flow-metric{background:#fff;border:1px solid #dce5eb;border-radius:7px;padding:9px 10px}.flow-metric span,.flow-metric strong{display:block}.flow-metric span{color:#65798b;font-size:.7rem;font-weight:850;text-transform:uppercase}.flow-metric strong{color:#17202a;font-size:.84rem;margin-top:4px;overflow-wrap:anywhere}.metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-row span{background:#fff;border:1px solid #dce5eb;border-radius:7px;color:#314252;font-size:.76rem;font-weight:800;padding:8px;text-transform:none}.secondary-action.small{font-size:.75rem;padding:4px 8px}.openfoam-panel{display:grid;gap:12px}.object-panel{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;display:grid;gap:10px;padding:11px}.openfoam-panel p{color:#5e7182;font-size:.84rem;line-height:1.45;margin:4px 0 0}.input-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.openfoam-panel label{color:#314252;display:grid;font-size:.8rem;font-weight:850;gap:6px}.openfoam-panel input{border:1px solid #c9d3dc;border-radius:7px;color:#17202a;min-width:0;padding:10px 11px;width:100%}.run-status{background:#f8fafc;border:1px solid #dce5eb;border-radius:8px;display:grid;gap:10px;padding:12px}.run-progress{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));isolation:isolate;overflow:hidden;position:relative}.run-progress.running{background:linear-gradient(90deg,#f8fafc00,#e2faf6cc 48%,#f8fafc00);background-size:220% 100%;animation:runStatusShimmer 1.8s ease-in-out infinite}.run-progress-sheen{background:linear-gradient(90deg,transparent,rgba(20,184,166,.14),transparent);inset:0;pointer-events:none;position:absolute;transform:translate(-100%);animation:runShimmerSweep 1.9s ease-in-out infinite;z-index:0}.run-step{align-items:center;color:#8292a0;display:grid;gap:5px;min-width:0;position:relative;z-index:1}.run-step span{background:#d8e1e8;border-radius:999px;height:5px;width:100%}.run-step strong{font-size:.64rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.run-step.active{color:#087366}.run-step.active span{background:#2dd4bf}.run-step.current span{background:linear-gradient(90deg,#14b8a6,#8ff5e6 45%,#14b8a6);background-size:220% 100%;box-shadow:0 0 14px #14b8a652;animation:runStatusShimmer 1.1s ease-in-out infinite}.run-progress.failed .run-step.active{color:#b42318}.run-progress.failed .run-step.active span{background:#ef4444}.run-status span,.run-status strong{display:block}.run-status span{color:#65798b;font-size:.72rem;font-weight:850;text-transform:uppercase}.run-status strong{margin-top:3px}.run-status pre{background:#0d141c;border-radius:7px;color:#e6edf3;font-family:Cascadia Code,Consolas,monospace;font-size:.74rem;line-height:1.45;margin:0;max-height:190px;overflow:auto;padding:10px;white-space:pre-wrap}.vtk-note{background:#e6f7f4;border:1px solid #b8e8df;border-radius:7px;color:#087366;font-weight:750;padding:9px 10px}.result-links{display:flex;flex-wrap:wrap;gap:8px}.result-links a{background:#fff;border:1px solid #c9d3dc;border-radius:7px;color:#17202a;padding:8px 10px;text-decoration:none}.quick-prompts{display:grid;gap:8px}.quick-prompts button,.parameter-list span{background:#f8fafc;border:1px solid #dce5eb;border-radius:7px;color:#314252;padding:9px 10px;text-align:left}.quick-prompts button{color:#405468}.inspector-section{display:grid;gap:10px}.parameter-list{display:grid;gap:8px}.trace-list{counter-reset:trace;display:grid;gap:8px;list-style:none;margin:0;padding:0}.trace-list li{background:#f8fafc;border:1px solid #dce5eb;border-radius:7px;color:#405468;line-height:1.42;padding:9px 10px}.muted-note{color:#66788a;font-size:.84rem;line-height:1.45;margin:0}.model-card{display:grid;gap:18px;padding:18px}.model-stats{display:grid;gap:10px;grid-template-columns:1fr 1fr}.model-stats span{background:#f8fafc;border:1px solid #dce5eb;border-radius:7px;color:#66788a;padding:12px}.model-stats strong{color:#17202a;display:block;font-size:1.3rem;margin-bottom:2px}.lineage-rail{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.lineage-rail article{padding:16px}.lineage-rail span{color:#087366;display:block;font-size:.76rem;font-weight:850;margin-bottom:14px}.lineage-rail strong{display:block;margin-bottom:8px}.deployment-list{display:grid;gap:12px}.deployment-list article{align-items:center;display:flex;justify-content:space-between;padding:18px}.deployment-list span{background:#f1f5f8;border:1px solid #dce5eb;color:#405468;padding:7px 10px}.field-legend{background:#0a121cd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:8px;bottom:18px;color:#f0f6ff;padding:10px 13px;pointer-events:none;position:absolute;right:16px;-webkit-user-select:none;user-select:none;width:130px;z-index:10}.legend-label{font-size:.68rem;font-weight:850;letter-spacing:.04em;margin-bottom:8px;opacity:.85;text-transform:uppercase}.legend-body{align-items:stretch;display:flex;gap:8px}.legend-bar{background:linear-gradient(to top,#00f,#0ff,#0f0,#ff0,red);border-radius:3px;flex:0 0 12px;min-height:100px}.legend-ticks{display:flex;flex-direction:column;font-size:.65rem;justify-content:space-between;min-height:100px;opacity:.9}.legend-unit{color:#bed2f0b3;font-size:.63rem;margin-top:6px;text-align:right}@media(max-width:1240px){.app-shell{grid-template-columns:1fr}.sidebar{gap:18px}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr))}.workbench-layout,.project-grid,.model-grid{grid-template-columns:1fr}.lineage-rail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){.workspace,.sidebar{padding:16px}.page-header,.section-heading,.stage-toolbar,.stage-actions,.field-toolbar,.deployment-list article{align-items:stretch;flex-direction:column}.environment-pill{min-width:0}.nav-list,.lineage-rail,.model-stats,.run-overview,.input-grid,.flow-metrics,.aero-forces-grid,.viewer-control-grid,.slice-position{grid-template-columns:1fr}.field-picker,.field-picker select{width:100%}h1{font-size:1.82rem}.three-stage{min-height:360px}}:root{color:#15202b;background:#f4f6f8}body{background:#f4f6f8}.launch-root{background:#fff;color:#17202a;min-height:100vh;overflow:hidden;position:relative}.launch-root:before{background-image:linear-gradient(rgba(23,32,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,42,.045) 1px,transparent 1px);background-size:38px 38px;content:"";inset:0;-webkit-mask-image:linear-gradient(to bottom,black,transparent 78%);mask-image:linear-gradient(to bottom,black,transparent 78%);pointer-events:none;position:absolute;z-index:0}.physics-intro{align-items:center;animation:physicsIntroExit .58s ease-in 3.22s both;background:#fff;display:flex;inset:0;justify-content:center;pointer-events:all;position:fixed;z-index:3000}.physics-intro-field{aspect-ratio:1;position:relative;width:min(72vmin,460px)}.physics-intro-field img{animation:physicsLogoPop 1.25s cubic-bezier(.16,1,.3,1) both;height:clamp(118px,18vw,190px);left:50%;object-fit:contain;position:absolute;top:50%;transform:translate(-50%,-50%);width:clamp(118px,18vw,190px);z-index:3}.physics-axis,.physics-orbit,.physics-particle,.physics-vector,.physics-formula{position:absolute}.physics-axis{background:#111827;opacity:.12;transform-origin:center}.physics-axis-x{animation:physicsAxisDraw .8s ease-out .16s both;height:1px;left:3%;top:50%;width:94%}.physics-axis-y{animation:physicsAxisDrawY .8s ease-out .24s both;height:94%;left:50%;top:3%;width:1px}.physics-orbit{border:1px solid rgba(17,24,39,.34);border-radius:50%;inset:13%}.physics-orbit-one{animation:physicsOrbitOne 1.9s cubic-bezier(.16,1,.3,1) .16s both,physicsOrbitSpin 5.8s linear 1.2s infinite}.physics-orbit-two{animation:physicsOrbitTwo 1.9s cubic-bezier(.16,1,.3,1) .24s both,physicsOrbitCounterSpin 7.2s linear 1.2s infinite}.physics-orbit-three{animation:physicsOrbitThree 1.9s cubic-bezier(.16,1,.3,1) .32s both,physicsOrbitSpin 9s linear 1.2s infinite;inset:4%;opacity:.42}.physics-particle{animation:physicsParticlePop .5s ease-out both,physicsParticleOrbit 2.4s linear .9s infinite;background:#111827;border-radius:999px;height:7px;left:50%;top:50%;transform-origin:0 0;width:7px;z-index:2}.physics-particle-one{--particle-radius: min(35vmin, 150px);--particle-angle: 18deg;animation-delay:.72s,.95s}.physics-particle-two{--particle-radius: min(28vmin, 118px);--particle-angle: 144deg;animation-delay:.82s,1.05s}.physics-particle-three{--particle-radius: min(42vmin, 184px);--particle-angle: 258deg;animation-delay:.92s,1.15s}.physics-vector{animation:physicsVector .9s ease-out .72s both;background:#111827;height:2px;transform-origin:left center}.physics-vector:after{border-bottom:5px solid transparent;border-left:10px solid #111827;border-top:5px solid transparent;content:"";position:absolute;right:-1px;top:-4px}.physics-vector-one{left:19%;top:30%;--vector-rotation: -22deg;transform:rotate(var(--vector-rotation));width:27%}.physics-vector-two{left:54%;top:69%;--vector-rotation: 148deg;transform:rotate(var(--vector-rotation));width:22%}.physics-formula{animation:physicsFormulaIn .7s ease-out both;color:#111827;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.8rem,1.6vw,1.05rem);font-weight:700;letter-spacing:0;opacity:0;white-space:nowrap}.physics-formula-one{animation-delay:.58s;left:4%;top:17%}.physics-formula-two{animation-delay:.72s;right:2%;top:23%}.physics-formula-three{animation-delay:.86s;bottom:15%;left:10%}.launch-topbar{align-items:center;animation:landingTopbarIn .72s cubic-bezier(.16,1,.3,1) 3.2s both;display:flex;height:72px;justify-content:space-between;padding:0 34px;position:relative;z-index:1200}.brand-lockup{align-items:center;display:flex;gap:12px}.brand-lockup img{background:#fff;border:0;border-radius:0;height:60px;object-fit:contain;padding:0;width:60px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{color:#111827;font-size:.92rem;font-weight:850}.brand-lockup span{color:#66788a;font-size:.75rem;margin-top:2px}.brand-lockup.compact img{height:34px;width:34px}.launch-center{animation:landingCenterIn .9s cubic-bezier(.16,1,.3,1) 3.16s both;align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:900px;min-height:calc(100vh - 72px);padding:12vh 24px 40px;position:relative;z-index:1}.launch-copy{margin-bottom:24px;min-height:138px;position:relative;text-align:center}.intro-kicker{animation:landingTextIn .62s ease-out 3.32s both}.launch-copy h1,.intro-title{animation:landingTitleIn .84s cubic-bezier(.16,1,.3,1) 3.42s both;color:#0f172a;font-size:clamp(2rem,4.4vw,4.75rem);font-weight:780;line-height:1.02;margin:0 auto 18px;max-width:94vw;overflow:visible;position:relative}.intro-line{display:inline-flex;gap:.22em;justify-content:center;white-space:nowrap}.intro-word-slot{display:inline-block;min-width:5.7em;position:relative;text-align:left}.intro-word{animation-duration:4.4s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,1,.3,1);color:#000;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:700;font-style:normal;left:0;position:absolute;top:0;white-space:nowrap}.intro-word--one{animation-name:introWordOne}.intro-word--two{animation-name:introWordTwo}.intro-word--three{animation-name:introWordThree}.intro-word--four{animation-name:introWordFour}.intro-scanline{animation:scanlineReveal .95s cubic-bezier(.16,1,.3,1) .32s both;background:linear-gradient(90deg,#0000,#000,#0000);border-radius:999px;height:2px;margin:0 auto;width:min(520px,72vw)}.intro-title-static span{color:#000;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:700}.intro-has-run .launch-copy{min-height:98px}.sr-only{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.launch-root:not(.intro-has-run) .chat-panel--composer{animation:introComposer .72s cubic-bezier(.16,1,.3,1) 4.18s both}.launch-root:not(.intro-has-run) .launch-actions{animation:introFade .5s ease-out 4.28s both}.launch-root:not(.intro-has-run) .launch-suggestions{animation:introFade .5s ease-out 4.42s both}.launch-root .chat-panel--composer{animation:landingComposerIn .9s cubic-bezier(.16,1,.3,1) 3.62s both}.launch-root .launch-suggestions{animation:landingSuggestionsIn .72s cubic-bezier(.16,1,.3,1) 3.82s both}.launch-root .launch-actions{animation:landingActionsIn .68s cubic-bezier(.16,1,.3,1) 3.38s both}@keyframes introRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes introComposer{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes introFade{0%{opacity:0}to{opacity:1}}@keyframes revealLaunchUi{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes landingTopbarIn{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes landingCenterIn{0%{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes landingTextIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes landingTitleIn{0%{filter:blur(8px);opacity:0;transform:translateY(20px) scale(.98)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}@keyframes landingComposerIn{0%{opacity:0;transform:translateY(34px) scale(.975)}72%{transform:translateY(-3px) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes landingActionsIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes landingSuggestionsIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes physicsIntroExit{to{opacity:0;transform:scale(1.015);visibility:hidden}}@keyframes physicsLogoPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.74)}52%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes physicsAxisDraw{0%{opacity:0;transform:scaleX(0)}to{opacity:.12;transform:scaleX(1)}}@keyframes physicsAxisDrawY{0%{opacity:0;transform:scaleY(0)}to{opacity:.12;transform:scaleY(1)}}@keyframes physicsOrbitOne{0%{opacity:0;transform:rotate(-24deg) scale(.64)}to{opacity:1;transform:rotate(-24deg) scale(1)}}@keyframes physicsOrbitTwo{0%{opacity:0;transform:rotate(58deg) scale(.68)}to{opacity:1;transform:rotate(58deg) scale(.82)}}@keyframes physicsOrbitThree{0%{opacity:0;transform:rotate(0) scale(.52)}to{opacity:.42;transform:rotate(0) scale(1)}}@keyframes physicsOrbitSpin{to{transform:rotate(360deg) scale(1)}}@keyframes physicsOrbitCounterSpin{to{transform:rotate(-302deg) scale(.82)}}@keyframes physicsParticlePop{0%{opacity:0}to{opacity:1}}@keyframes physicsParticleOrbit{0%{transform:rotate(var(--particle-angle)) translate(var(--particle-radius)) translate(-50%,-50%)}to{transform:rotate(calc(var(--particle-angle) + 360deg)) translate(var(--particle-radius)) translate(-50%,-50%)}}@keyframes physicsVector{0%{opacity:0;transform:rotate(var(--vector-rotation, 0deg)) scaleX(0)}to{opacity:1}}@keyframes physicsFormulaIn{0%{opacity:0;transform:translateY(8px)}to{opacity:.72;transform:translateY(0)}}@keyframes introWordOne{0%{opacity:0;transform:translate(0) rotateX(-72deg)}7%,18%{opacity:1;transform:translate(0) rotateX(0)}25%,to{opacity:0;transform:translate(0) rotateX(72deg)}}@keyframes introWordTwo{0%{opacity:0;transform:translate(0) rotateX(-72deg)}25%{opacity:0;transform:translate(0) rotateX(-72deg)}32%,43%{opacity:1;transform:translate(0) rotateX(0)}50%,to{opacity:0;transform:translate(0) rotateX(72deg)}}@keyframes introWordThree{0%{opacity:0;transform:translate(0) rotateX(-72deg)}50%{opacity:0;transform:translate(0) rotateX(-72deg)}57%,68%{opacity:1;transform:translate(0) rotateX(0)}75%,to{opacity:0;transform:translate(0) rotateX(72deg)}}@keyframes introWordFour{0%{opacity:0;transform:translate(0) rotateX(-72deg)}75%{opacity:0;transform:translate(0) rotateX(-72deg)}84%,to{opacity:1;transform:translate(0) rotateX(0)}}@keyframes scanlineReveal{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.launch-suggestions{display:flex;gap:8px;margin-top:14px;max-width:100%;overflow-x:auto;padding:2px 4px 8px;scrollbar-width:none;width:min(720px,100%)}.launch-suggestions::-webkit-scrollbar{display:none}.launch-suggestions button{background:#ffffffa3;border:1px solid #d8e1e8;border-radius:999px;color:#526879;flex:0 0 auto;font-size:.8rem;font-weight:720;min-height:34px;padding:0 12px;white-space:nowrap}.launch-suggestions button:hover{background:#fff;border-color:#111827;color:#111827}.app-root.workbench-root{background:#f4f6f8;display:grid;grid-template-columns:384px minmax(0,1fr);height:100vh;overflow:hidden}.app-root.workbench-root.chat-collapsed{grid-template-columns:minmax(0,1fr)}.chat-rail-wrap{height:100vh;min-width:0;position:relative}.chat-collapse-btn{background:#172332;border:1px solid #2b3d4f;border-radius:999px;color:#9fb0bd;font-size:.72rem;font-weight:820;padding:5px 9px}.chat-collapse-btn:hover{background:#ffffff21;color:#fff}.chat-panel{background:#101923;border:0;color:#e6edf3}.chat-panel--composer{background:transparent;border:0;height:auto;overflow:visible;width:min(760px,100%)}.launch-root .secondary-action{background:#fff;border-color:#111827;color:#111827}.launch-root .secondary-action:hover{background:#111827;color:#fff}.launch-root .settings-icon-btn,.launch-root .help-icon-btn{background:#fff;border-color:#111827;color:#111827}.launch-root .settings-icon-btn:hover,.launch-root .settings-icon-btn.active,.launch-root .help-icon-btn:hover,.launch-root .help-icon-btn.active{border-color:#111827;box-shadow:0 0 0 4px #11182714;color:#111827}.launch-root .chat-panel--composer .chat-input-area{border-color:#111827;box-shadow:0 24px 80px #1118271f}.launch-root .chat-panel--composer .chat-textarea-wrap:focus-within{box-shadow:inset 0 0 0 1px #111827}.launch-root .chat-send-btn{background:#111827;box-shadow:0 10px 24px #11182733}.launch-root .quick-chip{background:#fff;border-color:#d1d5db;color:#111827}.launch-root .quick-chip:hover{border-color:#111827;color:#111827}.launch-root .agent-status-pill span,.launch-root .chat-avatar{background:#111827;box-shadow:none}.chat-panel--rail{border-right:1px solid #d6e0e7;box-shadow:8px 0 32px #0f172a14}.chat-header{border-bottom:1px solid rgba(255,255,255,.08);align-items:center;display:flex;justify-content:space-between;padding:16px 18px 13px}.chat-header span{color:#6d8599;display:block;font-size:.72rem;font-weight:850;text-transform:uppercase}.chat-header strong{color:#f7fafc;display:block;font-size:.95rem;margin-top:4px}.chat-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:7px}.agent-status-pill{align-items:center;background:transparent;border:1px solid rgba(38,65,85,.65);border-radius:999px;color:#8294a4;display:inline-flex;flex:0 0 auto;font-size:.66rem;font-weight:760;gap:6px;padding:4px 7px}.agent-status-pill span{background:#14b8a6;border-radius:999px;box-shadow:none;height:6px;width:6px}.agent-status-pill.is-thinking{background:linear-gradient(90deg,#122333f2,#173544f2,#122333f2);background-size:220% 100%;animation:chatThinkingShimmer 1.45s ease-in-out infinite;color:#c3d7df}.chat-messages{align-items:stretch;gap:14px;padding:20px 18px;scroll-padding-bottom:112px}.chat-scroll-spacer{flex:0 0 86px;min-height:86px}.chat-panel.is-busy .chat-scroll-spacer{flex-basis:132px;min-height:132px}.chat-msg{flex:0 0 auto;gap:10px;min-width:0;width:100%}.chat-avatar{background:#14b8a6;box-shadow:0 0 0 4px #14b8a621;height:20px;width:20px}.chat-bubble{font-size:.9rem;line-height:1.58;max-width:91%;min-width:0;overflow-wrap:anywhere;word-break:normal}.chat-msg--assistant .chat-bubble{color:#b8c7d3;padding-top:0}.chat-msg--user .chat-bubble{background:#1b2a3a;border:1px solid #2c4053;color:#eef6fb;max-width:min(91%,32rem)}.agent-thinking{align-items:center;background:#121e2aad;border:1px solid rgba(38,57,77,.72);border-radius:999px;box-sizing:border-box;color:#8ea0ad;display:flex;flex:0 0 auto;font-size:.76rem;font-weight:680;gap:9px;min-width:0;padding:7px 10px;position:relative;overflow:hidden;width:fit-content;max-width:100%}.shimmer-thinking{background:linear-gradient(90deg,#101b26d1,#152a36e6 44%,#145652bd,#152a36e6 64%,#101b26d1);background-size:240% 100%;animation:chatThinkingShimmer 1.55s ease-in-out infinite;border-color:#14b8a629}.shimmer-thinking:after{background:linear-gradient(90deg,transparent,rgba(125,241,225,.12),transparent);content:"";inset:0;position:absolute;transform:translate(-100%);animation:chatThinkingSweep 1.75s ease-in-out infinite}.shimmer-thinking>span{position:relative;z-index:1}.thinking-shimmer-mark{flex:0 0 auto;background:linear-gradient(135deg,#12d9c1,#8ff5e6);border-radius:999px;box-shadow:none;display:inline-block;height:6px;width:6px}.agent-thinking>span:last-child{min-width:0;overflow-wrap:anywhere}.composer-thinking{align-items:center;border:1px solid rgba(20,184,166,.2);border-radius:999px;color:#8ca1b1;display:inline-flex;font-size:.76rem;font-weight:760;gap:8px;margin-top:10px;padding:8px 11px}.thinking-dots{display:inline-flex;gap:3px}.thinking-dots i{animation:thinkingDot 1s ease-in-out infinite;background:#14b8a6;border-radius:999px;display:block;height:5px;width:5px}.thinking-dots i:nth-child(2){animation-delay:.14s}.thinking-dots i:nth-child(3){animation-delay:.28s}@keyframes thinkingDot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes chatThinkingShimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes chatThinkingSweep{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes runStatusShimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes runShimmerSweep{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}.skill-event{align-items:center;background:transparent;border:0;border-radius:0;box-sizing:border-box;color:#8094a4;display:grid;flex:0 0 auto;gap:4px 8px;grid-template-columns:6px auto 1fr;min-width:0;padding:1px 2px 1px 12px;width:100%}.skill-event-dot{background:#14b8a6;border-radius:999px;height:6px;opacity:.72;width:6px}.skill-event-kicker{color:#6f8495;font-size:.66rem;font-weight:760;text-transform:uppercase}.skill-event strong{color:#aebdca;font-size:.76rem;font-weight:720;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-event p{color:#74899a;font-size:.72rem;grid-column:3;line-height:1.45;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area{border-top:1px solid rgba(255,255,255,.08);flex-direction:column-reverse;gap:12px;padding:16px 18px 20px}.chat-panel--composer .chat-input-area{background:#fff;border:1px solid #d4dfe7;border-radius:18px;box-shadow:0 24px 80px #0f172a24;flex-direction:column;padding:12px}.chat-textarea-wrap{background:#fff;border:1px solid #d4dfe7;border-radius:12px;padding:12px 12px 12px 14px}.chat-panel--rail .chat-textarea-wrap{background:#172332;border-color:#2b3d4f}.chat-panel--composer .chat-textarea-wrap{border:0;border-radius:12px;padding:8px 8px 8px 10px}.chat-textarea-wrap:focus-within{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a61f}.chat-panel--composer .chat-textarea-wrap:focus-within{box-shadow:none}.chat-textarea{color:#17202a;font-size:.95rem}.chat-panel--rail .chat-textarea{color:#e6edf3}.chat-panel--composer .chat-textarea{min-height:76px}.chat-textarea::placeholder{color:#8a9bab}.ai-disclaimer{color:#7f91a0;font-size:.68rem;line-height:1.35;margin:8px 2px 0}.chat-panel--composer .ai-disclaimer{color:#6f8190;padding:0 8px}.chat-send-btn{background:linear-gradient(135deg,#14b8a6,#0f766e);box-shadow:0 10px 24px #0f766e47}.quick-chips{gap:7px;overflow:hidden}.quick-chip{background:#eef7f6;border-color:#c8e7e2;color:#0f766e;font-size:.72rem}.chat-panel--rail .quick-chip{background:transparent;border-color:#2b3d4fb8;color:#8195a5;max-width:46%;overflow:hidden;text-overflow:ellipsis}.quick-chip:hover{border-color:#14b8a6;color:#0f766e}.sim-panel{background:#f4f6f8;display:flex;flex-direction:column;height:100vh;overflow:hidden}.sim-commandbar{background:#ffffffeb;border-bottom:1px solid #d8e1e8;display:block;padding:14px 20px;position:relative;z-index:1200}.sim-title-block{align-items:center;display:flex;gap:18px;justify-content:space-between}.sim-brand-block{align-items:center;display:flex;gap:13px;min-width:0}.sim-brand-block img{background:transparent;border:0;border-radius:0;box-shadow:none;height:56px;object-fit:contain;padding:0;width:56px}.sim-brand-block h1{color:#111827;font-size:1.04rem;line-height:1.1;margin:0}.sim-section-label{color:#65798b;font-size:.68rem;font-weight:850;margin:0 0 3px;text-transform:uppercase}.sim-brand-meta{align-items:center;color:#65798b;display:flex;flex-wrap:wrap;font-size:.74rem;font-weight:740;gap:6px;margin-top:5px}.sim-brand-meta span{background:#eef3f6;border:1px solid #d8e1e8;border-radius:999px;max-width:220px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.sim-new-btn{align-items:center;background:#111827;border:1px solid #111827;border-radius:8px;color:#fff;display:inline-flex;font-size:.84rem;font-weight:850;height:40px;justify-content:center;padding:0 14px;white-space:nowrap}.sim-new-btn:hover{background:#1f2937}.sim-chat-btn{align-items:center;background:#fff;border:1px solid #d4dfe7;border-radius:8px;color:#314252;display:inline-flex;font-size:.84rem;font-weight:850;height:40px;justify-content:center;padding:0 12px;white-space:nowrap}.sim-chat-btn:hover{border-color:#14b8a6;color:#0f766e}.command-group{align-items:center;background:#eef3f6;border:1px solid #d8e1e8;border-radius:8px;display:inline-flex;flex:0 0 auto;gap:6px;min-height:42px;padding:5px}.launch-actions{align-items:center;display:flex;gap:10px}.settings-menu{position:relative}.settings-icon-btn{align-items:center;background:#fff;border:1px solid #d4dfe7;border-radius:8px;color:#314252;display:inline-flex;font-size:1.28rem;font-weight:850;height:48px;justify-content:center;width:48px}.help-icon-btn{align-items:center;background:#fff;border:1px solid #d4dfe7;border-radius:8px;color:#314252;display:inline-flex;font-size:1.1rem;font-weight:900;height:48px;justify-content:center;width:48px}.settings-icon-btn:hover,.settings-icon-btn.active,.help-icon-btn:hover,.help-icon-btn.active{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a61a;color:#0f766e}.help-popover-layer{background:#0f172a0f;inset:0;position:fixed;z-index:1000}.help-popover{background:#fff;border:1px solid #d4dfe7;border-radius:12px;box-shadow:0 28px 90px #0f172a33;color:#314252;display:grid;gap:12px;padding:14px;position:fixed;right:22px;top:76px;width:min(390px,calc(100vw - 32px));z-index:1001}.help-popover p{color:#5f7283;font-size:.84rem;line-height:1.5;margin:0}.help-popover-head{border-bottom:1px solid #e3ebf0;display:grid;gap:3px;padding-bottom:10px}.help-popover-head span{color:#65798b;font-size:.7rem;font-weight:850;text-transform:uppercase}.help-popover-head strong{color:#17202a;font-size:.94rem}.help-example-list{display:grid;gap:7px}.help-example-list button{background:#f5f8fa;border:1px solid #d8e1e8;border-radius:8px;color:#26394a;font-size:.8rem;font-weight:780;padding:9px 10px;text-align:left}.help-example-list button:hover{border-color:#14b8a6;color:#0f766e}.help-popover .help-note{background:#eef7f6;border:1px solid #c8e7e2;border-radius:8px;color:#0f766e;font-size:.76rem;padding:9px 10px}.settings-menu-panel{background:#fff;border:1px solid #d4dfe7;border-radius:12px;display:grid;gap:10px;padding:12px;width:100%}.settings-popover-layer{background:#0f172a1a;inset:0;position:fixed;z-index:1000}.settings-popover{box-shadow:0 28px 90px #0f172a3d;position:fixed;right:22px;top:76px;width:min(520px,calc(100vw - 32px));z-index:1001}.settings-menu-head{border-bottom:1px solid #e3ebf0;display:grid;gap:3px;padding:2px 2px 10px}.settings-menu-head span{color:#65798b;font-size:.7rem;font-weight:850;text-transform:uppercase}.settings-menu-head strong{color:#17202a;font-size:.94rem}.settings-menu-panel .command-group,.settings-menu-panel .upload-command{width:100%}.settings-menu-panel .command-group{justify-content:flex-start}.settings-menu-panel .object-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-menu-panel .object-switcher button{min-width:0;padding-left:6px;padding-right:6px}.settings-menu-panel .field-control{display:grid;grid-template-columns:auto minmax(0,1fr)}.settings-menu-panel .field-control select{min-width:0;width:100%}.preset-model-picker{display:grid;gap:8px}.preset-model-picker div{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.preset-model-picker button{background:#fff;border:1px solid #d7e3eb;border-radius:7px;color:#30465a;cursor:pointer;font-size:.78rem;font-weight:780;min-height:38px;padding:7px 8px;text-align:left}.preset-model-picker button:hover,.preset-model-picker button.active{border-color:#0f766e;color:#0f766e}.object-switcher button{background:transparent;border:0;border-radius:6px;color:#526879;font-size:.8rem;font-weight:820;padding:8px 10px}.object-switcher button.active{background:#fff;box-shadow:0 1px 2px #0f172a14;color:#0f766e}.numeric-controls label,.field-control label{align-items:center;color:#65798b;display:inline-flex;font-size:.72rem;font-weight:850;gap:7px;text-transform:uppercase}.numeric-controls input{background:#fff;border:1px solid #d4dfe7;border-radius:6px;color:#17202a;font-weight:800;padding:7px 8px;width:76px}.field-control select{background:#fff;border:1px solid #d4dfe7;border-radius:6px;color:#17202a;font-size:.82rem;font-weight:780;min-width:210px;padding:8px 10px}.upload-command{align-items:center;background:#111827;border:1px solid #111827;border-radius:8px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:820;justify-content:center;min-height:42px;max-width:190px;overflow:hidden;padding:0 13px;text-overflow:ellipsis;white-space:nowrap}.upload-command input{display:none}.loading-root{display:grid;grid-template-rows:72px 1fr}.loading-stage{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:24px;position:relative;text-align:center;z-index:1}.solver-loader{align-items:center;background:#fff;border:1px solid #d6e0e7;border-radius:18px;box-shadow:0 24px 80px #0f172a24;display:flex;gap:11px;height:86px;justify-content:center;margin-bottom:26px;width:132px}.solver-loader span{animation:solverPulse 1.1s ease-in-out infinite;background:linear-gradient(180deg,#14b8a6,#0f766e);border-radius:999px;height:32px;width:10px}.solver-loader span:nth-child(2){animation-delay:.14s;height:48px}.solver-loader span:nth-child(3){animation-delay:.28s;height:24px}@keyframes solverPulse{0%,to{opacity:.45;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1)}}.loading-stage h1{color:#0f172a;font-size:clamp(2rem,4vw,3.6rem);margin-bottom:20px}.loading-steps{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.loading-steps span{background:#ffffffc7;border:1px solid #d6e0e7;border-radius:999px;color:#526879;font-size:.82rem;font-weight:820;padding:8px 12px}.workbench-layout{flex:1 1 0;min-height:0;overflow:auto;padding:16px}.workbench-main{background:transparent;border:0;box-shadow:none;gap:12px;padding:0}.simulation-toolbar,.run-overview article,.object-overview,.run-progress-strip,.panel-card,.upload-panel,.freestream-panel,.object-panel,.run-status{border-color:#d8e1e8;box-shadow:0 1px 2px #0f172a0a}.three-stage{border:1px solid #d8e1e8;border-radius:10px;height:min(64vh,760px);min-height:520px}.simulation-scroll-anchor{scroll-margin-top:0}@media(max-width:1120px){.app-root.workbench-root{grid-template-columns:1fr}.chat-panel--rail{border-right:0;border-bottom:1px solid #d8e1e8;height:320px}.sim-panel{height:calc(100vh - 320px)}}@media(max-width:720px){.launch-topbar{padding:0 18px}.launch-center{padding:7vh 16px 28px}.sim-title-block{align-items:stretch;flex-direction:column}.command-group,.field-control,.field-control select,.upload-command{width:100%}.settings-menu-panel{max-height:min(72vh,560px);overflow-y:auto}.settings-popover{right:16px;top:68px;width:calc(100vw - 32px)}.settings-menu-panel .object-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.three-stage{min-height:360px}}@media(max-width:900px){html,body,#root{min-height:100%;overflow-x:hidden}.app-root,.app-root.workbench-root,.app-root.workbench-root.chat-collapsed{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.chat-rail-wrap{flex:0 0 min(42dvh,340px);height:auto;min-height:220px;order:2}.chat-panel,.chat-panel--rail{border-bottom:1px solid #d8e1e8;border-right:0;box-shadow:0 -8px 30px #0f172a14;height:100%}.chat-header{padding:11px 14px 9px}.chat-messages{gap:10px;padding:12px 14px;scroll-padding-bottom:86px}.chat-scroll-spacer{flex-basis:52px;min-height:52px}.chat-panel.is-busy .chat-scroll-spacer{flex-basis:78px;min-height:78px}.chat-bubble{font-size:.84rem;max-width:94%}.chat-input-area{gap:8px;padding:10px 14px calc(12px + env(safe-area-inset-bottom))}.chat-panel--rail .quick-chip{max-width:48%}.sim-panel{flex:1 1 auto;height:auto;min-height:0;order:1}.app-root.workbench-root.chat-collapsed .sim-panel{height:100dvh}.sim-commandbar{flex:0 0 auto;padding:10px 12px}.sim-title-block{align-items:stretch;gap:10px}.sim-brand-block{gap:9px}.sim-brand-block img{height:34px;width:34px}.sim-brand-block h1{font-size:.98rem}.sim-brand-meta{gap:4px}.sim-brand-meta span{max-width:135px;padding:2px 6px}.launch-actions{flex-wrap:wrap;gap:8px}.sim-new-btn,.sim-chat-btn{flex:1 1 132px;height:38px}.settings-icon-btn,.help-icon-btn{height:44px;width:44px}.workbench-layout{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px}.workbench-main{gap:10px;padding:0}.stage-toolbar,.simulation-toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.toolbar-run,.toolbar-field,.toolbar-settings,.icon-toggle{justify-content:center;min-width:0;width:100%}.toolbar-field{grid-column:1 / -1}.toolbar-field select{min-width:0;width:100%}.run-overview,.input-grid,.flow-metrics,.aero-forces-grid,.viewer-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-stage{aspect-ratio:auto;height:clamp(360px,54dvh,620px);min-height:360px}.scene-controls{left:8px;max-width:calc(100% - 16px);overflow-x:auto;top:8px}.scene-controls button{flex:0 0 auto}.settings-popover,.help-popover{left:10px;right:10px;top:calc(10px + env(safe-area-inset-top));width:auto}.settings-menu-panel{max-height:min(82dvh,680px);overflow-y:auto;overscroll-behavior:contain}.settings-drawer{max-width:100vw;min-width:100vw}}@media(max-width:520px){.physics-intro{align-items:center;padding:24px}.physics-intro-field{width:min(86vmin,340px)}.physics-intro-field img{height:clamp(108px,34vmin,150px);width:clamp(108px,34vmin,150px)}.physics-formula{font-size:.72rem}.physics-formula-one{left:0;top:10%}.physics-formula-two{right:0;top:18%}.physics-formula-three{bottom:9%;left:2%}.physics-vector-one{left:13%;width:24%}.physics-vector-two{left:58%;width:20%}.launch-root{min-height:100dvh;overflow-y:auto}.launch-topbar{height:auto;min-height:64px;padding:10px 14px}.brand-lockup span,.sim-section-label,.agent-status-pill{display:none}.launch-center{justify-content:start;min-height:calc(100dvh - 72px);padding:8dvh 14px 24px}.intro-title{font-size:clamp(2rem,11vw,3rem);max-width:100%}.intro-line{display:inline-flex;flex-wrap:wrap;gap:.18em;justify-content:center;white-space:normal}.intro-word-slot{min-width:min(42vw,9.5rem)}.chat-panel--composer{width:100%}.chat-panel--composer .chat-input-area{border-radius:14px;padding:10px}.chat-panel--composer .chat-textarea{min-height:58px}.launch-suggestions{margin-top:10px;width:100%}.chat-rail-wrap{flex-basis:min(46dvh,360px);min-height:230px}.chat-header strong{font-size:.86rem}.chat-collapse-btn{padding:5px 8px}.chat-textarea{font-size:.88rem}.ai-disclaimer{font-size:.62rem}.sim-commandbar{padding:9px 10px}.sim-title-block{gap:8px}.sim-brand-meta span:nth-child(n+3){display:none}.sim-commandbar .launch-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px 40px;width:100%}.sim-commandbar .launch-actions .settings-menu{justify-self:end}.launch-topbar .launch-actions{flex:0 0 auto;gap:8px}.sim-new-btn,.sim-chat-btn{flex:initial;font-size:.78rem;height:38px;padding:0 9px}.workbench-layout,.simulation-toolbar{padding:8px}.toolbar-left,.toolbar-right{gap:6px;grid-template-columns:1fr 1fr}.icon-toggle,.toolbar-run,.toolbar-settings{font-size:.72rem;padding:8px 7px}.toolbar-field label,.field-dot{display:none}.run-overview,.input-grid,.flow-metrics,.aero-forces-grid,.viewer-control-grid,.preset-model-picker div,.settings-menu-panel .object-switcher{grid-template-columns:1fr}.context-row span{max-width:100%}.three-stage{border-radius:8px;height:clamp(330px,50dvh,520px);min-height:330px}.field-legend{bottom:10px;left:10px;max-width:calc(100% - 20px)}.legend-body{grid-template-columns:1fr auto}.legend-bar{min-width:120px}.flow-probe{display:none}.settings-popover,.help-popover{left:8px;right:8px;top:8px}.settings-menu-panel{border-radius:10px;max-height:calc(100dvh - 16px)}.numeric-controls input,.field-control select,.upload-command{width:100%}}.orch-root,.orch-login{background:linear-gradient(180deg,#fff,#f5f6f8 34%,#eef2f5);color:#17202a;min-height:100vh}.orch-login{align-items:center;display:flex;justify-content:center;padding:24px}.orch-login-card{background:#fff;border:1px solid #d8e1e8;border-radius:10px;box-shadow:0 24px 80px #0f172a1f;display:grid;gap:14px;max-width:380px;padding:22px;width:100%}.orch-login-card img,.orch-brand img{height:46px;object-fit:contain;width:46px}.orch-login-card p,.orch-brand p{color:#65798b;font-size:.72rem;font-weight:850;margin:0 0 3px;text-transform:uppercase}.orch-login-card h1,.orch-brand h1{font-size:1.1rem;margin:0}.orch-login-card label{color:#314252;display:grid;font-size:.82rem;font-weight:850;gap:7px}.orch-login-card input{border:1px solid #cbd5df;border-radius:8px;min-height:42px;padding:9px 11px}.orch-login-card button,.orch-actions button{background:#111827;border:1px solid #111827;border-radius:8px;color:#fff;font-weight:850;min-height:40px;padding:0 13px}.orch-login-card button:disabled,.orch-actions button:disabled{cursor:not-allowed;opacity:.62}.orch-actions button:last-child{background:#fff;color:#111827}.orch-header{align-items:center;background:#fff;border-bottom:1px solid #d8e1e8;display:flex;justify-content:space-between;padding:14px 20px;position:sticky;top:0;z-index:2}.orch-brand,.orch-actions{align-items:center;display:flex;gap:12px}.orch-root{padding-bottom:24px}.orch-error,.orch-error-banner{color:#b42318;font-size:.82rem}.orch-error-banner{background:#fff0ed;border:1px solid #ffd0c7;border-radius:8px;margin:16px 20px 0;padding:10px 12px}.orch-metrics{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));padding:18px 20px 0}.orch-metrics article,.orch-panel{background:#fff;border:1px solid #d8e1e8;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.orch-metrics article{padding:13px}.orch-metrics span{color:#65798b;display:block;font-size:.72rem;font-weight:850;text-transform:uppercase}.orch-metrics strong{display:block;font-size:1.45rem;margin-top:4px}.orch-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 20px}.orch-panel{min-width:0;overflow:hidden;padding:14px}.orch-panel-head{display:grid;gap:3px;margin-bottom:11px}.orch-panel-head span{color:#65798b;font-size:.68rem;font-weight:850;text-transform:uppercase}.orch-panel h2{font-size:.94rem;margin:0}.orch-panel table{border-collapse:collapse;font-size:.78rem;width:100%}.orch-panel th,.orch-panel td{border-top:1px solid #edf1f4;max-width:260px;overflow:hidden;padding:8px 7px;text-align:left;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.orch-panel th{color:#65798b;font-size:.68rem;text-transform:uppercase}.orch-click-row{cursor:pointer}.orch-click-row:hover td{background:#f5f8fa}.orch-list{display:grid;gap:8px}.orch-list article{border-top:1px solid #edf1f4;display:grid;gap:3px;padding-top:9px}.orch-list p,.orch-list small{color:#65798b;line-height:1.4;margin:0}.orch-panel pre{background:#0f172a;border-radius:8px;color:#dbeafe;font-size:.74rem;margin:0;max-height:360px;overflow:auto;padding:12px}.orch-dialog-layer{align-items:center;background:#0f172a75;display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:4000}.orch-dialog{background:#fff;border:1px solid #d8e1e8;border-radius:10px;box-shadow:0 28px 90px #0f172a47;display:flex;flex-direction:column;max-height:min(82vh,820px);max-width:min(920px,100%);min-height:420px;overflow:hidden;width:100%}.orch-dialog header{align-items:start;border-bottom:1px solid #e1e8ee;display:flex;justify-content:space-between;padding:16px 18px}.orch-dialog header span{color:#65798b;font-size:.68rem;font-weight:850;text-transform:uppercase}.orch-dialog header h2{font-size:1.05rem;margin:3px 0}.orch-dialog header p{color:#65798b;font-size:.78rem;margin:0}.orch-dialog header button{align-items:center;background:#f7fafc;border:1px solid #d8e1e8;border-radius:7px;color:#17202a;display:inline-flex;font-weight:900;height:34px;justify-content:center;width:34px}.orch-message-list{display:grid;gap:10px;overflow-y:auto;padding:16px 18px}.orch-message{border:1px solid #e1e8ee;border-radius:8px;display:grid;gap:8px;padding:12px}.orch-message-user{background:#f8fafc}.orch-message-assistant,.orch-message-skill,.orch-message-thinking{background:#fff}.orch-message div{align-items:center;display:flex;gap:10px;justify-content:space-between}.orch-message strong{font-size:.76rem;text-transform:uppercase}.orch-message span{color:#65798b;font-size:.72rem}.orch-message p{line-height:1.5;margin:0;white-space:pre-wrap}.orch-message pre{background:#0f172a;border-radius:7px;color:#dbeafe;font-size:.72rem;margin:0;overflow:auto;padding:9px}.orch-loading-float{background:#111827;border-radius:999px;bottom:18px;box-shadow:0 18px 48px #0f172a38;color:#fff;font-size:.82rem;font-weight:850;left:50%;padding:10px 14px;position:fixed;transform:translate(-50%);z-index:4100}@media(max-width:900px){.orch-header{align-items:stretch;flex-direction:column;gap:12px}.orch-actions{width:100%}.orch-actions button{flex:1}.orch-metrics,.orch-grid{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.orch-dialog-layer{padding:10px}.orch-dialog{max-height:calc(100dvh - 20px);min-height:min(520px,calc(100dvh - 20px))}}
