:root{--bg-dark:#090a0f;--panel-bg:#12141da6;--panel-border:#ffffff14;--panel-blur:16px;--primary:#00f2fe;--primary-glow:#00f2fe59;--secondary:#4facfe;--accent-purple:#7f00ff;--accent-pink:#ff007f;--accent-green:#00ff87;--accent-warning:#fa0;--text-main:#f0f4f8;--text-muted:#8a99ad;--text-dim:#5c6b7d;--radius-lg:16px;--radius-md:10px;--radius-sm:6px;--font-main:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body,html{background-color:var(--bg-dark);width:100%;height:100%;font-family:var(--font-main);color:var(--text-main);-webkit-font-smoothing:antialiased;overflow:hidden}#canvas-container{z-index:1;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.loader-overlay{z-index:9999;background:radial-gradient(circle,#16192b 0%,#06070a 100%);justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .5s,visibility .5s;display:flex;position:fixed;top:0;left:0}.loader-overlay.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loader-content{text-align:center;flex-direction:column;align-items:center;max-width:400px;padding:20px;display:flex}.cube-spinner{width:60px;height:60px;transform-style:preserve-3d;margin-bottom:30px;animation:3s linear infinite rotateCube;position:relative}.cube-face{border:2px solid var(--primary);width:60px;height:60px;box-shadow:0 0 15px var(--primary-glow);background:#00f2fe1a;position:absolute}.cube-face.front{transform:rotateY(0)translateZ(30px)}.cube-face.back{transform:rotateY(180deg)translateZ(30px)}.cube-face.right{transform:rotateY(90deg)translateZ(30px)}.cube-face.left{transform:rotateY(-90deg)translateZ(30px)}.cube-face.top{transform:rotateX(90deg)translateZ(30px)}.cube-face.bottom{transform:rotateX(-90deg)translateZ(30px)}@keyframes rotateCube{0%{transform:rotateX(0)rotateY(0)}to{transform:rotateX(360deg)rotateY(360deg)}}.loader-content h2{letter-spacing:3px;background:linear-gradient(135deg, #fff, var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.8rem;font-weight:700}.loader-content p{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.progress-bar-container{background:#ffffff0d;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--secondary), var(--primary));width:10%;height:100%;box-shadow:0 0 10px var(--primary);transition:width .3s}#ui-layer{z-index:10;pointer-events:none;grid-template:"header header header"70px"left main right"1fr"dock dock dock"75px/320px 1fr 340px;gap:16px;width:100%;height:100%;padding:16px;display:grid;position:absolute;top:0;left:0}.glass-panel{pointer-events:auto;background:var(--panel-bg);-webkit-backdrop-filter:blur(var(--panel-blur));border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000005e}.studio-header{grid-area:header;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo-icon{filter:drop-shadow(0 0 8px var(--primary-glow));font-size:1.6rem}.brand-text h1{letter-spacing:2px;font-size:1.3rem;font-weight:700;line-height:1}.brand-text h1 span{color:var(--primary)}.version-tag{font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:1px}.header-stats{gap:16px;display:flex}.stat-badge{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff0d;align-items:center;gap:8px;padding:6px 14px;display:flex}.stat-label{letter-spacing:1px;color:var(--text-muted);font-size:.65rem;font-weight:600}.stat-value{font-size:.9rem;font-family:var(--font-mono);font-weight:700}.highlight-cyan{color:var(--primary)}.highlight-green{color:var(--accent-green)}.left-sidebar{flex-direction:column;grid-area:left;gap:18px;max-height:calc(100vh - 177px);padding:20px;display:flex;overflow-y:auto}.right-sidebar{flex-direction:column;grid-area:right;gap:18px;max-height:calc(100vh - 177px);padding:20px;display:flex;overflow-y:auto}.left-sidebar::-webkit-scrollbar{width:4px}.right-sidebar::-webkit-scrollbar{width:4px}.left-sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.right-sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.panel-section{flex-direction:column;gap:10px;display:flex}.panel-section h3{letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.section-title-with-badge{justify-content:space-between;align-items:center;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:3px 8px;font-size:.65rem;font-weight:600}.badge-warning{color:var(--accent-warning);background:#ffaa0026;border:1px solid #ffaa004d}.badge-success{color:var(--accent-green);background:#00ff8726;border:1px solid #00ff874d}.badge-info{color:var(--secondary);background:#4facfe26;border:1px solid #4facfe4d}.tool-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool-btn{border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);font-family:var(--font-main);background:#ffffff08;border:1px solid #ffffff0f;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 6px;display:flex}.tool-btn:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.tool-btn.active{border-color:var(--primary);box-shadow:0 0 12px var(--primary-glow);background:linear-gradient(135deg,#00f2fe26,#4facfe1a)}.tool-icon{font-size:1.15rem}.tool-name{font-size:.68rem;font-weight:600}.slider-group{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0a;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.slider-label{color:var(--text-muted);justify-content:space-between;font-size:.72rem;display:flex}.slider-label span:last-child{font-family:var(--font-mono);color:var(--text-main);font-weight:600}input[type=range]{appearance:none;background:0 0;width:100%}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;background:#ffffff1a;border-radius:3px;width:100%;height:5px}input[type=range]::-webkit-slider-thumb{background:var(--primary);cursor:pointer;appearance:none;width:15px;height:15px;box-shadow:0 0 8px var(--primary);border-radius:50%;margin-top:-5px;transition:transform .1s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.shape-grid,.mat-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.shape-btn,.mat-btn{border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);font-size:.72rem;font-weight:500;font-family:var(--font-main);background:#ffffff08;border:1px solid #ffffff0f;padding:8px}.shape-btn:hover,.mat-btn:hover{background:#ffffff14}.shape-btn.active,.mat-btn.active{border-color:var(--secondary);color:#fff;background:#ffffff1f;font-weight:600}.webcam-card{border-radius:var(--radius-md);background:#0006;border:1px solid #ffffff14;width:100%;height:170px;position:relative;overflow:hidden}.webcam-card video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.webcam-card canvas{width:100%;height:100%;position:absolute;top:0;left:0;transform:scaleX(-1)}.webcam-placeholder{width:100%;height:100%;color:var(--text-muted);letter-spacing:1px;background:#0a0c12d9;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;top:0;left:0}.webcam-placeholder.hidden{display:none}.gesture-card{border-radius:var(--radius-md);transition:var(--transition-normal);border:1px solid #ffffff14;align-items:center;gap:12px;padding:12px;display:flex}.gesture-card.state-hover{background:#4facfe14;border-color:#4facfe4d}.gesture-card.state-sculpt{background:#00ff871f;border-color:#00ff8766;box-shadow:0 0 15px #00ff8726}.gesture-card.state-smooth{background:#7f00ff1f;border-color:#7f00ff66}.gesture-card.state-pose{background:#ffaa001f;border-color:#fa06;box-shadow:0 0 15px #ffaa0026}.gesture-icon{background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.8rem;display:flex}.gesture-title{letter-spacing:1px;margin-bottom:2px;font-size:.82rem;font-weight:700}.gesture-desc{color:var(--text-muted);font-size:.68rem;line-height:1.3}.meter-container{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0a;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.meter-label{color:var(--text-muted);justify-content:space-between;font-size:.68rem;display:flex}.meter-label span:last-child{font-family:var(--font-mono);color:var(--accent-green);font-weight:700}.meter-track{background:#ffffff14;border-radius:3px;width:100%;height:5px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--primary), var(--accent-green));width:0%;height:100%;box-shadow:0 0 10px var(--accent-green);transition:width .1s}.gesture-guide{flex-direction:column;gap:6px;list-style:none;display:flex}.gesture-guide li{border-radius:var(--radius-sm);background:#ffffff05;align-items:center;gap:8px;padding:7px 8px;font-size:.72rem;display:flex}.guide-icon{flex-shrink:0;font-size:1rem}.guide-text strong{color:var(--text-main)}.guide-text{color:var(--text-muted);line-height:1.3}.bottom-dock{flex-wrap:wrap;grid-area:dock;justify-content:center;align-items:center;gap:10px;padding:0 20px;display:flex}.dock-btn{border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:6px;padding:10px 14px;font-size:.78rem;font-weight:600;display:flex}.dock-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.dock-btn.active{border-color:var(--secondary);background:#4facfe26}.dock-btn.primary{background:linear-gradient(135deg, var(--secondary), var(--primary));color:#06070a;box-shadow:0 0 15px var(--primary-glow);border:none}.dock-btn.primary:hover{box-shadow:0 0 22px var(--primary);transform:translateY(-2px)scale(1.02)}.dock-btn.danger:hover{border-color:var(--accent-pink);color:#fff;background:#ff007f33}.dock-btn.small{padding:7px 10px;font-size:.68rem}.dock-icon{font-size:1rem}.dock-separator{background:#ffffff1a;width:1px;height:28px;margin:0 2px}.anim-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.studio-toast{-webkit-backdrop-filter:blur(12px);border:1px solid var(--primary);box-shadow:0 0 20px var(--primary-glow);color:#fff;letter-spacing:.5px;opacity:0;visibility:hidden;z-index:10000;pointer-events:none;background:#12141dd9;border-radius:30px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:opacity .3s,transform .3s,visibility .3s;position:fixed;top:90px;left:50%;transform:translate(-50%)translateY(-20px)}.studio-toast.visible{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.mobile-tabs{gap:8px;display:none}.mobile-tabs button{color:var(--text-muted);border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);background:#ffffff08;border:1px solid #ffffff14;padding:6px 14px;font-size:.72rem;font-weight:600}.mobile-tabs button.active{border-color:var(--primary);color:var(--primary);box-shadow:0 0 10px var(--primary-glow);background:#00f2fe26}@media (max-width:1100px){#ui-layer{grid-template-columns:260px 1fr 260px;gap:10px;padding:10px}}@media (max-width:860px){.mobile-tabs{display:flex}.header-stats{display:none}#ui-layer{grid-template:"header"60px"main"1fr"dock"70px/1fr;gap:8px;padding:8px}.left-sidebar,.right-sidebar{z-index:100;max-height:none;display:none;position:absolute;inset:76px 8px 86px;overflow-y:auto}.left-sidebar.mobile-show,.right-sidebar.mobile-show{display:flex}.bottom-dock{gap:6px;padding:0 8px}.dock-btn{padding:8px 10px;font-size:.7rem}.dock-separator{display:none}.studio-header{padding:0 12px}}
