model-playground / assets /theme.css
Claude
Add universal HuggingFace model playground Space
96540b2 unverified
Raw
History Blame Contribute Delete
6.15 kB
/* ========================================================================== *
* MODEL PLAYGROUND — cyberpunk theme (black / dark grey / neon yellow)
* Loaded by app.py and passed to gr.Blocks(css=...).
* ========================================================================== */
:root,
.gradio-container {
--pg-bg: #050505;
--pg-panel: #1e1e1e;
--pg-panel-alt: #141414;
--pg-line: #3c3c3c;
--pg-accent: #ffd700;
--pg-accent-dim: #ffa800;
--pg-danger: #ff4b4b;
--pg-text: #e8e8e8;
--pg-text-dim: #9a9a9a;
--pg-mono: "JetBrains Mono", "IBM Plex Mono", "Fira Code", ui-monospace, monospace;
}
.gradio-container,
.gradio-container * {
font-family: var(--pg-mono) !important;
}
.gradio-container {
background: var(--pg-bg) !important;
color: var(--pg-text) !important;
max-width: 1400px !important;
}
/* ------------------------------ header ---------------------------------- */
#pg-header {
border: 1px solid var(--pg-accent);
border-radius: 4px;
background: linear-gradient(160deg, #0b0b0b 0%, #1a1600 100%);
padding: 18px 22px;
margin-bottom: 14px;
position: relative;
overflow: hidden;
}
#pg-header::after {
/* faint scanlines */
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg,
rgba(255, 215, 0, 0.05) 0px,
rgba(255, 215, 0, 0.05) 1px,
transparent 1px,
transparent 4px
);
pointer-events: none;
}
#pg-header h1 {
margin: 0;
font-size: 1.6rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--pg-accent);
text-shadow: 0 0 6px rgba(255, 215, 0, 0.55), 0 0 18px rgba(255, 168, 0, 0.25);
}
#pg-header p {
margin: 6px 0 0;
color: var(--pg-text-dim);
font-size: 0.85rem;
}
/* ------------------------------ panels ---------------------------------- */
.gradio-container .block,
.gradio-container .form,
.gradio-container .panel {
background: var(--pg-panel) !important;
border: 1px solid var(--pg-line) !important;
border-radius: 3px !important;
}
.gradio-container label,
.gradio-container .label-wrap span {
color: var(--pg-accent-dim) !important;
font-size: 0.78rem !important;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.gradio-container input[type="text"],
.gradio-container input[type="number"],
.gradio-container textarea,
.gradio-container select {
background: var(--pg-panel-alt) !important;
color: var(--pg-text) !important;
border: 1px solid var(--pg-line) !important;
border-radius: 2px !important;
}
.gradio-container input:focus,
.gradio-container textarea:focus {
border-color: var(--pg-accent) !important;
box-shadow: 0 0 0 1px var(--pg-accent), 0 0 12px rgba(255, 215, 0, 0.2) !important;
outline: none !important;
}
/* ------------------------------- tabs ----------------------------------- */
.gradio-container .tab-nav button {
background: transparent !important;
color: var(--pg-text-dim) !important;
border: none !important;
border-bottom: 2px solid transparent !important;
letter-spacing: 0.12em;
text-transform: uppercase;
font-size: 0.8rem !important;
}
.gradio-container .tab-nav button.selected {
color: var(--pg-accent) !important;
border-bottom: 2px solid var(--pg-accent) !important;
text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
}
/* ------------------------------ buttons --------------------------------- */
.gradio-container button.primary,
.gradio-container .pg-run button,
button.pg-run {
background: var(--pg-accent) !important;
color: #0a0a0a !important;
border: 1px solid var(--pg-accent) !important;
font-weight: 700 !important;
letter-spacing: 0.1em;
text-transform: uppercase;
transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.gradio-container button.primary:hover,
button.pg-run:hover {
box-shadow: 0 0 14px rgba(255, 215, 0, 0.65), 0 0 30px rgba(255, 168, 0, 0.3) !important;
transform: translateY(-1px);
}
.gradio-container button.secondary {
background: var(--pg-panel-alt) !important;
color: var(--pg-accent) !important;
border: 1px solid var(--pg-accent-dim) !important;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.gradio-container button.secondary:hover {
background: #241f00 !important;
box-shadow: 0 0 10px rgba(255, 168, 0, 0.35) !important;
}
button.pg-danger {
background: transparent !important;
color: var(--pg-danger) !important;
border: 1px solid var(--pg-danger) !important;
}
/* ------------------------------- logs ----------------------------------- */
.pg-log textarea,
.pg-log input {
background: #0a0a0a !important;
color: var(--pg-accent-dim) !important;
border: 1px solid var(--pg-line) !important;
font-size: 0.78rem !important;
line-height: 1.45 !important;
}
.pg-output textarea {
background: #0a0a0a !important;
color: var(--pg-text) !important;
border-left: 3px solid var(--pg-accent) !important;
}
/* --------------------------- safety banner ------------------------------ */
.pg-warning {
border: 1px solid var(--pg-danger) !important;
background: #1a0505 !important;
color: #ffb3b3 !important;
padding: 12px 16px;
border-radius: 3px;
}
.pg-warning strong {
color: var(--pg-danger);
}
.pg-note {
border-left: 3px solid var(--pg-accent-dim);
background: var(--pg-panel-alt);
padding: 10px 14px;
color: var(--pg-text-dim);
font-size: 0.82rem;
}
.pg-note h3,
.pg-note h4 {
color: var(--pg-accent);
margin: 0 0 6px;
letter-spacing: 0.08em;
text-transform: uppercase;
font-size: 0.85rem;
}
/* ----------------------------- misc bits -------------------------------- */
.gradio-container .slider_input_container input[type="range"] {
accent-color: var(--pg-accent);
}
.gradio-container a {
color: var(--pg-accent) !important;
}
.gradio-container footer {
display: none !important;
}
.gradio-container ::-webkit-scrollbar {
width: 9px;
height: 9px;
}
.gradio-container ::-webkit-scrollbar-track {
background: var(--pg-bg);
}
.gradio-container ::-webkit-scrollbar-thumb {
background: var(--pg-line);
border-radius: 0;
}
.gradio-container ::-webkit-scrollbar-thumb:hover {
background: var(--pg-accent-dim);
}