CS553_CaseStudy1 / static /css /gradiomain.css
github-actions
Deploy to Spaces with Xet
9826f0b
/* ====== MAIN APP CONTAINER AND HEADER ====== */
.page-header {
text-align: center;
border-radius: 22px;
margin-bottom: 1rem;
margin-top: 0.25rem;
}
.page-header h1 {
margin-bottom: 1.2rem;
margin-top: 2rem;
}
.gradio-container {
background-image:
linear-gradient(rgba(12, 13, 35, 0.6), rgba(12, 13, 35, 0.8)),
url('/gradio_api/file=static/images/background.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
background-blend-mode: hard-light;
color: var(--text-main);
font-family: 'Inter', sans-serif;
min-height: 100vh;
padding: 20px;
}
/* ====== CHATBOT CONTAINER ====== */
.custom-chatbot,
[role="log"] {
background: var(--bg-glass-strong) !important;
border-radius: 22px !important;
}
/* Why is Gradio like this )): */
.block,
.form,
.gr-group {
background: var(--bg-glass-strong);
border-radius: 22px !important;
}
/* ====== CHAT MESSAGES ====== */
.bot,
.user {
padding: 16px 20px;
border-radius: 18px;
margin: 12px 0;
max-width: 70%;
min-width: fit-content;
display: inline-flex;
border: 1px solid var(--border-soft);
box-shadow: 0 4px 20px rgba(122, 162, 255, 0.2);
white-space: normal;
overflow-wrap: break-word;
word-break: normal;
box-sizing: border-box;
}
.bot {
background: var(--bot-message);
color: var(--text-main);
margin-right: auto;
margin-left: 0;
}
.user {
background: var(--user-message);
color: white;
margin-left: auto;
margin-right: 0;
}
/* ====== CHAT INPUT AREA ====== */
.gr-text-input,
[data-testid="textbox"] {
background: rgba(40, 24, 65, 0.6) !important;
border-radius: 18px !important;
border: 1px solid var(--border-soft) !important;
min-height: 60px !important;
height: auto !important;
margin-right: 12px !important;
box-shadow: 0 0 10px rgba(255, 124, 229, 0.1);
}
.gr-text-input:hover,
textarea:hover {
box-shadow: 0 0 15px var(--accent-glow) !important;
transition: box-shadow 0.3s ease !important;
}
.gr-text-input:focus,
textarea:focus {
box-shadow: 0 0 20px var(--accent-glow) !important;
outline: none !important;
transition: box-shadow 0.3s ease !important;
}
textarea {
background: transparent !important;
color: var(--text-main) !important;
border: none !important;
border-radius: 16px !important;
padding: 16px 20px !important;
font-size: 16px !important;
line-height: 1.5 !important;
min-height: 60px !important;
height: auto !important;
resize: vertical !important;
overflow-y: auto !important;
max-height: 200px !important;
white-space: pre-wrap !important;
word-wrap: break-word !important;
}
textarea::placeholder {
color: var(--text-muted) !important;
opacity: 0.75 !important;
}
/* ====== BUTTON STUFF ====== */
button[data-testid="login-button"],
.submit-button {
background: var(--btn-bg);
border: none !important;
border-radius: 16px !important;
color: white !important;
font-weight: 600 !important;
padding: 16px 28px !important;
min-height: 60px !important;
box-shadow: none;
cursor: pointer !important;
}
.submit-button:hover,
.submit-button:focus-visible {
box-shadow: 0 0 18px var(--accent-glow);
transform: translateY(-1px);
filter: brightness(1.05);
}
/* Sidebar buttons */
.sidebar button {
background: linear-gradient(135deg, #ff7ce5, #7ac5ff) !important;
}
.sidebar button:hover {
background: linear-gradient(135deg, #ff9de0, #7ac5ff) !important;
}
/* Toggle Buttons */
.block.toggle-button {
margin-left: auto !important;
margin-right: auto !important;
width: fit-content;
}
.toggle-button input[type="checkbox"] {
display: none;
}
.toggle-button label {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.65rem 1.2rem;
border-radius: 999px;
cursor: pointer;
font-weight: 600;
letter-spacing: 0.02em;
background: var(--btn-bg);
color: var(--btn-text);
border: 1px solid var(--btn-border);
transition:
background 0.25s ease,
box-shadow 0.25s ease,
transform 0.25s ease;
}
.toggle-button label:hover {
background: var(--btn-bg-hover);
box-shadow: 0 0 22px rgba(122, 197, 255, 0.7);
}
.toggle-button label:has(input:checked) {
background: var(--btn-bg-active);
box-shadow: 0 0 28px rgba(122, 197, 255, 0.9);
}
/* Add the word ON in green text if enabled local model */
.toggle-button label:has(input:checked)::after {
content: " ON";
font-weight: 700;
color: #4cffc3;
margin-left: 0.3rem;
text-shadow: 0 0 6px rgba(76, 255, 195, 0.8);
}
.toggle-button label:active {
transform: scale(0.96);
}
/* ====== SLIDERS ====== */
.custom-slider input[type="range"]::-webkit-slider-thumb {
background: var(--accent-secondary) !important;
width: 22px !important;
height: 22px !important;
border-radius: 50% !important;
border: 2px solid white !important;
box-shadow: 0 0 12px var(--accent-glow);
}
.custom-slider input[type="range"]::-webkit-slider-runnable-track {
height: 8px;
border-radius: 8px;
background: linear-gradient(120deg, var(--accent-primary), var(--accent-secondary));
}
/* ====== SIDEBAR ====== */
.sidebar {
background-image:
linear-gradient(rgba(20, 24, 55, 0.4), rgba(20, 24, 55, 0.4)),
url('/gradio_api/file=static/images/sidebar.jpg');
background-size: auto, cover;
background-position: top left, center;
background-repeat: no-repeat, no-repeat;
border-right: 1px solid var(--border-soft) !important;
backdrop-filter: blur(15px);
padding: 20px !important;
}