:root{--bg-primary: #1e1e2e;--bg-secondary: #181825;--bg-tertiary: #11111b;--bg-elevated: #313244;--border-color: #313244;--text-primary: #cdd6f4;--text-secondary: #a6adc8;--text-muted: #7f849c;--accent: #89b4fa;--accent-hover: #b4d0fb;--danger: #f38ba8;--success: #a6e3a1;--green: #a6e3a1;--warning: #fab387;--panel-header-h: 30px;--toolbar-h: 42px;--statusbar-h: 26px}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;font-family:Segoe UI,system-ui,-apple-system,PingFang SC,Microsoft YaHei,Hiragino Sans GB,sans-serif;font-size:13px;color:var(--text-primary);background:var(--bg-primary)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.panel-header{height:var(--panel-header-h);line-height:var(--panel-header-h);padding:0 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.section{padding:10px 12px;border-bottom:1px solid var(--border-color)}.section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin:0 0 8px}label.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}label.field>span{color:var(--text-muted);font-size:11px}input,select,textarea{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:5px 7px;font-size:12px;font-family:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=number]{width:90px}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}button{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;font-family:inherit}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#11111b;border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}button.sm{padding:2px 7px;font-size:11px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row{display:flex;gap:6px;align-items:center}.row>label.field{flex:1;margin-bottom:0}.spacer{flex:1}.chip{padding:3px 9px;font-size:11px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer}.chip.active{background:var(--accent);color:#11111b;border-color:var(--accent)}.list-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:12px}.list-item:hover{background:var(--bg-tertiary)}.list-item.selected{background:var(--bg-elevated);color:var(--accent-hover)}.badge{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary)}.badge.ok{background:#a6e3a12e;color:var(--success)}.badge.err{background:#f38ba82e;color:var(--danger)}.badge.run{background:#89b4fa2e;color:var(--accent)}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.kv{display:flex;justify-content:space-between;gap:8px;padding:2px 0;font-size:12px}.kv .k{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.toolbar[data-v-ec2ae8c0]{height:var(--toolbar-h);display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.toolbar[data-v-ec2ae8c0]::-webkit-scrollbar{display:none}.brand[data-v-ec2ae8c0]{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}.brand .logo[data-v-ec2ae8c0]{color:var(--accent)}.sep[data-v-ec2ae8c0]{width:1px;height:22px;background:var(--border-color);margin:0 4px}.job-select[data-v-ec2ae8c0]{max-width:220px}.mode-toggle[data-v-ec2ae8c0]{display:flex;gap:0}.mode-toggle button[data-v-ec2ae8c0]{border-radius:0}.mode-toggle button[data-v-ec2ae8c0]:first-child{border-radius:4px 0 0 4px}.mode-toggle button[data-v-ec2ae8c0]:last-child{border-radius:0 4px 4px 0;border-left:0}.dropdown[data-v-ec2ae8c0]{position:relative}.menu[data-v-ec2ae8c0]{display:block;position:fixed;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;min-width:80px;z-index:100;box-shadow:0 4px 12px #00000040}.menu-item[data-v-ec2ae8c0]{display:block;width:100%;text-align:left;border:0;border-radius:0;background:transparent}.menu-item[data-v-ec2ae8c0]:hover{background:var(--bg-elevated)}.new-menu[data-v-ec2ae8c0]{min-width:200px}.new-menu .menu-item[data-v-ec2ae8c0]{display:flex;align-items:center;gap:8px}.t-icon[data-v-ec2ae8c0]{font-size:14px}.t-title[data-v-ec2ae8c0]{flex:1}.t-sub[data-v-ec2ae8c0]{font-size:10px;color:var(--text-muted)}.menu-sep[data-v-ec2ae8c0]{height:1px;background:var(--border-color);margin:4px 0}.scene-tree[data-v-3ea2a829]{height:100%;overflow-y:auto}.small[data-v-3ea2a829]{font-size:11px}.icon[data-v-3ea2a829]{width:16px;text-align:center;color:var(--text-muted)}.list-item .badge[data-v-3ea2a829]{margin-left:auto}.search[data-v-3ea2a829]{width:100%;margin-bottom:6px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:11.5px}.empty-hint[data-v-3ea2a829]{padding:6px 0}.job[data-v-3ea2a829]{flex-direction:column;align-items:stretch;gap:2px}.job-row[data-v-3ea2a829]{display:flex;align-items:center;gap:6px}.job-row .badge[data-v-3ea2a829]{margin-left:auto}.job-actions[data-v-3ea2a829]{margin-left:auto;display:flex;gap:3px}.job-actions .sm[data-v-3ea2a829]{padding:0 5px;font-size:11px}.job-name[data-v-3ea2a829]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.rename-input[data-v-3ea2a829]{flex:1;min-width:0;padding:1px 4px;font-size:11.5px;background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:3px;color:var(--text-primary)}.bulk[data-v-3ea2a829]{width:100%;margin-top:6px}.entry[data-v-7ade682e]{padding:6px 0;border-bottom:1px solid var(--border-color)}.entry[data-v-7ade682e]:last-child{border:0}.entry-head[data-v-7ade682e]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.lib-grid[data-v-7ade682e]{display:flex;flex-wrap:wrap;gap:6px}.normal[data-v-7ade682e]{text-transform:none;font-weight:400}.small[data-v-7ade682e]{font-size:11px}.unit[data-v-7ade682e]{color:var(--text-muted);font-size:10px}.warn[data-v-7ade682e]{color:#c0392b}.bounds[data-v-7ade682e]{flex-wrap:wrap}.bounds .field[data-v-7ade682e]{flex:1 1 calc(33% - 6px);min-width:72px}.entry[data-v-645e4b6d]{padding:6px 0;border-bottom:1px solid var(--border-color)}.entry[data-v-645e4b6d]:last-child{border:0}.entry-head[data-v-645e4b6d]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.normal[data-v-645e4b6d]{text-transform:none;font-weight:400}.small[data-v-645e4b6d]{font-size:11px}.field-inline[data-v-645e4b6d]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px}.bc-hint[data-v-645e4b6d]{margin-bottom:8px;line-height:1.4}.hint[data-v-645e4b6d]{font-size:11px;color:var(--text-muted);margin:-4px 0 8px;line-height:1.4}.case[data-v-31d82542]{padding:6px 0;border-bottom:1px solid var(--border-color)}.case[data-v-31d82542]:last-child{border:0}.entry-head[data-v-31d82542]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.normal[data-v-31d82542]{text-transform:none;font-weight:400}.desc[data-v-31d82542]{font-size:11.5px;color:var(--text-secondary);line-height:1.45}.group[data-v-b6957bb8]{margin-bottom:10px}.group-title[data-v-b6957bb8]{font-weight:600;font-size:11.5px;margin:4px 0 6px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.grid[data-v-b6957bb8]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.card[data-v-b6957bb8]{padding:8px;border:1px solid var(--border-color);border-radius:6px;background:#7f7f7f0f}.entry-head[data-v-b6957bb8]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.icon[data-v-b6957bb8]{font-size:16px}.label[data-v-b6957bb8]{font-size:11px;color:var(--text-secondary);margin-bottom:3px}.desc[data-v-b6957bb8]{font-size:11px;color:var(--text-secondary);line-height:1.4}.normal[data-v-b6957bb8]{text-transform:none;font-weight:400}.prop[data-v-4ebc922e]{height:100%;display:flex;flex-direction:column}.body[data-v-4ebc922e]{flex:1;overflow-y:auto}.normal[data-v-4ebc922e]{text-transform:none;font-weight:400}.small[data-v-4ebc922e]{font-size:11px}.json[data-v-4ebc922e]{margin:8px 0 0;padding:8px;background:var(--bg-tertiary);border-radius:4px;font-size:10.5px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:320px;overflow:auto}.hidden[data-v-4ebc922e]{display:none}.frozen-banner[data-v-4ebc922e]{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#eb9a471f;border:1px solid var(--border-color);border-radius:4px;padding:6px 8px}.frozen-msg[data-v-4ebc922e]{font-size:11.5px;color:var(--warning);line-height:1.4}.hint[data-v-4ebc922e]{font-size:11px;color:var(--text-muted);margin:-4px 0 8px;line-height:1.4}.hint.cell-warn[data-v-4ebc922e]{color:var(--warning, #fab387)}.lock[data-v-4ebc922e]{font-size:10px;opacity:.7}.run-footer[data-v-4ebc922e]{flex-shrink:0;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:6px}.run-footer .run[data-v-4ebc922e]{width:100%;padding:7px}.issues[data-v-4ebc922e]{font-size:11px;line-height:1.4}.issues.warn[data-v-4ebc922e]{color:var(--warning)}.issues.err[data-v-4ebc922e]{color:var(--danger);font-weight:500}.pending[data-v-4ebc922e]{font-size:11px;color:var(--accent, #89b4fa);line-height:1.4}.physics-ext[data-v-4ebc922e]{margin-top:.4rem}.physics-ext summary[data-v-4ebc922e]{cursor:pointer}.physics-ext .tight[data-v-4ebc922e],.tight[data-v-4ebc922e]{flex-direction:row;align-items:center;gap:6px;margin:4px 0}.hint.warn[data-v-4ebc922e]{color:var(--danger, #f38ba8)}.post[data-v-c5746e5e]{height:100%;display:flex;flex-direction:column}.body[data-v-c5746e5e]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.section.grow[data-v-c5746e5e]{flex:1;display:flex;flex-direction:column;min-height:0}.small[data-v-c5746e5e]{font-size:11px}.conv-summary[data-v-c5746e5e]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;margin-bottom:6px;border-radius:4px;background:var(--bg-tertiary);border-left:3px solid var(--text-muted);font-size:11.5px}.conv-summary.ok[data-v-c5746e5e]{border-left-color:var(--green, #a6e3a1)}.conv-summary.warn[data-v-c5746e5e]{border-left-color:var(--warning, #fab387)}.conv-icon[data-v-c5746e5e]{font-weight:700}.conv-summary.ok .conv-icon[data-v-c5746e5e]{color:var(--green, #a6e3a1)}.conv-summary.warn .conv-icon[data-v-c5746e5e]{color:var(--warning, #fab387)}.conv-text[data-v-c5746e5e]{font-weight:600}.fname[data-v-c5746e5e]{font-weight:500}.list-item.disabled[data-v-c5746e5e]{opacity:.55;cursor:default}.badge.vec[data-v-c5746e5e]{background:#89b4fa2e;color:var(--accent, #89b4fa)}.fmt-row[data-v-c5746e5e]{display:flex;flex-wrap:wrap;gap:6px}.fmt-hint[data-v-c5746e5e]{margin-top:6px;line-height:1.4}.fmt-hint b[data-v-c5746e5e]{color:var(--text-secondary);font-weight:600}.res[data-v-c5746e5e]{width:100%;border-collapse:collapse;font-size:11px}.res th[data-v-c5746e5e],.res td[data-v-c5746e5e]{text-align:right;padding:2px 4px;color:var(--text-secondary)}.res th[data-v-c5746e5e]{color:var(--text-muted);font-weight:500}.chart[data-v-c5746e5e]{width:100%;height:auto;display:block}.chart .ax[data-v-c5746e5e]{font-size:8px;fill:var(--text-muted)}.chart .grid[data-v-c5746e5e]{stroke:var(--border-color);stroke-width:1}.chart .tol-line[data-v-c5746e5e]{stroke:var(--success, #a6e3a1);stroke-width:1;stroke-dasharray:3 3;opacity:.8}.chart .tol-label[data-v-c5746e5e]{fill:var(--success, #a6e3a1)}.legend[data-v-c5746e5e]{display:flex;flex-wrap:wrap;gap:4px 8px;margin:6px 0}.leg[data-v-c5746e5e]{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--text-secondary)}.sw[data-v-c5746e5e]{width:8px;height:8px;border-radius:2px;display:inline-block}.res-detail summary[data-v-c5746e5e]{cursor:pointer;margin-bottom:4px}.log-search[data-v-c5746e5e]{width:100%;margin-bottom:6px;padding:4px 8px;font-size:11.5px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.log-errors[data-v-c5746e5e]{margin-bottom:6px;padding:5px 8px;border-radius:4px;background:#f38ba814;border-left:3px solid var(--danger)}.err-summary[data-v-c5746e5e]{color:var(--danger);font-size:11.5px;font-weight:600;cursor:pointer}.err-line[data-v-c5746e5e]{font-size:10.5px;color:var(--text-secondary);margin-top:4px;white-space:pre-wrap;word-break:break-word}.logs[data-v-c5746e5e]{flex:1;margin:0;padding:8px;background:var(--bg-tertiary);border-radius:4px;font-size:10.5px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;overflow:auto;min-height:80px}.json[data-v-c5746e5e]{margin:0;padding:8px;background:var(--bg-tertiary);border-radius:4px;font-size:10.5px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto}.panel-header[data-v-c5746e5e]{display:flex;align-items:center;justify-content:space-between}.clone[data-v-c5746e5e]{font-size:11px}.summary-grid[data-v-c5746e5e]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.sum-card[data-v-c5746e5e]{padding:6px 8px;background:var(--bg-tertiary);border-radius:4px;border-left:2px solid var(--accent)}.sum-card.sum-good[data-v-c5746e5e]{border-left-color:var(--success)}.sum-card.sum-good .sum-value[data-v-c5746e5e]{color:var(--success)}.sum-card.sum-warn[data-v-c5746e5e]{border-left-color:var(--warning)}.sum-card.sum-warn .sum-value[data-v-c5746e5e]{color:var(--warning)}.sum-label[data-v-c5746e5e]{font-size:10px;color:var(--text-muted)}.sum-value[data-v-c5746e5e]{font-size:14px;font-weight:600;color:var(--text-primary)}.sum-unit[data-v-c5746e5e]{font-size:10px;color:var(--text-muted);margin-left:2px;font-weight:400}.err-box[data-v-c5746e5e]{padding:6px 8px;margin-bottom:6px;border-radius:4px;background:#f38ba81f;border:1px solid var(--danger);color:var(--text-secondary);font-size:11px;line-height:1.4;word-break:break-word;white-space:pre-wrap;max-height:100px;overflow:auto}.diverge-box[data-v-c5746e5e]{padding:6px 8px;margin-bottom:6px;border-radius:4px;font-size:11px;line-height:1.45;word-break:break-word;border:1px solid var(--border-color)}.diverge-box.warn[data-v-c5746e5e]{background:#eb9a471f;border-color:var(--warning);color:var(--text-secondary)}.diverge-box.severe[data-v-c5746e5e]{background:#f38ba81f;border-color:var(--danger);color:var(--text-secondary)}.statusbar[data-v-05a548c9]{height:var(--statusbar-h);display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:11px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.statusbar[data-v-05a548c9]::-webkit-scrollbar{display:none}.sep[data-v-05a548c9]{width:1px;height:14px;background:var(--border-color)}.res[data-v-05a548c9]{color:var(--text-secondary)}.badge.warn[data-v-05a548c9]{background:#fab3872e;border-color:var(--warning, #fab387);color:var(--warning, #fab387)}.log-tail[data-v-05a548c9]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.cmp-overlay[data-v-247da83b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000080;display:flex;align-items:center;justify-content:center}.cmp-card[data-v-247da83b]{width:min(620px,92vw);max-height:86vh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 40px #00000080}.cmp-head[data-v-247da83b]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-weight:700;border-bottom:1px solid var(--border-color)}.cmp-pick[data-v-247da83b]{display:flex;align-items:center;gap:8px;padding:10px 12px}.job-select[data-v-247da83b]{max-width:280px}.cmp-hint[data-v-247da83b]{margin:0 12px 8px;padding:8px 10px;border-radius:4px;font-size:12px;line-height:1.5}.cmp-hint.severe[data-v-247da83b]{background:#dc35451f;border-left:3px solid var(--danger);color:var(--danger)}.cmp-hint.warn[data-v-247da83b]{background:#ffc1071f;border-left:3px solid var(--warning);color:var(--warning)}.cmp[data-v-247da83b]{width:100%;border-collapse:collapse;font-size:12px}.cmp th[data-v-247da83b],.cmp td[data-v-247da83b]{text-align:left;padding:6px 12px;border-bottom:1px solid var(--border-color)}.cmp th[data-v-247da83b]{color:var(--text-muted);font-weight:500;background:var(--bg-tertiary)}.cmp .lbl[data-v-247da83b]{color:var(--text-muted)}.cmp td.mono[data-v-247da83b]{color:var(--text-primary)}.cmp td.cell-good[data-v-247da83b]{color:var(--success);font-weight:600}.cmp td.cell-bad[data-v-247da83b]{color:var(--danger);font-weight:600}.cmp tbody tr[data-v-247da83b]:hover{background:#7f7f7f1a}.err-cell[data-v-247da83b]{color:var(--danger);font-size:11px;word-break:break-word;white-space:pre-wrap}.pad[data-v-247da83b]{padding:8px 12px}.small[data-v-247da83b]{font-size:11px}.shell{display:grid;height:100vh;width:100vw;grid-template-rows:var(--toolbar-h) 1fr var(--statusbar-h)}.shell-body{display:grid;grid-template-columns:220px 1fr 290px;overflow:hidden}.col-left{border-right:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto}.col-center{position:relative;overflow:hidden;background:var(--bg-tertiary)}.col-right{border-left:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto}.side-toggle{display:none;position:fixed;top:calc(var(--toolbar-h) + 8px);z-index:40;width:34px;height:34px;border-radius:6px;font-size:16px;background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:0 2px 8px #0006;cursor:pointer}.side-toggle.left{left:8px}.side-toggle.right{right:8px}.backdrop{display:none;position:fixed;inset:var(--toolbar-h) 0 var(--statusbar-h);background:#00000073;z-index:25}.boot{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#11111bd9;z-index:100}.boot-card{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border-color);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.err{color:var(--danger);font-size:12px;max-width:360px;text-align:center}.toast{position:fixed;bottom:calc(var(--statusbar-h) + 12px);right:12px;z-index:90;display:flex;align-items:center;gap:8px;max-width:420px;padding:8px 10px;border-radius:6px;background:#f38ba824;border:1px solid var(--danger);color:var(--text-primary);font-size:12px;box-shadow:0 6px 20px #00000073}.toast .t-icon{color:var(--danger);font-size:14px}.toast .t-msg{flex:1;word-break:break-word;line-height:1.4}.toast .t-close{background:transparent;border:0;color:var(--text-muted);padding:0 2px}.toast .t-close:hover{color:var(--danger)}.toast.ok{background:#a6e3a124;border-color:var(--green, #a6e3a1)}.toast.ok .t-icon,.toast.ok .t-close:hover{color:var(--green, #a6e3a1)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#00000080;display:flex;align-items:center;justify-content:center}.confirm-card{width:min(420px,90vw);padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 40px #00000080}.confirm-msg{font-size:13px;line-height:1.5;margin-bottom:14px;color:var(--text-primary)}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1200px)and (min-width:980px){.shell-body{grid-template-columns:188px 1fr 250px}}@media(max-width:979px){.shell-body{grid-template-columns:1fr}.side-toggle,.backdrop{display:block}.col-left,.col-right{position:fixed;top:var(--toolbar-h);bottom:var(--statusbar-h);width:min(82vw,300px);z-index:30;transition:transform .2s ease;box-shadow:0 6px 24px #00000080}.col-left{left:0;transform:translate(-105%);border-right:0}.col-right{right:0;transform:translate(105%);border-left:0}.col-left.open,.col-right.open{transform:none}.toast{right:48px}}.viewer-loading{height:100%;display:grid;place-items:center;color:var(--text-muted);font-size:12px;background:var(--bg-tertiary)}.viewer-error{height:100%;display:grid;place-items:center;color:var(--danger);font-size:12px;background:var(--bg-tertiary);padding:12px;text-align:center}
