*{box-sizing:border-box}html,body{color:#f1f3ec;background:#122c35;width:100%;height:100%;margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,sans-serif;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #dcddbb}#scene{position:fixed;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}body:after{content:"";pointer-events:none;background:linear-gradient(#09171f44,#0000 20% 60%,#05141b55);position:fixed;inset:0}header{z-index:2;justify-content:space-between;align-items:center;display:flex;position:fixed;top:34px;left:42px;right:38px}.brand{align-items:center;gap:14px;text-decoration:none;display:flex}.brand svg{stroke:currentColor;stroke-width:1.3px;width:31px;height:24px}.brand>span{letter-spacing:7px;font-size:23px}.brand small{letter-spacing:2px;opacity:.55;margin-left:12px;font-size:9px}.top-actions{align-items:center;gap:22px;display:flex}.live{letter-spacing:2px;opacity:.75;font-size:9px}.live i{background:#b9d9bb;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.top-actions button{opacity:.8;font-size:26px}.github{opacity:.8;display:flex}.github svg{fill:currentColor;width:20px;height:20px}.hud{transition:opacity .35s,transform .35s}.hide-ui .hud{opacity:0;pointer-events:none;transform:translateY(12px)}.intro{z-index:2;text-shadow:0 2px 24px #102b3670;position:fixed;bottom:107px;left:44px}.eyebrow{letter-spacing:3px;opacity:.64;font-size:9px}h1{letter-spacing:5px;margin:19px 0 20px;font-size:27px;font-weight:300}.intro p{letter-spacing:1.1px;opacity:.63;font-size:10px}.intro p span{padding:0 8px}.panel{z-index:2;-webkit-backdrop-filter:blur(20px);background:#0c1e2591;border:1px solid #e5f3eb24;border-radius:12px;width:282px;padding:22px 22px 13px;position:fixed;bottom:92px;right:38px;box-shadow:0 16px 50px #061b2515}.panel-head{letter-spacing:1.5px;justify-content:space-between;align-items:center;font-size:11px;display:flex}.index{opacity:.35;letter-spacing:2px;font-size:8px}.presets{grid-template-columns:repeat(3,1fr);gap:7px;margin:23px 0;display:grid}.presets button{opacity:.63;background:#b7cbd508;border:1px solid #0000;border-radius:7px;padding:9px 2px 8px;font-size:9px;transition:all .2s}.presets button:hover{opacity:1;background:#c3d6db18}.presets button.active{opacity:1;background:#b8d4d71a;border-color:#d8e7df6a}.presets i{border-radius:50%;width:30px;height:20px;margin:0 auto 9px;display:block}.golden{background:linear-gradient(#b9a88b,#dbbd83 44%,#557d81 48%,#2e4b56)}.azure{background:linear-gradient(#64a4c3,#b3d7e5 44%,#377e9d 48%,#0e424f)}.storm{background:linear-gradient(#677a89,#aab6b5 44%,#456067 48%,#172f38)}.sliders label{letter-spacing:.8px;justify-content:space-between;font-size:10px;display:flex}.sliders output{opacity:.65;font-variant-numeric:tabular-nums;font-size:10px}input[type=range]{appearance:none;cursor:pointer;background:#cadfd14a;border:0;width:100%;height:2px;margin:17px 0 24px;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;background:#e5ece0;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ceddd90a}input[type=range]::-moz-range-thumb{background:#e5ece0;border:0;border-radius:50%;width:8px;height:8px}input[type=range]:focus-visible{outline-offset:7px;outline:2px solid #e5ece0}.panel-footer{opacity:.65;border-top:1px solid #d8e7df18;justify-content:space-between;padding-top:13px;font-size:9px;display:flex}.panel-footer button{padding:3px 0}.panel-footer span{margin-left:5px}footer{z-index:2;letter-spacing:1.7px;opacity:.6;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:fixed;bottom:29px;left:44px;right:38px}footer>div{align-items:center;gap:24px;display:flex}footer a{letter-spacing:.8px;font-size:10px;text-decoration:none}footer button{font-size:10px}#fullscreen{font-size:22px}#loading{z-index:8;letter-spacing:3px;background:#142d37;flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:11px;transition:opacity .8s;display:flex;position:fixed;inset:0}.loading-wave{font-size:44px;animation:2s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-8px)}}#error{z-index:10;text-align:center;background:#142d37;padding:25vh 10vw;position:fixed;inset:0}#error h2{font-size:22px;font-weight:400}#error p{max-width:500px;margin:20px auto;font-size:13px;line-height:2}#error button{border:1px solid #cdd9da70;border-radius:5px;padding:12px 20px}[hidden]{display:none!important}@media (width<=700px){header{top:23px;left:23px;right:20px}.brand small,.live{display:none}.brand>span{font-size:20px}.brand svg{width:25px}.intro{top:115px;bottom:auto;left:24px}.intro h1{letter-spacing:3px;margin:13px 0;font-size:20px}.eyebrow{font-size:7px}.intro p{font-size:9px}.panel{width:auto;padding:17px 20px 12px;bottom:72px;left:20px;right:20px}.panel-head{font-size:10px}.presets{gap:9px;margin:15px 0}.presets button{justify-content:center;align-items:center;gap:8px;padding:9px 0;display:flex}.presets i{width:20px;height:15px;margin:0}.sliders{grid-template-columns:1fr 1fr 1fr;gap:0 18px;display:grid}.sliders label{font-size:9px}.sliders label:first-of-type{grid-area:1/1}.sliders label:nth-of-type(2){grid-area:1/2}.sliders label:nth-of-type(3){grid-area:1/3}.sliders input{grid-row:2;margin:19px 0 21px}footer{font-size:8px;bottom:22px;left:24px;right:23px}footer>div{gap:17px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}input[type=range]{height:24px;margin:5px 0 14px;background:0 0!important}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, #c3d3cd var(--progress,50%), #cadfd128 var(--progress,50%));height:2px}input[type=range]::-webkit-slider-thumb{margin-top:-3px}input[type=range]::-moz-range-track{background:#cadfd128;height:2px}input[type=range]::-moz-range-progress{background:#c3d3cd;height:2px}@media (width<=700px){.sliders input{margin:7px 0 9px}}@media (height<=550px){.intro{display:none}.panel{width:280px;top:80px;bottom:62px;left:auto;overflow:auto}.panel .sliders{display:block}.panel .sliders input{margin:4px 0 10px}.panel .presets{margin:12px 0}footer{bottom:17px}header{top:20px}}
