Spaces:
Sleeping
Sleeping
Download src/chokepoint/web/style.css from YuraBodnar/ChokePointAI: direct link, hf CLI and curl.
- Browser
- Download file 4.73 kB
-
https://huggingface.co/spaces/YuraBodnar/ChokePointAI/resolve/main/src/chokepoint/web/style.css
- Command line
-
hf download hf://spaces/YuraBodnar/ChokePointAI/src/chokepoint/web/style.css
-
curl -L -o style.css https://huggingface.co/spaces/YuraBodnar/ChokePointAI/resolve/main/src/chokepoint/web/style.css
4.73 kB
| /* Tailwind (via CDN, see index.html) handles layout, spacing and color | |
| utilities. Everything here is stuff Tailwind's utility classes can't | |
| express: the Cytoscape canvas, custom tooltips, the active pipeline step, | |
| the range-slider thumb, the loading spinner and scrollbars. | |
| Light theme, tuned for projectors: near-black text on white/light-gray | |
| surfaces, every text pair at WCAG AA (4.5:1) or better. */ | |
| :root { | |
| color-scheme: light; | |
| } | |
| html, | |
| body { | |
| height: 100%; | |
| } | |
| /* ββ Cytoscape canvas βββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #cy { | |
| width: 100%; | |
| min-height: 420px; | |
| background: #ffffff; | |
| } | |
| /* ββ Custom tooltip ββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| A single fixed-position element positioned and viewport-clamped by | |
| app.js (pseudo-element tooltips overflowed the page on narrow screens). | |
| Dark plate on a light page so it pops on a projector. */ | |
| [data-tip] { | |
| cursor: help; | |
| } | |
| #tooltip { | |
| position: fixed; | |
| z-index: 100; | |
| max-width: min(280px, calc(100vw - 16px)); | |
| background: #111827; | |
| color: #f9fafb; | |
| border-radius: 6px; | |
| padding: 7px 11px; | |
| font-size: 0.8125rem; | |
| font-weight: 500; | |
| line-height: 1.4; | |
| pointer-events: none; | |
| opacity: 0; | |
| transition: opacity 0.12s ease; | |
| box-shadow: 0 6px 16px rgb(17 24 39 / 0.25); | |
| } | |
| #tooltip.is-visible { | |
| opacity: 1; | |
| } | |
| /* ββ Pipeline step connector βββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .pipeline-step { | |
| transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, | |
| transform 0.2s ease; | |
| } | |
| .pipeline-step.is-active { | |
| border-color: #1d4ed8; | |
| background-color: #eff6ff; | |
| box-shadow: 0 0 0 2px rgb(29 78 216 / 0.25); | |
| transform: translateY(-1px); | |
| } | |
| .pipeline-step.is-active .pipeline-step-num { | |
| background-color: #1d4ed8; | |
| color: #ffffff; | |
| } | |
| .pipeline-arrow { | |
| color: #6b7280; | |
| } | |
| /* ββ Loading spinner (sits inside the blue Simulate button) βββββββββββββ */ | |
| .spinner { | |
| width: 1rem; | |
| height: 1rem; | |
| border-radius: 50%; | |
| border: 2px solid rgb(255 255 255 / 0.35); | |
| border-top-color: #ffffff; | |
| animation: spin 0.7s linear infinite; | |
| display: inline-block; | |
| } | |
| @keyframes spin { | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| /* ββ Local-model consent dialog βββββββββββββββββββββββββββββββββββββββββ */ | |
| .fallback-dialog { | |
| width: min(30rem, calc(100vw - 2rem)); | |
| padding: 0; | |
| border: 1px solid #d1d5db; | |
| border-radius: 0.875rem; | |
| background: #ffffff; | |
| color: #374151; | |
| box-shadow: 0 24px 48px rgb(17 24 39 / 0.3); | |
| } | |
| .fallback-dialog[open] { | |
| animation: fade-in 0.18s ease; | |
| } | |
| .fallback-dialog::backdrop { | |
| background: rgb(17 24 39 / 0.55); | |
| backdrop-filter: blur(2px); | |
| } | |
| /* ββ Severity slider ββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| input[type="range"] { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 100%; | |
| height: 8px; | |
| border-radius: 999px; | |
| background: linear-gradient(to right, #f59e0b, #ea580c, #b91c1c); | |
| outline: none; | |
| } | |
| input[type="range"]:disabled { | |
| opacity: 0.45; | |
| } | |
| input[type="range"]:focus-visible { | |
| outline: 2px solid #1d4ed8; | |
| outline-offset: 4px; | |
| } | |
| input[type="range"]::-webkit-slider-thumb { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 22px; | |
| height: 22px; | |
| border-radius: 50%; | |
| background: #ffffff; | |
| border: 3px solid #1f2937; | |
| box-shadow: 0 1px 4px rgb(0 0 0 / 0.35); | |
| cursor: pointer; | |
| margin-top: -7px; | |
| } | |
| input[type="range"]::-moz-range-thumb { | |
| width: 22px; | |
| height: 22px; | |
| border-radius: 50%; | |
| background: #ffffff; | |
| border: 3px solid #1f2937; | |
| box-shadow: 0 1px 4px rgb(0 0 0 / 0.35); | |
| cursor: pointer; | |
| } | |
| /* ββ Misc ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| pre { | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| } | |
| .scroll-thin::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| .scroll-thin::-webkit-scrollbar-thumb { | |
| background: #9ca3af; | |
| border-radius: 999px; | |
| } | |
| @keyframes fade-in { | |
| from { | |
| opacity: 0; | |
| transform: translateY(4px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .fade-in { | |
| animation: fade-in 0.25s ease; | |
| } | |