owenkaplinsky
Remove code visually
d759f05
raw
history blame
5.73 kB
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
height: 100%;
width: 100%;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
overflow: hidden;
}
/* --- Top Bar --- */
#topBar {
display: flex;
align-items: center;
height: 50px;
background: #6366f1;
padding: 0 20px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
z-index: 1000;
}
#titleSection {
display: flex;
align-items: center;
}
#titleSection h1 {
font-size: 20px;
font-weight: 600;
color: white;
letter-spacing: 0.5px;
}
#divider {
width: 2px;
height: 30px;
background: rgba(255, 255, 255, 0.3);
margin: 0 20px;
}
/* --- Menus --- */
#menuSection {
display: flex;
gap: 5px;
}
.menuGroup {
position: relative;
}
.menuButton {
background: rgba(255, 255, 255, 0.15);
color: white;
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 8px 16px;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
}
.menuButton:hover {
background: rgba(255, 255, 255, 0.25);
border-color: rgba(255, 255, 255, 0.3);
transform: translateY(-1px);
}
.menuButton:active {
transform: translateY(0);
}
.dropdown {
position: absolute;
top: 100%;
left: 0;
background: white;
border-radius: 6px;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
min-width: 150px;
opacity: 0;
visibility: hidden;
transform: translateY(-8px);
transition: all 0.2s ease;
margin-top: 4px;
z-index: 2000;
}
.menuGroup:hover .dropdown,
.dropdown:hover {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.dropdownItem {
display: block;
padding: 12px 16px;
color: #333;
text-decoration: none;
font-size: 14px;
transition: all 0.15s ease;
border-left: 3px solid transparent;
}
.dropdownItem:first-child {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.dropdownItem:last-child {
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
.dropdownItem:hover {
background: #f0f2f5;
border-left-color: #667eea;
padding-left: 20px;
}
.dropdownItem:active {
background: #e8ebf0;
}
/* --- GitHub Link --- */
#githubLink {
margin-left: auto;
display: flex;
align-items: center;
}
#githubLink a {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
color: white;
transition: all 0.2s ease;
border-radius: 4px;
}
#githubLink a:hover {
background: rgba(255, 255, 255, 0.15);
transform: scale(1.05);
}
#githubLink a:active {
transform: scale(0.95);
}
#githubLink svg {
width: 24px;
height: 24px;
}
/* --- Main Split Layout --- */
#pageContainer {
display: flex;
width: 100%;
height: calc(100% - 50px);
overflow: hidden;
}
#pageContainer.dragging {
user-select: none;
cursor: col-resize;
}
/* Add dark grey padding around Gradio + Code --- */
#outputPane {
flex: 0 0 30%;
background: #2c2c2c;
/* dark grey background around both sections */
display: flex;
flex-direction: column;
box-sizing: border-box;
overflow: hidden;
}
/* --- Tab Bar --- */
#tabBar {
display: flex;
background: #1f1f1f;
border-bottom: 2px solid #e5e7eb;
flex-shrink: 0;
}
.tab {
padding: 12px 20px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
color: #999;
background: #1f1f1f;
border: none;
transition: all 0.2s ease;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
}
.tab:hover {
color: #ccc;
}
.tab.active {
color: #6366f1;
border-bottom-color: #6366f1;
}
/* --- Tab Content --- */
.tabContent {
display: none;
flex: 1;
flex-direction: column;
padding: 16px;
gap: 16px;
overflow: hidden;
box-sizing: border-box;
}
.tabContent.active {
display: flex;
}
/* Add matching background to the Gradio frame container */
#chatContainer {
background: #2c2c2c;
border: none;
flex: 1;
box-sizing: border-box;
border-radius: 6px;
overflow: hidden;
}
/* Slightly inset the Gradio iframe */
#chatContainer iframe,
#gradioContainer iframe {
border-radius: 6px;
overflow: hidden;
width: 100%;
height: 100%;
border: none;
}
#gradioContainer {
background: #2c2c2c;
border: none;
flex: 1;
box-sizing: border-box;
border-radius: 6px;
overflow: hidden;
}
/* Style the code area with matching margin and contrast */
#generatedCode {
display: none;
background: #1f1f1f;
color: #e0e7ff;
border-radius: 6px;
padding: 16px;
box-sizing: border-box;
flex: 1;
overflow-y: auto;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
white-space: pre-wrap;
font-size: 13px;
line-height: 1.5;
}
#aichatCode {
background: #1f1f1f;
color: #e0e7ff;
border-radius: 6px;
padding: 16px;
box-sizing: border-box;
flex: 1;
overflow-y: auto;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
white-space: pre-wrap;
font-size: 13px;
line-height: 1.5;
}
/* --- Vertical Resizer --- */
.verticalResizer {
display: none;
height: 8px;
background: #e5e7eb;
cursor: row-resize;
transition: background 0.2s ease;
flex-shrink: 0;
z-index: 1500;
}
.verticalResizer:hover,
.verticalResizer.active {
background: #6366f1;
}
/* --- Resizer --- */
.resizer {
width: 8px;
background: #e5e7eb;
cursor: col-resize;
transition: background 0.2s ease;
flex-shrink: 0;
z-index: 1500;
}
.resizer:hover,
.resizer.active {
background: #6366f1;
}
/* --- Right Pane --- */
#blocklyDiv {
flex: 1;
min-width: 40%;
height: 100%;
overflow: hidden;
background: #fff;
}