*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0a0a;font-family:SF Mono,Fira Code,monospace;color:#aaa}#app{display:flex;width:100%;height:100%}.panel{flex:1;position:relative;overflow:hidden}.panel canvas{width:100%;height:100%;display:block}.panel-label{position:absolute;top:12px;left:12px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#555;z-index:10;pointer-events:none}#scene-panel .panel-label{pointer-events:auto;cursor:pointer}#scene-panel .panel-label:hover{color:#999}.divider{width:1px;background:#222}#debug-header{position:fixed;top:0;left:0;z-index:101;width:340px;height:58px;display:flex;align-items:center;background:#0a0a0ae6;padding:0 14px}#debug-btn-group{display:flex;gap:4px;margin-left:auto;flex-shrink:0}#debug-btn-group button{width:24px;height:24px;border:1px solid #444;border-radius:4px;background:#0a0a0ae6;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}#debug-btn-group button:hover{color:#fff;border-color:#888}#debug-toggle{font-size:14px}#debug-shift{font-size:12px}#debug-shift.active{color:#fa4;border-color:#fa4}#debug-demo{font-size:10px}#debug-demo.active{color:#fa4;border-color:#fa4}#demo-label{position:fixed;top:52px;left:256px;z-index:101;font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#fa4;background:#0a0a0ad9;padding:3px 8px;border-radius:3px;pointer-events:none;letter-spacing:.5px}#app{transition:margin-left .25s ease}#app.shifted{margin-left:340px}#debug-panel{position:fixed;top:58px;left:0;z-index:99;width:340px;height:calc(100vh - 58px);overflow-y:auto;background:#0a0a0ae6;border-right:1px solid #333;padding:10px 14px 14px;font-size:10px;transform-origin:top left;transition:transform .2s ease,opacity .2s ease;transform:scale(1);opacity:1;scrollbar-width:thin;scrollbar-color:#333 transparent}#debug-panel::-webkit-scrollbar{width:5px}#debug-panel::-webkit-scrollbar-track{background:transparent}#debug-panel::-webkit-scrollbar-thumb{background:#333;border-radius:3px}#debug-panel::-webkit-scrollbar-thumb:hover{background:#555}#debug-panel.hidden{transform:scale(.95,.98);opacity:0;pointer-events:none}#debug-panel-title{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#fff}#debug-panel-title .title-text{line-height:1.3}#debug-panel-title .title-sub{font-size:9px;letter-spacing:1px;opacity:.6}#debug-panel-title .title-version{opacity:.5}.neo-icon{width:28px;height:28px;flex-shrink:0;cursor:pointer}.neo-s{fill:none;stroke:#fff;stroke-width:48;opacity:0;stroke-dasharray:300;stroke-dashoffset:300}.neo-filled{fill:#fff;stroke:none;transform-origin:center;transform:scale(0)}#debug-header .neo-s1,#debug-header .neo-s5,#debug-header .neo-s7{animation:neo-draw .4s ease-out forwards;animation-delay:.2s}#debug-header .neo-s2{animation:neo-scale .35s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.2s}#debug-header .neo-s3,#debug-header .neo-s8{animation:neo-scale .35s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.5s}#debug-header .neo-s9{animation:neo-draw .4s ease-out forwards;animation-delay:.5s}.neo-s4{transform-origin:50px 162px;transform:rotate(90deg)}.neo-s6{transform-origin:250px 162px;transform:rotate(-90deg)}#debug-header .neo-s4{animation:neo-fade-in .3s ease-out forwards,neo-rotate-left .4s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.8s,1s}#debug-header .neo-s6{animation:neo-fade-in .3s ease-out forwards,neo-rotate-right .4s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.8s,1s}#debug-header .neo-icon:hover .neo-s{animation:neo-undraw .3s ease-in forwards!important}#debug-header .neo-icon:hover .neo-filled{animation:neo-unscale .3s ease-in forwards!important}#debug-header .neo-icon:hover .neo-s4{animation:neo-unrotate-left .3s ease-in forwards!important}#debug-header .neo-icon:hover .neo-s6{animation:neo-unrotate-right .3s ease-in forwards!important}@keyframes neo-undraw{0%{opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:300}}@keyframes neo-unscale{0%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(0) rotate(-45deg)}}@keyframes neo-unrotate-left{0%{opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(90deg)}}@keyframes neo-unrotate-right{0%{opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(-90deg)}}@keyframes neo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes neo-rotate-left{0%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes neo-rotate-right{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes neo-draw{0%{opacity:1;stroke-dashoffset:300}to{opacity:1;stroke-dashoffset:0}}@keyframes neo-scale{0%{opacity:0;transform:scale(0) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes neo-rotate-left{0%{opacity:0;transform:rotate(90deg)}to{opacity:1;transform:rotate(0)}}@keyframes neo-rotate-right{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:rotate(0)}}.debug-section{margin-bottom:4px}.debug-section-header{display:flex;align-items:center;gap:6px;padding:6px 0;cursor:pointer;color:#fff;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-bottom:1px solid #222;margin-bottom:6px}.debug-section-header:hover{color:#fa4}.debug-arrow{font-size:7px;transition:transform .15s ease;display:inline-block}.debug-section.open .debug-arrow{transform:rotate(90deg)}.debug-section-body{display:none;padding-bottom:6px}.debug-section.open .debug-section-body{display:block}.debug-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.debug-row label{flex:0 0 90px;color:#fff;font-size:10px;letter-spacing:1px}.debug-row input[type=range]{flex:1;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#333;border-radius:1px}.debug-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:#fff;cursor:pointer}.debug-row input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:none;cursor:pointer}.debug-row select{flex:1;background:#000;border:1px solid #fff;color:#fff;padding:2px 4px;font-size:10px;font-family:inherit;border-radius:3px;letter-spacing:1px}.debug-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border:1.5px solid #fff;border-radius:2px;background:#000;cursor:pointer;flex-shrink:0}.debug-row input[type=checkbox]:checked{background:#fa4;border-color:#fff}.debug-val{flex:0 0 36px;text-align:right;color:#fff;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:1px}.debug-button-group{display:flex;flex:1;gap:0}.debug-button-group-btn{flex:1;background:#000;border:1px solid #fff;color:#fff;padding:4px 8px;font-size:10px;font-family:inherit;letter-spacing:1px;cursor:pointer;transition:background .15s,color .15s}.debug-button-group-btn:first-child{border-radius:3px 0 0 3px}.debug-button-group-btn:last-child{border-radius:0 3px 3px 0}.debug-button-group-btn:not(:first-child){border-left:none}.debug-button-group-btn:hover{background:#222}.debug-button-group-btn.active{background:#fff;color:#000}.debug-range-wrap{flex:1;position:relative;height:16px;background:transparent}.debug-range-wrap:before{content:"";position:absolute;left:0;right:0;top:6px;height:3px;background:#333;border-radius:1px;pointer-events:none}.debug-range-highlight{position:absolute;top:6px;height:3px;background:#fff;border-radius:1px;pointer-events:none;z-index:1}.debug-range-wrap input[type=range]{position:absolute;left:0;top:0;width:100%;height:3px;margin:6px 0;pointer-events:none;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.debug-range-wrap input[type=range]::-webkit-slider-runnable-track{height:3px;background:transparent;border-radius:1px}.debug-range-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:10px;height:10px;border-radius:50%;background:#fff;cursor:pointer;margin-top:-3.5px;position:relative;z-index:2}.debug-preset-bar{display:flex;gap:4px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #333}.debug-preset-select{flex:1;background:#000;border:1px solid #fff;color:#fff;padding:3px 4px;font-size:10px;font-family:inherit;border-radius:3px;letter-spacing:1px}.debug-preset-btn{background:#000;border:1px solid #fff;color:#fff;padding:3px 8px;font-size:10px;font-family:inherit;border-radius:3px;cursor:pointer;letter-spacing:1px}.debug-preset-btn:hover{border-color:#fa4}.debug-trigger-btn{background:#2a1a0a;border:1px solid #885522;color:#fa4;padding:3px 12px;font-size:10px;font-family:inherit;border-radius:3px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase}.debug-trigger-btn:hover{background:#3a2a1a;border-color:#c84;color:#fc6}.debug-trigger-btn:active{background:#531}.debug-row label.has-tooltip{cursor:help;position:relative}.debug-row label.has-tooltip:hover:after{content:attr(data-tooltip);position:absolute;left:0;top:100%;margin-top:4px;background:#222;border:1px solid #555;color:#ccc;padding:6px 8px;font-size:9px;line-height:1.4;border-radius:4px;white-space:normal;width:200px;z-index:200;pointer-events:none}.filter-hidden{display:none!important}#debug-panel-title .filter-badge{font-size:8px;letter-spacing:1px;color:#fa4;margin-left:8px;opacity:0;transition:opacity .15s ease}#debug-header.filter-active #debug-panel-title .filter-badge{opacity:1}#stats-overlay{position:fixed;bottom:8px;left:8px;z-index:100;font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#666;background:#00000080;padding:4px 8px;border-radius:3px;pointer-events:none;font-variant-numeric:tabular-nums}.curve-editor{margin-top:4px;margin-bottom:4px}.curve-preset-row{margin-bottom:4px}.curve-preset-select{background:#000;border:1px solid #fff;color:#fff;padding:2px 4px;font-size:10px;font-family:inherit;border-radius:3px;letter-spacing:1px;width:100%}.curve-canvas{display:block;width:100%;height:70px;border:1px solid #333;border-radius:3px;cursor:crosshair}.export-recording{background:#4a0a0a!important;border-color:#c33!important;color:#f44!important;animation:export-pulse 1s ease-in-out infinite}@keyframes export-pulse{0%,to{opacity:1}50%{opacity:.6}}.export-progress-panel{margin-top:6px;padding:8px;background:#0a0a0a;border:1px solid #333;border-radius:4px}.export-preview-canvas{display:block;width:100%;height:120px;background:#000;border:1px solid #222;border-radius:3px;margin-bottom:6px;image-rendering:pixelated}.export-progress-info{font-size:10px;color:#fa4;margin-bottom:4px;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-progress-bar{height:6px;background:#1a1a1a;border:1px solid #333;border-radius:3px;overflow:hidden}.export-progress-fill{height:100%;background:#fa4;width:0%;transition:width .15s}
