:root{color-scheme:dark;--bg:#0c1014;--panel:#12181e;--stroke:#263039;--muted:#73838e;--text:#e0e8e9;--accent:#b6e6c7;--orange:#eca678}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:12px}button,input{font:inherit}button{color:inherit;cursor:pointer;border:1px solid var(--stroke);background:transparent;border-radius:5px;transition:background .15s,border-color .15s}button:hover{background:#263238;border-color:#627a78}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header{height:86px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text)}.brand-icon{font-size:48px;line-height:1;color:var(--accent);transform:rotate(-6deg);font-family:Arial;font-weight:200}.brand strong{font-size:22px;letter-spacing:3px;font-weight:550}.brand-dot{color:var(--orange)}.brand small{display:block;font-size:8px;letter-spacing:2.1px;color:var(--muted);margin-top:7px}.header-note{color:#87959c;font-size:11px;letter-spacing:1px;display:flex;align-items:center;gap:9px}.live-dot,.mini-dot{display:inline-block;width:5px;height:5px;background:#9fd4b1;border-radius:50%;box-shadow:0 0 9px #9fd4b144}.header-sep{margin:0 15px;color:#394750}.subtle{padding:9px 14px;color:#9cacb5;font-size:11px}.subtle span{margin-left:6px}main{display:grid;grid-template-columns:236px minmax(0,1fr) 270px;height:calc(100dvh - 124px);min-height:580px}.panel{padding:24px 20px;background:var(--panel);overflow:auto;scrollbar-width:thin;scrollbar-color:#35434b transparent}.library{border-right:1px solid var(--stroke)}.inspector{border-left:1px solid var(--stroke)}.section-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:550;letter-spacing:1px;margin-bottom:21px}.tag{font-family:monospace;font-size:8px;letter-spacing:1px;color:#667a84}.row{display:flex;align-items:center;justify-content:space-between}.label-row{color:#a6b3b9;margin-bottom:16px}.segmented{display:flex;padding:3px;background:#0c1217;border:1px solid var(--stroke);border-radius:5px}.segmented button{border:0;padding:4px 11px;color:#83939d;font-family:monospace}.segmented button.active{color:#c8ecce;background:#2a3a32}.laser-row{display:flex;align-items:center;gap:8px;height:34px;color:#81929c}.laser-row>span:first-child{font-family:monospace;color:#5c6e78;font-size:9px;margin-right:auto}.color-choice{width:23px;height:23px;border-radius:50%;padding:5px;border-color:transparent}.color-choice i{display:block;width:11px;height:11px;border-radius:50%}.color-choice.green i{background:#8fe6af;box-shadow:0 0 8px #8fe6af44}.color-choice.red i{background:#fb7769;box-shadow:0 0 8px #fb776944}.color-choice.active{border-color:#839c95;background:#25322e}.color-name{min-width:29px;font-size:10px;color:#9cabb3}.range-label{display:flex;justify-content:space-between;gap:6px;color:#a5b2ba;margin-top:21px;margin-bottom:12px;font-size:11px}.range-label output{color:var(--accent);font-family:monospace;font-size:11px;white-space:nowrap}input[type=range]{appearance:none;width:100%;height:3px;margin:3px 0;background:#34423f;accent-color:var(--accent);cursor:pointer;vertical-align:middle}input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid #c9ebd2;background:#1c2b26;width:11px;height:11px;border-radius:50%}hr{border:0;border-top:1px solid var(--stroke);margin:25px 0}.hint{color:#647782;font-size:10px;margin:-10px 0 15px}.catalog-item{width:100%;display:flex;align-items:center;gap:11px;padding:9px 10px;border:1px solid transparent;border-radius:6px;text-align:left;margin:3px 0}.catalog-item:hover{border-color:#3b514b;background:#202b28}.optic-icon{height:32px;width:36px;display:block;flex-shrink:0}.catalog-name{font-size:11px;color:#bcc9cd}.catalog-name small{font-size:8px;display:block;color:#5e7580;letter-spacing:.7px;margin-top:5px;font-family:monospace}.catalog-add{margin-left:auto;color:#678277;font-size:17px;font-weight:300}.library-foot{font-size:9px;color:#657c83;margin:25px 0 0;display:flex;gap:8px;align-items:center}.mini-dot{width:4px;height:4px;background:#778f91}.viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1a252c,#0d141a 80%);min-width:0}#world{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#world.dragging{cursor:grabbing}.scene-top{position:absolute;top:29px;left:29px;right:28px;pointer-events:none;display:flex;justify-content:space-between}.eyebrow{font-family:monospace;letter-spacing:2px;font-size:8px;color:#73918c}h1{font-size:24px;font-weight:450;letter-spacing:1px;margin:12px 0 9px}.scene-top p{font-size:11px;line-height:1.8;color:#7c939c;margin:0}.scene-number{font-family:monospace;font-size:8px;letter-spacing:1px;color:#526973;margin-top:4px}.view-tools{position:absolute;right:23px;top:126px;display:flex;gap:3px;padding:4px;background:#0d151bce;border:1px solid #2b383e;border-radius:7px}.view-tools button{border-color:transparent;font-size:10px;padding:7px 9px;color:#758b93}.view-tools .active{background:#273c35;color:#bee3c9}.scenario-area{position:absolute;left:26px;right:26px;bottom:23px}.scenario-area .section-heading{margin-bottom:12px;font-size:10px;color:#a4b4ba}.scenario-caption{font-size:9px;color:#4f6670;letter-spacing:0;font-weight:400}#scenarios{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.scenario{padding:12px 9px 11px;background:#121c22dd;text-align:left;border:1px solid #29363d;border-radius:6px;min-width:0}.scenario.active{border-color:#8aa996;background:#25332e}.scenario small{font-family:monospace;color:#5f7c80;font-size:8px}.scenario strong{display:block;font-size:11px;white-space:nowrap;font-weight:450;margin-top:7px;color:#a9bec2}.scenario.active strong{color:#d2eddb}.scenario-icon{height:24px;margin:8px 0 5px;color:#8ba8a2;display:block;opacity:.8}.scenario svg{width:100%;height:100%}.scene-legend{position:absolute;left:28px;bottom:204px;display:flex;gap:16px;font-size:9px;color:#718892;pointer-events:none}.scene-legend span{display:flex;align-items:center;gap:6px}.legend-beam{display:inline-block;width:16px;height:2px;background:#9fedba;box-shadow:0 0 7px #75dca7}.legend-normal{display:inline-block;width:16px;border-top:1px dashed #9ca997}.bench-hint{position:absolute;bottom:174px;width:100%;text-align:center;color:#556f7c;font-size:9px;pointer-events:none;letter-spacing:.4px}.bench-hint b{margin:0 8px;color:#425d65}.object-tab{padding:5px 8px;margin:0 4px 5px 0;color:#6c8a8b;font-size:9px}.object-tab.active{border-color:#657e70;background:#26352d;color:#bfdec7}#object-tabs{margin-top:-8px;margin-bottom:18px;min-height:12px}.selected-heading{display:flex;gap:12px;align-items:center}.selected-heading .optic-icon{width:46px;height:44px}.selected-heading h2{font-size:16px;font-weight:500;letter-spacing:1px;margin:0 0 6px}.selected-heading small{font-family:monospace;font-size:8px;letter-spacing:1px;color:#6f8a8f}.selected-light{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:auto}.description{font-size:11px;color:#81949b;line-height:1.95;margin:18px 0 20px}.range-extents{display:flex;justify-content:space-between;color:#4f6570;font-size:8px;margin-top:8px}.position-fields{display:flex;gap:10px;margin-top:24px}.position-fields label{font-size:9px;color:#6c838b;flex:1;min-width:0}.position-fields input{width:100%;display:block;margin-top:8px;background:#0e161b;border:1px solid #2c3c40;padding:7px 10px;color:#b7cbc9;font-family:monospace;border-radius:4px}.remove-button{border:0;padding:10px 0;margin-top:8px;color:#7c8d92;font-size:10px}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#9caeb4;margin:16px 0;cursor:pointer}.switch-row input{position:absolute;opacity:0}.switch{width:26px;height:14px;background:#293840;border-radius:10px;position:relative;border:1px solid #3e4e53}.switch:after{content:'';position:absolute;width:8px;height:8px;top:2px;left:3px;border-radius:50%;background:#687f89;transition:transform .15s}.switch-row input:checked+.switch{background:#3a5142;border-color:#57745e}.switch-row input:checked+.switch:after{transform:translateX(10px);background:#b5ddba}.switch-row input:focus-visible+.switch{outline:2px solid var(--accent)}.insight{background:#1b2728;border:1px solid #31423e;border-radius:6px;padding:14px;margin-top:26px}.insight-kicker{font-size:10px;color:var(--accent);letter-spacing:.7px}.insight p{font-size:11px;color:#92aaa8;line-height:1.9;margin:11px 0}.formula{font-family:Georgia,serif;color:#c5dacb;font-size:18px;margin:15px 0;letter-spacing:1px}.insight small{display:block;font-size:9px;line-height:1.8;color:#678985}.about-button{color:#607c83;font-size:9px;margin-top:16px;border:0;padding:4px 0}footer{height:38px;border-top:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:9px;color:#526871;letter-spacing:.6px}footer i{margin:0 10px;color:#3f555b}.footer-status{display:flex;align-items:center;gap:7px}.footer-status .live-dot{width:4px;height:4px}#labels{position:absolute;inset:0;pointer-events:none}.object-label{position:absolute;font-size:9px;color:#9ab2b1;transform:translate(-50%,0);white-space:nowrap;padding:4px 7px;border-radius:3px;background:#152128b3;border:1px solid #46615c55}.object-label.selected{color:#d0e7c9;border-color:#859f6a77}.object-label.focus{font-family:monospace;color:#e6b286;border-color:#b18b5a66;background:#211e19bb}#toast{position:absolute;left:50%;top:112px;transform:translateX(-50%);padding:10px 16px;background:#29362ee8;border:1px solid #708d73;border-radius:6px;color:#d1e8d2;font-size:11px;opacity:0;transition:opacity .15s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#101920;color:#b1d5c5;z-index:9}dialog{width:min(530px,90vw);background:#182127;color:#b0c2c4;border:1px solid #466057;border-radius:10px;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#020709bb;backdrop-filter:blur(4px)}dialog h2{font-size:21px;font-weight:500;color:#e0eee6;margin:16px 0 22px}dialog p{font-size:12px;line-height:2}dialog a{color:var(--accent)}#close-about{position:absolute;right:12px;top:10px;border:0;font-size:24px;color:#81978e}.empty{color:#6c8889;font-size:11px;line-height:1.9}@media(min-width:1700px){main{grid-template-columns:260px minmax(0,1fr) 290px}.panel{padding:28px 25px}}@media(max-width:1200px){main{grid-template-columns:205px minmax(0,1fr) 235px}.panel{padding:22px 15px}.scenario{padding:9px 5px}.scenario strong{font-size:10px}.scenario-area{left:15px;right:15px}.header-note{font-size:10px}.scene-number{display:none}.scene-top{left:22px}.scene-legend{gap:10px;left:22px}.scenario-caption{display:none}}@media(max-width:950px){header{height:72px;padding:0 18px}.header-note{display:none}main{grid-template-columns:180px minmax(0,1fr);height:auto;min-height:0}.library{grid-row:1 / 3;padding:20px 12px}.viewport{height:720px}.inspector{grid-column:2;border-top:1px solid var(--stroke);border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;overflow:visible}.inspector>.section-heading,.inspector>#object-tabs,.selected-heading,.description,#object-settings{grid-column:1}.inspector>hr{display:none}.inspector>.switch-row,.inspector>.insight,.inspector>.about-button{grid-column:2}.inspector>.switch-row{margin:5px 0}.inspector>.section-heading:nth-of-type(2){grid-column:2;grid-row:1}.inspector>.switch-row:nth-of-type(1){grid-row:2}.inspector>.switch-row:nth-of-type(2){grid-row:3}.inspector>.switch-row:nth-of-type(3){grid-row:4}.inspector>.insight{grid-row:5;align-self:start;margin:10px 0}.inspector>.about-button{grid-row:6;align-self:start;text-align:left}.selected-heading{margin-top:12px}.scenario strong{font-size:9px}.scene-top h1{font-size:21px}footer>span:nth-child(2){display:none}}@media(max-width:620px){header{height:70px}.brand strong{font-size:18px}.brand small{font-size:6px}.brand-icon{font-size:38px}.subtle{padding:8px}main{display:flex;flex-direction:column}.viewport{order:0;height:650px}.library{order:1;border-top:1px solid var(--stroke);display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:22px}.library>.section-heading:first-child{grid-column:1 / 3}.library>hr{grid-column:1 / 3}.library>.section-heading:nth-of-type(2),.library>.hint,.library>#catalog,.library>.library-foot{grid-column:1 / 3}#catalog{display:grid;grid-template-columns:1fr 1fr}.library>#lasers{grid-row:2 / 5;grid-column:2}.library>.label-row{grid-column:1}.library>.range-label{grid-column:1}.library>input{grid-column:1}.inspector{order:2;display:block;padding:25px}.scene-top{top:23px;left:21px;right:21px}.scene-top p{font-size:10px}.view-tools{top:122px;right:17px}#scenarios{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.scenario{padding:8px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:3px}.scenario small{grid-column:1}.scenario-icon{grid-column:2;grid-row:1 / 3;height:23px;margin:0}.scenario strong{grid-column:1 / 3;margin:0;font-size:10px}.scenario-area{bottom:20px}.bench-hint{bottom:199px;font-size:8px}.scene-legend{bottom:224px;font-size:8px}.scenario-area .section-heading{margin-bottom:9px}footer{padding:0 14px;font-size:8px}.selected-heading{margin:16px 0}}
