:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#dfebe7;background:#0e1c25;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:1px solid #486268;background:#20353d;color:#e2eee8;padding:10px 15px;border-radius:7px;cursor:pointer}button:hover{background:#344e53}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f5b96d;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:22px 4vw;border-bottom:1px solid #30434b}.brand{letter-spacing:.16em;font-size:12px;color:#b6cbc5}main{max-width:1500px;margin:auto;padding:36px 4vw}.intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;margin-bottom:35px}.eyebrow{letter-spacing:.16em;font-size:10px;color:#8aafa7;font-weight:700}.intro .eyebrow{grid-column:1/-1}h1{font-family:Georgia,serif;font-size:clamp(42px,5.5vw,76px);line-height:1.01;letter-spacing:-.045em;margin:8px 0 0;font-weight:400}h1 em{color:#edba77;font-weight:400}.intro>p:last-child{font-size:17px;line-height:1.7;color:#9db5b4;justify-self:end}h2{font-size:18px;font-weight:500;margin:10px 0 18px}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid #3b5159;border-radius:14px;overflow:hidden}.scene{background:radial-gradient(ellipse at 50% 42%,#284750,#102630 70%);min-width:0}.scene-top,.scene-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px;font-size:11px;letter-spacing:.08em;color:#aac5bd}.scene-bottom{letter-spacing:0}.scene-bottom input{width:75px}.viewport{height:430px;position:relative}.viewport canvas{display:block;width:100%;height:100%}.gpu-error{position:absolute;padding:25px;color:#edbd85}.scene>.tools{padding:0 20px 20px}aside{padding:22px;background:#152831;border-left:1px solid #3b5159}.aperture{width:100%;height:110px;border-bottom:1px solid #31464e;margin-bottom:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fields label{display:grid;gap:5px;font-size:11px;text-transform:capitalize;color:#b1c9c2}.wide{grid-column:1/-1}input:not([type=checkbox]):not([type=range]),textarea{min-width:0;width:100%;border:1px solid #45616a;background:#0d2029;color:#e5eee6;border-radius:5px;padding:8px}input[type=range]{accent-color:#eab775;width:120px}.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.tools button{font-size:12px}.tools label,.tools span{font-size:11px;color:#b2cbc3}.history{margin:35px 0}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center}p{line-height:1.6;color:#9fb7b5;font-size:13px}.bands{display:flex;gap:8px;overflow:auto;padding:8px 2px 16px}.bands button{min-width:118px;max-width:170px;display:grid;gap:8px;text-align:left;background:#132932}.bands b{color:#89b6aa;font-weight:400}.bands span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bands small{color:#94b0ac;font-size:10px}.bands .selected{border-color:#ecb76c;background:#384238}.selected b{color:#f5c98b}.lower{display:grid;grid-template-columns:1fr 1fr;gap:38px;border-top:1px solid #30464d;padding-top:25px}.lower li{font-size:12px;color:#e1b77d;line-height:1.5}.status{border-left:2px solid #e6b575;padding:12px;background:#1b3038;min-height:50px;color:#dfc5a0}textarea{height:260px;resize:vertical;font-family:ui-monospace,monospace;font-size:11px}footer{border-top:1px solid #30464d;margin-top:35px;padding:25px 0;font-size:11px;line-height:1.7;color:#94aaa6}footer label{display:block;padding-top:15px}:fullscreen{overflow:auto;background:#0e1c25}@media(max-width:850px){.workbench{grid-template-columns:1fr}aside{border-left:0;border-top:1px solid #3b5159}.fields{grid-template-columns:repeat(3,1fr)}.wide{grid-column:1/-1}.aperture{height:90px}.intro{display:block}.intro>p:last-child{font-size:14px}.lower{grid-template-columns:1fr}.viewport{height:330px}.scene-bottom{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:450px){main{padding:25px 16px}.fields{grid-template-columns:1fr 1fr}.scene-top{font-size:9px}.viewport{height:280px}.section-head{align-items:start}button{padding:9px 11px}}
