.software-page{--portal-sans:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;--portal-mono:"SFMono-Regular",Consolas,monospace;color:#172b30;min-height:calc(100vh - 74px);font-family:var(--portal-sans);background:#f4f5ef;padding:36px 26px 70px}.software-index{padding:65px max(24px,50vw - 590px) 90px}.software-heading{border-bottom:1px solid #a8b8b2;padding-bottom:35px}.software-heading>p,.software-tool-copy>p:first-child{font:11px var(--portal-mono);letter-spacing:.12em;color:#526e68}.software-heading h1{letter-spacing:-.06em;margin:18px 0 25px;font-size:72px;line-height:1.1}.software-heading>div{justify-content:space-between;gap:20px;display:flex}.software-heading small{font:10px var(--portal-mono);color:#768983}.software-tool{color:inherit;background:#fcfdf9;border:1px solid #b8c8bc;grid-template-columns:1.15fr 1fr;margin-top:35px;text-decoration:none;display:grid}.software-preview{background:#111e25;align-items:center;display:grid;overflow:hidden}.software-preview svg{width:100%;display:block}.software-tool-copy{padding:35px}.software-tool-copy h2{justify-content:space-between;margin:25px 0;font-size:30px;font-weight:550;display:flex}.software-tool-copy>p{color:#526760;font-size:14px;line-height:1.9}.software-tool-copy>div{color:#7d8c83;border-top:1px solid #d9e2d5;padding-top:20px;font-size:11px;line-height:1.9}.software-tool-copy>b{margin-top:24px;font-size:13px;display:block}.software-tool:hover .software-tool-copy>b{color:#497323}.software-index-note{color:#6f837b;margin-top:28px;font-size:12px;line-height:1.8}.optics-page{padding-top:28px}.ob-heading{justify-content:space-between;align-items:end;gap:30px;max-width:1660px;margin:0 auto 28px;display:flex}.ob-heading a{color:#59726a;font-size:12px}.ob-heading>div>p{font:10px var(--portal-mono);letter-spacing:.13em;color:#72847c;margin:20px 0 12px}.ob-heading h1{letter-spacing:-.04em;margin:0;font-size:42px;font-weight:600;line-height:1.1}.ob-heading h1>span{font:10px var(--portal-mono);letter-spacing:.08em;color:#748780;margin-left:22px;display:inline-block}.ob-heading>p{color:#62776c;margin:0;font-size:13px;line-height:1.9}.ob-app{background:#f9fbf5;border:1px solid #9cb1a7;max-width:1660px;margin:auto}.ob-app button,.ob-app select,.ob-app input{font:12px var(--portal-sans);border-radius:3px}.ob-app button{cursor:pointer}:is(.ob-app button:focus-visible,.ob-app input:focus-visible,.ob-app select:focus-visible){outline-offset:3px;outline:2px solid #4c8174}.ob-toolbar{background:#e8eee2;border-bottom:1px solid #c2d0c5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:13px 18px;display:flex}.ob-toolbar>div:first-child{align-items:center;gap:9px;font-size:13px;display:flex}.ob-toolbar small{font:9px var(--portal-mono);color:#688074;margin-left:8px}.ob-live{background:#5c8f42;border-radius:50%;width:7px;height:7px}.ob-actions{flex-wrap:wrap;gap:7px;display:flex}.ob-actions button,.ob-actions select{color:#355644;background:#f6f9ef;border:1px solid #b7c7b3;padding:7px 10px}.ob-actions button:hover{background:#dcebc9}.ob-layout{grid-template-columns:202px minmax(0,1fr) 230px;align-items:start;display:grid}.ob-inventory{border-right:1px solid #c9d6c9;min-width:0;padding:22px 12px}.ob-inventory header{padding:0 8px 10px}.ob-inventory small,.ob-properties>small,.ob-instrument-grid>header>small{font:9px var(--portal-mono);letter-spacing:.1em;color:#7b9082}.ob-inventory h2,.ob-properties h2{margin:8px 0;font-size:19px;font-weight:550}.ob-inventory header p{color:#6a8170;font-size:11px;line-height:1.8}.ob-inventory section{margin-top:20px}.ob-inventory section h3{color:#8b9c8a;margin:0 0 8px;padding:0 9px;font-size:11px}.ob-inventory section button{color:#345445;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:9px;width:100%;margin:3px 0;padding:10px 7px;display:flex}.ob-inventory section button:hover,.ob-inventory section button[aria-pressed=true]{background:#e5edda;border-color:#b7c8a6}.ob-symbol{background:#edf2e7;border:1px solid #c0d0b7;border-radius:5px;flex-shrink:0;place-items:center;width:27px;height:27px;font:19px Georgia,serif;display:grid}.ob-inventory section button>span:nth-child(2){font-size:11px}.ob-inventory section button small{font:7px var(--portal-mono);letter-spacing:0;color:#93a18e;margin-top:4px;display:block}.ob-inventory section button>b{color:#889e76;margin-left:auto;font-weight:400}.ob-place{color:#fff;background:#365a42;border:0;width:100%;margin-top:15px;padding:10px}.ob-table-wrap{border-right:1px solid #c9d6c9;min-width:0}.ob-table-top{color:#a5bec4;background:#1d3039;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 15px;font-size:10px;display:flex}.ob-table-top>div{flex-shrink:0;display:flex}.ob-table-top button{color:#abc6c9;background:#263e46;border:1px solid #40535a;padding:4px 9px;font-size:10px}.ob-canvas-scroll{background:#111e25;width:100%;overflow:auto}.ob-table{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;min-height:350px;display:block}.ob-table.placing{cursor:crosshair}.ob-object{cursor:move}.ob-object.off{opacity:.25}.ob-id{font:11px var(--portal-mono);fill:#c2d2d0;pointer-events:none;paint-order:stroke;stroke:#111e25;stroke-width:4px}.ob-rotate{cursor:crosshair}.ob-table-caption{font:10px var(--portal-mono);fill:#6d9299}.ob-status{color:#8ca9ad;font:9px var(--portal-mono);background:#20323a;justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.ob-instrument-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 18px;display:grid}.ob-instrument-grid>header{grid-column:1/-1}.ob-instrument-grid>header h2{margin:6px 0;font-size:21px;font-weight:550}.ob-instrument-grid>header p{color:#738778;margin:0 0 8px;font-size:11px}.ob-reading{cursor:pointer;background:#f4f8ee;border:1px solid #c5d3bf;min-width:0;padding:15px}.ob-reading>header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:15px;display:flex}.ob-reading>header>span{color:#526e5b;overflow-wrap:anywhere;font-size:11px}.ob-reading>header>b{font:7px var(--portal-mono);color:#879d78;font-weight:400}.ob-reading>strong{font:32px var(--portal-mono);letter-spacing:-.06em;color:#244333;display:block}.ob-reading>strong small{font:10px var(--portal-sans);letter-spacing:0;color:#8a9c7f;margin-top:5px;display:block}.ob-reading p{color:#526c5c;margin:12px 0 0;font-size:12px;line-height:1.7}.ob-reading small{color:#7e947a;overflow-wrap:anywhere;font-size:9px;line-height:1.8}.ob-chart{background:#1a2d35;border-radius:3px;width:100%;margin:12px 0 6px;display:block}.ob-chart text{font:8px var(--portal-mono);fill:#9cb7b7}.ob-chart-grid{fill:none;stroke:#66838b40;stroke-width:.7px}.ob-reading p.ob-unconnected{color:#8d9b83;min-height:60px;font-size:11px}.ob-properties{min-width:0;padding:24px 17px}.ob-selected{color:#3e5d44;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;margin:22px 0 16px;display:flex}.ob-selected b{font:13px var(--portal-mono)}.ob-selected span{font:8px var(--portal-mono);color:#8d9b84}.ob-properties label{color:#7d8e77;gap:7px;margin:15px 0;font-size:10px;display:grid}.ob-properties input:not([type=checkbox]):not([type=range]),.ob-properties select{color:#3a583e;background:#fffef7;border:1px solid #c6d2bb;width:100%;min-width:0;padding:8px 9px;font-size:12px}.ob-properties label.ob-toggle{align-items:center;display:flex}.ob-number{align-items:center;gap:8px;display:flex}.ob-number>small{font:9px var(--portal-mono);white-space:nowrap;min-width:22px}.ob-properties input[type=range]{accent-color:#617d47;width:100%}.ob-mini-actions{gap:8px;display:flex}.ob-mini-actions button{color:#597246;background:#eff4e6;border:1px solid #c5d2bb;flex:1;padding:6px}.ob-help{color:#85917e;font-size:11px;line-height:1.9}.ob-color{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.ob-delete{color:#8e6650;background:#f7f0e7;border:1px solid #c9b9aa;width:100%;margin-top:22px;padding:9px;font-size:11px}.ob-scene-list{border-top:1px solid #cfdbc5;margin-top:25px;padding-top:14px}.ob-scene-list>summary{cursor:pointer;color:#6a7b5c;font-size:11px}.ob-scene-list>button{text-align:left;color:#7c8d71;overflow-wrap:anywhere;background:0 0;border:0;width:100%;padding:8px;font-size:10px;display:block}.ob-scene-list>button[aria-pressed=true]{color:#425d29;background:#e2edcf}.ob-notice{color:#52703c;background:#e5efda;border-top:1px solid #c4d2b5;margin:0;padding:14px 20px;font-size:12px;line-height:1.8}.ob-derivation{background:#edf2e6;border-top:1px solid #adbea8;padding:20px 25px}.ob-derivation>details>summary{cursor:pointer;justify-content:space-between;gap:25px;font-size:14px;list-style:none;display:flex}.ob-derivation summary span:before{content:"＋";color:#779663;margin-right:14px}.ob-derivation details[open] summary span:before{content:"−"}.ob-derivation summary small{color:#8a9b7d;font-size:10px}.ob-derivation-body{max-width:1000px;padding:20px 0 5px}.ob-derivation h3{font:13px var(--portal-mono);color:#5e7549;margin:24px 0 12px}.ob-derivation p{color:#6b7f5c;font-size:12px;line-height:2}.ob-derivation a{color:#506e3c;text-decoration:underline}.ob-event-list{background:#f6f8ef;border:1px solid #c8d4ba;max-height:280px;padding:12px 16px;overflow:auto}.ob-event-list p{margin:3px 0}.ob-warning{background:#f1e6ce;padding:12px}@media (min-width:1600px){.ob-table{min-height:480px}.ob-layout{grid-template-columns:225px minmax(0,1fr) 250px}}@media (max-width:1150px){.ob-layout{grid-template-columns:180px minmax(0,1fr)}.ob-properties{border-top:1px solid #c5d2bb;grid-column:1/-1;display:block}.ob-properties>label{vertical-align:top;width:180px;margin:12px 20px 12px 0;display:inline-grid}.ob-properties>.ob-toggle{display:inline-flex}.ob-properties .ob-selected{justify-content:start;gap:25px}.ob-properties>.ob-help{max-width:700px}.ob-delete{width:180px}.ob-scene-list button{width:auto;display:inline-block}.ob-table-wrap{border-right:0}.ob-heading h1>span{margin:10px 0 0;display:block}}@media (max-width:700px){.software-page{padding:25px 12px 45px;overflow-x:clip}.software-heading h1{font-size:50px}.software-heading>div{display:block}.software-heading small{margin-top:14px;display:block}.software-tool{grid-template-columns:1fr}.software-tool-copy{padding:25px}.software-tool-copy h2{font-size:26px}.ob-heading{margin-bottom:20px;display:block}.ob-heading h1{font-size:34px}.ob-heading>p{margin-top:18px;font-size:11px}.ob-layout{grid-template-columns:minmax(0,1fr)}.ob-inventory{border-bottom:1px solid #c8d4bf;border-right:0;padding:15px}.ob-inventory header p{margin:5px 0}.ob-inventory header h2{margin-right:15px;font-size:16px;display:inline}.ob-inventory header>small{margin-right:10px}.ob-inventory section{flex-wrap:wrap;gap:3px;margin-top:12px;display:flex}.ob-inventory section h3{width:100%;margin:0 0 4px;padding:0}.ob-inventory section button{width:calc(50% - 2px);margin:0;padding:6px}.ob-symbol{width:24px;height:24px;font-size:16px}.ob-inventory section button>span:nth-child(2){font-size:10px}.ob-inventory section button small{font-size:6px}.ob-table{min-height:330px}.ob-toolbar{gap:12px;padding:12px}.ob-toolbar small{display:none}.ob-actions{gap:5px}.ob-actions button,.ob-actions select{padding:6px 7px;font-size:10px}.ob-actions select{max-width:150px}.ob-table-top{padding:8px 10px;font-size:9px}.ob-instrument-grid{grid-template-columns:1fr;padding:18px 12px}.ob-status{flex-wrap:wrap;font-size:8px}.ob-properties{padding:20px 15px}.ob-properties>label{width:calc(50% - 12px);margin-right:12px}.ob-derivation{padding:18px 14px}.ob-derivation>details>summary{line-height:1.9;display:block}.ob-derivation summary small{margin-left:28px;display:block}}.ob-actions select{width:auto;max-width:215px}.ob-properties input[type=checkbox]{flex:none;width:14px;margin:0}.ob-properties label.ob-toggle{justify-content:flex-start}.ob-inventory{scrollbar-width:thin;max-height:1050px;overflow:auto}.ob-inventory header>input{color:#365140;background:#fffef6;border:1px solid #bbcbb4;width:100%;margin-top:8px;padding:8px;font-size:11px}.ob-category{border-top:1px solid #d2ddc9;margin-top:14px;padding-top:12px}.ob-category>summary{color:#526e44;cursor:pointer;font-size:12px}.ob-category>section{margin-top:8px}.ob-csv{color:#547141;background:#e4edd9;border:1px solid #b6c9a2;margin-top:12px;padding:6px 9px;display:block;font-size:10px!important}.ob-reading>small{margin-top:8px;display:block}.ob-reading .ob-chart{min-height:95px}@media (max-width:700px){.ob-inventory{max-height:530px}.ob-category>section{flex-wrap:wrap;display:flex}.ob-category>summary{font-size:11px}.ob-inventory header>input{max-width:300px}}.ob-sample-inspector{background:#f0f5e8;border:1px solid #bed0b3;min-width:0;margin:18px 0;padding:14px 12px}.ob-sample-inspector h3{color:#3c603e;margin:0 0 12px;font-size:13px}.ob-sample-inspector label{width:100%;margin:12px 0;display:grid}.ob-material-apply{color:#f2f7e8;background:#375e46;border:1px solid #375e46;width:100%;padding:9px 10px;line-height:1.5}.ob-material-apply:hover{background:#466e51}.ob-parameter-origin{color:#617153;overflow-wrap:anywhere;background:#e5edda;padding:10px;font-size:10px;line-height:1.9}.ob-material-sources>summary,.ob-sample-meta>summary{cursor:pointer;color:#60784e;font-size:10px;line-height:1.8}.ob-material-sources a{color:#526e42;overflow-wrap:anywhere;margin-top:10px;font-size:10px;line-height:1.7;display:block}.ob-sample-inspector .ob-help{font-size:10px}.ob-sample-meta{border-bottom:1px solid #ccd9c2;margin-bottom:12px;padding-bottom:10px}@media (max-width:1150px){.ob-sample-inspector{max-width:650px}.ob-sample-inspector>label{vertical-align:top;width:calc(50% - 12px);margin-right:12px;display:inline-grid}}@media (max-width:700px){.ob-sample-inspector>label{width:100%;margin-right:0;display:grid}}
