studio3d / src /components /RightPanel.css
Studio3D Deploy
๐Ÿš€ Initial Studio3D deployment โ€” React Three Fiber 3D Animation Studio
43024e4
.right-panel {
width: 260px;
background: #0e0e1f;
border-left: 1px solid #2a2a4a;
overflow-y: auto;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: #9999cc;
}
.right-panel::-webkit-scrollbar { width: 4px; }
.right-panel::-webkit-scrollbar-track { background: transparent; }
.right-panel::-webkit-scrollbar-thumb { background: #333366; border-radius: 2px; }
.prop-section {
border-bottom: 1px solid #1e1e3a;
padding: 10px 14px;
}
.section-title {
display: flex;
align-items: center;
gap: 7px;
font-size: 9px;
font-weight: 700;
letter-spacing: 2px;
color: #7777aa;
margin-bottom: 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.section-icon { color: #6666ff; font-size: 12px; }
.section-sublabel {
display: block;
font-size: 9px;
letter-spacing: 1.5px;
color: #555577;
margin-bottom: 5px;
}
.prop-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 7px;
}
.prop-row label {
width: 72px;
color: #7777aa;
font-size: 9px;
letter-spacing: 0.5px;
flex-shrink: 0;
}
.prop-row input[type="range"] {
flex: 1;
height: 2px;
background: #2a2a5a;
border-radius: 1px;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
}
.prop-row input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 10px;
height: 10px;
border-radius: 50%;
background: #6666ff;
cursor: pointer;
}
.prop-val {
width: 35px;
text-align: right;
color: #ccccff;
font-size: 9px;
}
.color-input {
width: 28px;
height: 20px;
border: 1px solid #3a3a6a;
border-radius: 4px;
cursor: pointer;
background: none;
padding: 0;
}
.prop-divider {
height: 1px;
background: #1e1e3a;
margin: 8px 0;
}
.vec3-row {
margin-bottom: 9px;
}
.vec3-label {
display: block;
font-size: 9px;
color: #7777aa;
letter-spacing: 0.5px;
margin-bottom: 5px;
}
.vec3-inputs {
display: flex;
gap: 5px;
}
.vec3-item {
flex: 1;
display: flex;
align-items: center;
gap: 3px;
background: #13132a;
border: 1px solid #2a2a4a;
border-radius: 4px;
padding: 3px 5px;
}
.vec3-axis {
font-size: 8px;
font-weight: 800;
flex-shrink: 0;
}
.axis-x { color: #f06292; }
.axis-y { color: #66bb6a; }
.axis-z { color: #42a5f5; }
.vec3-item input {
flex: 1;
background: none;
border: none;
color: #ccccff;
font-family: 'JetBrains Mono', monospace;
font-size: 9px;
width: 0;
min-width: 0;
outline: none;
}
.toggle-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 7px;
}
.toggle-row label {
flex: 1;
color: #7777aa;
font-size: 9px;
}
.toggle-btn {
padding: 3px 10px;
border-radius: 3px;
border: 1px solid #3a3a5a;
background: #13132a;
color: #555577;
cursor: pointer;
font-family: 'JetBrains Mono', monospace;
font-size: 8px;
font-weight: 700;
letter-spacing: 1px;
transition: all 0.15s;
}
.toggle-btn.on {
border-color: #5555cc;
background: #1a1a4a;
color: #aaaaff;
}
.btn-small {
display: block;
width: 100%;
padding: 6px;
background: #13132a;
border: 1px dashed #3a3a6a;
border-radius: 5px;
color: #7777cc;
cursor: pointer;
font-family: 'JetBrains Mono', monospace;
font-size: 9px;
text-align: center;
transition: all 0.15s;
margin-bottom: 5px;
}
.btn-small:hover { border-color: #6666ff; color: #aaaaff; background: #1a1a3a; }
.btn-danger { border-color: #4a2a2a; color: #cc6666; }
.btn-danger:hover { border-color: #ff4444; color: #ff8888; background: #2a1a1a; }
.texture-section { display: flex; flex-direction: column; gap: 4px; }
.skybox-btns {
display: flex;
gap: 4px;
margin-bottom: 8px;
}
.sky-btn {
flex: 1;
padding: 5px 4px;
border-radius: 4px;
border: 1px solid #2a2a4a;
background: #13132a;
color: #555577;
cursor: pointer;
font-family: 'JetBrains Mono', monospace;
font-size: 8px;
font-weight: 700;
transition: all 0.15s;
}
.sky-btn.active { border-color: #6666ff; background: #1a1a4a; color: #aaaaff; }
.anim-list {
max-height: 120px;
overflow-y: auto;
margin-bottom: 8px;
border: 1px solid #1e1e3a;
border-radius: 5px;
}
.anim-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 8px;
cursor: pointer;
border-bottom: 1px solid #1a1a3a;
transition: all 0.1s;
}
.anim-item:hover { background: #1a1a3a; }
.anim-item.active { background: #1e1e4a; color: #aaaaff; }
.anim-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.anim-dur { color: #555577; font-size: 9px; margin-left: 5px; }
.anim-controls { margin-bottom: 8px; }
.play-btn {
width: 100%;
padding: 8px;
border-radius: 5px;
border: 1px solid #3a3a6a;
background: #13132a;
color: #8888cc;
cursor: pointer;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
font-weight: 700;
transition: all 0.15s;
}
.play-btn.playing {
border-color: #55cc55;
background: #1a2a1a;
color: #88ff88;
}
.play-btn:hover { border-color: #6666ff; background: #1a1a4a; }