Download static/circular/circular-view.css from pswap/phlam: direct link, hf CLI and curl.
- Browser
- Download file 4.41 kB
-
https://huggingface.co/spaces/pswap/phlam/resolve/main/static/circular/circular-view.css
- Command line
-
hf download hf://spaces/pswap/phlam/static/circular/circular-view.css
-
curl -L -o circular-view.css https://huggingface.co/spaces/pswap/phlam/resolve/main/static/circular/circular-view.css
4.41 kB
| /* PHLAM circular genome viewer — scoped variables + tooltip. | |
| Prefixed --phlam-* custom properties avoid clashing with the host | |
| Gradio page's own theme variables (this file is loaded inside the | |
| viewer's own iframe document, but kept prefixed regardless). */ | |
| :root { | |
| --phlam-bg: #FCFBF9; | |
| --phlam-surface: #F2F0EC; | |
| --phlam-muted: #5C584F; | |
| --phlam-accent: oklch(0.48 0.11 195); | |
| --phlam-fwd: oklch(0.48 0.11 195); | |
| --phlam-rev: oklch(0.5 0.13 25); | |
| --phlam-warn: oklch(0.55 0.13 75); | |
| --phlam-pass: oklch(0.48 0.11 195); | |
| --phlam-text: #191A19; | |
| --phlam-border: #D6D0C4; | |
| } | |
| [data-phlam-theme="dark"] { | |
| --phlam-bg: #12151a; | |
| --phlam-surface: #1c2129; | |
| --phlam-muted: #7d8794; | |
| --phlam-accent: #5ec8f8; | |
| --phlam-fwd: #55c58a; | |
| --phlam-rev: #e0736b; | |
| --phlam-warn: #e0b04b; | |
| --phlam-pass: #55c58a; | |
| --phlam-text: #e7ebf0; | |
| --phlam-border: #2c333d; | |
| } | |
| .phlam-gv-outer { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 12px; | |
| } | |
| .phlam-gv-wrap { | |
| display: flex; | |
| justify-content: center; | |
| background: var(--phlam-bg); | |
| border: 1px solid var(--phlam-border); | |
| border-radius: 8px; | |
| padding: 8px; | |
| flex: 1 1 auto; | |
| min-width: 0; /* allow the flex item to shrink below the SVG's intrinsic width */ | |
| } | |
| .phlam-gv-wrap svg { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| /* Tooltip -- a permanent in-flow side panel next to the chart, at a fixed | |
| spot (not position:fixed, not following the mouse). Its content swaps on | |
| hover/pin; it never disappears or resizes the layout. */ | |
| .gv-tooltip { | |
| flex: 0 0 320px; | |
| width: 320px; | |
| align-self: flex-start; | |
| padding: 12px 14px; | |
| background: var(--phlam-surface); | |
| border: 1px solid var(--phlam-border); | |
| border-radius: 8px; | |
| color: var(--phlam-text); | |
| font-family: "Azeret Mono", ui-monospace, monospace; | |
| font-size: 13.5px; | |
| line-height: 1.55; | |
| box-sizing: border-box; | |
| } | |
| .gv-tooltip--pinned { | |
| border-color: var(--phlam-accent); | |
| border-width: 1.5px; | |
| } | |
| .gv-tt-placeholder { | |
| color: var(--phlam-muted); | |
| font-size: 13px; | |
| } | |
| .gv-tt-title { | |
| font-weight: 700; | |
| font-size: 15px; | |
| margin-bottom: 5px; | |
| word-break: break-all; | |
| } | |
| .gv-tt-loc { | |
| color: var(--phlam-muted); | |
| margin-bottom: 6px; | |
| } | |
| .gv-tt-annot-axis { | |
| padding: 6px 6px 2px; | |
| margin-bottom: 8px; | |
| border: 1px solid var(--phlam-accent); | |
| border-radius: 6px; | |
| /* One tier lighter than .gv-tt-annot-item's own --phlam-bg, so the | |
| category/annotation item boxes still stand out inside this axis box | |
| instead of blending into it. */ | |
| background: var(--phlam-surface); | |
| } | |
| .gv-tt-annot-axis:last-child { | |
| margin-bottom: 0; | |
| } | |
| .gv-tt-annot-axis-label { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: baseline; | |
| gap: 6px; | |
| margin: 0 0 4px; | |
| font-size: 11.5px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.03em; | |
| color: var(--phlam-accent); | |
| } | |
| .gv-tt-annot-axis-meta { | |
| font-weight: 500; | |
| text-transform: none; | |
| letter-spacing: normal; | |
| color: var(--phlam-muted); | |
| font-size: 11px; | |
| } | |
| .gv-tt-annot-conf { | |
| font-weight: 600; | |
| } | |
| .gv-tt-annot-conf-high { | |
| color: var(--phlam-pass); | |
| } | |
| .gv-tt-annot-conf-mid { | |
| color: var(--phlam-warn); | |
| } | |
| .gv-tt-annot-conf-low { | |
| color: var(--phlam-rev); | |
| } | |
| .gv-tt-annot-group { | |
| margin-bottom: 8px; | |
| } | |
| .gv-tt-annot-item { | |
| padding: 4px 7px; | |
| margin-bottom: 4px; | |
| background: var(--phlam-bg); | |
| border: 1px solid var(--phlam-border); | |
| border-radius: 5px; | |
| } | |
| .gv-tt-annot-item:last-child { | |
| margin-bottom: 0; | |
| } | |
| .gv-tt-annot-item.gv-tt-annot-unresolved { | |
| opacity: 0.55; | |
| } | |
| .gv-tt-annot-item.gv-tt-annot-unresolved .gv-tt-annot-text { | |
| font-style: italic; | |
| } | |
| .gv-tt-annot-level { | |
| font-size: 11px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.03em; | |
| color: var(--phlam-muted); | |
| margin-bottom: 2px; | |
| } | |
| .gv-tt-annot-level a { | |
| color: var(--phlam-accent); | |
| } | |
| .gv-tt-annot-text { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: baseline; | |
| gap: 8px; | |
| font-size: 13.5px; | |
| } | |
| .gv-tt-annot-sim { | |
| flex: 0 0 auto; | |
| color: var(--phlam-muted); | |
| font-size: 11.5px; | |
| } | |
| .gv-tt-row { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 10px; | |
| color: var(--phlam-text); | |
| } | |
| .gv-tt-row span:first-child { | |
| color: var(--phlam-muted); | |
| } | |
| .gv-tt-pin { | |
| margin-top: 8px; | |
| padding-top: 6px; | |
| border-top: 1px dashed var(--phlam-border); | |
| color: var(--phlam-muted); | |
| font-size: 11.5px; | |
| } | |