:root{color-scheme:light;--bg: #ffffff;--panel: #ffffff;--panel-2: #f4f7fb;--panel-3: #eef3f9;--canvas: #ffffff;--ink: #1e2a36;--heading: #101418;--muted: #617487;--line: rgba(42, 60, 84, .12);--accent: #1868d8;--accent-2: #0d8bd6;--warning: #d58b14;--danger: #d4515a;--success: #158f5d;--grid-minor: rgba(70, 120, 170, .08);--grid-major: rgba(54, 108, 177, .16);--grid-axis: rgba(188, 121, 25, .45);--grid-label: rgba(44, 62, 80, .72);--member-base: rgba(14, 18, 24, .16);--member-idle: #1b222b;--member-core: #11161c;--member-highlight: rgba(255, 255, 255, .7);--member-glow: rgba(12, 16, 22, .14);--element-break: rgba(214, 120, 22, .98);--element-break-underlay: rgba(248, 250, 252, .98);--mesh-line: rgba(24, 31, 40, .68);--mesh-point: rgba(24, 31, 40, .62);--node-fill: #ffffff;--node-stroke: #445568;--node-halo: rgba(255, 255, 255, .56);--support-stroke: #1f74c9;--support-fill: rgba(31, 116, 201, .12);--load-color: #1c9e60;--reaction-color: #bb5a79;--deformed-color: #d98510;--deformed-glow: rgba(217, 133, 16, .32);--label-fill: rgba(24, 31, 40, .94);--label-stroke: rgba(9, 14, 20, .18);--label-text: #f7fafc;--label-shadow: rgba(8, 14, 22, .2);--diagram-fill: rgba(24, 104, 216, .12);--diagram-grid: rgba(96, 131, 168, .18)}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--panel: #050505;--panel-2: #090909;--panel-3: #101010;--canvas: #000000;--ink: #f2f4f7;--heading: #ffffff;--muted: #9aa3ad;--line: rgba(255, 255, 255, .08);--accent: #3d8bfd;--accent-2: #5fb0ff;--warning: #f1b94e;--danger: #f06b66;--success: #52c38c;--grid-minor: rgba(255, 255, 255, .045);--grid-major: rgba(255, 255, 255, .1);--grid-axis: rgba(216, 178, 86, .56);--grid-label: rgba(255, 255, 255, .56);--member-base: rgba(255, 255, 255, .18);--member-idle: #f5f7fa;--member-core: #ffffff;--member-highlight: rgba(255, 255, 255, .92);--member-glow: rgba(255, 255, 255, .18);--element-break: rgba(255, 255, 255, .96);--element-break-underlay: rgba(0, 0, 0, .96);--mesh-line: rgba(255, 255, 255, .62);--mesh-point: rgba(255, 255, 255, .72);--node-fill: #ffffff;--node-stroke: #1c1c1c;--node-halo: rgba(255, 255, 255, .22);--support-stroke: #58b4ff;--support-fill: rgba(88, 180, 255, .18);--load-color: #67d68a;--reaction-color: #ff8cae;--deformed-color: #ffb24d;--deformed-glow: rgba(255, 178, 77, .38);--label-fill: rgba(255, 255, 255, .96);--label-stroke: rgba(0, 0, 0, .28);--label-text: #111111;--label-shadow: rgba(0, 0, 0, .42);--diagram-fill: rgba(255, 255, 255, .12);--diagram-grid: rgba(255, 255, 255, .16)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;min-height:100dvh;font-family:Segoe UI,Helvetica Neue,sans-serif;font-size:13px;color:var(--ink);background:radial-gradient(circle at top left,rgba(24,104,216,.08),transparent 22%),linear-gradient(180deg,#f8fbff,var(--bg))}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] #app{background:radial-gradient(circle at top left,rgba(255,255,255,.035),transparent 16%),linear-gradient(180deg,#000000,var(--bg))}body{overflow:hidden}#app{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}button,select,input,textarea{font:inherit}button,select,input[type=text],input[type=number],textarea{border:1px solid var(--line);border-radius:8px;background:var(--panel-3);color:var(--ink)}button{cursor:pointer;padding:.45rem .68rem}button:hover{border-color:#5fb0ff66}button.active{background:var(--accent);border-color:var(--accent);color:#fff}label{display:grid;gap:.18rem;font-size:.82rem}input[type=text],input[type=number],select,textarea{width:100%;padding:.36rem .48rem}textarea{resize:vertical;min-height:4.8rem;line-height:1.35}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:#fffffff0}.header-brand{display:flex;align-items:center;min-width:0}.header-brand__eyebrow{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.header-brand__title{font-size:1.02rem;font-weight:700;color:var(--heading)}.header-brand__meta{font-size:.76rem;color:var(--muted)}:root[data-theme=dark] .app-header{background:#0a0e14eb}.theme-toggle{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--panel)}.theme-toggle__icon{font-size:1rem;line-height:1}.theme-toggle__icon--moon,.theme-toggle[data-mode=dark] .theme-toggle__icon--sun{display:none}.theme-toggle[data-mode=light] .theme-toggle__icon--sun,.theme-toggle[data-mode=dark] .theme-toggle__icon--moon{display:inline}.header-actions,.button-row,.tool-grid,.section-head{display:flex;gap:.38rem;flex-wrap:wrap}.viewport-toggle{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.viewport-toggle__button{border:0;border-radius:999px;background:transparent;padding:.38rem .7rem;white-space:nowrap}.viewport-toggle__button:hover{border-color:transparent;background:#3d8bfd1f}.viewport-toggle__button.active{background:var(--accent);color:#fff}.workspace{display:grid;grid-template-columns:auto 10px minmax(0,1fr);height:100%;min-height:0;min-width:0;align-items:stretch;gap:0;padding:.55rem}.workspace>*{min-height:0}.main-stage{height:100%;min-width:0;display:block}.stage-grid{position:relative;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:.7rem}.stage-grid[data-viewport-mode="2d"]{grid-template-columns:minmax(0,1fr)}.stage-grid[data-viewport-mode="2d"] .viewer3d-panel{display:none}.stage-grid[data-viewport-mode="3d"]{grid-template-columns:minmax(0,1fr)}.stage-grid[data-viewport-mode="3d"] .canvas-panel{display:none}.panel{margin-bottom:.55rem;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fffffffa,#f6fafff7);box-shadow:inset 0 1px #ffffff05}.panel.compact{background:linear-gradient(180deg,#fafcfffa,#f0f5fbf7)}:root[data-theme=dark] .panel{background:linear-gradient(180deg,#141e28fa,#0f171ff5)}:root[data-theme=dark] .panel.compact{background:linear-gradient(180deg,#111821fa,#0e141bf5)}.panel h2{margin:0 0 .45rem;font-size:.83rem;letter-spacing:.05em;text-transform:uppercase;color:#27415f}:root[data-theme=dark] .panel h2{color:#cfe0f5}.canvas-panel{position:relative;min-height:0;height:100%;padding:0;overflow:hidden;border-radius:18px;background:radial-gradient(circle at top center,rgba(95,176,255,.08),transparent 24%),linear-gradient(180deg,#ffffff47,#fff0);box-shadow:inset 0 1px #ffffff61,inset 0 -28px 60px #12284214}.viewer3d-panel{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fffffff0,#f2f7fdf5)}:root[data-theme=dark] .viewer3d-panel{background:linear-gradient(180deg,#0e141bfa,#090d12fa)}.viewer3d-panel__header{display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.72rem .82rem;border-bottom:1px solid var(--line)}.viewer3d-panel__title{font-size:.96rem;font-weight:700;color:var(--heading)}.viewer3d-panel__actions{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}.viewer3d-panel__button,.viewer3d-panel__expand{padding:.3rem .5rem;border-radius:6px;font-size:.72rem;line-height:1.2}.viewer3d-controls{display:grid;gap:.55rem;padding:.7rem .82rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f8fbfffa,#f2f7fdf0)}:root[data-theme=dark] .viewer3d-controls{background:linear-gradient(180deg,#101720fa,#0c1117f5)}.viewer3d-controls__row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.viewer3d-controls__row--field{justify-content:space-between}.viewer3d-controls__field{display:grid;gap:.18rem;min-width:min(100%,280px);flex:1 1 240px}.viewer3d-controls__field>span,.viewer3d-controls__label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.viewer3d-controls__field select{max-width:100%}.viewer3d-controls__badge{display:inline-flex;align-items:center;min-height:34px;padding:.34rem .62rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);white-space:nowrap}.viewer3d-controls__button-group{display:inline-flex;gap:.25rem;flex-wrap:wrap}.viewer3d-controls__button{padding:.34rem .56rem;border-radius:999px}.viewer3d-controls__toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.28rem .55rem}.viewer3d-controls__toggles label{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.viewer3d-controls__toggles input{width:auto}.viewer3d{position:relative;min-height:0}.viewer3d__canvas{width:100%;height:100%;display:block}:root[data-theme=dark] .canvas-panel{background:radial-gradient(circle at top center,rgba(255,255,255,.03),transparent 22%),linear-gradient(180deg,#ffffff04,#fff0);box-shadow:inset 0 1px #ffffff08,inset 0 -32px 72px #ffffff04}#viewport{width:100%;height:100%;margin:0;display:block;border:1px solid rgba(95,176,255,.15);border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(95,176,255,.12),transparent 28%),radial-gradient(circle at 50% 100%,rgba(16,38,64,.08),transparent 24%),linear-gradient(180deg,color-mix(in srgb,var(--canvas) 92%,white 8%),#eef4fa);box-shadow:inset 0 1px #ffffff57,inset 0 -40px 80px #18345317}:root[data-theme=dark] #viewport{background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.025),transparent 26%),radial-gradient(circle at 50% 100%,rgba(255,255,255,.015),transparent 24%),linear-gradient(180deg,#000,#000);box-shadow:inset 0 1px #ffffff05,inset 0 -56px 110px #ffffff03}.canvas-overlay{position:absolute;display:grid;gap:.45rem;z-index:14}.canvas-overlay.bottom{right:1rem;bottom:.7rem}.canvas-overlay.is-floating{right:auto;bottom:auto}.context-menu{position:absolute;z-index:20;min-width:180px;padding:.25rem;border:1px solid rgba(95,176,255,.18);border-radius:10px;background:#fffffffa;box-shadow:0 14px 28px #00000059}:root[data-theme=dark] .context-menu{background:#0c1219fa}.context-menu:empty{display:none}.context-menu button{width:100%;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;padding:.45rem .55rem}.context-menu button:hover{background:#3d8bfd29;border-color:transparent}.coordinate-editor{position:absolute;z-index:24;width:220px;padding:.65rem;border:1px solid rgba(95,176,255,.22);border-radius:12px;background:#fffffffa;box-shadow:0 18px 30px #17263a2e}:root[data-theme=dark] .coordinate-editor{background:#0c1219fa}.coordinate-editor__title{margin-bottom:.45rem;font-weight:600}.coordinate-editor__actions{display:flex;gap:.38rem;margin-top:.55rem}.coordinate-editor__actions button{flex:1 1 0}.status-pill,.inline-note{display:inline-flex;align-items:center;padding:.3rem .56rem;border-radius:999px;background:#ffffffeb;border:1px solid var(--line);color:var(--ink);font-size:.72rem}.inline-note{margin-bottom:.45rem}.legend-panel{min-width:230px;padding:.62rem .72rem;border-radius:10px;background:#fffffff5;border:1px solid var(--line);box-shadow:0 12px 22px #00000040;font-size:.72rem;line-height:1.45}:root[data-theme=dark] .status-pill,:root[data-theme=dark] .inline-note{background:#090e14e6}:root[data-theme=dark] .legend-panel{background:#0c1219f0}.legend-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;margin-bottom:.45rem;cursor:grab;-webkit-user-select:none;user-select:none}.legend-panel--dragging .legend-panel__header{cursor:grabbing}.legend-panel__title-group{display:grid;gap:.08rem}.legend-panel__title{display:block;margin:0}.legend-panel__subtitle{color:var(--muted);font-size:.66rem}.legend-panel__actions{display:inline-flex;gap:.35rem}.legend-panel__button{border:1px solid var(--line);border-radius:999px;padding:.22rem .52rem;background:#ffffffe0;color:var(--ink);font-size:.66rem;line-height:1.2}:root[data-theme=dark] .legend-panel__button{background:#ffffff0d}.legend-panel.is-collapsed{min-width:220px}.legend-panel.is-collapsed .legend-panel__header{margin-bottom:0}.legend-panel.is-collapsed .legend-panel__body{display:none}.legend-panel:empty{display:none}.legend-swatches{display:grid;gap:.24rem}.legend-swatch{display:inline-flex;align-items:center;gap:.45rem}.legend-swatch__line,.legend-swatch__dot{display:inline-block;flex:0 0 auto}.legend-swatch__line{width:20px;height:0;border-top:3px solid var(--member-idle);border-radius:999px}.legend-swatch__line--mesh{border-top-style:dashed;border-top-color:var(--mesh-line)}.legend-swatch__dot{width:9px;height:9px;border-radius:999px;background:var(--node-fill);border:2px solid var(--node-stroke)}.legend-scale{display:grid;gap:.26rem}.legend-scale__labels,.legend-scale__values{display:flex;justify-content:space-between;gap:.6rem}.legend-scale__labels{color:var(--muted);font-size:.68rem}.legend-scale__bar{height:11px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(90deg,#3777db,#b9d2f2,#e1772e);box-shadow:inset 0 1px 1px #ffffff59}.legend-scale__bar--axial{background:linear-gradient(90deg,#2f78ff,#f0f4f8,#d65a31)}.legend-scale__bar--magnitude{background:linear-gradient(90deg,#3f70df,#3fc4d7 35%,#ffe073 68%,#e55f2d)}.legend-scale__bar--reaction{background:linear-gradient(90deg,#6aa5ff,#4cc0be 38%,#ffd26c 70%,#ff7a45)}.legend-scale__values{font-size:.68rem}.legend-stats{display:grid;gap:.35rem;margin-top:.45rem}.legend-stat{display:grid;gap:.08rem;padding:.35rem .45rem;border:1px solid var(--line);border-radius:8px;background:#ffffff94}:root[data-theme=dark] .legend-stat{background:#ffffff08}.legend-stat__label,.legend-footnote{color:var(--muted);font-size:.68rem}.legend-footnote{margin-top:.45rem;line-height:1.45}.stack{display:grid;gap:.42rem}.workflow-sidebar{min-width:0;min-height:0;height:100%;max-height:100%;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f4f8fdfa);overflow:hidden;box-shadow:inset 0 1px #ffffff4d}:root[data-theme=dark] .workflow-sidebar{background:linear-gradient(180deg,#0e141bfa,#0b1016fa)}.workflow-sidebar__header{grid-column:1 / -1;position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:.55rem;padding:.75rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f7fafffa,#f0f5fcf5)}:root[data-theme=dark] .workflow-sidebar__header{background:linear-gradient(180deg,#121a23fa,#0e141bf5)}.workflow-sidebar__brand{display:grid;gap:.14rem;min-width:0}.workflow-sidebar__eyebrow{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.workflow-sidebar__title{font-size:.96rem;font-weight:700;color:var(--heading)}.workflow-sidebar__toggle{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(180deg,#fffffff5,#e8f0faf5);border-color:#1868d829;color:var(--heading);box-shadow:inset 0 1px #ffffffa6}:root[data-theme=dark] .workflow-sidebar__toggle{background:linear-gradient(180deg,#18222ef5,#101821f5);border-color:#5fb0ff33}.workflow-sidebar__toggle:hover{border-color:#1868d852;transform:translate(0)}.workflow-sidebar__toggle-icon{font-size:1rem;line-height:1;letter-spacing:-.1em}.workflow-sidebar__toggle-icon--expand,.workflow-sidebar__toggle[data-state=collapsed] .workflow-sidebar__toggle-icon--collapse{display:none}.workflow-sidebar__toggle[data-state=collapsed] .workflow-sidebar__toggle-icon--expand{display:inline}.workflow-sections,.workflow-rail{min-height:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:rgba(101,134,170,.75) rgba(101,134,170,.12);padding:.65rem .8rem 1rem .65rem}.workflow-sections::-webkit-scrollbar,.workflow-rail::-webkit-scrollbar{width:14px}.workflow-sections::-webkit-scrollbar-track,.workflow-rail::-webkit-scrollbar-track{background:#6586aa1a;border-radius:999px}.workflow-sections::-webkit-scrollbar-thumb,.workflow-rail::-webkit-scrollbar-thumb{border-radius:999px;border:3px solid transparent;background:#3a70b58c;background-clip:padding-box}.workflow-sections::-webkit-scrollbar-thumb:hover,.workflow-rail::-webkit-scrollbar-thumb:hover{background:#3a70b5bf;background-clip:padding-box}.workflow-sections{grid-column:2;grid-row:2;display:block;padding-left:.45rem}.workflow-rail{grid-column:1;grid-row:2;display:grid;align-content:start;grid-auto-rows:max-content;gap:.45rem;padding:.65rem .4rem .8rem .55rem}.workflow-group{display:none;height:100%;border:1px solid var(--line);border-radius:14px;background:#ffffffd6;overflow:hidden}.workflow-group.active-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.workflow-sidebar.is-collapsed{grid-template-columns:1fr}.workflow-sidebar.is-collapsed .workflow-sections,.workflow-sidebar.is-collapsed .workflow-sidebar__brand,.workflow-sidebar.is-collapsed .workflow-group{display:none}.workflow-sidebar.is-collapsed .workflow-rail{display:grid}.workflow-sidebar.is-collapsed .workflow-sidebar__header{grid-column:1;justify-content:center;padding:.55rem}.workflow-sidebar.is-collapsed .workflow-sidebar__toggle{width:40px;height:40px}.workflow-resize-handle{position:relative;width:10px;cursor:col-resize}.workflow-resize-handle:before{content:"";position:absolute;inset:50% auto auto 50%;width:4px;height:54px;border-radius:999px;transform:translate(-50%,-50%);background:#6083a842}.workflow-resize-handle.hidden{visibility:hidden;pointer-events:none}body.is-resizing-workflow{cursor:col-resize;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .workflow-group{background:#131c26d1}.workflow-group:has(.workflow-group__toggle.active){box-shadow:0 0 0 1px #1868d82e;border-color:#1868d847}.workflow-group.hidden{display:none}.workflow-group__toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:.82rem .88rem;border:0;border-radius:0;background:transparent;text-align:left;color:var(--heading);transition:background-color .18s ease,color .18s ease}.workflow-sidebar:not(.is-collapsed) .workflow-group__toggle{cursor:default}.workflow-group__toggle.active{background:#3d8bfd1a}.workflow-group__toggle:after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease,opacity .18s ease;opacity:.7}.workflow-group__toggle.active:after{transform:rotate(225deg);opacity:1}.workflow-group__meta{display:inline-flex;align-items:center;padding:.22rem .5rem;border-radius:999px;background:#ffffffb8;border:1px solid var(--line);color:var(--muted);font-size:.68rem}:root[data-theme=dark] .workflow-group__meta{background:#090e14e0}.workflow-group__body{display:none}.workflow-group__body.active{display:block;min-height:0}.workflow-group__content{min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;display:grid;gap:.45rem;padding:0 .65rem .65rem;opacity:1;transform:none}.workflow-group__content>*,.workflow-group__content .card,.workflow-group__content .tree-group,.workflow-group__content .library-block{min-width:0;width:100%}.workflow-group__content .split,.workflow-group__content .display-toggles{grid-template-columns:1fr}.workflow-group__content label{gap:.14rem;font-size:.78rem}.workflow-group__content input[type=text],.workflow-group__content input[type=number],.workflow-group__content select,.workflow-group__content textarea{padding:.32rem .42rem}.workflow-group__content .card{padding:.46rem}.workflow-group__content .button-row,.workflow-group__content .section-head{gap:.3rem}.workflow-group__content .button-row>button,.workflow-group__content .section-head>button{white-space:nowrap}.pane-head--compact{margin-bottom:0}.workflow-rail__button{width:100%;min-height:2.7rem;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:.72rem;font-weight:700;letter-spacing:.03em;background:#ffffffd1}:root[data-theme=dark] .workflow-rail__button{background:#141e28e6}.workflow-rail__button.active{border-color:#1868d859;background:#3d8bfd24}.pane-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.55rem}.pane-head h2{margin:0;font-size:.83rem;letter-spacing:.05em;text-transform:uppercase;color:var(--heading)}.libraries-grid,.project-grid{display:grid;grid-template-columns:1fr;gap:.7rem;align-content:start}.library-block{min-width:0}.display-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.18rem .45rem;margin-top:.2rem}.display-toggles label{display:flex;align-items:center;gap:.32rem;font-size:.74rem}.hint{margin:0;color:var(--muted);font-size:.72rem}.visual-controls{padding:.7rem;background:linear-gradient(180deg,#fffffff5,#f0f6fcf5)}:root[data-theme=dark] .visual-controls{background:linear-gradient(180deg,#121a23fa,#0e141bfa)}.visual-range{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.visual-range__value{min-width:3.4rem;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.visual-presets{display:flex;flex-wrap:wrap;gap:.35rem}.visual-presets button{padding-inline:.55rem}.card{padding:.52rem;border-radius:10px;border:1px solid var(--line);background:#ffffffe0}:root[data-theme=dark] .card{background:#161f29db}.card strong{display:block;margin-bottom:.3rem;color:var(--heading)}.result-notes{background:linear-gradient(180deg,#f5f9fff2,#edf4fceb)}:root[data-theme=dark] .result-notes{background:linear-gradient(180deg,#141d27f5,#0f161ef0)}.result-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.result-note{display:grid;gap:.08rem;padding:.42rem .48rem;border:1px solid var(--line);border-radius:10px;background:#ffffffc7}:root[data-theme=dark] .result-note{background:#ffffff08}.result-note__label{color:var(--muted);font-size:.68rem}.member-diagrams{display:grid;gap:.55rem}.member-diagrams__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.55rem}.member-diagrams__grid{display:grid;gap:.55rem}.member-diagrams .table-scroll+.table-scroll{margin-top:.5rem}.member-diagram{display:grid;gap:.35rem;padding:.52rem;border:1px solid var(--line);border-radius:10px;background:#ffffff9e}:root[data-theme=dark] .member-diagram{background:#ffffff08}.member-diagram__header,.member-diagram__stats{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.member-diagram__title{font-weight:600;color:var(--heading)}.member-diagram__unit{color:var(--muted);font-size:.72rem}.member-diagram__svg{width:100%;height:132px;display:block;border-radius:12px;border:1px solid rgba(96,131,168,.14);background:linear-gradient(180deg,#ffffffc7,#f1f6fcbd),radial-gradient(circle at top center,rgba(24,104,216,.08),transparent 48%);box-shadow:inset 0 1px #ffffff6b}:root[data-theme=dark] .member-diagram__svg{border-color:#81aace24;background:linear-gradient(180deg,#121a23fa,#0c131af5),radial-gradient(circle at top center,rgba(95,176,255,.09),transparent 46%);box-shadow:inset 0 1px #ffffff0a}.member-diagram__axis,.member-diagram__zero{stroke:var(--diagram-grid);stroke-width:1.1}.member-diagram__zero{stroke-dasharray:5 4}.member-diagram__curve{fill:none;stroke:var(--accent);stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 4px 10px rgba(24,104,216,.18))}.member-diagram__fill{fill:var(--diagram-fill)}.member-diagram__stats{color:var(--muted);font-size:.72rem}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.split--triple{grid-template-columns:repeat(3,minmax(0,1fr))}#issues-panel{display:grid;gap:.36rem}.issue{padding:.48rem .55rem;border-radius:10px;border:1px solid var(--line);background:#ffffffe6;font-size:.78rem}:root[data-theme=dark] .issue{background:#111821}.issue.warning{border-color:#f1b94e38;background:#563f0f47}.issue.error{border-color:#f06b6638;background:#5b1d1f4d}.section-head{justify-content:space-between;align-items:center;margin-bottom:.35rem}.tree{display:grid;gap:.28rem}.tree-group{border:1px solid var(--line);border-radius:10px;background:#fffc}:root[data-theme=dark] .tree-group{background:#161f298c}.tree-title{padding:.42rem .55rem;border-bottom:1px solid var(--line);font-weight:600;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:#27415f}:root[data-theme=dark] .tree-title{color:#cfe0f5}.tree-item{display:flex;justify-content:space-between;gap:.3rem;width:100%;padding:.36rem .52rem;border:0;border-radius:0;border-top:1px solid rgba(216,226,238,.04);background:transparent;text-align:left;font-size:.74rem}.tree-item:first-of-type{border-top:0}.tree-item:hover{background:#3d8bfd1f}.tree-item.active{background:#3d8bfd2e;color:var(--ink)}.tree-meta{color:var(--muted);font-size:.68rem}.library-block+.library-block{margin-top:.5rem}.table-like{width:100%;border-collapse:collapse;font-size:.74rem}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable both-edges}.table-scroll .table-like{min-width:max-content}.table-like--frame-end-forces{min-width:58rem}.table-like--element-breakdown-frame{min-width:72rem}.table-like--element-breakdown-truss{min-width:44rem}.table-like--mesh-node-breakdown{min-width:42rem}.table-like--frame-end-forces thead th{text-align:center;vertical-align:bottom}.table-like--frame-end-forces th,.table-like--frame-end-forces td{padding-inline:.7rem}.table-like--frame-end-forces tbody td{text-align:right}.table-like--frame-end-forces tbody td:first-child{text-align:left}.table-like--element-breakdown-frame th,.table-like--element-breakdown-frame td,.table-like--element-breakdown-truss th,.table-like--element-breakdown-truss td,.table-like--mesh-node-breakdown th,.table-like--mesh-node-breakdown td{padding-inline:.55rem}.table-like--element-breakdown-frame tbody td,.table-like--element-breakdown-truss tbody td,.table-like--mesh-node-breakdown tbody td{text-align:right}.table-like--element-breakdown-frame tbody td:nth-child(1),.table-like--element-breakdown-frame tbody td:nth-child(2),.table-like--element-breakdown-truss tbody td:nth-child(1),.table-like--element-breakdown-truss tbody td:nth-child(2),.table-like--mesh-node-breakdown tbody td:nth-child(1),.table-like--mesh-node-breakdown tbody td:nth-child(2),.table-like--mesh-node-breakdown tbody td:nth-child(3){text-align:left}.table-like--element-breakdown-frame thead th:nth-child(4),.table-like--element-breakdown-frame thead th:nth-child(6),.table-like--element-breakdown-frame thead th:nth-child(8),.table-like--element-breakdown-frame thead th:nth-child(10),.table-like--element-breakdown-frame tbody td:nth-child(4),.table-like--element-breakdown-frame tbody td:nth-child(6),.table-like--element-breakdown-frame tbody td:nth-child(8),.table-like--element-breakdown-frame tbody td:nth-child(10),.table-like--element-breakdown-truss thead th:nth-child(4),.table-like--element-breakdown-truss thead th:nth-child(6),.table-like--element-breakdown-truss tbody td:nth-child(4),.table-like--element-breakdown-truss tbody td:nth-child(6),.table-like--mesh-node-breakdown thead th:nth-child(4),.table-like--mesh-node-breakdown tbody td:nth-child(4){border-right:1px solid rgba(24,104,216,.24)}:root[data-theme=dark] .table-like--element-breakdown-frame thead th:nth-child(4),:root[data-theme=dark] .table-like--element-breakdown-frame thead th:nth-child(6),:root[data-theme=dark] .table-like--element-breakdown-frame thead th:nth-child(8),:root[data-theme=dark] .table-like--element-breakdown-frame thead th:nth-child(10),:root[data-theme=dark] .table-like--element-breakdown-frame tbody td:nth-child(4),:root[data-theme=dark] .table-like--element-breakdown-frame tbody td:nth-child(6),:root[data-theme=dark] .table-like--element-breakdown-frame tbody td:nth-child(8),:root[data-theme=dark] .table-like--element-breakdown-frame tbody td:nth-child(10),:root[data-theme=dark] .table-like--element-breakdown-truss thead th:nth-child(4),:root[data-theme=dark] .table-like--element-breakdown-truss thead th:nth-child(6),:root[data-theme=dark] .table-like--element-breakdown-truss tbody td:nth-child(4),:root[data-theme=dark] .table-like--element-breakdown-truss tbody td:nth-child(6),:root[data-theme=dark] .table-like--mesh-node-breakdown thead th:nth-child(4),:root[data-theme=dark] .table-like--mesh-node-breakdown tbody td:nth-child(4){border-right-color:#5fb0ff5c}.table-like--frame-end-forces thead tr:first-child th:nth-child(1),.table-like--frame-end-forces thead tr:first-child th:nth-child(2),.table-like--frame-end-forces thead tr:first-child th:nth-child(3),.table-like--frame-end-forces thead tr:first-child th:nth-child(4),.table-like--frame-end-forces thead tr:last-child th:nth-child(2),.table-like--frame-end-forces thead tr:last-child th:nth-child(4),.table-like--frame-end-forces tbody td:nth-child(1),.table-like--frame-end-forces tbody td:nth-child(3),.table-like--frame-end-forces tbody td:nth-child(4),.table-like--frame-end-forces tbody td:nth-child(6){border-right:1px solid rgba(24,104,216,.28)}:root[data-theme=dark] .table-like--frame-end-forces thead tr:first-child th:nth-child(1),:root[data-theme=dark] .table-like--frame-end-forces thead tr:first-child th:nth-child(2),:root[data-theme=dark] .table-like--frame-end-forces thead tr:first-child th:nth-child(3),:root[data-theme=dark] .table-like--frame-end-forces thead tr:first-child th:nth-child(4),:root[data-theme=dark] .table-like--frame-end-forces thead tr:last-child th:nth-child(2),:root[data-theme=dark] .table-like--frame-end-forces thead tr:last-child th:nth-child(4),:root[data-theme=dark] .table-like--frame-end-forces tbody td:nth-child(1),:root[data-theme=dark] .table-like--frame-end-forces tbody td:nth-child(3),:root[data-theme=dark] .table-like--frame-end-forces tbody td:nth-child(4),:root[data-theme=dark] .table-like--frame-end-forces tbody td:nth-child(6){border-right-color:#5fb0ff5c}.table-like th,.table-like td{text-align:left;padding:.22rem 0;border-bottom:1px solid var(--line);white-space:nowrap}.table-like th abbr{text-decoration:none;border-bottom:1px dotted rgba(97,116,135,.55);cursor:help}.mono{font-family:Consolas,monospace}@media(max-width:1360px){.libraries-grid,.project-grid,.result-note-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-header{align-items:flex-start;flex-direction:column}}@media(max-width:1080px){.workspace{grid-template-columns:1fr;gap:.45rem;padding:.4rem}.workflow-sidebar{grid-template-columns:1fr;width:auto!important}.workflow-sidebar__header{grid-column:1}.workflow-sidebar.is-collapsed .workflow-sections,.workflow-sidebar.is-collapsed .workflow-sidebar__brand{display:grid}.workflow-sidebar.is-collapsed .workflow-rail{display:none}.workflow-sidebar.is-collapsed .workflow-sidebar__header{justify-content:space-between}.workflow-sections{grid-column:1}.workflow-rail,.workflow-group{display:none}.workflow-group.active-panel{display:grid}.workflow-resize-handle{display:none}.main-stage{display:block}.stage-grid{grid-template-columns:1fr}.viewer3d-panel{min-height:320px}}@media(max-height:880px){.app-header{padding:.48rem .72rem}.workflow-sidebar__header,.workflow-sections,.workflow-rail{padding:.5rem}.workflow-group__toggle{padding:.64rem .72rem}.workflow-group__content{gap:.35rem;padding:0 .52rem .52rem}.card,.visual-controls{padding:.44rem}.split,.libraries-grid,.project-grid,.display-toggles{gap:.28rem}label,.tree-item,.table-like,.hint,.legend-panel{font-size:.74rem}}#app.tectonic-shell{grid-template-rows:58px minmax(0,1fr);background:radial-gradient(circle at 54% 18%,rgba(62,149,255,.07),transparent 23%),linear-gradient(180deg,#0f1114,#08090b)}.tectonic-shell .app-header{position:relative;z-index:60;min-height:58px;padding:.58rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#0d0e10db;box-shadow:0 10px 32px #00000047;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.tectonic-shell .header-brand__title{font-weight:700;letter-spacing:0;color:#f6f7f9}.tectonic-shell .header-brand{display:none}.tectonic-shell .header-actions{margin-left:auto;gap:.5rem}.tectonic-shell .theme-toggle,.tectonic-shell .viewport-toggle,.tectonic-shell .viewport-toggle__button,.tectonic-shell .workflow-sidebar__toggle,.tectonic-shell .viewer3d-controls__badge,.tectonic-shell .viewer3d-controls__button,.tectonic-shell .card,.tectonic-shell .visual-controls,.tectonic-shell .context-menu,.tectonic-shell .tree-group{border-radius:8px}.tectonic-shell .viewport-toggle{border-color:#ffffff17;background:#1c1d1f9e}.tectonic-shell .viewport-toggle__button.active{background:#ffffff1f;color:#fff}.tectonic-shell .workspace{grid-template-columns:auto 0 minmax(0,1fr);gap:0;padding:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(180deg,#111315,#08090b);background-size:28px 28px,28px 28px,auto}.tectonic-shell .workflow-resize-handle{display:block;width:0;visibility:hidden;pointer-events:none}.tectonic-shell .workflow-sidebar{border:0;border-right:1px solid rgba(255,255,255,.08);background:#0b0c0ed1;box-shadow:12px 0 30px #00000038;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tectonic-shell .workflow-sidebar.is-collapsed{width:72px!important}.tectonic-shell .workflow-sidebar__header,.tectonic-shell .workflow-sections,.tectonic-shell .workflow-rail{background:transparent}.tectonic-shell .workflow-sidebar__header{align-items:flex-start;padding:.72rem .7rem .62rem;border-bottom-color:#ffffff14;background:linear-gradient(180deg,#ffffff09,#fff0),linear-gradient(180deg,#0f1114e6,#0b0c0ed6)}.tectonic-shell .workflow-sidebar__brand{display:none}.tectonic-shell .workflow-sidebar__eyebrow{color:#90a4b8}.tectonic-shell .workflow-sidebar__title{color:#f5f7fa}.tectonic-shell .workflow-sidebar__subtitle{max-width:28ch;color:#96a4b3;font-size:.72rem;line-height:1.32}.tectonic-shell .workflow-sidebar__toggle{margin-top:.12rem}.tectonic-shell .element-chip-set{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.18rem}.tectonic-shell .element-chip{display:inline-flex;align-items:center;min-height:1.55rem;padding:.2rem .46rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;color:#dce7f2;font-size:.64rem;font-weight:700;letter-spacing:.03em}.tectonic-shell .element-chip--truss2d{background:#e1914329;color:#ffd4a8}.tectonic-shell .element-chip--frame2d{background:#4c93ff29;color:#c6e0ff}.tectonic-shell .element-chip--truss3d{background:#31ad8f29;color:#bdf0de}.tectonic-shell .element-chip--frame3d{background:#d35e3e2e;color:#ffd1c4}.tectonic-shell .workflow-sidebar.is-collapsed .workflow-sidebar__subtitle,.tectonic-shell .workflow-sidebar.is-collapsed .element-chip-set{display:none}.tectonic-shell .workflow-rail__button{border-radius:8px;color:#8f9aa6}.tectonic-shell .workflow-rail__button.active,.tectonic-shell .workflow-rail__button:hover{background:#ffffff17;color:#fff}.tectonic-shell .workflow-group{border-color:#ffffff14;background:linear-gradient(180deg,#181a1ee6,#0f1114d6);box-shadow:inset 0 1px #ffffff08}.tectonic-shell .workflow-group:has(.workflow-group__toggle.active){border-color:#569dff47;box-shadow:inset 0 1px #ffffff0a,0 0 0 1px #569dff1f}.tectonic-shell .workflow-group__toggle{background:#ffffff08;color:#eaf1f9;padding:.56rem .62rem}.tectonic-shell .workflow-group__toggle.active{background:linear-gradient(180deg,#4c93ff2e,#4c93ff14)}.tectonic-shell .workflow-group__meta{background:#ffffff0f;border-color:#ffffff14;color:#a7b7c8}.tectonic-shell .workflow-group__content .card,.tectonic-shell .workflow-group__content .tree-group,.tectonic-shell .workflow-group__content .library-block{background:linear-gradient(180deg,#ffffff09,#ffffff05);border:1px solid rgba(255,255,255,.06);padding:.4rem;border-radius:10px}.tectonic-shell .section-head strong,.tectonic-shell .card strong,.tectonic-shell .tree-title{color:#f3f7fb}.tectonic-shell .workflow-group__content{gap:.3rem;padding:0 .42rem .42rem}.tectonic-shell .workflow-group__content input[type=text],.tectonic-shell .workflow-group__content input[type=number],.tectonic-shell .workflow-group__content select,.tectonic-shell .workflow-group__content textarea{padding:.28rem .38rem;font-size:.76rem}.tectonic-shell .workflow-group__content label,.tectonic-shell .workflow-group__content .hint{font-size:.72rem}.tectonic-shell .main-stage,.tectonic-shell .stage-grid{min-height:0;height:100%;background:transparent}.tectonic-shell .stage-grid{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.tectonic-shell .canvas-panel{border-radius:0;background:radial-gradient(circle at 50% 12%,rgba(74,159,255,.08),transparent 18%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#101113;background-size:auto,24px 24px,24px 24px,auto;box-shadow:none}.tectonic-shell #viewport{border:0;border-radius:0;background:radial-gradient(circle at 50% 15%,rgba(72,159,255,.08),transparent 26%),radial-gradient(circle,rgba(255,255,255,.17) 0 1px,transparent 1.6px),#101113;background-size:auto,28px 28px,auto;box-shadow:none}.tectonic-shell .canvas-overlay,.tectonic-shell .legend-panel{border-radius:8px}.tectonic-shell .viewer3d-panel__expand{padding:.3rem .5rem;border-color:#ffffff1f;border-radius:6px;background:#ffffff14;color:#f4f7fb;font-size:.72rem}.tectonic-shell .viewer3d-panel__expand:hover{background:#ffffff24}.tectonic-shell .viewer3d-panel__button{border-color:#ffffff1f;background:#ffffff0a;color:#dbe8f5}.tectonic-shell .viewer3d-panel__button:hover{background:#ffffff1a}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel{position:absolute;right:1.35rem;bottom:6.25rem;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(360px,30vw);min-width:270px;height:auto;min-height:0;aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0c0e11bd;box-shadow:0 22px 72px #0000006b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-floating{right:auto;bottom:auto}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel__header{min-height:0;padding:.5rem .58rem;border-bottom:1px solid rgba(255,255,255,.08);background:#1012158a;cursor:grab;-webkit-user-select:none;user-select:none}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel__title{font-size:.78rem}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .workflow-sidebar__eyebrow{font-size:.58rem}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-controls{display:none}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d{height:100%;min-height:0}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-minimized{width:min(240px,calc(100% - 1.5rem));min-width:0;height:auto;aspect-ratio:auto;grid-template-rows:auto}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-minimized .viewer3d-controls,.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-minimized .viewer3d{display:none}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-minimized .viewer3d-panel__header{border-bottom:0}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.viewer3d-panel--dragging .viewer3d-panel__header{cursor:grabbing}.tectonic-shell .stage-grid[data-viewport-mode="3d"] .viewer3d-panel{position:relative;z-index:1;width:100%;height:100%;border:0;border-radius:0;background:#090a0c}.tectonic-shell .stage-grid[data-viewport-mode="3d"] .viewer3d-panel__header,.tectonic-shell .stage-grid[data-viewport-mode="3d"] .viewer3d-controls{border-color:#ffffff14;background:#0b0d0fdb}.tectonic-shell .omni-bar{position:absolute;left:50%;bottom:5.8rem;z-index:45;width:min(760px,calc(100% - 560px));transform:translate(-50%);pointer-events:none}.tectonic-shell .status-bar{position:absolute;left:5.9rem;bottom:1.55rem;z-index:44;max-width:min(560px,calc(100% - 760px));min-height:34px;display:flex;align-items:center;padding:.45rem .68rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#18191cb8;box-shadow:0 18px 54px #00000052;color:#c9d3df;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.tectonic-shell .status-bar--alert{border-color:#f06b6661;color:#ffd6d3}.tectonic-shell .status-bar--long{top:.85rem;right:1.35rem;bottom:auto;max-width:none;max-height:min(34vh,18rem);align-items:flex-start;overflow:auto;line-height:1.35;text-overflow:clip;white-space:normal}.tectonic-shell .gemini-panel{position:absolute;top:1rem;right:1rem;z-index:46;width:min(420px,calc(100% - 2rem));height:min(680px,calc(100% - 2rem));min-width:320px;min-height:280px;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(180deg,#14181ef5,#0c0f14eb),#0e1116e6;box-shadow:0 24px 64px #0000006b;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.tectonic-shell .gemini-panel.is-minimized{height:auto!important;min-height:0}.tectonic-shell .gemini-panel.is-minimized .gemini-panel__body,.tectonic-shell .gemini-panel.is-minimized .gemini-panel__resize-handle{display:none}.tectonic-shell .gemini-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.82rem .88rem .78rem;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff08,#fff0),#0f1217db;cursor:grab;-webkit-user-select:none;user-select:none}.tectonic-shell .gemini-panel.gemini-panel--dragging .gemini-panel__header{cursor:grabbing}.tectonic-shell .gemini-panel__title-group{display:grid;gap:.16rem;min-width:0}.tectonic-shell .gemini-panel__title{color:#f5f7fa;font-size:.98rem;font-weight:700}.tectonic-shell .gemini-panel__subtitle{color:#95a4b5;font-size:.73rem;line-height:1.38}.tectonic-shell .gemini-panel__actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.tectonic-shell .gemini-panel__action,.tectonic-shell .gemini-panel__think,.tectonic-shell .gemini-panel #omni-ai-command{border-color:#ffffff24;border-radius:8px;background:#ffffff0f;color:#eef4fb;font-size:.74rem;font-weight:600}.tectonic-shell .gemini-panel__action:hover,.tectonic-shell .gemini-panel__think:hover,.tectonic-shell .gemini-panel #omni-ai-command:hover,.tectonic-shell .gemini-panel__think.is-active{background:#4da4ff2e;border-color:#5fb0ff4d}.tectonic-shell .gemini-panel__body{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}.tectonic-shell .gemini-chat-summary{display:grid;gap:.52rem;padding:.8rem .88rem .72rem;border-bottom:1px solid rgba(255,255,255,.06)}.tectonic-shell .gemini-chat-summary__lead{color:#dbe8f5;font-size:.76rem;line-height:1.45}.tectonic-shell .gemini-chat-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.tectonic-shell .gemini-chat-summary__card{padding:.54rem .58rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0a}.tectonic-shell .gemini-chat-summary__label{display:block;margin-bottom:.16rem;color:#8da0b3;font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.tectonic-shell .gemini-chat-summary__value{display:block;color:#f6f8fb;font-size:.84rem;font-weight:700}.tectonic-shell .gemini-chat-summary__meta{color:#8da0b3;font-size:.68rem;line-height:1.35}.tectonic-shell .gemini-chat-transcript{min-height:0;overflow:auto;display:grid;gap:.72rem;align-content:start;padding:.88rem}.tectonic-shell .gemini-chat-empty{padding:.82rem .88rem;border:1px dashed rgba(95,176,255,.2);border-radius:12px;background:#ffffff08;color:#b8c8d8;font-size:.78rem;line-height:1.5}.tectonic-shell .gemini-chat-message{display:grid;gap:.34rem;max-width:92%}.tectonic-shell .gemini-chat-message--user{justify-self:end}.tectonic-shell .gemini-chat-message--assistant{justify-self:start}.tectonic-shell .gemini-chat-message__meta{color:#8297aa;font-size:.66rem;line-height:1.35}.tectonic-shell .gemini-chat-message__bubble{padding:.76rem .82rem;border-radius:14px;color:#f4f7fb;font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;box-shadow:inset 0 1px #ffffff08}.tectonic-shell .gemini-chat-message--user .gemini-chat-message__bubble{border:1px solid rgba(95,176,255,.24);background:linear-gradient(180deg,#2f5f9a6b,#1a3a6061)}.tectonic-shell .gemini-chat-message--assistant .gemini-chat-message__bubble{border:1px solid rgba(255,255,255,.08);background:#ffffff0d}.tectonic-shell .gemini-chat-message--error .gemini-chat-message__bubble{border-color:#f06b6647;background:#8524244d}.tectonic-shell .gemini-panel .omni-ai-debug{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;display:grid;gap:.55rem;margin:0 .88rem .88rem;padding:.72rem .76rem;border-radius:12px;border-color:#5fb0ff2e;background:linear-gradient(180deg,#0b1017db,#090e14c7),#090e14c7;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.tectonic-shell .gemini-panel .omni-ai-debug__message{color:#bfd4eb}.tectonic-shell .gemini-panel .omni-ai-debug__payload{max-height:10rem;background:#04080edb;color:#d8e8f8}.tectonic-shell .gemini-panel__composer{display:grid;gap:.6rem;padding:.82rem .88rem .88rem;border-top:1px solid rgba(255,255,255,.06);background:#0a0d12b3}.tectonic-shell .gemini-panel__controls{display:flex;align-items:center;gap:.5rem}.tectonic-shell .gemini-panel__mode{min-width:116px;height:34px;padding:.3rem 1.8rem .3rem .72rem;border-color:#ffffff1f;border-radius:999px;background:#11151beb;color:#eef4fb;font-size:.76rem;font-weight:600;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9fb3c8 50%),linear-gradient(135deg,#9fb3c8 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tectonic-shell .gemini-panel__mode option{color:#eef4fb;background:#17212b}.tectonic-shell .gemini-panel #omni-command{width:100%;min-height:96px;max-height:180px;padding:.78rem .82rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#060a10e0;color:#f5f7fa;font-size:.78rem;line-height:1.5;resize:none}.tectonic-shell .gemini-panel #omni-command::placeholder{color:#8397ab}.tectonic-shell .gemini-panel__composer-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tectonic-shell .gemini-panel__hint{color:#8da0b3;font-size:.68rem;line-height:1.35}.tectonic-shell .gemini-panel__resize-handle{position:absolute;right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 42%,rgba(95,176,255,.5) 42%,rgba(95,176,255,.5) 52%,transparent 52%),linear-gradient(135deg,transparent 58%,rgba(95,176,255,.28) 58%,rgba(95,176,255,.28) 68%,transparent 68%)}.tectonic-shell .omni-bar__glow{position:absolute;inset:.7rem 2rem -.8rem;border-radius:16px;background:linear-gradient(90deg,#4da4ff29,#2acda414);filter:blur(30px)}.tectonic-shell .omni-bar__frame{position:relative;padding:.4rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(180deg,#161a20e6,#0e1116d6),#121418d6;box-shadow:0 18px 58px #0006;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);pointer-events:auto}.tectonic-shell .omni-bar__inner{position:relative;display:flex;align-items:center;gap:.42rem;min-height:42px;padding:.38rem .42rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:linear-gradient(180deg,#0e1115e0,#161a1fb8);box-shadow:inset 0 1px #ffffff0a}.tectonic-shell .omni-bar__sigil{display:none}.tectonic-shell .omni-bar input{min-width:0;flex:1 1 auto;order:1;border:0;background:transparent;color:#f8fafc;outline:0}.tectonic-shell .omni-bar__actions{display:contents}.tectonic-shell .omni-bar__mode{width:auto;min-width:94px;order:2;flex:0 0 auto;height:32px;padding:.2rem 1.8rem .2rem .7rem;border-color:#ffffff1f;border-radius:999px;background:#11151be0;color:#eef4fb;font-size:.76rem;font-weight:600;line-height:1.1;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9fb3c8 50%),linear-gradient(135deg,#9fb3c8 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tectonic-shell .omni-bar__mode option{color:#14202c;background:#f6f9fc}:root[data-theme=dark] .tectonic-shell .omni-bar__mode{border-color:#84abd12e;background-color:#11151beb;color:#eef4fb}:root[data-theme=dark] .tectonic-shell .omni-bar__mode option{color:#eef4fb;background:#17212b}.tectonic-shell .omni-bar input::placeholder{color:#8f9aa6}.tectonic-shell .omni-bar button{flex:0 0 auto;order:4;min-height:32px;padding:.38rem .72rem;border-color:#569dff47;border-radius:6px;background:linear-gradient(180deg,#4c93ff52,#3a6eb347);color:#f8fafc;font-size:.76rem;font-weight:700}.tectonic-shell .omni-bar button:hover{background:linear-gradient(180deg,#58a5ff66,#3e78c057)}.tectonic-shell .omni-bar__button{order:3;border-color:#ffffff24!important;background:#ffffff0d!important;color:#d5e2ef!important}.tectonic-shell .omni-bar__button:hover,.tectonic-shell .omni-bar__button.is-active{background:linear-gradient(180deg,#4c93ff3d,#3a6eb333)!important;color:#fff!important}.omni-ai-debug{position:absolute;left:1.2rem;right:1.2rem;bottom:5.65rem;z-index:4;display:grid;gap:.55rem;padding:.78rem .88rem;border:1px solid rgba(24,104,216,.18);border-radius:18px;background:linear-gradient(180deg,#fffffff2,#ecf4ffeb),#ffffffe6;box-shadow:0 22px 44px #111f3033;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=dark] .omni-ai-debug{border-color:#5fb0ff38;background:linear-gradient(180deg,#0e151ef5,#121f2ceb),#0a1018eb;box-shadow:0 24px 48px #0006}.omni-ai-debug.is-hidden{display:none}.omni-ai-debug__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem}.omni-ai-debug__head .button-row{flex-wrap:wrap;justify-content:flex-end}.omni-ai-debug__head strong{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.omni-ai-debug__message{font-size:.78rem;line-height:1.45;color:#39516f}:root[data-theme=dark] .omni-ai-debug__message{color:#bfd4eb}.omni-ai-debug__payload{margin:0;max-height:16rem;overflow:auto;padding:.72rem .8rem;border-radius:14px;background:#eaf1f9e6;color:#102538;font-size:.72rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}:root[data-theme=dark] .omni-ai-debug__payload{background:#060b12db;color:#d8e8f8}.tectonic-shell .bottom-tool-dock{display:none!important}@media(max-width:1080px){#app.tectonic-shell{grid-template-rows:auto minmax(0,1fr)}.tectonic-shell .app-header{align-items:stretch;gap:.55rem}.tectonic-shell .workspace{grid-template-columns:1fr;padding:0}.tectonic-shell .workflow-sidebar.is-collapsed{width:auto!important}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel{right:.75rem;bottom:6.4rem;width:min(300px,calc(100% - 1.5rem));min-width:0}.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel.is-minimized{width:min(220px,calc(100% - 1.5rem))}.tectonic-shell .omni-bar{bottom:5.35rem;width:calc(100% - 1.5rem)}.omni-ai-debug{left:.75rem;right:.75rem;bottom:9rem}.tectonic-shell .status-bar{left:.75rem;right:.75rem;bottom:9.9rem;max-width:none}.tectonic-shell .status-bar--long{top:.75rem;bottom:auto;max-height:28vh}}@media(max-width:720px){.tectonic-shell .stage-grid[data-viewport-mode="2d"] .viewer3d-panel{left:auto!important;top:auto!important;right:.75rem!important;bottom:6.4rem!important;width:min(280px,calc(100% - 1.5rem))}.tectonic-shell .omni-bar__inner{min-height:40px;flex-wrap:wrap}.tectonic-shell .omni-bar input{width:100%;flex-basis:100%;order:1}.tectonic-shell .omni-bar__mode{order:2}.tectonic-shell .omni-bar__button{order:3}.tectonic-shell .omni-bar button{order:4;margin-left:auto;padding-inline:.62rem}.tectonic-shell .omni-bar__mode{min-width:88px;font-size:.72rem}.omni-ai-debug{bottom:8.45rem;padding:.68rem .72rem}.omni-ai-debug__head{flex-direction:column}.tectonic-shell .gemini-panel{left:.75rem!important;right:.75rem!important;top:.75rem!important;width:auto!important;min-width:0;height:min(60vh,540px)}.tectonic-shell .gemini-panel__resize-handle{display:none}.tectonic-shell .gemini-chat-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tectonic-shell .gemini-panel__composer-actions{flex-direction:column;align-items:stretch}.tectonic-shell .gemini-panel__hint{order:1}}
