@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#183535;font-synthesis:none;background:#f4f6f5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dde5e1;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex}header strong{letter-spacing:-1px;font-size:26px}header strong span{color:#6b9386}header>div{letter-spacing:2px;font-size:12px}small{letter-spacing:1px;font-size:10px}header small{background:#edf4ec;border-radius:5px;margin-left:18px;padding:7px 10px}button{font:inherit;color:#25483e;cursor:pointer;background:#fff;border:1px solid #d6e1dc;border-radius:8px;padding:9px 13px}button:hover{background:#edf5e9}button.active{color:#fff;background:#234b40;border-color:#234b40}main{grid-template-columns:350px 1fr;height:calc(100vh - 80px);display:grid}aside{background:#fff;border-right:1px solid #dde5e1;padding:28px 24px;overflow:auto}.eyebrow{letter-spacing:1.5px;color:#789084;font-size:9px}h1{letter-spacing:-1px;margin:14px 0 8px;font-size:27px}.intro{color:#7b8983;margin-bottom:22px;font-size:13px;line-height:1.6}#modes{gap:6px;margin-bottom:25px;display:flex}#modes button{flex:1;padding:12px 3px;font-size:12px}details{border-top:1px solid #e4eae6;padding:17px 0}summary{cursor:pointer;margin-bottom:15px;font-size:14px;font-weight:700}.control{margin:14px 0}.control label{justify-content:space-between;align-items:center;font-size:12px;display:flex}.control output{font-variant-numeric:tabular-nums;background:#f1f5f2;border-radius:4px;padding:4px 7px;font-weight:600}input[type=range]{accent-color:#38775c;width:100%;height:4px;margin-top:12px}.note{color:#85918b;font-size:10px;line-height:1.6}#viewport{background:#e7ece9;min-width:0;position:relative;overflow:hidden}#canvas{position:absolute;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}.scene-title{z-index:2;letter-spacing:1.4px;pointer-events:none;font-size:10px;position:absolute;top:26px;left:28px}.scene-title>span:last-child{letter-spacing:-.5px;margin-top:10px;font-size:22px;display:block}.dot{background:#5d9b65;border-radius:100%;width:6px;height:6px;margin-right:7px;display:inline-block}.views{gap:5px;display:flex;position:absolute;top:24px;right:24px}.views button{background:#ffffffdc;font-size:11px}#hint{text-align:center;color:#677d72;pointer-events:none;font-size:11px;position:absolute;bottom:158px;left:0;right:0}.results{background:#ffffffed;border:1px solid #fff;border-radius:14px;grid-template-columns:1.2fr 1fr 1fr;gap:12px;padding:20px 24px;display:grid;position:absolute;bottom:24px;left:26px;right:26px;box-shadow:0 8px 30px #25483808}.results small{color:#809087;font-size:9px;display:block}.results strong{margin-top:7px;font-size:22px;font-weight:500;display:block}#status{color:#617e66;grid-column:1/-1;margin:0;font-size:11px}@media (width<=900px){main{grid-template-columns:280px 1fr}aside{padding:22px 16px}.views{top:100px;left:24px;right:auto}.results{gap:8px;padding:15px}.results strong{font-size:16px}}@media (width<=650px){header{height:65px;padding:0 16px}header>div{display:none}main{flex-direction:column;height:auto;display:flex}aside{order:2;overflow:visible}#viewport{height:65vh;min-height:500px}.scene-title{left:18px}.results{bottom:12px;left:12px;right:12px}#hint{padding:0 20px;font-size:9px}}.profile-box{background:#f0f5f0;border-radius:8px;margin-bottom:18px;padding:14px;font-size:12px}.profile-box label{font-weight:700}.profile-box select{color:#183535;background:#fff;border:1px solid #cad8ce;border-radius:5px;width:100%;margin:9px 0;padding:8px}.profile-box p{font-size:11px;line-height:1.55}.profile-box a{color:#35634c}#profile-warning{color:#8a602b}input:disabled{opacity:.55;cursor:not-allowed}.export-dialog{color:#234b40;background:#f5f8f5;border:0;border-radius:14px;width:900px;max-width:90vw;padding:18px}.export-dialog::backdrop{background:#18353599}.export-dialog>div{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.export-dialog img{object-fit:contain;max-width:100%;max-height:70vh;margin:auto;display:block}.export-dialog a{color:#fff;background:#234b40;border-radius:8px;width:max-content;margin:15px auto 0;padding:12px 24px;text-decoration:none;display:block}.projects{background:#f0f5f0;border:1px solid #d6e1dc;border-radius:8px;margin-bottom:18px;padding:14px}.projects label{margin-top:12px;font-size:11px;display:block}.projects input:not([type=file]),.projects select{width:100%;font:inherit;border:1px solid #cbd9ce;border-radius:5px;margin-top:7px;padding:9px;font-size:12px}.project-actions{gap:7px;margin-top:10px;display:flex}.project-actions button{padding:9px;font-size:11px}#project-message{color:#315c48;font-size:12px}[hidden]{display:none!important}body[data-interface-mode=public] .projects{display:none}#interface-mode{background:#edf2ed;border-radius:10px;gap:4px;margin-bottom:22px;padding:4px;display:flex}#interface-mode button{background:0 0;border:0;flex:1;padding:10px 4px;font-size:12px}#interface-mode button[aria-pressed=true]{color:#fff;background:#234b40;box-shadow:0 2px 5px #18353512}.advanced-settings,.projector-specs{padding:10px 0}.advanced-settings summary,.projector-specs summary{margin:0;font-size:11px}.advanced-settings[open] summary{margin-bottom:12px}header{gap:12px}header button{white-space:nowrap}@media (width<=650px){header{flex-wrap:wrap;height:auto;min-height:65px;padding:10px 12px}header strong{font-size:21px}header button{padding:8px;font-size:11px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}button,select,summary{min-height:44px}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #79a994}.language-label select{font:inherit;color:#25483e;background:#fff;border:1px solid #d6e1dc;border-radius:8px;max-width:110px;padding:8px;font-size:12px}input[type=range]{cursor:pointer;background:0 0;height:32px;margin:5px 0}.interaction{z-index:3;background:#fffc;border-radius:9px;gap:4px;padding:3px;display:flex;position:absolute;top:80px;right:24px}.interaction button{font-size:11px}.interaction [aria-pressed=true]{color:#fff;background:#234b40}.settings-link{display:none}.share-box{border-top:1px solid #cbd9ce;margin-top:18px;padding-top:16px}.share-box button{width:100%}.auth-dialog{color:#234b40;border:1px solid #cbd9ce;border-radius:16px;width:min(400px,100vw - 32px);padding:24px}.auth-dialog::backdrop{background:#183535aa}.auth-dialog label{margin:12px 0;display:block}.auth-dialog input{width:100%;font:inherit;border:1px solid #cbd9ce;border-radius:8px;padding:12px}.auth-dialog [role=status]{color:#8a4b31;font-size:13px}body[data-shared=true] main{grid-template-columns:1fr}body[data-shared=true] .interaction,body[data-shared=true] .settings-link{display:none}@media (width>=651px) and (width<=1100px){.scene-title>span:last-child{font-size:18px}.views{flex-wrap:wrap;top:85px;left:16px;right:16px}.interaction{top:140px;left:16px;right:auto}.scene-title{top:18px;left:16px}}@media (width<=650px){header{grid-template-columns:1fr auto;gap:6px;min-height:106px;padding:8px 12px;display:grid}header strong{font-size:23px}header .language-label{justify-self:end}header button{font-size:12px}header #workspace-label{display:none}main{height:auto;display:flex}aside{border:0;order:2;padding:24px 18px}#controls{scroll-margin-top:16px}#viewport{background:#e7ece9;grid-template-rows:clamp(450px,65svh,640px) auto auto;height:auto;min-height:0;display:grid}#canvas{grid-row:1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.scene-title{letter-spacing:1px;font-size:8px;top:15px;left:14px}.scene-title>span:last-child{margin-top:5px;font-size:19px}.views{grid-template-columns:repeat(5,1fr);gap:4px;display:grid;top:68px;left:10px;right:10px}.views button{white-space:normal;min-width:0;padding:6px 3px;font-size:10px}.interaction{padding:2px;top:121px;left:10px;right:auto}.interaction button{padding:6px 12px;font-size:11px}#hint{text-align:left;max-width:330px;padding:0;font-size:10px;line-height:1.5;inset:174px 12px auto}.results{box-shadow:none;border-radius:12px;grid-row:2;grid-template-columns:1.4fr 1fr 1fr;gap:9px;min-width:0;margin:0 10px;padding:14px 12px;position:static}.results strong{white-space:nowrap;font-size:16px}.results small{letter-spacing:.5px;font-size:8px}#status{font-size:10px;line-height:1.5}.settings-link{text-align:center;color:#234b40;text-underline-offset:4px;grid-row:3;padding:16px;font-size:13px;display:block}.export-dialog{padding:12px}.export-dialog>div{gap:8px;font-size:13px}.export-dialog img{max-height:65svh}.project-actions{flex-wrap:wrap}.project-actions button{flex:1}.profile-box p{font-size:12px}.note{font-size:11px}}@media (height<=500px) and (width>=651px){main{height:auto;min-height:600px}#viewport{min-height:600px}aside{max-height:600px}}@media (width<=650px){#viewport{grid-template-columns:minmax(0,1fr)}#canvas{min-width:0}#canvas canvas{max-width:100%}.results{min-width:0}}.invalid-link{z-index:10;text-align:center;background:#f5f8f5;place-content:center;padding:24px;display:grid;position:absolute;inset:0}@media (width<=650px){#viewport{grid-template-rows:clamp(450px,65svh,640px) auto auto auto}#hint{grid-row:3;max-width:none;margin:10px 14px 0;position:static}.settings-link{grid-row:4}}@media (height<=500px) and (width>=651px){aside{max-height:none;overflow:visible}main{align-items:start}}header .language-label{margin-left:auto}header #workspace-label{margin-right:auto}@media (width<=650px){header{grid-template-columns:minmax(0,1fr) auto auto}header strong{grid-area:1/1/auto/-1}header #export-png{white-space:normal;grid-area:2/1;padding-inline:5px}header #reset{grid-area:2/2;padding-inline:6px}header .language-label{grid-area:2/3;margin-left:0}header .language-label select{max-width:88px;padding:6px;font-size:11px}header strong{font-size:23px}}.offset-card{color:#344e43;background:#f0f4f1;border:1px solid #cbd8ce;border-radius:10px;margin:10px 0;padding:12px;font-size:12px;line-height:1.5}.offset-card strong{margin:7px 0;font-size:16px;display:block}.offset-card small{margin-top:8px;font-size:11px;display:block}.offset-ok,.offset-move{border-radius:6px;padding:8px;font-weight:600}.offset-ok{color:#155b32;background:#d7f0dd}.offset-move{color:#774210;background:#ffebcf}.preview-entry{border-bottom:1px solid #cbd8ce;padding:12px 0}.preview-entry strong,.preview-entry small{overflow-wrap:anywhere;display:block}.preview-entry small{margin-top:5px}.preview-entry button{margin:5px 5px 0 0}.settings-tabs{z-index:3;background:#f8faf7;gap:6px;padding:8px 0;display:flex;position:sticky;top:0}.settings-tabs button{flex:1;min-width:0;padding:10px 5px}.settings-tabs [aria-selected=true]{color:#fff;background:#163e35}.sensor-panel>label{margin:16px 0 8px;display:block}.sensor-panel select{width:100%}.sensor-status{color:#80541b;background:#fff0d4;border-radius:8px;padding:12px}.sensor-status[data-good=true]{color:#245c37;background:#dff2e5}.sensor-panel input[type=checkbox]{width:auto}.sensor-spec{color:#167ca6;font-size:12px}[role=tabpanel][hidden]{display:none}#modes{display:block}#modes label{margin-bottom:8px;font-size:12px;font-weight:600;display:block}#configuration-mode{width:100%;font:inherit;color:#25483e;background:#fff;border:1px solid #d6e1dc;border-radius:8px;padding:12px}#settings-1>button,.sensor-panel>button{max-width:100%;margin-top:8px;margin-bottom:8px;display:block}#settings-1>button[hidden],.sensor-panel>button[hidden]{display:none}.projector-controls{padding-top:8px}.sensor-occlusion-legend{color:#824317;background:#fff4e8;border-left:4px solid #ed7b22;padding:10px;font-size:12px;line-height:1.5}#sensor-model{width:100%;font:inherit;color:#25483e;background:#fff;border:1px solid #d6e1dc;border-radius:8px;padding:12px}.sensor-profile>label{display:block}.sensor-profile>label:first-child{margin-bottom:14px}.sensor-profile #sensor-model{border-radius:4px;padding:10px;font-size:13px}.sensor-visibility{gap:8px;margin:12px 0;display:flex}.sensor-visibility button{flex:1;font-size:12px}.sensor-visibility [aria-pressed=true]{color:#fff;background:#234b40}.views{flex-wrap:wrap;justify-content:flex-end;top:85px;left:16px;right:16px}.views .sensor-visibility{display:contents}.views .sensor-visibility button{flex:0 auto;font-size:11px}.views .sensor-visibility [aria-pressed=true]{color:#fff;background:#234b40}@media (width<=650px){.views{grid-template-columns:repeat(6,minmax(0,1fr));top:68px;left:10px;right:10px}.views>button{grid-column:span 1}.views>#beam{grid-column:span 2}.views .sensor-visibility button{grid-column:span 3;font-size:10px}}.views button[aria-pressed=true]{color:#fff;background:#234b40}.scene-occlusion-status{z-index:2;color:#754719;pointer-events:none;background:#fff7ebed;border:1px solid #e6d8c4;border-radius:8px;max-width:min(560px,100% - 32px);margin:0;padding:8px 12px;font-size:11px;line-height:1.5;position:absolute;right:24px}@media (width>=1250px){.views{top:24px;left:300px;right:24px}}@media (width<=650px){.scene-occlusion-status{max-width:none;padding:6px 8px;font-size:10px;left:10px;right:10px}}.views .sensor-visibility[hidden],.scene-occlusion-status[hidden],.interaction button[hidden]{display:none!important}.sensor-stats-switch{border-top:1px solid #d6e1dc;align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex!important}.control label{justify-content:flex-start;gap:4px}.control .value-reset{background:0 0;border:0;width:25px;height:25px;min-height:25px;margin-left:auto;padding:0;font-size:17px}.control .value-reset:disabled{opacity:.3;cursor:default}.control output{white-space:nowrap}.proposal-legend{color:#00796b;background:#e1f5f0;border-radius:6px;padding:8px;font-size:12px}.proposal-legend[hidden]{display:none}.results{border-radius:10px;gap:5px 16px;padding:10px 16px;bottom:12px}.results strong{margin-top:3px;font-size:19px}.results small{font-size:8px}#status{font-size:10px;line-height:1.35}#hint{bottom:110px}@media (width<=650px){.results{gap:4px 8px;padding:8px 10px}.results strong{font-size:15px}#status{font-size:9px}}.profile-box details{margin-top:8px;padding:0}.profile-box details>summary{min-height:44px;margin:0;padding:12px 0;font-size:11px;font-weight:700;line-height:20px}.profile-box details[open]>summary{margin-bottom:4px}.profile-box details>p{margin:6px 0}.profile-box>p:empty{display:none}.profile-box>p{margin-top:8px;margin-bottom:8px}.sensor-profile #sensor-depth-mode{border-radius:4px;width:100%;margin-top:6px;padding:10px;font-size:13px}.sensor-profile label[for=sensor-depth-mode]{margin-top:12px}#profile-search{box-sizing:border-box;color:#183535;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cad8ce;border-radius:5px;margin:9px 0 0;padding:10px 12px;font-size:14px}#profile-search:focus-visible{outline-offset:2px;outline:3px solid #79a994}#profile-search-status{color:#35634c;margin:0 0 8px}.profile-combobox{text-align:left;border-color:#cad8ce;border-radius:5px;width:100%;margin:9px 0;padding:10px 30px 10px 12px;font-size:12px;position:relative}.profile-combobox:after{content:"⌄";position:absolute;top:11px;right:12px}.profile-combobox[aria-expanded=true]{border-color:#38775c}.profile-popup{z-index:1000;background:#fff;border:1px solid #cad8ce;border-radius:8px;flex-direction:column;padding:8px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 28px #18353530}.profile-popup[hidden]{display:none}.profile-popup #profile-search{flex:none;margin:0 0 6px;font-size:16px}.profile-options{overscroll-behavior:contain;min-height:0;overflow:auto}.profile-option{cursor:pointer;border-radius:4px;min-height:44px;padding:11px 10px;font-size:12px;line-height:20px}.profile-option:hover,.profile-option.highlighted{background:#edf5e9}.profile-option[aria-selected=true]{color:#164e3a;background:#e2eee7;font-weight:700}.profile-brand{color:#677e73;border-top:1px solid #e4eae6;padding:12px 10px 4px;font-size:11px;font-weight:700}.profile-search-status{color:#677e73;margin:0;padding:6px;font-size:12px}.profile-combobox,.profile-option{font-size:15px;line-height:1.45}.profile-brand{font-size:13px}.profile-popup .picker-search{box-sizing:border-box;color:#183535;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cad8ce;border-radius:5px;flex:none;margin:0 0 6px;padding:10px 12px;font-size:16px}.picker-search:focus-visible{outline-offset:2px;outline:3px solid #79a994}.scene-color-legend{color:#294b44;pointer-events:none;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;width:100%;padding:5px 0;font-size:12px;display:flex}.scene-color-legend span{align-items:center;gap:5px;display:inline-flex}.scene-color-legend i{border-radius:2px;flex:none;width:10px;height:10px}.sensor-panel>button{box-sizing:border-box;width:100%}.scene-color-legend[hidden]{display:none}.scene-color-legend{flex:0 0 100%;grid-column:1/-1;gap:5px 12px;padding:3px 0}.scene-color-legend span{white-space:nowrap}:root{--scene-active-bg:#dcebe4;--scene-active-border:#9dbfb0;--scene-active-text:#234b40}.views button[aria-pressed=true],.views .sensor-visibility button[aria-pressed=true],.interaction button[aria-pressed=true],.views button.active{background:var(--scene-active-bg);color:var(--scene-active-text);border-color:var(--scene-active-border);font-weight:600}.views button[aria-pressed=true]:hover,.interaction button[aria-pressed=true]:hover{background:#cee2d8}.sensor-range-info{margin:10px 0 4px;font-size:12px;font-weight:600}.sensor-range-status{color:#854613;background:#fff2e5;border-radius:6px;margin:4px 0 0;padding:8px;font-size:12px;line-height:1.5}.sensor-range-status[data-good=true]{color:#315b44;background:#e2efe6}
