tcid / styles.css
ror's picture
ror HF Staff
Even better sidebar
881ab65
raw
history blame
16.8 kB
/* Global dark theme */
.gradio-container {
background-color: #000000 !important;
color: white !important;
height: 100vh !important;
max-height: 100vh !important;
overflow: hidden !important;
}
/* Remove borders from all components */
.gr-box, .gr-form, .gr-panel {
border: none !important;
background-color: #000000 !important;
}
/* Simplified sidebar styling */
.sidebar {
background: linear-gradient(145deg, #111111, #1a1a1a) !important;
border: none !important;
padding: 15px !important;
margin: 0 !important;
height: 100vh !important;
position: fixed !important;
left: 0 !important;
top: 0 !important;
width: 300px !important;
box-sizing: border-box !important;
overflow-y: auto !important;
overflow-x: hidden !important;
}
/* Target the actual Gradio column containing sidebar */
div[data-testid="column"]:has(.sidebar) {
height: 100vh !important;
overflow-y: auto !important;
overflow-x: hidden !important;
}
/* Individual sidebar elements */
.sidebar-title {
margin-bottom: 10px !important;
}
.sidebar-description {
margin-bottom: 15px !important;
}
/* Summary button styling - distinct from model buttons */
.summary-button {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: white !important;
border: 2px solid #555555 !important;
margin: 0 0 15px 0 !important;
border-radius: 5px !important;
padding: 12px 10px !important;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
overflow: hidden !important;
box-shadow:
0 4px 15px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
height: 60px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
line-height: 1.2 !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
}
.model-header {
margin-bottom: 10px !important;
}
.model-container {
height: 300px !important;
overflow-y: auto !important;
overflow-x: hidden !important;
margin-bottom: 15px !important;
scrollbar-width: none !important;
-ms-overflow-style: none !important;
border: 1px solid #333 !important;
border-radius: 8px !important;
padding: 5px !important;
}
.sidebar-links {
margin-top: 15px !important;
}
/* Hide scrollbar for model container */
.model-container::-webkit-scrollbar {
display: none !important;
}
/* Ensure all sidebar content fits within width */
.sidebar * {
max-width: 100% !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
/* Specific control for markdown content */
.sidebar .markdown,
.sidebar h1,
.sidebar h2,
.sidebar h3,
.sidebar p {
max-width: 100% !important;
word-wrap: break-word !important;
overflow: hidden !important;
}
/* Sidebar scrollbar styling */
.sidebar::-webkit-scrollbar {
width: 8px !important;
background: #111111 !important;
}
.sidebar::-webkit-scrollbar-track {
background: #111111 !important;
}
.sidebar::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.sidebar::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Target Gradio column containing model-container */
div[data-testid="column"]:has(.model-container) {
flex: 1 1 auto !important;
overflow-y: auto !important;
overflow-x: hidden !important;
max-height: calc(100vh - 350px) !important;
}
/* Force button containers to single column in model container */
.model-container .gr-button,
.model-container button {
display: block !important;
width: 100% !important;
max-width: 100% !important;
margin: 2px 0 !important;
flex: none !important;
}
/* Model button styling */
.model-button {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: white !important;
margin: 3px 0 !important;
padding: 8px 12px !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
width: 100% !important;
max-width: 100% !important;
white-space: nowrap !important;
text-overflow: ellipsis !important;
display: block !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
}
.model-button:hover {
background: linear-gradient(135deg, #3a3a3a, #2e2e2e) !important;
border-color: #74b9ff !important;
color: #74b9ff !important;
transform: translateY(-1px) !important;
box-shadow: 0 2px 8px rgba(116, 185, 255, 0.2) !important;
}
/*
.model-button:active {
background: linear-gradient(135deg, #2a2a2a, #1e1e1e) !important;
color: #5a9bd4 !important;
}
*/
/* Model stats badge */
.model-stats {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
margin-top: 8px !important;
font-size: 12px !important;
opacity: 0.8 !important;
}
.stats-badge {
background: rgba(116, 185, 255, 0.2) !important;
padding: 4px 8px !important;
border-radius: 10px !important;
font-weight: 500 !important;
font-size: 11px !important;
color: #74b9ff !important;
}
.success-indicator {
width: 8px !important;
height: 8px !important;
border-radius: 50% !important;
display: inline-block !important;
margin-right: 6px !important;
}
.success-high { background-color: #4CAF50 !important; }
.success-medium { background-color: #FF9800 !important; }
.success-low { background-color: #F44336 !important; }
/* Refresh button styling */
.refresh-button {
background: linear-gradient(135deg, #2d5aa0, #1e3f73) !important;
color: white !important;
border: 1px solid #3a6bc7 !important;
margin: 0 0 10px 0 !important;
border-radius: 5px !important;
padding: 6px 8px !important;
transition: all 0.3s ease !important;
font-weight: 500 !important;
font-size: 11px !important;
text-transform: lowercase !important;
letter-spacing: 0.1px !important;
font-family: monospace !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
}
.refresh-button:hover {
background: linear-gradient(135deg, #3a6bc7, #2d5aa0) !important;
border-color: #4a7bd9 !important;
}
/* Summary button styling - distinct from model buttons */
.summary-button {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: white !important;
border: 2px solid #555555 !important;
margin: 0 0 15px 0 !important;
border-radius: 5px !important;
padding: 12px 10px !important;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
position: relative !important;
overflow: hidden !important;
box-shadow:
0 4px 15px rgba(0, 0, 0, 0.3),
inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
font-weight: 600 !important;
font-size: 14px !important;
text-transform: uppercase !important;
letter-spacing: 0.3px !important;
font-family: monospace !important;
height: 60px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
line-height: 1.2 !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
box-sizing: border-box !important;
}
/* Simplified Gradio layout control */
.sidebar .gr-column,
.sidebar .gradio-column {
width: 100% !important;
}
/* Simplified Gradio targeting */
div[data-testid="column"]:has(.sidebar) {
width: 300px !important;
min-width: 300px !important;
}
/* Button container with fixed height - DISABLED */
/*
.button-container {
height: 50vh !important;
max-height: 50vh !important;
overflow-y: auto !important;
overflow-x: hidden !important;
scrollbar-width: thin !important;
scrollbar-color: #333333 #111111 !important;
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
padding: 5px 0 !important;
margin-top: 10px !important;
}
*/
/* Removed simple scroll CSS - was hiding buttons */
.summary-button:hover {
background: linear-gradient(135deg, #5a5a5a, #4e4e4e) !important;
color: #74b9ff !important;
border-color: #666666 !important;
}
.summary-button:active {
background: linear-gradient(135deg, #4a4a4a, #3e3e3e) !important;
color: #5a9bd4 !important;
}
/* Regular button styling for non-model buttons */
.gr-button:not(.model-button):not(.summary-button) {
background-color: #222222 !important;
color: white !important;
border: 1px solid #444444 !important;
margin: 5px 0 !important;
border-radius: 8px !important;
transition: all 0.3s ease !important;
}
.gr-button:not(.model-button):not(.summary-button):hover {
background-color: #333333 !important;
border-color: #666666 !important;
}
/* Plot container with smooth transitions and controlled scrolling */
.plot-container {
background-color: #000000 !important;
border: none !important;
transition: opacity 0.6s ease-in-out !important;
flex: 1 1 auto !important;
min-height: 0 !important;
overflow-y: auto !important;
scrollbar-width: thin !important;
scrollbar-color: #333333 #000000 !important;
}
/* Custom scrollbar for plot container */
.plot-container::-webkit-scrollbar {
width: 8px !important;
background: #000000 !important;
}
.plot-container::-webkit-scrollbar-track {
background: #000000 !important;
}
.plot-container::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.plot-container::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Gradio plot component styling */
.gr-plot {
background-color: #000000 !important;
transition: opacity 0.6s ease-in-out !important;
}
.gr-plot .gradio-plot {
background-color: #000000 !important;
transition: opacity 0.6s ease-in-out !important;
}
.gr-plot img {
transition: opacity 0.6s ease-in-out !important;
}
/* Target the plot wrapper */
div[data-testid="plot"] {
background-color: #000000 !important;
}
/* Target all possible plot containers */
.plot-container img,
.gr-plot img,
.gradio-plot img {
background-color: #000000 !important;
}
/* Ensure plot area background */
.gr-plot > div,
.plot-container > div {
background-color: #000000 !important;
}
/* Prevent white flash during plot updates */
.plot-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000000;
z-index: -1;
}
/* Force all plot elements to have black background */
.plot-container *,
.gr-plot *,
div[data-testid="plot"] * {
background-color: #000000 !important;
}
/* Override any white backgrounds in matplotlib */
.plot-container canvas,
.gr-plot canvas {
background-color: #000000 !important;
}
/* Text elements */
h1, h2, h3, p, .markdown {
color: white !important;
}
/* Sidebar header enhancement */
.sidebar h1 {
background: linear-gradient(45deg, #74b9ff, #a29bfe) !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
background-clip: text !important;
text-align: center !important;
margin-bottom: 15px !important;
font-size: 28px !important;
font-weight: 700 !important;
font-family: monospace !important;
}
/* Sidebar description text */
.sidebar p {
text-align: center !important;
margin-bottom: 20px !important;
line-height: 1.5 !important;
font-size: 14px !important;
font-family: monospace !important;
}
/* CI Links styling */
.sidebar a {
color: #74b9ff !important;
text-decoration: none !important;
font-weight: 500 !important;
font-family: monospace !important;
transition: color 0.3s ease !important;
}
.sidebar a:hover {
color: #a29bfe !important;
text-decoration: underline !important;
}
.sidebar strong {
color: #74b9ff !important;
font-weight: 600 !important;
font-family: monospace !important;
}
.sidebar em {
color: #a29bfe !important;
font-style: normal !important;
opacity: 0.9 !important;
font-family: monospace !important;
}
/* Remove all borders globally */
* {
border-color: transparent !important;
}
/* Main content area */
.main-content {
background-color: #000000 !important;
padding: 0px 20px 40px 20px !important;
margin-left: 300px !important;
height: 100vh !important;
overflow-y: auto !important;
box-sizing: border-box !important;
display: flex !important;
flex-direction: column !important;
}
/* Custom scrollbar for main content */
.main-content {
scrollbar-width: thin !important;
scrollbar-color: #333333 #000000 !important;
}
.main-content::-webkit-scrollbar {
width: 8px !important;
background: #000000 !important;
}
.main-content::-webkit-scrollbar-track {
background: #000000 !important;
}
.main-content::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.main-content::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Failed tests display - seamless appearance with constrained height */
.failed-tests textarea {
background-color: #000000 !important;
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 14px !important;
border: none !important;
padding: 10px !important;
outline: none !important;
line-height: 1.4 !important;
height: 180px !important;
max-height: 180px !important;
min-height: 180px !important;
overflow-y: auto !important;
resize: none !important;
scrollbar-width: thin !important;
scrollbar-color: #333333 #000000 !important;
scroll-behavior: auto;
transition: opacity 0.5s ease-in-out !important;
}
/* WebKit scrollbar styling for failed tests */
.failed-tests textarea::-webkit-scrollbar {
width: 8px !important;
}
.failed-tests textarea::-webkit-scrollbar-track {
background: #000000 !important;
}
.failed-tests textarea::-webkit-scrollbar-thumb {
background-color: #333333 !important;
border-radius: 4px !important;
}
.failed-tests textarea::-webkit-scrollbar-thumb:hover {
background-color: #555555 !important;
}
/* Prevent white flash in text boxes during updates */
.failed-tests::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000000;
z-index: -1;
}
.failed-tests {
background-color: #000000 !important;
height: 200px !important;
max-height: 200px !important;
min-height: 200px !important;
position: relative;
transition: opacity 0.5s ease-in-out !important;
flex-shrink: 0 !important;
}
.failed-tests .gr-textbox {
background-color: #000000 !important;
border: none !important;
height: 180px !important;
max-height: 180px !important;
min-height: 180px !important;
transition: opacity 0.5s ease-in-out !important;
}
/* Force all textbox elements to have black background */
.failed-tests *,
.failed-tests .gr-textbox *,
.failed-tests textarea * {
background-color: #000000 !important;
}
/* Summary display styling */
.summary-display textarea {
background-color: #000000 !important;
color: #FFFFFF !important;
font-family: monospace !important;
font-size: 24px !important;
border: none !important;
padding: 20px !important;
outline: none !important;
line-height: 2 !important;
text-align: right !important;
resize: none !important;
}
.summary-display {
background-color: #000000 !important;
}
/* Detail view layout */
.detail-view {
display: flex !important;
flex-direction: column !important;
height: 100% !important;
min-height: 0 !important;
}
/* JavaScript to reset scroll position */
.scroll-reset {
animation: resetScroll 0.1s ease;
}
@keyframes resetScroll {
0% { scroll-behavior: auto; }
100% { scroll-behavior: auto; }
}