*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;height:100vh;background-color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color 1.8s ease,color .6s ease;color:#fff;overflow:hidden}.room{position:relative;z-index:1;text-align:center;max-width:600px;padding:2rem}h1{font-size:2.4rem;font-weight:300;letter-spacing:.05em;margin-bottom:.3rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.subtitle{font-size:.95rem;opacity:.7;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2.5rem}.scene-label{font-size:4rem;font-weight:100;letter-spacing:.02em;margin-bottom:.5rem;transition:opacity .3s ease;text-shadow:0 4px 30px rgba(0,0,0,.4)}.scene-detail{font-size:1.1rem;opacity:.6;margin-bottom:3rem}.status{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:.75rem;opacity:.5;display:flex;align-items:center;gap:.5rem}.dot{width:8px;height:8px;border-radius:50%;background:#f44;transition:background .3s ease}.dot.connected{background:#4f4}.hex-display{font-family:SF Mono,Fira Code,monospace;font-size:.85rem;opacity:.4;margin-top:.5rem}.log{position:fixed;bottom:4rem;right:1rem;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;opacity:.35;text-align:right;max-height:25vh;overflow-y:auto;line-height:1.6;z-index:2}.log-entry{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}}.glow{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:120vmax;height:120vmax;border-radius:50%;opacity:.15;filter:blur(80px);transition:background 2s ease;pointer-events:none;z-index:0}.arch{position:fixed;bottom:1.5rem;left:1.5rem;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;opacity:.5;line-height:1.4;z-index:1}.arch-row{display:flex;gap:.6rem;padding:.15rem 0}.arch-label{opacity:.4;min-width:3rem}.arch-value{cursor:pointer;padding:.05rem .3rem;border-radius:3px;transition:background .2s ease,opacity .2s ease}.arch-value:hover{background:#ffffff1f;opacity:1}.arch-value:active{background:#fff3}.arch-divider{border-top:1px solid rgba(255,255,255,.1);margin:.5rem 0}.arch-cmd-label{font-size:.55rem;opacity:.4;margin-bottom:.25rem}.arch-cmd{cursor:pointer;padding:.35rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:4px;font-size:.6rem;line-height:1.6;transition:background .2s ease,border-color .2s ease;word-break:break-all}.arch-cmd:hover{background:#ffffff1a;border-color:#ffffff26}.arch-cmd:active{background:#ffffff26}.lua-kw{color:#c586c0}.lua-str{color:#ce9178}.lua-num{color:#b5cea8}.copy-tooltip{position:fixed;transform:translateY(-50%);background:#0f0f0ff2;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e0e0e0;font-family:SF Mono,Fira Code,monospace;font-size:.65rem;padding:.3rem .6rem;border-radius:6px;pointer-events:none;z-index:100;animation:tooltipIn .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #00000080,0 0 0 1px #ffffff0a;display:flex;align-items:center;gap:.4rem;white-space:nowrap}.copy-tooltip-icon{color:#4ade80;font-size:.7rem;flex-shrink:0}.copy-tooltip-text{opacity:.8;max-width:200px;overflow:hidden;text-overflow:ellipsis}@keyframes tooltipIn{0%{opacity:0;transform:translateY(-50%) translate(-6px) scale(.95)}to{opacity:1;transform:translateY(-50%) translate(0) scale(1)}}.playlist-panel{position:fixed;top:1rem;left:1rem;z-index:3;background:#0f0f14;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem .5rem .5rem;min-width:220px;max-width:300px;max-height:calc(100vh - 2rem);overflow-y:auto}.playlist-panel::-webkit-scrollbar{width:4px}.playlist-panel::-webkit-scrollbar-track{background:transparent}.playlist-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.playlist-header{font-family:SF Mono,Fira Code,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;opacity:.4;padding:0 .5rem .5rem}.playlist-item{display:block;width:100%;background:transparent;border:none;border-left:3px solid transparent;color:#fff9;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.8rem;text-align:left;padding:.5rem .6rem;border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease,border-left-color .4s ease,box-shadow .4s ease}.playlist-item:hover:not(:disabled){background:#ffffff0f;color:#ffffffd9}.playlist-item:active:not(:disabled){background:#ffffff1a}.playlist-item.active{color:#fff;border-left-color:var(--scene-glow, #fff);background:#ffffff0a}.playlist-item.switching{animation:playlistPulse 1s ease-in-out infinite;pointer-events:none;opacity:.5}.playlist-item:disabled{cursor:default}.playlist-error{font-family:SF Mono,Fira Code,monospace;font-size:.6rem;color:#f44;padding:.4rem .5rem 0;opacity:.8}@keyframes playlistPulse{0%,to{opacity:.5}50%{opacity:.8}}.playlist-row{display:flex;align-items:center;gap:.25rem}.playlist-row .playlist-item{flex:1;min-width:0}.scene-number-input{width:2.8rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;text-align:center;padding:.3rem .15rem;transition:border-color .2s ease,background .2s ease;-moz-appearance:textfield}.scene-number-input::-webkit-outer-spin-button,.scene-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scene-number-input:focus{outline:none;border-color:#ffffff4d;background:#ffffff1a;color:#fff}.scene-number-input:hover{border-color:#fff3}.default-scene-row{display:flex;align-items:center;gap:.25rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.06);margin-top:.3rem}.default-scene-label{flex:1;font-family:SF Mono,Fira Code,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;opacity:.35;padding-left:.6rem}.scene-editor{margin-top:.5rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.4rem}.scene-editor-header{font-family:SF Mono,Fira Code,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;opacity:.4;padding:0 .5rem .4rem;display:flex;align-items:center;justify-content:space-between}.scene-add-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffff80;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;line-height:1;padding:0}.scene-add-btn:hover:not(:disabled){background:#ffffff24;border-color:#ffffff40;color:#fffc}.scene-add-btn:active:not(:disabled){background:#fff3}.scene-add-btn:disabled{opacity:.25;cursor:default}.scene-add-inline{display:flex;align-items:center;gap:.25rem}.scene-add-input{width:2.8rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;text-align:center;padding:.2rem .15rem;transition:border-color .2s ease,background .2s ease}.scene-add-input:focus{outline:none;border-color:#ffffff4d;background:#ffffff1a;color:#fff}.scene-add-input::placeholder{color:#ffffff40}.scene-add-error{font-family:SF Mono,Fira Code,monospace;font-size:.6rem;color:#f44;padding:0 .5rem .3rem;white-space:nowrap}.scene-remove-btn{background:none;border:none;color:#fff3;font-size:.8rem;cursor:pointer;padding:0 .15rem;line-height:1;transition:color .2s ease;flex-shrink:0}.scene-remove-btn:hover{color:#f44}.scene-list{max-height:11.4rem;overflow-y:auto}.scene-list::-webkit-scrollbar{width:4px}.scene-list::-webkit-scrollbar-track{background:transparent}.scene-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.scene-meta-row{display:flex;align-items:center;gap:.2rem;padding:.2rem .25rem}.scene-meta-num{font-family:SF Mono,Fira Code,monospace;font-size:.6rem;opacity:.35;min-width:1rem;text-align:center}.scene-meta-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:#ffffffb3;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.7rem;padding:.2rem .3rem;transition:border-color .2s ease,background .2s ease;min-width:0}.scene-meta-input.scene-meta-desc{opacity:.7}.scene-meta-input:focus{outline:none;border-color:#ffffff40;background:#ffffff17;color:#fff}.scene-meta-color{width:1.5rem;height:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:0;cursor:pointer;background:transparent;flex-shrink:0}.scene-meta-color::-webkit-color-swatch-wrapper{padding:0}.scene-meta-color::-webkit-color-swatch{border:none;border-radius:2px}@media(max-width:990px),(max-height:825px){body{height:auto;min-height:100vh;overflow:visible}.playlist-panel{position:relative;top:auto;left:auto;width:calc(100% - 2rem);max-width:none;margin:0 auto 1rem;max-height:none}.arch{position:relative;bottom:auto;left:auto;width:calc(100% - 2rem);margin:0 auto 1rem;padding:0 1rem}.arch-cmd{overflow-x:auto;max-width:100%}.log{position:relative;bottom:auto;right:auto;text-align:left;width:calc(100% - 2rem);margin:0 auto 1rem;max-height:15vh}.status{position:relative;bottom:auto;left:auto;transform:none;width:100%;justify-content:center;padding:1rem 0}.glow{width:100vmax;height:100vmax;opacity:.1}}@media(max-width:768px){.room{padding:1.5rem 1rem}.scene-label{font-size:2.2rem}h1{font-size:1.6rem}}
