body{margin:0;font-family:sans-serif;background-color:#111;color:#fff;overflow:hidden}canvas{display:block}#scene-container{position:absolute;top:0;height:100%;left:0;right:0;z-index:1}#slide-container{position:absolute;top:50%;transform:translateY(-50%);width:370px;left:-330px;transition:left .3s ease-in-out;z-index:10;display:flex;align-items:center}#slide-container.open{left:0}#controls-panel{width:330px;max-height:90vh;background:#141414f2;padding:15px;border-radius:0 10px 10px 0;box-shadow:2px 0 10px #00000080;overflow-y:auto;box-sizing:border-box}#panel-toggle-tab{width:40px;height:120px;background-color:#2a9d8f;border-radius:0 10px 10px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;font-size:18px;font-weight:700;flex-shrink:0}.control-section{margin-bottom:20px;border:1px solid #444;border-radius:5px;padding:15px}h3{margin-top:0;color:#2a9d8f}.param-display,.param-edit{font-size:14px}.param-display div{margin-bottom:8px}.param-edit{display:none}label{display:block;margin-top:10px;margin-bottom:5px}input,select{width:100%;box-sizing:border-box;background-color:#333;color:#fff;border:1px solid #555;padding:5px;border-radius:3px}.unit{margin-left:5px;color:#aaa}.btn{width:100%;padding:8px;border:none;border-radius:5px;cursor:pointer;margin-top:10px}.btn-modify{background:#e9c46a;color:#000}.btn-apply{background:#2a9d8f;color:#fff;font-size:16px;padding:10px}.btn-simulate{background:#e76f51;color:#fff;font-size:14px;padding:5px;font-weight:700}.btn-reset{background:#6c757d;color:#fff;font-size:16px}.button-group{display:flex;gap:10px}.instance-group{border:1px solid #4a4a4a;border-radius:5px;padding:10px;margin-top:10px}.instance-group h4{margin:0 0 10px;color:#e9c46a}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}#status-message{text-align:center;font-weight:700;margin-top:15px;min-height:20px}.fine-tune-container{display:none;margin-top:15px;border-top:1px dashed #555;padding-top:10px}.fine-tune-container label{font-style:italic;color:#ccc}.led-section{border-top:1px solid #555;margin-top:15px;padding-top:10px}.led-section h5{margin:0 0 10px;color:#fca311}#right-slide-container{position:absolute;top:50%;transform:translateY(-50%);width:370px;right:-330px;transition:right .3s ease-in-out;z-index:9;display:flex;align-items:center;flex-direction:row-reverse}#right-slide-container.open{right:0}#realtime-controls-panel{width:330px;max-height:90vh;background:#1e1e1ef2;padding:15px;border-radius:10px 0 0 10px;box-shadow:-2px 0 10px #00000080;overflow-y:auto;box-sizing:border-box;color:#fff}#right-panel-toggle-tab{width:40px;height:120px;background-color:#fca311;border-radius:10px 0 0 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;font-size:18px;font-weight:700;color:#000;flex-shrink:0}.realtime-section{margin-bottom:20px;border:1px solid #666;border-radius:5px;padding:15px}.realtime-section h4{margin-top:0;color:#fca311;border-bottom:1px solid #555;padding-bottom:8px}.realtime-section label{display:block;margin-top:10px;margin-bottom:5px;font-size:14px}.realtime-section input,.realtime-section select{width:100%;box-sizing:border-box;background-color:#444;color:#fff;border:1px solid #666;padding:5px;border-radius:3px}.realtime-apply-btn{width:100%;padding:8px;border:none;border-radius:5px;cursor:pointer;margin-top:15px;background:#e76f51;color:#fff;font-weight:700}.fan-on-btn,.fan-off-btn{padding:8px;border:none;border-radius:5px;cursor:pointer;color:#fff;font-weight:700}.fan-on-btn{background-color:#2a9d8f}.fan-off-btn{background-color:#e76f51}.led-on-btn,.led-off-btn{padding:8px;border:none;border-radius:5px;cursor:pointer;color:#fff;font-weight:700}.led-on-btn{background-color:#2a9d8f}.led-off-btn{background-color:#e76f51}
