:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ice:#e5ebff;--muted:#d5ddf58a;--violet:#9b8cff;--panel:#06080ea3;color:var(--ice);font-synthesis:none;background:#030407;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:#030407;width:100%;height:100%;margin:0;overflow:hidden}body{min-height:100svh}button,input{font:inherit}button{color:inherit}#scene{touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 26%,#1b1b25 0,#05060a 36%,#020305 74%);width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}.cinematic-overlay{pointer-events:none;z-index:2;position:fixed;inset:0}.vignette,.grain{position:absolute;inset:0}.vignette{background:linear-gradient(#0000003d,#0000 24% 70%,#00000085),radial-gradient(#0000 42%,#00000075 100%)}.grain{opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:.24s steps(2,end) infinite grain-shift}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-1.5%,1%)}50%{transform:translate(1%,-1.5%)}75%{transform:translate(1.5%,1.5%)}to{transform:translate(-1%,-1%)}}.panel-heading p{letter-spacing:.26em;color:#dbe2f78c;margin:0 0 9px;font-size:10px;line-height:1}.settings-toggle{z-index:7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#07090fa3;border:1px solid #dae0ff24;border-radius:50%;width:42px;height:42px;padding:10px;transition:border-color .2s,background .2s,transform .3s;position:fixed;top:27px;right:29px}.settings-toggle:hover,.settings-toggle:focus-visible{background:#11101cc7;border-color:#cac4ff80;outline:none}.settings-toggle:hover{transform:rotate(24deg)}.settings-toggle svg{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;width:100%;height:100%}.settings-panel{z-index:6;background:linear-gradient(145deg, #14141f99, #04060bb8), var(--panel);-webkit-backdrop-filter:blur(24px)saturate(115%);backdrop-filter:blur(24px)saturate(115%);scrollbar-color:#a89bf247 transparent;scrollbar-width:thin;border:1px solid #cdd5f51f;border-radius:20px;width:min(334px,100vw - 40px);max-height:calc(100svh - 110px);padding:24px;transition:opacity .28s,transform .34s cubic-bezier(.2,.8,.2,1),visibility .28s;position:fixed;top:82px;right:29px;overflow:hidden auto;box-shadow:0 22px 90px #00000061,inset 0 1px #ffffff09}.settings-panel::-webkit-scrollbar{width:5px}.settings-panel::-webkit-scrollbar-thumb{background:#a89bf23d;border-radius:10px}.settings-panel.is-collapsed{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px)scale(.96)}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.panel-heading h2{letter-spacing:.08em;margin:0;font-size:19px;font-weight:500}.live-indicator{color:#cdd2eb8c;letter-spacing:.16em;align-items:center;gap:6px;margin-top:3px;font-size:9px;display:inline-flex}.live-indicator i{background:#ac9fff;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite live-pulse;box-shadow:0 0 10px #9c8cff}@keyframes live-pulse{50%{opacity:.32;transform:scale(.7)}}.preset-row{background:#0000002e;border:1px solid #d8deff14;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:24px;padding:4px;display:grid}.preset-row button{color:#d4dbf37a;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:31px;font-size:11px;transition:color .18s,background .18s,box-shadow .18s}.preset-row button:hover,.preset-row button:focus-visible{color:#f0f2ffe6;outline:none}.preset-row button.is-active{color:#f0efff;background:linear-gradient(135deg,#9d90ff47,#5b50a733);box-shadow:inset 0 0 0 1px #c1baff1c}.control-groups{gap:23px;display:grid}.control-group{gap:16px;display:grid}.control-group+.control-group{border-top:1px solid #dce2ff13;padding-top:21px}.control-group h3{color:#cad0e86b;letter-spacing:.2em;margin:0;font-size:9px;font-weight:560}.controls{gap:17px;display:grid}.control-row{gap:10px;display:grid}.control-row>span{justify-content:space-between;align-items:center;display:flex}.control-row b,.switch-row b{letter-spacing:.05em;color:#e9ecfad6;font-size:12px;font-weight:450}.control-row output{color:#beb8f4b8;text-align:right;min-width:36px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}input[type=range]{--progress:50%;appearance:none;background:linear-gradient(to right, #a89bf2 0 var(--progress), #d3d8f121 var(--progress) 100%);cursor:pointer;border:0;border-radius:10px;width:100%;height:2px;margin:0}input[type=range]::-webkit-slider-thumb{appearance:none;background:#7164b3;border:2px solid #d7d1ff;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 4px #a295f414,0 0 14px #9786ff6b}input[type=range]::-moz-range-thumb{background:#7164b3;border:2px solid #d7d1ff;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #a295f414,0 0 14px #9786ff6b}input[type=range]:focus-visible{outline-offset:7px;outline:1px solid #c8c1ff7a}.switch-row{border-top:1px solid #dce2ff14;justify-content:space-between;align-items:center;gap:20px;margin-top:23px;padding-top:19px;display:flex}.switch-row>div{gap:4px;display:grid}.switch-row span{color:#c7cfe766;font-size:10px}.switch{flex:none;width:38px;height:22px;position:relative}.switch input{opacity:0;position:absolute}.switch>span{cursor:pointer;background:#ffffff0f;border:1px solid #cfd5f029;border-radius:30px;transition:background .2s,border-color .2s;position:absolute;inset:0}.switch>span:after{content:"";background:#dadef08a;border-radius:50%;width:14px;height:14px;transition:transform .22s,background .22s,box-shadow .22s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:#8271e052;border-color:#a99bff59}.switch input:checked+span:after{background:#d9d3ff;transform:translate(16px);box-shadow:0 0 12px #a696ffb8}.switch input:focus-visible+span{outline-offset:3px;outline:1px solid #c8c1ff7a}.hint{color:#bec7e05c;letter-spacing:.06em;margin:20px 0 0;font-size:9px}.hint kbd{color:#dde2f4b3;min-width:19px;height:18px;font:inherit;background:#ffffff0b;border:1px solid #d8def726;border-radius:4px;place-items:center;margin-right:4px;display:inline-grid}.loading-screen{z-index:20;background:#030407;place-content:center;justify-items:center;gap:24px;transition:opacity 1.05s,visibility 1.05s;display:grid;position:fixed;inset:0}.loading-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-screen p{color:#dae0f47a;letter-spacing:.24em;margin:0;font-size:10px}.eclipse-loader{border:1px solid #e6e9ffb3;border-radius:50%;width:70px;height:70px;position:relative;box-shadow:0 0 24px #cbd1ff3d,inset 0 0 22px #bcc3ff1f}.eclipse-loader i{background:#030407;border-radius:50%;animation:1.8s cubic-bezier(.7,0,.3,1) infinite alternate eclipse-load;position:absolute;inset:-1px}@keyframes eclipse-load{0%{transform:translate(-16px)}to{transform:translate(16px)}}.fallback{z-index:30;text-align:center;background:#05060a;place-content:center;padding:28px;position:fixed;inset:0}.fallback:not([hidden]){display:grid}.fallback h2{margin:0 0 10px;font-weight:500}.fallback p{color:var(--muted);margin:0}body.ui-hidden .settings-panel,body.ui-hidden .settings-toggle{opacity:0;pointer-events:none}@media (width<=720px){.settings-toggle{top:20px;right:20px}.settings-panel{top:auto;right:14px;bottom:max(14px, env(safe-area-inset-bottom));width:calc(100vw - 28px);max-height:min(72svh,590px);padding:20px;overflow-y:auto}.settings-panel.is-collapsed{transform:translateY(16px)scale(.98)}.controls{gap:17px}.hint span{display:none}}@media (prefers-reduced-motion:reduce){.grain,.live-indicator i,.eclipse-loader i{animation:none}*,:before,:after{scroll-behavior:auto!important}}
