:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf7f4;font-synthesis:none;--mint:#83f4d2;--orange:#ff6332;--muted:#87938f;--line:#cdf2e829;--glass:#080d10b8;background:#edeeed;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#edeeed}button,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit}#app{isolation:isolate;background:radial-gradient(circle at 52% 38%,#fbfbfa 0%,#f0f1ef 58%,#dedfdf 100%);transition:background .42s;position:relative}#app:after{content:"";z-index:2;opacity:0;pointer-events:none;background:radial-gradient(circle at 52% 46%,#0000 48%,#0000048f 100%);transition:opacity .42s;position:absolute;inset:0}#scene{touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}#scene:focus-visible{outline:1px solid var(--mint);outline-offset:-3px}.eyebrow,.view-tools button,.loader,.module-card button{letter-spacing:.09em;text-transform:uppercase;font-family:DM Mono,ui-monospace,monospace}.module-card{z-index:4;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(285px,100vw - 68px);padding:18px 18px 16px;transition:opacity .22s,transform .28s cubic-bezier(.16,1,.3,1),visibility .22s;position:absolute;top:102px;left:34px;box-shadow:0 22px 54px #00000038}.module-card:before{content:"";background:var(--orange);width:2px;position:absolute;inset:-1px auto -1px -1px}.eyebrow{color:var(--mint);margin-bottom:13px;font-size:.65rem;display:block}.module-card strong{margin-bottom:7px;font-size:.94rem;font-weight:500;display:block}.module-card p{color:#919c99;min-height:40px;margin:0 0 15px;font-size:.79rem;line-height:1.55}.module-card button,.view-tools button,.error-panel button{border:1px solid var(--line);color:#d6e1de;cursor:pointer;background:#10181bb8;border-radius:0;min-height:40px;padding:0 13px;transition:border-color .18s,color .18s,background .18s}.module-card button{width:100%;font-size:.66rem}.module-card button:disabled{cursor:wait;opacity:.45}.module-card button:not(:disabled):hover,.view-tools button:hover,.error-panel button:hover{border-color:var(--mint);color:var(--mint)}.view-tools{z-index:5;gap:8px;transition:top .28s cubic-bezier(.16,1,.3,1),right .28s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:96px;right:34px}.view-tools button{font-size:.62rem}.view-tools button[aria-pressed=false]{color:var(--muted)}.view-tools button[aria-expanded=true]{color:var(--mint);border-color:#83f4d29e}#ui-visibility-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.35px;width:15px;height:15px;display:none}#ui-visibility-button:focus-visible{outline:1px solid var(--mint);outline-offset:2px}#app.top-ui-hidden .module-card{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px)}#app.top-ui-hidden .view-tools{gap:0;top:14px;right:14px}#app.top-ui-hidden .view-tools>button:not(#ui-visibility-button){display:none}#app.top-ui-hidden #ui-visibility-button{color:#26312eb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#eef2f08a;border-color:#36464338;place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;display:grid;position:relative}#app.top-ui-hidden #ui-visibility-button:before{content:"";position:absolute;inset:-9px}#app.top-ui-hidden #ui-visibility-button:hover,#app.top-ui-hidden #ui-visibility-button:focus-visible{color:#17211e;background:#f7faf9d1;border-color:#36464375}#app.top-ui-hidden #ui-visibility-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app.top-ui-hidden #ui-visibility-button svg{display:block}.material-editor[hidden]{display:none}.material-editor{z-index:9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#070b0df0;border:1px solid #a2c1b94d;flex-direction:column;width:min(420px,100vw - 48px);font-family:DM Mono,ui-monospace,monospace;display:flex;position:absolute;top:84px;bottom:24px;right:24px;overflow:hidden;box-shadow:0 28px 80px #0000006b}.material-editor:before{content:"";background:linear-gradient(var(--orange), var(--mint));width:2px;position:absolute;inset:0 auto 0 0}.material-editor header,.material-editor footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.material-editor header strong{color:#edf7f4;font-size:1rem;font-weight:500;display:block}.material-editor header .eyebrow{margin-bottom:5px}.material-editor button,.material-editor select,.material-editor input{font:inherit}.material-editor button,.material-editor select{border:1px solid var(--line);color:#dbe7e3;background:#141c1fe6;border-radius:0;min-height:34px}.material-editor button{cursor:pointer;padding:0 12px}.material-editor button:hover{border-color:var(--mint);color:var(--mint)}.material-editor-help{border-bottom:1px solid var(--line);color:#8e9b97;margin:0;padding:14px 18px;font-size:.72rem;line-height:1.55}.material-editor-selection{border-bottom:1px solid var(--line);padding:14px 18px 12px}#material-object-name{min-height:18px;color:var(--mint);text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;font-size:.72rem;display:block;overflow:hidden}.material-editor-selection label,.material-fields label{color:#9aa7a3;letter-spacing:.03em;gap:7px;font-size:.68rem;display:grid}.material-editor-selection select{width:100%;padding:0 8px}.material-fields{scrollbar-color:#83f4d273 transparent;flex:1;grid-template-columns:1fr 1fr;gap:16px 18px;min-height:0;padding:16px 18px 20px;display:grid;overflow-y:auto}.material-fields label>span{justify-content:space-between;gap:8px;display:flex}.material-fields output{color:#dce8e4}.material-fields input[type=range]{width:100%;accent-color:var(--mint);cursor:ew-resize}.material-color-field{grid-column:1/-1}.material-fields input[type=color]{border:1px solid var(--line);cursor:pointer;background:#141c1fe6;width:100%;height:36px;padding:3px}.material-editor footer{border-top:1px solid var(--line);border-bottom:0;align-items:flex-start}#copy-materials{flex:none}#material-editor-status{color:#84908d;text-align:right;font-size:.62rem;line-height:1.45}.lighting-lab[hidden]{display:none}.lighting-lab{z-index:9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#070b0df0;border:1px solid #a2c1b94d;flex-direction:column;width:min(380px,100vw - 68px);max-height:calc(100vh - 176px);font-family:DM Mono,ui-monospace,monospace;display:flex;position:absolute;top:150px;right:34px;overflow:hidden;box-shadow:0 28px 80px #0006}.lighting-lab:before{content:"";z-index:1;background:linear-gradient(#fff4c7, var(--orange), #79a9ff);pointer-events:none;width:2px;position:absolute;inset:0 auto 0 0}.lighting-lab header,.lighting-lab footer{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;display:flex}.lighting-lab footer{border-top:1px solid var(--line);border-bottom:0;align-items:flex-start}.lighting-lab footer>div{flex:none;gap:7px;display:flex}.lighting-lab header strong{color:#edf7f4;font-size:1rem;font-weight:500;display:block}.lighting-lab header .eyebrow{margin-bottom:5px}.lighting-lab button,.lighting-lab select,.lighting-lab input{font:inherit}.lighting-lab button,.lighting-lab select,.lighting-lab input[type=number]{border:1px solid var(--line);color:#dbe7e3;background:#141c1fe6;border-radius:0;min-height:36px}.lighting-lab button{cursor:pointer;padding:0 11px}.lighting-lab button:hover,.lighting-lab button:focus-visible,.lighting-lab select:focus-visible,.lighting-lab input:focus-visible{border-color:var(--mint);outline-offset:1px;outline:1px solid #83f4d247}.lighting-lab-scroll{scrollbar-color:#83f4d273 transparent;min-height:0;overflow-y:auto}.lighting-section{border-bottom:1px solid var(--line);padding:15px 17px 18px}.lighting-section:last-child{border-bottom:0}.lighting-section h2{color:var(--mint);letter-spacing:.09em;text-transform:uppercase;margin:0 0 14px;font-size:.68rem;font-weight:500}.lighting-fields,.lighting-fixture-fields{gap:15px;display:grid}.lighting-fields label,.lighting-fixture-fields>label{color:#9aa7a3;letter-spacing:.03em;gap:7px;font-size:.72rem;display:grid}.lighting-fields label>span,.lighting-fixture-fields>label>span{justify-content:space-between;gap:8px;display:flex}.lighting-fields output,.lighting-fixture-fields output{color:#dce8e4}.lighting-fields input[type=range],.lighting-fixture-fields input[type=range]{width:100%;accent-color:var(--mint);cursor:ew-resize}.lighting-fixture-select{color:#9aa7a3;margin-bottom:7px;font-size:.72rem;display:block}#lighting-fixture{width:100%;margin-bottom:16px;padding:0 9px}.lighting-color-field input[type=color]{border:1px solid var(--line);cursor:pointer;background:#141c1fe6;width:100%;height:38px;padding:3px}.lighting-position{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.lighting-position>span{color:#9aa7a3;grid-column:1/-1;font-size:.72rem}.lighting-position label{color:#7f8c88;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;font-size:.7rem;display:grid}.lighting-position input{width:100%;min-width:0;padding:0 7px}#lighting-lab-status{color:#84908d;text-align:right;font-size:.62rem;line-height:1.45}#app.material-editor-open .view-tools{opacity:0;pointer-events:none}.gesture-hint{z-index:4;color:#5a6461;white-space:nowrap;pointer-events:none;align-items:center;gap:13px;font-size:.73rem;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.control-tooltip{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;text-transform:uppercase;background:#05090be0;border:1px solid #83f4d240;min-width:118px;padding:8px 10px;font-family:DM Mono,ui-monospace,monospace;position:absolute;transform:translate(14px,14px);box-shadow:0 12px 30px #00000038}.control-tooltip span,.control-tooltip b{display:block}.control-tooltip span{color:#d8e7e2;letter-spacing:.07em;font-size:.65rem}.control-tooltip b{color:var(--mint);letter-spacing:.06em;margin-top:3px;font-size:.58rem;font-weight:400}.gesture-hint p{margin:0}.gesture-hint b{color:#303936;font-weight:500}.gesture-hint p span{background:#55605d;border-radius:50%;width:3px;height:3px;margin:0 9px 2px;display:inline-block}.mouse-icon{border:1px solid #687370;border-radius:9px;width:17px;height:24px;display:block}.mouse-icon:after{content:"";background:var(--mint);width:1px;height:6px;margin:4px auto;display:block}.loader{z-index:10;color:#525b59;background:#edeeed;justify-content:center;align-items:center;gap:17px;font-size:.67rem;transition:opacity .65s,visibility .65s;display:flex;position:absolute;inset:0}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader strong{color:var(--mint);margin-top:5px;font-size:.94rem;font-weight:400;display:block}.loader-ring{border:1px solid #25312e;border-top-color:var(--orange);border-radius:50%;width:36px;height:36px;animation:1s linear infinite spin}.error-panel{z-index:20;background:#0a0c0ef0;border:1px solid #ff633273;width:min(360px,100vw - 40px);padding:25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.error-panel p{color:var(--muted);font-size:.86rem;line-height:1.55}.error-panel button{margin-top:8px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=800px){.view-tools{flex-direction:column}}@media (width<=720px){.module-card{width:220px;padding:14px;top:76px;left:18px}.module-card p{display:none}.module-card strong{margin-bottom:12px;font-size:.79rem}.view-tools{top:76px;right:18px}.view-tools button{min-height:36px}.material-editor{width:auto;inset:74px 12px 12px}.lighting-lab{width:auto;max-height:none;inset:74px 12px 12px}.lighting-lab footer{flex-direction:column}.lighting-lab footer>div{width:100%}.lighting-lab footer button{flex:1}#lighting-lab-status{text-align:left}.material-fields{grid-template-columns:1fr}.material-color-field{grid-column:auto}.gesture-hint{font-size:.68rem;bottom:17px}.gesture-hint p span,.gesture-hint p b:nth-of-type(n+2){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
