From ab784c48ba6dbbae26c47655644d0863fb09237a Mon Sep 17 00:00:00 2001 From: "Josef M. Gallmetzer" <64498081+galjos@users.noreply.github.com> Date: Tue, 25 Aug 2026 17:55:07 +0200 Subject: [PATCH] Drop unused viewer extras and set the next-steps order. Keep interactive viewing on 3Dmol, ship only the Inter subsets the UI needs, and point follow-up work at honest controls and the PQ run path. Co-authored-by: Cursor --- CHANGELOG.md | 2 + CONTRIBUTING.md | 3 +- PRODUCT_DIRECTION.md | 60 ++++++-- docs/viewer-guide.md | 4 +- frontend/src/RendererScene.test.ts | 6 +- frontend/src/RendererScene.tsx | 7 +- frontend/src/main.tsx | 16 ++- frontend/src/styles.css | 133 ------------------ pqviewer/static/assets/index-B9KxOlif.css | 1 - pqviewer/static/assets/index-CQmxkr4B.css | 1 + .../{index-B5Kg_efE.js => index-Dtn8HXMR.js} | 2 +- .../inter-cyrillic-400-normal-HOLc17fK.woff | Bin 9780 -> 0 bytes .../inter-cyrillic-400-normal-obahsSVq.woff2 | Bin 7712 -> 0 bytes .../inter-cyrillic-500-normal-BasfLYem.woff2 | Bin 7900 -> 0 bytes .../inter-cyrillic-500-normal-CxZf_p3X.woff | Bin 9940 -> 0 bytes .../inter-cyrillic-600-normal-4D_pXhcN.woff | Bin 9936 -> 0 bytes .../inter-cyrillic-600-normal-CWCymEST.woff2 | Bin 7972 -> 0 bytes .../inter-cyrillic-700-normal-CjBOestx.woff2 | Bin 7904 -> 0 bytes .../inter-cyrillic-700-normal-DrXBdSj3.woff | Bin 9912 -> 0 bytes ...ter-cyrillic-ext-400-normal-BQZuk6qB.woff2 | Bin 10232 -> 0 bytes ...nter-cyrillic-ext-400-normal-DQukG94-.woff | Bin 13336 -> 0 bytes ...ter-cyrillic-ext-500-normal-B0yAr1jD.woff2 | Bin 10432 -> 0 bytes ...nter-cyrillic-ext-500-normal-BmqWE9Dz.woff | Bin 13452 -> 0 bytes ...nter-cyrillic-ext-600-normal-Bcila6Z-.woff | Bin 13464 -> 0 bytes ...ter-cyrillic-ext-600-normal-Dfes3d0z.woff2 | Bin 10484 -> 0 bytes ...ter-cyrillic-ext-700-normal-BjwYoWNd.woff2 | Bin 10496 -> 0 bytes ...nter-cyrillic-ext-700-normal-LO58E6JB.woff | Bin 13408 -> 0 bytes .../inter-greek-ext-400-normal-DGGRlc-M.woff2 | Bin 5264 -> 0 bytes .../inter-greek-ext-400-normal-KugGGMne.woff | Bin 7064 -> 0 bytes .../inter-greek-ext-500-normal-2j5mBUwD.woff | Bin 7192 -> 0 bytes .../inter-greek-ext-500-normal-C4iEst2y.woff2 | Bin 5428 -> 0 bytes .../inter-greek-ext-600-normal-B8X0CLgF.woff | Bin 7212 -> 0 bytes .../inter-greek-ext-600-normal-DRtmH8MT.woff2 | Bin 5432 -> 0 bytes .../inter-greek-ext-700-normal-BoQ6DsYi.woff | Bin 7216 -> 0 bytes .../inter-greek-ext-700-normal-qfdV9bQt.woff2 | Bin 5444 -> 0 bytes .../inter-vietnamese-400-normal-Bbgyi5SW.woff | Bin 6500 -> 0 bytes ...inter-vietnamese-400-normal-DMkecbls.woff2 | Bin 4972 -> 0 bytes ...inter-vietnamese-500-normal-DOriooB6.woff2 | Bin 5112 -> 0 bytes .../inter-vietnamese-500-normal-mJboJaSs.woff | Bin 6596 -> 0 bytes .../inter-vietnamese-600-normal-BuLX-rYi.woff | Bin 6640 -> 0 bytes ...inter-vietnamese-600-normal-Cc8MFFhd.woff2 | Bin 5100 -> 0 bytes .../inter-vietnamese-700-normal-BZaoP0fm.woff | Bin 6632 -> 0 bytes ...inter-vietnamese-700-normal-DlLaEgI2.woff2 | Bin 5104 -> 0 bytes pqviewer/static/index.html | 4 +- 44 files changed, 76 insertions(+), 163 deletions(-) delete mode 100644 pqviewer/static/assets/index-B9KxOlif.css create mode 100644 pqviewer/static/assets/index-CQmxkr4B.css rename pqviewer/static/assets/{index-B5Kg_efE.js => index-Dtn8HXMR.js} (96%) delete mode 100644 pqviewer/static/assets/inter-cyrillic-400-normal-HOLc17fK.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-400-normal-obahsSVq.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-500-normal-BasfLYem.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-500-normal-CxZf_p3X.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-600-normal-4D_pXhcN.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-600-normal-CWCymEST.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-700-normal-CjBOestx.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-700-normal-DrXBdSj3.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 delete mode 100644 pqviewer/static/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff delete mode 100644 pqviewer/static/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 delete mode 100644 pqviewer/static/assets/inter-greek-ext-400-normal-KugGGMne.woff delete mode 100644 pqviewer/static/assets/inter-greek-ext-500-normal-2j5mBUwD.woff delete mode 100644 pqviewer/static/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 delete mode 100644 pqviewer/static/assets/inter-greek-ext-600-normal-B8X0CLgF.woff delete mode 100644 pqviewer/static/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 delete mode 100644 pqviewer/static/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff delete mode 100644 pqviewer/static/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 delete mode 100644 pqviewer/static/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff delete mode 100644 pqviewer/static/assets/inter-vietnamese-400-normal-DMkecbls.woff2 delete mode 100644 pqviewer/static/assets/inter-vietnamese-500-normal-DOriooB6.woff2 delete mode 100644 pqviewer/static/assets/inter-vietnamese-500-normal-mJboJaSs.woff delete mode 100644 pqviewer/static/assets/inter-vietnamese-600-normal-BuLX-rYi.woff delete mode 100644 pqviewer/static/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 delete mode 100644 pqviewer/static/assets/inter-vietnamese-700-normal-BZaoP0fm.woff delete mode 100644 pqviewer/static/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 diff --git a/CHANGELOG.md b/CHANGELOG.md index dfd214d..6cc7417 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ user-visible changes. - Hide duplicate View/Edit/Analyze tabs in the inspector on wide layouts - Treat Export as a quiet header action until the figure sheet is open - Show the Bonds switch as off when the current representation does not use bonds +- Ignore `?renderer=three` so interactive viewing stays on 3Dmol ### Changed @@ -25,6 +26,7 @@ user-visible changes. - Put representation, atoms, and layers first in View, with the periodic cell and appearance last - Move interactive quality next to light and dark appearance - Enlarge inspector labels and controls from 9–10 px to 11–12 px and load Inter at regular weights +- Ship only Latin, Latin-extended, and Greek Inter files ## [0.1.0] - 2026-08-06 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d740a6..5beccf2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,8 @@ # Contributing PQViewer welcomes focused bug fixes, scientific regression cases, documentation, -and viewer improvements. +and viewer improvements. What to work on next, and what not to add, is in +[PRODUCT_DIRECTION.md](PRODUCT_DIRECTION.md). ## Before changing code diff --git a/PRODUCT_DIRECTION.md b/PRODUCT_DIRECTION.md index 243b528..53c0b68 100644 --- a/PRODUCT_DIRECTION.md +++ b/PRODUCT_DIRECTION.md @@ -78,13 +78,15 @@ they are stable enough for the wider ecosystem. ## Current release scope -The first public release covers: +The public beta already covers: - PQ trajectories, inputs, run directories, and declared restart chains - optional ASE files, `Atoms`, and indexed trajectories +- Jupyter `view()` embedding and a static web demo - lazy PQ frame access and bounded frontend prefetching - PQ-centered orthorhombic and triclinic cells - atom, molecule, unwrapped, mirrored, centered, and repeated periodic views +- local atom and cell edits with EXTXYZ download - direct and scoped selection, measurements, saved selections, and comparisons - trajectory playback, bookmarks, reference displacement, and atom trails - scalar, measurement, pair-distribution, and coordination plots @@ -92,15 +94,49 @@ The first public release covers: - command search, broad keyboard access, and optional Vim navigation - publication raster figures, vector plot output, and source-validated recipes -## Next priorities +Packaging (`MolarVerse-PQViewer` on PyPI) and notebook embedding exist. Do not +rebuild them. Finish honesty, the PQ run loop, and citable exports. -1. Publish a documented, installable release with stable packaging and examples. -2. Make unsupported actions explain their data requirements in the interface. -3. Improve exported scientific metadata for measurement and pair-analysis CSV. -4. Expand redistributable examples for liquids, crystals, MOFs, and proteins. -5. Add notebook embedding around the same dataset and renderer contracts. -6. Define extension contracts for representations and PQAnalysis results after - the core API has release experience. +## Next steps + +Work in this order. Do not start later items to look busy. + +### 1. Honest disabled actions + +Every control that cannot run should say which data it needs: ribbon, polyhedra, +unwrapped coordinates, pair distribution, coordination, tracking, recipes, and +missing sidecars. Missing capabilities stay hidden or disabled. They are never +faked. + +### 2. The PQ run as the default path + +`pqviewer path/to/run` should be the usual step after a job. Explain restart +chains, incomplete companions, and growing files in the interface. Keep +`refresh()` bounded. Do not add a file manager. + +### 3. Exports a paper can reuse + +Measurement and pair-analysis CSV should record units, frame identity, periodic +mode, and analysis populations. Figure recipes already validate the source; +keep them the reproducibility contract. + +### 4. Examples people can open + +Ship small redistributable liquid, crystal, MOF, and protein fixtures in +`examples/`, including the sources already used in the docs. Provenance stays +in `examples/README.md`. + +### 5. After 1.0 + +Harden Jupyter for remote kernels (loopback and port forwarding). Move stable +`FrameKey`, centered-cell, and pair-result contracts upstream into PQAnalysis +only after they stop changing. + +### Not now + +Do not start extension APIs, a second interactive engine, PQEnalyzer embedding, +or VMD/OVITO plugin parity. Those wait until the core viewer has release +experience. ## Quality gates @@ -118,9 +154,11 @@ Every release needs: - simulation setup or execution - cluster and job management -- coordinate editing or calculator setup +- calculator setup (ASE calculator results may be read; never trigger `calculate`) +- growing Edit into molecule building - a permanent energy dashboard - embedding the PQEnalyzer interface - duplicating PQAnalysis calculations in the frontend -- multiple interactive rendering engines without a clear scientific benefit +- a second interactive rendering engine (`?renderer=three` is not a product) - broad plugin parity with VMD, OVITO, or ChimeraX +- extension APIs before 1.0 diff --git a/docs/viewer-guide.md b/docs/viewer-guide.md index 4728486..9e5d78e 100644 --- a/docs/viewer-guide.md +++ b/docs/viewer-guide.md @@ -111,8 +111,8 @@ Use command search for **Source coordinates** when the stored coordinates need to be shown without display wrapping. The interactive view uses the locally bundled 3Dmol renderer. If it cannot -initialize, PQViewer keeps the established Three renderer available as a -fallback. +initialize, PQViewer falls back to the publication renderer so the structure +stays visible. Do not add a second interactive engine. ## Export diff --git a/frontend/src/RendererScene.test.ts b/frontend/src/RendererScene.test.ts index 2500e17..589b029 100644 --- a/frontend/src/RendererScene.test.ts +++ b/frontend/src/RendererScene.test.ts @@ -2,13 +2,13 @@ import { describe, expect, it } from "vitest"; import { resolveRendererEngine } from "./RendererScene"; describe("renderer selection", () => { - it("uses the bundled 3Dmol engine by default", () => { + it("uses the bundled 3Dmol engine for interactive viewing", () => { expect(resolveRendererEngine("")).toBe("3dmol"); expect(resolveRendererEngine("?renderer=3dmol")).toBe("3dmol"); }); - it("keeps the previous renderer as an explicit fallback", () => { - expect(resolveRendererEngine("?renderer=three")).toBe("three"); + it("does not offer a second interactive engine through the URL", () => { + expect(resolveRendererEngine("?renderer=three")).toBe("3dmol"); expect(resolveRendererEngine("?renderer=other")).toBe("3dmol"); }); }); diff --git a/frontend/src/RendererScene.tsx b/frontend/src/RendererScene.tsx index b14fb16..61c457e 100644 --- a/frontend/src/RendererScene.tsx +++ b/frontend/src/RendererScene.tsx @@ -31,11 +31,8 @@ interface PublicationRequest { timeout: number; } -export function resolveRendererEngine(search?: string): RendererEngineId { - const value = new URLSearchParams( - search ?? (typeof window === "undefined" ? "" : window.location.search), - ).get("renderer"); - return value === "three" ? "three" : "3dmol"; +export function resolveRendererEngine(_search?: string): RendererEngineId { + return "3dmol"; } export const MoleculeScene = forwardRef( diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index 291ce56..63098e2 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,9 +1,17 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; -import "@fontsource/inter/400.css"; -import "@fontsource/inter/500.css"; -import "@fontsource/inter/600.css"; -import "@fontsource/inter/700.css"; +import "@fontsource/inter/latin-400.css"; +import "@fontsource/inter/latin-500.css"; +import "@fontsource/inter/latin-600.css"; +import "@fontsource/inter/latin-700.css"; +import "@fontsource/inter/latin-ext-400.css"; +import "@fontsource/inter/latin-ext-500.css"; +import "@fontsource/inter/latin-ext-600.css"; +import "@fontsource/inter/latin-ext-700.css"; +import "@fontsource/inter/greek-400.css"; +import "@fontsource/inter/greek-500.css"; +import "@fontsource/inter/greek-600.css"; +import "@fontsource/inter/greek-700.css"; import App from "./App"; import "./styles.css"; diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 60d9ba9..201dcae 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -468,39 +468,6 @@ output { font-size: 10px; } -.profile-strip { - display: grid; - grid-template-columns: repeat(5, minmax(0, 1fr)); - gap: 2px; - margin-bottom: 13px; - padding: 2px; - border-radius: 9px; - background: var(--surface-soft); -} - -.profile-strip button { - min-width: 0; - min-height: 32px; - padding: 0 3px; - border: 0; - border-radius: 7px; - background: transparent; - color: var(--muted); - font-size: 10px; - cursor: pointer; -} - -.profile-strip button:hover { - color: var(--text); -} - -.profile-strip button.is-active { - background: var(--surface); - box-shadow: 0 1px 3px rgba(31, 51, 57, 0.1); - color: var(--text); - font-weight: 600; -} - .scene-group { padding: 13px 0; border-top: 1px solid var(--line); @@ -2130,7 +2097,6 @@ input[type="range"]::-moz-range-thumb { } .more-menu button, - .profile-strip button, .representation-grid button, .image-presets button, .scene-actions button, @@ -3684,41 +3650,6 @@ button.measurement-plot__legend-item:hover { pointer-events: none; } -.preset-options { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 5px; -} - -.preset-options button { - min-width: 0; - min-height: 34px; - padding: 0 9px; - border: 1px solid var(--line); - border-radius: 7px; - background: var(--surface); - color: var(--muted); - font-size: 10px; - cursor: pointer; -} - -.preset-options button:hover:not(:disabled) { - border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); - color: var(--text); -} - -.preset-options button.is-active { - border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); - background: var(--accent-soft); - color: var(--accent); - font-weight: 650; -} - -.preset-options button:disabled { - cursor: default; - opacity: 0.45; -} - .workbench[hidden], .workbench-pane[hidden] { display: none; @@ -3918,10 +3849,6 @@ button.measurement-plot__legend-item:hover { margin-bottom: 9px; } -.workbench .profile-strip { - margin: 0; -} - .panel-select-row { min-height: 40px; display: grid; @@ -5485,23 +5412,6 @@ button.measurement-plot__legend-item:hover { border-top: 1px solid var(--line); } -.preset-options { - grid-template-columns: repeat(3, minmax(0, 1fr)); - gap: 6px; -} - -.preset-options button { - min-height: 36px; - padding-inline: 5px; - border-color: var(--line-soft); - background: var(--surface-soft); -} - -.preset-options button.is-active { - border-color: color-mix(in srgb, var(--accent) 38%, var(--line)); - background: var(--accent-soft); -} - .periodic-settings { padding: 0; } @@ -7027,49 +6937,6 @@ button.measurement-plot__legend-item:hover { cursor: default; } -.profile-settings { - padding: 0; -} - -.profile-settings > summary { - min-height: 48px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 10px; - padding: 0 16px; - list-style: none; - color: var(--text); - font-size: 12px; - font-weight: 600; - cursor: pointer; -} - -.profile-settings > summary::-webkit-details-marker { - display: none; -} - -.profile-settings > summary::after { - content: "+"; - margin-left: auto; - color: var(--quiet); - font-family: var(--numeric); -} - -.profile-settings[open] > summary::after { - content: "−"; -} - -.profile-settings > summary small { - color: var(--quiet); - font-size: 11px; - font-weight: 400; -} - -.profile-settings .preset-options { - padding: 0 16px 14px; -} - .atom-display-settings .vector-scale-row { border-top: 1px solid var(--line); } diff --git a/pqviewer/static/assets/index-B9KxOlif.css b/pqviewer/static/assets/index-B9KxOlif.css deleted file mode 100644 index 3206761..0000000 --- a/pqviewer/static/assets/index-B9KxOlif.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--header-height: 44px;--canvas: #f6f8f8;--surface: #ffffff;--material: rgba(255, 255, 255, .88);--surface-soft: #edf2f3;--line: #d7e0e2;--line-strong: #c2cfd2;--text: #21363c;--muted: #5c7076;--quiet: #62757a;--disabled: #aab7ba;--accent: #257198;--accent-soft: #e3f0f5;--error: #a23d31;--shadow: 0 10px 32px rgba(30, 51, 57, .11), 0 2px 7px rgba(30, 51, 57, .06);--numeric: "SFMono-Regular", "Roboto Mono", Consolas, monospace}:root[data-appearance=dark]{color-scheme:dark;--canvas: #1e2e33;--surface: #26383e;--material: rgba(38, 56, 62, .92);--surface-soft: #30454c;--line: #465b61;--line-strong: #5a7076;--text: #f2f6f5;--muted: #c1ced0;--quiet: #9aadb1;--disabled: #718286;--accent: #63c4d8;--accent-soft: #294c58;--error: #f09a8d;--shadow: 0 12px 36px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:var(--canvas);color:var(--text)}button,select,input{font:inherit}button,select{color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.molecule-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}kbd,output{font-family:var(--numeric)}.app-shell,.workspace{width:100%;height:100svh;min-height:0}.workspace{position:relative;isolation:isolate;overflow:hidden;background:var(--canvas)}.molecule-canvas,.canvas-field{position:absolute;top:var(--header-height);left:0;width:100%;height:calc(100% - var(--header-height));display:block}.molecule-canvas{cursor:grab;touch-action:none}.molecule-canvas:active{cursor:grabbing}.molecule-canvas.is-box-selecting{cursor:crosshair}.selection-marquee{position:absolute;z-index:15;pointer-events:none;border:1px solid var(--accent);border-radius:2px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.icon{width:20px;height:20px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:absolute;z-index:20;inset:0 0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 8px 0 12px;border-bottom:1px solid var(--line);background:var(--surface)}.identity,.topbar-tools,.scene-status,.open-button,.command-button,.customize-button{display:flex;align-items:center}.identity{min-width:0;gap:9px}.identity-mark{width:28px;height:28px;flex:0 0 auto;object-fit:contain}.identity>div{min-width:0;display:flex;align-items:baseline;gap:9px}.identity strong{color:var(--text);font-size:13px;font-weight:650;letter-spacing:-.01em}.identity span:last-child{max-width:min(42vw,520px);overflow:hidden;color:var(--muted);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.topbar-tools{flex:0 0 auto;gap:3px}.scene-status{gap:13px;margin-right:8px;color:var(--muted);font-size:11px}.scene-status strong{color:var(--text);font-family:var(--numeric);font-size:10px;font-weight:550}.open-button,.command-button,.customize-button,.more-button,.icon-button{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:background-color .19s ease,color .19s ease}.open-button:hover,.command-button:hover,.customize-button:hover,.more-button:hover,.icon-button:hover{background:var(--surface-soft);color:var(--text)}.open-button .icon,.command-button .icon,.customize-button .icon,.more-button .icon,.icon-button .icon{width:17px;height:17px}.command-button kbd{color:var(--quiet);font-size:10px}.customize-button{width:36px;padding:0}.customize-button[aria-expanded=true]{background:var(--accent-soft);color:var(--text)}.customize-button:disabled{opacity:.48;cursor:default}.more-control{position:relative}.more-button{width:36px;padding:0}.more-menu{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:226px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);animation:pop-in .19s ease both}.more-menu button{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.more-menu button:hover{background:var(--surface-soft)}.more-menu button:disabled{color:var(--disabled);cursor:default}.more-menu button:disabled:hover{background:transparent}.more-menu kbd{color:var(--quiet);font-size:10px}.more-menu hr{height:1px;margin:4px 7px;border:0;background:var(--line)}.scene-control{position:absolute;z-index:12;top:calc(var(--header-height) + 12px);left:14px}.scene-trigger{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 11px 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--material);box-shadow:0 3px 12px #20343a12;-webkit-backdrop-filter:blur(12px) saturate(1.06);backdrop-filter:blur(12px) saturate(1.06);color:var(--text);cursor:pointer;transition:background-color .19s ease,border-color .19s ease,transform .19s ease}.scene-trigger:hover,.scene-trigger[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface)}.scene-trigger:active{transform:scale(.98)}.scene-trigger>span{color:var(--muted);font-size:10px}.scene-trigger>strong{font-size:12px;font-weight:600}.scene-trigger .icon{width:14px;height:14px;color:var(--quiet)}.scene-popover{position:absolute;top:51px;left:0;width:min(356px,calc(100vw - 28px));max-height:min(650px,calc(100svh - 182px));overflow:auto;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);scrollbar-color:var(--line-strong) transparent;animation:pop-in .19s ease both}.popover-heading,.sheet-heading,.section-heading-row,.scene-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.popover-heading{margin-bottom:13px}.popover-heading>div,.sheet-heading>div{min-width:0}.popover-heading strong,.sheet-heading strong{display:block;color:var(--text);font-size:15px;font-weight:650;letter-spacing:-.01em}.popover-heading span,.sheet-heading span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.profile-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin-bottom:13px;padding:2px;border-radius:9px;background:var(--surface-soft)}.profile-strip button{min-width:0;min-height:32px;padding:0 3px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.profile-strip button:hover{color:var(--text)}.profile-strip button.is-active{background:var(--surface);box-shadow:0 1px 3px #1f33391a;color:var(--text);font-weight:600}.scene-group{padding:13px 0;border-top:1px solid var(--line)}.scene-group-label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.scene-group-heading{align-items:baseline}.scene-group-heading .scene-group-label{margin-bottom:8px}.scene-group-heading output{color:var(--quiet);font-size:10px}.representation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.representation-grid button{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;text-align:left;cursor:pointer}.representation-grid button:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.representation-grid button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--text)}.representation-grid button:disabled{color:var(--disabled);cursor:default}.representation-grid button .icon{width:14px;height:14px;color:var(--accent)}.capability-note,.cell-origin-note{display:block;margin-top:7px;color:var(--quiet);font-size:10px;line-height:1.4}.toggle-row,.choice-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:12px}.toggle-row.is-disabled,.choice-row.is-disabled{color:var(--disabled)}.toggle-row>button[role=switch],.vim-heading>button[role=switch]{position:relative;width:34px;height:20px;flex:0 0 auto;padding:0;border:0;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:background-color .19s ease}.toggle-row>button[role=switch] i,.vim-heading>button[role=switch] i{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #14232833;transition:transform .19s ease}.toggle-row>button[role=switch][aria-checked=true],.vim-heading>button[role=switch][aria-checked=true]{background:var(--accent)}.toggle-row>button[role=switch][aria-checked=true] i,.vim-heading>button[role=switch][aria-checked=true] i{transform:translate(14px)}.toggle-row>button[role=switch]:disabled{cursor:default;opacity:.55}.mini-segmented,.settings-segmented{display:flex;min-height:34px;padding:2px;border-radius:8px;background:var(--surface-soft)}.mini-segmented{width:150px}.mini-segmented button,.settings-segmented button{min-width:0;min-height:30px;flex:1 1 0;padding:0 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.mini-segmented button.is-active,.settings-segmented button.is-active{background:var(--surface);box-shadow:0 1px 3px #1f33391a;color:var(--text);font-weight:600}.image-presets{display:flex;gap:4px;margin-bottom:8px}.image-presets button{min-height:32px;flex:1 1 0;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.image-presets button:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--text)}.image-presets button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--text)}.image-ranges{display:grid;gap:5px}.image-axis{min-height:36px;display:grid;grid-template-columns:22px 1fr 10px 1fr;align-items:center;padding:0 6px;border:1px solid var(--line);border-radius:8px}.image-axis>span{color:var(--muted);font-family:var(--numeric);font-size:10px}.image-axis>i{color:var(--quiet);font-style:normal;font-size:10px;text-align:center}.image-axis select{min-width:0;width:100%;height:30px;padding:0 4px;border:0;background:transparent;color:var(--text);font-family:var(--numeric);font-size:10px;text-align:center}.image-axis.is-disabled{opacity:.42}.scene-actions{display:flex;align-items:center;justify-content:flex-start;gap:5px;margin:0 -15px -15px;padding:11px 15px 15px;border-top:1px solid var(--line);background:var(--surface)}.scene-actions button{min-height:38px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.scene-actions button:hover{background:var(--surface-soft);color:var(--text)}.scene-actions button.is-active{background:var(--accent-soft);color:var(--text)}.orientation-control{position:absolute;z-index:11;top:calc(var(--header-height) + 12px);right:14px;display:flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--material);box-shadow:0 3px 12px #20343a12;-webkit-backdrop-filter:blur(12px) saturate(1.06);backdrop-filter:blur(12px) saturate(1.06)}.orientation-control button{min-width:38px;height:36px;display:grid;place-items:center;padding:0 7px;border:0;border-radius:8px;background:transparent;color:var(--quiet);font-family:var(--numeric);font-size:10px;cursor:pointer}.orientation-control button:hover,.orientation-control button.is-active{background:var(--surface-soft);color:var(--text)}.orientation-control button.is-active{font-weight:650}.orientation-control button .icon{width:18px;height:18px;color:var(--accent)}.inspector{position:absolute;z-index:14;top:calc(var(--header-height) + 12px);right:14px;bottom:76px;width:316px;overflow:auto;padding:16px 18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.04);backdrop-filter:blur(16px) saturate(1.04);visibility:hidden;pointer-events:none;opacity:0;transform:translate(14px) scale(.99);transform-origin:top right;transition:opacity .19s ease,transform .19s ease,visibility 0ms linear .19s;scrollbar-color:var(--line-strong) transparent}.inspector.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translate(0) scale(1);transition-delay:0ms}.panel-heading{min-height:36px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:7px}.panel-heading h2{margin:0;font-size:16px;line-height:1.3;font-weight:650;letter-spacing:-.01em}.close-inspector{width:32px;min-width:32px;height:32px;padding:0}.readout-section{padding:13px 0}.readout-section+.readout-section{border-top:1px solid var(--line)}.readout-section h3{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.section-heading-row{min-height:18px;align-items:baseline;margin-bottom:8px}.section-heading-row h3{margin:0}.section-heading-row>span,.section-heading-row>output{color:var(--quiet);font-size:10px}.readout{min-height:27px;display:grid;grid-template-columns:minmax(82px,.82fr) minmax(0,1.18fr);align-items:baseline;gap:10px}.readout span{color:var(--muted);font-size:12px}.readout strong{overflow:hidden;color:var(--text);font-family:var(--numeric);font-size:12px;font-weight:500;text-align:right;text-overflow:ellipsis;white-space:nowrap}.readout.is-accent strong{color:var(--accent);font-weight:650}.cell-metrics-section .readout{grid-template-columns:66px minmax(0,1fr)}.quiet-copy{margin:2px 0 4px;color:var(--muted);font-size:11px;line-height:1.5}.vector-readout{margin:8px 0 9px}.vector-readout>span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.vector-readout code{display:grid;grid-template-columns:14px 1fr;row-gap:5px;padding-left:9px;border-left:2px solid var(--line-strong);color:var(--text);font-family:var(--numeric);font-size:10px;line-height:1.25}.vector-readout code i{color:var(--quiet);font-style:normal}.vector-readout code b{position:absolute;right:18px;color:var(--quiet);font-size:10px;font-weight:500}.force-scale{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.force-scale>span{color:var(--quiet);font-family:var(--numeric);font-size:10px}.timeline{position:absolute;z-index:18;left:50%;bottom:12px;width:min(960px,calc(100% - 28px));min-height:52px;padding:5px 9px 8px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:0 5px 20px #1f333917;-webkit-backdrop-filter:blur(14px) saturate(1.04);backdrop-filter:blur(14px) saturate(1.04);transform:translate(-50%)}.timeline.is-compact{height:52px;padding-block:4px}.transport-row{min-height:42px;display:flex;align-items:center;gap:10px}.transport-buttons{display:flex;flex:0 0 auto;align-items:center}.transport-button,.play-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.play-button{color:var(--text)}.transport-button:hover:not(:disabled),.play-button:hover:not(:disabled){background:var(--surface-soft);color:var(--accent)}.transport-button:disabled,.play-button:disabled{opacity:.28;cursor:default}.transport-button .icon,.play-button .icon{width:17px;height:17px}.scrubber{min-width:40px;flex:1 1 auto;display:flex;align-items:center}input[type=range]{width:100%;height:28px;margin:0;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--line-strong)}input[type=range]::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px;appearance:none;border:2px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:var(--line-strong)}input[type=range]::-moz-range-thumb{width:11px;height:11px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}.frame-counter{min-width:74px;color:var(--text);font-size:10px;font-weight:600;text-align:right}.speed-control select,.plot-label select{border:0;background:transparent;cursor:pointer}.speed-control select{width:54px;padding:6px 2px 6px 5px;color:var(--muted);font-family:var(--numeric);font-size:10px;text-align:right}.plot-row{position:relative;height:67px;display:flex;align-items:stretch;gap:12px;padding-top:3px;border-top:1px solid var(--line)}.plot-label{width:106px;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;gap:3px;overflow:hidden}.plot-label select{width:100%;overflow:hidden;padding:0;color:var(--text);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.plot-label small{color:var(--quiet);font-family:var(--numeric);font-size:10px}.series-plot{position:relative;min-width:0;flex:1 1 auto}.series-plot svg{width:100%;height:100%;display:block;overflow:visible;cursor:crosshair;touch-action:none}.plot-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.series-line{fill:none;stroke:var(--muted);stroke-width:1.5;vector-effect:non-scaling-stroke}.empty-series-line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.frame-marker{stroke:var(--accent);stroke-width:1.25;opacity:.82;vector-effect:non-scaling-stroke}.frame-point{fill:var(--surface);stroke:var(--accent);stroke-width:2}.plot-range{position:absolute;inset:4px 3px 4px auto;display:flex;flex-direction:column;justify-content:space-between;color:var(--quiet);font-family:var(--numeric);font-size:10px;pointer-events:none}.frame-error{position:static;max-width:76px;flex:0 1 auto;overflow:hidden;padding:3px 6px;border-radius:5px;background:var(--surface);color:var(--error);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.frame-error-compact{display:none}.command-backdrop,.customize-backdrop{position:absolute;z-index:50;inset:var(--header-height) 0 0;background:#141f232e;animation:fade-in .19s ease both}.command-backdrop{display:grid;place-items:start center;padding:min(14vh,120px) 16px 24px}:root[data-appearance=dark] .command-backdrop,:root[data-appearance=dark] .customize-backdrop{background:#00000057}.command-palette{width:min(560px,100%);max-height:min(620px,calc(100svh - 150px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);animation:palette-in .21s ease both}.command-search{height:56px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--line)}.command-search .icon{width:19px;height:19px;color:var(--quiet)}.command-search input{min-width:0;flex:1 1 auto;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}.command-search input::placeholder{color:var(--quiet)}.command-search kbd{color:var(--quiet);font-size:10px}.command-results{max-height:min(500px,calc(100svh - 220px));overflow:auto;padding:6px;scrollbar-color:var(--line-strong) transparent}.command-results>button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.command-results>button:hover,.command-results>button.is-active,.command-results>button[aria-selected=true]{background:var(--accent-soft)}.command-results>button[aria-disabled=true]{color:var(--disabled);cursor:default}.command-results>button kbd{color:var(--quiet);font-size:10px}.command-results>button small{max-width:56%;color:var(--quiet);font-size:10px;line-height:1.35;text-align:right}.command-results>p{margin:0;padding:32px 18px;color:var(--muted);font-size:12px;text-align:center}.shortcut-backdrop{padding-top:min(10vh,76px)}.shortcut-panel{width:min(720px,100%);max-height:min(680px,calc(100svh - 120px));overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);animation:palette-in .21s ease both;scrollbar-color:var(--line-strong) transparent}.shortcut-heading,.vim-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.shortcut-heading{min-height:66px;padding:15px 16px 12px 18px;border-bottom:1px solid var(--line)}.shortcut-heading strong,.shortcut-heading span,.vim-heading strong,.vim-heading span{display:block}.shortcut-heading strong{color:var(--text);font-size:14px;font-weight:650}.shortcut-heading span,.vim-heading span{margin-top:3px;color:var(--quiet);font-size:10px}.shortcut-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5em),1fr));gap:12px 16px;padding:4px 18px 14px}.shortcut-groups>section{min-width:0;padding:13px 0 4px}.shortcut-groups>section+section{padding-left:0;border-left:0}.shortcut-groups h3{margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.shortcut-row{min-height:32px;display:grid;grid-template-columns:minmax(7em,max-content) minmax(0,1fr);align-items:center;gap:9px;color:var(--muted);font-size:10px}.shortcut-row>span{min-width:0;overflow-wrap:anywhere}.shortcut-row kbd{width:fit-content;max-width:100%;padding:3px 5px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font-size:9px;white-space:nowrap}.vim-shortcuts{padding:14px 18px 17px;border-top:1px solid var(--line)}.vim-heading{align-items:center}.vim-heading strong{color:var(--text);font-size:11px;font-weight:650}.vim-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5em),1fr));gap:0 12px;margin-top:9px;transition:opacity .18s ease}.vim-shortcuts:not(.is-active) .vim-shortcut-grid{opacity:.62}.customize-sheet{position:absolute;z-index:51;top:12px;right:14px;bottom:14px;width:min(376px,calc(100% - 28px));overflow:auto;padding:17px 18px 18px;border:1px solid var(--line);border-radius:16px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);animation:sheet-in .21s ease both;scrollbar-color:var(--line-strong) transparent}.render-sheet{bottom:auto;max-height:calc(100svh - var(--header-height) - 26px);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.sheet-heading{min-height:36px;align-items:flex-start;padding-bottom:11px}.settings-section{padding:14px 0;border-top:1px solid var(--line)}.settings-section h3{margin:0 0 10px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.settings-section>small{display:block;margin-top:8px;color:var(--quiet);font-size:10px;line-height:1.4}.settings-link{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.settings-link:hover{color:var(--text)}.settings-link kbd{color:var(--quiet);font-size:10px}.keyboard-settings .toggle-row{min-height:38px}.inline-settings{display:grid;gap:7px}.inline-setting{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:9px}.inline-setting>span{color:var(--muted);font-size:10px}.customize-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;border-top:1px solid var(--line)}.customize-pair .settings-section{min-width:0;border-top:0}#customize-sheet .settings-section{padding:12px 0}.geometry-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.slider-settings .geometry-settings label{min-width:0;min-height:44px;grid-template-columns:1fr;align-content:center;gap:2px}.settings-segmented{min-height:36px;border-radius:9px}.settings-segmented button{min-height:32px;border-radius:7px;font-size:10px}.settings-choice{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.settings-choice:hover,.settings-choice.is-active{background:var(--surface-soft)}.settings-choice.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.settings-choice strong,.settings-choice small{display:block}.settings-choice strong{font-size:11px;font-weight:600}.settings-choice small{margin-top:3px;color:var(--quiet);font-size:10px}.settings-choice .icon{width:15px;height:15px;color:var(--accent)}.render-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.render-presets button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 6px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);cursor:pointer}.render-presets button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.render-presets button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft)}.render-presets strong{font-size:11px;font-weight:600}.render-presets small{color:var(--muted);font-family:var(--numeric);font-size:10px}.render-size{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}.render-size label{display:grid;gap:6px;color:var(--muted);font-size:10px}.render-size input{min-width:0;width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:11px}.render-size>i{padding-bottom:11px;color:var(--quiet);font-style:normal;font-size:11px}.render-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;border-top:1px solid var(--line)}.render-options-grid .settings-section{min-width:0;border-top:0}.slider-settings label{min-height:38px;display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:10px}.slider-settings label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.slider-settings output{color:var(--text);font-size:10px}.sheet-actions{position:sticky;z-index:1;bottom:-18px;display:flex;justify-content:flex-end;gap:6px;margin:0 -18px -18px;padding:12px 18px 18px;border-top:1px solid var(--line);background:var(--surface)}.sheet-actions>button{min-height:38px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.sheet-actions>button:hover{background:var(--surface-soft);color:var(--text)}.sheet-actions>button.primary{background:var(--accent);color:#fff;font-weight:600}.sheet-actions>button:disabled,.render-presets button:disabled,.render-sheet .icon-button:disabled{opacity:.5;cursor:default}.drop-overlay{position:absolute;z-index:60;inset:var(--header-height) 0 0;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--canvas) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;animation:fade-in .15s ease both}.drop-overlay>div{min-width:min(340px,90vw);padding:28px 32px;border:1px solid color-mix(in srgb,var(--accent) 52%,var(--line));border-radius:16px;background:var(--material);box-shadow:var(--shadow);color:var(--text);text-align:center}.drop-overlay .icon{width:27px;height:27px;margin:0 auto 10px;color:var(--accent)}.drop-overlay strong,.drop-overlay span{display:block}.drop-overlay strong{font-size:16px;font-weight:650}.drop-overlay span{margin-top:6px;color:var(--muted);font-size:11px}.notice{position:absolute;z-index:45;left:50%;bottom:78px;max-width:min(440px,calc(100% - 32px));max-height:min(120px,calc(100% - 24px));overflow:hidden;overflow-wrap:anywhere;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:var(--material);box-shadow:0 4px 15px #1f333917;color:var(--text);font-size:11px;line-height:1.35;white-space:normal;transform:translate(-50%);animation:notice-in .19s ease both}.notice>span{min-width:0;overflow-wrap:anywhere}.notice.is-error{width:min(440px,calc(100% - 16px));max-width:min(440px,calc(100% - 16px));display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:6px;border-color:color-mix(in srgb,var(--error) 30%,var(--line))}.notice.is-error>span{max-height:100px;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable}.notice-dismiss{width:44px;height:44px;display:grid;place-items:center;margin:-6px -8px -6px 0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.notice-dismiss:hover{background:var(--surface-soft);color:var(--text)}.notice-dismiss .icon{width:16px;height:16px}.notice.is-busy:before{content:"";width:7px;height:7px;display:inline-block;margin-right:8px;border-radius:50%;background:var(--accent);animation:pulse 1.1s ease-in-out infinite}.centered-state{position:absolute;z-index:18;inset:var(--header-height) 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--canvas);text-align:center}.centered-state h1{margin:18px 0 0;font-size:17px;font-weight:650;letter-spacing:-.01em}.centered-state p{max-width:360px;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.centered-state button{min-height:40px;display:inline-flex;align-items:center;gap:7px;margin-top:17px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}.centered-state button:hover{border-color:var(--accent);color:var(--accent)}.state-orbit{position:relative;width:48px;height:48px}.state-orbit i{position:absolute;inset:13px 2px;border:1px solid var(--muted);border-radius:50%;transform:rotate(30deg)}.state-orbit i:nth-child(2){transform:rotate(-30deg)}.state-orbit b{position:absolute;top:21px;left:21px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.state-orbit.is-busy{animation:orbit-spin 1.8s linear infinite}@keyframes pop-in{0%{opacity:0;transform:translateY(-5px) scale(.985)}}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}}@keyframes sheet-in{0%{opacity:0;transform:translate(12px) scale(.99)}}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(18px) scale(.99)}}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,6px)}}@keyframes fade-in{0%{opacity:0}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@media(max-width:760px){.panel-button,.render-button{min-width:44px;flex-shrink:0}.scene-status,.command-button{display:none}.topbar{padding-right:4px}.open-button,.customize-button,.more-button,.icon-button{min-width:44px;height:44px}.more-menu button,.profile-strip button,.representation-grid button,.image-presets button,.scene-actions button,.sheet-actions>button,.centered-state button{min-height:44px}.mini-segmented,.settings-segmented{min-height:48px}.mini-segmented button,.settings-segmented button{min-height:44px}.image-axis{min-height:48px}.image-axis select,.speed-control select,.plot-label select,.render-size input,input[type=range]{height:44px}.toggle-row>button[role=switch],.vim-heading>button[role=switch]{width:44px;height:44px;background:transparent}.toggle-row>button[role=switch]:before,.vim-heading>button[role=switch]:before{content:"";position:absolute;top:12px;left:5px;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background-color .19s ease}.toggle-row>button[role=switch] i,.vim-heading>button[role=switch] i{top:15px;left:8px}.toggle-row>button[role=switch][aria-checked=true],.vim-heading>button[role=switch][aria-checked=true]{background:transparent}.toggle-row>button[role=switch][aria-checked=true]:before,.vim-heading>button[role=switch][aria-checked=true]:before{background:var(--accent)}.scene-control{top:calc(var(--header-height) + 8px);left:8px}.scene-popover{position:fixed;z-index:40;inset:auto 8px 70px;width:auto;max-height:min(68svh,610px);border-radius:16px;animation-name:mobile-sheet-in}.orientation-control{top:calc(var(--header-height) + 8px);right:8px}.orientation-control button{min-width:44px;height:44px}.inspector{position:fixed;z-index:36;inset:auto 8px 70px;width:auto;max-height:min(56svh,520px);opacity:0;transform:translateY(18px) scale(.99);transform-origin:bottom center}.inspector.is-open{opacity:1;transform:translateY(0) scale(1)}.timeline{bottom:8px;width:calc(100% - 16px);padding-inline:5px;border-radius:13px}.transport-row{gap:4px}.transport-button,.play-button{width:44px;height:44px}.frame-counter{min-width:58px;font-size:10px}.speed-control select{width:46px}.plot-row{height:72px;gap:7px}.plot-label{width:74px}.plot-range{display:none}.notice{bottom:72px}.command-backdrop{position:fixed;inset:0;align-items:end;padding:8px}.command-palette{max-height:min(74svh,620px);border-radius:17px;animation-name:mobile-sheet-in}.command-results{max-height:calc(74svh - 56px)}.command-results>button{min-height:48px}.shortcut-panel{max-height:calc(100svh - 16px);border-radius:17px;animation-name:mobile-sheet-in}.shortcut-groups{grid-template-columns:1fr}.shortcut-groups>section{padding:13px 0 8px}.shortcut-groups>section+section{padding-left:0;border-top:1px solid var(--line);border-left:0}.vim-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customize-backdrop{position:fixed;inset:0}.customize-sheet{position:absolute;inset:auto 8px 8px;width:auto;max-height:min(78svh,660px);border-radius:17px;animation-name:mobile-sheet-in}.render-sheet{max-height:calc(100svh - 68px)}.toggle-row,.choice-row{min-height:48px}}.scrubber-shell{position:relative;min-width:40px;flex:1 1 auto}.scrubber-shell .scrubber{width:100%}.trajectory-marker-rail{position:absolute;right:6px;bottom:2px;left:6px;height:8px;pointer-events:none}.trajectory-marker{position:absolute;top:-8px;width:24px;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;transform:translate(-50%)}.trajectory-marker:after{position:absolute;top:9px;left:11px;width:3px;height:6px;border-radius:2px;background:var(--quiet);content:""}.trajectory-marker.is-reference:after{top:8px;left:8px;width:7px;height:7px;border:1px solid var(--surface);border-radius:1px;background:var(--accent);transform:rotate(45deg)}.timeline-options>div{max-height:min(620px,calc(100vh - var(--header-height) - var(--timeline-height) - 24px));overflow-y:auto}.timeline-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.timeline-action-list button{min-width:0;min-height:32px;overflow:hidden;padding:0 8px;border:1px solid var(--line-soft);border-radius:5px;background:var(--surface);color:var(--text);font-size:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.timeline-action-list button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.timeline-action-list button:disabled{opacity:.42;cursor:default}@media(max-width:760px){.timeline-action-list button{min-height:40px}}.measurement-plot__header{overflow:hidden}.measurement-plot__meta{min-width:72px;max-width:220px;flex:0 1 220px;display:flex;align-items:baseline;gap:7px;overflow:hidden}.measurement-plot__meta strong{min-width:0;overflow:hidden;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.measurement-plot__meta span{flex:0 0 auto;white-space:nowrap}.measurement-plot__legend{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}.measurement-plot__legend::-webkit-scrollbar{display:none}.measurement-plot__legend-item{min-width:0;height:26px;display:inline-flex;flex:0 1 auto;align-items:center;gap:5px;overflow:hidden;padding:0 6px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}button.measurement-plot__legend-item{cursor:pointer}button.measurement-plot__legend-item:hover{background:var(--surface-soft);color:var(--text)}.measurement-plot__legend-item>span:not(.measurement-plot__legend-swatch){max-width:150px;overflow:hidden;text-overflow:ellipsis}.measurement-plot__legend-item output{color:var(--text);font-family:var(--numeric)}.measurement-plot__legend-swatch{width:8px;height:2px;flex:0 0 auto;border-radius:2px}.measurement-plot__header-actions,.measurement-plot__context-actions{flex:0 0 auto;display:flex;align-items:center}.measurement-plot__close{width:30px;min-width:30px!important;padding:0!important;font-size:17px!important;font-weight:400!important}.rdf-view-toggle{display:flex;padding:2px;border-radius:5px;background:var(--surface-soft)}.rdf-view-toggle button{min-width:38px;height:26px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:600 10px var(--numeric);cursor:pointer}.rdf-view-toggle button.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 12%,transparent)}.rdf-sheet{position:absolute;z-index:42;bottom:calc(var(--timeline-height) + 12px);left:50%;width:min(390px,calc(100% - 24px));max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 24px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 44px color-mix(in srgb,var(--text) 16%,transparent);transform:translate(-50%)}.rdf-sheet>header,.rdf-sheet>footer{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px}.rdf-sheet>header{border-bottom:1px solid var(--line-soft)}.rdf-sheet>header strong{font-size:12px}.rdf-sheet>header button{width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.rdf-sheet__body{display:grid;gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:12px}.rdf-sheet__body>label,.rdf-sheet__body details>div>label{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:9px;color:var(--muted);font-size:10px}.rdf-sheet select,.rdf-sheet input{width:100%;height:36px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px}.rdf-sheet__body details{padding-top:2px}.rdf-sheet__body summary{color:var(--muted);font-size:10px;cursor:pointer}.rdf-sheet__body details>div{display:grid;gap:8px;padding-top:8px}.rdf-sheet>footer{border-top:1px solid var(--line-soft);color:var(--quiet);font-size:11px}.rdf-sheet>footer button{min-width:72px;height:34px;border:0;border-radius:6px;background:var(--accent);color:var(--surface);font-size:10px;font-weight:650;cursor:pointer}.rdf-sheet>footer button:disabled{opacity:.35;cursor:default}.pinned-measurements{display:block;max-width:none;max-height:none;overflow:visible;padding:0}.pinned-measurements>summary{height:34px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 3px 12px color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);font-size:10px;font-weight:650;cursor:pointer;list-style:none}.pinned-measurements>summary::-webkit-details-marker{display:none}.pinned-measurements[open]>summary{border-color:var(--line-strong);color:var(--text)}.pinned-measurements>section{position:absolute;top:calc(100% + 6px);left:0;width:min(360px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.pinned-measurements>section>header{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 11px;border-bottom:1px solid var(--line-soft)}.pinned-measurements>section>header strong{font-size:10px}.pinned-measurements>section>header button{height:30px;padding:0 9px;border:0;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:650;cursor:pointer}.pinned-measurements__list{max-height:250px;overflow-y:auto;padding:5px}.pinned-measurements__list>div{min-width:0;display:flex;align-items:stretch}.pinned-measurements .selection-chip{flex:1 1 auto;width:auto;max-width:none;box-shadow:none}@media(max-width:520px){.measurement-plot__meta{max-width:92px;flex-basis:92px}.measurement-plot__meta span{display:none}.measurement-plot__legend-item>span:not(.measurement-plot__legend-swatch){max-width:82px}.measurement-plot__actions button{min-width:36px;width:36px;padding-inline:3px}.rdf-sheet{bottom:calc(var(--timeline-height) + 8px);width:calc(100% - 16px)}.rdf-sheet select,.rdf-sheet input,.rdf-sheet>footer button{height:40px}.rdf-sheet>header button{width:40px;height:40px}.pinned-measurements{top:calc(var(--header-height) + 58px)}.selection-bar .selection-track-button{display:none}}@media(max-height:420px){.pinned-measurements[open]{z-index:45}.pinned-measurements>section{position:fixed;top:calc(var(--header-height) + 100px);bottom:calc(var(--timeline-height) + 8px);left:8px;width:min(360px,calc(100vw - 16px));display:grid;grid-template-rows:auto minmax(0,1fr)}.pinned-measurements__list{min-height:0;max-height:none;overscroll-behavior:contain}}@media(max-width:380px){.rdf-view-toggle button{min-width:34px;padding-inline:5px}}@media(max-width:520px){.identity>div{display:block}.identity strong,.identity span:last-child{display:block}.identity span:last-child{max-width:42vw;margin-top:2px;font-size:10px}.identity-mark{width:27px;height:27px}.open-button{width:44px;padding:0;font-size:0}.open-button .icon{width:18px;height:18px}.scene-trigger>span{display:none}.scene-trigger>strong{max-width:178px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orientation-control button{min-width:44px;padding-inline:5px}.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{width:44px}.frame-counter{min-width:54px}.speed-control select{width:42px;padding-inline:1px}}.workspace.timeline-absent{--timeline-height: 0px;--selection-bottom: 14px}.workspace.timeline-present{--timeline-height: 56px;--selection-bottom: 68px}.canvas-controls>button.is-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.section-label{display:block;margin-bottom:8px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.075em;line-height:1.2;text-transform:uppercase}.section-label-spaced{margin-top:14px}.segmented-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.segmented-options button{min-width:0;min-height:34px;padding:0 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.segmented-options button:hover:not(:disabled){color:var(--text)}.segmented-options button.is-active{border-color:var(--line);background:var(--surface);color:var(--accent);font-weight:650}.representation-options{grid-template-columns:repeat(2,minmax(0,1fr))}.display-toggles .section-label{margin:4px 0 2px}.display-toggles .vector-scale-row+.toggle-row{border-top:1px solid var(--line)}.vector-scale-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:1px 0 9px 12px;color:var(--muted);font-size:12px}.vector-scale-row input{grid-column:1 / -1;min-width:0}.vector-scale-row output{color:var(--text);font-size:11px}.selection-bar{position:absolute;z-index:16;bottom:var(--selection-bottom);left:50%;width:max-content;max-width:min(640px,calc(100% - 24px));min-height:48px;display:flex;align-items:center;gap:10px;padding:5px 5px 5px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 10%,transparent);transform:translate(-50%)}.selection-readout{min-width:0;flex:1 1 auto;display:flex;align-items:baseline;gap:9px;overflow:hidden}.selection-readout strong,.selection-readout output{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-readout strong{min-width:0;flex:1 1 auto;font-size:11px}.selection-readout output{flex:0 1 auto;max-width:100%;color:var(--accent);font-size:10px}.selection-hint{color:var(--quiet);font-size:10px;white-space:nowrap}.selection-bar>button:not(.icon-button){flex:0 0 auto;min-width:56px;height:36px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--accent);font-size:10px;font-weight:650;cursor:pointer}.selection-bar>button:not(.icon-button):hover{background:var(--accent-soft)}.selection-bar .measurement-mode[aria-pressed=true]{background:var(--accent-soft)}.measurement-mode-compact{display:none}.selection-bar .icon-button{width:36px;padding:0}.timeline,.timeline.is-compact{height:var(--timeline-height);overflow:visible;padding:0 10px}.timeline .transport-row{min-height:var(--timeline-height);gap:9px}.transport-buttons{gap:0}.transport-button,.play-button{width:36px;height:40px;border-radius:5px}.play-button{color:var(--accent)}.frame-counter{min-width:66px;font-variant-numeric:tabular-nums}.frame-counter-compact{display:none}.frame-metadata{max-width:140px;overflow:hidden;color:var(--muted);font-family:var(--numeric);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.timeline-options{position:relative;flex:0 0 auto}.timeline-options>summary{width:40px;height:40px;display:grid;place-items:center;border-radius:5px;color:var(--muted);cursor:pointer;list-style:none}.timeline-options>summary::-webkit-details-marker{display:none}.timeline-options>summary:hover,.timeline-options[open]>summary{background:var(--surface-soft);color:var(--text)}.timeline-options>div{position:absolute;right:0;bottom:calc(100% + 8px);width:244px;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.timeline-options>div>label{min-height:34px;display:grid;grid-template-columns:1fr 112px;align-items:center;gap:12px;color:var(--muted);font-size:10px}.timeline-options select{width:100%;height:34px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font-size:10px}.timeline-options .section-label{margin:3px 0 -3px}.workspace.timeline-present .notice{bottom:calc(var(--timeline-height) + 12px)}.workspace.selection-present .notice{bottom:calc(var(--selection-bottom) + 58px)}@media(min-width:761px){.workbench-open .selection-bar{left:calc((100% - var(--workbench-width) - 24px) / 2);max-width:calc(100% - var(--workbench-width) - 48px)}}@media(max-width:760px){.canvas-controls{right:8px;left:8px;width:auto;height:50px}.canvas-controls>button{min-width:0;height:44px;flex:1 1 0}.frame-metadata{display:none}.selection-bar{max-width:calc(100% - 16px);min-height:52px;gap:5px;padding:4px 4px 4px 11px}.selection-readout{flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:1px}.selection-bar>button:not(.icon-button),.selection-bar .icon-button,.timeline-options>summary{height:44px}}@media(max-width:520px){.workspace.selection-present .workbench{max-height:calc(100% - var(--header-height) - var(--timeline-height) - 80px)}.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{display:none}.timeline,.timeline.is-compact{padding-inline:4px}.timeline .transport-row{gap:4px}.transport-button,.play-button{width:40px;height:44px}.scrubber{min-width:36px}.frame-counter{min-width:54px;font-size:10px}.timeline-options>div{position:fixed;right:8px;bottom:calc(var(--timeline-height) + 8px);width:min(244px,calc(100vw - 16px))}}@media(max-width:360px){.speed-control{display:none}.representation-grid{grid-template-columns:1fr}}@media(max-width:340px){.orientation-control{top:calc(var(--header-height) + 60px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--header-height: 48px;--viewport-toolbar-height: 46px;--workbench-width: 344px}.workspace{--timeline-height: 126px;background:var(--canvas)}.workspace.timeline-compact{--timeline-height: 58px}.molecule-canvas,.canvas-field{top:calc(var(--header-height) + var(--viewport-toolbar-height));width:100%;height:calc(100% - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height));transition:width .18s ease}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - var(--workbench-width))}.topbar{height:var(--header-height);padding:0 8px 0 12px;gap:12px;background:var(--surface);box-shadow:none}.identity-mark{width:30px;height:30px}.identity strong{font-size:13px}.topbar-tools,.panel-button,.inspect-button,.render-button{display:flex;align-items:center}.topbar-tools{gap:4px}.open-button,.panel-button,.inspect-button,.render-button,.command-button,.more-button,.icon-button{min-width:36px;height:34px;border-radius:7px}.open-button,.panel-button,.inspect-button,.render-button{gap:7px;padding:0 10px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.open-button:hover,.panel-button:hover,.panel-button[aria-expanded=true],.inspect-button:hover,.inspect-button[aria-expanded=true]{border-color:var(--line);background:var(--surface-soft);color:var(--text)}.render-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.render-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.render-button:disabled{border-color:var(--line);background:var(--surface-soft);color:var(--disabled);cursor:default}.figure-control{display:flex;align-items:center}.figure-control .render-button{border-radius:7px 0 0 7px}.figure-options-button{width:30px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--accent);border-left-color:color-mix(in srgb,var(--accent) 68%,#fff);border-radius:0 7px 7px 0;background:var(--accent);color:#fff;cursor:pointer}.figure-options-button:hover:not(:disabled),.figure-options-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 84%,#000)}.figure-options-button:disabled{border-color:var(--line);background:var(--surface-soft);color:var(--disabled);cursor:default}.figure-options-button .icon{width:15px;height:15px}.open-button:disabled,.panel-button:disabled,.inspect-button:disabled,.command-button:disabled,.more-button:disabled{color:var(--disabled);cursor:default;opacity:.52}.panel-button .icon,.render-button .icon{width:16px;height:16px}.viewport-toolbar{position:absolute;z-index:11;top:var(--header-height);left:0;right:0;height:var(--viewport-toolbar-height);display:flex;align-items:center;gap:4px;padding:0 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,var(--canvas));transition:right .18s ease}.workbench-open .viewport-toolbar{right:var(--workbench-width)}.viewport-preset{min-width:58px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.viewport-toolbar>label{height:32px;display:flex;align-items:center;gap:3px;padding:0 3px 0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.viewport-toolbar>label>span{color:var(--quiet);font-size:11px;font-weight:600;text-transform:uppercase}.viewport-toolbar select{height:30px;max-width:126px;padding:0 24px 0 5px;border:0;background:transparent;color:var(--text);font-size:11px;font-weight:550;cursor:pointer}.viewport-toolbar>button{height:32px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.viewport-toolbar>button:hover,.viewport-toolbar>button.is-active{border-color:var(--line);background:var(--surface);color:var(--text)}.viewport-toolbar>button.is-active{color:var(--accent);font-weight:650}.viewport-divider{width:1px;height:22px;margin:0 3px;background:var(--line)}.viewport-toolbar .orientation-control{position:static;display:flex;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.viewport-toolbar .orientation-control button{min-width:34px;height:32px;padding:0 6px;border-radius:6px}.viewport-toolbar .orientation-control button .icon{width:16px;height:16px}.mobile-view-select{display:none!important}.viewport-toolbar button:disabled,.viewport-toolbar select:disabled,.workbench button:disabled,.timeline button:disabled,.timeline select:disabled,.timeline input:disabled{cursor:default;opacity:.48}.workbench{position:absolute;z-index:18;top:var(--header-height);right:0;bottom:0;width:var(--workbench-width);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);background:var(--surface);animation:workbench-in .18s ease both}.molecule-stage-3dmol{overflow:hidden;background:#f3f5f2}.molecule-stage-3dmol>canvas{display:block;width:100%!important;height:100%!important}.publication-renderer-source{position:absolute;z-index:-1;inset:0;visibility:hidden;pointer-events:none}.preset-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.preset-options button{min-width:0;min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:10px;cursor:pointer}.preset-options button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--text)}.preset-options button.is-active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:650}.preset-options button:disabled{cursor:default;opacity:.45}.workbench[hidden],.workbench-pane[hidden]{display:none}@keyframes workbench-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.workbench-tabs{height:43px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;border-bottom:1px solid var(--line)}.workbench-tabs button{position:relative;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.workbench-tabs button:hover,.workbench-tabs button.is-active{color:var(--text)}.workbench-tabs button.is-active:after{content:"";position:absolute;right:18px;bottom:-1px;left:18px;height:2px;background:var(--accent)}.workbench-heading{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.workbench-heading strong,.workbench-heading span{display:block}.workbench-heading strong{color:var(--text);font-size:14px;font-weight:650}.workbench-heading span{margin-top:2px;color:var(--muted);font-size:12px}.workbench-expand-button{display:none}.workbench-body{min-height:0;flex:1 1 auto;overflow:auto;scrollbar-color:var(--line-strong) transparent}.workbench-footer{min-height:43px;display:flex;align-items:stretch;flex:0 0 auto;border-top:1px solid var(--line);background:var(--surface)}.workbench-footer button{min-width:0;display:flex;align-items:center;gap:6px;flex:1 1 0;padding:0 10px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.workbench-footer button:hover{background:var(--surface-soft);color:var(--text)}.workbench-footer button+button{border-left:1px solid var(--line)}.render-workbench-footer{min-height:54px;padding:8px 10px;gap:8px}.render-workbench-footer button{min-height:36px;justify-content:center;border:1px solid var(--line);border-radius:6px;font-weight:600}.render-workbench-footer button+button{border-left:1px solid var(--accent)}.render-workbench-footer .primary{border-color:var(--accent);background:var(--accent);color:#fff}.render-workbench-footer .primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.workbench-footer .icon{width:14px;height:14px}.workbench-footer kbd{margin-left:auto;color:var(--quiet);font-size:9px}.workbench-section{padding:14px 16px}.workbench-section+.workbench-section{border-top:1px solid var(--line)}.workbench-section>h3,.workbench-section-heading h3,.render-panel .settings-section h3{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workbench-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.workbench-section-heading span,.workbench-section-heading output{color:var(--quiet);font-family:var(--numeric);font-size:11px}.workbench-section-heading h3{margin-bottom:9px}.workbench .profile-strip{margin:0}.panel-select-row{min-height:40px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid var(--line);color:var(--text);font-size:12px}.panel-select-row:first-of-type{border-top:0}.panel-select-row select{min-width:0;height:32px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}.panel-details{margin-top:8px;border-top:1px solid var(--line)}.panel-details summary{min-height:38px;display:flex;align-items:center;color:var(--muted);font-size:10px;cursor:pointer}.panel-details[open] summary{color:var(--text)}.panel-details .geometry-settings,.panel-details .image-ranges{padding:2px 0 7px}.layer-heading{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px}.layer-heading strong,.layer-heading span{display:block}.layer-heading strong{font-size:11px;font-weight:600}.layer-heading span{margin-top:2px;color:var(--quiet);font-size:9px}.layer-heading>.toggle-row{min-height:36px}.layer-heading>.toggle-row>span{display:none}.image-heading{margin-top:8px}.panel-slider{display:block;margin-top:8px}.panel-slider>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.panel-slider output{color:var(--text)}.inspector-content{padding:0 16px 16px}.inspector-content .readout-section:first-child{padding-top:14px}.render-panel .settings-section{padding:14px 16px;border-bottom:1px solid var(--line)}.render-panel .render-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.render-panel .render-options-grid{display:block}.render-panel .sheet-actions{position:sticky;bottom:0;margin:0;padding:10px 16px;background:var(--surface)}.render-print-row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.render-print-row select{height:32px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:10px}.print-scale-section output{display:block;margin:7px 0 3px;color:var(--text);font-family:var(--numeric);font-size:12px}.render-guide-region{position:absolute;z-index:9;top:calc(var(--header-height) + var(--viewport-toolbar-height));right:0;bottom:var(--timeline-height);left:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;transition:right .18s ease}.workbench-open .render-guide-region{right:var(--workbench-width)}.render-guide{position:relative;flex:0 0 auto;border:1px dashed color-mix(in srgb,var(--accent) 68%,transparent);border-radius:2px;box-shadow:0 0 0 200vmax color-mix(in srgb,var(--canvas) 10%,transparent)}.render-guide span{position:absolute;top:7px;left:8px;padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.workspace.is-rendering .molecule-canvas,.workspace.is-rendering .canvas-field{pointer-events:none}.timeline.is-busy .series-plot svg{pointer-events:none}.command-backdrop,.customize-backdrop{position:fixed;inset:0}.preferences-sheet{width:min(440px,calc(100vw - 24px))}.timeline,.timeline.is-compact{left:0;bottom:0;width:100%;height:var(--timeline-height);min-height:0;padding:5px 12px 8px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;transition:width .18s ease}.timeline .transport-row{min-height:46px}.timeline .plot-row{height:70px}.playback-mode-control select{width:92px;height:32px;padding:0 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px}.notice{bottom:calc(var(--timeline-height) + 12px)}@media(max-width:960px){.viewport-toolbar>label>span,.viewport-preset{display:none}.viewport-toolbar>label{padding-left:3px}.viewport-toolbar>label,.viewport-toolbar>button{min-height:44px}.viewport-toolbar select{height:42px}.viewport-color-control{display:none!important}.viewport-toolbar .orientation-control{display:none}.viewport-toolbar .mobile-view-select{display:flex!important;margin-left:auto}.viewport-toolbar,.workbench-open .viewport-toolbar{overflow-x:auto;scrollbar-width:none}.viewport-toolbar::-webkit-scrollbar{display:none}.playback-mode-control{display:none}}@media(max-width:1100px){.timeline .jump-button{display:none}}@media(max-width:760px){.workspace{--timeline-height: 128px}.workspace.timeline-compact{--timeline-height: 58px}.molecule-canvas,.canvas-field,.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:100%}.topbar{padding-right:4px}.open-button,.panel-button,.render-button,.more-button,.icon-button{width:44px;min-width:44px;height:44px;padding:0;justify-content:center;font-size:0}.panel-button span,.render-button:not(.primary):after{display:none}.viewport-toolbar,.workbench-open .viewport-toolbar{right:0;gap:3px;overflow-x:auto;padding:0 6px;scrollbar-width:none}.viewport-toolbar::-webkit-scrollbar{display:none}.viewport-toolbar>label,.viewport-toolbar>button,.viewport-toolbar .orientation-control{flex:0 0 auto}.viewport-toolbar>label,.viewport-toolbar>button{min-height:44px}.viewport-toolbar select{height:42px;max-width:112px}.viewport-toolbar .orientation-control{display:none}.viewport-toolbar .mobile-view-select{display:flex!important;margin-left:auto}.workbench{position:fixed;top:auto;right:8px;bottom:calc(var(--timeline-height) + 8px);left:8px;width:auto;height:min(44svh,420px);max-height:calc(100svh - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height) - 24px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);animation-name:mobile-sheet-in}.workbench.is-expanded{height:min(68svh,600px)}.workbench-expand-button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted)}.workbench-expand-button[aria-expanded=true] .icon{transform:rotate(180deg)}.workbench-tabs{height:46px}.workbench-heading{min-height:58px}.panel-select-row,.panel-details summary,.layer-heading{min-height:44px}.panel-select-row select,.render-print-row select{height:44px}.workbench-footer,.workbench-footer button{min-height:48px}.render-workbench-footer{min-height:56px}.render-workbench-footer button{min-height:44px}.workbench-open .timeline{width:100%}.workbench-open .render-guide-region{right:0}.timeline .jump-button{display:none}.timeline,.timeline.is-compact{bottom:0;width:100%;padding-inline:6px;border-radius:0}.notice{bottom:calc(var(--timeline-height) + 8px)}}@media(max-width:420px){.identity span:last-child{max-width:31vw}.viewport-toolbar>button{padding-inline:8px}.viewport-color-control{display:none!important}.playback-mode-control{display:none}}@media(max-width:520px){.identity span:last-child{display:none}}@media(max-width:760px)and (max-height:520px){.workspace,.workspace.timeline-compact{--timeline-height: 58px}.timeline .plot-row{display:none}.workbench,.workbench.is-expanded{height:calc(100svh - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height) - 16px);max-height:none}.workbench-heading,.workbench-expand-button{display:none}}@media(max-width:340px){.viewport-toolbar,.workbench-open .viewport-toolbar{gap:2px;padding-inline:4px}.viewport-style-control select{width:94px;max-width:94px}.mobile-view-select select{width:50px;padding-right:18px}.viewport-toolbar>button{padding-inline:6px}.viewport-divider{margin-inline:1px}}:root{--header-height: 48px;--viewport-toolbar-height: 0px;--workbench-width: 320px;--export-width: 380px;--figure-panel-reserve: var(--export-width);--figure-panel-gap: 12px}.app-shell,.workspace{min-height:0}.scene-status,.command-button,.viewport-toolbar{display:none}.molecule-canvas,.canvas-field{top:var(--header-height);height:calc(100% - var(--header-height) - var(--timeline-height))}.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - var(--export-width))}.canvas-controls{position:absolute;z-index:12;top:calc(var(--header-height) + 10px);right:12px;height:36px;display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 7%,transparent);transition:right .18s ease}.workbench-open .canvas-controls{right:calc(var(--workbench-width) + 12px)}.export-open .canvas-controls{right:calc(var(--export-width) + 12px)}.canvas-controls>button,.canvas-controls .orientation-control button{min-width:34px;height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.canvas-controls>button:hover,.canvas-controls .orientation-control button:hover,.canvas-controls .orientation-control button.is-active{background:var(--surface-soft);color:var(--text)}.canvas-controls .orientation-control{position:static;display:flex;margin:0;padding:0 0 0 2px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.canvas-controls .orientation-control .icon{width:15px;height:15px}.canvas-view-select{display:none}.canvas-controls button:disabled,.canvas-controls select:disabled{opacity:.48;cursor:default}.workbench{top:var(--header-height);left:auto;bottom:0;width:var(--workbench-width);border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none}.workbench:focus{outline:none}.workbench:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.workbench-heading{min-height:50px;padding:7px 10px 7px 16px}.workbench-heading strong{font-size:13px}.workbench-expand-button .icon{transform:rotate(180deg);transition:transform .16s ease}.workbench.is-expanded .workbench-expand-button .icon{transform:rotate(0)}.workbench-body{overscroll-behavior:contain}.workbench-section:first-child{padding-top:12px}.selection-chip{position:absolute;z-index:13;top:calc(var(--header-height) + 12px);left:12px;height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 7%,transparent);font-size:10px;cursor:pointer}.selection-chip strong{color:var(--text);font-family:var(--numeric);font-size:11px}.selection-chip:hover{border-color:var(--line-strong);color:var(--accent)}.export-sheet{position:fixed;z-index:32;top:var(--header-height);right:0;bottom:0;width:var(--export-width);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);background:var(--surface);box-shadow:-10px 0 28px color-mix(in srgb,var(--text) 8%,transparent);animation:workbench-in .18s ease both}.figure-sheet{bottom:var(--timeline-height)}.export-sheet[hidden]{display:none}.export-sheet:focus{outline:none}.export-sheet:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.export-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:8px 10px 8px 16px;border-bottom:1px solid var(--line)}.export-heading strong,.export-heading span{display:block}.export-heading strong{color:var(--text);font-size:14px;font-weight:650}.export-heading span{margin-top:2px;color:var(--muted);font-size:12px}.export-body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}.export-footer{min-height:56px;display:grid;grid-template-columns:1fr 1.45fr;gap:8px;flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--line);background:var(--surface)}.export-footer button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer}.export-footer .primary{border-color:var(--accent);background:var(--accent);color:#fff}.export-footer button:disabled{opacity:.48;cursor:default}.figure-section{padding:16px;border-bottom:1px solid var(--line)}.figure-section-label{display:block;margin-bottom:10px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.figure-presets,.figure-choice-row{display:grid;gap:6px}.figure-presets{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.figure-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.figure-choice-row+.figure-choice-row{margin-top:8px}.figure-presets button,.figure-choice-row button,.figure-recipe-actions button{min-height:34px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.figure-presets button:hover,.figure-choice-row button:hover,.figure-recipe-actions button:hover,.figure-presets button.is-active,.figure-choice-row button.is-active{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:var(--accent-soft);color:var(--accent-strong)}.figure-number-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:6px}.figure-number-grid label,.figure-scale-length{display:grid;gap:5px;color:var(--quiet);font-size:11px}.figure-number-grid input,.figure-scale-length input{min-width:0;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:10px}.figure-toggle{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);cursor:pointer}.figure-toggle:last-of-type{border-bottom:0}.figure-toggle span,.figure-toggle strong,.figure-toggle small{display:block}.figure-toggle strong{color:var(--text);font-size:12px;font-weight:600}.figure-toggle small{margin-top:2px;color:var(--quiet);font-size:11px}.figure-toggle input{width:16px;height:16px;accent-color:var(--accent)}.figure-scale-length{grid-template-columns:1fr 90px auto;align-items:center;margin-top:8px}.figure-recipe-actions p{margin:0 0 10px;color:var(--quiet);font-size:11px;line-height:1.45}.figure-recipe-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.figure-sheet-open .molecule-canvas,.figure-sheet-open .canvas-field{width:calc(100% - var(--figure-panel-reserve))}.figure-sheet-open .canvas-controls{right:calc(var(--figure-panel-reserve) + var(--figure-panel-gap));transition:none}.export-options{border-bottom:1px solid var(--line)}.export-options>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.export-options>summary small{overflow:hidden;color:var(--quiet);font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.export-options-body{border-top:1px solid var(--line)}.export-open .render-guide-region{right:var(--export-width)}.timeline,.timeline.is-compact{left:0;bottom:0;width:100%;height:var(--timeline-height);border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}.frame-counter{white-space:nowrap}.figure-sheet-open .timeline{z-index:33}.workbench-open .timeline{width:calc(100% - var(--workbench-width))}.export-open .timeline{width:calc(100% - var(--export-width))}.playback-mode-control{display:none}@media(max-width:719px){.workspace{--figure-panel-reserve: 0px;--figure-panel-gap: 8px}.inspect-button{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.export-open .molecule-canvas,.export-open .canvas-field{width:100%}.workbench,.workbench.is-expanded{position:fixed;top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:min(44svh,360px);max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 16px);border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -10px 28px color-mix(in srgb,var(--text) 8%,transparent)}.workbench.is-expanded{height:min(68svh,560px)}.workbench-heading{min-height:50px}.workbench-expand-button{display:grid}.workbench-open .timeline,.export-open .timeline{width:100%}.workbench-open .canvas-controls,.export-open .canvas-controls{right:8px}.canvas-controls{top:calc(var(--header-height) + 8px);right:8px;height:44px}.canvas-controls>button{min-width:44px;height:40px}.canvas-controls .orientation-control{display:none}.canvas-view-select{height:40px;display:flex;align-items:center;border-left:1px solid var(--line)}.canvas-view-select select{width:58px;height:40px;padding:0 18px 0 8px;border:0;background:transparent;color:var(--text);font-size:11px}.selection-chip{top:calc(var(--header-height) + 13px);left:8px;height:40px}.export-sheet{top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:min(72svh,560px);max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 8px);border:0;border-top:1px solid var(--line);box-shadow:0 -10px 28px color-mix(in srgb,var(--text) 8%,transparent);animation-name:mobile-sheet-in}.figure-sheet.export-sheet{max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 64px)}.export-open .render-guide-region{right:0}.export-heading{min-height:50px}.export-footer button{min-height:44px}.figure-options-button{width:44px;height:44px}.figure-presets button,.figure-choice-row button,.figure-recipe-actions button{min-height:44px}.figure-number-grid input,.figure-scale-length input{height:44px}.render-panel .render-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.render-panel .render-presets button{min-width:0;padding-inline:4px}}@media(max-width:760px){.topbar{padding-inline:8px 4px}.open-button{width:44px;min-width:44px;padding:0;font-size:0}.panel-button,.inspect-button,.render-button{width:auto;min-width:50px;height:44px;padding:0 9px;font-size:10px}.panel-button span{display:inline}.more-button{width:44px;min-width:44px;height:44px}}@media(min-width:720px){.more-inspect-action{display:none!important}}@media(max-width:520px){.identity>div{min-width:0;display:block}.identity strong{display:none}.identity span:last-child{display:block;max-width:none;margin:0;font-size:10px}.identity-mark{width:28px;height:28px}}@media(max-width:420px){.identity>div{display:none}}@media(min-width:720px)and (max-width:760px){.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - var(--workbench-width))}.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - var(--export-width))}}@media(max-width:479px),(min-width:480px)and (max-width:760px)and (min-height:521px){.workspace.workbench-open.selection-present .selection-bar{bottom:calc(var(--timeline-height) + var(--mobile-workbench-height))}.workspace.workbench-expanded.selection-present .selection-bar{visibility:hidden;pointer-events:none}}@media(min-width:480px)and (max-width:760px)and (max-height:520px){.workspace,.workspace.timeline-compact{--timeline-height: 58px;--figure-panel-reserve: min(320px, 48vw);--figure-panel-gap: 8px}.timeline .plot-row{display:none}.workbench,.workbench.is-expanded,.export-sheet{top:var(--header-height);right:0;bottom:var(--timeline-height);left:auto;width:min(320px,48vw);height:auto;max-height:none;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:-10px 0 28px color-mix(in srgb,var(--text) 8%,transparent)}.figure-sheet.export-sheet{max-height:none}.workbench-heading{display:flex}.workbench-expand-button{display:none}.workbench-open .canvas-controls,.export-open .canvas-controls{right:calc(min(320px,48vw) + 8px)}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - min(320px,48vw))}.export-open .render-guide-region{right:min(320px,48vw)}.workbench-open .timeline,.export-open .timeline{width:calc(100% - min(320px,48vw))}.render-panel .render-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--timeline-height: 52px;--workbench-width: 304px;--scene-strip-height: 40px}.workspace.timeline-compact{--timeline-height: 52px}.workspace.timeline-absent{--timeline-height: 0px}.workspace.timeline-present{--timeline-height: 52px}.scene-strip{position:absolute;z-index:14;top:var(--header-height);right:0;left:0;height:var(--scene-strip-height);display:flex;align-items:stretch;overflow:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,var(--canvas));transition:right .18s ease}.scene-strip-presets{min-width:0;display:flex;align-items:stretch}.scene-strip-presets button{position:relative;min-width:76px;padding:0 12px;border:0;background:transparent;color:var(--quiet);font-size:10px;font-weight:560;letter-spacing:.01em;cursor:pointer}.scene-strip-presets button:after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:2px;border-radius:2px 2px 0 0;background:transparent}.scene-strip-presets button:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.scene-strip-presets button.is-active{color:var(--accent);font-weight:680}.scene-strip-presets button.is-active:after{background:var(--accent)}.scene-strip-presets button:disabled{color:color-mix(in srgb,var(--quiet) 48%,transparent);cursor:default}.scene-strip-facts{min-width:0;display:flex;align-items:center;gap:0;margin-left:auto;padding-right:12px;color:var(--quiet);font-family:var(--numeric);font-size:9px;white-space:nowrap}.scene-strip-facts span{display:flex;gap:3px;align-items:baseline}.scene-strip-facts span+span:before{content:"";width:1px;height:12px;margin:0 9px;background:var(--line)}.scene-strip-facts strong{color:var(--muted);font-weight:650}.molecule-canvas,.canvas-field{top:calc(var(--header-height) + var(--scene-strip-height));height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height))}.workbench-open .scene-strip{right:var(--workbench-width)}.figure-sheet-open .scene-strip{right:var(--figure-panel-reserve)}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.workbench-open .timeline{width:calc(100% - var(--workbench-width))}.workbench{position:absolute;z-index:24;top:calc(var(--header-height) + var(--scene-strip-height));right:0;bottom:0;left:auto;width:var(--workbench-width);height:auto;max-height:none;overflow:hidden;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.workbench.atom-card{width:320px}.workbench-heading{min-height:54px;padding:6px 8px 6px 16px}.workbench-heading-copy{min-width:0}.workbench-heading-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-body{max-height:none;overflow:auto}.workbench-section,.workbench-section:first-child{padding:12px 16px}.scene-panel .workbench-section+.workbench-section{border-top:1px solid var(--line)}.preset-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.preset-options button{min-height:36px;padding-inline:5px;border-color:var(--line-soft);background:var(--surface-soft)}.preset-options button.is-active{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft)}.periodic-settings{padding:0}.periodic-settings>summary{position:relative;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 12px;padding:8px 36px 8px 16px;list-style:none;color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.periodic-settings>summary::-webkit-details-marker{display:none}.periodic-settings>summary:after{content:"";position:absolute;right:17px;width:6px;height:6px;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:rotate(45deg) translateY(-2px);transition:transform .14s ease}.periodic-settings[open]>summary:after{transform:rotate(225deg) translate(-1px,-1px)}.periodic-settings>summary small{min-width:0;overflow:hidden;color:var(--quiet);font-size:11px;font-weight:450;text-overflow:ellipsis;white-space:nowrap}.periodic-settings-body{padding:0 16px 14px;border-top:1px solid var(--line-soft)}.periodic-control-label{display:block;margin:12px 0 6px;color:var(--muted);font-size:11px;font-weight:600}.workbench-section>.section-label+.periodic-control-label{margin-top:0}.periodic-inline-control,.periodic-repeat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.periodic-inline-control .periodic-control-label,.periodic-repeat-heading .periodic-control-label{margin:0}.periodic-repeat-heading>span:last-child{color:var(--quiet);font-size:11px;font-variant-numeric:tabular-nums}.periodic-axis-options{display:flex;gap:4px}.periodic-axis-options button,.periodic-repeat-row button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer}.periodic-axis-options button:hover:not(:disabled),.periodic-repeat-row button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.periodic-axis-options button.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.periodic-repeat-grid{display:grid;gap:4px;margin-top:6px}.periodic-repeat-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 38px 30px;align-items:center;gap:4px;min-height:30px}.periodic-repeat-row>span{color:var(--text);font-size:11px;font-style:italic}.periodic-repeat-row output{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.periodic-repeat-row.is-disabled>span,.periodic-repeat-row.is-disabled output{color:var(--quiet)}.periodic-axis-options button:disabled,.periodic-repeat-row button:disabled{cursor:default;opacity:.38}.panel-select-row{min-height:34px}.display-toggles{padding-block:9px}.display-toggles .toggle-row{min-height:36px}.display-toggles .toggle-row+.toggle-row{border-top:1px solid var(--line-soft)}.atom-card .inspector-content{padding:0}.atom-card .readout-section{padding:12px 14px 14px;border:0}.workbench-open .canvas-controls{right:calc(var(--workbench-width) + 12px);opacity:1;pointer-events:auto}.canvas-controls{top:calc(var(--header-height) + var(--scene-strip-height) + 10px)}.selection-chip{top:calc(var(--header-height) + var(--scene-strip-height) + 12px)}.timeline,.timeline.is-compact{height:var(--timeline-height)}.timeline .transport-row{min-height:var(--timeline-height)}@media(max-width:760px){.workspace{--mobile-workbench-height: min(48svh, 440px);--scene-strip-height: 44px}.scene-strip{right:0;overflow:visible}.scene-strip-presets{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.scene-strip-presets::-webkit-scrollbar{display:none}.scene-strip-presets button{flex:0 0 auto;min-width:72px;padding-inline:9px}.scene-strip-presets button:after{right:9px;left:9px}.scene-strip-presets button:disabled{display:none}.scene-strip-facts{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:100%;height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - var(--mobile-workbench-height))}.workbench-open .timeline{width:100%}.workbench,.workbench.atom-card{position:fixed;top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:var(--mobile-workbench-height);max-height:calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--timeline-height));border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -12px 30px color-mix(in srgb,var(--text) 9%,transparent)}.workbench-open .canvas-controls{right:8px}.canvas-controls{top:calc(var(--header-height) + var(--scene-strip-height) + 8px)}.selection-chip{top:calc(var(--header-height) + var(--scene-strip-height) + 10px)}.panel-button,.render-button{min-width:0;padding-inline:8px}.panel-button .icon,.render-button .icon{display:none}.periodic-axis-options button,.periodic-repeat-row button{width:42px;height:42px}.periodic-repeat-row{grid-template-columns:minmax(0,1fr) 42px 46px 42px;min-height:42px}}@media(max-width:760px){.open-button{width:auto;min-width:62px;padding-inline:8px;font-size:10px}}.command-button{display:inline-flex;width:auto;min-width:124px;padding-inline:11px;border-color:var(--line-strong);background:var(--surface-soft);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 7%,transparent)}.command-button span{display:inline;font-weight:650}.command-button:hover{border-color:color-mix(in srgb,var(--accent) 54%,var(--line-strong));background:var(--accent-soft)}.command-button kbd{white-space:nowrap}.command-backdrop{z-index:70}@media(min-width:761px){.identity{max-width:calc(50% - 112px)}.command-button{position:absolute;top:7px;left:50%;width:clamp(176px,23vw,286px);transform:translate(-50%)}}@media(max-width:760px){.command-button{display:inline-flex;width:44px;min-width:44px;height:44px;padding:0;border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong));background:var(--accent-soft);color:var(--accent)}.command-button span,.command-button kbd{display:none}.command-button .icon{width:18px;height:18px}}.workspace{--measurement-plot-height: 164px}.measurement-plot-open .selection-bar{z-index:18;bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 7px);width:min(760px,calc(100% - 24px));max-width:none;border-radius:10px 10px 0 0;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 9%,transparent)}.measurement-plot-open .selection-readout{flex:1 1 auto}.workspace.measurement-plot-open .notice{bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 70px)}.measurement-plot{position:absolute;z-index:17;bottom:calc(var(--timeline-height) + 8px);left:50%;width:min(760px,calc(100% - 24px));height:var(--measurement-plot-height);display:grid;grid-template-rows:34px minmax(0,1fr) 18px;overflow:hidden;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 9%,transparent);transform:translate(-50%)}.measurement-plot.is-complete{grid-template-rows:34px minmax(0,1fr)}.measurement-plot__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 5px 3px 13px;border-bottom:1px solid var(--line-soft)}.measurement-plot__meta{color:var(--quiet);font-family:var(--numeric);font-size:10px}.measurement-plot__actions{flex:0 0 auto;display:flex;align-items:center;gap:1px}.measurement-plot__export-menu{position:relative;display:none}.measurement-plot__export-menu>summary{list-style:none}.measurement-plot__export-menu>summary::-webkit-details-marker{display:none}.measurement-plot__actions button{height:30px;min-width:40px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.measurement-plot__actions button:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.measurement-plot__actions button:disabled{color:var(--disabled);cursor:default}.measurement-plot__chart{width:100%;height:100%;min-height:0;display:block;cursor:crosshair}.measurement-plot__chart:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.measurement-plot__grid,.measurement-plot__axis{stroke:var(--line-soft);stroke-width:1}.measurement-plot__axis{stroke:var(--line-strong)}.measurement-plot__trace{stroke:var(--accent);stroke-width:1.8}.measurement-plot__trace-point,.measurement-plot__cursor-point{fill:var(--accent)}.measurement-plot__cursor{stroke:var(--accent);stroke-width:1.25;opacity:.7}.measurement-plot__cursor-point{stroke:var(--surface);stroke-width:2}.measurement-plot__tick,.measurement-plot__axis-label,.measurement-plot__unit,.measurement-plot__empty{fill:var(--quiet);font-family:var(--numeric);font-size:12px}.measurement-plot__axis-label,.measurement-plot__unit,.measurement-plot__empty{font-family:inherit;font-size:11px}.measurement-plot__progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;color:var(--quiet);font-family:var(--numeric);font-size:10px}.measurement-plot__progress progress{width:100%;height:2px;overflow:hidden;border:0;border-radius:2px;background:var(--surface-soft);color:var(--accent);appearance:none}.measurement-plot__progress progress::-webkit-progress-bar{background:var(--surface-soft)}.measurement-plot__progress progress::-webkit-progress-value{background:var(--accent)}.measurement-plot__progress progress::-moz-progress-bar{background:var(--accent)}.selection-bar .selection-plot-button[aria-pressed=true]{background:var(--accent-soft)}@media(max-width:520px){.workspace{--measurement-plot-height: 194px}.measurement-plot,.measurement-plot-open .selection-bar{width:calc(100% - 16px)}.measurement-plot{grid-template-rows:44px minmax(0,1fr) 18px}.measurement-plot.is-complete{grid-template-rows:44px minmax(0,1fr)}.measurement-plot__header{overflow:visible;padding-left:10px}.measurement-plot__actions>button:not(.measurement-plot__close){display:none}.measurement-plot__export-menu{display:block}.measurement-plot__export-menu>summary{width:58px;height:44px;display:grid;place-items:center;border-radius:5px;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.measurement-plot__export-menu[open]>summary{background:var(--surface-soft);color:var(--text)}.measurement-plot__export-menu>div{position:absolute;z-index:2;top:calc(100% + 2px);right:0;width:112px;padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.measurement-plot__export-menu>div button{width:100%;display:block;text-align:left}.measurement-plot__actions button{width:44px;height:44px;padding-inline:5px}}@media(max-width:380px){.measurement-plot-open .selection-bar>button:not(.icon-button){min-width:48px;padding-inline:6px}}@media(max-width:760px)and (max-height:520px){.workspace{--measurement-plot-height: 132px}.measurement-plot{grid-template-rows:44px minmax(0,1fr) 14px}.measurement-plot.is-complete{grid-template-rows:44px minmax(0,1fr)}.measurement-plot__progress{padding-inline:9px}}@media(max-width:760px){.open-button,.panel-button,.inspect-button,.render-button,.canvas-controls>button{font-size:11px}.canvas-controls{height:48px}.canvas-controls>button{min-width:44px;height:44px}.transport-button,.play-button,.timeline-options>summary{width:40px;height:44px}.segmented-options button{min-height:40px;font-size:11px}.workspace.selection-present .timeline-options>div{bottom:calc(100% + 82px)}}@media(max-width:600px){.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{display:none}.frame-counter-full{display:none}.frame-counter-compact{display:inline}.frame-error-full{display:none}.frame-error-compact{display:inline}.frame-error{min-width:28px;max-width:28px;flex:0 0 28px;padding-inline:0}}@media(min-width:521px)and (max-width:760px){.workspace.selection-present .workbench{max-height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 80px)}}@media(max-width:479px)and (max-height:520px){.workbench-heading{min-height:44px;display:flex}}@media(max-width:380px){.selection-hint{display:none}.measurement-plot-open .selection-bar{flex-wrap:wrap;justify-content:flex-end;row-gap:4px;padding-block:6px}.measurement-plot-open .selection-readout{flex:1 0 100%;overflow:hidden}.measurement-plot-open .selection-readout strong{min-width:0;max-width:100%;flex:0 1 auto}.measurement-plot-open .selection-readout output{flex:0 0 auto}.workspace.measurement-plot-open .notice{bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 100px)}.measurement-mode-full{display:none}.measurement-mode-compact{display:inline}}@media(max-width:520px){.workspace.selection-present .timeline-options>div{bottom:calc(var(--selection-bottom) + 60px)}}@media(max-width:760px)and (max-height:450px){.workspace.playback-options-open .canvas-controls,.workspace.playback-options-open .selection-bar{visibility:hidden;pointer-events:none}.workspace.playback-options-open .timeline-options>div{bottom:calc(100% + 8px)}}@media(max-width:520px)and (max-height:450px){.workspace.playback-options-open .timeline-options>div{bottom:calc(var(--timeline-height) + 8px)}}@media(max-width:760px)and (max-height:360px){.workspace.measurement-plot-open .canvas-controls{visibility:hidden;pointer-events:none}.workspace.measurement-plot-open .notice{top:calc(var(--header-height) + var(--scene-strip-height) + 8px);bottom:auto;max-height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 16px)}}.selection-tools{position:relative;flex:0 0 auto}.selection-tools>summary{min-width:54px;height:36px;display:grid;place-items:center;padding:0 9px;border-radius:5px;color:var(--accent);font-size:10px;font-weight:650;cursor:pointer;list-style:none}.selection-tools>summary::-webkit-details-marker{display:none}.selection-tools>summary:hover,.selection-tools[open]>summary{background:var(--accent-soft)}.selection-tools-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:min(300px,calc(100vw - 20px));max-height:min(520px,calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--header-height) - var(--timeline-height) - 36px));overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.selection-tools-popover>section{display:grid;gap:8px;padding:11px}.selection-tools-popover>section+section{border-top:1px solid var(--line)}.selection-tools-popover label,.selection-tools-popover section>span{color:var(--quiet);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.selection-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.selection-scope-grid button,.selection-input-row button,.saved-selections button{min-height:32px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);font-size:12px;cursor:pointer}.selection-scope-grid button:hover:not(:disabled),.selection-input-row button:hover:not(:disabled),.saved-selections button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft)}.selection-scope-grid button:disabled,.selection-input-row button:disabled{opacity:.4;cursor:default}.selection-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.selection-input-row.is-name{grid-template-columns:minmax(0,1fr) auto}.selection-input-row input{min-width:0;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:11px var(--numeric)}.selection-input-row input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.selection-input-row>span{color:var(--muted);font:10px var(--numeric)}.selection-input-row button{padding-inline:10px;color:var(--accent);font-weight:650}.saved-selections{max-height:178px;overflow:auto}.saved-selections>div{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px}.saved-selections>div>button:first-child{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;text-align:left}.saved-selections button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-selections button small{color:var(--quiet);font:9px var(--numeric)}.saved-selections>div>button:last-child{display:grid;place-items:center;padding:0;color:var(--quiet)}.saved-selections .icon{width:12px;height:12px}.pinned-measurements{position:absolute;z-index:13;top:calc(var(--header-height) + var(--scene-strip-height) + 12px);left:12px;display:block;max-width:none;max-height:none;overflow:visible;padding:0}.pinned-measurements .selection-chip{position:static;min-width:0;border-radius:8px 0 0 8px;box-shadow:none}.pinned-measurements .selection-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-measurements .selection-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft)}.pinned-measurement-remove{width:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--surface);color:var(--quiet);cursor:pointer}.pinned-measurement-remove:hover{color:var(--text)}.pinned-measurement-remove .icon{width:12px;height:12px}.selection-summary-panel .readout-section{padding-top:4px}@media(max-width:760px){.selection-bar{width:calc(100% - 16px)}.selection-tools{position:static}.selection-tools>summary{height:44px}.selection-tools-popover{right:8px;left:8px;width:auto}.selection-scope-grid button,.selection-input-row button,.saved-selections button{min-height:38px}.selection-input-row input{height:40px}.pinned-measurements{top:calc(var(--header-height) + var(--scene-strip-height) + 60px);left:8px}.pinned-measurements .selection-chip{height:40px}}@media(max-width:520px){.selection-bar .measurement-mode{display:none}.selection-readout{min-width:80px}.selection-tools>summary{min-width:48px;padding-inline:7px}}@media(max-width:719px)and (min-height:521px),(max-width:479px){.figure-sheet.export-sheet{max-height:calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 64px)}}@media(min-width:480px)and (max-width:719px)and (max-height:520px){.figure-sheet.export-sheet{max-height:none}}:root,.workspace{--scene-strip-height: 0px}.identity{height:40px;padding:0 8px 0 0;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.identity:hover:not(:disabled),.identity[aria-expanded=true]{border-color:var(--line);background:var(--surface-soft)}.identity:disabled{cursor:default}.structure-button,.appearance-button{min-width:36px;height:34px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.structure-button:hover:not(:disabled),.structure-button[aria-expanded=true],.appearance-button:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft);color:var(--text)}.structure-button:disabled,.appearance-button:disabled{opacity:.45;cursor:default}.molecule-stage-3dmol{background:var(--canvas)}.workbench-tabs{order:1}.workbench-body{order:2}.workbench-heading{order:0}.workbench-tabs button:disabled{color:var(--disabled);cursor:default}.structure-overview{background:color-mix(in srgb,var(--surface-soft) 54%,var(--surface))}.structure-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.structure-fact-grid div{min-width:0}.structure-fact-grid span,.structure-fact-grid strong{display:block}.structure-fact-grid span{margin-bottom:3px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.structure-fact-grid strong{overflow-wrap:anywhere;color:var(--text);font-family:var(--numeric);font-size:12px;font-weight:600}.scientific-note,.structure-actions p,.atom-editor>p{margin:12px 0 0;color:var(--quiet);font-size:11px;line-height:1.55}.cell-editor-mode{margin-bottom:12px}.cell-parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cell-parameter-grid label{position:relative;min-width:0}.cell-parameter-grid label>span,.cell-parameter-grid label>small{position:absolute;z-index:1;top:9px;color:var(--quiet);font-family:var(--numeric);font-size:11px;pointer-events:none}.cell-parameter-grid label>span{left:8px;color:var(--muted);font-weight:700}.cell-parameter-grid label>small{right:7px}.cell-parameter-grid input,.cell-vector-grid input,.atom-editor input{width:100%;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:10px}.cell-parameter-grid input{padding:0 22px}.cell-parameter-grid input:focus,.cell-vector-grid input:focus,.atom-editor input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.cell-vector-grid{display:grid;grid-template-columns:18px repeat(3,minmax(0,1fr));align-items:center;gap:6px}.cell-vector-grid>span,.cell-vector-grid>strong{color:var(--quiet);font-family:var(--numeric);font-size:11px;text-align:center}.cell-vector-grid>strong{color:var(--muted)}.cell-vector-grid input{min-width:0;padding:0 6px;text-align:right}.cell-axis-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.cell-axis-row>div{display:flex;gap:4px}.cell-axis-row button{width:30px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--quiet);font-family:var(--numeric);font-size:10px;cursor:pointer}.cell-axis-row button.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.cell-scale-choice{min-height:44px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);color:var(--text);font-size:12px}.cell-scale-choice input{accent-color:var(--accent)}.cell-scale-choice span,.cell-scale-choice small{display:block}.cell-scale-choice small{margin-top:2px;color:var(--quiet);font-size:11px}.editor-error{margin:0 0 8px;color:var(--error);font-size:11px;line-height:1.4}.primary-panel-action,.structure-actions>button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.primary-panel-action{border-color:var(--accent);background:var(--accent);color:#fff}.primary-panel-action:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.primary-panel-action small{color:inherit;font-family:var(--numeric);font-size:11px;opacity:.72}.structure-actions{display:grid;gap:7px}.structure-actions>button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft);color:var(--text)}.structure-actions>button:disabled{opacity:.42;cursor:default}.structure-actions p{margin-top:2px}.representation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.representation-grid button{min-width:0;min-height:38px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;cursor:pointer}.representation-grid button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.representation-grid button.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.representation-grid button:disabled{opacity:.38;cursor:default}.profile-settings{padding:0}.profile-settings>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;list-style:none;color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.profile-settings>summary::-webkit-details-marker{display:none}.profile-settings>summary:after{content:"+";margin-left:auto;color:var(--quiet);font-family:var(--numeric)}.profile-settings[open]>summary:after{content:"−"}.profile-settings>summary small{color:var(--quiet);font-size:11px;font-weight:400}.profile-settings .preset-options{padding:0 16px 14px}.atom-display-settings .vector-scale-row{border-top:1px solid var(--line)}.atom-editor{margin:0 -16px;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 48%,var(--surface))}.atom-editor-heading{min-height:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.atom-editor-heading span,.atom-editor-heading strong,.atom-editor-heading small{display:block}.atom-editor-heading span{color:var(--quiet);font-size:11px}.atom-editor-heading strong{margin-top:2px;color:var(--text);font:650 15px var(--numeric)}.atom-editor-heading small{color:var(--quiet);font-size:11px}.atom-element-field{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:12px}.atom-editor input{min-width:0;padding:0 8px}.atom-coordinate-fields{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line)}.atom-coordinate-fields legend{padding:0;color:var(--quiet);font-size:11px}.atom-coordinate-fields label{position:relative;min-width:0}.atom-coordinate-fields label span,.atom-coordinate-fields label small{position:absolute;z-index:1;top:9px;color:var(--quiet);font:11px var(--numeric);pointer-events:none}.atom-coordinate-fields label span{left:7px}.atom-coordinate-fields label small{right:7px}.atom-coordinate-fields input{padding:0 19px}.atom-editor .primary-panel-action{margin-top:10px}:root[data-appearance=dark] .molecule-stage-3dmol{background:var(--canvas)}@media(max-width:980px){.appearance-button{display:none}}@media(max-width:760px){.workspace{--scene-strip-height: 0px}.structure-button{display:none}.open-button{width:40px;min-width:40px;padding:0;font-size:0}.open-button .icon{width:17px;height:17px}.panel-button{width:40px;padding:0}.panel-button span{display:none}.panel-button .icon{display:block}.workbench-tabs button{min-height:44px}}@media(max-width:420px){.topbar{padding-inline:4px;gap:2px}.identity{width:40px;padding:0;justify-content:center}.identity-mark{width:28px;height:28px}.topbar-tools{gap:1px}.render-button{min-width:44px;padding-inline:6px;font-size:9px}.figure-options-button{width:32px;min-width:32px}}.identity{cursor:default;-webkit-user-select:none;user-select:none}.identity:hover{border-color:transparent;background:transparent}.task-navigation{align-items:center;gap:2px}.task-button,.tools-button,.help-button{min-width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:550;cursor:pointer}.task-button:hover:not(:disabled),.task-button[aria-expanded=true],.tools-button:hover:not(:disabled),.tools-button[aria-expanded=true],.help-button:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft);color:var(--text)}.task-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft);color:var(--accent)}.task-button:disabled,.tools-button:disabled,.help-button:disabled{color:var(--disabled);cursor:default;opacity:.5}.tools-button{display:none}.help-button{padding-inline:8px}.help-button strong{display:none;font:650 13px var(--numeric)}.export-button.render-button{border-radius:7px;border-color:var(--line);background:transparent;color:var(--text);font-weight:600}.export-button.render-button:hover:not(:disabled){border-color:var(--line-strong, var(--line));background:var(--surface-soft);color:var(--text)}.export-button.render-button[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:#fff}.workbench-heading-actions{display:flex;align-items:center;gap:2px}.edit-target-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.edit-target-options button{min-height:36px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}.edit-target-options button:hover:not(:disabled){border-color:var(--line);color:var(--text)}.edit-target-options button.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--surface);color:var(--accent)}.edit-target-options button:disabled{color:var(--disabled);cursor:default}.appearance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-options button{min-height:36px}.appearance-settings .panel-select-row{margin-top:10px;border-top:1px solid var(--line)}.selected-atom-overview{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 52%,var(--surface))}.selected-atom-overview span,.selected-atom-overview strong{display:block}.selected-atom-overview span{color:var(--quiet);font-size:11px}.selected-atom-overview strong{margin-top:2px;color:var(--text);font:650 16px var(--numeric)}.selected-atom-overview button,.analysis-actions button,.analysis-method-grid button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.selected-atom-overview button:hover:not(:disabled),.analysis-actions button:hover:not(:disabled),.analysis-method-grid button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.analysis-panel{min-height:100%}.analysis-empty{padding:6px 0 2px}.analysis-empty strong,.analysis-measurement-copy strong{color:var(--text);font-size:13px;font-weight:650}.analysis-empty p,.analysis-measurement-copy p{margin:7px 0 0;color:var(--quiet);font-size:12px;line-height:1.55}.analysis-empty>div{display:grid;gap:5px;margin-top:14px}.analysis-empty>div span{color:var(--muted);font-size:12px}.analysis-empty kbd{min-width:56px;display:inline-block;margin-right:7px;padding:3px 5px;border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);color:var(--text);text-align:center}.analysis-measurement-copy strong,.analysis-measurement-copy span{display:block}.analysis-measurement-copy span{margin-top:3px;color:var(--muted);font:10px var(--numeric)}.analysis-actions,.analysis-method-grid{display:grid;gap:6px;margin-top:12px}.analysis-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-actions button:last-child{grid-column:1 / -1}.analysis-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.analysis-actions button:disabled,.analysis-method-grid button:disabled{color:var(--disabled);cursor:default;opacity:.55}.analysis-selection .selection-summary-panel{margin:0 -16px -12px}.canvas-hint{position:absolute;z-index:14;right:50%;bottom:calc(var(--timeline-height) + 18px);display:flex;align-items:center;gap:13px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--muted);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 8%,transparent);font-size:9px;transform:translate(50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-hint strong{color:var(--text);font-weight:650}.canvas-hint button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--quiet);cursor:pointer}.canvas-hint button:hover{background:var(--surface-soft);color:var(--text)}.canvas-hint .icon{width:14px;height:14px}[data-setting-id]{transition:box-shadow .18s ease,background-color .18s ease}[data-setting-id].is-search-target{position:relative;z-index:1;box-shadow:inset 3px 0 0 var(--accent),0 0 0 2px var(--accent-soft)}.command-results>button{min-height:50px;padding-block:7px}.command-result-copy{min-width:0;display:block}.command-result-copy>span,.command-result-copy>small{display:block;max-width:none;text-align:left}.command-result-copy>span{overflow:hidden;color:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.command-results>button .command-result-copy>small{max-width:none;margin-top:3px;color:var(--quiet);font-size:11px;line-height:1.2;text-align:left;white-space:nowrap}.command-result-detail{flex:0 0 auto}.command-result-detail small{display:block}@media(min-width:761px){.task-navigation{display:flex}.identity{max-width:calc(50% - 150px)}.workbench-tabs{display:none}}@media(max-width:1040px)and (min-width:761px){.task-button{padding-inline:7px}.help-button span{display:none}.help-button strong{display:block}.open-button{width:36px;padding:0;font-size:0}}@media(max-width:760px){.task-navigation{display:none}.open-button,.command-button,.tools-button,.export-button.render-button,.help-button{height:40px}.tools-button{min-width:56px;display:inline-flex}.tools-button .icon{width:16px;height:16px}.help-button{width:40px;min-width:40px;padding:0}.help-button span{display:none}.help-button strong{display:block}.workbench-heading-actions{display:flex}.workbench-expand-button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.workbench-expand-button:hover{background:var(--surface-soft);color:var(--text)}.workbench-expand-button .icon{width:16px;height:16px;transform:rotate(-90deg)}.workbench.is-expanded .workbench-expand-button .icon{transform:rotate(90deg)}.workspace{--mobile-workbench-height: min(56svh, 460px)}.workbench.is-expanded{top:var(--header-height);bottom:var(--timeline-height);height:auto;max-height:none}.workbench-expanded .molecule-canvas,.workbench-expanded .canvas-field{width:100%;height:calc(100% - var(--header-height) - var(--timeline-height))}.canvas-hint{right:10px;bottom:calc(var(--timeline-height) + 12px);left:10px;justify-content:space-between;gap:7px;transform:none}}@media(max-width:420px){.identity>div{display:block;min-width:0}.identity strong{display:none}.identity span:last-child{display:block;max-width:none;font-size:10px}.identity{width:auto;min-width:0;max-width:min(42vw,148px);padding:0 4px 0 0;justify-content:flex-start}.topbar-tools{gap:0}.tools-button{min-width:50px;padding-inline:5px}.export-button.render-button{width:42px;min-width:42px;padding:0;font-size:0}.export-button .icon{display:block;width:16px;height:16px}.canvas-hint{display:grid;grid-template-columns:1fr auto;gap:4px 8px}.canvas-hint span{grid-column:1}.canvas-hint button{grid-row:1 / 4;grid-column:2}}@media(min-width:480px)and (max-width:760px)and (max-height:520px){.workbench,.workbench.is-expanded{top:var(--header-height);right:0;bottom:var(--timeline-height);left:auto;width:min(320px,48vw);height:auto;max-height:none;border-top:0;border-left:1px solid var(--line)}.workbench-expand-button{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - min(320px,48vw));height:calc(100% - var(--header-height) - var(--timeline-height))}} diff --git a/pqviewer/static/assets/index-CQmxkr4B.css b/pqviewer/static/assets/index-CQmxkr4B.css new file mode 100644 index 0000000..b01c126 --- /dev/null +++ b/pqviewer/static/assets/index-CQmxkr4B.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff")}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--header-height: 44px;--canvas: #f6f8f8;--surface: #ffffff;--material: rgba(255, 255, 255, .88);--surface-soft: #edf2f3;--line: #d7e0e2;--line-strong: #c2cfd2;--text: #21363c;--muted: #5c7076;--quiet: #62757a;--disabled: #aab7ba;--accent: #257198;--accent-soft: #e3f0f5;--error: #a23d31;--shadow: 0 10px 32px rgba(30, 51, 57, .11), 0 2px 7px rgba(30, 51, 57, .06);--numeric: "SFMono-Regular", "Roboto Mono", Consolas, monospace}:root[data-appearance=dark]{color-scheme:dark;--canvas: #1e2e33;--surface: #26383e;--material: rgba(38, 56, 62, .92);--surface-soft: #30454c;--line: #465b61;--line-strong: #5a7076;--text: #f2f6f5;--muted: #c1ced0;--quiet: #9aadb1;--disabled: #718286;--accent: #63c4d8;--accent-soft: #294c58;--error: #f09a8d;--shadow: 0 12px 36px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:var(--canvas);color:var(--text)}button,select,input{font:inherit}button,select{color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.molecule-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}kbd,output{font-family:var(--numeric)}.app-shell,.workspace{width:100%;height:100svh;min-height:0}.workspace{position:relative;isolation:isolate;overflow:hidden;background:var(--canvas)}.molecule-canvas,.canvas-field{position:absolute;top:var(--header-height);left:0;width:100%;height:calc(100% - var(--header-height));display:block}.molecule-canvas{cursor:grab;touch-action:none}.molecule-canvas:active{cursor:grabbing}.molecule-canvas.is-box-selecting{cursor:crosshair}.selection-marquee{position:absolute;z-index:15;pointer-events:none;border:1px solid var(--accent);border-radius:2px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.icon{width:20px;height:20px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:absolute;z-index:20;inset:0 0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 8px 0 12px;border-bottom:1px solid var(--line);background:var(--surface)}.identity,.topbar-tools,.scene-status,.open-button,.command-button,.customize-button{display:flex;align-items:center}.identity{min-width:0;gap:9px}.identity-mark{width:28px;height:28px;flex:0 0 auto;object-fit:contain}.identity>div{min-width:0;display:flex;align-items:baseline;gap:9px}.identity strong{color:var(--text);font-size:13px;font-weight:650;letter-spacing:-.01em}.identity span:last-child{max-width:min(42vw,520px);overflow:hidden;color:var(--muted);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.topbar-tools{flex:0 0 auto;gap:3px}.scene-status{gap:13px;margin-right:8px;color:var(--muted);font-size:11px}.scene-status strong{color:var(--text);font-family:var(--numeric);font-size:10px;font-weight:550}.open-button,.command-button,.customize-button,.more-button,.icon-button{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:background-color .19s ease,color .19s ease}.open-button:hover,.command-button:hover,.customize-button:hover,.more-button:hover,.icon-button:hover{background:var(--surface-soft);color:var(--text)}.open-button .icon,.command-button .icon,.customize-button .icon,.more-button .icon,.icon-button .icon{width:17px;height:17px}.command-button kbd{color:var(--quiet);font-size:10px}.customize-button{width:36px;padding:0}.customize-button[aria-expanded=true]{background:var(--accent-soft);color:var(--text)}.customize-button:disabled{opacity:.48;cursor:default}.more-control{position:relative}.more-button{width:36px;padding:0}.more-menu{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:226px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);animation:pop-in .19s ease both}.more-menu button{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.more-menu button:hover{background:var(--surface-soft)}.more-menu button:disabled{color:var(--disabled);cursor:default}.more-menu button:disabled:hover{background:transparent}.more-menu kbd{color:var(--quiet);font-size:10px}.more-menu hr{height:1px;margin:4px 7px;border:0;background:var(--line)}.scene-control{position:absolute;z-index:12;top:calc(var(--header-height) + 12px);left:14px}.scene-trigger{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 11px 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--material);box-shadow:0 3px 12px #20343a12;-webkit-backdrop-filter:blur(12px) saturate(1.06);backdrop-filter:blur(12px) saturate(1.06);color:var(--text);cursor:pointer;transition:background-color .19s ease,border-color .19s ease,transform .19s ease}.scene-trigger:hover,.scene-trigger[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface)}.scene-trigger:active{transform:scale(.98)}.scene-trigger>span{color:var(--muted);font-size:10px}.scene-trigger>strong{font-size:12px;font-weight:600}.scene-trigger .icon{width:14px;height:14px;color:var(--quiet)}.scene-popover{position:absolute;top:51px;left:0;width:min(356px,calc(100vw - 28px));max-height:min(650px,calc(100svh - 182px));overflow:auto;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);scrollbar-color:var(--line-strong) transparent;animation:pop-in .19s ease both}.popover-heading,.sheet-heading,.section-heading-row,.scene-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.popover-heading{margin-bottom:13px}.popover-heading>div,.sheet-heading>div{min-width:0}.popover-heading strong,.sheet-heading strong{display:block;color:var(--text);font-size:15px;font-weight:650;letter-spacing:-.01em}.popover-heading span,.sheet-heading span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.scene-group{padding:13px 0;border-top:1px solid var(--line)}.scene-group-label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.scene-group-heading{align-items:baseline}.scene-group-heading .scene-group-label{margin-bottom:8px}.scene-group-heading output{color:var(--quiet);font-size:10px}.representation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.representation-grid button{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;text-align:left;cursor:pointer}.representation-grid button:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.representation-grid button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--text)}.representation-grid button:disabled{color:var(--disabled);cursor:default}.representation-grid button .icon{width:14px;height:14px;color:var(--accent)}.capability-note,.cell-origin-note{display:block;margin-top:7px;color:var(--quiet);font-size:10px;line-height:1.4}.toggle-row,.choice-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:12px}.toggle-row.is-disabled,.choice-row.is-disabled{color:var(--disabled)}.toggle-row>button[role=switch],.vim-heading>button[role=switch]{position:relative;width:34px;height:20px;flex:0 0 auto;padding:0;border:0;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:background-color .19s ease}.toggle-row>button[role=switch] i,.vim-heading>button[role=switch] i{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #14232833;transition:transform .19s ease}.toggle-row>button[role=switch][aria-checked=true],.vim-heading>button[role=switch][aria-checked=true]{background:var(--accent)}.toggle-row>button[role=switch][aria-checked=true] i,.vim-heading>button[role=switch][aria-checked=true] i{transform:translate(14px)}.toggle-row>button[role=switch]:disabled{cursor:default;opacity:.55}.mini-segmented,.settings-segmented{display:flex;min-height:34px;padding:2px;border-radius:8px;background:var(--surface-soft)}.mini-segmented{width:150px}.mini-segmented button,.settings-segmented button{min-width:0;min-height:30px;flex:1 1 0;padding:0 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.mini-segmented button.is-active,.settings-segmented button.is-active{background:var(--surface);box-shadow:0 1px 3px #1f33391a;color:var(--text);font-weight:600}.image-presets{display:flex;gap:4px;margin-bottom:8px}.image-presets button{min-height:32px;flex:1 1 0;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.image-presets button:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--text)}.image-presets button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);color:var(--text)}.image-ranges{display:grid;gap:5px}.image-axis{min-height:36px;display:grid;grid-template-columns:22px 1fr 10px 1fr;align-items:center;padding:0 6px;border:1px solid var(--line);border-radius:8px}.image-axis>span{color:var(--muted);font-family:var(--numeric);font-size:10px}.image-axis>i{color:var(--quiet);font-style:normal;font-size:10px;text-align:center}.image-axis select{min-width:0;width:100%;height:30px;padding:0 4px;border:0;background:transparent;color:var(--text);font-family:var(--numeric);font-size:10px;text-align:center}.image-axis.is-disabled{opacity:.42}.scene-actions{display:flex;align-items:center;justify-content:flex-start;gap:5px;margin:0 -15px -15px;padding:11px 15px 15px;border-top:1px solid var(--line);background:var(--surface)}.scene-actions button{min-height:38px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.scene-actions button:hover{background:var(--surface-soft);color:var(--text)}.scene-actions button.is-active{background:var(--accent-soft);color:var(--text)}.orientation-control{position:absolute;z-index:11;top:calc(var(--header-height) + 12px);right:14px;display:flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--material);box-shadow:0 3px 12px #20343a12;-webkit-backdrop-filter:blur(12px) saturate(1.06);backdrop-filter:blur(12px) saturate(1.06)}.orientation-control button{min-width:38px;height:36px;display:grid;place-items:center;padding:0 7px;border:0;border-radius:8px;background:transparent;color:var(--quiet);font-family:var(--numeric);font-size:10px;cursor:pointer}.orientation-control button:hover,.orientation-control button.is-active{background:var(--surface-soft);color:var(--text)}.orientation-control button.is-active{font-weight:650}.orientation-control button .icon{width:18px;height:18px;color:var(--accent)}.inspector{position:absolute;z-index:14;top:calc(var(--header-height) + 12px);right:14px;bottom:76px;width:316px;overflow:auto;padding:16px 18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.04);backdrop-filter:blur(16px) saturate(1.04);visibility:hidden;pointer-events:none;opacity:0;transform:translate(14px) scale(.99);transform-origin:top right;transition:opacity .19s ease,transform .19s ease,visibility 0ms linear .19s;scrollbar-color:var(--line-strong) transparent}.inspector.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translate(0) scale(1);transition-delay:0ms}.panel-heading{min-height:36px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:7px}.panel-heading h2{margin:0;font-size:16px;line-height:1.3;font-weight:650;letter-spacing:-.01em}.close-inspector{width:32px;min-width:32px;height:32px;padding:0}.readout-section{padding:13px 0}.readout-section+.readout-section{border-top:1px solid var(--line)}.readout-section h3{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.section-heading-row{min-height:18px;align-items:baseline;margin-bottom:8px}.section-heading-row h3{margin:0}.section-heading-row>span,.section-heading-row>output{color:var(--quiet);font-size:10px}.readout{min-height:27px;display:grid;grid-template-columns:minmax(82px,.82fr) minmax(0,1.18fr);align-items:baseline;gap:10px}.readout span{color:var(--muted);font-size:12px}.readout strong{overflow:hidden;color:var(--text);font-family:var(--numeric);font-size:12px;font-weight:500;text-align:right;text-overflow:ellipsis;white-space:nowrap}.readout.is-accent strong{color:var(--accent);font-weight:650}.cell-metrics-section .readout{grid-template-columns:66px minmax(0,1fr)}.quiet-copy{margin:2px 0 4px;color:var(--muted);font-size:11px;line-height:1.5}.vector-readout{margin:8px 0 9px}.vector-readout>span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.vector-readout code{display:grid;grid-template-columns:14px 1fr;row-gap:5px;padding-left:9px;border-left:2px solid var(--line-strong);color:var(--text);font-family:var(--numeric);font-size:10px;line-height:1.25}.vector-readout code i{color:var(--quiet);font-style:normal}.vector-readout code b{position:absolute;right:18px;color:var(--quiet);font-size:10px;font-weight:500}.force-scale{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.force-scale>span{color:var(--quiet);font-family:var(--numeric);font-size:10px}.timeline{position:absolute;z-index:18;left:50%;bottom:12px;width:min(960px,calc(100% - 28px));min-height:52px;padding:5px 9px 8px;border:1px solid var(--line);border-radius:14px;background:var(--material);box-shadow:0 5px 20px #1f333917;-webkit-backdrop-filter:blur(14px) saturate(1.04);backdrop-filter:blur(14px) saturate(1.04);transform:translate(-50%)}.timeline.is-compact{height:52px;padding-block:4px}.transport-row{min-height:42px;display:flex;align-items:center;gap:10px}.transport-buttons{display:flex;flex:0 0 auto;align-items:center}.transport-button,.play-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.play-button{color:var(--text)}.transport-button:hover:not(:disabled),.play-button:hover:not(:disabled){background:var(--surface-soft);color:var(--accent)}.transport-button:disabled,.play-button:disabled{opacity:.28;cursor:default}.transport-button .icon,.play-button .icon{width:17px;height:17px}.scrubber{min-width:40px;flex:1 1 auto;display:flex;align-items:center}input[type=range]{width:100%;height:28px;margin:0;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--line-strong)}input[type=range]::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px;appearance:none;border:2px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:var(--line-strong)}input[type=range]::-moz-range-thumb{width:11px;height:11px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}.frame-counter{min-width:74px;color:var(--text);font-size:10px;font-weight:600;text-align:right}.speed-control select,.plot-label select{border:0;background:transparent;cursor:pointer}.speed-control select{width:54px;padding:6px 2px 6px 5px;color:var(--muted);font-family:var(--numeric);font-size:10px;text-align:right}.plot-row{position:relative;height:67px;display:flex;align-items:stretch;gap:12px;padding-top:3px;border-top:1px solid var(--line)}.plot-label{width:106px;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;gap:3px;overflow:hidden}.plot-label select{width:100%;overflow:hidden;padding:0;color:var(--text);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.plot-label small{color:var(--quiet);font-family:var(--numeric);font-size:10px}.series-plot{position:relative;min-width:0;flex:1 1 auto}.series-plot svg{width:100%;height:100%;display:block;overflow:visible;cursor:crosshair;touch-action:none}.plot-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.series-line{fill:none;stroke:var(--muted);stroke-width:1.5;vector-effect:non-scaling-stroke}.empty-series-line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.frame-marker{stroke:var(--accent);stroke-width:1.25;opacity:.82;vector-effect:non-scaling-stroke}.frame-point{fill:var(--surface);stroke:var(--accent);stroke-width:2}.plot-range{position:absolute;inset:4px 3px 4px auto;display:flex;flex-direction:column;justify-content:space-between;color:var(--quiet);font-family:var(--numeric);font-size:10px;pointer-events:none}.frame-error{position:static;max-width:76px;flex:0 1 auto;overflow:hidden;padding:3px 6px;border-radius:5px;background:var(--surface);color:var(--error);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.frame-error-compact{display:none}.command-backdrop,.customize-backdrop{position:absolute;z-index:50;inset:var(--header-height) 0 0;background:#141f232e;animation:fade-in .19s ease both}.command-backdrop{display:grid;place-items:start center;padding:min(14vh,120px) 16px 24px}:root[data-appearance=dark] .command-backdrop,:root[data-appearance=dark] .customize-backdrop{background:#00000057}.command-palette{width:min(560px,100%);max-height:min(620px,calc(100svh - 150px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);animation:palette-in .21s ease both}.command-search{height:56px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--line)}.command-search .icon{width:19px;height:19px;color:var(--quiet)}.command-search input{min-width:0;flex:1 1 auto;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}.command-search input::placeholder{color:var(--quiet)}.command-search kbd{color:var(--quiet);font-size:10px}.command-results{max-height:min(500px,calc(100svh - 220px));overflow:auto;padding:6px;scrollbar-color:var(--line-strong) transparent}.command-results>button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.command-results>button:hover,.command-results>button.is-active,.command-results>button[aria-selected=true]{background:var(--accent-soft)}.command-results>button[aria-disabled=true]{color:var(--disabled);cursor:default}.command-results>button kbd{color:var(--quiet);font-size:10px}.command-results>button small{max-width:56%;color:var(--quiet);font-size:10px;line-height:1.35;text-align:right}.command-results>p{margin:0;padding:32px 18px;color:var(--muted);font-size:12px;text-align:center}.shortcut-backdrop{padding-top:min(10vh,76px)}.shortcut-panel{width:min(720px,100%);max-height:min(680px,calc(100svh - 120px));overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);animation:palette-in .21s ease both;scrollbar-color:var(--line-strong) transparent}.shortcut-heading,.vim-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.shortcut-heading{min-height:66px;padding:15px 16px 12px 18px;border-bottom:1px solid var(--line)}.shortcut-heading strong,.shortcut-heading span,.vim-heading strong,.vim-heading span{display:block}.shortcut-heading strong{color:var(--text);font-size:14px;font-weight:650}.shortcut-heading span,.vim-heading span{margin-top:3px;color:var(--quiet);font-size:10px}.shortcut-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5em),1fr));gap:12px 16px;padding:4px 18px 14px}.shortcut-groups>section{min-width:0;padding:13px 0 4px}.shortcut-groups>section+section{padding-left:0;border-left:0}.shortcut-groups h3{margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.shortcut-row{min-height:32px;display:grid;grid-template-columns:minmax(7em,max-content) minmax(0,1fr);align-items:center;gap:9px;color:var(--muted);font-size:10px}.shortcut-row>span{min-width:0;overflow-wrap:anywhere}.shortcut-row kbd{width:fit-content;max-width:100%;padding:3px 5px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font-size:9px;white-space:nowrap}.vim-shortcuts{padding:14px 18px 17px;border-top:1px solid var(--line)}.vim-heading{align-items:center}.vim-heading strong{color:var(--text);font-size:11px;font-weight:650}.vim-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5em),1fr));gap:0 12px;margin-top:9px;transition:opacity .18s ease}.vim-shortcuts:not(.is-active) .vim-shortcut-grid{opacity:.62}.customize-sheet{position:absolute;z-index:51;top:12px;right:14px;bottom:14px;width:min(376px,calc(100% - 28px));overflow:auto;padding:17px 18px 18px;border:1px solid var(--line);border-radius:16px;background:var(--material);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06);animation:sheet-in .21s ease both;scrollbar-color:var(--line-strong) transparent}.render-sheet{bottom:auto;max-height:calc(100svh - var(--header-height) - 26px);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.sheet-heading{min-height:36px;align-items:flex-start;padding-bottom:11px}.settings-section{padding:14px 0;border-top:1px solid var(--line)}.settings-section h3{margin:0 0 10px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.settings-section>small{display:block;margin-top:8px;color:var(--quiet);font-size:10px;line-height:1.4}.settings-link{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.settings-link:hover{color:var(--text)}.settings-link kbd{color:var(--quiet);font-size:10px}.keyboard-settings .toggle-row{min-height:38px}.inline-settings{display:grid;gap:7px}.inline-setting{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:9px}.inline-setting>span{color:var(--muted);font-size:10px}.customize-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;border-top:1px solid var(--line)}.customize-pair .settings-section{min-width:0;border-top:0}#customize-sheet .settings-section{padding:12px 0}.geometry-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.slider-settings .geometry-settings label{min-width:0;min-height:44px;grid-template-columns:1fr;align-content:center;gap:2px}.settings-segmented{min-height:36px;border-radius:9px}.settings-segmented button{min-height:32px;border-radius:7px;font-size:10px}.settings-choice{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.settings-choice:hover,.settings-choice.is-active{background:var(--surface-soft)}.settings-choice.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.settings-choice strong,.settings-choice small{display:block}.settings-choice strong{font-size:11px;font-weight:600}.settings-choice small{margin-top:3px;color:var(--quiet);font-size:10px}.settings-choice .icon{width:15px;height:15px;color:var(--accent)}.render-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.render-presets button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 6px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);cursor:pointer}.render-presets button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.render-presets button.is-active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft)}.render-presets strong{font-size:11px;font-weight:600}.render-presets small{color:var(--muted);font-family:var(--numeric);font-size:10px}.render-size{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}.render-size label{display:grid;gap:6px;color:var(--muted);font-size:10px}.render-size input{min-width:0;width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:11px}.render-size>i{padding-bottom:11px;color:var(--quiet);font-style:normal;font-size:11px}.render-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;border-top:1px solid var(--line)}.render-options-grid .settings-section{min-width:0;border-top:0}.slider-settings label{min-height:38px;display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:10px}.slider-settings label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.slider-settings output{color:var(--text);font-size:10px}.sheet-actions{position:sticky;z-index:1;bottom:-18px;display:flex;justify-content:flex-end;gap:6px;margin:0 -18px -18px;padding:12px 18px 18px;border-top:1px solid var(--line);background:var(--surface)}.sheet-actions>button{min-height:38px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.sheet-actions>button:hover{background:var(--surface-soft);color:var(--text)}.sheet-actions>button.primary{background:var(--accent);color:#fff;font-weight:600}.sheet-actions>button:disabled,.render-presets button:disabled,.render-sheet .icon-button:disabled{opacity:.5;cursor:default}.drop-overlay{position:absolute;z-index:60;inset:var(--header-height) 0 0;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--canvas) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;animation:fade-in .15s ease both}.drop-overlay>div{min-width:min(340px,90vw);padding:28px 32px;border:1px solid color-mix(in srgb,var(--accent) 52%,var(--line));border-radius:16px;background:var(--material);box-shadow:var(--shadow);color:var(--text);text-align:center}.drop-overlay .icon{width:27px;height:27px;margin:0 auto 10px;color:var(--accent)}.drop-overlay strong,.drop-overlay span{display:block}.drop-overlay strong{font-size:16px;font-weight:650}.drop-overlay span{margin-top:6px;color:var(--muted);font-size:11px}.notice{position:absolute;z-index:45;left:50%;bottom:78px;max-width:min(440px,calc(100% - 32px));max-height:min(120px,calc(100% - 24px));overflow:hidden;overflow-wrap:anywhere;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:var(--material);box-shadow:0 4px 15px #1f333917;color:var(--text);font-size:11px;line-height:1.35;white-space:normal;transform:translate(-50%);animation:notice-in .19s ease both}.notice>span{min-width:0;overflow-wrap:anywhere}.notice.is-error{width:min(440px,calc(100% - 16px));max-width:min(440px,calc(100% - 16px));display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:6px;border-color:color-mix(in srgb,var(--error) 30%,var(--line))}.notice.is-error>span{max-height:100px;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable}.notice-dismiss{width:44px;height:44px;display:grid;place-items:center;margin:-6px -8px -6px 0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.notice-dismiss:hover{background:var(--surface-soft);color:var(--text)}.notice-dismiss .icon{width:16px;height:16px}.notice.is-busy:before{content:"";width:7px;height:7px;display:inline-block;margin-right:8px;border-radius:50%;background:var(--accent);animation:pulse 1.1s ease-in-out infinite}.centered-state{position:absolute;z-index:18;inset:var(--header-height) 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--canvas);text-align:center}.centered-state h1{margin:18px 0 0;font-size:17px;font-weight:650;letter-spacing:-.01em}.centered-state p{max-width:360px;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.centered-state button{min-height:40px;display:inline-flex;align-items:center;gap:7px;margin-top:17px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}.centered-state button:hover{border-color:var(--accent);color:var(--accent)}.state-orbit{position:relative;width:48px;height:48px}.state-orbit i{position:absolute;inset:13px 2px;border:1px solid var(--muted);border-radius:50%;transform:rotate(30deg)}.state-orbit i:nth-child(2){transform:rotate(-30deg)}.state-orbit b{position:absolute;top:21px;left:21px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.state-orbit.is-busy{animation:orbit-spin 1.8s linear infinite}@keyframes pop-in{0%{opacity:0;transform:translateY(-5px) scale(.985)}}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}}@keyframes sheet-in{0%{opacity:0;transform:translate(12px) scale(.99)}}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(18px) scale(.99)}}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,6px)}}@keyframes fade-in{0%{opacity:0}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@media(max-width:760px){.panel-button,.render-button{min-width:44px;flex-shrink:0}.scene-status,.command-button{display:none}.topbar{padding-right:4px}.open-button,.customize-button,.more-button,.icon-button{min-width:44px;height:44px}.more-menu button,.representation-grid button,.image-presets button,.scene-actions button,.sheet-actions>button,.centered-state button{min-height:44px}.mini-segmented,.settings-segmented{min-height:48px}.mini-segmented button,.settings-segmented button{min-height:44px}.image-axis{min-height:48px}.image-axis select,.speed-control select,.plot-label select,.render-size input,input[type=range]{height:44px}.toggle-row>button[role=switch],.vim-heading>button[role=switch]{width:44px;height:44px;background:transparent}.toggle-row>button[role=switch]:before,.vim-heading>button[role=switch]:before{content:"";position:absolute;top:12px;left:5px;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background-color .19s ease}.toggle-row>button[role=switch] i,.vim-heading>button[role=switch] i{top:15px;left:8px}.toggle-row>button[role=switch][aria-checked=true],.vim-heading>button[role=switch][aria-checked=true]{background:transparent}.toggle-row>button[role=switch][aria-checked=true]:before,.vim-heading>button[role=switch][aria-checked=true]:before{background:var(--accent)}.scene-control{top:calc(var(--header-height) + 8px);left:8px}.scene-popover{position:fixed;z-index:40;inset:auto 8px 70px;width:auto;max-height:min(68svh,610px);border-radius:16px;animation-name:mobile-sheet-in}.orientation-control{top:calc(var(--header-height) + 8px);right:8px}.orientation-control button{min-width:44px;height:44px}.inspector{position:fixed;z-index:36;inset:auto 8px 70px;width:auto;max-height:min(56svh,520px);opacity:0;transform:translateY(18px) scale(.99);transform-origin:bottom center}.inspector.is-open{opacity:1;transform:translateY(0) scale(1)}.timeline{bottom:8px;width:calc(100% - 16px);padding-inline:5px;border-radius:13px}.transport-row{gap:4px}.transport-button,.play-button{width:44px;height:44px}.frame-counter{min-width:58px;font-size:10px}.speed-control select{width:46px}.plot-row{height:72px;gap:7px}.plot-label{width:74px}.plot-range{display:none}.notice{bottom:72px}.command-backdrop{position:fixed;inset:0;align-items:end;padding:8px}.command-palette{max-height:min(74svh,620px);border-radius:17px;animation-name:mobile-sheet-in}.command-results{max-height:calc(74svh - 56px)}.command-results>button{min-height:48px}.shortcut-panel{max-height:calc(100svh - 16px);border-radius:17px;animation-name:mobile-sheet-in}.shortcut-groups{grid-template-columns:1fr}.shortcut-groups>section{padding:13px 0 8px}.shortcut-groups>section+section{padding-left:0;border-top:1px solid var(--line);border-left:0}.vim-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customize-backdrop{position:fixed;inset:0}.customize-sheet{position:absolute;inset:auto 8px 8px;width:auto;max-height:min(78svh,660px);border-radius:17px;animation-name:mobile-sheet-in}.render-sheet{max-height:calc(100svh - 68px)}.toggle-row,.choice-row{min-height:48px}}.scrubber-shell{position:relative;min-width:40px;flex:1 1 auto}.scrubber-shell .scrubber{width:100%}.trajectory-marker-rail{position:absolute;right:6px;bottom:2px;left:6px;height:8px;pointer-events:none}.trajectory-marker{position:absolute;top:-8px;width:24px;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;transform:translate(-50%)}.trajectory-marker:after{position:absolute;top:9px;left:11px;width:3px;height:6px;border-radius:2px;background:var(--quiet);content:""}.trajectory-marker.is-reference:after{top:8px;left:8px;width:7px;height:7px;border:1px solid var(--surface);border-radius:1px;background:var(--accent);transform:rotate(45deg)}.timeline-options>div{max-height:min(620px,calc(100vh - var(--header-height) - var(--timeline-height) - 24px));overflow-y:auto}.timeline-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.timeline-action-list button{min-width:0;min-height:32px;overflow:hidden;padding:0 8px;border:1px solid var(--line-soft);border-radius:5px;background:var(--surface);color:var(--text);font-size:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.timeline-action-list button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.timeline-action-list button:disabled{opacity:.42;cursor:default}@media(max-width:760px){.timeline-action-list button{min-height:40px}}.measurement-plot__header{overflow:hidden}.measurement-plot__meta{min-width:72px;max-width:220px;flex:0 1 220px;display:flex;align-items:baseline;gap:7px;overflow:hidden}.measurement-plot__meta strong{min-width:0;overflow:hidden;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.measurement-plot__meta span{flex:0 0 auto;white-space:nowrap}.measurement-plot__legend{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}.measurement-plot__legend::-webkit-scrollbar{display:none}.measurement-plot__legend-item{min-width:0;height:26px;display:inline-flex;flex:0 1 auto;align-items:center;gap:5px;overflow:hidden;padding:0 6px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}button.measurement-plot__legend-item{cursor:pointer}button.measurement-plot__legend-item:hover{background:var(--surface-soft);color:var(--text)}.measurement-plot__legend-item>span:not(.measurement-plot__legend-swatch){max-width:150px;overflow:hidden;text-overflow:ellipsis}.measurement-plot__legend-item output{color:var(--text);font-family:var(--numeric)}.measurement-plot__legend-swatch{width:8px;height:2px;flex:0 0 auto;border-radius:2px}.measurement-plot__header-actions,.measurement-plot__context-actions{flex:0 0 auto;display:flex;align-items:center}.measurement-plot__close{width:30px;min-width:30px!important;padding:0!important;font-size:17px!important;font-weight:400!important}.rdf-view-toggle{display:flex;padding:2px;border-radius:5px;background:var(--surface-soft)}.rdf-view-toggle button{min-width:38px;height:26px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:600 10px var(--numeric);cursor:pointer}.rdf-view-toggle button.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 12%,transparent)}.rdf-sheet{position:absolute;z-index:42;bottom:calc(var(--timeline-height) + 12px);left:50%;width:min(390px,calc(100% - 24px));max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 24px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 44px color-mix(in srgb,var(--text) 16%,transparent);transform:translate(-50%)}.rdf-sheet>header,.rdf-sheet>footer{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px}.rdf-sheet>header{border-bottom:1px solid var(--line-soft)}.rdf-sheet>header strong{font-size:12px}.rdf-sheet>header button{width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.rdf-sheet__body{display:grid;gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:12px}.rdf-sheet__body>label,.rdf-sheet__body details>div>label{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:9px;color:var(--muted);font-size:10px}.rdf-sheet select,.rdf-sheet input{width:100%;height:36px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px}.rdf-sheet__body details{padding-top:2px}.rdf-sheet__body summary{color:var(--muted);font-size:10px;cursor:pointer}.rdf-sheet__body details>div{display:grid;gap:8px;padding-top:8px}.rdf-sheet>footer{border-top:1px solid var(--line-soft);color:var(--quiet);font-size:11px}.rdf-sheet>footer button{min-width:72px;height:34px;border:0;border-radius:6px;background:var(--accent);color:var(--surface);font-size:10px;font-weight:650;cursor:pointer}.rdf-sheet>footer button:disabled{opacity:.35;cursor:default}.pinned-measurements{display:block;max-width:none;max-height:none;overflow:visible;padding:0}.pinned-measurements>summary{height:34px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 3px 12px color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);font-size:10px;font-weight:650;cursor:pointer;list-style:none}.pinned-measurements>summary::-webkit-details-marker{display:none}.pinned-measurements[open]>summary{border-color:var(--line-strong);color:var(--text)}.pinned-measurements>section{position:absolute;top:calc(100% + 6px);left:0;width:min(360px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.pinned-measurements>section>header{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 11px;border-bottom:1px solid var(--line-soft)}.pinned-measurements>section>header strong{font-size:10px}.pinned-measurements>section>header button{height:30px;padding:0 9px;border:0;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:650;cursor:pointer}.pinned-measurements__list{max-height:250px;overflow-y:auto;padding:5px}.pinned-measurements__list>div{min-width:0;display:flex;align-items:stretch}.pinned-measurements .selection-chip{flex:1 1 auto;width:auto;max-width:none;box-shadow:none}@media(max-width:520px){.measurement-plot__meta{max-width:92px;flex-basis:92px}.measurement-plot__meta span{display:none}.measurement-plot__legend-item>span:not(.measurement-plot__legend-swatch){max-width:82px}.measurement-plot__actions button{min-width:36px;width:36px;padding-inline:3px}.rdf-sheet{bottom:calc(var(--timeline-height) + 8px);width:calc(100% - 16px)}.rdf-sheet select,.rdf-sheet input,.rdf-sheet>footer button{height:40px}.rdf-sheet>header button{width:40px;height:40px}.pinned-measurements{top:calc(var(--header-height) + 58px)}.selection-bar .selection-track-button{display:none}}@media(max-height:420px){.pinned-measurements[open]{z-index:45}.pinned-measurements>section{position:fixed;top:calc(var(--header-height) + 100px);bottom:calc(var(--timeline-height) + 8px);left:8px;width:min(360px,calc(100vw - 16px));display:grid;grid-template-rows:auto minmax(0,1fr)}.pinned-measurements__list{min-height:0;max-height:none;overscroll-behavior:contain}}@media(max-width:380px){.rdf-view-toggle button{min-width:34px;padding-inline:5px}}@media(max-width:520px){.identity>div{display:block}.identity strong,.identity span:last-child{display:block}.identity span:last-child{max-width:42vw;margin-top:2px;font-size:10px}.identity-mark{width:27px;height:27px}.open-button{width:44px;padding:0;font-size:0}.open-button .icon{width:18px;height:18px}.scene-trigger>span{display:none}.scene-trigger>strong{max-width:178px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orientation-control button{min-width:44px;padding-inline:5px}.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{width:44px}.frame-counter{min-width:54px}.speed-control select{width:42px;padding-inline:1px}}.workspace.timeline-absent{--timeline-height: 0px;--selection-bottom: 14px}.workspace.timeline-present{--timeline-height: 56px;--selection-bottom: 68px}.canvas-controls>button.is-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.section-label{display:block;margin-bottom:8px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.075em;line-height:1.2;text-transform:uppercase}.section-label-spaced{margin-top:14px}.segmented-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.segmented-options button{min-width:0;min-height:34px;padding:0 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.segmented-options button:hover:not(:disabled){color:var(--text)}.segmented-options button.is-active{border-color:var(--line);background:var(--surface);color:var(--accent);font-weight:650}.representation-options{grid-template-columns:repeat(2,minmax(0,1fr))}.display-toggles .section-label{margin:4px 0 2px}.display-toggles .vector-scale-row+.toggle-row{border-top:1px solid var(--line)}.vector-scale-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:1px 0 9px 12px;color:var(--muted);font-size:12px}.vector-scale-row input{grid-column:1 / -1;min-width:0}.vector-scale-row output{color:var(--text);font-size:11px}.selection-bar{position:absolute;z-index:16;bottom:var(--selection-bottom);left:50%;width:max-content;max-width:min(640px,calc(100% - 24px));min-height:48px;display:flex;align-items:center;gap:10px;padding:5px 5px 5px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 10%,transparent);transform:translate(-50%)}.selection-readout{min-width:0;flex:1 1 auto;display:flex;align-items:baseline;gap:9px;overflow:hidden}.selection-readout strong,.selection-readout output{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-readout strong{min-width:0;flex:1 1 auto;font-size:11px}.selection-readout output{flex:0 1 auto;max-width:100%;color:var(--accent);font-size:10px}.selection-hint{color:var(--quiet);font-size:10px;white-space:nowrap}.selection-bar>button:not(.icon-button){flex:0 0 auto;min-width:56px;height:36px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--accent);font-size:10px;font-weight:650;cursor:pointer}.selection-bar>button:not(.icon-button):hover{background:var(--accent-soft)}.selection-bar .measurement-mode[aria-pressed=true]{background:var(--accent-soft)}.measurement-mode-compact{display:none}.selection-bar .icon-button{width:36px;padding:0}.timeline,.timeline.is-compact{height:var(--timeline-height);overflow:visible;padding:0 10px}.timeline .transport-row{min-height:var(--timeline-height);gap:9px}.transport-buttons{gap:0}.transport-button,.play-button{width:36px;height:40px;border-radius:5px}.play-button{color:var(--accent)}.frame-counter{min-width:66px;font-variant-numeric:tabular-nums}.frame-counter-compact{display:none}.frame-metadata{max-width:140px;overflow:hidden;color:var(--muted);font-family:var(--numeric);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.timeline-options{position:relative;flex:0 0 auto}.timeline-options>summary{width:40px;height:40px;display:grid;place-items:center;border-radius:5px;color:var(--muted);cursor:pointer;list-style:none}.timeline-options>summary::-webkit-details-marker{display:none}.timeline-options>summary:hover,.timeline-options[open]>summary{background:var(--surface-soft);color:var(--text)}.timeline-options>div{position:absolute;right:0;bottom:calc(100% + 8px);width:244px;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.timeline-options>div>label{min-height:34px;display:grid;grid-template-columns:1fr 112px;align-items:center;gap:12px;color:var(--muted);font-size:10px}.timeline-options select{width:100%;height:34px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font-size:10px}.timeline-options .section-label{margin:3px 0 -3px}.workspace.timeline-present .notice{bottom:calc(var(--timeline-height) + 12px)}.workspace.selection-present .notice{bottom:calc(var(--selection-bottom) + 58px)}@media(min-width:761px){.workbench-open .selection-bar{left:calc((100% - var(--workbench-width) - 24px) / 2);max-width:calc(100% - var(--workbench-width) - 48px)}}@media(max-width:760px){.canvas-controls{right:8px;left:8px;width:auto;height:50px}.canvas-controls>button{min-width:0;height:44px;flex:1 1 0}.frame-metadata{display:none}.selection-bar{max-width:calc(100% - 16px);min-height:52px;gap:5px;padding:4px 4px 4px 11px}.selection-readout{flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:1px}.selection-bar>button:not(.icon-button),.selection-bar .icon-button,.timeline-options>summary{height:44px}}@media(max-width:520px){.workspace.selection-present .workbench{max-height:calc(100% - var(--header-height) - var(--timeline-height) - 80px)}.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{display:none}.timeline,.timeline.is-compact{padding-inline:4px}.timeline .transport-row{gap:4px}.transport-button,.play-button{width:40px;height:44px}.scrubber{min-width:36px}.frame-counter{min-width:54px;font-size:10px}.timeline-options>div{position:fixed;right:8px;bottom:calc(var(--timeline-height) + 8px);width:min(244px,calc(100vw - 16px))}}@media(max-width:360px){.speed-control{display:none}.representation-grid{grid-template-columns:1fr}}@media(max-width:340px){.orientation-control{top:calc(var(--header-height) + 60px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--header-height: 48px;--viewport-toolbar-height: 46px;--workbench-width: 344px}.workspace{--timeline-height: 126px;background:var(--canvas)}.workspace.timeline-compact{--timeline-height: 58px}.molecule-canvas,.canvas-field{top:calc(var(--header-height) + var(--viewport-toolbar-height));width:100%;height:calc(100% - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height));transition:width .18s ease}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - var(--workbench-width))}.topbar{height:var(--header-height);padding:0 8px 0 12px;gap:12px;background:var(--surface);box-shadow:none}.identity-mark{width:30px;height:30px}.identity strong{font-size:13px}.topbar-tools,.panel-button,.inspect-button,.render-button{display:flex;align-items:center}.topbar-tools{gap:4px}.open-button,.panel-button,.inspect-button,.render-button,.command-button,.more-button,.icon-button{min-width:36px;height:34px;border-radius:7px}.open-button,.panel-button,.inspect-button,.render-button{gap:7px;padding:0 10px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.open-button:hover,.panel-button:hover,.panel-button[aria-expanded=true],.inspect-button:hover,.inspect-button[aria-expanded=true]{border-color:var(--line);background:var(--surface-soft);color:var(--text)}.render-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.render-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.render-button:disabled{border-color:var(--line);background:var(--surface-soft);color:var(--disabled);cursor:default}.figure-control{display:flex;align-items:center}.figure-control .render-button{border-radius:7px 0 0 7px}.figure-options-button{width:30px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--accent);border-left-color:color-mix(in srgb,var(--accent) 68%,#fff);border-radius:0 7px 7px 0;background:var(--accent);color:#fff;cursor:pointer}.figure-options-button:hover:not(:disabled),.figure-options-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 84%,#000)}.figure-options-button:disabled{border-color:var(--line);background:var(--surface-soft);color:var(--disabled);cursor:default}.figure-options-button .icon{width:15px;height:15px}.open-button:disabled,.panel-button:disabled,.inspect-button:disabled,.command-button:disabled,.more-button:disabled{color:var(--disabled);cursor:default;opacity:.52}.panel-button .icon,.render-button .icon{width:16px;height:16px}.viewport-toolbar{position:absolute;z-index:11;top:var(--header-height);left:0;right:0;height:var(--viewport-toolbar-height);display:flex;align-items:center;gap:4px;padding:0 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,var(--canvas));transition:right .18s ease}.workbench-open .viewport-toolbar{right:var(--workbench-width)}.viewport-preset{min-width:58px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.viewport-toolbar>label{height:32px;display:flex;align-items:center;gap:3px;padding:0 3px 0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.viewport-toolbar>label>span{color:var(--quiet);font-size:11px;font-weight:600;text-transform:uppercase}.viewport-toolbar select{height:30px;max-width:126px;padding:0 24px 0 5px;border:0;background:transparent;color:var(--text);font-size:11px;font-weight:550;cursor:pointer}.viewport-toolbar>button{height:32px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.viewport-toolbar>button:hover,.viewport-toolbar>button.is-active{border-color:var(--line);background:var(--surface);color:var(--text)}.viewport-toolbar>button.is-active{color:var(--accent);font-weight:650}.viewport-divider{width:1px;height:22px;margin:0 3px;background:var(--line)}.viewport-toolbar .orientation-control{position:static;display:flex;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.viewport-toolbar .orientation-control button{min-width:34px;height:32px;padding:0 6px;border-radius:6px}.viewport-toolbar .orientation-control button .icon{width:16px;height:16px}.mobile-view-select{display:none!important}.viewport-toolbar button:disabled,.viewport-toolbar select:disabled,.workbench button:disabled,.timeline button:disabled,.timeline select:disabled,.timeline input:disabled{cursor:default;opacity:.48}.workbench{position:absolute;z-index:18;top:var(--header-height);right:0;bottom:0;width:var(--workbench-width);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);background:var(--surface);animation:workbench-in .18s ease both}.molecule-stage-3dmol{overflow:hidden;background:#f3f5f2}.molecule-stage-3dmol>canvas{display:block;width:100%!important;height:100%!important}.publication-renderer-source{position:absolute;z-index:-1;inset:0;visibility:hidden;pointer-events:none}.workbench[hidden],.workbench-pane[hidden]{display:none}@keyframes workbench-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.workbench-tabs{height:43px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;border-bottom:1px solid var(--line)}.workbench-tabs button{position:relative;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.workbench-tabs button:hover,.workbench-tabs button.is-active{color:var(--text)}.workbench-tabs button.is-active:after{content:"";position:absolute;right:18px;bottom:-1px;left:18px;height:2px;background:var(--accent)}.workbench-heading{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.workbench-heading strong,.workbench-heading span{display:block}.workbench-heading strong{color:var(--text);font-size:14px;font-weight:650}.workbench-heading span{margin-top:2px;color:var(--muted);font-size:12px}.workbench-expand-button{display:none}.workbench-body{min-height:0;flex:1 1 auto;overflow:auto;scrollbar-color:var(--line-strong) transparent}.workbench-footer{min-height:43px;display:flex;align-items:stretch;flex:0 0 auto;border-top:1px solid var(--line);background:var(--surface)}.workbench-footer button{min-width:0;display:flex;align-items:center;gap:6px;flex:1 1 0;padding:0 10px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.workbench-footer button:hover{background:var(--surface-soft);color:var(--text)}.workbench-footer button+button{border-left:1px solid var(--line)}.render-workbench-footer{min-height:54px;padding:8px 10px;gap:8px}.render-workbench-footer button{min-height:36px;justify-content:center;border:1px solid var(--line);border-radius:6px;font-weight:600}.render-workbench-footer button+button{border-left:1px solid var(--accent)}.render-workbench-footer .primary{border-color:var(--accent);background:var(--accent);color:#fff}.render-workbench-footer .primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.workbench-footer .icon{width:14px;height:14px}.workbench-footer kbd{margin-left:auto;color:var(--quiet);font-size:9px}.workbench-section{padding:14px 16px}.workbench-section+.workbench-section{border-top:1px solid var(--line)}.workbench-section>h3,.workbench-section-heading h3,.render-panel .settings-section h3{margin:0 0 9px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workbench-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.workbench-section-heading span,.workbench-section-heading output{color:var(--quiet);font-family:var(--numeric);font-size:11px}.workbench-section-heading h3{margin-bottom:9px}.panel-select-row{min-height:40px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid var(--line);color:var(--text);font-size:12px}.panel-select-row:first-of-type{border-top:0}.panel-select-row select{min-width:0;height:32px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}.panel-details{margin-top:8px;border-top:1px solid var(--line)}.panel-details summary{min-height:38px;display:flex;align-items:center;color:var(--muted);font-size:10px;cursor:pointer}.panel-details[open] summary{color:var(--text)}.panel-details .geometry-settings,.panel-details .image-ranges{padding:2px 0 7px}.layer-heading{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px}.layer-heading strong,.layer-heading span{display:block}.layer-heading strong{font-size:11px;font-weight:600}.layer-heading span{margin-top:2px;color:var(--quiet);font-size:9px}.layer-heading>.toggle-row{min-height:36px}.layer-heading>.toggle-row>span{display:none}.image-heading{margin-top:8px}.panel-slider{display:block;margin-top:8px}.panel-slider>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.panel-slider output{color:var(--text)}.inspector-content{padding:0 16px 16px}.inspector-content .readout-section:first-child{padding-top:14px}.render-panel .settings-section{padding:14px 16px;border-bottom:1px solid var(--line)}.render-panel .render-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.render-panel .render-options-grid{display:block}.render-panel .sheet-actions{position:sticky;bottom:0;margin:0;padding:10px 16px;background:var(--surface)}.render-print-row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.render-print-row select{height:32px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:10px}.print-scale-section output{display:block;margin:7px 0 3px;color:var(--text);font-family:var(--numeric);font-size:12px}.render-guide-region{position:absolute;z-index:9;top:calc(var(--header-height) + var(--viewport-toolbar-height));right:0;bottom:var(--timeline-height);left:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;transition:right .18s ease}.workbench-open .render-guide-region{right:var(--workbench-width)}.render-guide{position:relative;flex:0 0 auto;border:1px dashed color-mix(in srgb,var(--accent) 68%,transparent);border-radius:2px;box-shadow:0 0 0 200vmax color-mix(in srgb,var(--canvas) 10%,transparent)}.render-guide span{position:absolute;top:7px;left:8px;padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.workspace.is-rendering .molecule-canvas,.workspace.is-rendering .canvas-field{pointer-events:none}.timeline.is-busy .series-plot svg{pointer-events:none}.command-backdrop,.customize-backdrop{position:fixed;inset:0}.preferences-sheet{width:min(440px,calc(100vw - 24px))}.timeline,.timeline.is-compact{left:0;bottom:0;width:100%;height:var(--timeline-height);min-height:0;padding:5px 12px 8px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;transition:width .18s ease}.timeline .transport-row{min-height:46px}.timeline .plot-row{height:70px}.playback-mode-control select{width:92px;height:32px;padding:0 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px}.notice{bottom:calc(var(--timeline-height) + 12px)}@media(max-width:960px){.viewport-toolbar>label>span,.viewport-preset{display:none}.viewport-toolbar>label{padding-left:3px}.viewport-toolbar>label,.viewport-toolbar>button{min-height:44px}.viewport-toolbar select{height:42px}.viewport-color-control{display:none!important}.viewport-toolbar .orientation-control{display:none}.viewport-toolbar .mobile-view-select{display:flex!important;margin-left:auto}.viewport-toolbar,.workbench-open .viewport-toolbar{overflow-x:auto;scrollbar-width:none}.viewport-toolbar::-webkit-scrollbar{display:none}.playback-mode-control{display:none}}@media(max-width:1100px){.timeline .jump-button{display:none}}@media(max-width:760px){.workspace{--timeline-height: 128px}.workspace.timeline-compact{--timeline-height: 58px}.molecule-canvas,.canvas-field,.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:100%}.topbar{padding-right:4px}.open-button,.panel-button,.render-button,.more-button,.icon-button{width:44px;min-width:44px;height:44px;padding:0;justify-content:center;font-size:0}.panel-button span,.render-button:not(.primary):after{display:none}.viewport-toolbar,.workbench-open .viewport-toolbar{right:0;gap:3px;overflow-x:auto;padding:0 6px;scrollbar-width:none}.viewport-toolbar::-webkit-scrollbar{display:none}.viewport-toolbar>label,.viewport-toolbar>button,.viewport-toolbar .orientation-control{flex:0 0 auto}.viewport-toolbar>label,.viewport-toolbar>button{min-height:44px}.viewport-toolbar select{height:42px;max-width:112px}.viewport-toolbar .orientation-control{display:none}.viewport-toolbar .mobile-view-select{display:flex!important;margin-left:auto}.workbench{position:fixed;top:auto;right:8px;bottom:calc(var(--timeline-height) + 8px);left:8px;width:auto;height:min(44svh,420px);max-height:calc(100svh - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height) - 24px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);animation-name:mobile-sheet-in}.workbench.is-expanded{height:min(68svh,600px)}.workbench-expand-button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted)}.workbench-expand-button[aria-expanded=true] .icon{transform:rotate(180deg)}.workbench-tabs{height:46px}.workbench-heading{min-height:58px}.panel-select-row,.panel-details summary,.layer-heading{min-height:44px}.panel-select-row select,.render-print-row select{height:44px}.workbench-footer,.workbench-footer button{min-height:48px}.render-workbench-footer{min-height:56px}.render-workbench-footer button{min-height:44px}.workbench-open .timeline{width:100%}.workbench-open .render-guide-region{right:0}.timeline .jump-button{display:none}.timeline,.timeline.is-compact{bottom:0;width:100%;padding-inline:6px;border-radius:0}.notice{bottom:calc(var(--timeline-height) + 8px)}}@media(max-width:420px){.identity span:last-child{max-width:31vw}.viewport-toolbar>button{padding-inline:8px}.viewport-color-control{display:none!important}.playback-mode-control{display:none}}@media(max-width:520px){.identity span:last-child{display:none}}@media(max-width:760px)and (max-height:520px){.workspace,.workspace.timeline-compact{--timeline-height: 58px}.timeline .plot-row{display:none}.workbench,.workbench.is-expanded{height:calc(100svh - var(--header-height) - var(--viewport-toolbar-height) - var(--timeline-height) - 16px);max-height:none}.workbench-heading,.workbench-expand-button{display:none}}@media(max-width:340px){.viewport-toolbar,.workbench-open .viewport-toolbar{gap:2px;padding-inline:4px}.viewport-style-control select{width:94px;max-width:94px}.mobile-view-select select{width:50px;padding-right:18px}.viewport-toolbar>button{padding-inline:6px}.viewport-divider{margin-inline:1px}}:root{--header-height: 48px;--viewport-toolbar-height: 0px;--workbench-width: 320px;--export-width: 380px;--figure-panel-reserve: var(--export-width);--figure-panel-gap: 12px}.app-shell,.workspace{min-height:0}.scene-status,.command-button,.viewport-toolbar{display:none}.molecule-canvas,.canvas-field{top:var(--header-height);height:calc(100% - var(--header-height) - var(--timeline-height))}.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - var(--export-width))}.canvas-controls{position:absolute;z-index:12;top:calc(var(--header-height) + 10px);right:12px;height:36px;display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 7%,transparent);transition:right .18s ease}.workbench-open .canvas-controls{right:calc(var(--workbench-width) + 12px)}.export-open .canvas-controls{right:calc(var(--export-width) + 12px)}.canvas-controls>button,.canvas-controls .orientation-control button{min-width:34px;height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.canvas-controls>button:hover,.canvas-controls .orientation-control button:hover,.canvas-controls .orientation-control button.is-active{background:var(--surface-soft);color:var(--text)}.canvas-controls .orientation-control{position:static;display:flex;margin:0;padding:0 0 0 2px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.canvas-controls .orientation-control .icon{width:15px;height:15px}.canvas-view-select{display:none}.canvas-controls button:disabled,.canvas-controls select:disabled{opacity:.48;cursor:default}.workbench{top:var(--header-height);left:auto;bottom:0;width:var(--workbench-width);border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none}.workbench:focus{outline:none}.workbench:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.workbench-heading{min-height:50px;padding:7px 10px 7px 16px}.workbench-heading strong{font-size:13px}.workbench-expand-button .icon{transform:rotate(180deg);transition:transform .16s ease}.workbench.is-expanded .workbench-expand-button .icon{transform:rotate(0)}.workbench-body{overscroll-behavior:contain}.workbench-section:first-child{padding-top:12px}.selection-chip{position:absolute;z-index:13;top:calc(var(--header-height) + 12px);left:12px;height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 7%,transparent);font-size:10px;cursor:pointer}.selection-chip strong{color:var(--text);font-family:var(--numeric);font-size:11px}.selection-chip:hover{border-color:var(--line-strong);color:var(--accent)}.export-sheet{position:fixed;z-index:32;top:var(--header-height);right:0;bottom:0;width:var(--export-width);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);background:var(--surface);box-shadow:-10px 0 28px color-mix(in srgb,var(--text) 8%,transparent);animation:workbench-in .18s ease both}.figure-sheet{bottom:var(--timeline-height)}.export-sheet[hidden]{display:none}.export-sheet:focus{outline:none}.export-sheet:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.export-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:8px 10px 8px 16px;border-bottom:1px solid var(--line)}.export-heading strong,.export-heading span{display:block}.export-heading strong{color:var(--text);font-size:14px;font-weight:650}.export-heading span{margin-top:2px;color:var(--muted);font-size:12px}.export-body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}.export-footer{min-height:56px;display:grid;grid-template-columns:1fr 1.45fr;gap:8px;flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--line);background:var(--surface)}.export-footer button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer}.export-footer .primary{border-color:var(--accent);background:var(--accent);color:#fff}.export-footer button:disabled{opacity:.48;cursor:default}.figure-section{padding:16px;border-bottom:1px solid var(--line)}.figure-section-label{display:block;margin-bottom:10px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.figure-presets,.figure-choice-row{display:grid;gap:6px}.figure-presets{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.figure-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.figure-choice-row+.figure-choice-row{margin-top:8px}.figure-presets button,.figure-choice-row button,.figure-recipe-actions button{min-height:34px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.figure-presets button:hover,.figure-choice-row button:hover,.figure-recipe-actions button:hover,.figure-presets button.is-active,.figure-choice-row button.is-active{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:var(--accent-soft);color:var(--accent-strong)}.figure-number-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:6px}.figure-number-grid label,.figure-scale-length{display:grid;gap:5px;color:var(--quiet);font-size:11px}.figure-number-grid input,.figure-scale-length input{min-width:0;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:10px}.figure-toggle{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);cursor:pointer}.figure-toggle:last-of-type{border-bottom:0}.figure-toggle span,.figure-toggle strong,.figure-toggle small{display:block}.figure-toggle strong{color:var(--text);font-size:12px;font-weight:600}.figure-toggle small{margin-top:2px;color:var(--quiet);font-size:11px}.figure-toggle input{width:16px;height:16px;accent-color:var(--accent)}.figure-scale-length{grid-template-columns:1fr 90px auto;align-items:center;margin-top:8px}.figure-recipe-actions p{margin:0 0 10px;color:var(--quiet);font-size:11px;line-height:1.45}.figure-recipe-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.figure-sheet-open .molecule-canvas,.figure-sheet-open .canvas-field{width:calc(100% - var(--figure-panel-reserve))}.figure-sheet-open .canvas-controls{right:calc(var(--figure-panel-reserve) + var(--figure-panel-gap));transition:none}.export-options{border-bottom:1px solid var(--line)}.export-options>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.export-options>summary small{overflow:hidden;color:var(--quiet);font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.export-options-body{border-top:1px solid var(--line)}.export-open .render-guide-region{right:var(--export-width)}.timeline,.timeline.is-compact{left:0;bottom:0;width:100%;height:var(--timeline-height);border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}.frame-counter{white-space:nowrap}.figure-sheet-open .timeline{z-index:33}.workbench-open .timeline{width:calc(100% - var(--workbench-width))}.export-open .timeline{width:calc(100% - var(--export-width))}.playback-mode-control{display:none}@media(max-width:719px){.workspace{--figure-panel-reserve: 0px;--figure-panel-gap: 8px}.inspect-button{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.export-open .molecule-canvas,.export-open .canvas-field{width:100%}.workbench,.workbench.is-expanded{position:fixed;top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:min(44svh,360px);max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 16px);border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -10px 28px color-mix(in srgb,var(--text) 8%,transparent)}.workbench.is-expanded{height:min(68svh,560px)}.workbench-heading{min-height:50px}.workbench-expand-button{display:grid}.workbench-open .timeline,.export-open .timeline{width:100%}.workbench-open .canvas-controls,.export-open .canvas-controls{right:8px}.canvas-controls{top:calc(var(--header-height) + 8px);right:8px;height:44px}.canvas-controls>button{min-width:44px;height:40px}.canvas-controls .orientation-control{display:none}.canvas-view-select{height:40px;display:flex;align-items:center;border-left:1px solid var(--line)}.canvas-view-select select{width:58px;height:40px;padding:0 18px 0 8px;border:0;background:transparent;color:var(--text);font-size:11px}.selection-chip{top:calc(var(--header-height) + 13px);left:8px;height:40px}.export-sheet{top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:min(72svh,560px);max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 8px);border:0;border-top:1px solid var(--line);box-shadow:0 -10px 28px color-mix(in srgb,var(--text) 8%,transparent);animation-name:mobile-sheet-in}.figure-sheet.export-sheet{max-height:calc(100svh - var(--header-height) - var(--timeline-height) - 64px)}.export-open .render-guide-region{right:0}.export-heading{min-height:50px}.export-footer button{min-height:44px}.figure-options-button{width:44px;height:44px}.figure-presets button,.figure-choice-row button,.figure-recipe-actions button{min-height:44px}.figure-number-grid input,.figure-scale-length input{height:44px}.render-panel .render-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.render-panel .render-presets button{min-width:0;padding-inline:4px}}@media(max-width:760px){.topbar{padding-inline:8px 4px}.open-button{width:44px;min-width:44px;padding:0;font-size:0}.panel-button,.inspect-button,.render-button{width:auto;min-width:50px;height:44px;padding:0 9px;font-size:10px}.panel-button span{display:inline}.more-button{width:44px;min-width:44px;height:44px}}@media(min-width:720px){.more-inspect-action{display:none!important}}@media(max-width:520px){.identity>div{min-width:0;display:block}.identity strong{display:none}.identity span:last-child{display:block;max-width:none;margin:0;font-size:10px}.identity-mark{width:28px;height:28px}}@media(max-width:420px){.identity>div{display:none}}@media(min-width:720px)and (max-width:760px){.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - var(--workbench-width))}.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - var(--export-width))}}@media(max-width:479px),(min-width:480px)and (max-width:760px)and (min-height:521px){.workspace.workbench-open.selection-present .selection-bar{bottom:calc(var(--timeline-height) + var(--mobile-workbench-height))}.workspace.workbench-expanded.selection-present .selection-bar{visibility:hidden;pointer-events:none}}@media(min-width:480px)and (max-width:760px)and (max-height:520px){.workspace,.workspace.timeline-compact{--timeline-height: 58px;--figure-panel-reserve: min(320px, 48vw);--figure-panel-gap: 8px}.timeline .plot-row{display:none}.workbench,.workbench.is-expanded,.export-sheet{top:var(--header-height);right:0;bottom:var(--timeline-height);left:auto;width:min(320px,48vw);height:auto;max-height:none;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:-10px 0 28px color-mix(in srgb,var(--text) 8%,transparent)}.figure-sheet.export-sheet{max-height:none}.workbench-heading{display:flex}.workbench-expand-button{display:none}.workbench-open .canvas-controls,.export-open .canvas-controls{right:calc(min(320px,48vw) + 8px)}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.export-open .molecule-canvas,.export-open .canvas-field{width:calc(100% - min(320px,48vw))}.export-open .render-guide-region{right:min(320px,48vw)}.workbench-open .timeline,.export-open .timeline{width:calc(100% - min(320px,48vw))}.render-panel .render-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--timeline-height: 52px;--workbench-width: 304px;--scene-strip-height: 40px}.workspace.timeline-compact{--timeline-height: 52px}.workspace.timeline-absent{--timeline-height: 0px}.workspace.timeline-present{--timeline-height: 52px}.scene-strip{position:absolute;z-index:14;top:var(--header-height);right:0;left:0;height:var(--scene-strip-height);display:flex;align-items:stretch;overflow:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,var(--canvas));transition:right .18s ease}.scene-strip-presets{min-width:0;display:flex;align-items:stretch}.scene-strip-presets button{position:relative;min-width:76px;padding:0 12px;border:0;background:transparent;color:var(--quiet);font-size:10px;font-weight:560;letter-spacing:.01em;cursor:pointer}.scene-strip-presets button:after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:2px;border-radius:2px 2px 0 0;background:transparent}.scene-strip-presets button:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.scene-strip-presets button.is-active{color:var(--accent);font-weight:680}.scene-strip-presets button.is-active:after{background:var(--accent)}.scene-strip-presets button:disabled{color:color-mix(in srgb,var(--quiet) 48%,transparent);cursor:default}.scene-strip-facts{min-width:0;display:flex;align-items:center;gap:0;margin-left:auto;padding-right:12px;color:var(--quiet);font-family:var(--numeric);font-size:9px;white-space:nowrap}.scene-strip-facts span{display:flex;gap:3px;align-items:baseline}.scene-strip-facts span+span:before{content:"";width:1px;height:12px;margin:0 9px;background:var(--line)}.scene-strip-facts strong{color:var(--muted);font-weight:650}.molecule-canvas,.canvas-field{top:calc(var(--header-height) + var(--scene-strip-height));height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height))}.workbench-open .scene-strip{right:var(--workbench-width)}.figure-sheet-open .scene-strip{right:var(--figure-panel-reserve)}.workbench-open .molecule-canvas,.workbench-open .canvas-field,.workbench-open .timeline{width:calc(100% - var(--workbench-width))}.workbench{position:absolute;z-index:24;top:calc(var(--header-height) + var(--scene-strip-height));right:0;bottom:0;left:auto;width:var(--workbench-width);height:auto;max-height:none;overflow:hidden;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.workbench.atom-card{width:320px}.workbench-heading{min-height:54px;padding:6px 8px 6px 16px}.workbench-heading-copy{min-width:0}.workbench-heading-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-body{max-height:none;overflow:auto}.workbench-section,.workbench-section:first-child{padding:12px 16px}.scene-panel .workbench-section+.workbench-section{border-top:1px solid var(--line)}.periodic-settings{padding:0}.periodic-settings>summary{position:relative;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 12px;padding:8px 36px 8px 16px;list-style:none;color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.periodic-settings>summary::-webkit-details-marker{display:none}.periodic-settings>summary:after{content:"";position:absolute;right:17px;width:6px;height:6px;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:rotate(45deg) translateY(-2px);transition:transform .14s ease}.periodic-settings[open]>summary:after{transform:rotate(225deg) translate(-1px,-1px)}.periodic-settings>summary small{min-width:0;overflow:hidden;color:var(--quiet);font-size:11px;font-weight:450;text-overflow:ellipsis;white-space:nowrap}.periodic-settings-body{padding:0 16px 14px;border-top:1px solid var(--line-soft)}.periodic-control-label{display:block;margin:12px 0 6px;color:var(--muted);font-size:11px;font-weight:600}.workbench-section>.section-label+.periodic-control-label{margin-top:0}.periodic-inline-control,.periodic-repeat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.periodic-inline-control .periodic-control-label,.periodic-repeat-heading .periodic-control-label{margin:0}.periodic-repeat-heading>span:last-child{color:var(--quiet);font-size:11px;font-variant-numeric:tabular-nums}.periodic-axis-options{display:flex;gap:4px}.periodic-axis-options button,.periodic-repeat-row button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer}.periodic-axis-options button:hover:not(:disabled),.periodic-repeat-row button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.periodic-axis-options button.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.periodic-repeat-grid{display:grid;gap:4px;margin-top:6px}.periodic-repeat-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 38px 30px;align-items:center;gap:4px;min-height:30px}.periodic-repeat-row>span{color:var(--text);font-size:11px;font-style:italic}.periodic-repeat-row output{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.periodic-repeat-row.is-disabled>span,.periodic-repeat-row.is-disabled output{color:var(--quiet)}.periodic-axis-options button:disabled,.periodic-repeat-row button:disabled{cursor:default;opacity:.38}.panel-select-row{min-height:34px}.display-toggles{padding-block:9px}.display-toggles .toggle-row{min-height:36px}.display-toggles .toggle-row+.toggle-row{border-top:1px solid var(--line-soft)}.atom-card .inspector-content{padding:0}.atom-card .readout-section{padding:12px 14px 14px;border:0}.workbench-open .canvas-controls{right:calc(var(--workbench-width) + 12px);opacity:1;pointer-events:auto}.canvas-controls{top:calc(var(--header-height) + var(--scene-strip-height) + 10px)}.selection-chip{top:calc(var(--header-height) + var(--scene-strip-height) + 12px)}.timeline,.timeline.is-compact{height:var(--timeline-height)}.timeline .transport-row{min-height:var(--timeline-height)}@media(max-width:760px){.workspace{--mobile-workbench-height: min(48svh, 440px);--scene-strip-height: 44px}.scene-strip{right:0;overflow:visible}.scene-strip-presets{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.scene-strip-presets::-webkit-scrollbar{display:none}.scene-strip-presets button{flex:0 0 auto;min-width:72px;padding-inline:9px}.scene-strip-presets button:after{right:9px;left:9px}.scene-strip-presets button:disabled{display:none}.scene-strip-facts{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:100%;height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - var(--mobile-workbench-height))}.workbench-open .timeline{width:100%}.workbench,.workbench.atom-card{position:fixed;top:auto;right:0;bottom:var(--timeline-height);left:0;width:auto;height:var(--mobile-workbench-height);max-height:calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--timeline-height));border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -12px 30px color-mix(in srgb,var(--text) 9%,transparent)}.workbench-open .canvas-controls{right:8px}.canvas-controls{top:calc(var(--header-height) + var(--scene-strip-height) + 8px)}.selection-chip{top:calc(var(--header-height) + var(--scene-strip-height) + 10px)}.panel-button,.render-button{min-width:0;padding-inline:8px}.panel-button .icon,.render-button .icon{display:none}.periodic-axis-options button,.periodic-repeat-row button{width:42px;height:42px}.periodic-repeat-row{grid-template-columns:minmax(0,1fr) 42px 46px 42px;min-height:42px}}@media(max-width:760px){.open-button{width:auto;min-width:62px;padding-inline:8px;font-size:10px}}.command-button{display:inline-flex;width:auto;min-width:124px;padding-inline:11px;border-color:var(--line-strong);background:var(--surface-soft);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 7%,transparent)}.command-button span{display:inline;font-weight:650}.command-button:hover{border-color:color-mix(in srgb,var(--accent) 54%,var(--line-strong));background:var(--accent-soft)}.command-button kbd{white-space:nowrap}.command-backdrop{z-index:70}@media(min-width:761px){.identity{max-width:calc(50% - 112px)}.command-button{position:absolute;top:7px;left:50%;width:clamp(176px,23vw,286px);transform:translate(-50%)}}@media(max-width:760px){.command-button{display:inline-flex;width:44px;min-width:44px;height:44px;padding:0;border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong));background:var(--accent-soft);color:var(--accent)}.command-button span,.command-button kbd{display:none}.command-button .icon{width:18px;height:18px}}.workspace{--measurement-plot-height: 164px}.measurement-plot-open .selection-bar{z-index:18;bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 7px);width:min(760px,calc(100% - 24px));max-width:none;border-radius:10px 10px 0 0;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 9%,transparent)}.measurement-plot-open .selection-readout{flex:1 1 auto}.workspace.measurement-plot-open .notice{bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 70px)}.measurement-plot{position:absolute;z-index:17;bottom:calc(var(--timeline-height) + 8px);left:50%;width:min(760px,calc(100% - 24px));height:var(--measurement-plot-height);display:grid;grid-template-rows:34px minmax(0,1fr) 18px;overflow:hidden;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 9%,transparent);transform:translate(-50%)}.measurement-plot.is-complete{grid-template-rows:34px minmax(0,1fr)}.measurement-plot__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 5px 3px 13px;border-bottom:1px solid var(--line-soft)}.measurement-plot__meta{color:var(--quiet);font-family:var(--numeric);font-size:10px}.measurement-plot__actions{flex:0 0 auto;display:flex;align-items:center;gap:1px}.measurement-plot__export-menu{position:relative;display:none}.measurement-plot__export-menu>summary{list-style:none}.measurement-plot__export-menu>summary::-webkit-details-marker{display:none}.measurement-plot__actions button{height:30px;min-width:40px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.measurement-plot__actions button:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.measurement-plot__actions button:disabled{color:var(--disabled);cursor:default}.measurement-plot__chart{width:100%;height:100%;min-height:0;display:block;cursor:crosshair}.measurement-plot__chart:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.measurement-plot__grid,.measurement-plot__axis{stroke:var(--line-soft);stroke-width:1}.measurement-plot__axis{stroke:var(--line-strong)}.measurement-plot__trace{stroke:var(--accent);stroke-width:1.8}.measurement-plot__trace-point,.measurement-plot__cursor-point{fill:var(--accent)}.measurement-plot__cursor{stroke:var(--accent);stroke-width:1.25;opacity:.7}.measurement-plot__cursor-point{stroke:var(--surface);stroke-width:2}.measurement-plot__tick,.measurement-plot__axis-label,.measurement-plot__unit,.measurement-plot__empty{fill:var(--quiet);font-family:var(--numeric);font-size:12px}.measurement-plot__axis-label,.measurement-plot__unit,.measurement-plot__empty{font-family:inherit;font-size:11px}.measurement-plot__progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;color:var(--quiet);font-family:var(--numeric);font-size:10px}.measurement-plot__progress progress{width:100%;height:2px;overflow:hidden;border:0;border-radius:2px;background:var(--surface-soft);color:var(--accent);appearance:none}.measurement-plot__progress progress::-webkit-progress-bar{background:var(--surface-soft)}.measurement-plot__progress progress::-webkit-progress-value{background:var(--accent)}.measurement-plot__progress progress::-moz-progress-bar{background:var(--accent)}.selection-bar .selection-plot-button[aria-pressed=true]{background:var(--accent-soft)}@media(max-width:520px){.workspace{--measurement-plot-height: 194px}.measurement-plot,.measurement-plot-open .selection-bar{width:calc(100% - 16px)}.measurement-plot{grid-template-rows:44px minmax(0,1fr) 18px}.measurement-plot.is-complete{grid-template-rows:44px minmax(0,1fr)}.measurement-plot__header{overflow:visible;padding-left:10px}.measurement-plot__actions>button:not(.measurement-plot__close){display:none}.measurement-plot__export-menu{display:block}.measurement-plot__export-menu>summary{width:58px;height:44px;display:grid;place-items:center;border-radius:5px;color:var(--muted);font-size:10px;font-weight:650;cursor:pointer}.measurement-plot__export-menu[open]>summary{background:var(--surface-soft);color:var(--text)}.measurement-plot__export-menu>div{position:absolute;z-index:2;top:calc(100% + 2px);right:0;width:112px;padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.measurement-plot__export-menu>div button{width:100%;display:block;text-align:left}.measurement-plot__actions button{width:44px;height:44px;padding-inline:5px}}@media(max-width:380px){.measurement-plot-open .selection-bar>button:not(.icon-button){min-width:48px;padding-inline:6px}}@media(max-width:760px)and (max-height:520px){.workspace{--measurement-plot-height: 132px}.measurement-plot{grid-template-rows:44px minmax(0,1fr) 14px}.measurement-plot.is-complete{grid-template-rows:44px minmax(0,1fr)}.measurement-plot__progress{padding-inline:9px}}@media(max-width:760px){.open-button,.panel-button,.inspect-button,.render-button,.canvas-controls>button{font-size:11px}.canvas-controls{height:48px}.canvas-controls>button{min-width:44px;height:44px}.transport-button,.play-button,.timeline-options>summary{width:40px;height:44px}.segmented-options button{min-height:40px;font-size:11px}.workspace.selection-present .timeline-options>div{bottom:calc(100% + 82px)}}@media(max-width:600px){.transport-buttons .transport-button:first-child,.transport-buttons .transport-button:last-child{display:none}.frame-counter-full{display:none}.frame-counter-compact{display:inline}.frame-error-full{display:none}.frame-error-compact{display:inline}.frame-error{min-width:28px;max-width:28px;flex:0 0 28px;padding-inline:0}}@media(min-width:521px)and (max-width:760px){.workspace.selection-present .workbench{max-height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 80px)}}@media(max-width:479px)and (max-height:520px){.workbench-heading{min-height:44px;display:flex}}@media(max-width:380px){.selection-hint{display:none}.measurement-plot-open .selection-bar{flex-wrap:wrap;justify-content:flex-end;row-gap:4px;padding-block:6px}.measurement-plot-open .selection-readout{flex:1 0 100%;overflow:hidden}.measurement-plot-open .selection-readout strong{min-width:0;max-width:100%;flex:0 1 auto}.measurement-plot-open .selection-readout output{flex:0 0 auto}.workspace.measurement-plot-open .notice{bottom:calc(var(--timeline-height) + var(--measurement-plot-height) + 100px)}.measurement-mode-full{display:none}.measurement-mode-compact{display:inline}}@media(max-width:520px){.workspace.selection-present .timeline-options>div{bottom:calc(var(--selection-bottom) + 60px)}}@media(max-width:760px)and (max-height:450px){.workspace.playback-options-open .canvas-controls,.workspace.playback-options-open .selection-bar{visibility:hidden;pointer-events:none}.workspace.playback-options-open .timeline-options>div{bottom:calc(100% + 8px)}}@media(max-width:520px)and (max-height:450px){.workspace.playback-options-open .timeline-options>div{bottom:calc(var(--timeline-height) + 8px)}}@media(max-width:760px)and (max-height:360px){.workspace.measurement-plot-open .canvas-controls{visibility:hidden;pointer-events:none}.workspace.measurement-plot-open .notice{top:calc(var(--header-height) + var(--scene-strip-height) + 8px);bottom:auto;max-height:calc(100% - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 16px)}}.selection-tools{position:relative;flex:0 0 auto}.selection-tools>summary{min-width:54px;height:36px;display:grid;place-items:center;padding:0 9px;border-radius:5px;color:var(--accent);font-size:10px;font-weight:650;cursor:pointer;list-style:none}.selection-tools>summary::-webkit-details-marker{display:none}.selection-tools>summary:hover,.selection-tools[open]>summary{background:var(--accent-soft)}.selection-tools-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:min(300px,calc(100vw - 20px));max-height:min(520px,calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--header-height) - var(--timeline-height) - 36px));overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.selection-tools-popover>section{display:grid;gap:8px;padding:11px}.selection-tools-popover>section+section{border-top:1px solid var(--line)}.selection-tools-popover label,.selection-tools-popover section>span{color:var(--quiet);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.selection-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.selection-scope-grid button,.selection-input-row button,.saved-selections button{min-height:32px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);font-size:12px;cursor:pointer}.selection-scope-grid button:hover:not(:disabled),.selection-input-row button:hover:not(:disabled),.saved-selections button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft)}.selection-scope-grid button:disabled,.selection-input-row button:disabled{opacity:.4;cursor:default}.selection-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.selection-input-row.is-name{grid-template-columns:minmax(0,1fr) auto}.selection-input-row input{min-width:0;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:11px var(--numeric)}.selection-input-row input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.selection-input-row>span{color:var(--muted);font:10px var(--numeric)}.selection-input-row button{padding-inline:10px;color:var(--accent);font-weight:650}.saved-selections{max-height:178px;overflow:auto}.saved-selections>div{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px}.saved-selections>div>button:first-child{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;text-align:left}.saved-selections button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-selections button small{color:var(--quiet);font:9px var(--numeric)}.saved-selections>div>button:last-child{display:grid;place-items:center;padding:0;color:var(--quiet)}.saved-selections .icon{width:12px;height:12px}.pinned-measurements{position:absolute;z-index:13;top:calc(var(--header-height) + var(--scene-strip-height) + 12px);left:12px;display:block;max-width:none;max-height:none;overflow:visible;padding:0}.pinned-measurements .selection-chip{position:static;min-width:0;border-radius:8px 0 0 8px;box-shadow:none}.pinned-measurements .selection-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-measurements .selection-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft)}.pinned-measurement-remove{width:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--surface);color:var(--quiet);cursor:pointer}.pinned-measurement-remove:hover{color:var(--text)}.pinned-measurement-remove .icon{width:12px;height:12px}.selection-summary-panel .readout-section{padding-top:4px}@media(max-width:760px){.selection-bar{width:calc(100% - 16px)}.selection-tools{position:static}.selection-tools>summary{height:44px}.selection-tools-popover{right:8px;left:8px;width:auto}.selection-scope-grid button,.selection-input-row button,.saved-selections button{min-height:38px}.selection-input-row input{height:40px}.pinned-measurements{top:calc(var(--header-height) + var(--scene-strip-height) + 60px);left:8px}.pinned-measurements .selection-chip{height:40px}}@media(max-width:520px){.selection-bar .measurement-mode{display:none}.selection-readout{min-width:80px}.selection-tools>summary{min-width:48px;padding-inline:7px}}@media(max-width:719px)and (min-height:521px),(max-width:479px){.figure-sheet.export-sheet{max-height:calc(100svh - var(--header-height) - var(--scene-strip-height) - var(--timeline-height) - 64px)}}@media(min-width:480px)and (max-width:719px)and (max-height:520px){.figure-sheet.export-sheet{max-height:none}}:root,.workspace{--scene-strip-height: 0px}.identity{height:40px;padding:0 8px 0 0;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.identity:hover:not(:disabled),.identity[aria-expanded=true]{border-color:var(--line);background:var(--surface-soft)}.identity:disabled{cursor:default}.structure-button,.appearance-button{min-width:36px;height:34px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.structure-button:hover:not(:disabled),.structure-button[aria-expanded=true],.appearance-button:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft);color:var(--text)}.structure-button:disabled,.appearance-button:disabled{opacity:.45;cursor:default}.molecule-stage-3dmol{background:var(--canvas)}.workbench-tabs{order:1}.workbench-body{order:2}.workbench-heading{order:0}.workbench-tabs button:disabled{color:var(--disabled);cursor:default}.structure-overview{background:color-mix(in srgb,var(--surface-soft) 54%,var(--surface))}.structure-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.structure-fact-grid div{min-width:0}.structure-fact-grid span,.structure-fact-grid strong{display:block}.structure-fact-grid span{margin-bottom:3px;color:var(--quiet);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.structure-fact-grid strong{overflow-wrap:anywhere;color:var(--text);font-family:var(--numeric);font-size:12px;font-weight:600}.scientific-note,.structure-actions p,.atom-editor>p{margin:12px 0 0;color:var(--quiet);font-size:11px;line-height:1.55}.cell-editor-mode{margin-bottom:12px}.cell-parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cell-parameter-grid label{position:relative;min-width:0}.cell-parameter-grid label>span,.cell-parameter-grid label>small{position:absolute;z-index:1;top:9px;color:var(--quiet);font-family:var(--numeric);font-size:11px;pointer-events:none}.cell-parameter-grid label>span{left:8px;color:var(--muted);font-weight:700}.cell-parameter-grid label>small{right:7px}.cell-parameter-grid input,.cell-vector-grid input,.atom-editor input{width:100%;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-family:var(--numeric);font-size:10px}.cell-parameter-grid input{padding:0 22px}.cell-parameter-grid input:focus,.cell-vector-grid input:focus,.atom-editor input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.cell-vector-grid{display:grid;grid-template-columns:18px repeat(3,minmax(0,1fr));align-items:center;gap:6px}.cell-vector-grid>span,.cell-vector-grid>strong{color:var(--quiet);font-family:var(--numeric);font-size:11px;text-align:center}.cell-vector-grid>strong{color:var(--muted)}.cell-vector-grid input{min-width:0;padding:0 6px;text-align:right}.cell-axis-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.cell-axis-row>div{display:flex;gap:4px}.cell-axis-row button{width:30px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--quiet);font-family:var(--numeric);font-size:10px;cursor:pointer}.cell-axis-row button.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.cell-scale-choice{min-height:44px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);color:var(--text);font-size:12px}.cell-scale-choice input{accent-color:var(--accent)}.cell-scale-choice span,.cell-scale-choice small{display:block}.cell-scale-choice small{margin-top:2px;color:var(--quiet);font-size:11px}.editor-error{margin:0 0 8px;color:var(--error);font-size:11px;line-height:1.4}.primary-panel-action,.structure-actions>button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.primary-panel-action{border-color:var(--accent);background:var(--accent);color:#fff}.primary-panel-action:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.primary-panel-action small{color:inherit;font-family:var(--numeric);font-size:11px;opacity:.72}.structure-actions{display:grid;gap:7px}.structure-actions>button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft);color:var(--text)}.structure-actions>button:disabled{opacity:.42;cursor:default}.structure-actions p{margin-top:2px}.representation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.representation-grid button{min-width:0;min-height:38px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;cursor:pointer}.representation-grid button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.representation-grid button.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:var(--accent-soft);color:var(--accent);font-weight:700}.representation-grid button:disabled{opacity:.38;cursor:default}.atom-display-settings .vector-scale-row{border-top:1px solid var(--line)}.atom-editor{margin:0 -16px;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 48%,var(--surface))}.atom-editor-heading{min-height:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.atom-editor-heading span,.atom-editor-heading strong,.atom-editor-heading small{display:block}.atom-editor-heading span{color:var(--quiet);font-size:11px}.atom-editor-heading strong{margin-top:2px;color:var(--text);font:650 15px var(--numeric)}.atom-editor-heading small{color:var(--quiet);font-size:11px}.atom-element-field{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:12px}.atom-editor input{min-width:0;padding:0 8px}.atom-coordinate-fields{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line)}.atom-coordinate-fields legend{padding:0;color:var(--quiet);font-size:11px}.atom-coordinate-fields label{position:relative;min-width:0}.atom-coordinate-fields label span,.atom-coordinate-fields label small{position:absolute;z-index:1;top:9px;color:var(--quiet);font:11px var(--numeric);pointer-events:none}.atom-coordinate-fields label span{left:7px}.atom-coordinate-fields label small{right:7px}.atom-coordinate-fields input{padding:0 19px}.atom-editor .primary-panel-action{margin-top:10px}:root[data-appearance=dark] .molecule-stage-3dmol{background:var(--canvas)}@media(max-width:980px){.appearance-button{display:none}}@media(max-width:760px){.workspace{--scene-strip-height: 0px}.structure-button{display:none}.open-button{width:40px;min-width:40px;padding:0;font-size:0}.open-button .icon{width:17px;height:17px}.panel-button{width:40px;padding:0}.panel-button span{display:none}.panel-button .icon{display:block}.workbench-tabs button{min-height:44px}}@media(max-width:420px){.topbar{padding-inline:4px;gap:2px}.identity{width:40px;padding:0;justify-content:center}.identity-mark{width:28px;height:28px}.topbar-tools{gap:1px}.render-button{min-width:44px;padding-inline:6px;font-size:9px}.figure-options-button{width:32px;min-width:32px}}.identity{cursor:default;-webkit-user-select:none;user-select:none}.identity:hover{border-color:transparent;background:transparent}.task-navigation{align-items:center;gap:2px}.task-button,.tools-button,.help-button{min-width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:550;cursor:pointer}.task-button:hover:not(:disabled),.task-button[aria-expanded=true],.tools-button:hover:not(:disabled),.tools-button[aria-expanded=true],.help-button:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft);color:var(--text)}.task-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft);color:var(--accent)}.task-button:disabled,.tools-button:disabled,.help-button:disabled{color:var(--disabled);cursor:default;opacity:.5}.tools-button{display:none}.help-button{padding-inline:8px}.help-button strong{display:none;font:650 13px var(--numeric)}.export-button.render-button{border-radius:7px;border-color:var(--line);background:transparent;color:var(--text);font-weight:600}.export-button.render-button:hover:not(:disabled){border-color:var(--line-strong, var(--line));background:var(--surface-soft);color:var(--text)}.export-button.render-button[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:#fff}.workbench-heading-actions{display:flex;align-items:center;gap:2px}.edit-target-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.edit-target-options button{min-height:36px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}.edit-target-options button:hover:not(:disabled){border-color:var(--line);color:var(--text)}.edit-target-options button.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--surface);color:var(--accent)}.edit-target-options button:disabled{color:var(--disabled);cursor:default}.appearance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-options button{min-height:36px}.appearance-settings .panel-select-row{margin-top:10px;border-top:1px solid var(--line)}.selected-atom-overview{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 52%,var(--surface))}.selected-atom-overview span,.selected-atom-overview strong{display:block}.selected-atom-overview span{color:var(--quiet);font-size:11px}.selected-atom-overview strong{margin-top:2px;color:var(--text);font:650 16px var(--numeric)}.selected-atom-overview button,.analysis-actions button,.analysis-method-grid button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.selected-atom-overview button:hover:not(:disabled),.analysis-actions button:hover:not(:disabled),.analysis-method-grid button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.analysis-panel{min-height:100%}.analysis-empty{padding:6px 0 2px}.analysis-empty strong,.analysis-measurement-copy strong{color:var(--text);font-size:13px;font-weight:650}.analysis-empty p,.analysis-measurement-copy p{margin:7px 0 0;color:var(--quiet);font-size:12px;line-height:1.55}.analysis-empty>div{display:grid;gap:5px;margin-top:14px}.analysis-empty>div span{color:var(--muted);font-size:12px}.analysis-empty kbd{min-width:56px;display:inline-block;margin-right:7px;padding:3px 5px;border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);color:var(--text);text-align:center}.analysis-measurement-copy strong,.analysis-measurement-copy span{display:block}.analysis-measurement-copy span{margin-top:3px;color:var(--muted);font:10px var(--numeric)}.analysis-actions,.analysis-method-grid{display:grid;gap:6px;margin-top:12px}.analysis-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-actions button:last-child{grid-column:1 / -1}.analysis-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.analysis-actions button:disabled,.analysis-method-grid button:disabled{color:var(--disabled);cursor:default;opacity:.55}.analysis-selection .selection-summary-panel{margin:0 -16px -12px}.canvas-hint{position:absolute;z-index:14;right:50%;bottom:calc(var(--timeline-height) + 18px);display:flex;align-items:center;gap:13px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--muted);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 8%,transparent);font-size:9px;transform:translate(50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-hint strong{color:var(--text);font-weight:650}.canvas-hint button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--quiet);cursor:pointer}.canvas-hint button:hover{background:var(--surface-soft);color:var(--text)}.canvas-hint .icon{width:14px;height:14px}[data-setting-id]{transition:box-shadow .18s ease,background-color .18s ease}[data-setting-id].is-search-target{position:relative;z-index:1;box-shadow:inset 3px 0 0 var(--accent),0 0 0 2px var(--accent-soft)}.command-results>button{min-height:50px;padding-block:7px}.command-result-copy{min-width:0;display:block}.command-result-copy>span,.command-result-copy>small{display:block;max-width:none;text-align:left}.command-result-copy>span{overflow:hidden;color:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.command-results>button .command-result-copy>small{max-width:none;margin-top:3px;color:var(--quiet);font-size:11px;line-height:1.2;text-align:left;white-space:nowrap}.command-result-detail{flex:0 0 auto}.command-result-detail small{display:block}@media(min-width:761px){.task-navigation{display:flex}.identity{max-width:calc(50% - 150px)}.workbench-tabs{display:none}}@media(max-width:1040px)and (min-width:761px){.task-button{padding-inline:7px}.help-button span{display:none}.help-button strong{display:block}.open-button{width:36px;padding:0;font-size:0}}@media(max-width:760px){.task-navigation{display:none}.open-button,.command-button,.tools-button,.export-button.render-button,.help-button{height:40px}.tools-button{min-width:56px;display:inline-flex}.tools-button .icon{width:16px;height:16px}.help-button{width:40px;min-width:40px;padding:0}.help-button span{display:none}.help-button strong{display:block}.workbench-heading-actions{display:flex}.workbench-expand-button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.workbench-expand-button:hover{background:var(--surface-soft);color:var(--text)}.workbench-expand-button .icon{width:16px;height:16px;transform:rotate(-90deg)}.workbench.is-expanded .workbench-expand-button .icon{transform:rotate(90deg)}.workspace{--mobile-workbench-height: min(56svh, 460px)}.workbench.is-expanded{top:var(--header-height);bottom:var(--timeline-height);height:auto;max-height:none}.workbench-expanded .molecule-canvas,.workbench-expanded .canvas-field{width:100%;height:calc(100% - var(--header-height) - var(--timeline-height))}.canvas-hint{right:10px;bottom:calc(var(--timeline-height) + 12px);left:10px;justify-content:space-between;gap:7px;transform:none}}@media(max-width:420px){.identity>div{display:block;min-width:0}.identity strong{display:none}.identity span:last-child{display:block;max-width:none;font-size:10px}.identity{width:auto;min-width:0;max-width:min(42vw,148px);padding:0 4px 0 0;justify-content:flex-start}.topbar-tools{gap:0}.tools-button{min-width:50px;padding-inline:5px}.export-button.render-button{width:42px;min-width:42px;padding:0;font-size:0}.export-button .icon{display:block;width:16px;height:16px}.canvas-hint{display:grid;grid-template-columns:1fr auto;gap:4px 8px}.canvas-hint span{grid-column:1}.canvas-hint button{grid-row:1 / 4;grid-column:2}}@media(min-width:480px)and (max-width:760px)and (max-height:520px){.workbench,.workbench.is-expanded{top:var(--header-height);right:0;bottom:var(--timeline-height);left:auto;width:min(320px,48vw);height:auto;max-height:none;border-top:0;border-left:1px solid var(--line)}.workbench-expand-button{display:none}.workbench-open .molecule-canvas,.workbench-open .canvas-field{width:calc(100% - min(320px,48vw));height:calc(100% - var(--header-height) - var(--timeline-height))}} diff --git a/pqviewer/static/assets/index-B5Kg_efE.js b/pqviewer/static/assets/index-Dtn8HXMR.js similarity index 96% rename from pqviewer/static/assets/index-B5Kg_efE.js rename to pqviewer/static/assets/index-Dtn8HXMR.js index f91e425..613acff 100644 --- a/pqviewer/static/assets/index-B5Kg_efE.js +++ b/pqviewer/static/assets/index-Dtn8HXMR.js @@ -40,7 +40,7 @@ uniform vec3 publicationBackground;`).replace(n,`${n} gl_FragColor.a = 1.0; } - // color space`);if(o===r||!o.includes("publicationCoverage"))throw new Error("Publication output shader is incompatible");e.material.fragmentShader=o,e.material.uniforms.publicationTransparent={value:t.kind==="transparent"?1:0},e.material.uniforms.publicationBackground={value:new Fe(t.kind==="solid"?t.color:"#000000")},e.material.needsUpdate=!0}function Nb(e){e.root.traverse(t=>{t instanceof Oe&&t.dispose()}),e.resources.geometries.forEach(t=>t.dispose()),e.resources.materials.forEach(t=>t.dispose()),e.resources.textures.forEach(t=>t.dispose())}function Eb(e){for(let t=0;t<16&&e.getError()!==e.NO_ERROR;t+=1);}function Ib(e,t){return e===t.OUT_OF_MEMORY?"the GPU could not allocate the requested image":e===t.INVALID_VALUE?"the requested image dimensions are unsupported":e===t.INVALID_FRAMEBUFFER_OPERATION?"the export framebuffer is incomplete":`WebGL error 0x${e.toString(16)}`}function Fb(e,t){e.scene.background instanceof Fe&&e.scene.background.set(t.background),e.renderer.toneMappingExposure=t.exposure,e.hemisphere.color.set(t.hemisphereSky),e.hemisphere.groundColor.set(t.hemisphereGround),e.hemisphere.intensity=t.hemisphereIntensity,e.key.color.set(t.key),e.key.intensity=t.keyIntensity,e.rim.color.set(t.rim),e.rim.intensity=t.rimIntensity,e.selectionMaterial.color.set(t.selection),e.selectionMaterial.opacity=t.selectionOpacity,e.selectionPointsMaterial.color.set(t.selection),e.keyboardFocusMaterial.color.set(t.selection)}function $b(e,t,n,r,o,s){const i=e.atomObject?.userData.instanceToAtom instanceof Uint32Array?e.atomObject.userData.instanceToAtom:n.instanceToAtom;if(e.atomObject instanceof Nn){const a=e.atomObject.geometry.getAttribute("color");for(let c=0;cKr(a,s.force)),e.velocities?.children.forEach(a=>Kr(a,s.velocity)),e.ribbon&&Fd(e.ribbon.geometry,t,n,r,o,s),e.polyhedra&&_b(e.polyhedra,t,n,r,o,s)}function Fd(e,t,n,r,o,s){const i=e.getAttribute("color"),a=e.getAttribute("atomIndex"),c=e.getAttribute("secondaryStructure"),l=e.getAttribute("secondaryStructureWeights");if(!(i instanceof Se)||!(a instanceof Se))return;const u=new Fe(s.ribbon),d=o==="light"?[new Fe("#3f7f82"),new Fe("#bc6070"),new Fe("#c4903d")]:[new Fe("#77b8b8"),new Fe("#e28b98"),new Fe("#e1bd70")],f=new Fe;for(let g=0;g{if(i.userData.polyhedronEdges===!0){Kr(i,s.bond);return}if(!(i instanceof Ar))return;const a=i.geometry.getAttribute("color"),c=i.geometry.getAttribute("centerAtomIndex");if(!(!(a instanceof Se)||!(c instanceof Se))){for(let l=0;l{const o=r.material;(Array.isArray(o)?o:o?[o]:[]).forEach(i=>{"color"in i&&i.color instanceof Fe&&i.color.set(t),n!==void 0&&"opacity"in i&&(i.opacity=n)})})}function Rb(e){for(const t of[e.atomObject,e.bonds,e.cell,e.forces,e.velocities,e.ribbon,e.polyhedra])t&&(e.root.remove(t),ps(t));e.atomObject=null,e.bonds=null,e.cell=null,e.forces=null,e.velocities=null,e.ribbon=null,e.polyhedra=null,e.ribbonSelections.clear(),e.pickables=[]}function Tb(e,t,n,r){for(;e.children.length>0;){const l=e.children[e.children.length-1];e.remove(l),ps(l)}if(!t)return;const o=ms[r],s=new Fe(o.background),i=new Fe(o.selection);for(const l of n.trails.slice(0,vd)){const u=$d(t,l);if(u.length===0)continue;const d=u.length/6,f=new Float32Array(d*6);for(let b=0;bPb(t,l)).filter(l=>l!==null),c=Db(a,o.displacement);c&&(c.name="reference-displacements",e.add(c))}function $d(e,t){if(!Number.isSafeInteger(t.atom)||t.atom<0||t.atom>=e.count||t.image.length!==3||!t.image.every(Number.isInteger)||t.points.length<6||t.points.length%3!==0)return new Float32Array;const n=Math.min(ob,Math.floor(t.points.length/3)),r=Math.floor(t.points.length/3)-n,o=t.points.length-3,s=new N().fromArray(t.points,o);if(![s.x,s.y,s.z].every(Number.isFinite))return new Float32Array;const i=qa(e,t.atom,t.image);if(!i)return new Float32Array;const a=[],c=new N;for(let u=r;u=e.count||n.length!==3||!n.every(Number.isInteger))return null;const r=new N().fromArray(e.positions,t*3);if(!e.basis)return r;const o=t*3,s=[n[0]-(e.baseImages[o]??0),n[1]-(e.baseImages[o+1]??0),n[2]-(e.baseImages[o+2]??0)];return r.add(ht(s,e.basis))}function Pb(e,t){const n=qa(e,t.atom,t.image);if(!n||![...t.from,...t.to].every(Number.isFinite))return null;const r=new N(t.to[0]-t.from[0],t.to[1]-t.from[1],t.to[2]-t.from[2]).applyMatrix3(e.displayTransform),o=r.length();if(!Number.isFinite(o)||o<=1e-10)return null;const s=r.clone().multiplyScalar(1/o),i=Math.min(.22,Math.max(.07,o*.18),o*.45);return{tail:n.clone().sub(r),tip:n,direction:s,head:i}}function Db(e,t){if(e.length===0)return null;const n=new Hn,r=new Oe(new xa(.014,.014,1,8,1,!1),new br({color:t,transparent:!0,opacity:.82,depthWrite:!1}),e.length);r.instanceMatrix.setUsage(Ot),n.add(r);const o=new Oe(new du(1,1,9),new br({color:t,transparent:!0,opacity:.88,depthWrite:!1}),e.length);return o.instanceMatrix.setUsage(Ot),n.add(o),hs(n,[...e]),n}function Lb(e,t,n,r,o,s,i,a,c,l,u){const d=ms[o];if(r.mode==="ribbon"){if(e.ribbon=Pd(t,n,r,o,d),e.ribbon){e.root.add(e.ribbon),e.pickables.push(e.ribbon);const g=e.ribbon.userData.ribbonSelections;g instanceof Map&&(e.ribbonSelections=g)}const f=Dd(t,n);if(f){const g={...r,mode:"ball-stick"};e.atomObject=fs(f,n,g,o,!1,"ball-stick"),e.atomObject&&(e.atomObject.userData.instanceToAtom=f.instanceToAtom,e.atomObject.userData.instanceImages=f.instanceImages,e.root.add(e.atomObject),e.pickables.push(e.atomObject));const h=Wi(f,g,!1);e.bonds=Yr(g,d,h.segments.length>Zo?"lines":"instances",h.segments),e.bonds&&e.root.add(e.bonds)}}else{e.polyhedra=r.mode==="polyhedra"?Rd(t,n,r,o,d,!1,u):null;const f=r.mode==="polyhedra"&&!e.polyhedra;e.atomObject=f?null:fs(t,n,r,o,!1),e.atomObject&&(e.root.add(e.atomObject),e.pickables.push(e.atomObject)),e.bonds=e.polyhedra||f?null:Yr(r,d,l.bondKind,l.bondSegments),e.bonds&&e.root.add(e.bonds),e.polyhedra&&e.root.add(e.polyhedra)}e.cell=r.cell?Hb(t,d):null,e.cell&&e.root.add(e.cell),e.forces=r.forces?kl(t,s,a,d.force,l.forceInstances):null,e.forces&&e.root.add(e.forces),e.velocities=r.velocities?kl(t,i,c,d.velocity,l.velocityInstances):null,e.velocities&&e.root.add(e.velocities)}function Ob(e,t,n,r,o,s,i,a){if(!Bb(e,a))return!1;const c=a.forceInstances.length>0?ca(t,r,s,a.forceInstances):[],l=a.velocityInstances.length>0?ca(t,o,i,a.velocityInstances):[];return c.length!==a.forceInstances.length||l.length!==a.velocityInstances.length?!1:(e.atomObject&&zb(e.atomObject,t),e.bonds&&Vb(e.bonds,a.bondSegments),e.cell&&Ub(e.cell,t),e.forces&&hs(e.forces,c),e.velocities&&hs(e.velocities,l),n.mode!=="ribbon"&&n.mode!=="polyhedra")}function Bb(e,t){if(e.ribbon||e.polyhedra)return!1;if(t.atomKind==="none"){if(e.atomObject)return!1}else if(t.atomKind==="points"){if(!(e.atomObject instanceof Nn)||e.atomObject.geometry.getAttribute("position").count!==t.atomCount)return!1}else if(!(e.atomObject instanceof Oe)||e.atomObject.instanceMatrix.count!==t.atomCount)return!1;if(t.bondKind==="none"){if(e.bonds)return!1}else if(t.bondKind==="lines"){if(!(e.bonds instanceof vr)||e.bonds.geometry.getAttribute("position").count!==t.bondSegments.length*2)return!1}else if(!(e.bonds instanceof Oe)||e.bonds.instanceMatrix.count!==t.bondSegments.length)return!1;if(t.cellLineCount===0){if(e.cell)return!1}else if(!e.cell||e.cell.geometry.getAttribute("position").count!==t.cellLineCount*2)return!1;return Ml(e.forces,t.forceInstances.length)&&Ml(e.velocities,t.velocityInstances.length)}function Ml(e,t){if(t===0)return e===null;const[n,r]=e?.children??[];return n instanceof Oe&&r instanceof Oe&&n.instanceMatrix.count===t&&r.instanceMatrix.count===t}function zb(e,t){const n=new N;if(e instanceof Nn){const o=e.geometry.getAttribute("position");for(let s=0;s{n.setXYZ(s*2,r.x,r.y,r.z),n.setXYZ(s*2+1,o.x,o.y,o.z)}),n.needsUpdate=!0,e.geometry.computeBoundingSphere();return}e instanceof Oe&&_d(e,t)}function Ub(e,t){if(!t.basis)return;const n=[];t.images.forEach(o=>Ha(n,t.basis,o,t.cellCenter));const r=e.geometry.getAttribute("position");r.array.set(n),r.needsUpdate=!0,e.geometry.computeBoundingSphere()}function qb(e){return JSON.stringify([e.mode,e.water,e.hydrogens,e.images.min,e.images.max,e.cell,e.bonds,e.forces,e.velocities,e.atomScale,e.bondScale,e.color,e.quality])}function fs(e,t,n,r,o=!1,s){const i=e.instanceToAtom.length;if(i===0)return null;if(Su(n,i)){const g=new Float32Array(i*3),h=new Float32Array(i*3),b=new N;for(let M=0;M{f.toArray(u,h*6),g.toArray(u,h*6+3)});const d=new fn;return d.setAttribute("position",new Se(u,3).setUsage(Ot)),new vr(d,new ws({color:t.bond,transparent:!0,opacity:t.bondOpacity}))}const s=(e.mode==="licorice"?.14:e.mode==="polyhedra"?.025:.045)*Math.max(.1,e.bondScale),i=o&&r.length<=12e3?16:vu(e,r.length)?12:8,a=new xa(s,s,1,i,1,!1),c=new Sr({color:t.bond,roughness:.56,metalness:.01,transparent:!0,opacity:t.bondOpacity}),l=new Oe(a,c,r.length);return l.instanceMatrix.setUsage(Ot),_d(l,r),l}function _d(e,t){const n=new lo,r=new N;t.forEach(({from:o,to:s},i)=>{r.subVectors(s,o);const a=r.length();n.position.copy(o).add(s).multiplyScalar(.5),n.quaternion.setFromUnitVectors(ia,r.normalize()),n.scale.set(1,a,1),n.updateMatrix(),e.setMatrixAt(i,n.matrix)}),e.instanceMatrix.needsUpdate=!0,e.computeBoundingSphere()}function Hb(e,t){if(!e.basis||e.images.length===0)return null;const n=[];e.images.forEach(o=>Ha(n,e.basis,o,e.cellCenter));const r=new fn;return r.setAttribute("position",new sn(n,3).setUsage(Ot)),new vr(r,new ws({color:t.cell,transparent:!0,opacity:t.cellOpacity}))}function Ha(e,t,n,r){const o=Ca(t,n,r),s=(a,c,l)=>a*4+c*2+l,i=[];for(let a=0;a<=1;a+=1){for(let c=0;c<=1;c+=1)i.push([s(a,c,0),s(a,c,1)]);for(let c=0;c<=1;c+=1)i.push([s(a,0,c),s(a,1,c)])}for(let a=0;a<=1;a+=1)for(let c=0;c<=1;c+=1)i.push([s(0,a,c),s(1,a,c)]);i.forEach(([a,c])=>e.push(...o[a].toArray(),...o[c].toArray()))}function kl(e,t,n,r,o){const s=ca(e,t,n,o);if(s.length===0)return null;const i=new Hn,a=new Oe(new xa(.018,.018,1,8,1,!1),new br({color:r}),s.length);a.instanceMatrix.setUsage(Ot),i.add(a);const c=new Oe(new du(1,1,9),new br({color:r}),s.length);return c.instanceMatrix.setUsage(Ot),i.add(c),hs(i,s),i}function ca(e,t,n,r){if(!t||t.length{const d=e.instanceToAtom[u];return Math.hypot(t[d*3],t[d*3+1],t[d*3+2])}).filter(u=>Number.isFinite(u)&&u>1e-12).sort((u,d)=>u-d);if(o.length===0)return[];const i=1.45/o[Math.floor((o.length-1)*.9)]*n,a=[],c=new N,l=new N;for(const u of r){const d=e.instanceToAtom[u],f=d*3;c.set(t[f],t[f+1],t[f+2]);const g=c.length();ju(c.normalize(),e),Vt(l,e,u);const h=g*i,b=Math.min(Math.min(.24,Math.max(.075,h*.24)),h*.5),w=(e.radii[d]??.3)*1.03;a.push({tail:l.clone().addScaledVector(c,w),tip:l.clone().addScaledVector(c,w+h),direction:c.clone(),head:b})}return a}function hs(e,t){const[n,r]=e.children;if(!(n instanceof Oe)||!(r instanceof Oe))return;const o=new lo,s=new N;t.forEach((i,a)=>{s.copy(i.tip).addScaledVector(i.direction,-i.head*.48),o.position.copy(i.tail).add(s).multiplyScalar(.5),o.quaternion.setFromUnitVectors(ia,i.direction),o.scale.set(1,i.tail.distanceTo(s),1),o.updateMatrix(),n.setMatrixAt(a,o.matrix)}),n.instanceMatrix.needsUpdate=!0,t.forEach((i,a)=>{o.position.copy(i.tip).addScaledVector(i.direction,-i.head*.5),o.quaternion.setFromUnitVectors(ia,i.direction),o.scale.set(i.head*.34,i.head,i.head*.34),o.updateMatrix(),r.setMatrixAt(a,o.matrix)}),r.instanceMatrix.needsUpdate=!0,n.computeBoundingSphere(),n.boundingBox=null,r.computeBoundingSphere(),r.boundingBox=null}function Rd(e,t,n,r,o,s=!1,i,a){const c=i??Ka(e),l=gd(c.input,{images:e.images,maxCenters:c.maxCenters,centerAtomicNumbers:c.centerAtomicNumbers,containedInCell:n.cell,cellCenter:e.cellCenter,colorForCenter:(h,b)=>Et(t,h,b,n.color,r)},c.topology);if(!l)return null;const u=new Hn,d=new Ar(l,new Sr({vertexColors:!0,transparent:!0,opacity:s?.2:r==="light"?.28:.34,depthWrite:!s,roughness:s?.7:.58,metalness:0,flatShading:!0,side:zi,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}));d.userData.publicationExcludeFromAo=!0,d.renderOrder=1,u.add(d);const f=l.userData.edgePositions instanceof Float32Array?l.userData.edgePositions:new Float32Array;let g;if(s&&a){const{LineMaterial:h,LineSegments2:b,LineSegmentsGeometry:w}=a.constructors,M=new w;M.setPositions(Array.from(f));const k=new h({color:o.bond,linewidth:ke.clamp(1.18*Math.min(a.width/2400,a.height/1800),1,2.8),transparent:!0,opacity:.66,depthWrite:!1,alphaToCoverage:!0}),S=new b(M,k);S.isLine2=!0,S.userData.publicationFitPositions=f,S.frustumCulled=!1,g=S}else{const h=new fn;h.setAttribute("position",new Se(f,3)),h.computeBoundingSphere(),g=new vr(h,new ws({color:o.bond,transparent:!0,opacity:.36,depthWrite:!1}))}return g.userData.polyhedronEdges=!0,g.userData.publicationExcludeFromAo=!0,g.renderOrder=2,u.add(g),u}function Kb(e){const t=Ka(e),n=Cs(t.input,{maxCenters:t.maxCenters,centerAtomicNumbers:t.centerAtomicNumbers});return pd(t.input,{maxCenters:t.maxCenters,centerAtomicNumbers:t.centerAtomicNumbers},n)}function Ka(e){const t=e.visibleAtoms.length===e.count?e.bonds:Gb(e),n=Td(e,t);return{input:n,maxCenters:e.visibleAtoms.length>24?8:64,centerAtomicNumbers:bd(n)}}function Td(e,t){return{positions:e.positions,atomicNumbers:e.atomicNumbers,bonds:t,basis:e.basis,pbc:e.pbc}}function Gb(e){const t=new Set(e.visibleAtoms);return e.bonds.filter(([n,r])=>t.has(n)&&t.has(r))}function Pd(e,t,n,r,o){if(e.backbone.length<3)return null;const s=e.images.map(d=>ht(d,e.basis)),i=Wa(e).map(d=>Xa(e,d)),a=[],c=[];for(const d of i){const f=Ga(d,t);a.push({residues:d,centers:ld(d,f)});const g=Ng(d,{scale:n.atomScale,quality:n.quality,structures:f,translations:s,translationImages:e.images});g&&c.push(g)}const l=c.length===1?c[0]:Qm(c,!1);if(!l)return null;c.length>1&&c.forEach(d=>d.dispose()),Fd(l,t,e,n,r,o);const u=new Ar(l,new Sr({vertexColors:!0,roughness:.62,metalness:0,dithering:!0,side:Ym}));return u.userData.ribbonSelections=Ld(a,e),u}function Ga(e,t){const n=fo(e),r=new Map((t.topology.residues??[]).filter(o=>o.secondary_structure).map(o=>[o.index,o.secondary_structure]));for(let o=0;o[c.index,c])),r=t.topology.atom_residue_index??[],o=e.visibleAtoms.filter(c=>n.get(r[c]??-1)?.category!=="amino-acid");if(o.length===0)return null;const s=new Set(o),i=[],a=[];for(let c=0;cs.has(c)&&s.has(l)),visibleAtoms:o,instanceToAtom:Uint32Array.from(i),instanceImages:Int8Array.from(a),radii:e.atomicNumbers.map(c=>ka(c,"ball-stick",.82)),backbone:[]}}function Wa(e){const t=[];for(const n of e.backbone){const r=n.runIndex??0;for(;t.length<=r;)t.push([]);t[r].push(n)}return t.filter(n=>n.length>=3)}function Xa(e,t){const n=[];for(const r of t){const o=new N().fromArray(e.positions,r.ca*3),s=n.length===0?o:Dt(n[n.length-1].ca,o,e.basis,e.pbc),i=Wb(o,s,e.basis,e.pbc),a=r.ca*3,c=[(e.baseImages[a]??0)+i[0],(e.baseImages[a+1]??0)+i[1],(e.baseImages[a+2]??0)+i[2]],l=Dt(s,new N().fromArray(e.positions,r.n*3),e.basis,e.pbc),u=Dt(s,new N().fromArray(e.positions,r.c*3),e.basis,e.pbc),d=Dt(u,new N().fromArray(e.positions,r.o*3),e.basis,e.pbc);n.push({atomIndex:r.ca,residueIndex:r.residueIndex,image:c,n:l,ca:s,c:u,o:d})}return n}function Wb(e,t,n,r){if(!n)return[0,0,0];const o=t.clone().sub(e);return[r[0]?Math.round(o.dot(n.reciprocal[0])):0,r[1]?Math.round(o.dot(n.reciprocal[1])):0,r[2]?Math.round(o.dot(n.reciprocal[2])):0]}function Ld(e,t){const n=new Map;for(const{residues:r,centers:o}of e)for(let s=0;s{const l=mn(c.atom,c.image);if(i.has(l))return;const u=c.atom*3,d=c.image.map((f,g)=>f-(e.baseImages[u+g]??0));d.some(f=>f<-127||f>127)||(i.add(l),o.push(c.atom),s.push(d[0],d[1],d[2]))};for(const c of t.values())a(c.selection);for(let c=0;c{M>=0&&M{if(!h.has(k)){if(h.add(k),i&&v.toArray(i,S*3),c)v.toArray(c,o*3);else{let j=e.selection.children[o];j||(j=new Ar(e.selectionGeometry,e.selectionMaterial),j.renderOrder=10,e.selection.add(j)),j.position.copy(v),j.scale.setScalar(Math.max(.24,r.radii[M]||.3)*1.35),j.visible=!0}f&&(f[S]=1),o+=1}};for(const[M,k]of e.ribbonSelections??[]){const S=s.get(M);S!==void 0&&b(k.selection.atom,M,S,k.position)}for(let M=0;Mw;)e.selection.remove(e.selection.children[e.selection.children.length-1]);return c?(a.needsUpdate=!0,e.selectionPoints.geometry.setDrawRange(0,o),e.selectionPoints.visible=o>0):(e.selectionPoints.geometry.setDrawRange(0,0),e.selectionPoints.visible=!1),i&&f&&t.length>0&&f.every(M=>M===1)?i:null}function Mi(e,t,n){const r=e.model;if(e.keyboardFocus.visible=!1,!r||!t)return null;const o=e.ribbonSelections.get(mn(t.atom,t.image));if(o)return e.keyboardFocus.position.copy(o.position),e.keyboardFocus.scale.setScalar(Math.max(.24,r.radii[t.atom]||.3)*1.62),e.keyboardFocus.visible=!0,-1;if(n!==null&&so(e.instanceToAtom,e.instanceImages,n,t,e.baseImages))return Cl(e,t,n),n;for(let s=0;s=0?a:0:a>=0?(a+Math.sign(o)+i)%i:o<0?i-1:0,l=Ya(e,t,c,s);return l?{selection:l,instance:c}:null}function so(e,t,n,r,o=new Int32Array){if(!r||!Number.isInteger(n)||n<0||n>=e.length)return!1;const s=n*3,i=e[n]*3;return s+2n.distanceToSquared(new N().fromBufferAttribute(r,u))=0&&Od(c)?{atom:a,image:c}:null}function Ya(e,t,n,r=new Int32Array){if(!Number.isInteger(n)||n<0||n>=e.length)return null;const o=n*3;if(o+2>=t.length)return null;const s=e[n],i=s*3;return{atom:s,image:[(r[i]??0)+t[o],(r[i+1]??0)+t[o+1],(r[i+2]??0)+t[o+2]]}}function Od(e){return e.length===3&&e.every(Number.isInteger)}function mn(e,t){return`${e}:${t[0]}:${t[1]}:${t[2]}`}function Jb(e,t){return!e||!t?e===t:mn(e.atom,e.image)===mn(t.atom,t.image)}function ey(e,t){const n=`${e.topology.symbols?.[t.atom]??"Atom"} ${t.atom+1}`,r=t.image.map((o,s)=>{if(o===0)return"";const i=o>0?"+":"−",a=Math.abs(o)===1?"":Math.abs(o);return`${i}${a}${"abc"[s]}`}).join("");return r?`${n} (${r})`:n}function ty(e,t,n,r){const o=e.model;if(!o||t.width<=0||t.height<=0)return[];const s=Math.max(t.left,Math.min(n.x,r.x)),i=Math.min(t.right,Math.max(n.x,r.x)),a=Math.max(t.top,Math.min(n.y,r.y)),c=Math.min(t.bottom,Math.max(n.y,r.y));if(i<=s||c<=a)return[];e.camera.updateMatrixWorld();const l=new N,u=[],d=new Set,f=(g,h)=>{const b=mn(g.atom,g.image);if(d.has(b)||(l.copy(h),l.project(e.camera),!Number.isFinite(l.x)||!Number.isFinite(l.y)||l.z<-1||l.z>1))return;const w=t.left+(l.x+1)*.5*t.width,M=t.top+(1-l.y)*.5*t.height;wi||Mc||(d.add(b),u.push(g))};for(const g of e.ribbonSelections.values())f(g.selection,g.position);for(let g=0;gcy(s,n.basis,c,n.cellCenter));const i=o.getSize(new N).length(),a=s.getSize(new N).length();Xf(i,a,n.images)&&o.union(s)}return o.isEmpty()?null:o}function jl(e,t){const n=ry(e,t);if(!n)return;Bd(e.controls);const r=t.presentation.mode==="ribbon"&&t.preset==="perspective"&&t.model.images.length===1?oy(t.model,t.manifest):null,o=r?hg(r.positions,r.points.map((S,v)=>v),t.presentation.atomScale,e.camera.aspect,r.points.map(S=>S.faceNormal)):null,s=o?.center??n.getCenter(new N),i=ke.degToRad(e.camera.fov*.5),a=Math.atan(Math.tan(i)*e.camera.aspect),c=Math.min(i,a),{direction:l,up:u}=o??uy(t.preset),d=new N().crossVectors(u,l).normalize(),f=new N().crossVectors(l,d).normalize(),g=.78;let h=1.6/Math.tan(c)*1.08;const b=o&&e.ribbon?e.ribbon.geometry.getAttribute("position"):null,w=new N,M=new N,k=(S,v)=>{M.copy(S).sub(s);const j=M.dot(l);h=Math.max(h,j+(Math.abs(M.dot(d))+v)/(Math.tan(a)*g),j+(Math.abs(M.dot(f))+v)/(Math.tan(i)*g))};if(b)for(let S=0;S{const s=Xa(e,o);return jg(s,Ga(s,t))});if(n.length<3)return null;const r=new Float32Array(n.length*3);return n.forEach((o,s)=>o.center.toArray(r,s*3)),{positions:r,points:n}}function sy(e,t){return{position:e.position.toArray(),target:t.toArray(),up:e.up.toArray(),fov:e.fov,zoom:e.zoom,near:e.near,far:e.far}}function iy(e,t){if([...t.position,...t.target,...t.up,t.fov,t.zoom,t.near,t.far].some(r=>!Number.isFinite(r))||t.fov<=0||t.fov>=180||t.zoom<=0||t.near<=0||t.far<=t.near)throw new Error("The saved camera is invalid");Bd(e.controls),e.camera.position.fromArray(t.position),e.camera.up.fromArray(t.up).normalize(),e.camera.fov=t.fov,e.camera.zoom=t.zoom,e.camera.near=t.near,e.camera.far=t.far,e.controls.target.fromArray(t.target),e.camera.updateProjectionMatrix(),e.controls.update(),e.cameraMode="manual"}function Bd(e){const t=e.enableDamping;e.enableDamping=!1;try{e.update()}finally{e.enableDamping=t}}function ay(e,t){const n=Yf(e.images);return[t.mode,t.wrap,t.cellOrigin.join(","),t.mirror.join(","),t.cell,e.visibleAtoms.length,n.count,n.span.join(",")].join(":")}function cy(e,t,n,r){Ca(t,n,r).forEach(o=>e.expandByPoint(o))}function ly(e){const t=[];for(const n of[e.min.x,e.max.x])for(const r of[e.min.y,e.max.y])for(const o of[e.min.z,e.max.z])t.push(new N(n,r,o));return t}function uy(e){return e==="xy"?{direction:new N(0,0,1),up:new N(0,1,0)}:e==="xz"?{direction:new N(0,1,0),up:new N(0,0,1)}:e==="yz"?{direction:new N(1,0,0),up:new N(0,0,1)}:{direction:new N(1,.68,1.15).normalize(),up:new N(0,1,0)}}function ps(e){const t=new Set,n=new Set;e.traverse(r=>{const o=r;r instanceof Oe&&r.dispose(),o.geometry&&!t.has(o.geometry)&&(t.add(o.geometry),o.geometry.dispose()),(Array.isArray(o.material)?o.material:o.material?[o.material]:[]).forEach(i=>{n.has(i)||(n.add(i),i.dispose())})})}const zd={1:"#f0eee7",2:"#d8f2f2",3:"#b889df",4:"#bed17f",5:"#d4956d",6:"#94a3a7",7:"#5680dd",8:"#df6259",9:"#6cba79",10:"#7bcdd0",11:"#9874ce",12:"#89a86d",13:"#c7b8ae",14:"#d5aa82",15:"#ed9e54",16:"#ead462",17:"#74ca88",18:"#8bdce2",19:"#aa7bdd",20:"#99ba7b",22:"#8294aa",26:"#cf8964",29:"#d19a71",30:"#adb3b7",35:"#b65a4c",38:"#8ead82",53:"#8d61b5"},dy={...zd,1:"#aab5b3",6:"#59656f",7:"#315bb8",8:"#c94138",9:"#318448",15:"#d87924",16:"#c5a51c",17:"#348b4c",22:"#637f9e",38:"#77986d"},Ve=["X","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"],my="unknown hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium magnesium aluminium silicon phosphorus sulfur chlorine argon potassium calcium scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc gallium germanium arsenic selenium bromine krypton rubidium strontium yttrium zirconium niobium molybdenum technetium ruthenium rhodium palladium silver cadmium indium tin antimony tellurium iodine xenon caesium barium lanthanum cerium praseodymium neodymium promethium ",fy="samarium europium gadolinium terbium dysprosium holmium erbium thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum gold mercury thallium lead bismuth polonium astatine radon francium radium actinium thorium protactinium uranium ",hy="neptunium plutonium americium curium berkelium californium einsteinium fermium ",py="mendelevium nobelium lawrencium rutherfordium dubnium seaborgium bohrium hassium ",gy="meitnerium darmstadtium roentgenium copernicium nihonium flerovium moscovium livermorium tennessine oganesson",gs=(my+fy+hy+py+gy).split(" "),Xn=new Map;for(let e=1;e0&&e[an(l),u])),s=xr(t);if(n==="add"){for(const l of s){const u=an(l);o.has(u)||(o.set(u,r.length),r.push(l))}return r}const i=new Set(s.map(an)),a=r.filter(l=>!i.has(an(l))),c=new Set(r.map(an));for(const l of s)c.has(an(l))||a.push(l);return a}function yy(e,t){return{name:Cy(e),selections:xr(t)}}function Qa(e){const t=new Map;for(const o of e){const s=Ve[o]??"X";t.set(s,(t.get(s)??0)+1)}const n=[...t.keys()];return(t.has("C")?["C",...t.has("H")?["H"]:[],...n.filter(o=>o!=="C"&&o!=="H").sort()]:n.sort()).map(o=>{const s=t.get(o);return`${o}${s===1?"":s}`}).join("")}function xy(e){const t=e.match(/^\s*select\s+within\s+((?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)\s*(?:a|å|angstroms?)\s+of\s+selection\s*$/i);if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)&&n>0?n:null}function wy(e,t){const n=e.trim();if(!n||t.atomCount<1)return null;const r=n.match(/^(?:#|atom\s+)?(\d+)$/i);if(r){const i=Number(r[1]);return!Number.isInteger(i)||i<1||i>t.atomCount?null:i-1}const o=t.atomNames,s=n.match(/^([A-Za-z][a-z]?)(\d+)$/);if(s&&t.symbolAt){const i=Number(s[2])-1;if(i>=0&&ic.trim().toLowerCase()===i);if(a>=0)return a}return null}function Vd(e){Ud(e);const t=Sy(e),n=new Int32Array(e.count),r=new Uint8Array(e.count);for(let i=0;i0,componentRoots:s,residueIndices:t}}class Ay{context;hasConnectivity;componentRoots;residueIndices;visibleInstances=null;constructor(t,n=Vd(t)){if(Ud(t),n.count!==t.count)throw new RangeError("Selection topology does not match the scene");this.context=t,this.hasConnectivity=n.hasConnectivity,this.componentRoots=n.componentRoots,this.residueIndices=n.residueIndices}selectionAt(t){if(!Number.isInteger(t)||t<0||t>=this.context.instanceToAtom.length)return null;const n=this.context.instanceToAtom[t];if(n>=this.context.count)return null;const r=t*3,o=n*3;return{atom:n,image:[this.context.baseImages[o]+this.context.instanceImages[r],this.context.baseImages[o+1]+this.context.instanceImages[r+1],this.context.baseImages[o+2]+this.context.instanceImages[r+2]]}}displayedPosition(t){if(!ur(t,this.context.count))return null;const n=new Float64Array(3);return ki(n,this.context,t)?[n[0],n[1],n[2]]:null}isVisible(t){return this.instanceFor(t)!==null}selectScope(t,n){if(!ur(t,this.context.count))return[];const r=this.displayImage(t);if(!r||this.instanceFor(t)===null)return[];if(n==="atom")return[Za(t)];const o=t.atom;let s;if(n==="element"){const i=this.context.atomicNumbers[o];s=a=>this.context.atomicNumbers[a]===i}else if(n==="residue"){const i=this.residueIndices[o];if(i<0)return null;s=a=>this.residueIndices[a]===i}else if(n==="component"){if(!this.hasConnectivity)return null;const i=this.componentRoots[o];s=a=>this.componentRoots[a]===i}else if(n==="molecule"){const i=this.residueIndices[o];if(this.hasConnectivity){const a=this.componentRoots[o];s=c=>this.componentRoots[c]===a}else{if(i<0)return null;s=a=>this.residueIndices[a]===i}}else throw new TypeError(`Unknown scientific selection scope: ${String(n)}`);return this.collectVisible((i,a)=>s(i)&&this.instanceHasDisplayImage(a,r))}selectElement(t){const n=la(t);return n===null?[]:this.collectVisible(r=>this.context.atomicNumbers[r]===n)}selectWater(){return this.collectVisible(t=>this.context.waterAtoms.has(t))}withinDistance(t,n){return this.withinDistanceOf([t],n)}withinDistanceOf(t,n){if(!Number.isFinite(n)||n<=0)return[];const r=new Float64Array(3),o=new Map,s=new Set;for(const c of t){if(!ur(c,this.context.count))continue;const l=an(c);if(s.has(l)||(s.add(l),!ki(r,this.context,c)))continue;const u=El(Math.floor(r[0]/n),Math.floor(r[1]/n),Math.floor(r[2]/n)),d=o.get(u);d?d.push(r[0],r[1],r[2]):o.set(u,[r[0],r[1],r[2]])}if(o.size===0)return[];const i=n*n,a=new Float64Array(3);return this.collectVisible((c,l)=>{const u=l*3;if(!qd(a,0,this.context,c,this.context.instanceImages[u],this.context.instanceImages[u+1],this.context.instanceImages[u+2]))return!1;const d=Math.floor(a[0]/n),f=Math.floor(a[1]/n),g=Math.floor(a[2]/n);for(let h=d-1;h<=d+1;h+=1)for(let b=f-1;b<=f+1;b+=1)for(let w=g-1;w<=g+1;w+=1){const M=o.get(El(h,b,w));if(M)for(let k=0;k=this.context.count||!t(s,o))continue;const i=this.selectionAt(o);if(!i)continue;const a=an(i);r.has(a)||(r.add(a),n.push(i))}return n}displayImage(t){if(!ur(t,this.context.count))return null;const n=t.atom*3;return[t.image[0]-this.context.baseImages[n],t.image[1]-this.context.baseImages[n+1],t.image[2]-this.context.baseImages[n+2]]}instanceFor(t){const n=this.displayImage(t);return n?this.ensureVisibleInstances().get(Nl(t.atom,n[0],n[1],n[2]))??null:null}instanceHasDisplayImage(t,n){const r=t*3;return this.context.instanceImages[r]===n[0]&&this.context.instanceImages[r+1]===n[1]&&this.context.instanceImages[r+2]===n[2]}ensureVisibleInstances(){if(this.visibleInstances)return this.visibleInstances;const t=new Map;for(let n=0;n=this.context.count)continue;const o=n*3,s=Nl(r,this.context.instanceImages[o],this.context.instanceImages[o+1],this.context.instanceImages[o+2]);t.has(s)||t.set(s,n)}return this.visibleInstances=t,t}}function Ud(e){if(!Number.isInteger(e.count)||e.count<0)throw new RangeError("Selection context count must be a non-negative integer");if(e.atomicNumbers.length=0&&r<=2147483647&&(t[n]=r)}return t}function ki(e,t,n){const r=n.atom*3;return qd(e,0,t,n.atom,n.image[0]-t.baseImages[r],n.image[1]-t.baseImages[r+1],n.image[2]-t.baseImages[r+2])}function qd(e,t,n,r,o,s,i){const a=r*3;let c=n.positions[a],l=n.positions[a+1],u=n.positions[a+2];if(![c,l,u].every(Number.isFinite))return!1;if(o!==0||s!==0||i!==0){const d=n.cell;if(!d)return!1;c+=o*d[0]+s*d[3]+i*d[6],l+=o*d[1]+s*d[4]+i*d[7],u+=o*d[2]+s*d[5]+i*d[8]}return[c,l,u].every(Number.isFinite)?(e[t]=c,e[t+1]=l,e[t+2]=u,!0):!1}function vy(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)&&e>=0&&t>=0&&e=0&&e.atom80)throw new RangeError("Named selection name is too long");return t}const jy=[[0,1],[0,2],[0,4],[1,3],[1,5],[2,3],[2,6],[3,7],[4,5],[4,6],[5,7],[6,7]],Ny={1:"#F7F7F4",2:"#D8F2F2",3:"#B889DF",4:"#BED17F",5:"#D4956D",6:"#4B5560",7:"#315FBC",8:"#D94A42",9:"#55A65C",10:"#7BCDD0",11:"#9874CE",12:"#89A86D",13:"#C7B8AE",14:"#D5AA82",15:"#DE8D31",16:"#D7B52F",17:"#4C9A59",18:"#8BDCE2",19:"#AA7BDD",20:"#99BA7B",22:"#637F9E",26:"#A76545",29:"#B87333",30:"#6D79A8",35:"#B65A4C",38:"#77986D",53:"#8D61B5"};function Hd(e){return Ny[e]}function Ey(e,t,n){const r=new Map((e.topology.residues??[]).map(d=>[d.index,d])),o=Py(t,e),s=new Map,i=[],a=[];for(let d=0;d(n.wrap==="atom"||n.wrap==="unwrapped")&&Ss(t.positions,d,f,t.basis,t.pbc).some(g=>g!==0)),l=new Set(c.map(([d,f])=>$l(d,f)));if(n.bonds)for(const d of t.images)for(const[f,g]of t.bonds){if(l.has($l(f,g)))continue;const h=s.get(Ci(f,d)),b=s.get(Ci(g,d));h===void 0||b===void 0||(i[h].bonds.push(b),i[h].bondOrder.push(1),i[b].bonds.push(h),i[b].bondOrder.push(1))}const u=Jo(t,n);return{atoms:i,selections:a,bondSegments:u,shapeBondSegments:c.length===0?[]:Jo({...t,bonds:c},n),boundaryBondCount:c.length,cellSegments:n.cell?_y(t):[],collisionSegments:Ry(t),layoutKey:[e.dataset_generation??e.name,t.count,Fl(t.atomicNumbers),t.visibleAtoms.join(","),t.images.map(d=>d.join(",")).join(";"),Fl(t.baseImages),n.water,n.hydrogens?1:0,n.bonds?1:0,n.color,e.topology.residues?.length??0].join("|")}}function Iy(e){const t=e.properties;return![t.pqAtom,t.pqImageA,t.pqImageB,t.pqImageC].every(Number.isInteger)||t.pqAtom<0?null:{atom:t.pqAtom,image:[t.pqImageA,t.pqImageB,t.pqImageC]}}function Fy(e,t){return{count:t.count,atomicNumbers:t.atomicNumbers,positions:t.positions,baseImages:t.baseImages,cell:t.basis?Float64Array.from(t.basis.vectors.flatMap(n=>[n.x,n.y,n.z])):null,bonds:t.bonds,waterAtoms:t.waterAtoms,instanceToAtom:t.instanceToAtom,instanceImages:t.instanceImages,atomResidueIndex:e.topology.atom_residue_index}}function $y(e,t){const n=new Float64Array(t.length*3);for(let r=0;r=e.count)return null;const s=o.atom*3,i=[o.image[0]-(e.baseImages[s]??0),o.image[1]-(e.baseImages[s+1]??0),o.image[2]-(e.baseImages[s+2]??0)],a=ht(i,e.basis);n[r*3]=e.positions[s]+a.x,n[r*3+1]=e.positions[s+1]+a.y,n[r*3+2]=e.positions[s+2]+a.z}return n}function _y(e){if(!e.basis)return[];const t=[];for(const n of e.images){const r=Ca(e.basis,n,e.cellCenter);for(const[o,s]of jy)t.push({from:r[o],to:r[s]})}return t}function Ry(e){if(e.visibleAtoms.length>2e3)return[];const t=new Set(e.bonds.map(([i,a])=>ii.length()):null,s=Float64Array.from(e.atomicNumbers,i=>Qf(i));for(let i=0;if*o[0]+1e-10||Math.abs(j)>f*o[1]+1e-10||Math.abs(E)>f*o[2]+1e-10)continue;const D=new N(e.positions[c],e.positions[c+1],e.positions[c+2]),U=Dt(D,new N(e.positions[d],e.positions[d+1],e.positions[d+2]),e.basis,e.pbc);g=U.x-D.x,h=U.y-D.y,b=U.z-D.z}else g=e.positions[d]-e.positions[c],h=e.positions[d+1]-e.positions[c+1],b=e.positions[d+2]-e.positions[c+2];const w=g*g+h*h+b*b;if(w>.0025&&w=256)break}}if(n.length>=256)break}return n.length===0?[]:e.images.flatMap(i=>{const a=ht(i,e.basis);return n.map(({from:c,to:l})=>({from:c.clone().add(a),to:l.clone().add(a)}))})}function Ty(e){const t=new Float64Array(e.count*3),n=e.basis.reciprocal;for(let r=0;rs.secondary_structure).map(s=>[s.index,s.secondary_structure])),o=new Map;for(const s of e.backbone){const i=s.runIndex??0,a=o.get(i)??[];a.push(s),o.set(i,a)}for(const s of o.values()){if(s.length<3)continue;const i=[];for(const l of s){const u=new N().fromArray(e.positions,l.ca*3),d=i.length===0?u:Dt(i.at(-1).ca,u,e.basis,e.pbc);i.push({atomIndex:l.ca,residueIndex:l.residueIndex,n:Dt(d,new N().fromArray(e.positions,l.n*3),e.basis,e.pbc),ca:d,c:Dt(d,new N().fromArray(e.positions,l.c*3),e.basis,e.pbc),o:new N}),i.at(-1).o=Dt(i.at(-1).c,new N().fromArray(e.positions,l.o*3),e.basis,e.pbc)}const a=fo(i),c=i.map((l,u)=>r.get(l.residueIndex)??a[u]);i.forEach((l,u)=>{n.set(l.residueIndex,{structure:c[u],begin:u===0||c[u-1]!==c[u],end:u===c.length-1||c[u+1]!==c[u]})})}return n}function Dy(e){return e==="helix"?"h":e==="sheet"?"s":"c"}function Ly(e,t,n,r){if(r==="element")return Hd(n)??"#65757A";if(r==="chain"){const o=e.topology.atom_residue_index?.[t],s=e.topology.residues?.find(i=>i.index===o);return Il(Oy(s?.chain_id??"A"))}return Il(e.topology.atom_residue_index?.[t]??t)}function Il(e){const t=(e*.173%1+1)%1;return`#${new Fe().setHSL(t,.42,.43).getHexString()}`}function Oy(e){let t=0;for(let n=0;n>8&255,t=Math.imul(t,16777619);return(t>>>0).toString(36)}function Ci(e,t){return`${e}:${t[0]}:${t[1]}:${t[2]}`}function $l(e,t){return e{const $=v.current;if(!$)return;let y=!1,z=null;return Pn(()=>import("./3dmol-DaMeRkCq.js").then(B=>B._),__vite__mapDeps([2,3])).then(B=>{if(y)return;const ee=B.createViewer($,{backgroundColor:io.background,backgroundAlpha:1,antialias:!0,upscale:!0,cartoonQuality:12,disableFog:!0,minimumZoomToDistance:2.4});ee.setDefaultCartoonQuality(12),ee.setProjection("perspective"),j.current={viewer:ee,model:null,scene:null,plan:null,layoutKey:"",styleKey:"",fitMode:"ball-stick",manifestName:"",fittedKey:"",lastResetSignal:-1,lastViewSignal:-1,selectionShape:null,keyboardShape:null,surfaceVersion:0,pickSerial:0,pointer:{pointerType:"mouse",shiftKey:!1,metaKey:!1,ctrlKey:!1}};let H=$.clientWidth/Math.max(1,$.clientHeight);z=new ResizeObserver(()=>{const ie=$.clientWidth/Math.max(1,$.clientHeight);ee.resize();const _=j.current;_?.plan&&Number.isFinite(H)&&Math.abs(ie-H)>.04&&(ee.zoomTo(),ee.zoom(Kd(_.plan.cellSegments.length>0,_.fitMode,ie))),H=ie,ee.render()}),z.observe($),Y(ie=>ie+1)}).catch(B=>{y||R.current?.(B instanceof Error?B:new Error("3Dmol could not be loaded"))}),()=>{y=!0,z?.disconnect();const B=j.current;j.current=null,B?.viewer.clear(),$.replaceChildren()}},[]),x.useEffect(()=>{const $=j.current,y=v.current;if(!$||!y)return;const z=performance.now(),B=Ma(t,n,o,r);if(!B){$.viewer.clear(),$.model=null,$.scene=null,$.plan=null,$.styleKey="",delete y.dataset.renderedManifest,delete y.dataset.sourceFrameIndex,y.dataset.atomCount="0",y.dataset.renderMs="0",b?.(null),w?.(null);return}const ee=performance.now(),H=Ey(t,B,o),ie=performance.now()-ee,_=$.model!==null&&$.layoutKey===H.layoutKey&&$.plan?.atoms.length===H.atoms.length,Z=[o.mode,o.atomScale,o.bondScale,o.quality].join("|");if(_){const re=H.atoms.map(({x:K,y:J,z:Xe})=>[K,J,Xe]);$.model.setCoordinates([re],"array"),$.model.setFrame(0)}else $.viewer.removeAllModels(),$.model=$.viewer.addModel(),$.model.addAtoms(H.atoms);const pe=$.model;if(!pe)throw new Error("3Dmol model creation failed");$.viewer.removeAllShapes(),$.viewer.removeAllSurfaces(),$.selectionShape=null,$.keyboardShape=null,(!_||$.styleKey!==Z)&&(qy(pe,o,H.atoms.length),$.styleKey=Z),_||pe.setClickable({},!0,(re,K,J)=>{$.pickSerial+=1;const Xe=Iy(re);if(!Xe)return;const Me=J??$.pointer;D.current(Xe,sa(Me))});const G=u==="light"?io:ao,xe=fe(n,["forces","force"]),Ae=fe(n,["velocities","velocity","vel"]),ge=Au(B,o,xe,Ae);$.viewer.setBackgroundColor(G.background,1),Hy($.viewer,H.shapeBondSegments,o,G.bond),Ky($.viewer,H.cellSegments,G.cell),Gy($.viewer,H.collisionSegments,G.collision),_l($.viewer,B,xe,c,ge.forceInstances,G.force),_l($.viewer,B,Ae,l,ge.velocityInstances,G.velocity),Xy($.viewer,B,i,G);const Le=o.mode==="polyhedra"?Yy($.viewer,B,G,o.cell):0;if(o.mode==="surface"&&H.atoms.length<=Vy){const re=++$.surfaceVersion,K=$.viewer.addSurface("VDW",{color:"#BCD4D8",opacity:.26},{},{});Promise.resolve(K).then(()=>{j.current!==$||$.surfaceVersion!==re||$.viewer.render()}).catch(J=>{j.current!==$||$.surfaceVersion!==re||R.current?.(J instanceof Error?J:new Error("Surface generation failed"))})}else $.surfaceVersion+=1;$.scene=B,$.plan=H,$.layoutKey=H.layoutKey,$.fitMode=o.mode,$.manifestName=t.name,w?.(Fy(t,B));const W={imageCount:B.images.length,forceCount:ge.forceInstances.length,forceTotal:ge.forceTotal,velocityCount:ge.velocityInstances.length,velocityTotal:ge.velocityTotal,capabilities:kd(t,n,o,r)};b?.(W);const Q=[t.name,t.topology.atom_count,H.layoutKey,o.mode==="ribbon"?"ribbon":"structure",H.cellSegments.length].join("|");($.fittedKey!==Q||$.lastResetSignal!==a||$.lastViewSignal!==f)&&(Jy($.viewer,d,H.cellSegments.length>0,o.mode,y.clientWidth/Math.max(1,y.clientHeight)),$.fittedKey=Q,$.lastResetSignal=a,$.lastViewSignal=f),$.viewer.render();const de=F.current;de&&(Rl($.viewer,de),F.current=null),y.dataset.renderedManifest=t.name,y.dataset.sourceFrameIndex=String(n?.header.frame_key?.source_index??""),y.dataset.atomCount=String(H.atoms.length),y.dataset.bondCount=String(H.bondSegments.length),y.dataset.boundaryBondCount=String(H.boundaryBondCount),y.dataset.renderedBoundaryBondCount=String(H.shapeBondSegments.length),y.dataset.polyhedronCount=String(Le),y.dataset.cellSegmentCount=String(H.cellSegments.length),y.dataset.collisionCount=String(H.collisionSegments.length),y.dataset.forceCount=String(ge.forceInstances.length),y.dataset.velocityCount=String(ge.velocityInstances.length),y.dataset.planMs=ie.toFixed(1),y.dataset.viewerMs=(performance.now()-ee-ie).toFixed(1),y.dataset.renderMs=(performance.now()-z).toFixed(1)},[u,c,n,t,b,w,r,o,a,I,i,l,d,f]),x.useEffect(()=>{const $=j.current;if(!$?.scene){M?.(null);return}Qy($,s,u),Zy($,ae,u),$.viewer.render(),M?.($y($.scene,s))},[u,n,ae,M,o,s,I]),x.useEffect(()=>{const $=v.current;if(!$)return;let y=null,z=!1,B=!1;const ee=W=>{const Q=$.getBoundingClientRect(),de=Math.max(Q.left,Math.min(Q.right,W.clientX)),re=Math.max(Q.top,Math.min(Q.bottom,W.clientY)),K=Math.min(y.x,de),J=Math.min(y.y,re);return{left:K,top:J,width:Math.abs(de-y.x),height:Math.abs(re-y.y)}},H=()=>{y=null,z=!1,B=!1,ce(null)},ie=W=>{const Q=j.current;Q&&(Q.pointer=W,!(!W.shiftKey||W.button!==0)&&(y={x:W.clientX,y:W.clientY,pointerId:W.pointerId},B=!0,$.setPointerCapture(W.pointerId),W.preventDefault(),W.stopImmediatePropagation()))},_=W=>{if(!B||!y||W.pointerId!==y.pointerId)return;const Q=ee(W);z||=Q.width>4||Q.height>4,ce(Q),W.preventDefault(),W.stopImmediatePropagation()},Z=W=>{const Q=j.current;if(B&&y&&W.pointerId===y.pointerId){if(z&&Q?.plan){const re=ee(W),K=Q.viewer.modelToScreen(Q.plan.atoms),J=[],Xe=new Set;K.forEach((Me,qt)=>{if(Me.xre.left+re.width||Me.yre.top+re.height)return;const Ue=Q.plan.selections[qt],In=`${Ue.atom}:${Ue.image.join(":")}`;Xe.has(In)||(Xe.add(In),J.push(Ue))}),U.current?.(J,!0)}$.hasPointerCapture(W.pointerId)&&$.releasePointerCapture(W.pointerId),H(),W.preventDefault(),W.stopImmediatePropagation();return}if(!Q||W.button!==0)return;const de=Q.pickSerial;window.setTimeout(()=>{j.current===Q&&Q.pickSerial===de&&!sa(W)&&D.current(null,!1)},0)},pe=()=>H(),G=()=>{const W=j.current;if(!W?.scene)return;const Q=Un(W.scene.instanceToAtom,W.scene.instanceImages,E.current.at(-1)??null,null,0,W.scene.baseImages);T.current=Q?.selection??null,O.current=Q?.instance??null,se(Q?.selection??null)},xe=()=>{T.current=null,O.current=null,se(null)},Ae=W=>{const Q=j.current;if(!Q?.scene||W.metaKey||W.ctrlKey||W.altKey)return;const de=W.key==="ArrowDown"?1:W.key==="ArrowUp"?-1:0;if(de!==0){const K=Un(Q.scene.instanceToAtom,Q.scene.instanceImages,T.current,O.current,de,Q.scene.baseImages);T.current=K?.selection??null,O.current=K?.instance??null,se(K?.selection??null),W.preventDefault();return}if(W.key!=="Enter"||W.repeat)return;const re=Un(Q.scene.instanceToAtom,Q.scene.instanceImages,T.current??E.current.at(-1)??null,O.current,0,Q.scene.baseImages);re&&(T.current=re.selection,O.current=re.instance,se(re.selection),D.current(re.selection,!0),W.preventDefault())},ge=W=>{W.key!=="Escape"||!B||(H(),W.preventDefault())},Le=W=>{const Q=j.current;if(!Q)return;const de=Math.max(.5,Math.min(2,Math.exp(-W.deltaY*.001)));Q.viewer.zoom(de),Q.viewer.render(),W.preventDefault(),W.stopImmediatePropagation()};return $.addEventListener("pointerdown",ie,!0),$.addEventListener("pointermove",_,!0),$.addEventListener("pointerup",Z,!0),$.addEventListener("pointercancel",pe,!0),$.addEventListener("focus",G),$.addEventListener("blur",xe),$.addEventListener("keydown",Ae),$.addEventListener("wheel",Le,{capture:!0,passive:!1}),window.addEventListener("keydown",ge),()=>{$.removeEventListener("pointerdown",ie,!0),$.removeEventListener("pointermove",_,!0),$.removeEventListener("pointerup",Z,!0),$.removeEventListener("pointercancel",pe,!0),$.removeEventListener("focus",G),$.removeEventListener("blur",xe),$.removeEventListener("keydown",Ae),$.removeEventListener("wheel",Le,!0),window.removeEventListener("keydown",ge)}},[I]),x.useImperativeHandle(S,()=>({exportPng:async()=>{throw new Error("Publication export is provided by the renderer facade")},exportFigure:async()=>{throw new Error("Publication export is provided by the renderer facade")},captureCamera:()=>e0(j.current?.viewer),restoreCamera:$=>{const y=j.current;if(!y?.plan){F.current=$;return}Rl(y.viewer,$)}}),[I]);const me=ae?`${t.topology.symbols?.[ae.atom]??"Atom"} ${ae.atom+1}`:"";return m.jsxs(m.Fragment,{children:[m.jsx("div",{ref:v,className:L?"molecule-canvas molecule-stage-3dmol is-box-selecting":"molecule-canvas molecule-stage-3dmol","data-renderer":"3dmol","data-representation":o.mode,"data-wrap":o.wrap,role:"region","aria-label":"Molecular structure","aria-description":"Use Up and Down to browse visible atoms. Press Enter to toggle an atom selection. Shift-drag to select a box.","aria-keyshortcuts":"ArrowUp ArrowDown Enter",tabIndex:0}),L&&m.jsx("div",{className:"selection-marquee","data-testid":"selection-marquee",style:L,"aria-hidden":"true"}),m.jsx("span",{className:"sr-only","aria-live":"polite",children:me?`${me}. Press Enter to toggle selection.`:""})]})});function qy(e,t,n){const r=o=>String(o.color??"#65757A");if(e.setStyle({},{}),t.mode==="ribbon"){const o={style:"edged",arrows:!0,tubes:!1,thickness:.42,opacity:1};t.color==="structure"?(e.setStyle({hetflag:!1},{cartoon:{...o,color:"#438493"}}),e.setStyle({hetflag:!1,ss:"h"},{cartoon:{...o,color:"#C96A5A"}}),e.setStyle({hetflag:!1,ss:"s"},{cartoon:{...o,color:"#D2A23A"}})):e.setStyle({hetflag:!1},{cartoon:{...o,colorfunc:r}}),e.setStyle({hetflag:!0},{sphere:{scale:.24,colorfunc:r},stick:{radius:.11,color:"#849190"}},!0);return}if(n>1e5){e.setStyle({},{cross:{scale:Math.max(.25,t.atomScale*.45),colorfunc:r},line:{color:"#849190",opacity:.58}});return}if(t.mode==="lines"){e.setStyle({},{sphere:{radius:Math.max(.055,t.atomScale*.095),colorfunc:r},line:{color:"#879492",opacity:.62}});return}if(t.mode==="spacefill"){e.setStyle({},{sphere:{scale:t.atomScale,colorfunc:r}});return}if(t.mode==="polyhedra"){e.setStyle({},{sphere:{radius:.17*t.atomScale,colorfunc:r}});return}if(t.mode==="licorice"){e.setStyle({},{sphere:{radius:.23*t.atomScale,colorfunc:r},stick:{radius:.19*t.bondScale,color:"#849190"}});return}e.setStyle({},{sphere:{scale:Math.max(.18,t.atomScale*.26),colorfunc:r},stick:{radius:(t.mode==="surface"?.05:.085)*t.bondScale,color:"#849190"}})}function Hy(e,t,n,r){if(t.length===0||n.mode==="spacefill"||n.mode==="ribbon"||n.mode==="polyhedra")return;const o=e.addShape({color:r,opacity:.92});if(n.mode==="lines"||t.length>12e3){for(const i of t)o.addLine({start:it(i.from),end:it(i.to),color:r,opacity:.9});return}const s=n.mode==="licorice"?.19*n.bondScale:(t.length>256?.045:.085)*n.bondScale;for(const i of t)o.addCylinder({start:it(i.from),end:it(i.to),radius:s,color:r,fromCap:"round",toCap:"round"})}function Ky(e,t,n){if(t.length===0)return;const r=e.addShape({color:n,opacity:.62});for(const o of t)r.addCylinder({start:it(o.from),end:it(o.to),radius:.01,color:n,opacity:.62,fromCap:"flat",toCap:"flat"})}function Gy(e,t,n){if(t.length===0)return;const r=e.addShape({color:n,opacity:.9});t.forEach((o,s)=>{r.addDashedCylinder({start:it(o.from),end:it(o.to),radius:.035,dashLength:.11,gapLength:.09,color:n}),s<64&&(r.addSphere({center:it(o.from),radius:.58,color:n,opacity:.72,wireframe:!0}),r.addSphere({center:it(o.to),radius:.58,color:n,opacity:.72,wireframe:!0}))})}function _l(e,t,n,r,o,s){const i=Wy(t,n,r,o);if(i.length===0)return;const a=e.addShape({color:s});for(const c of i)a.addArrow({start:it(c.tail),end:it(c.tip),radius:.025,radiusRatio:Math.max(2.5,c.head/.025),midpos:-c.head,color:s})}function Wy(e,t,n,r){if(!t||t.length{const l=e.instanceToAtom[c];return Math.hypot(t[l*3],t[l*3+1],t[l*3+2])}).filter(c=>Number.isFinite(c)&&c>1e-12).sort((c,l)=>c-l);if(o.length===0)return[];const i=1.45/o[Math.floor((o.length-1)*.9)]*n,a=[];for(const c of r){const l=e.instanceToAtom[c],u=l*3,d=new N(t[u],t[u+1],t[u+2]),f=d.length();if(!Number.isFinite(f)||f<=1e-12)continue;ju(d.normalize(),e);const g=t0(e,c),h=f*i,b=Math.min(.24,Math.max(.075,h*.24),h*.5),w=(e.radii[l]??.3)*1.03;a.push({tail:g.clone().addScaledVector(d,w),tip:g.clone().addScaledVector(d,w+h),head:b})}return a}function Xy(e,t,n,r){for(const o of n.trails.slice(0,vd)){const s=$d(t,o);if(s.length===0)continue;const i=e.addShape({color:r.trail,opacity:.76});for(let a=0;ao.has(S)&&o.has(v)),i={positions:t.positions,atomicNumbers:t.atomicNumbers,bonds:s,basis:t.basis,pbc:t.pbc},a=t.visibleAtoms.length>24?8:64,c=bd(i),l=Cs(i,{centerAtomicNumbers:c}),u=gd(i,{images:t.images,maxCenters:a,centerAtomicNumbers:c,containedInCell:r,cellCenter:t.cellCenter,colorForCenter:(S,v)=>n===ao?n.polyhedron:Hd(v)??n.polyhedron},l);if(!u)return 0;u.computeVertexNormals();const d=u.getAttribute("position"),f=u.getAttribute("normal"),g=Array.from({length:d.count},(S,v)=>({x:d.getX(v),y:d.getY(v),z:d.getZ(v)})),h=f?Array.from({length:f.count},(S,v)=>({x:f.getX(v),y:f.getY(v),z:f.getZ(v)})):void 0,b=u.getAttribute("color"),w=Array.from({length:b.count},(S,v)=>`rgb(${Math.round(b.getX(v)*255)}, ${Math.round(b.getY(v)*255)}, ${Math.round(b.getZ(v)*255)})`);e.addCustom({vertexArr:g,normalArr:h,faceArr:Array.from({length:d.count},(S,v)=>v),color:w,opacity:.38});const M=u.userData.edgePositions;if(M instanceof Float32Array){const S=e.addShape({color:n.polyhedronEdge,opacity:.42});for(let v=0;v{if(s>=zy)return;const c=e.plan.selections[a];r.has(bs(c))&&(o.addSphere({center:{x:i.x,y:i.y,z:i.z},radius:Math.max(.3,(e.scene.radii[c.atom]??.3)*1.35),color:n==="light"?io.selection:ao.selection,wireframe:!0,opacity:.82,quality:2}),s+=1)}),e.selectionShape=o}function Zy(e,t,n){if(e.keyboardShape&&(e.viewer.removeShape(e.keyboardShape),e.keyboardShape=null),!e.scene||!e.plan||!t)return;const r=e.plan.selections.findIndex(i=>bs(i)===bs(t));if(r<0)return;const o=e.plan.atoms[r],s=n==="light"?io.keyboard:ao.keyboard;e.keyboardShape=e.viewer.addSphere({center:{x:o.x,y:o.y,z:o.z},radius:Math.max(.34,(e.scene.radii[t.atom]??.3)*1.58),color:s,wireframe:!0,opacity:.94,quality:2})}function Jy(e,t,n,r,o){const s=e.getView();e.setView([s[0],s[1],s[2],s[3],0,0,0,1]),e.zoomTo(),t==="perspective"?(e.setProjection("perspective"),e.rotate(24,"x"),e.rotate(-32,"y")):(e.setProjection("orthographic"),t==="xz"&&e.rotate(90,"x"),t==="yz"&&e.rotate(-90,"y")),e.zoom(Kd(n,r,o))}function Kd(e,t,n){return(e?.9:t==="ribbon"?.98:.76)*Math.min(1,Math.max(.35,n))}function e0(e){if(!e)throw new Error("The molecular scene is not ready");const t=e.getView(),n=new N(-t[0],-t[1],-t[2]),o=new ya(t[4],t[5],t[6],t[7]).normalize().clone().invert(),s=e.getPerceivedDistance(),i=new N(0,0,s).applyQuaternion(o).add(n),a=new N(0,1,0).applyQuaternion(o).normalize();return{position:i.toArray(),target:n.toArray(),up:a.toArray(),fov:20,zoom:1,near:1,far:800}}function Rl(e,t){if(!e)throw new Error("The molecular scene is not ready");if([...t.position,...t.target,...t.up,t.fov,t.zoom,t.near,t.far].some(c=>!Number.isFinite(c)))throw new Error("The saved camera is invalid");const r=new N().fromArray(t.position),o=new N().fromArray(t.target),s=new N().fromArray(t.up).normalize(),a=new ya().setFromRotationMatrix(new Xo().lookAt(r,o,s)).invert();e.setView([-o.x,-o.y,-o.z,e.getView()[3],a.x,a.y,a.z,a.w]),e.setPerceivedDistance(r.distanceTo(o)),e.render()}function t0(e,t){const n=e.instanceToAtom[t],r=new N().fromArray(e.positions,n*3);if(!e.basis)return r;const o=t*3;return r.addScaledVector(e.basis.vectors[0],e.instanceImages[o]).addScaledVector(e.basis.vectors[1],e.instanceImages[o+1]).addScaledVector(e.basis.vectors[2],e.instanceImages[o+2])}function bs(e){return`${e.atom}:${e.image[0]}:${e.image[1]}:${e.image[2]}`}function it(e){return{x:e.x,y:e.y,z:e.z}}function n0(e){return new URLSearchParams(typeof window>"u"?"":window.location.search).get("renderer")==="three"?"three":"3dmol"}const r0=x.forwardRef(function(t,n){const r=n0(),[o,s]=x.useState(!1),[i,a]=x.useState(null),[c,l]=x.useState(0),u=x.useRef(null),d=x.useRef(null),f=x.useRef(null),g=x.useRef(0),h=o?"three":r;f.current=i;const b=x.useCallback((w,M)=>{if(h==="three"){const v=u.current;return v?w==="png"?v.exportPng(M):v.exportFigure(M):Promise.reject(new Error("The molecular scene is not ready"))}if(t.presentation.mode==="surface")return Promise.reject(new Error("Surface figures are not available in the publication renderer. Choose another preset."));if(f.current)return Promise.reject(new Error("A figure export is already in progress"));const k=u.current;if(!k)return Promise.reject(new Error("The molecular scene is not ready"));let S;try{S=k.captureCamera()}catch(v){return Promise.reject(v instanceof Error?v:new Error("The molecular scene is not ready"))}return new Promise((v,j)=>{const E=++g.current,D=window.setTimeout(()=>{const R=f.current;!R||R.id!==E||(R.reject(new Error("The publication renderer did not become ready")),f.current=null,a(null))},6e4),U={id:E,kind:w,options:M,camera:S,resolve:v,reject:j,started:!1,timeout:D};f.current=U,a(U)})},[h,t.presentation.mode]);return x.useImperativeHandle(n,()=>({exportPng:w=>b("png",w),exportFigure:w=>b("figure",w),captureCamera:()=>{const w=u.current;if(!w)throw new Error("The molecular scene is not ready");return w.captureCamera()},restoreCamera:w=>{const M=u.current;if(!M)throw new Error("The molecular scene is not ready");M.restoreCamera(w)}}),[b]),x.useEffect(()=>{const w=f.current,M=d.current;if(!w||!M||w.started||c!==w.id)return;w.started=!0;try{M.restoreCamera(w.camera)}catch(S){window.clearTimeout(w.timeout),w.reject(S instanceof Error?S:new Error("The publication camera could not be restored")),f.current=null,a(null);return}(w.kind==="png"?M.exportPng(w.options):M.exportFigure(w.options)).then(w.resolve,S=>{w.reject(S instanceof Error?S:new Error("Figure export failed"))}).finally(()=>{window.clearTimeout(w.timeout),f.current?.id===w.id&&(f.current=null,a(null))})},[c]),x.useEffect(()=>()=>{const w=f.current;w&&(window.clearTimeout(w.timeout),w.reject(new Error("Figure export was cancelled")))},[]),m.jsxs(m.Fragment,{children:[h==="3dmol"?m.jsx(Uy,{...t,ref:u,onEngineError:()=>s(!0)}):m.jsx(xl,{...t,ref:u}),i&&h==="3dmol"&&m.jsx("div",{className:"publication-renderer-source","data-testid":"publication-renderer-source","aria-hidden":"true",children:m.jsx(xl,{...t,ref:d,onSelect:()=>{},onSelectMany:()=>{},onSceneInfo:w=>{w&&l(i.id)},onSelectionContext:()=>{},onSelectionPositions:()=>{}})})]})}),Gd=1e4;function o0({open:e,frameCount:t,options:n,defaultReferenceId:r,initialView:o,onRun:s,onClose:i}){const a=Lo(n,r)??n[0],c=n.find(I=>I.id!==a?.id)??a,[l,u]=x.useState(a?.id??""),[d,f]=x.useState(c?.id??""),[g,h]=x.useState("all"),[b,w]=x.useState("200"),[M,k]=x.useState(""),S=x.useRef(null);x.useEffect(()=>{if(!e)return;const I=Lo(n,r)??n[0],Y=n.find(L=>L.id!==I?.id)??I;u(I?.id??""),f(Y?.id??""),h("all"),w("200"),k("")},[r,e,n]),x.useEffect(()=>{if(!e)return;const I=requestAnimationFrame(()=>S.current?.focus());return()=>cancelAnimationFrame(I)},[e]);const v=Math.max(1,Math.ceil(t/Gd)),j=Math.ceil(t/v),E=x.useMemo(()=>[{value:"all",label:v===1?`All · ${t.toLocaleString()}`:`All · ${j.toLocaleString()} sampled`},...t>100?[{value:"last-100",label:"Last 100"}]:[],...t>1e3?[{value:"last-1000",label:"Last 1,000"}]:[]],[v,t,j]);if(!e)return null;const D=Lo(n,l),U=Lo(n,d),R=Number(b),T=M.trim()?Number(M):void 0,O=!!(D&&U&&Number.isSafeInteger(R)&&R>=20&&R<=2e3&&(T===void 0||Number.isFinite(T)&&T>0)),F=()=>{!O||!D||!U||s(s0({reference:D,target:U,frames:g,frameCount:t,bins:R,rMax:T,initialView:o}))};return m.jsxs("section",{className:"rdf-sheet",role:"dialog","aria-labelledby":"rdf-sheet-title",onKeyDown:I=>{I.key==="Escape"&&(I.preventDefault(),i())},children:[m.jsxs("header",{children:[m.jsx("strong",{id:"rdf-sheet-title",children:"Pair analysis"}),m.jsx("button",{type:"button",onClick:i,"aria-label":"Close",children:"×"})]}),m.jsxs("div",{className:"rdf-sheet__body",children:[m.jsxs("label",{children:[m.jsx("span",{children:"From"}),m.jsx("select",{ref:S,value:l,onChange:I=>u(I.target.value),children:n.map(I=>m.jsxs("option",{value:I.id,children:[I.label," · ",I.atomIndices.length.toLocaleString()]},I.id))})]}),m.jsxs("label",{children:[m.jsx("span",{children:"To"}),m.jsx("select",{value:d,onChange:I=>f(I.target.value),children:n.map(I=>m.jsxs("option",{value:I.id,children:[I.label," · ",I.atomIndices.length.toLocaleString()]},I.id))})]}),m.jsxs("label",{children:[m.jsx("span",{children:"Frames"}),m.jsx("select",{value:g,onChange:I=>h(I.target.value),children:E.map(I=>m.jsx("option",{value:I.value,children:I.label},I.value))})]}),m.jsxs("details",{children:[m.jsx("summary",{children:"Advanced"}),m.jsxs("div",{children:[m.jsxs("label",{children:[m.jsx("span",{children:"Bins"}),m.jsx("input",{inputMode:"numeric",value:b,onChange:I=>w(I.target.value)})]}),m.jsxs("label",{children:[m.jsx("span",{children:"r max · Å"}),m.jsx("input",{inputMode:"decimal",value:M,placeholder:"Automatic",onChange:I=>k(I.target.value)})]})]})]})]}),m.jsxs("footer",{children:[m.jsx("span",{children:"PQAnalysis · full periodic cells"}),m.jsx("button",{type:"button",disabled:!O,onClick:F,children:"Run"})]})]})}function s0({reference:e,target:t,frames:n,frameCount:r,bins:o,rMax:s,initialView:i}){const a=n==="last-100"?100:n==="last-1000"?1e3:r,c=n==="all"?Math.max(1,Math.ceil(r/Gd)):1;return{reference:e,target:t,frameStart:Math.max(0,r-a),frameStop:r,frameStep:c,bins:o,rMax:s,initialView:i}}function Lo(e,t){return t?e.find(n=>n.id===t):void 0}function i0(e){return a0(e)?{commands:"⌘K",open:"⌘O",export:"⌘⇧S"}:{commands:"Ctrl K",open:"Ctrl O",export:"Ctrl Shift S"}}function a0(e){return/mac|iphone|ipad|ipod/i.test(e)}function c0(e){return e==="true"}function l0(e,t,n){return n<=0?0:Math.max(0,Math.min(n-1,e+t))}function u0(e,t){return e==="g"?t==="g"?{action:"first-frame",prefix:null}:{action:null,prefix:"g"}:e==="G"?{action:"last-frame",prefix:null}:e==="l"?{action:"next-frame",prefix:null}:e==="L"?{action:"next-ten-frames",prefix:null}:e==="h"?{action:"previous-frame",prefix:null}:e==="H"?{action:"previous-ten-frames",prefix:null}:e===":"?{action:"commands",prefix:null}:{action:null,prefix:null}}const Wd=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const d0=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const m0=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Tl=e=>{const t=m0(e);return t.charAt(0).toUpperCase()+t.slice(1)};var ji={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const f0=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},h0=x.createContext({}),p0=()=>x.useContext(h0),g0=x.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:o="",children:s,iconNode:i,...a},c)=>{const{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f="currentColor",className:g=""}=p0()??{},h=r??d?Number(n??u)*24/Number(t??l):n??u;return x.createElement("svg",{ref:c,...ji,width:t??l??ji.width,height:t??l??ji.height,stroke:e??f,strokeWidth:h,className:Wd("lucide",g,o),...!s&&!f0(a)&&{"aria-hidden":"true"},...a},[...i.map(([b,w])=>x.createElement(b,w)),...Array.isArray(s)?s:[s]])});const pt=(e,t)=>{const n=x.forwardRef(({className:r,...o},s)=>x.createElement(g0,{ref:s,iconNode:t,className:Wd(`lucide-${d0(Tl(e))}`,`lucide-${e}`,r),...o}));return n.displayName=Tl(e),n};const b0=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],y0=pt("chevron-left",b0);const x0=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],w0=pt("chevron-right",x0);const A0=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],S0=pt("ellipsis",A0);const v0=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],M0=pt("folder-open",v0);const k0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],C0=pt("image",k0);const j0=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],N0=pt("pause",j0);const E0=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],I0=pt("play",E0);const F0=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],$0=pt("rotate-ccw",F0);const _0=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],R0=pt("search",_0);const T0=[["path",{d:"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",key:"15892j"}],["path",{d:"M3 20V4",key:"1ptbpl"}]],P0=pt("skip-back",T0);const D0=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],L0=pt("skip-forward",D0);const O0=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],B0=pt("sliders-horizontal",O0);const z0=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],V0=pt("x",z0),U0={back:y0,close:V0,first:P0,folder:M0,image:C0,last:L0,more:S0,next:w0,pause:N0,play:I0,retry:$0,search:R0,sliders:B0};function $e({name:e}){const t=U0[e];return m.jsx(t,{className:"icon","aria-hidden":"true",strokeWidth:1.7})}const Es=["positions","position","coordinates","coords"],Xd=["cell","cell_vectors","box"];function Is(e){const t=fe(e,[...Xd]);return!t||t.length<9?null:[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]}function Pl(e){Yd(e);const t=Ni(e,0),n=Ni(e,3),r=Ni(e,6);return{a:t,b:n,c:r,alpha:Ei(e,3,6,n,r),beta:Ei(e,0,6,t,r),gamma:Ei(e,0,3,t,n)}}function q0(e){const{a:t,b:n,c:r,alpha:o,beta:s,gamma:i}=e;for(const[h,b]of Object.entries({a:t,b:n,c:r}))if(!Number.isFinite(b)||b<=0)throw new Error(`${h} must be greater than zero`);for(const[h,b]of Object.entries({alpha:o,beta:s,gamma:i}))if(!Number.isFinite(b)||b<=0||b>=180)throw new Error(`${h} must be between 0° and 180°`);const a=$i(o),c=$i(s),l=$i(i),u=Math.sin(l);if(Math.abs(u)<1e-8)throw new Error("γ produces a singular cell");const d=r*Math.cos(c),f=r*(Math.cos(a)-Math.cos(c)*Math.cos(l))/u,g=r*r-d*d-f*f;if(g<=1e-10)throw new Error("Cell angles produce zero volume");return Ja([t,0,0,n*Math.cos(l),n*u,0,d,f,Math.sqrt(g)])}function Ja(e){Yd(e);const t=[...e.slice(0,9)],n=Qd(t);if(!Number.isFinite(n)||Math.abs(n)<1e-8)throw new Error("Cell vectors must define a non-zero volume");return t}function H0(e,t=6){const n=fe(e,[...Es]);if(!n||n.length<3)return[10,0,0,0,10,0,0,0,10];const r=[0,0,0];for(let s=0;s+2Math.max(4,s*2+t));return[o[0],0,0,0,o[1],0,0,0,o[2]]}function K0(e,t,n){if(!Number.isInteger(t)||t<0)throw new Error("Atom index is invalid");if(n.length<3||n.some(i=>!Number.isFinite(i)))throw new Error("Atom coordinates must be finite numbers");const r=tc(e,Es);if(!r||t*3+2>=r.array.length)throw new Error("Atom coordinates are unavailable");const o=ec(e),s=new Float32Array(r.array);return s.set(n.slice(0,3),t*3),o.arrays.set(r.name,s),o}function G0(e,t,n,r){const o=Ja(t);if(n.length<3)throw new Error("Periodic axes are invalid");const s=Is(e);let i=ec(e);const a=tc(e,Xd),c=a?.name??"cell";return i.arrays.set(c,new Float32Array(o)),i.header.pbc=[!!n[0],!!n[1],!!n[2]],a||(i.header.arrays=[...i.header.arrays,{name:c,dtype:"float32",shape:[3,3],byte_offset:0,byte_length:9*Float32Array.BYTES_PER_ELEMENT,unit:"angstrom"}]),r&&s&&(i=Y0(i,s,o)),i}function W0(e,t,n){if(!Number.isInteger(t)||t<0||t>=e.topology.atom_count)throw new Error("Atom index is invalid");const r=la(n);if(r===null)throw new Error(`Unknown element “${n.trim()}”`);const o=Array.from({length:e.topology.atom_count},(i,a)=>e.topology.atomic_numbers?.[a]??la(e.topology.symbols?.[a]??"")??0),s=Array.from({length:e.topology.atom_count},(i,a)=>e.topology.symbols?.[a]??Ve[o[a]]??"X");return o[t]=r,s[t]=Ve[r],{...e,topology:{...e.topology,atomic_numbers:o,symbols:s}}}function X0(e,t){const n=fe(t,[...Es]);if(!n||n.lengtha?"T":"F").join(" ")}"`].filter(Boolean).join(" "),i=Array.from({length:e.topology.atom_count},(a,c)=>{const l=e.topology.atomic_numbers?.[c]??0,u=e.topology.symbols?.[c]??Ve[l]??"X",d=c*3;return`${u} ${Oo(n[d])} ${Oo(n[d+1])} ${Oo(n[d+2])}`});return`${e.topology.atom_count} + // color space`);if(o===r||!o.includes("publicationCoverage"))throw new Error("Publication output shader is incompatible");e.material.fragmentShader=o,e.material.uniforms.publicationTransparent={value:t.kind==="transparent"?1:0},e.material.uniforms.publicationBackground={value:new Fe(t.kind==="solid"?t.color:"#000000")},e.material.needsUpdate=!0}function Nb(e){e.root.traverse(t=>{t instanceof Oe&&t.dispose()}),e.resources.geometries.forEach(t=>t.dispose()),e.resources.materials.forEach(t=>t.dispose()),e.resources.textures.forEach(t=>t.dispose())}function Eb(e){for(let t=0;t<16&&e.getError()!==e.NO_ERROR;t+=1);}function Ib(e,t){return e===t.OUT_OF_MEMORY?"the GPU could not allocate the requested image":e===t.INVALID_VALUE?"the requested image dimensions are unsupported":e===t.INVALID_FRAMEBUFFER_OPERATION?"the export framebuffer is incomplete":`WebGL error 0x${e.toString(16)}`}function Fb(e,t){e.scene.background instanceof Fe&&e.scene.background.set(t.background),e.renderer.toneMappingExposure=t.exposure,e.hemisphere.color.set(t.hemisphereSky),e.hemisphere.groundColor.set(t.hemisphereGround),e.hemisphere.intensity=t.hemisphereIntensity,e.key.color.set(t.key),e.key.intensity=t.keyIntensity,e.rim.color.set(t.rim),e.rim.intensity=t.rimIntensity,e.selectionMaterial.color.set(t.selection),e.selectionMaterial.opacity=t.selectionOpacity,e.selectionPointsMaterial.color.set(t.selection),e.keyboardFocusMaterial.color.set(t.selection)}function $b(e,t,n,r,o,s){const i=e.atomObject?.userData.instanceToAtom instanceof Uint32Array?e.atomObject.userData.instanceToAtom:n.instanceToAtom;if(e.atomObject instanceof Nn){const a=e.atomObject.geometry.getAttribute("color");for(let c=0;cKr(a,s.force)),e.velocities?.children.forEach(a=>Kr(a,s.velocity)),e.ribbon&&Fd(e.ribbon.geometry,t,n,r,o,s),e.polyhedra&&_b(e.polyhedra,t,n,r,o,s)}function Fd(e,t,n,r,o,s){const i=e.getAttribute("color"),a=e.getAttribute("atomIndex"),c=e.getAttribute("secondaryStructure"),l=e.getAttribute("secondaryStructureWeights");if(!(i instanceof Se)||!(a instanceof Se))return;const u=new Fe(s.ribbon),d=o==="light"?[new Fe("#3f7f82"),new Fe("#bc6070"),new Fe("#c4903d")]:[new Fe("#77b8b8"),new Fe("#e28b98"),new Fe("#e1bd70")],f=new Fe;for(let g=0;g{if(i.userData.polyhedronEdges===!0){Kr(i,s.bond);return}if(!(i instanceof Ar))return;const a=i.geometry.getAttribute("color"),c=i.geometry.getAttribute("centerAtomIndex");if(!(!(a instanceof Se)||!(c instanceof Se))){for(let l=0;l{const o=r.material;(Array.isArray(o)?o:o?[o]:[]).forEach(i=>{"color"in i&&i.color instanceof Fe&&i.color.set(t),n!==void 0&&"opacity"in i&&(i.opacity=n)})})}function Rb(e){for(const t of[e.atomObject,e.bonds,e.cell,e.forces,e.velocities,e.ribbon,e.polyhedra])t&&(e.root.remove(t),ps(t));e.atomObject=null,e.bonds=null,e.cell=null,e.forces=null,e.velocities=null,e.ribbon=null,e.polyhedra=null,e.ribbonSelections.clear(),e.pickables=[]}function Tb(e,t,n,r){for(;e.children.length>0;){const l=e.children[e.children.length-1];e.remove(l),ps(l)}if(!t)return;const o=ms[r],s=new Fe(o.background),i=new Fe(o.selection);for(const l of n.trails.slice(0,vd)){const u=$d(t,l);if(u.length===0)continue;const d=u.length/6,f=new Float32Array(d*6);for(let b=0;bPb(t,l)).filter(l=>l!==null),c=Db(a,o.displacement);c&&(c.name="reference-displacements",e.add(c))}function $d(e,t){if(!Number.isSafeInteger(t.atom)||t.atom<0||t.atom>=e.count||t.image.length!==3||!t.image.every(Number.isInteger)||t.points.length<6||t.points.length%3!==0)return new Float32Array;const n=Math.min(ob,Math.floor(t.points.length/3)),r=Math.floor(t.points.length/3)-n,o=t.points.length-3,s=new N().fromArray(t.points,o);if(![s.x,s.y,s.z].every(Number.isFinite))return new Float32Array;const i=qa(e,t.atom,t.image);if(!i)return new Float32Array;const a=[],c=new N;for(let u=r;u=e.count||n.length!==3||!n.every(Number.isInteger))return null;const r=new N().fromArray(e.positions,t*3);if(!e.basis)return r;const o=t*3,s=[n[0]-(e.baseImages[o]??0),n[1]-(e.baseImages[o+1]??0),n[2]-(e.baseImages[o+2]??0)];return r.add(ht(s,e.basis))}function Pb(e,t){const n=qa(e,t.atom,t.image);if(!n||![...t.from,...t.to].every(Number.isFinite))return null;const r=new N(t.to[0]-t.from[0],t.to[1]-t.from[1],t.to[2]-t.from[2]).applyMatrix3(e.displayTransform),o=r.length();if(!Number.isFinite(o)||o<=1e-10)return null;const s=r.clone().multiplyScalar(1/o),i=Math.min(.22,Math.max(.07,o*.18),o*.45);return{tail:n.clone().sub(r),tip:n,direction:s,head:i}}function Db(e,t){if(e.length===0)return null;const n=new Hn,r=new Oe(new xa(.014,.014,1,8,1,!1),new br({color:t,transparent:!0,opacity:.82,depthWrite:!1}),e.length);r.instanceMatrix.setUsage(Ot),n.add(r);const o=new Oe(new du(1,1,9),new br({color:t,transparent:!0,opacity:.88,depthWrite:!1}),e.length);return o.instanceMatrix.setUsage(Ot),n.add(o),hs(n,[...e]),n}function Lb(e,t,n,r,o,s,i,a,c,l,u){const d=ms[o];if(r.mode==="ribbon"){if(e.ribbon=Pd(t,n,r,o,d),e.ribbon){e.root.add(e.ribbon),e.pickables.push(e.ribbon);const g=e.ribbon.userData.ribbonSelections;g instanceof Map&&(e.ribbonSelections=g)}const f=Dd(t,n);if(f){const g={...r,mode:"ball-stick"};e.atomObject=fs(f,n,g,o,!1,"ball-stick"),e.atomObject&&(e.atomObject.userData.instanceToAtom=f.instanceToAtom,e.atomObject.userData.instanceImages=f.instanceImages,e.root.add(e.atomObject),e.pickables.push(e.atomObject));const h=Wi(f,g,!1);e.bonds=Yr(g,d,h.segments.length>Zo?"lines":"instances",h.segments),e.bonds&&e.root.add(e.bonds)}}else{e.polyhedra=r.mode==="polyhedra"?Rd(t,n,r,o,d,!1,u):null;const f=r.mode==="polyhedra"&&!e.polyhedra;e.atomObject=f?null:fs(t,n,r,o,!1),e.atomObject&&(e.root.add(e.atomObject),e.pickables.push(e.atomObject)),e.bonds=e.polyhedra||f?null:Yr(r,d,l.bondKind,l.bondSegments),e.bonds&&e.root.add(e.bonds),e.polyhedra&&e.root.add(e.polyhedra)}e.cell=r.cell?Hb(t,d):null,e.cell&&e.root.add(e.cell),e.forces=r.forces?kl(t,s,a,d.force,l.forceInstances):null,e.forces&&e.root.add(e.forces),e.velocities=r.velocities?kl(t,i,c,d.velocity,l.velocityInstances):null,e.velocities&&e.root.add(e.velocities)}function Ob(e,t,n,r,o,s,i,a){if(!Bb(e,a))return!1;const c=a.forceInstances.length>0?ca(t,r,s,a.forceInstances):[],l=a.velocityInstances.length>0?ca(t,o,i,a.velocityInstances):[];return c.length!==a.forceInstances.length||l.length!==a.velocityInstances.length?!1:(e.atomObject&&zb(e.atomObject,t),e.bonds&&Vb(e.bonds,a.bondSegments),e.cell&&Ub(e.cell,t),e.forces&&hs(e.forces,c),e.velocities&&hs(e.velocities,l),n.mode!=="ribbon"&&n.mode!=="polyhedra")}function Bb(e,t){if(e.ribbon||e.polyhedra)return!1;if(t.atomKind==="none"){if(e.atomObject)return!1}else if(t.atomKind==="points"){if(!(e.atomObject instanceof Nn)||e.atomObject.geometry.getAttribute("position").count!==t.atomCount)return!1}else if(!(e.atomObject instanceof Oe)||e.atomObject.instanceMatrix.count!==t.atomCount)return!1;if(t.bondKind==="none"){if(e.bonds)return!1}else if(t.bondKind==="lines"){if(!(e.bonds instanceof vr)||e.bonds.geometry.getAttribute("position").count!==t.bondSegments.length*2)return!1}else if(!(e.bonds instanceof Oe)||e.bonds.instanceMatrix.count!==t.bondSegments.length)return!1;if(t.cellLineCount===0){if(e.cell)return!1}else if(!e.cell||e.cell.geometry.getAttribute("position").count!==t.cellLineCount*2)return!1;return Ml(e.forces,t.forceInstances.length)&&Ml(e.velocities,t.velocityInstances.length)}function Ml(e,t){if(t===0)return e===null;const[n,r]=e?.children??[];return n instanceof Oe&&r instanceof Oe&&n.instanceMatrix.count===t&&r.instanceMatrix.count===t}function zb(e,t){const n=new N;if(e instanceof Nn){const o=e.geometry.getAttribute("position");for(let s=0;s{n.setXYZ(s*2,r.x,r.y,r.z),n.setXYZ(s*2+1,o.x,o.y,o.z)}),n.needsUpdate=!0,e.geometry.computeBoundingSphere();return}e instanceof Oe&&_d(e,t)}function Ub(e,t){if(!t.basis)return;const n=[];t.images.forEach(o=>Ha(n,t.basis,o,t.cellCenter));const r=e.geometry.getAttribute("position");r.array.set(n),r.needsUpdate=!0,e.geometry.computeBoundingSphere()}function qb(e){return JSON.stringify([e.mode,e.water,e.hydrogens,e.images.min,e.images.max,e.cell,e.bonds,e.forces,e.velocities,e.atomScale,e.bondScale,e.color,e.quality])}function fs(e,t,n,r,o=!1,s){const i=e.instanceToAtom.length;if(i===0)return null;if(Su(n,i)){const g=new Float32Array(i*3),h=new Float32Array(i*3),b=new N;for(let M=0;M{f.toArray(u,h*6),g.toArray(u,h*6+3)});const d=new fn;return d.setAttribute("position",new Se(u,3).setUsage(Ot)),new vr(d,new ws({color:t.bond,transparent:!0,opacity:t.bondOpacity}))}const s=(e.mode==="licorice"?.14:e.mode==="polyhedra"?.025:.045)*Math.max(.1,e.bondScale),i=o&&r.length<=12e3?16:vu(e,r.length)?12:8,a=new xa(s,s,1,i,1,!1),c=new Sr({color:t.bond,roughness:.56,metalness:.01,transparent:!0,opacity:t.bondOpacity}),l=new Oe(a,c,r.length);return l.instanceMatrix.setUsage(Ot),_d(l,r),l}function _d(e,t){const n=new lo,r=new N;t.forEach(({from:o,to:s},i)=>{r.subVectors(s,o);const a=r.length();n.position.copy(o).add(s).multiplyScalar(.5),n.quaternion.setFromUnitVectors(ia,r.normalize()),n.scale.set(1,a,1),n.updateMatrix(),e.setMatrixAt(i,n.matrix)}),e.instanceMatrix.needsUpdate=!0,e.computeBoundingSphere()}function Hb(e,t){if(!e.basis||e.images.length===0)return null;const n=[];e.images.forEach(o=>Ha(n,e.basis,o,e.cellCenter));const r=new fn;return r.setAttribute("position",new sn(n,3).setUsage(Ot)),new vr(r,new ws({color:t.cell,transparent:!0,opacity:t.cellOpacity}))}function Ha(e,t,n,r){const o=Ca(t,n,r),s=(a,c,l)=>a*4+c*2+l,i=[];for(let a=0;a<=1;a+=1){for(let c=0;c<=1;c+=1)i.push([s(a,c,0),s(a,c,1)]);for(let c=0;c<=1;c+=1)i.push([s(a,0,c),s(a,1,c)])}for(let a=0;a<=1;a+=1)for(let c=0;c<=1;c+=1)i.push([s(0,a,c),s(1,a,c)]);i.forEach(([a,c])=>e.push(...o[a].toArray(),...o[c].toArray()))}function kl(e,t,n,r,o){const s=ca(e,t,n,o);if(s.length===0)return null;const i=new Hn,a=new Oe(new xa(.018,.018,1,8,1,!1),new br({color:r}),s.length);a.instanceMatrix.setUsage(Ot),i.add(a);const c=new Oe(new du(1,1,9),new br({color:r}),s.length);return c.instanceMatrix.setUsage(Ot),i.add(c),hs(i,s),i}function ca(e,t,n,r){if(!t||t.length{const d=e.instanceToAtom[u];return Math.hypot(t[d*3],t[d*3+1],t[d*3+2])}).filter(u=>Number.isFinite(u)&&u>1e-12).sort((u,d)=>u-d);if(o.length===0)return[];const i=1.45/o[Math.floor((o.length-1)*.9)]*n,a=[],c=new N,l=new N;for(const u of r){const d=e.instanceToAtom[u],f=d*3;c.set(t[f],t[f+1],t[f+2]);const g=c.length();ju(c.normalize(),e),Vt(l,e,u);const h=g*i,b=Math.min(Math.min(.24,Math.max(.075,h*.24)),h*.5),w=(e.radii[d]??.3)*1.03;a.push({tail:l.clone().addScaledVector(c,w),tip:l.clone().addScaledVector(c,w+h),direction:c.clone(),head:b})}return a}function hs(e,t){const[n,r]=e.children;if(!(n instanceof Oe)||!(r instanceof Oe))return;const o=new lo,s=new N;t.forEach((i,a)=>{s.copy(i.tip).addScaledVector(i.direction,-i.head*.48),o.position.copy(i.tail).add(s).multiplyScalar(.5),o.quaternion.setFromUnitVectors(ia,i.direction),o.scale.set(1,i.tail.distanceTo(s),1),o.updateMatrix(),n.setMatrixAt(a,o.matrix)}),n.instanceMatrix.needsUpdate=!0,t.forEach((i,a)=>{o.position.copy(i.tip).addScaledVector(i.direction,-i.head*.5),o.quaternion.setFromUnitVectors(ia,i.direction),o.scale.set(i.head*.34,i.head,i.head*.34),o.updateMatrix(),r.setMatrixAt(a,o.matrix)}),r.instanceMatrix.needsUpdate=!0,n.computeBoundingSphere(),n.boundingBox=null,r.computeBoundingSphere(),r.boundingBox=null}function Rd(e,t,n,r,o,s=!1,i,a){const c=i??Ka(e),l=gd(c.input,{images:e.images,maxCenters:c.maxCenters,centerAtomicNumbers:c.centerAtomicNumbers,containedInCell:n.cell,cellCenter:e.cellCenter,colorForCenter:(h,b)=>Et(t,h,b,n.color,r)},c.topology);if(!l)return null;const u=new Hn,d=new Ar(l,new Sr({vertexColors:!0,transparent:!0,opacity:s?.2:r==="light"?.28:.34,depthWrite:!s,roughness:s?.7:.58,metalness:0,flatShading:!0,side:zi,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}));d.userData.publicationExcludeFromAo=!0,d.renderOrder=1,u.add(d);const f=l.userData.edgePositions instanceof Float32Array?l.userData.edgePositions:new Float32Array;let g;if(s&&a){const{LineMaterial:h,LineSegments2:b,LineSegmentsGeometry:w}=a.constructors,M=new w;M.setPositions(Array.from(f));const k=new h({color:o.bond,linewidth:ke.clamp(1.18*Math.min(a.width/2400,a.height/1800),1,2.8),transparent:!0,opacity:.66,depthWrite:!1,alphaToCoverage:!0}),S=new b(M,k);S.isLine2=!0,S.userData.publicationFitPositions=f,S.frustumCulled=!1,g=S}else{const h=new fn;h.setAttribute("position",new Se(f,3)),h.computeBoundingSphere(),g=new vr(h,new ws({color:o.bond,transparent:!0,opacity:.36,depthWrite:!1}))}return g.userData.polyhedronEdges=!0,g.userData.publicationExcludeFromAo=!0,g.renderOrder=2,u.add(g),u}function Kb(e){const t=Ka(e),n=Cs(t.input,{maxCenters:t.maxCenters,centerAtomicNumbers:t.centerAtomicNumbers});return pd(t.input,{maxCenters:t.maxCenters,centerAtomicNumbers:t.centerAtomicNumbers},n)}function Ka(e){const t=e.visibleAtoms.length===e.count?e.bonds:Gb(e),n=Td(e,t);return{input:n,maxCenters:e.visibleAtoms.length>24?8:64,centerAtomicNumbers:bd(n)}}function Td(e,t){return{positions:e.positions,atomicNumbers:e.atomicNumbers,bonds:t,basis:e.basis,pbc:e.pbc}}function Gb(e){const t=new Set(e.visibleAtoms);return e.bonds.filter(([n,r])=>t.has(n)&&t.has(r))}function Pd(e,t,n,r,o){if(e.backbone.length<3)return null;const s=e.images.map(d=>ht(d,e.basis)),i=Wa(e).map(d=>Xa(e,d)),a=[],c=[];for(const d of i){const f=Ga(d,t);a.push({residues:d,centers:ld(d,f)});const g=Ng(d,{scale:n.atomScale,quality:n.quality,structures:f,translations:s,translationImages:e.images});g&&c.push(g)}const l=c.length===1?c[0]:Qm(c,!1);if(!l)return null;c.length>1&&c.forEach(d=>d.dispose()),Fd(l,t,e,n,r,o);const u=new Ar(l,new Sr({vertexColors:!0,roughness:.62,metalness:0,dithering:!0,side:Ym}));return u.userData.ribbonSelections=Ld(a,e),u}function Ga(e,t){const n=fo(e),r=new Map((t.topology.residues??[]).filter(o=>o.secondary_structure).map(o=>[o.index,o.secondary_structure]));for(let o=0;o[c.index,c])),r=t.topology.atom_residue_index??[],o=e.visibleAtoms.filter(c=>n.get(r[c]??-1)?.category!=="amino-acid");if(o.length===0)return null;const s=new Set(o),i=[],a=[];for(let c=0;cs.has(c)&&s.has(l)),visibleAtoms:o,instanceToAtom:Uint32Array.from(i),instanceImages:Int8Array.from(a),radii:e.atomicNumbers.map(c=>ka(c,"ball-stick",.82)),backbone:[]}}function Wa(e){const t=[];for(const n of e.backbone){const r=n.runIndex??0;for(;t.length<=r;)t.push([]);t[r].push(n)}return t.filter(n=>n.length>=3)}function Xa(e,t){const n=[];for(const r of t){const o=new N().fromArray(e.positions,r.ca*3),s=n.length===0?o:Dt(n[n.length-1].ca,o,e.basis,e.pbc),i=Wb(o,s,e.basis,e.pbc),a=r.ca*3,c=[(e.baseImages[a]??0)+i[0],(e.baseImages[a+1]??0)+i[1],(e.baseImages[a+2]??0)+i[2]],l=Dt(s,new N().fromArray(e.positions,r.n*3),e.basis,e.pbc),u=Dt(s,new N().fromArray(e.positions,r.c*3),e.basis,e.pbc),d=Dt(u,new N().fromArray(e.positions,r.o*3),e.basis,e.pbc);n.push({atomIndex:r.ca,residueIndex:r.residueIndex,image:c,n:l,ca:s,c:u,o:d})}return n}function Wb(e,t,n,r){if(!n)return[0,0,0];const o=t.clone().sub(e);return[r[0]?Math.round(o.dot(n.reciprocal[0])):0,r[1]?Math.round(o.dot(n.reciprocal[1])):0,r[2]?Math.round(o.dot(n.reciprocal[2])):0]}function Ld(e,t){const n=new Map;for(const{residues:r,centers:o}of e)for(let s=0;s{const l=mn(c.atom,c.image);if(i.has(l))return;const u=c.atom*3,d=c.image.map((f,g)=>f-(e.baseImages[u+g]??0));d.some(f=>f<-127||f>127)||(i.add(l),o.push(c.atom),s.push(d[0],d[1],d[2]))};for(const c of t.values())a(c.selection);for(let c=0;c{M>=0&&M{if(!h.has(k)){if(h.add(k),i&&v.toArray(i,S*3),c)v.toArray(c,o*3);else{let j=e.selection.children[o];j||(j=new Ar(e.selectionGeometry,e.selectionMaterial),j.renderOrder=10,e.selection.add(j)),j.position.copy(v),j.scale.setScalar(Math.max(.24,r.radii[M]||.3)*1.35),j.visible=!0}f&&(f[S]=1),o+=1}};for(const[M,k]of e.ribbonSelections??[]){const S=s.get(M);S!==void 0&&b(k.selection.atom,M,S,k.position)}for(let M=0;Mw;)e.selection.remove(e.selection.children[e.selection.children.length-1]);return c?(a.needsUpdate=!0,e.selectionPoints.geometry.setDrawRange(0,o),e.selectionPoints.visible=o>0):(e.selectionPoints.geometry.setDrawRange(0,0),e.selectionPoints.visible=!1),i&&f&&t.length>0&&f.every(M=>M===1)?i:null}function Mi(e,t,n){const r=e.model;if(e.keyboardFocus.visible=!1,!r||!t)return null;const o=e.ribbonSelections.get(mn(t.atom,t.image));if(o)return e.keyboardFocus.position.copy(o.position),e.keyboardFocus.scale.setScalar(Math.max(.24,r.radii[t.atom]||.3)*1.62),e.keyboardFocus.visible=!0,-1;if(n!==null&&so(e.instanceToAtom,e.instanceImages,n,t,e.baseImages))return Cl(e,t,n),n;for(let s=0;s=0?a:0:a>=0?(a+Math.sign(o)+i)%i:o<0?i-1:0,l=Ya(e,t,c,s);return l?{selection:l,instance:c}:null}function so(e,t,n,r,o=new Int32Array){if(!r||!Number.isInteger(n)||n<0||n>=e.length)return!1;const s=n*3,i=e[n]*3;return s+2n.distanceToSquared(new N().fromBufferAttribute(r,u))=0&&Od(c)?{atom:a,image:c}:null}function Ya(e,t,n,r=new Int32Array){if(!Number.isInteger(n)||n<0||n>=e.length)return null;const o=n*3;if(o+2>=t.length)return null;const s=e[n],i=s*3;return{atom:s,image:[(r[i]??0)+t[o],(r[i+1]??0)+t[o+1],(r[i+2]??0)+t[o+2]]}}function Od(e){return e.length===3&&e.every(Number.isInteger)}function mn(e,t){return`${e}:${t[0]}:${t[1]}:${t[2]}`}function Jb(e,t){return!e||!t?e===t:mn(e.atom,e.image)===mn(t.atom,t.image)}function ey(e,t){const n=`${e.topology.symbols?.[t.atom]??"Atom"} ${t.atom+1}`,r=t.image.map((o,s)=>{if(o===0)return"";const i=o>0?"+":"−",a=Math.abs(o)===1?"":Math.abs(o);return`${i}${a}${"abc"[s]}`}).join("");return r?`${n} (${r})`:n}function ty(e,t,n,r){const o=e.model;if(!o||t.width<=0||t.height<=0)return[];const s=Math.max(t.left,Math.min(n.x,r.x)),i=Math.min(t.right,Math.max(n.x,r.x)),a=Math.max(t.top,Math.min(n.y,r.y)),c=Math.min(t.bottom,Math.max(n.y,r.y));if(i<=s||c<=a)return[];e.camera.updateMatrixWorld();const l=new N,u=[],d=new Set,f=(g,h)=>{const b=mn(g.atom,g.image);if(d.has(b)||(l.copy(h),l.project(e.camera),!Number.isFinite(l.x)||!Number.isFinite(l.y)||l.z<-1||l.z>1))return;const w=t.left+(l.x+1)*.5*t.width,M=t.top+(1-l.y)*.5*t.height;wi||Mc||(d.add(b),u.push(g))};for(const g of e.ribbonSelections.values())f(g.selection,g.position);for(let g=0;gcy(s,n.basis,c,n.cellCenter));const i=o.getSize(new N).length(),a=s.getSize(new N).length();Xf(i,a,n.images)&&o.union(s)}return o.isEmpty()?null:o}function jl(e,t){const n=ry(e,t);if(!n)return;Bd(e.controls);const r=t.presentation.mode==="ribbon"&&t.preset==="perspective"&&t.model.images.length===1?oy(t.model,t.manifest):null,o=r?hg(r.positions,r.points.map((S,v)=>v),t.presentation.atomScale,e.camera.aspect,r.points.map(S=>S.faceNormal)):null,s=o?.center??n.getCenter(new N),i=ke.degToRad(e.camera.fov*.5),a=Math.atan(Math.tan(i)*e.camera.aspect),c=Math.min(i,a),{direction:l,up:u}=o??uy(t.preset),d=new N().crossVectors(u,l).normalize(),f=new N().crossVectors(l,d).normalize(),g=.78;let h=1.6/Math.tan(c)*1.08;const b=o&&e.ribbon?e.ribbon.geometry.getAttribute("position"):null,w=new N,M=new N,k=(S,v)=>{M.copy(S).sub(s);const j=M.dot(l);h=Math.max(h,j+(Math.abs(M.dot(d))+v)/(Math.tan(a)*g),j+(Math.abs(M.dot(f))+v)/(Math.tan(i)*g))};if(b)for(let S=0;S{const s=Xa(e,o);return jg(s,Ga(s,t))});if(n.length<3)return null;const r=new Float32Array(n.length*3);return n.forEach((o,s)=>o.center.toArray(r,s*3)),{positions:r,points:n}}function sy(e,t){return{position:e.position.toArray(),target:t.toArray(),up:e.up.toArray(),fov:e.fov,zoom:e.zoom,near:e.near,far:e.far}}function iy(e,t){if([...t.position,...t.target,...t.up,t.fov,t.zoom,t.near,t.far].some(r=>!Number.isFinite(r))||t.fov<=0||t.fov>=180||t.zoom<=0||t.near<=0||t.far<=t.near)throw new Error("The saved camera is invalid");Bd(e.controls),e.camera.position.fromArray(t.position),e.camera.up.fromArray(t.up).normalize(),e.camera.fov=t.fov,e.camera.zoom=t.zoom,e.camera.near=t.near,e.camera.far=t.far,e.controls.target.fromArray(t.target),e.camera.updateProjectionMatrix(),e.controls.update(),e.cameraMode="manual"}function Bd(e){const t=e.enableDamping;e.enableDamping=!1;try{e.update()}finally{e.enableDamping=t}}function ay(e,t){const n=Yf(e.images);return[t.mode,t.wrap,t.cellOrigin.join(","),t.mirror.join(","),t.cell,e.visibleAtoms.length,n.count,n.span.join(",")].join(":")}function cy(e,t,n,r){Ca(t,n,r).forEach(o=>e.expandByPoint(o))}function ly(e){const t=[];for(const n of[e.min.x,e.max.x])for(const r of[e.min.y,e.max.y])for(const o of[e.min.z,e.max.z])t.push(new N(n,r,o));return t}function uy(e){return e==="xy"?{direction:new N(0,0,1),up:new N(0,1,0)}:e==="xz"?{direction:new N(0,1,0),up:new N(0,0,1)}:e==="yz"?{direction:new N(1,0,0),up:new N(0,0,1)}:{direction:new N(1,.68,1.15).normalize(),up:new N(0,1,0)}}function ps(e){const t=new Set,n=new Set;e.traverse(r=>{const o=r;r instanceof Oe&&r.dispose(),o.geometry&&!t.has(o.geometry)&&(t.add(o.geometry),o.geometry.dispose()),(Array.isArray(o.material)?o.material:o.material?[o.material]:[]).forEach(i=>{n.has(i)||(n.add(i),i.dispose())})})}const zd={1:"#f0eee7",2:"#d8f2f2",3:"#b889df",4:"#bed17f",5:"#d4956d",6:"#94a3a7",7:"#5680dd",8:"#df6259",9:"#6cba79",10:"#7bcdd0",11:"#9874ce",12:"#89a86d",13:"#c7b8ae",14:"#d5aa82",15:"#ed9e54",16:"#ead462",17:"#74ca88",18:"#8bdce2",19:"#aa7bdd",20:"#99ba7b",22:"#8294aa",26:"#cf8964",29:"#d19a71",30:"#adb3b7",35:"#b65a4c",38:"#8ead82",53:"#8d61b5"},dy={...zd,1:"#aab5b3",6:"#59656f",7:"#315bb8",8:"#c94138",9:"#318448",15:"#d87924",16:"#c5a51c",17:"#348b4c",22:"#637f9e",38:"#77986d"},Ve=["X","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"],my="unknown hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium magnesium aluminium silicon phosphorus sulfur chlorine argon potassium calcium scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc gallium germanium arsenic selenium bromine krypton rubidium strontium yttrium zirconium niobium molybdenum technetium ruthenium rhodium palladium silver cadmium indium tin antimony tellurium iodine xenon caesium barium lanthanum cerium praseodymium neodymium promethium ",fy="samarium europium gadolinium terbium dysprosium holmium erbium thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum gold mercury thallium lead bismuth polonium astatine radon francium radium actinium thorium protactinium uranium ",hy="neptunium plutonium americium curium berkelium californium einsteinium fermium ",py="mendelevium nobelium lawrencium rutherfordium dubnium seaborgium bohrium hassium ",gy="meitnerium darmstadtium roentgenium copernicium nihonium flerovium moscovium livermorium tennessine oganesson",gs=(my+fy+hy+py+gy).split(" "),Xn=new Map;for(let e=1;e0&&e[an(l),u])),s=xr(t);if(n==="add"){for(const l of s){const u=an(l);o.has(u)||(o.set(u,r.length),r.push(l))}return r}const i=new Set(s.map(an)),a=r.filter(l=>!i.has(an(l))),c=new Set(r.map(an));for(const l of s)c.has(an(l))||a.push(l);return a}function yy(e,t){return{name:Cy(e),selections:xr(t)}}function Qa(e){const t=new Map;for(const o of e){const s=Ve[o]??"X";t.set(s,(t.get(s)??0)+1)}const n=[...t.keys()];return(t.has("C")?["C",...t.has("H")?["H"]:[],...n.filter(o=>o!=="C"&&o!=="H").sort()]:n.sort()).map(o=>{const s=t.get(o);return`${o}${s===1?"":s}`}).join("")}function xy(e){const t=e.match(/^\s*select\s+within\s+((?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)\s*(?:a|å|angstroms?)\s+of\s+selection\s*$/i);if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)&&n>0?n:null}function wy(e,t){const n=e.trim();if(!n||t.atomCount<1)return null;const r=n.match(/^(?:#|atom\s+)?(\d+)$/i);if(r){const i=Number(r[1]);return!Number.isInteger(i)||i<1||i>t.atomCount?null:i-1}const o=t.atomNames,s=n.match(/^([A-Za-z][a-z]?)(\d+)$/);if(s&&t.symbolAt){const i=Number(s[2])-1;if(i>=0&&ic.trim().toLowerCase()===i);if(a>=0)return a}return null}function Vd(e){Ud(e);const t=Sy(e),n=new Int32Array(e.count),r=new Uint8Array(e.count);for(let i=0;i0,componentRoots:s,residueIndices:t}}class Ay{context;hasConnectivity;componentRoots;residueIndices;visibleInstances=null;constructor(t,n=Vd(t)){if(Ud(t),n.count!==t.count)throw new RangeError("Selection topology does not match the scene");this.context=t,this.hasConnectivity=n.hasConnectivity,this.componentRoots=n.componentRoots,this.residueIndices=n.residueIndices}selectionAt(t){if(!Number.isInteger(t)||t<0||t>=this.context.instanceToAtom.length)return null;const n=this.context.instanceToAtom[t];if(n>=this.context.count)return null;const r=t*3,o=n*3;return{atom:n,image:[this.context.baseImages[o]+this.context.instanceImages[r],this.context.baseImages[o+1]+this.context.instanceImages[r+1],this.context.baseImages[o+2]+this.context.instanceImages[r+2]]}}displayedPosition(t){if(!ur(t,this.context.count))return null;const n=new Float64Array(3);return ki(n,this.context,t)?[n[0],n[1],n[2]]:null}isVisible(t){return this.instanceFor(t)!==null}selectScope(t,n){if(!ur(t,this.context.count))return[];const r=this.displayImage(t);if(!r||this.instanceFor(t)===null)return[];if(n==="atom")return[Za(t)];const o=t.atom;let s;if(n==="element"){const i=this.context.atomicNumbers[o];s=a=>this.context.atomicNumbers[a]===i}else if(n==="residue"){const i=this.residueIndices[o];if(i<0)return null;s=a=>this.residueIndices[a]===i}else if(n==="component"){if(!this.hasConnectivity)return null;const i=this.componentRoots[o];s=a=>this.componentRoots[a]===i}else if(n==="molecule"){const i=this.residueIndices[o];if(this.hasConnectivity){const a=this.componentRoots[o];s=c=>this.componentRoots[c]===a}else{if(i<0)return null;s=a=>this.residueIndices[a]===i}}else throw new TypeError(`Unknown scientific selection scope: ${String(n)}`);return this.collectVisible((i,a)=>s(i)&&this.instanceHasDisplayImage(a,r))}selectElement(t){const n=la(t);return n===null?[]:this.collectVisible(r=>this.context.atomicNumbers[r]===n)}selectWater(){return this.collectVisible(t=>this.context.waterAtoms.has(t))}withinDistance(t,n){return this.withinDistanceOf([t],n)}withinDistanceOf(t,n){if(!Number.isFinite(n)||n<=0)return[];const r=new Float64Array(3),o=new Map,s=new Set;for(const c of t){if(!ur(c,this.context.count))continue;const l=an(c);if(s.has(l)||(s.add(l),!ki(r,this.context,c)))continue;const u=El(Math.floor(r[0]/n),Math.floor(r[1]/n),Math.floor(r[2]/n)),d=o.get(u);d?d.push(r[0],r[1],r[2]):o.set(u,[r[0],r[1],r[2]])}if(o.size===0)return[];const i=n*n,a=new Float64Array(3);return this.collectVisible((c,l)=>{const u=l*3;if(!qd(a,0,this.context,c,this.context.instanceImages[u],this.context.instanceImages[u+1],this.context.instanceImages[u+2]))return!1;const d=Math.floor(a[0]/n),f=Math.floor(a[1]/n),g=Math.floor(a[2]/n);for(let h=d-1;h<=d+1;h+=1)for(let b=f-1;b<=f+1;b+=1)for(let w=g-1;w<=g+1;w+=1){const M=o.get(El(h,b,w));if(M)for(let k=0;k=this.context.count||!t(s,o))continue;const i=this.selectionAt(o);if(!i)continue;const a=an(i);r.has(a)||(r.add(a),n.push(i))}return n}displayImage(t){if(!ur(t,this.context.count))return null;const n=t.atom*3;return[t.image[0]-this.context.baseImages[n],t.image[1]-this.context.baseImages[n+1],t.image[2]-this.context.baseImages[n+2]]}instanceFor(t){const n=this.displayImage(t);return n?this.ensureVisibleInstances().get(Nl(t.atom,n[0],n[1],n[2]))??null:null}instanceHasDisplayImage(t,n){const r=t*3;return this.context.instanceImages[r]===n[0]&&this.context.instanceImages[r+1]===n[1]&&this.context.instanceImages[r+2]===n[2]}ensureVisibleInstances(){if(this.visibleInstances)return this.visibleInstances;const t=new Map;for(let n=0;n=this.context.count)continue;const o=n*3,s=Nl(r,this.context.instanceImages[o],this.context.instanceImages[o+1],this.context.instanceImages[o+2]);t.has(s)||t.set(s,n)}return this.visibleInstances=t,t}}function Ud(e){if(!Number.isInteger(e.count)||e.count<0)throw new RangeError("Selection context count must be a non-negative integer");if(e.atomicNumbers.length=0&&r<=2147483647&&(t[n]=r)}return t}function ki(e,t,n){const r=n.atom*3;return qd(e,0,t,n.atom,n.image[0]-t.baseImages[r],n.image[1]-t.baseImages[r+1],n.image[2]-t.baseImages[r+2])}function qd(e,t,n,r,o,s,i){const a=r*3;let c=n.positions[a],l=n.positions[a+1],u=n.positions[a+2];if(![c,l,u].every(Number.isFinite))return!1;if(o!==0||s!==0||i!==0){const d=n.cell;if(!d)return!1;c+=o*d[0]+s*d[3]+i*d[6],l+=o*d[1]+s*d[4]+i*d[7],u+=o*d[2]+s*d[5]+i*d[8]}return[c,l,u].every(Number.isFinite)?(e[t]=c,e[t+1]=l,e[t+2]=u,!0):!1}function vy(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)&&e>=0&&t>=0&&e=0&&e.atom80)throw new RangeError("Named selection name is too long");return t}const jy=[[0,1],[0,2],[0,4],[1,3],[1,5],[2,3],[2,6],[3,7],[4,5],[4,6],[5,7],[6,7]],Ny={1:"#F7F7F4",2:"#D8F2F2",3:"#B889DF",4:"#BED17F",5:"#D4956D",6:"#4B5560",7:"#315FBC",8:"#D94A42",9:"#55A65C",10:"#7BCDD0",11:"#9874CE",12:"#89A86D",13:"#C7B8AE",14:"#D5AA82",15:"#DE8D31",16:"#D7B52F",17:"#4C9A59",18:"#8BDCE2",19:"#AA7BDD",20:"#99BA7B",22:"#637F9E",26:"#A76545",29:"#B87333",30:"#6D79A8",35:"#B65A4C",38:"#77986D",53:"#8D61B5"};function Hd(e){return Ny[e]}function Ey(e,t,n){const r=new Map((e.topology.residues??[]).map(d=>[d.index,d])),o=Py(t,e),s=new Map,i=[],a=[];for(let d=0;d(n.wrap==="atom"||n.wrap==="unwrapped")&&Ss(t.positions,d,f,t.basis,t.pbc).some(g=>g!==0)),l=new Set(c.map(([d,f])=>$l(d,f)));if(n.bonds)for(const d of t.images)for(const[f,g]of t.bonds){if(l.has($l(f,g)))continue;const h=s.get(Ci(f,d)),b=s.get(Ci(g,d));h===void 0||b===void 0||(i[h].bonds.push(b),i[h].bondOrder.push(1),i[b].bonds.push(h),i[b].bondOrder.push(1))}const u=Jo(t,n);return{atoms:i,selections:a,bondSegments:u,shapeBondSegments:c.length===0?[]:Jo({...t,bonds:c},n),boundaryBondCount:c.length,cellSegments:n.cell?_y(t):[],collisionSegments:Ry(t),layoutKey:[e.dataset_generation??e.name,t.count,Fl(t.atomicNumbers),t.visibleAtoms.join(","),t.images.map(d=>d.join(",")).join(";"),Fl(t.baseImages),n.water,n.hydrogens?1:0,n.bonds?1:0,n.color,e.topology.residues?.length??0].join("|")}}function Iy(e){const t=e.properties;return![t.pqAtom,t.pqImageA,t.pqImageB,t.pqImageC].every(Number.isInteger)||t.pqAtom<0?null:{atom:t.pqAtom,image:[t.pqImageA,t.pqImageB,t.pqImageC]}}function Fy(e,t){return{count:t.count,atomicNumbers:t.atomicNumbers,positions:t.positions,baseImages:t.baseImages,cell:t.basis?Float64Array.from(t.basis.vectors.flatMap(n=>[n.x,n.y,n.z])):null,bonds:t.bonds,waterAtoms:t.waterAtoms,instanceToAtom:t.instanceToAtom,instanceImages:t.instanceImages,atomResidueIndex:e.topology.atom_residue_index}}function $y(e,t){const n=new Float64Array(t.length*3);for(let r=0;r=e.count)return null;const s=o.atom*3,i=[o.image[0]-(e.baseImages[s]??0),o.image[1]-(e.baseImages[s+1]??0),o.image[2]-(e.baseImages[s+2]??0)],a=ht(i,e.basis);n[r*3]=e.positions[s]+a.x,n[r*3+1]=e.positions[s+1]+a.y,n[r*3+2]=e.positions[s+2]+a.z}return n}function _y(e){if(!e.basis)return[];const t=[];for(const n of e.images){const r=Ca(e.basis,n,e.cellCenter);for(const[o,s]of jy)t.push({from:r[o],to:r[s]})}return t}function Ry(e){if(e.visibleAtoms.length>2e3)return[];const t=new Set(e.bonds.map(([i,a])=>ii.length()):null,s=Float64Array.from(e.atomicNumbers,i=>Qf(i));for(let i=0;if*o[0]+1e-10||Math.abs(j)>f*o[1]+1e-10||Math.abs(E)>f*o[2]+1e-10)continue;const D=new N(e.positions[c],e.positions[c+1],e.positions[c+2]),U=Dt(D,new N(e.positions[d],e.positions[d+1],e.positions[d+2]),e.basis,e.pbc);g=U.x-D.x,h=U.y-D.y,b=U.z-D.z}else g=e.positions[d]-e.positions[c],h=e.positions[d+1]-e.positions[c+1],b=e.positions[d+2]-e.positions[c+2];const w=g*g+h*h+b*b;if(w>.0025&&w=256)break}}if(n.length>=256)break}return n.length===0?[]:e.images.flatMap(i=>{const a=ht(i,e.basis);return n.map(({from:c,to:l})=>({from:c.clone().add(a),to:l.clone().add(a)}))})}function Ty(e){const t=new Float64Array(e.count*3),n=e.basis.reciprocal;for(let r=0;rs.secondary_structure).map(s=>[s.index,s.secondary_structure])),o=new Map;for(const s of e.backbone){const i=s.runIndex??0,a=o.get(i)??[];a.push(s),o.set(i,a)}for(const s of o.values()){if(s.length<3)continue;const i=[];for(const l of s){const u=new N().fromArray(e.positions,l.ca*3),d=i.length===0?u:Dt(i.at(-1).ca,u,e.basis,e.pbc);i.push({atomIndex:l.ca,residueIndex:l.residueIndex,n:Dt(d,new N().fromArray(e.positions,l.n*3),e.basis,e.pbc),ca:d,c:Dt(d,new N().fromArray(e.positions,l.c*3),e.basis,e.pbc),o:new N}),i.at(-1).o=Dt(i.at(-1).c,new N().fromArray(e.positions,l.o*3),e.basis,e.pbc)}const a=fo(i),c=i.map((l,u)=>r.get(l.residueIndex)??a[u]);i.forEach((l,u)=>{n.set(l.residueIndex,{structure:c[u],begin:u===0||c[u-1]!==c[u],end:u===c.length-1||c[u+1]!==c[u]})})}return n}function Dy(e){return e==="helix"?"h":e==="sheet"?"s":"c"}function Ly(e,t,n,r){if(r==="element")return Hd(n)??"#65757A";if(r==="chain"){const o=e.topology.atom_residue_index?.[t],s=e.topology.residues?.find(i=>i.index===o);return Il(Oy(s?.chain_id??"A"))}return Il(e.topology.atom_residue_index?.[t]??t)}function Il(e){const t=(e*.173%1+1)%1;return`#${new Fe().setHSL(t,.42,.43).getHexString()}`}function Oy(e){let t=0;for(let n=0;n>8&255,t=Math.imul(t,16777619);return(t>>>0).toString(36)}function Ci(e,t){return`${e}:${t[0]}:${t[1]}:${t[2]}`}function $l(e,t){return e{const $=v.current;if(!$)return;let y=!1,z=null;return Pn(()=>import("./3dmol-DaMeRkCq.js").then(B=>B._),__vite__mapDeps([2,3])).then(B=>{if(y)return;const ee=B.createViewer($,{backgroundColor:io.background,backgroundAlpha:1,antialias:!0,upscale:!0,cartoonQuality:12,disableFog:!0,minimumZoomToDistance:2.4});ee.setDefaultCartoonQuality(12),ee.setProjection("perspective"),j.current={viewer:ee,model:null,scene:null,plan:null,layoutKey:"",styleKey:"",fitMode:"ball-stick",manifestName:"",fittedKey:"",lastResetSignal:-1,lastViewSignal:-1,selectionShape:null,keyboardShape:null,surfaceVersion:0,pickSerial:0,pointer:{pointerType:"mouse",shiftKey:!1,metaKey:!1,ctrlKey:!1}};let H=$.clientWidth/Math.max(1,$.clientHeight);z=new ResizeObserver(()=>{const ie=$.clientWidth/Math.max(1,$.clientHeight);ee.resize();const _=j.current;_?.plan&&Number.isFinite(H)&&Math.abs(ie-H)>.04&&(ee.zoomTo(),ee.zoom(Kd(_.plan.cellSegments.length>0,_.fitMode,ie))),H=ie,ee.render()}),z.observe($),Y(ie=>ie+1)}).catch(B=>{y||R.current?.(B instanceof Error?B:new Error("3Dmol could not be loaded"))}),()=>{y=!0,z?.disconnect();const B=j.current;j.current=null,B?.viewer.clear(),$.replaceChildren()}},[]),x.useEffect(()=>{const $=j.current,y=v.current;if(!$||!y)return;const z=performance.now(),B=Ma(t,n,o,r);if(!B){$.viewer.clear(),$.model=null,$.scene=null,$.plan=null,$.styleKey="",delete y.dataset.renderedManifest,delete y.dataset.sourceFrameIndex,y.dataset.atomCount="0",y.dataset.renderMs="0",b?.(null),w?.(null);return}const ee=performance.now(),H=Ey(t,B,o),ie=performance.now()-ee,_=$.model!==null&&$.layoutKey===H.layoutKey&&$.plan?.atoms.length===H.atoms.length,Z=[o.mode,o.atomScale,o.bondScale,o.quality].join("|");if(_){const re=H.atoms.map(({x:K,y:J,z:Xe})=>[K,J,Xe]);$.model.setCoordinates([re],"array"),$.model.setFrame(0)}else $.viewer.removeAllModels(),$.model=$.viewer.addModel(),$.model.addAtoms(H.atoms);const pe=$.model;if(!pe)throw new Error("3Dmol model creation failed");$.viewer.removeAllShapes(),$.viewer.removeAllSurfaces(),$.selectionShape=null,$.keyboardShape=null,(!_||$.styleKey!==Z)&&(qy(pe,o,H.atoms.length),$.styleKey=Z),_||pe.setClickable({},!0,(re,K,J)=>{$.pickSerial+=1;const Xe=Iy(re);if(!Xe)return;const Me=J??$.pointer;D.current(Xe,sa(Me))});const G=u==="light"?io:ao,xe=fe(n,["forces","force"]),Ae=fe(n,["velocities","velocity","vel"]),ge=Au(B,o,xe,Ae);$.viewer.setBackgroundColor(G.background,1),Hy($.viewer,H.shapeBondSegments,o,G.bond),Ky($.viewer,H.cellSegments,G.cell),Gy($.viewer,H.collisionSegments,G.collision),_l($.viewer,B,xe,c,ge.forceInstances,G.force),_l($.viewer,B,Ae,l,ge.velocityInstances,G.velocity),Xy($.viewer,B,i,G);const Le=o.mode==="polyhedra"?Yy($.viewer,B,G,o.cell):0;if(o.mode==="surface"&&H.atoms.length<=Vy){const re=++$.surfaceVersion,K=$.viewer.addSurface("VDW",{color:"#BCD4D8",opacity:.26},{},{});Promise.resolve(K).then(()=>{j.current!==$||$.surfaceVersion!==re||$.viewer.render()}).catch(J=>{j.current!==$||$.surfaceVersion!==re||R.current?.(J instanceof Error?J:new Error("Surface generation failed"))})}else $.surfaceVersion+=1;$.scene=B,$.plan=H,$.layoutKey=H.layoutKey,$.fitMode=o.mode,$.manifestName=t.name,w?.(Fy(t,B));const W={imageCount:B.images.length,forceCount:ge.forceInstances.length,forceTotal:ge.forceTotal,velocityCount:ge.velocityInstances.length,velocityTotal:ge.velocityTotal,capabilities:kd(t,n,o,r)};b?.(W);const Q=[t.name,t.topology.atom_count,H.layoutKey,o.mode==="ribbon"?"ribbon":"structure",H.cellSegments.length].join("|");($.fittedKey!==Q||$.lastResetSignal!==a||$.lastViewSignal!==f)&&(Jy($.viewer,d,H.cellSegments.length>0,o.mode,y.clientWidth/Math.max(1,y.clientHeight)),$.fittedKey=Q,$.lastResetSignal=a,$.lastViewSignal=f),$.viewer.render();const de=F.current;de&&(Rl($.viewer,de),F.current=null),y.dataset.renderedManifest=t.name,y.dataset.sourceFrameIndex=String(n?.header.frame_key?.source_index??""),y.dataset.atomCount=String(H.atoms.length),y.dataset.bondCount=String(H.bondSegments.length),y.dataset.boundaryBondCount=String(H.boundaryBondCount),y.dataset.renderedBoundaryBondCount=String(H.shapeBondSegments.length),y.dataset.polyhedronCount=String(Le),y.dataset.cellSegmentCount=String(H.cellSegments.length),y.dataset.collisionCount=String(H.collisionSegments.length),y.dataset.forceCount=String(ge.forceInstances.length),y.dataset.velocityCount=String(ge.velocityInstances.length),y.dataset.planMs=ie.toFixed(1),y.dataset.viewerMs=(performance.now()-ee-ie).toFixed(1),y.dataset.renderMs=(performance.now()-z).toFixed(1)},[u,c,n,t,b,w,r,o,a,I,i,l,d,f]),x.useEffect(()=>{const $=j.current;if(!$?.scene){M?.(null);return}Qy($,s,u),Zy($,ae,u),$.viewer.render(),M?.($y($.scene,s))},[u,n,ae,M,o,s,I]),x.useEffect(()=>{const $=v.current;if(!$)return;let y=null,z=!1,B=!1;const ee=W=>{const Q=$.getBoundingClientRect(),de=Math.max(Q.left,Math.min(Q.right,W.clientX)),re=Math.max(Q.top,Math.min(Q.bottom,W.clientY)),K=Math.min(y.x,de),J=Math.min(y.y,re);return{left:K,top:J,width:Math.abs(de-y.x),height:Math.abs(re-y.y)}},H=()=>{y=null,z=!1,B=!1,ce(null)},ie=W=>{const Q=j.current;Q&&(Q.pointer=W,!(!W.shiftKey||W.button!==0)&&(y={x:W.clientX,y:W.clientY,pointerId:W.pointerId},B=!0,$.setPointerCapture(W.pointerId),W.preventDefault(),W.stopImmediatePropagation()))},_=W=>{if(!B||!y||W.pointerId!==y.pointerId)return;const Q=ee(W);z||=Q.width>4||Q.height>4,ce(Q),W.preventDefault(),W.stopImmediatePropagation()},Z=W=>{const Q=j.current;if(B&&y&&W.pointerId===y.pointerId){if(z&&Q?.plan){const re=ee(W),K=Q.viewer.modelToScreen(Q.plan.atoms),J=[],Xe=new Set;K.forEach((Me,qt)=>{if(Me.xre.left+re.width||Me.yre.top+re.height)return;const Ue=Q.plan.selections[qt],In=`${Ue.atom}:${Ue.image.join(":")}`;Xe.has(In)||(Xe.add(In),J.push(Ue))}),U.current?.(J,!0)}$.hasPointerCapture(W.pointerId)&&$.releasePointerCapture(W.pointerId),H(),W.preventDefault(),W.stopImmediatePropagation();return}if(!Q||W.button!==0)return;const de=Q.pickSerial;window.setTimeout(()=>{j.current===Q&&Q.pickSerial===de&&!sa(W)&&D.current(null,!1)},0)},pe=()=>H(),G=()=>{const W=j.current;if(!W?.scene)return;const Q=Un(W.scene.instanceToAtom,W.scene.instanceImages,E.current.at(-1)??null,null,0,W.scene.baseImages);T.current=Q?.selection??null,O.current=Q?.instance??null,se(Q?.selection??null)},xe=()=>{T.current=null,O.current=null,se(null)},Ae=W=>{const Q=j.current;if(!Q?.scene||W.metaKey||W.ctrlKey||W.altKey)return;const de=W.key==="ArrowDown"?1:W.key==="ArrowUp"?-1:0;if(de!==0){const K=Un(Q.scene.instanceToAtom,Q.scene.instanceImages,T.current,O.current,de,Q.scene.baseImages);T.current=K?.selection??null,O.current=K?.instance??null,se(K?.selection??null),W.preventDefault();return}if(W.key!=="Enter"||W.repeat)return;const re=Un(Q.scene.instanceToAtom,Q.scene.instanceImages,T.current??E.current.at(-1)??null,O.current,0,Q.scene.baseImages);re&&(T.current=re.selection,O.current=re.instance,se(re.selection),D.current(re.selection,!0),W.preventDefault())},ge=W=>{W.key!=="Escape"||!B||(H(),W.preventDefault())},Le=W=>{const Q=j.current;if(!Q)return;const de=Math.max(.5,Math.min(2,Math.exp(-W.deltaY*.001)));Q.viewer.zoom(de),Q.viewer.render(),W.preventDefault(),W.stopImmediatePropagation()};return $.addEventListener("pointerdown",ie,!0),$.addEventListener("pointermove",_,!0),$.addEventListener("pointerup",Z,!0),$.addEventListener("pointercancel",pe,!0),$.addEventListener("focus",G),$.addEventListener("blur",xe),$.addEventListener("keydown",Ae),$.addEventListener("wheel",Le,{capture:!0,passive:!1}),window.addEventListener("keydown",ge),()=>{$.removeEventListener("pointerdown",ie,!0),$.removeEventListener("pointermove",_,!0),$.removeEventListener("pointerup",Z,!0),$.removeEventListener("pointercancel",pe,!0),$.removeEventListener("focus",G),$.removeEventListener("blur",xe),$.removeEventListener("keydown",Ae),$.removeEventListener("wheel",Le,!0),window.removeEventListener("keydown",ge)}},[I]),x.useImperativeHandle(S,()=>({exportPng:async()=>{throw new Error("Publication export is provided by the renderer facade")},exportFigure:async()=>{throw new Error("Publication export is provided by the renderer facade")},captureCamera:()=>e0(j.current?.viewer),restoreCamera:$=>{const y=j.current;if(!y?.plan){F.current=$;return}Rl(y.viewer,$)}}),[I]);const me=ae?`${t.topology.symbols?.[ae.atom]??"Atom"} ${ae.atom+1}`:"";return m.jsxs(m.Fragment,{children:[m.jsx("div",{ref:v,className:L?"molecule-canvas molecule-stage-3dmol is-box-selecting":"molecule-canvas molecule-stage-3dmol","data-renderer":"3dmol","data-representation":o.mode,"data-wrap":o.wrap,role:"region","aria-label":"Molecular structure","aria-description":"Use Up and Down to browse visible atoms. Press Enter to toggle an atom selection. Shift-drag to select a box.","aria-keyshortcuts":"ArrowUp ArrowDown Enter",tabIndex:0}),L&&m.jsx("div",{className:"selection-marquee","data-testid":"selection-marquee",style:L,"aria-hidden":"true"}),m.jsx("span",{className:"sr-only","aria-live":"polite",children:me?`${me}. Press Enter to toggle selection.`:""})]})});function qy(e,t,n){const r=o=>String(o.color??"#65757A");if(e.setStyle({},{}),t.mode==="ribbon"){const o={style:"edged",arrows:!0,tubes:!1,thickness:.42,opacity:1};t.color==="structure"?(e.setStyle({hetflag:!1},{cartoon:{...o,color:"#438493"}}),e.setStyle({hetflag:!1,ss:"h"},{cartoon:{...o,color:"#C96A5A"}}),e.setStyle({hetflag:!1,ss:"s"},{cartoon:{...o,color:"#D2A23A"}})):e.setStyle({hetflag:!1},{cartoon:{...o,colorfunc:r}}),e.setStyle({hetflag:!0},{sphere:{scale:.24,colorfunc:r},stick:{radius:.11,color:"#849190"}},!0);return}if(n>1e5){e.setStyle({},{cross:{scale:Math.max(.25,t.atomScale*.45),colorfunc:r},line:{color:"#849190",opacity:.58}});return}if(t.mode==="lines"){e.setStyle({},{sphere:{radius:Math.max(.055,t.atomScale*.095),colorfunc:r},line:{color:"#879492",opacity:.62}});return}if(t.mode==="spacefill"){e.setStyle({},{sphere:{scale:t.atomScale,colorfunc:r}});return}if(t.mode==="polyhedra"){e.setStyle({},{sphere:{radius:.17*t.atomScale,colorfunc:r}});return}if(t.mode==="licorice"){e.setStyle({},{sphere:{radius:.23*t.atomScale,colorfunc:r},stick:{radius:.19*t.bondScale,color:"#849190"}});return}e.setStyle({},{sphere:{scale:Math.max(.18,t.atomScale*.26),colorfunc:r},stick:{radius:(t.mode==="surface"?.05:.085)*t.bondScale,color:"#849190"}})}function Hy(e,t,n,r){if(t.length===0||n.mode==="spacefill"||n.mode==="ribbon"||n.mode==="polyhedra")return;const o=e.addShape({color:r,opacity:.92});if(n.mode==="lines"||t.length>12e3){for(const i of t)o.addLine({start:it(i.from),end:it(i.to),color:r,opacity:.9});return}const s=n.mode==="licorice"?.19*n.bondScale:(t.length>256?.045:.085)*n.bondScale;for(const i of t)o.addCylinder({start:it(i.from),end:it(i.to),radius:s,color:r,fromCap:"round",toCap:"round"})}function Ky(e,t,n){if(t.length===0)return;const r=e.addShape({color:n,opacity:.62});for(const o of t)r.addCylinder({start:it(o.from),end:it(o.to),radius:.01,color:n,opacity:.62,fromCap:"flat",toCap:"flat"})}function Gy(e,t,n){if(t.length===0)return;const r=e.addShape({color:n,opacity:.9});t.forEach((o,s)=>{r.addDashedCylinder({start:it(o.from),end:it(o.to),radius:.035,dashLength:.11,gapLength:.09,color:n}),s<64&&(r.addSphere({center:it(o.from),radius:.58,color:n,opacity:.72,wireframe:!0}),r.addSphere({center:it(o.to),radius:.58,color:n,opacity:.72,wireframe:!0}))})}function _l(e,t,n,r,o,s){const i=Wy(t,n,r,o);if(i.length===0)return;const a=e.addShape({color:s});for(const c of i)a.addArrow({start:it(c.tail),end:it(c.tip),radius:.025,radiusRatio:Math.max(2.5,c.head/.025),midpos:-c.head,color:s})}function Wy(e,t,n,r){if(!t||t.length{const l=e.instanceToAtom[c];return Math.hypot(t[l*3],t[l*3+1],t[l*3+2])}).filter(c=>Number.isFinite(c)&&c>1e-12).sort((c,l)=>c-l);if(o.length===0)return[];const i=1.45/o[Math.floor((o.length-1)*.9)]*n,a=[];for(const c of r){const l=e.instanceToAtom[c],u=l*3,d=new N(t[u],t[u+1],t[u+2]),f=d.length();if(!Number.isFinite(f)||f<=1e-12)continue;ju(d.normalize(),e);const g=t0(e,c),h=f*i,b=Math.min(.24,Math.max(.075,h*.24),h*.5),w=(e.radii[l]??.3)*1.03;a.push({tail:g.clone().addScaledVector(d,w),tip:g.clone().addScaledVector(d,w+h),head:b})}return a}function Xy(e,t,n,r){for(const o of n.trails.slice(0,vd)){const s=$d(t,o);if(s.length===0)continue;const i=e.addShape({color:r.trail,opacity:.76});for(let a=0;ao.has(S)&&o.has(v)),i={positions:t.positions,atomicNumbers:t.atomicNumbers,bonds:s,basis:t.basis,pbc:t.pbc},a=t.visibleAtoms.length>24?8:64,c=bd(i),l=Cs(i,{centerAtomicNumbers:c}),u=gd(i,{images:t.images,maxCenters:a,centerAtomicNumbers:c,containedInCell:r,cellCenter:t.cellCenter,colorForCenter:(S,v)=>n===ao?n.polyhedron:Hd(v)??n.polyhedron},l);if(!u)return 0;u.computeVertexNormals();const d=u.getAttribute("position"),f=u.getAttribute("normal"),g=Array.from({length:d.count},(S,v)=>({x:d.getX(v),y:d.getY(v),z:d.getZ(v)})),h=f?Array.from({length:f.count},(S,v)=>({x:f.getX(v),y:f.getY(v),z:f.getZ(v)})):void 0,b=u.getAttribute("color"),w=Array.from({length:b.count},(S,v)=>`rgb(${Math.round(b.getX(v)*255)}, ${Math.round(b.getY(v)*255)}, ${Math.round(b.getZ(v)*255)})`);e.addCustom({vertexArr:g,normalArr:h,faceArr:Array.from({length:d.count},(S,v)=>v),color:w,opacity:.38});const M=u.userData.edgePositions;if(M instanceof Float32Array){const S=e.addShape({color:n.polyhedronEdge,opacity:.42});for(let v=0;v{if(s>=zy)return;const c=e.plan.selections[a];r.has(bs(c))&&(o.addSphere({center:{x:i.x,y:i.y,z:i.z},radius:Math.max(.3,(e.scene.radii[c.atom]??.3)*1.35),color:n==="light"?io.selection:ao.selection,wireframe:!0,opacity:.82,quality:2}),s+=1)}),e.selectionShape=o}function Zy(e,t,n){if(e.keyboardShape&&(e.viewer.removeShape(e.keyboardShape),e.keyboardShape=null),!e.scene||!e.plan||!t)return;const r=e.plan.selections.findIndex(i=>bs(i)===bs(t));if(r<0)return;const o=e.plan.atoms[r],s=n==="light"?io.keyboard:ao.keyboard;e.keyboardShape=e.viewer.addSphere({center:{x:o.x,y:o.y,z:o.z},radius:Math.max(.34,(e.scene.radii[t.atom]??.3)*1.58),color:s,wireframe:!0,opacity:.94,quality:2})}function Jy(e,t,n,r,o){const s=e.getView();e.setView([s[0],s[1],s[2],s[3],0,0,0,1]),e.zoomTo(),t==="perspective"?(e.setProjection("perspective"),e.rotate(24,"x"),e.rotate(-32,"y")):(e.setProjection("orthographic"),t==="xz"&&e.rotate(90,"x"),t==="yz"&&e.rotate(-90,"y")),e.zoom(Kd(n,r,o))}function Kd(e,t,n){return(e?.9:t==="ribbon"?.98:.76)*Math.min(1,Math.max(.35,n))}function e0(e){if(!e)throw new Error("The molecular scene is not ready");const t=e.getView(),n=new N(-t[0],-t[1],-t[2]),o=new ya(t[4],t[5],t[6],t[7]).normalize().clone().invert(),s=e.getPerceivedDistance(),i=new N(0,0,s).applyQuaternion(o).add(n),a=new N(0,1,0).applyQuaternion(o).normalize();return{position:i.toArray(),target:n.toArray(),up:a.toArray(),fov:20,zoom:1,near:1,far:800}}function Rl(e,t){if(!e)throw new Error("The molecular scene is not ready");if([...t.position,...t.target,...t.up,t.fov,t.zoom,t.near,t.far].some(c=>!Number.isFinite(c)))throw new Error("The saved camera is invalid");const r=new N().fromArray(t.position),o=new N().fromArray(t.target),s=new N().fromArray(t.up).normalize(),a=new ya().setFromRotationMatrix(new Xo().lookAt(r,o,s)).invert();e.setView([-o.x,-o.y,-o.z,e.getView()[3],a.x,a.y,a.z,a.w]),e.setPerceivedDistance(r.distanceTo(o)),e.render()}function t0(e,t){const n=e.instanceToAtom[t],r=new N().fromArray(e.positions,n*3);if(!e.basis)return r;const o=t*3;return r.addScaledVector(e.basis.vectors[0],e.instanceImages[o]).addScaledVector(e.basis.vectors[1],e.instanceImages[o+1]).addScaledVector(e.basis.vectors[2],e.instanceImages[o+2])}function bs(e){return`${e.atom}:${e.image[0]}:${e.image[1]}:${e.image[2]}`}function it(e){return{x:e.x,y:e.y,z:e.z}}function n0(e){return"3dmol"}const r0=x.forwardRef(function(t,n){const r=n0(),[o,s]=x.useState(!1),[i,a]=x.useState(null),[c,l]=x.useState(0),u=x.useRef(null),d=x.useRef(null),f=x.useRef(null),g=x.useRef(0),h=o?"three":r;f.current=i;const b=x.useCallback((w,M)=>{if(h==="three"){const v=u.current;return v?w==="png"?v.exportPng(M):v.exportFigure(M):Promise.reject(new Error("The molecular scene is not ready"))}if(t.presentation.mode==="surface")return Promise.reject(new Error("Surface figures are not available in the publication renderer. Choose another preset."));if(f.current)return Promise.reject(new Error("A figure export is already in progress"));const k=u.current;if(!k)return Promise.reject(new Error("The molecular scene is not ready"));let S;try{S=k.captureCamera()}catch(v){return Promise.reject(v instanceof Error?v:new Error("The molecular scene is not ready"))}return new Promise((v,j)=>{const E=++g.current,D=window.setTimeout(()=>{const R=f.current;!R||R.id!==E||(R.reject(new Error("The publication renderer did not become ready")),f.current=null,a(null))},6e4),U={id:E,kind:w,options:M,camera:S,resolve:v,reject:j,started:!1,timeout:D};f.current=U,a(U)})},[h,t.presentation.mode]);return x.useImperativeHandle(n,()=>({exportPng:w=>b("png",w),exportFigure:w=>b("figure",w),captureCamera:()=>{const w=u.current;if(!w)throw new Error("The molecular scene is not ready");return w.captureCamera()},restoreCamera:w=>{const M=u.current;if(!M)throw new Error("The molecular scene is not ready");M.restoreCamera(w)}}),[b]),x.useEffect(()=>{const w=f.current,M=d.current;if(!w||!M||w.started||c!==w.id)return;w.started=!0;try{M.restoreCamera(w.camera)}catch(S){window.clearTimeout(w.timeout),w.reject(S instanceof Error?S:new Error("The publication camera could not be restored")),f.current=null,a(null);return}(w.kind==="png"?M.exportPng(w.options):M.exportFigure(w.options)).then(w.resolve,S=>{w.reject(S instanceof Error?S:new Error("Figure export failed"))}).finally(()=>{window.clearTimeout(w.timeout),f.current?.id===w.id&&(f.current=null,a(null))})},[c]),x.useEffect(()=>()=>{const w=f.current;w&&(window.clearTimeout(w.timeout),w.reject(new Error("Figure export was cancelled")))},[]),m.jsxs(m.Fragment,{children:[h==="3dmol"?m.jsx(Uy,{...t,ref:u,onEngineError:()=>s(!0)}):m.jsx(xl,{...t,ref:u}),i&&h==="3dmol"&&m.jsx("div",{className:"publication-renderer-source","data-testid":"publication-renderer-source","aria-hidden":"true",children:m.jsx(xl,{...t,ref:d,onSelect:()=>{},onSelectMany:()=>{},onSceneInfo:w=>{w&&l(i.id)},onSelectionContext:()=>{},onSelectionPositions:()=>{}})})]})}),Gd=1e4;function o0({open:e,frameCount:t,options:n,defaultReferenceId:r,initialView:o,onRun:s,onClose:i}){const a=Lo(n,r)??n[0],c=n.find(I=>I.id!==a?.id)??a,[l,u]=x.useState(a?.id??""),[d,f]=x.useState(c?.id??""),[g,h]=x.useState("all"),[b,w]=x.useState("200"),[M,k]=x.useState(""),S=x.useRef(null);x.useEffect(()=>{if(!e)return;const I=Lo(n,r)??n[0],Y=n.find(L=>L.id!==I?.id)??I;u(I?.id??""),f(Y?.id??""),h("all"),w("200"),k("")},[r,e,n]),x.useEffect(()=>{if(!e)return;const I=requestAnimationFrame(()=>S.current?.focus());return()=>cancelAnimationFrame(I)},[e]);const v=Math.max(1,Math.ceil(t/Gd)),j=Math.ceil(t/v),E=x.useMemo(()=>[{value:"all",label:v===1?`All · ${t.toLocaleString()}`:`All · ${j.toLocaleString()} sampled`},...t>100?[{value:"last-100",label:"Last 100"}]:[],...t>1e3?[{value:"last-1000",label:"Last 1,000"}]:[]],[v,t,j]);if(!e)return null;const D=Lo(n,l),U=Lo(n,d),R=Number(b),T=M.trim()?Number(M):void 0,O=!!(D&&U&&Number.isSafeInteger(R)&&R>=20&&R<=2e3&&(T===void 0||Number.isFinite(T)&&T>0)),F=()=>{!O||!D||!U||s(s0({reference:D,target:U,frames:g,frameCount:t,bins:R,rMax:T,initialView:o}))};return m.jsxs("section",{className:"rdf-sheet",role:"dialog","aria-labelledby":"rdf-sheet-title",onKeyDown:I=>{I.key==="Escape"&&(I.preventDefault(),i())},children:[m.jsxs("header",{children:[m.jsx("strong",{id:"rdf-sheet-title",children:"Pair analysis"}),m.jsx("button",{type:"button",onClick:i,"aria-label":"Close",children:"×"})]}),m.jsxs("div",{className:"rdf-sheet__body",children:[m.jsxs("label",{children:[m.jsx("span",{children:"From"}),m.jsx("select",{ref:S,value:l,onChange:I=>u(I.target.value),children:n.map(I=>m.jsxs("option",{value:I.id,children:[I.label," · ",I.atomIndices.length.toLocaleString()]},I.id))})]}),m.jsxs("label",{children:[m.jsx("span",{children:"To"}),m.jsx("select",{value:d,onChange:I=>f(I.target.value),children:n.map(I=>m.jsxs("option",{value:I.id,children:[I.label," · ",I.atomIndices.length.toLocaleString()]},I.id))})]}),m.jsxs("label",{children:[m.jsx("span",{children:"Frames"}),m.jsx("select",{value:g,onChange:I=>h(I.target.value),children:E.map(I=>m.jsx("option",{value:I.value,children:I.label},I.value))})]}),m.jsxs("details",{children:[m.jsx("summary",{children:"Advanced"}),m.jsxs("div",{children:[m.jsxs("label",{children:[m.jsx("span",{children:"Bins"}),m.jsx("input",{inputMode:"numeric",value:b,onChange:I=>w(I.target.value)})]}),m.jsxs("label",{children:[m.jsx("span",{children:"r max · Å"}),m.jsx("input",{inputMode:"decimal",value:M,placeholder:"Automatic",onChange:I=>k(I.target.value)})]})]})]})]}),m.jsxs("footer",{children:[m.jsx("span",{children:"PQAnalysis · full periodic cells"}),m.jsx("button",{type:"button",disabled:!O,onClick:F,children:"Run"})]})]})}function s0({reference:e,target:t,frames:n,frameCount:r,bins:o,rMax:s,initialView:i}){const a=n==="last-100"?100:n==="last-1000"?1e3:r,c=n==="all"?Math.max(1,Math.ceil(r/Gd)):1;return{reference:e,target:t,frameStart:Math.max(0,r-a),frameStop:r,frameStep:c,bins:o,rMax:s,initialView:i}}function Lo(e,t){return t?e.find(n=>n.id===t):void 0}function i0(e){return a0(e)?{commands:"⌘K",open:"⌘O",export:"⌘⇧S"}:{commands:"Ctrl K",open:"Ctrl O",export:"Ctrl Shift S"}}function a0(e){return/mac|iphone|ipad|ipod/i.test(e)}function c0(e){return e==="true"}function l0(e,t,n){return n<=0?0:Math.max(0,Math.min(n-1,e+t))}function u0(e,t){return e==="g"?t==="g"?{action:"first-frame",prefix:null}:{action:null,prefix:"g"}:e==="G"?{action:"last-frame",prefix:null}:e==="l"?{action:"next-frame",prefix:null}:e==="L"?{action:"next-ten-frames",prefix:null}:e==="h"?{action:"previous-frame",prefix:null}:e==="H"?{action:"previous-ten-frames",prefix:null}:e===":"?{action:"commands",prefix:null}:{action:null,prefix:null}}const Wd=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const d0=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const m0=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Tl=e=>{const t=m0(e);return t.charAt(0).toUpperCase()+t.slice(1)};var ji={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const f0=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},h0=x.createContext({}),p0=()=>x.useContext(h0),g0=x.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:o="",children:s,iconNode:i,...a},c)=>{const{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f="currentColor",className:g=""}=p0()??{},h=r??d?Number(n??u)*24/Number(t??l):n??u;return x.createElement("svg",{ref:c,...ji,width:t??l??ji.width,height:t??l??ji.height,stroke:e??f,strokeWidth:h,className:Wd("lucide",g,o),...!s&&!f0(a)&&{"aria-hidden":"true"},...a},[...i.map(([b,w])=>x.createElement(b,w)),...Array.isArray(s)?s:[s]])});const pt=(e,t)=>{const n=x.forwardRef(({className:r,...o},s)=>x.createElement(g0,{ref:s,iconNode:t,className:Wd(`lucide-${d0(Tl(e))}`,`lucide-${e}`,r),...o}));return n.displayName=Tl(e),n};const b0=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],y0=pt("chevron-left",b0);const x0=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],w0=pt("chevron-right",x0);const A0=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],S0=pt("ellipsis",A0);const v0=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],M0=pt("folder-open",v0);const k0=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],C0=pt("image",k0);const j0=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],N0=pt("pause",j0);const E0=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],I0=pt("play",E0);const F0=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],$0=pt("rotate-ccw",F0);const _0=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],R0=pt("search",_0);const T0=[["path",{d:"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",key:"15892j"}],["path",{d:"M3 20V4",key:"1ptbpl"}]],P0=pt("skip-back",T0);const D0=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],L0=pt("skip-forward",D0);const O0=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],B0=pt("sliders-horizontal",O0);const z0=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],V0=pt("x",z0),U0={back:y0,close:V0,first:P0,folder:M0,image:C0,last:L0,more:S0,next:w0,pause:N0,play:I0,retry:$0,search:R0,sliders:B0};function $e({name:e}){const t=U0[e];return m.jsx(t,{className:"icon","aria-hidden":"true",strokeWidth:1.7})}const Es=["positions","position","coordinates","coords"],Xd=["cell","cell_vectors","box"];function Is(e){const t=fe(e,[...Xd]);return!t||t.length<9?null:[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]}function Pl(e){Yd(e);const t=Ni(e,0),n=Ni(e,3),r=Ni(e,6);return{a:t,b:n,c:r,alpha:Ei(e,3,6,n,r),beta:Ei(e,0,6,t,r),gamma:Ei(e,0,3,t,n)}}function q0(e){const{a:t,b:n,c:r,alpha:o,beta:s,gamma:i}=e;for(const[h,b]of Object.entries({a:t,b:n,c:r}))if(!Number.isFinite(b)||b<=0)throw new Error(`${h} must be greater than zero`);for(const[h,b]of Object.entries({alpha:o,beta:s,gamma:i}))if(!Number.isFinite(b)||b<=0||b>=180)throw new Error(`${h} must be between 0° and 180°`);const a=$i(o),c=$i(s),l=$i(i),u=Math.sin(l);if(Math.abs(u)<1e-8)throw new Error("γ produces a singular cell");const d=r*Math.cos(c),f=r*(Math.cos(a)-Math.cos(c)*Math.cos(l))/u,g=r*r-d*d-f*f;if(g<=1e-10)throw new Error("Cell angles produce zero volume");return Ja([t,0,0,n*Math.cos(l),n*u,0,d,f,Math.sqrt(g)])}function Ja(e){Yd(e);const t=[...e.slice(0,9)],n=Qd(t);if(!Number.isFinite(n)||Math.abs(n)<1e-8)throw new Error("Cell vectors must define a non-zero volume");return t}function H0(e,t=6){const n=fe(e,[...Es]);if(!n||n.length<3)return[10,0,0,0,10,0,0,0,10];const r=[0,0,0];for(let s=0;s+2Math.max(4,s*2+t));return[o[0],0,0,0,o[1],0,0,0,o[2]]}function K0(e,t,n){if(!Number.isInteger(t)||t<0)throw new Error("Atom index is invalid");if(n.length<3||n.some(i=>!Number.isFinite(i)))throw new Error("Atom coordinates must be finite numbers");const r=tc(e,Es);if(!r||t*3+2>=r.array.length)throw new Error("Atom coordinates are unavailable");const o=ec(e),s=new Float32Array(r.array);return s.set(n.slice(0,3),t*3),o.arrays.set(r.name,s),o}function G0(e,t,n,r){const o=Ja(t);if(n.length<3)throw new Error("Periodic axes are invalid");const s=Is(e);let i=ec(e);const a=tc(e,Xd),c=a?.name??"cell";return i.arrays.set(c,new Float32Array(o)),i.header.pbc=[!!n[0],!!n[1],!!n[2]],a||(i.header.arrays=[...i.header.arrays,{name:c,dtype:"float32",shape:[3,3],byte_offset:0,byte_length:9*Float32Array.BYTES_PER_ELEMENT,unit:"angstrom"}]),r&&s&&(i=Y0(i,s,o)),i}function W0(e,t,n){if(!Number.isInteger(t)||t<0||t>=e.topology.atom_count)throw new Error("Atom index is invalid");const r=la(n);if(r===null)throw new Error(`Unknown element “${n.trim()}”`);const o=Array.from({length:e.topology.atom_count},(i,a)=>e.topology.atomic_numbers?.[a]??la(e.topology.symbols?.[a]??"")??0),s=Array.from({length:e.topology.atom_count},(i,a)=>e.topology.symbols?.[a]??Ve[o[a]]??"X");return o[t]=r,s[t]=Ve[r],{...e,topology:{...e.topology,atomic_numbers:o,symbols:s}}}function X0(e,t){const n=fe(t,[...Es]);if(!n||n.lengtha?"T":"F").join(" ")}"`].filter(Boolean).join(" "),i=Array.from({length:e.topology.atom_count},(a,c)=>{const l=e.topology.atomic_numbers?.[c]??0,u=e.topology.symbols?.[c]??Ve[l]??"X",d=c*3;return`${u} ${Oo(n[d])} ${Oo(n[d+1])} ${Oo(n[d+2])}`});return`${e.topology.atom_count} ${s} ${i.join(` `)} diff --git a/pqviewer/static/assets/inter-cyrillic-400-normal-HOLc17fK.woff b/pqviewer/static/assets/inter-cyrillic-400-normal-HOLc17fK.woff deleted file mode 100644 index 6bd8b02e94181d541bd90231f5f64301b924f27d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9780 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 diff --git a/pqviewer/static/assets/inter-cyrillic-400-normal-obahsSVq.woff2 b/pqviewer/static/assets/inter-cyrillic-400-normal-obahsSVq.woff2 deleted file mode 100644 index e7583fca2f891e8f3ad0b714b2225be51ff1abf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7712 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 GuLS_PO$vGd diff --git a/pqviewer/static/assets/inter-cyrillic-500-normal-CxZf_p3X.woff b/pqviewer/static/assets/inter-cyrillic-500-normal-CxZf_p3X.woff deleted file mode 100644 index c8aa26e85c62202c7dcfc157f017374e62ed4961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9940 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 diff --git a/pqviewer/static/assets/inter-cyrillic-600-normal-4D_pXhcN.woff b/pqviewer/static/assets/inter-cyrillic-600-normal-4D_pXhcN.woff deleted file mode 100644 index 10ec579a79bc135a3338d622168d81083ba62db2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9936 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 atg_R6^K_keup{1>@KofV^8eZ+)CB;DrhqO0 diff --git a/pqviewer/static/assets/inter-cyrillic-700-normal-CjBOestx.woff2 b/pqviewer/static/assets/inter-cyrillic-700-normal-CjBOestx.woff2 deleted file mode 100644 index 781e4b4d96733a950812b1459fb5a9016206d54d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7904 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 G`Tql0^ad{g diff --git a/pqviewer/static/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 b/pqviewer/static/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 deleted file mode 100644 index 4ee0d275a35d0c1598a922cba8673d5f821b5bf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10232 zcmV~104J6J0RR9100000000000000000000 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

3I$Z&oE@k!4-6BSfz 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 yKHr{w&+OmdbPt}4zayjfSyyc0001S{k_=$ diff --git a/pqviewer/static/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff b/pqviewer/static/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff deleted file mode 100644 index 6b6dc78bec954390ee46707d5d866d2b14029fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13336 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 diff --git a/pqviewer/static/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 b/pqviewer/static/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 deleted file mode 100644 index c21492cd3d14d1079c0ac6db1b94b3f3102e16db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10432 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 S_T3l!^!p2DhCcqK*Zx1DU$Wi+ diff --git a/pqviewer/static/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 b/pqviewer/static/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 deleted file mode 100644 index e00289e0658c5da2be3c84d864962950c02c7ee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10484 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 z 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 diff --git a/pqviewer/static/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 b/pqviewer/static/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 deleted file mode 100644 index 1a5c3ce7279c3e233c44c9f355bf611f21a65546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10496 zcmV+bDgV}YPew8T0RR9104V?f5C8xG08}6V04SaS0RR9100000000000000000000 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 diff --git a/pqviewer/static/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff b/pqviewer/static/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff deleted file mode 100644 index 6fb27004025e709ae81fc1c632a8e42efc91ec4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13408 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 Nt@Rlf#c~||e*jrR((?cS diff --git a/pqviewer/static/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 b/pqviewer/static/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 deleted file mode 100644 index 7cb1d6bf2bef5da09376df54940a4274b9d18a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5264 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 WY8Zz%|BJNm-~RolMh8&`0002jA3T@< diff --git a/pqviewer/static/assets/inter-greek-ext-400-normal-KugGGMne.woff b/pqviewer/static/assets/inter-greek-ext-400-normal-KugGGMne.woff deleted file mode 100644 index 96f1f6020f0d4f464fc56537fb0b673df836d640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7064 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 diff --git a/pqviewer/static/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 b/pqviewer/static/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 deleted file mode 100644 index 4062b662e17f3f7bc0a0ec04777ad08f48e9ab8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5428 zcmV-470c>(Pew8T0RR9102MR<5C8xG06iQ402I~$0RR9100000000000000000000 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 diff --git a/pqviewer/static/assets/inter-greek-ext-600-normal-B8X0CLgF.woff b/pqviewer/static/assets/inter-greek-ext-600-normal-B8X0CLgF.woff deleted file mode 100644 index b3d15d13d46cd8b583fa1855f5bf873b8f3b0853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7212 zcmaKRWmH^Euf-9Rdx@&j!u2bDz=SLkcki0wq1%PZ6900t(y?7~7|A+k5{@(_am6HbmQ1p

RL!K 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 diff --git a/pqviewer/static/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 b/pqviewer/static/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 deleted file mode 100644 index 83e7de93d5837a6bb85528302ea288c6549fd7eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5432 zcmV-8702p#Pew8T0RR9102Md@5C8xG06jne02J5&0RR9100000000000000000000 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 diff --git a/pqviewer/static/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff b/pqviewer/static/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff deleted file mode 100644 index e36fd56f1c0a074846707fe4e2e63d044295100e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7216 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 diff --git a/pqviewer/static/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 b/pqviewer/static/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 deleted file mode 100644 index af7bcba9e06b2d9e51804c02a5f0b0fb3772aa2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5444 zcmV-K6}#$pPew8T0RR9102M?45C8xG06i1{02Ji_0RR9100000000000000000000 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 LFFLdUz7_I+7;Z@| diff --git a/pqviewer/static/assets/inter-vietnamese-400-normal-DMkecbls.woff2 b/pqviewer/static/assets/inter-vietnamese-400-normal-DMkecbls.woff2 deleted file mode 100644 index ba7767f2a55fe4294cd0b8f90ca504ebff8a18db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4972 zcmV-y6O-(BPew8T0RR91026Eg5C8xG05e1Y022xT0RR9100000000000000000000 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 diff --git a/pqviewer/static/assets/inter-vietnamese-600-normal-BuLX-rYi.woff b/pqviewer/static/assets/inter-vietnamese-600-normal-BuLX-rYi.woff deleted file mode 100644 index 264f0f55b94c50c16b01fe5f37378e1b121cbf1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6640 zcmYjVWmFtZvtHbSI|=UY7Tjf#po_b^L(l}5#SP!0@RHNy(O1&ZlLY`!s^B~l9QV{36nmOF+HY(ry~}$$ zc-I90!0G}3NCP<;RYx6cE#W#u9Pn`gIE473j7l8fB%HH=%hYf%kjM~#9bA0^;M@ne z+zJ37s^yppdAhh;!}W+o;B!*I!4emlV&-ZY0H2ox?hD{G95jF$z>S-wt1X;^^9XEk zTOZ*hYX=W^Zy&f1xo}wv{@v9XCIEzh73={7R75QzK+pRy32u2Jy{_c;55F_iUF*Cnf<=IZUVFj8xq=F-bWjL+{raJxy(^|z8Z5*9OI7C zube%&c*i4S{& z#Wh4^wZ(N+=*VpFW@Y4dFkdS*72mM$Lolj0QTeIF18(VVQ^-DPV}BKlKmK=Nz*wL5 zVG3fbwJZ&u_YzrElii)s3>a2&yth_kGxkVF@tNo|Q8^}=SuejQ(ivO%aGxERDL+;< z%dTJ6Ar1vMl~J9a;#~sU1*ZX?9cw3Sey7w!%X&K_P80}2_r?IwW$ zA!&LEM;U=l1Pe{iGeIRogZZ)8t+L%ipJdu?($$wP3(dCM*mZkR2E6F#JwxLl7W;>{%> z;f-QE9yUozQH}esSg`IO+yu~zdYiRyx!>4B&eXJ@hbz{I5vPBjmTY>?xk|pMEgsFm zxadN^U?I5RrDs^$;LI`>=NtD^e~w!;q*WuNK3a0@fRZBsukP$k%Fo)yS2LLF`G?1U zf`?)0`=HC*b}G?nn5awNDrHJghs4tf&Q+_}{N^b`SV!a235m6IWcF=3P6^^?^!}fH zy>}QG1FvLKXi<78dp#-~Y_GMJG0_gl9q4Tobl6CV2Bf;0{2y`H?F?RwkP zP9-0M+y@f2%XhZ476qsL!l4$BVVNnGP^|g=hh2ZnX#*`9H*#}Q&BUOcDb+_rDqGW{ zgiDLXd;sMpT$JWPd3AVTrqC%>wIX53I|)hO|o(@ieW4^n9}-q^VNI+cf_Y;bQr zpltN(AEsKS>1K}-S$awEoSue^3e&e2+7&_b|?;* zXFah(c8w9zo{mhGA>F(co(5tTRe`<~7H*iAqEekAsHjv8P5#FyrjAbl>E z4r9d4Vc5R@MELpC13}4G zKBIK#0YAvIkpwHf#RF`{g?o?3ZL9JS5oQ+Ae}9Q6GOeS-i$Ryiz(xj~XjEHkHjEzU zGdA2>s5zm`uyoUE1tW!u;k@}TwkW;z2nf=6fVwp)2Y?gdUjU`CgCP8*3XH>J<9o{& zI1BT78H~IQyo|+L9lpThS5X0iXa;q$X=7!KXn@)iGG}Nh%xGr+TcTFsyx$5G#lV;WVywNY0t1+fp*P9^{ch~DFA*kzZuSWjy#j>0E@p&^6&!o@=JRtD@ ziI*1uZomphJS`ZJmq>oUkrv1$Is-hcT{fBaSNBHbXGsart38Vji~{|^HVfhArCAE9 zkM47qgLL!^!tJLpRta#b9>?K4E%{zejoYHvHm(TqauoHr zl~^{snP?@Z-`OL^bZyb|@MQKo=T!TH{^I(-W*QKcBkb?R&yZ865A5Dt3z~ZQJwc=~ z{!vCV6iZd69Nf#sGO)32ylQ85JSIW>Lmfn_MR19zk>^W3f* z6j1#B%G(1+^0W_X9jv@P@xpS+y_*bE`YRI@9~3xnw3-A>xnU)S8)<3qxJ5w<)6Wrx{0l;d9&~H@CBdgQol|ki z6TM2NcTeDCEe&5j34x=(`l5#|=@l(o)rgNOC2pA*BcFQdsC zmx(Huj{1;$hgX*}FGCH2FTUsWJf6u}v>z~?m&e?nIyrY#*1nwH+;nugN2Ni-KFk`s z6XQOebp`y*fZlh%_1UTHey+u#zHgu&?WQ8)QZOPqIUXmYBm^h&GBv2b$7<)vs~x)i zm1pgu`s>7fCU{vZqD|d-e4l`>40)3Bb^-KVkII)+-fNcQyGng}?%y5B`WeYW(f>lT zSvc3L2am}s7!_>fP4Ilw=C8Y~2ttVo?z}$nzmE|$Xa|8mLO^|NcE7USkrH0pd-6#3 z+~FAXJ*MCDXgsNgI6P>do6p8bHaP_n9w=zz(wE~tv7Oxw8xKN%MWRI63kv7!p<_)E zgq<}%`{3VB_~>5;SZ)Of`mZ*ff6K3G;7q-ePD$W&QguUUfOf0|-&FO937UTa?FaI( zFZjED;(5ZT*Ptsd|k-2d{85rq5|IGY{NRi~4;*SITBw|SkgwBGP?SZIk@$VG=XY4xws3t$zm0;%)Glz6=#u*Iy| zLgj}UerBsUA0u6RsJ*KE^3Eu~Xwui7>HgQ2eS0}O=4MEJ0@k`=abw!j)GdOElXZ%i1kQI^0KvtOj6TJkc0JSRe>EX%VdzFN?N6Q z6<}>*`!e15F0i{T9 z@IxLTNJvjX_V4G(Ne~sVowkAPdSPsQv$OcyeZzijnL@1Gt`)mZ{Z0Ns%IRR3CYDCd z#+mR{Y!`Q@G`}3*qP!gq-a#I5>et(ud#7VDn_R_286a2FJ&z3QpA9*wlMUG9pt?VJ zNAsmGCK}47Quh377K-R6!5{=t2-lo;R0@)N6zKm@+ktu)m-t|w%~H0K^|@Nzl+d(Z z7|lHAO^)U0rVZ0I8?&#=H{Yfa--#mM;)+PTq3V<*Jcw#GmV**!QBx3y7q?lY_<5@6 zT^ZId+u(`bIMwgb8=g}+dI^9NCG=<*#lTF?`s`EBrQk3Zqx%Y#EIO%9*X{+jJyo+o zB;FdAVX=wyB9w83@q4dcc)r@T!x`vsP)Nahmc9By(C4#fTX;lp4CJOiP__LDJ*@M? zpLDK=(A!fecZbRS?ZsGkadG$9*w^A>s!1{rrCOB1zhwc(D@EHAzk$9WAwhFPkiPCpF_*c`_?-ZhnmKyFQyYKjdTf1A)QS(KcNpcEWH#Vgwgac<_^!o1eB0bbxe}LUZkg2+G zKKo!I-7=XUvv0F{4tTG7Nx>~8)tSIP#m_KYGkf=NzUm3vtfe;JFTFOdt`=L6n%}JJ zd?r$QR?b&BZ|Iz1ZG0L5rLta@)UUXk9wV0WD~ru_&efEobXT%gTT8Hn_E&mU%=_NH z+8(w`l6pVfu7O1*>UR)y5|^Du>XfKq7ZbuPO1>Pzf;Ys5yw1df&SNdCa1MLm z$bKqS*&wGL2vSa3%WsuslLfQ0mezj;Hj590MJ!>`#?tc!khjU9eb3+d`H}40u)z<( zFrls%!Tu_IkJ%n)B*EqyH3~nh`YxqLb^mmUKbb|c^Ym?lSE&_kCOb=NbX5RVUIcsN z((90ji1TF=o#l!N`JymoyfDR@VW>tF9}D@QCb)Vj5*FRNQRjaoAUCbol&HkdKL)om@+e&-C4NzOA`o| zh)I|jRfZ{7CNw=?D^Ka6f1E;AJewh>dB!q$q~mz@%F5T4skw-f;eO4 z1ajw_C1;=x2Y~d|Gt9Kpv$eccMv-5tZNs#j@L|@Inc@N|1dF68Z0D4XSz=$%fBgu{ra)=8R#g9xHlC$k9KPKQOurdS86<2 z^LM8xZSVHofR=skN1nKC#>eJ{kMdi)RA@?XXBjhc{6m9DU(yDRK53ieYTGpTa2aqs zOaC&p+Mg3W`71(iqAO_VrJ}CLRL{@)ruzsYwIZWC>3m0Oi&Jmq(Yg&I`!HTH1mt44 zui$1QPxd}NS|E?B554K$GjBX*SL5W;;9Rr+SO_qcZmKEC50GA{R2b2kwWH%4<^w|Gu};o`EWK$ zRH7PkW}!z;%IjRI)8%2W>iViN16URH_UJ5^&(4o}6jbG&(uq4AjN)zYRXx#fEC8y0 zLfB#exrU6CSR+d4tr&KD9|h#4e*2&TMY@Pn!y~f(Y#=^qF(nHnZ zd>p*r3LER0=mj7qkF79EAGAr;J|>bF4xW>Z*xFej#vuX>4zYm&EC1O@ooU8?lxf=8 z|Li_US1Cd^-D3mDyF@*Q-{-1F|JBI=3NvD1&(zX1P2sW(G60!K^za_(rf_t0WLoKP z61;clnA13zbVTL0y0s~4w#p)>khU~Xy^e=7=8H}1D@Ycd*Ls=y0g9uMjM;qc1#~U7 zP%QS|=gvZdb}Xsvc}EsvN&c(&Z_d1L$zlm7Wyex0;dSLYn*F^$S7rAxix@MZ?JNy| zkbGQ?gh^@101q*rApoO*T@a(hQPZrCn@|-pLnRnSb4ZD|0qA7`lfwO`>_t-JdZhOV@Q7-@iQ|rA$S(dQkcKl0M9`Z-@xfk~Nq*;QG=iMd zuU|LmA|*Ci(>Q$0KWBkDk=s^Jvp6Jt9`Z=^bBOxf|B-YFVz(Ce5NBwWEyC`GZfeQ) zCaN};sQjDsyfT;l_^wyun(#Halha(;+L2dK$8S_?&}GnXP+?FiDxFS`w;;E4tva|^ z0Q5Zx3Ggirz>3rUePinb(+g1V^j*~3ee znw6VEpy@gV0XLcI@B9ILHK5yGrGgCmcovo#02S8vL@Wnx2SKjlmV%WZv7Tn&1SwzD zti916pZuu6&b#>ugD5DvjjrM<5_3b10&|YyN}`EFm4_gT+PFWt=(MNkjY`_~c+@yU zSqy9;;eI;>k#1ZA?@ivCMh+aw?})YaGVbyFnIp`azcQ zdbpoz%p)!)bnS@(#<24j$A^EEr-;Iu<4ENieX=xT$eON^7vLhiB21Z;lCYFQ68y7v{c&e=_T;m^0mBH`SfZ6K~( ztXi#e9B-lQxH;b6_$a58lqcf5x2EvbwB753Y13`J?e@=1x;?j9*ZbQoLUY*d$#AXI zOT26NpWYq>8UWz;ZksXOk1pFKM>;x+4XbT}G+KH_PI`9c+Jds;s&5q}s)rO`j8@*Z z2i_OjSvc6ZSUK6bSvnGTSG&5L98*Ltty?#C|8YZ^7O4AY7%2tfOdQtlQn)M9fA)>#{r*o^FfEMGYE5!Jy$MI)vX{u4L+hJj z{Ce~W@N%*^%X)cTLVpP72GackLc|w0zhU$KZ4A-xH_JP!eT32Aq?t*iCHpA3Ni_le z4^x&G?T#uWn6V~!`;MRH+Y|(SmfAO!_&b_AmQU{?_tO@Rl1uqm*5XPN_Y{`7ip5kh tBe?vlU;3Roo9wmoqq)FU=0vowyzswU*%Y-ECZSmY0Uj1n3jhG%{{UW2kNE%q diff --git a/pqviewer/static/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 b/pqviewer/static/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 deleted file mode 100644 index e7b7814b4a6ec44608bddbc6d89c859d9b03dbb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5100 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 PQViewer - + - +