tejasashinde's picture
Corrected logic and UI
6f97a9b
Raw
History Blame Contribute Delete
37.1 kB
APP_CSS = """
:root {
--bg: #fef1d8;
--surface: #FFE9C7;
--surface-elevated: #FFF2D8;
--orange: #FF7A1A;
--text: #000000;
--border: #7A4219;
--accent: #FFD166;
--success: #2F855A;
--muted: #000000;
--line: rgba(122, 66, 25, 0.18);
--body-text-color: #000000;
--block-text-color: #000000;
--input-text-color: #000000;
--color-text: #000000;
--neutral-950: #000000;
--neutral-900: #000000;
--neutral-800: #000000;
--comment-input-bg: #ffffff;
--comment-input-border: rgba(122, 66, 25, 0.24);
--comment-button-bg: #a85a2a;
--comment-button-bg-hover: #8f4a20;
--comment-button-bg-disabled: #d9c1a6;
--comment-button-text: #fff7e8;
--comment-button-text-disabled: rgba(74, 36, 15, 0.72);
--aquamarine-button-top: #6fdccf;
--aquamarine-button-bottom: #2fb9ac;
--aquamarine-button-hover-top: #83e3d8;
--aquamarine-button-hover-bottom: #249f93;
--aquamarine-button-text: #0d3a38;
}
html, body {
margin: 0;
min-height: 100%;
background-color: var(--bg);
background-image:
radial-gradient(circle at 14% 12%, rgba(122, 66, 25, 0.055), transparent 0 170px),
radial-gradient(circle at 84% 10%, rgba(122, 66, 25, 0.035), transparent 0 180px),
radial-gradient(circle at 50% 92%, rgba(122, 66, 25, 0.03), transparent 0 260px),
radial-gradient(circle, rgba(122, 66, 25, 0.085) 1px, transparent 1.2px);
background-size: auto, auto, auto, 22px 22px;
background-position: center;
background-repeat: no-repeat, no-repeat, no-repeat, repeat;
color: var(--text);
font-family: Georgia, "Times New Roman", serif;
color-scheme: light;
}
html,
body,
gradio-app,
.gradio-container,
.gradio-container * {
color-scheme: light !important;
}
html,
body,
body > div,
body > gradio-app,
gradio-app,
#root,
#app {
background-color: var(--bg) !important;
color: var(--text) !important;
}
gradio-app,
.gradio-container {
--body-text-color: #000000 !important;
--block-text-color: #000000 !important;
--input-text-color: #000000 !important;
--color-text: #000000 !important;
--neutral-950: #000000 !important;
--neutral-900: #000000 !important;
--neutral-800: #000000 !important;
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
opacity: 0.08;
background-image:
radial-gradient(circle at 1px 1px, rgba(122, 66, 25, 0.16) 1px, transparent 0),
radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.35) 0 90px, transparent 90px);
background-size: 18px 18px, auto;
}
.gradio-container {
width: min(2048px, calc(100vw - 36px)) !important;
max-width: 2048px !important;
margin: 0 auto !important;
padding: 18px 18px 40px !important;
color: var(--text) !important;
position: relative;
z-index: 1;
background-color: var(--bg) !important;
}
.gradio-container,
.gradio-container label,
.gradio-container input,
.gradio-container textarea,
.gradio-container select,
.gradio-container button,
.gradio-container p,
.gradio-container h1,
.gradio-container h2,
.gradio-container h3,
.gradio-container h4,
.gradio-container span,
.gradio-container div,
.gradio-container small,
.gradio-container li,
.gradio-container strong {
color: var(--text) !important;
-webkit-text-fill-color: var(--text);
}
.status-line {
display: none;
}
.camp-hero-shell {
margin-bottom: 18px;
width: 100%;
}
.camp-hero-art-shell {
width: 100%;
aspect-ratio: 2048 / 685;
border-radius: 24px;
overflow: hidden;
box-shadow: 0 16px 26px rgba(122, 66, 25, 0.12);
border: 1px solid rgba(122, 66, 25, 0.14);
}
.camp-hero-art {
width: 100%;
display: block;
object-fit: contain;
}
.parchment-panel {
border-radius: 20px;
border: 2px solid rgba(122, 66, 25, 0.28);
background:
linear-gradient(180deg, rgba(255, 242, 216, 0.94), rgba(255, 233, 199, 0.96));
box-shadow:
0 12px 22px rgba(122, 66, 25, 0.08),
inset 0 0 0 1px rgba(255, 247, 232, 0.56);
}
.stats-showcase {
display: grid;
grid-template-columns: minmax(0, 0.38fr) 1px minmax(0, 0.62fr);
gap: 0;
margin-bottom: 16px;
padding: 24px 28px 28px;
overflow: hidden;
width: 100%;
background:
radial-gradient(circle at 10% 18%, rgba(255, 214, 120, 0.22), transparent 0 180px),
radial-gradient(circle at 82% 20%, rgba(255, 214, 120, 0.14), transparent 0 240px),
linear-gradient(180deg, rgba(255, 248, 231, 0.98), rgba(255, 239, 209, 0.96));
box-shadow:
0 18px 34px rgba(122, 66, 25, 0.12),
inset 0 0 0 1px rgba(255, 248, 235, 0.72);
}
.stats-showcase__column {
min-width: 0;
}
.stats-showcase__column--left {
padding-right: 18px;
}
.stats-showcase__column--right {
padding-left: 24px;
}
.stats-showcase__divider {
width: 1px;
background: linear-gradient(180deg, rgba(122, 66, 25, 0), rgba(122, 66, 25, 0.18), rgba(122, 66, 25, 0));
}
.stats-showcase__title {
margin-bottom: 18px;
font-size: 1.55rem;
line-height: 1.1;
font-weight: 700;
color: #2d1706;
letter-spacing: -0.02em;
}
.stats-showcase__title--decorated {
position: relative;
padding-left: 14px;
}
.stats-showcase__title--decorated::before,
.stats-showcase__title--decorated::after {
content: "";
position: absolute;
left: 0;
width: 160px;
height: 6px;
opacity: 0.45;
background:
radial-gradient(circle, rgba(255, 222, 163, 0.92) 0 2px, transparent 2.2px) left center / 24px 6px repeat-x;
}
.stats-showcase__title--decorated::before {
top: 0.4em;
transform: translateX(-14px);
}
.stats-showcase__title--decorated::after {
top: calc(100% + 10px);
transform: translateX(-14px);
}
.stats-cards-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 16px;
}
.stats-card {
min-height: 290px;
padding: 22px 18px 18px;
border-radius: 20px;
border: 2px solid rgba(233, 193, 145, 0.9);
background:
linear-gradient(180deg, rgba(255, 251, 243, 0.98), rgba(255, 245, 225, 0.96));
box-shadow:
inset 0 0 0 1px rgba(255, 251, 243, 0.72),
0 10px 18px rgba(122, 66, 25, 0.06);
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.stats-card__icon,
.category-card__icon {
display: grid;
place-items: center;
width: 86px;
height: 86px;
margin-bottom: 22px;
border-radius: 999px;
font-size: 2.55rem;
line-height: 1;
background: radial-gradient(circle at 30% 25%, rgba(255, 244, 223, 0.98), rgba(255, 224, 170, 0.92));
box-shadow: inset 0 1px 0 rgba(255, 251, 243, 0.92);
}
.stats-card__icon--readme {
background: radial-gradient(circle at 30% 25%, rgba(245, 246, 222, 0.98), rgba(226, 231, 187, 0.92));
}
.stats-card__label {
margin: auto 0 18px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 1.05rem;
line-height: 1.45;
font-weight: 500;
color: #2d1706;
}
.stats-card__value {
margin-top: auto;
font-size: 2.95rem;
line-height: 1;
font-weight: 700;
letter-spacing: -0.03em;
color: #261302;
}
.category-cards-grid {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 16px;
}
.category-card {
min-height: 214px;
padding: 20px 12px 16px;
border-radius: 18px;
border: 2px solid rgba(233, 193, 145, 0.9);
background:
linear-gradient(180deg, rgba(255, 251, 243, 0.98), rgba(255, 245, 225, 0.96));
box-shadow:
inset 0 0 0 1px rgba(255, 251, 243, 0.72),
0 8px 16px rgba(122, 66, 25, 0.05);
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.category-card__icon {
width: 60px;
height: 60px;
margin-bottom: 14px;
font-size: 2.15rem;
background: transparent;
box-shadow: none;
}
.category-card__label {
margin: 0 0 16px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.82rem;
line-height: 1.45;
font-weight: 600;
color: #2d1706;
}
.category-card__value {
margin-top: auto;
font-size: 1.55rem;
line-height: 1;
font-weight: 700;
color: #261302;
}
.search-panels {
display: grid !important;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 0 0 14px !important;
width: 100%;
}
.search-panels > div,
.action-row > div {
margin: 0 !important;
width: 100% !important;
min-width: 0 !important;
}
#search-query,
#liked-text {
width: 100% !important;
min-width: 0 !important;
box-sizing: border-box;
border-radius: 18px;
border: 2px solid rgba(122, 66, 25, 0.18);
background: linear-gradient(180deg, rgba(255, 242, 216, 0.92), rgba(255, 233, 199, 0.98));
box-shadow:
inset 0 0 0 1px rgba(255, 247, 232, 0.52),
0 8px 18px rgba(122, 66, 25, 0.06);
padding: 6px 8px 10px;
}
#search-query label,
#liked-text label {
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-weight: 700 !important;
font-size: 1.02rem !important;
letter-spacing: 0 !important;
text-transform: none !important;
padding-left: 8px;
color: var(--text) !important;
}
#search-query textarea,
#liked-text textarea {
width: 100% !important;
min-width: 0 !important;
box-sizing: border-box;
border-radius: 14px !important;
border: 1px solid rgba(122, 66, 25, 0.16) !important;
background: rgba(255, 255, 255, 0.92) !important;
box-shadow: inset 0 1px 2px rgba(122, 66, 25, 0.06) !important;
padding: 14px 16px !important;
color: var(--text) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-size: 0.96rem !important;
}
.filter-row {
margin: 0 0 14px !important;
width: 100%;
}
.filter-row > div {
width: 100% !important;
min-width: 0 !important;
margin: 0 !important;
}
.results-shell {
width: 100%;
}
.bsqf-filter-empty {
display: none;
margin: 0 0 12px;
padding: 12px 16px;
border-radius: 16px;
border: 1px dashed rgba(122, 66, 25, 0.22);
background: rgba(255, 247, 232, 0.92);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.9rem;
color: var(--muted) !important;
}
.bsqf-filter-empty.is-visible {
display: block;
}
.results-shell .results-grid .empty-state-card {
width: 100%;
min-height: 160px;
box-sizing: border-box;
grid-column: 1 / -1;
justify-self: stretch;
align-self: stretch;
display: flex;
flex-direction: column;
justify-content: center;
}
.space-card.bsqf-card-hidden {
display: none !important;
}
#spaces-filter {
width: 100% !important;
min-width: 0 !important;
box-sizing: border-box;
border-radius: 16px;
border: 1px solid rgba(122, 66, 25, 0.24);
background: linear-gradient(rgba(255, 237, 201, 0.98), rgb(255, 215, 152));
box-shadow:
inset 0 0 0 1px rgba(255, 247, 232, 0.58),
0 8px 18px rgba(122, 66, 25, 0.06);
padding: 8px 10px 12px;
}
#spaces-filter label {
display: block;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-weight: 700 !important;
font-size: 0.98rem !important;
letter-spacing: 0 !important;
text-transform: none !important;
padding-left: 8px;
margin-bottom: 8px;
color: var(--text) !important;
}
#spaces-filter textarea,
#spaces-filter input {
width: 100% !important;
min-width: 0 !important;
box-sizing: border-box;
border-radius: 999px !important;
border: 1px solid rgba(122, 66, 25, 0.18) !important;
background: rgba(255, 255, 255, 0.98) !important;
box-shadow:
inset 0 1px 2px rgba(122, 66, 25, 0.06),
0 1px 0 rgba(255, 247, 232, 0.48) !important;
padding: 12px 16px !important;
color: var(--text) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-size: 0.92rem !important;
line-height: 1.2 !important;
color-scheme: light !important;
appearance: none;
-webkit-appearance: none;
}
#spaces-filter textarea::placeholder,
#spaces-filter input::placeholder {
color: rgba(42, 22, 8, 0.8) !important;
}
#spaces-filter textarea:focus,
#spaces-filter input:focus {
outline: none;
border-color: rgba(122, 66, 25, 0.44) !important;
box-shadow:
inset 0 1px 2px rgba(122, 66, 25, 0.08),
0 0 0 3px rgba(255, 209, 102, 0.34) !important;
}
.action-row {
display: flex !important;
justify-content: center;
gap: 16px;
margin-bottom: 16px !important;
width: 100%;
}
.action-row > * {
width: min(620px, 100%) !important;
min-width: 0 !important;
flex: 0 1 620px;
}
#recommend-btn button {
min-height: 54px !important;
border-radius: 14px !important;
border: 2px solid rgba(122, 66, 25, 0.48) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-size: 1.06rem !important;
font-weight: 800 !important;
box-shadow: 0 10px 18px rgba(122, 66, 25, 0.1) !important;
}
#recommend-btn button {
background: linear-gradient(180deg, rgba(255, 122, 26, 1), rgba(255, 149, 49, 1)) !important;
color: #FFF7E8 !important;
}
#recommend-btn button:hover:not(:disabled) {
box-shadow: 0 12px 20px rgba(122, 66, 25, 0.12) !important;
transform: translateY(-1px);
}
#recommend-btn button.is-processing,
#recommend-btn button:disabled,
#recommend-btn button[disabled] {
background: rgba(216, 141, 0, 0.24) !important;
color: rgba(42, 22, 8, 0.35) !important;
border-color: rgba(122, 66, 25, 0.16) !important;
box-shadow: none !important;
opacity: 0.7 !important;
cursor: not-allowed !important;
}
.category-strip {
margin: 0 0 18px !important;
display: flex !important;
flex-wrap: nowrap !important;
gap: 10px !important;
overflow-x: auto;
overflow-y: hidden;
padding: 2px 2px 10px;
width: 100%;
align-items: center !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
}
.category-strip > * {
flex: 0 0 auto;
width: fit-content !important;
min-width: 0 !important;
max-width: none !important;
}
.category-strip > div {
flex: 0 0 auto !important;
width: fit-content !important;
min-width: 0 !important;
max-width: none !important;
}
.category-strip button {
display: inline-flex !important;
flex: 0 0 auto !important;
align-items: center !important;
justify-content: center !important;
width: fit-content !important;
min-width: fit-content !important;
max-width: none !important;
box-sizing: border-box !important;
min-height: 34px !important;
padding: 5px 14px !important;
border-radius: 999px !important;
border: 2px solid rgba(122, 66, 25, 0.24) !important;
background: rgba(255, 242, 216, 0.96) !important;
box-shadow: 0 6px 10px rgba(122, 66, 25, 0.08) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-size: clamp(0.55rem, 0.6vw, 0.7rem) !important;
font-weight: 700 !important;
line-height: 1.1 !important;
text-align: center !important;
letter-spacing: -0.01em;
color: var(--text) !important;
-webkit-text-fill-color: var(--text) !important;
white-space: nowrap !important;
overflow: visible !important;
text-overflow: clip !important;
word-break: keep-all !important;
}
.category-strip .category-pill-active {
background: #c04e11 !important;
color: var(--text) !important;
-webkit-text-fill-color: var(--text) !important;
border-color: rgba(122, 66, 25, 0.55) !important;
}
.category-strip button *,
.category-strip .category-pill-active * {
color: var(--text) !important;
-webkit-text-fill-color: var(--text) !important;
white-space: nowrap !important;
overflow: visible !important;
text-overflow: clip !important;
line-height: 1.1 !important;
}
.category-strip .category-pill {
width: fit-content !important;
min-width: fit-content !important;
max-width: none !important;
}
.results-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
width: 100%;
}
.results-grid--browse .notebook-card .card-comment-box,
.results-grid--browse .notebook-card .card-why {
display: none;
}
.notebook-card {
position: relative;
padding: 14px 18px 16px 30px;
min-height: 340px;
border-radius: 18px;
border: 2px solid rgba(122, 66, 25, 0.24);
background: linear-gradient(180deg, rgba(255, 242, 216, 0.98), rgba(255, 233, 199, 1));
box-shadow:
0 12px 18px rgba(122, 66, 25, 0.07),
inset 0 0 0 1px rgba(255, 247, 232, 0.56);
overflow: hidden;
}
.notebook-card::before {
content: "";
position: absolute;
left: 10px;
top: 18px;
bottom: 18px;
width: 10px;
background:
radial-gradient(circle, rgba(255, 214, 102, 0.98) 0 3px, transparent 3.5px) center top / 10px 22px repeat-y;
opacity: 0.92;
}
.card-top {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
min-width: 0;
}
.card-chip-row,
.card-meta-actions {
display: flex;
gap: 6px;
flex-wrap: nowrap;
align-items: center;
min-width: 0;
}
.card-chip-row {
flex: 1 1 auto;
overflow: hidden;
}
.card-meta-actions {
flex: 0 0 auto;
}
.card-badge,
.card-like,
.card-action {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 24px;
padding: 4px 9px;
border-radius: 999px;
border: 1px solid rgba(122, 66, 25, 0.22);
background: rgba(255, 247, 232, 0.94);
box-shadow: inset 0 1px 0 rgba(255, 247, 232, 0.72);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.7rem;
font-weight: 700;
color: var(--text) !important;
text-decoration: none !important;
white-space: nowrap;
flex: 0 0 auto;
}
.card-badge--category {
background: rgba(255, 242, 216, 0.98);
max-width: min(260px, 100%);
overflow: hidden;
text-overflow: ellipsis;
}
.card-badge--track {
background: rgba(255, 214, 102, 0.26);
}
.card-like {
gap: 5px;
color: #F00 !important;
}
.card-action--open {
background: rgba(0, 255, 16, 0.98);
}
.card-action--count {
max-width: 70px;
border-color: rgba(122, 66, 25, 0.34);
background: linear-gradient(180deg, var(--aquamarine-button-top), var(--aquamarine-button-bottom));
box-shadow: 0 5px 10px rgba(122, 66, 25, 0.14);
color: var(--aquamarine-button-text) !important;
}
.card-title-block {
margin-top: 14px;
}
.card-title-block h3 {
margin: 0;
font-size: 1.9rem;
line-height: 1;
font-weight: 700;
letter-spacing: -0.03em;
color: var(--text);
}
.card-subtitle {
margin: 4px 0 0;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.9rem;
color: var(--muted) !important;
}
.card-why {
margin-top: 16px;
padding: 12px 14px;
border-radius: 14px;
border: 1px solid rgba(122, 66, 25, 0.16);
background: rgb(255 191 71 / 74%);
}
.card-why__label {
display: inline-block;
margin-bottom: 6px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.8rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--muted) !important;
}
.card-why p {
margin: 0;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.95rem;
line-height: 1.45;
}
.card-comment-box {
margin-top: 16px;
}
.card-comment-label {
display: block;
margin-bottom: 8px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.95rem;
font-weight: 700;
color: var(--text);
}
.card-comment-box .card-comment-input,
textarea.card-comment-input {
width: 100%;
resize: vertical;
min-height: 46px;
border-radius: 12px;
border: 1px solid var(--comment-input-border) !important;
background: var(--comment-input-bg) !important;
box-shadow:
inset 0 1px 2px rgba(122, 66, 25, 0.06),
0 1px 0 rgba(255, 247, 232, 0.54) !important;
padding: 10px 12px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.92rem;
color: var(--text) !important;
caret-color: var(--text);
color-scheme: light !important;
appearance: none;
-webkit-appearance: none;
}
.card-comment-box .card-comment-input::placeholder,
textarea.card-comment-input::placeholder {
color: rgba(42, 22, 8, 0.84) !important;
}
.card-comment-box .card-comment-input:focus,
textarea.card-comment-input:focus {
outline: none;
border-color: rgba(122, 66, 25, 0.48) !important;
box-shadow:
inset 0 1px 2px rgba(122, 66, 25, 0.08),
0 0 0 3px rgba(255, 209, 102, 0.34) !important;
}
.card-comment-help {
margin-top: 8px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.85rem;
color: var(--muted) !important;
}
.card-comment-actions {
margin-top: 10px;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
position: relative;
}
.card-comment-actions .card-comment-send,
button.card-comment-send {
min-height: 36px;
padding: 8px 16px;
border-radius: 999px;
border: 1px solid rgba(122, 66, 25, 0.4) !important;
background: linear-gradient(180deg, #ffbc93, #ff9559) !important;
box-shadow: 0 6px 10px rgba(122, 66, 25, 0.12) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.9rem;
font-weight: 700;
cursor: pointer;
color: var(--comment-button-text) !important;
color-scheme: light !important;
appearance: none;
-webkit-appearance: none;
opacity: 1 !important;
}
.card-comment-actions .card-comment-send:hover:not(:disabled),
button.card-comment-send:hover:not(:disabled) {
background: linear-gradient(180deg, #f07326, #ffb88f) !important;
box-shadow: 0 8px 14px rgba(122, 66, 25, 0.16) !important;
transform: translateY(-1px);
}
.card-comment-actions .card-comment-send:focus-visible,
button.card-comment-send:focus-visible {
outline: none;
box-shadow:
0 0 0 3px rgba(255, 209, 102, 0.38),
0 8px 14px rgba(122, 66, 25, 0.16) !important;
}
.card-comment-actions .card-comment-send:disabled,
.card-comment-actions .card-comment-send[disabled],
.card-comment-actions .card-comment-send[aria-disabled="true"],
button.card-comment-send:disabled,
button.card-comment-send[disabled],
button.card-comment-send[aria-disabled="true"] {
border-color: rgba(122, 66, 25, 0.22) !important;
background: linear-gradient(180deg, var(--comment-button-bg-disabled), #ccb092) !important;
box-shadow: none !important;
color: var(--comment-button-text-disabled) !important;
cursor: not-allowed;
opacity: 1 !important;
transform: none;
}
.card-comment-status {
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 34px;
max-width: calc(100% - 10px);
padding: 7px 12px;
border-radius: 999px;
border: 1px solid transparent;
box-shadow: 0 8px 16px rgba(122, 66, 25, 0.08);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.88rem;
font-weight: 700;
line-height: 1;
opacity: 0;
transform: translateY(8px) translateX(-6px) scale(0.98);
pointer-events: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.card-comment-status.is-visible {
opacity: 1;
transform: translateY(0) translateX(0) scale(1);
animation: comment-toast-in 0.28s ease-out both, comment-toast-out 0.45s ease-in 4.55s both;
}
.card-comment-status.is-success {
background: #f4fbef;
color: #2F855A !important;
border-color: rgba(47, 133, 90, 0.28);
}
.card-comment-status.is-error {
background: linear-gradient(180deg, rgb(249 200 101 / 94%), rgba(255, 233, 199, 0.96));
color: #b74b2b !important;
border-color: rgba(183, 75, 43, 0.24);
}
.card-comment-toast__icon {
width: 20px;
height: 20px;
border-radius: 999px;
display: inline-grid;
place-items: center;
flex: 0 0 auto;
font-size: 0.8rem;
font-weight: 800;
}
.card-comment-status.is-success .card-comment-toast__icon {
background: rgba(47, 133, 90, 0.14);
color: #2F855A;
}
.card-comment-status.is-error .card-comment-toast__icon {
background: rgba(183, 75, 43, 0.12);
color: #b74b2b;
}
.card-comment-toast__text {
display: inline-block;
max-width: 100%;
}
@keyframes comment-toast-in {
from {
opacity: 0;
transform: translateY(10px) translateX(-8px) scale(0.96);
}
to {
opacity: 1;
transform: translateY(0) translateX(0) scale(1);
}
}
@keyframes comment-toast-out {
from {
opacity: 1;
transform: translateY(0) translateX(0) scale(1);
}
to {
opacity: 0;
transform: translateY(-6px) translateX(0) scale(0.98);
}
}
.card-tags {
margin-top: 12px;
padding-right: 72px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.84rem;
line-height: 1.45;
color: var(--muted) !important;
}
.empty-state-card {
padding: 24px;
border-radius: 18px;
background: rgba(255, 247, 232, 0.94);
border: 2px dashed rgba(122, 66, 25, 0.24);
text-align: center;
}
.pagination-shell {
display: flex !important;
justify-content: center !important;
align-items: center;
gap: 6px;
flex-wrap: wrap;
margin: 12px 0 8px !important;
width: fit-content;
max-width: 100%;
margin-inline: auto !important;
}
.pagination-shell button {
min-width: 32px !important;
min-height: 30px !important;
padding: 5px 10px !important;
border-radius: 8px !important;
border: 2px solid rgba(122, 66, 25, 0.22) !important;
background: #c04e11 !important;
box-shadow: 0 6px 10px rgba(122, 66, 25, 0.08) !important;
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-size: 0.8rem !important;
font-weight: 700 !important;
line-height: 1 !important;
color: #FFF7E8 !important;
}
.pagination-shell .page-number-current button {
background: #a8430f !important;
color: #FFF7E8 !important;
}
.pagination-shell .page-ellipsis button {
border-color: transparent !important;
background: transparent !important;
box-shadow: none !important;
}
.pagination-info {
display: none;
}
.gradio-accordion {
border-radius: 18px !important;
border: 2px solid rgba(122, 66, 25, 0.22) !important;
background: rgba(255, 242, 216, 0.84) !important;
box-shadow: 0 8px 14px rgba(122, 66, 25, 0.06) !important;
overflow: hidden;
}
.gradio-accordion summary,
.gradio-accordion button {
font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
font-weight: 700 !important;
}
/* Override Gradio toast body text to match the app palette. */
.toast-text,
.toast-text.error,
.toast-text.warning,
.toast-text.info,
.toast-text.success {
color: rgb(255, 188, 147) !important;
}
.toast-text a {
color: rgb(255, 188, 147) !important;
}
.comment-modal-overlay {
position: fixed;
inset: 0;
display: none;
align-items: center;
justify-content: center;
padding: 20px;
background: rgba(122, 66, 25, 0.26);
backdrop-filter: blur(6px);
z-index: 9999;
}
.comment-modal-overlay.is-open {
display: flex;
}
.comment-modal {
width: min(760px, 100%);
max-height: min(82vh, 780px);
overflow: auto;
border-radius: 20px;
border: 2px solid rgba(122, 66, 25, 0.24);
background: linear-gradient(180deg, rgba(255, 242, 216, 0.98), rgba(255, 233, 199, 0.98));
box-shadow: 0 18px 28px rgba(122, 66, 25, 0.12);
padding: 20px;
}
.comment-modal-header {
display: flex;
justify-content: space-between;
gap: 16px;
align-items: flex-start;
margin-bottom: 14px;
}
.comment-modal-kicker {
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.8rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--muted) !important;
}
.comment-modal h3 {
margin: 6px 0 0;
font-size: 1.75rem;
color: var(--text);
}
.comment-modal-close {
min-height: 38px;
padding: 8px 14px;
border-radius: 999px;
border: 1px solid rgba(47, 133, 123, 0.34);
background: linear-gradient(180deg, var(--aquamarine-button-top), var(--aquamarine-button-bottom));
box-shadow: 0 6px 12px rgba(47, 133, 123, 0.14);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-weight: 700;
cursor: pointer;
color: var(--aquamarine-button-text);
}
.comment-list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 12px;
}
.comment-item {
padding: 14px 16px;
border-radius: 16px;
border: 1px solid rgba(122, 66, 25, 0.18);
background: rgba(255, 247, 232, 0.88);
}
.comment-item--own {
border-color: rgba(47, 133, 90, 0.24);
box-shadow: inset 0 0 0 1px rgba(47, 133, 90, 0.08);
}
.comment-answer {
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.96rem;
font-weight: 700;
line-height: 1.45;
}
.comment-meta {
margin-top: 10px;
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.comment-actions,
.comment-edit-actions {
margin-top: 10px;
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.comment-action-button {
min-height: 30px;
padding: 5px 12px;
border-radius: 999px;
border: 1px solid rgba(47, 133, 123, 0.34);
background: linear-gradient(180deg, var(--aquamarine-button-top), var(--aquamarine-button-bottom));
box-shadow: 0 4px 8px rgba(47, 133, 123, 0.12);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.82rem;
font-weight: 700;
color: var(--aquamarine-button-text);
}
.comment-action-button--primary {
background: linear-gradient(180deg, rgba(255, 122, 26, 1), rgba(255, 149, 49, 1));
border-color: rgba(122, 66, 25, 0.3);
color: #FFF7E8;
}
.comment-action-button--danger {
background: linear-gradient(180deg, var(--aquamarine-button-top), var(--aquamarine-button-bottom));
color: var(--aquamarine-button-text);
}
.card-action--count:hover,
.comment-modal-close:hover,
.comment-actions .comment-action-button:hover {
background: linear-gradient(180deg, var(--aquamarine-button-hover-top), var(--aquamarine-button-hover-bottom));
box-shadow: 0 8px 14px rgba(47, 133, 123, 0.18);
transform: translateY(-1px);
}
.card-action--count:focus-visible,
.comment-modal-close:focus-visible,
.comment-actions .comment-action-button:focus-visible {
outline: none;
box-shadow:
0 0 0 3px rgba(255, 209, 102, 0.34),
0 8px 14px rgba(47, 133, 123, 0.18);
}
.comment-edit-shell {
margin-top: 10px;
}
.comment-edit-shell .comment-edit-input,
textarea.comment-edit-input {
width: 100%;
min-height: 84px;
resize: vertical;
border-radius: 12px;
border: 1px solid var(--comment-input-border) !important;
background: var(--comment-input-bg) !important;
box-shadow: inset 0 1px 2px rgba(122, 66, 25, 0.06) !important;
padding: 10px 12px;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.92rem;
color: var(--text) !important;
caret-color: var(--text);
color-scheme: light !important;
appearance: none;
-webkit-appearance: none;
}
.comment-edit-shell .comment-edit-input:focus,
textarea.comment-edit-input:focus {
outline: none;
border-color: rgba(122, 66, 25, 0.48) !important;
box-shadow:
inset 0 1px 2px rgba(122, 66, 25, 0.08),
0 0 0 3px rgba(255, 209, 102, 0.34) !important;
}
.comment-date,
.comment-source {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: rgba(255, 242, 216, 0.96);
border: 1px solid rgba(122, 66, 25, 0.18);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.82rem;
color: var(--muted) !important;
}
.comment-empty {
padding: 18px;
border-radius: 16px;
background: rgba(255, 247, 232, 0.92);
border: 1px dashed rgba(122, 66, 25, 0.22);
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
color: var(--muted) !important;
}
body.bsqf-modal-open,
html.bsqf-modal-open {
overflow: hidden;
}
.camp-footer {
position: relative;
margin-top: 22px;
padding: 18px 0 8px;
min-height: 110px;
width: 100%;
}
.camp-footer__trail {
position: absolute;
left: 0;
right: 180px;
bottom: 24px;
height: 2px;
background: repeating-linear-gradient(90deg, rgba(122, 66, 25, 0.55) 0 10px, transparent 10px 16px);
}
.camp-footer__meta {
display: flex;
justify-content: center;
gap: 24px;
flex-wrap: wrap;
font-family: "Trebuchet MS", "Segoe UI", sans-serif;
font-size: 0.92rem;
color: var(--muted) !important;
}
.camp-seal {
position: absolute;
right: 0;
bottom: 0;
width: 132px;
height: 132px;
display: grid;
place-items: center;
}
.camp-seal__image {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
filter: drop-shadow(0 10px 16px rgba(122, 66, 25, 0.12));
}
@media (max-width: 1100px) {
.camp-signpost {
right: 6px;
}
.camp-board {
width: min(690px, calc(100% - 170px));
}
.stats-showcase {
grid-template-columns: 1fr !important;
padding: 22px 20px 24px;
}
.stats-showcase__divider {
display: none;
}
.stats-showcase__column--left,
.stats-showcase__column--right {
padding: 0;
}
.stats-showcase__column--right {
margin-top: 22px;
}
.stats-cards-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.category-cards-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
@media (max-width: 900px) {
.search-panels,
.results-grid,
.stats-showcase {
grid-template-columns: 1fr !important;
}
.action-row {
justify-content: center;
}
.camp-hero {
min-height: 0;
padding-top: 48px;
}
.camp-signpost {
position: static;
grid-template-columns: repeat(3, minmax(0, 1fr));
width: 100%;
margin-top: 14px;
}
.camp-sign,
.camp-sign:nth-child(2),
.camp-sign:nth-child(3) {
margin-left: 0;
min-width: 0;
}
.camp-board {
width: 100%;
padding-inline: 20px;
}
.camp-board h1 {
font-size: clamp(2.5rem, 10vw, 4rem);
}
.camp-board h2 {
font-size: clamp(1.65rem, 7vw, 2.7rem);
}
.card-chip-row,
.card-meta-actions {
flex-wrap: nowrap;
}
.card-top {
flex-direction: row;
align-items: center;
}
.card-meta-actions {
justify-content: flex-end;
}
.camp-footer {
padding-bottom: 142px;
}
.camp-footer__trail {
right: 0;
}
.camp-seal {
left: 50%;
right: auto;
transform: translateX(-50%);
}
.camp-seal__image {
max-width: 112px;
max-height: 112px;
}
}
@media (max-width: 640px) {
.gradio-container {
padding-inline: 12px !important;
}
body > div.main.app,
.app-svelte,
div.app {
padding: 0 !important;
}
.camp-badge {
width: calc(100% - 36px);
text-align: center;
padding-inline: 16px;
}
.camp-signpost {
grid-template-columns: 1fr;
}
.camp-mascots {
display: none;
}
.card-title-block h3 {
font-size: 1.55rem;
}
.stats-showcase {
padding: 18px 14px 20px;
}
.stats-showcase__title {
font-size: 1.35rem;
}
.stats-cards-grid,
.category-cards-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.stats-card {
min-height: 232px;
padding: 18px 12px 14px;
}
.category-card {
min-height: 188px;
padding: 16px 10px 14px;
}
.stats-card__icon {
width: 74px;
height: 74px;
font-size: 2.15rem;
margin-bottom: 16px;
}
.category-card__icon {
width: 52px;
height: 52px;
font-size: 1.8rem;
margin-bottom: 10px;
}
.stats-card__label {
font-size: 0.98rem;
}
.stats-card__value {
font-size: 2.45rem;
}
.category-card__label {
font-size: 0.76rem;
}
.pagination-shell {
gap: 4px;
}
.pagination-shell button {
min-width: 28px !important;
min-height: 28px !important;
padding: 4px 8px !important;
font-size: 0.74rem !important;
}
}
"""