| 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; |
| } |
| } |
| """ |
|
|