@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #050505;--bg-panel: #0a0a0a;--bg-input: #151515;--bg-hover: #252525;--text: #ccc;--text-dim: #666;--accent: #aaa;--border: #333}body,html{width:100%;height:100%;overflow:hidden;margin:0;padding:0;font-family:JetBrains Mono,monospace;color:var(--text)}html{background:var(--bg-dark);background-size:cover;background-position:center}#app{display:flex;width:calc(100vw - 48px);height:calc(100vh - 48px);margin:24px;box-sizing:border-box}.container{display:flex;width:100%;height:100%;background:var(--bg-dark);border:1px solid var(--border);border-radius:10px;overflow:hidden}#canvas{flex:1 1 auto;min-width:0;height:100%;display:block}#controls{width:420px;flex:0 0 420px;background:var(--bg-panel);padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;border-left:1px solid var(--border)}.control-row{display:flex;gap:20px}.control-group{flex:1;display:flex;flex-direction:column;gap:8px}label{font-size:13px;font-weight:500;color:#fff;display:flex;align-items:center;justify-content:space-between}label .label-value{color:#666;font-weight:400}label .value{color:inherit}label .unit{color:inherit;font-size:13px}.select-wrapper{position:relative}.select-wrapper:after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-dim);font-size:24px}select{width:100%;padding:10px 32px 10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;appearance:none;outline:none;transition:border-color .15s,background .15s}select:hover{background:var(--bg-hover)}select:focus{border-color:var(--accent)}input[type=range]{width:100%;height:20px;background:transparent;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#333;border:none;border-radius:3px;outline:1px solid #444;outline-offset:-1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border:none;border-radius:2px;cursor:grab;transform:rotate(45deg);margin-top:-4px;box-shadow:0 0 0 1px #00000036,0 1px 2px #00000026;transition:transform .15s ease-out}input[type=range]::-webkit-slider-thumb:hover{transform:rotate(45deg) scale(1.15)}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-track{width:100%;height:6px;background:#333;border:none;border-radius:3px;outline:1px solid #444;outline-offset:-1px}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#fff;border:none;border-radius:2px;cursor:grab;transform:rotate(45deg);box-shadow:0 0 0 1px #00000036,0 1px 2px #00000026}.color-input{display:flex;gap:6px;align-items:center}input[type=color]{width:28px;height:28px;padding:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;cursor:pointer;flex-shrink:0}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.color-input input[type=range]{flex:1}.buttons{margin-top:4px}button{flex:1;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:6px}button:hover{background:var(--bg-hover);border-color:var(--text-dim)}button.primary{background:#fff;border-color:#fff;color:#000}button.primary:hover{background:#ddd;border-color:#ddd}.divider{height:1px;background:var(--border);margin:8px 0}.icon-btn{flex:0 0 28px;width:28px;height:28px;padding:0;font-size:12px;align-self:flex-end;margin-bottom:0;opacity:.5}.icon-btn.active{opacity:1;background:#fff;border-color:#fff;color:#000}.export-info{font-size:10px;color:var(--text-dim);text-align:center;padding:6px 8px;background:var(--bg-input);border-radius:4px}.export-info span{color:var(--text)}.export-tabs{display:flex;gap:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:2px}.export-tab{flex:1;background:transparent;border:1px solid transparent;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-dim);cursor:pointer;border-radius:4px;transition:background .15s,color .15s;letter-spacing:.04em}.export-tab:hover{color:var(--text);background:transparent;border-color:transparent}.export-tab.active{background:var(--bg-hover);color:var(--text)}.video-options{display:flex;flex-direction:column;gap:20px}.video-options[hidden]{display:none}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-row input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:#fff}.hint{font-size:10px;color:var(--text-dim);letter-spacing:.02em}.export-btn{position:relative;overflow:hidden;isolation:isolate}.export-btn[data-recording=true]:before{content:"";position:absolute;inset:0;background:#3b82f652;width:var(--progress, 0%);transition:width .1s linear;pointer-events:none;z-index:-1}.cancel-btn[hidden]{display:none}.cancel-btn{flex:0 0 auto;padding:12px 16px}#controls::-webkit-scrollbar{width:6px}#controls::-webkit-scrollbar-track{background:transparent}#controls::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}#controls::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
