SPB Git forge
3commits 1branches 0releases
417.0 KBsize
maindefault branch
10 days agolast push
TypeScript 66.5% Python 30.9% JavaScript 1.4% CSS 0.7%
7.3 KB · 297 lines css
Raw Blame History
1@import 'tailwindcss';23/*4  SatelliteIndex design tokens — restrained dark space interface.5  Near-black navy planes, off-white ink, electric cyan accent used sparingly, violet as the secondary accent.6  Status: green = active, orange = degraded/uncertain, red = failed/warning, gray = inactive.7  Orbit classes get fixed hues shared by the globe, charts and badges (LEO cyan · MEO violet · GEO amber · HEO pink · other gray).8*/910:root {11  color-scheme: dark;12  --space: #060912; /* page plane */13  --plane: #0b1020; /* panels, header */14  --plane-2: #111830; /* hover wash, chips, inputs */15  --plane-3: #182140; /* active chip, table hover */16  --ink: #eaf0ff;17  --ink-2: #a3aec8;18  --ink-3: #6b7694;19  --rule: rgba(160, 180, 230, 0.12);20  --rule-strong: rgba(160, 180, 230, 0.28);21  --accent: #38d3ff;22  --accent-ink: #04111c;23  --accent-soft: rgba(56, 211, 255, 0.12);24  --accent-2: #8f7dff;25  --accent-2-soft: rgba(143, 125, 255, 0.14);26  --active: #38d17f;27  --active-soft: rgba(56, 209, 127, 0.14);28  --warn: #f5a524;29  --warn-soft: rgba(245, 165, 36, 0.14);30  --danger: #ff5c6c;31  --danger-soft: rgba(255, 92, 108, 0.14);32  --inactive: #7c869e;33  --inactive-soft: rgba(124, 134, 158, 0.16);3435  --leo: #38d3ff;36  --meo: #8f7dff;37  --geo: #f5b544;38  --heo: #ff7ab6;39  --other: #7c869e;4041  --series-1: #38d3ff;42  --series-2: #8f7dff;43  --series-3: #38d17f;44  --series-4: #f5b544;45  --series-5: #ff7ab6;46  --series-6: #5ea0ff;47  --series-7: #c9d3f2;48  --series-8: #ff5c6c;4950  --radius: 6px;51  --radius-lg: 12px;52  --header-h: 60px;53  --tabbar-h: 58px;54}5556@theme inline {57  --color-space: var(--space);58  --color-plane: var(--plane);59  --color-plane-2: var(--plane-2);60  --color-plane-3: var(--plane-3);61  --color-ink: var(--ink);62  --color-ink-2: var(--ink-2);63  --color-ink-3: var(--ink-3);64  --color-rule: var(--rule);65  --color-rule-strong: var(--rule-strong);66  --color-accent: var(--accent);67  --color-accent-ink: var(--accent-ink);68  --color-accent-soft: var(--accent-soft);69  --color-accent-2: var(--accent-2);70  --color-accent-2-soft: var(--accent-2-soft);71  --color-active: var(--active);72  --color-active-soft: var(--active-soft);73  --color-warn: var(--warn);74  --color-warn-soft: var(--warn-soft);75  --color-danger: var(--danger);76  --color-danger-soft: var(--danger-soft);77  --color-inactive: var(--inactive);78  --color-inactive-soft: var(--inactive-soft);79  --color-leo: var(--leo);80  --color-meo: var(--meo);81  --color-geo: var(--geo);82  --color-heo: var(--heo);83  --color-other: var(--other);84  --color-series-1: var(--series-1);85  --color-series-2: var(--series-2);86  --color-series-3: var(--series-3);87  --color-series-4: var(--series-4);88  --color-series-5: var(--series-5);89  --color-series-6: var(--series-6);90  --color-series-7: var(--series-7);91  --color-series-8: var(--series-8);9293  --font-sans: var(--font-ui), ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;94  --font-mono: var(--font-mono), ui-monospace, 'SF Mono', Menlo, monospace;9596  --text-2xs: 0.6875rem;97  --text-2xs--line-height: 1rem;98  --radius-sm: var(--radius);99  --radius-lg: var(--radius-lg);100}101102html {103  background: var(--space);104  color: var(--ink);105  font-family: var(--font-sans);106  -webkit-text-size-adjust: 100%;107  scroll-behavior: auto;108}109110body {111  background:112    radial-gradient(1200px 600px at 70% -10%, rgba(56, 211, 255, 0.07), transparent 60%),113    radial-gradient(900px 500px at 0% 20%, rgba(143, 125, 255, 0.06), transparent 60%),114    var(--space);115  min-height: 100%;116  overflow-x: hidden;117}118119::selection {120  background: rgba(56, 211, 255, 0.35);121}122123/* ---- utilities ---------------------------------------------------------------------------------------------- */124.container-x {125  padding-left: max(1rem, env(safe-area-inset-left));126  padding-right: max(1rem, env(safe-area-inset-right));127}128@media (min-width: 768px) {129  .container-x {130    padding-left: 2rem;131    padding-right: 2rem;132  }133}134.safe-bottom {135  padding-bottom: env(safe-area-inset-bottom, 0px);136}137.mono {138  font-family: var(--font-mono);139  font-variant-numeric: tabular-nums;140  letter-spacing: 0.01em;141}142.tnum {143  font-variant-numeric: tabular-nums;144}145.eyebrow {146  font-size: 0.6875rem;147  line-height: 1rem;148  letter-spacing: 0.14em;149  text-transform: uppercase;150  color: var(--ink-3);151  font-weight: 600;152}153.display {154  font-weight: 650;155  letter-spacing: -0.03em;156  line-height: 0.98;157}158.panel {159  background: color-mix(in oklab, var(--plane) 88%, transparent);160  border: 1px solid var(--rule);161  border-radius: var(--radius-lg);162  backdrop-filter: blur(10px);163}164.hairline {165  border-color: var(--rule);166}167.grid-bg {168  background-image:169    linear-gradient(to right, rgba(160, 180, 230, 0.05) 1px, transparent 1px),170    linear-gradient(to bottom, rgba(160, 180, 230, 0.05) 1px, transparent 1px);171  background-size: 48px 48px;172  mask-image: radial-gradient(ellipse at center, black 40%, transparent 85%);173}174.scrollbar-thin {175  scrollbar-width: thin;176  scrollbar-color: var(--rule-strong) transparent;177}178.no-scrollbar::-webkit-scrollbar {179  display: none;180}181.no-scrollbar {182  scrollbar-width: none;183}184.link {185  color: var(--ink);186  text-decoration-color: var(--rule-strong);187  text-underline-offset: 3px;188}189.link:hover {190  color: var(--accent);191  text-decoration: underline;192}193.focus-ring:focus-visible {194  outline: 2px solid var(--accent);195  outline-offset: 2px;196}197a:focus-visible,198button:focus-visible,199input:focus-visible,200select:focus-visible,201summary:focus-visible {202  outline: 2px solid var(--accent);203  outline-offset: 2px;204  border-radius: 4px;205}206207/* status dot */208.dot {209  display: inline-block;210  width: 7px;211  height: 7px;212  border-radius: 999px;213  background: currentColor;214  box-shadow: 0 0 0 3px color-mix(in oklab, currentColor 20%, transparent);215}216.pulse {217  animation: pulse 2.4s ease-in-out infinite;218}219@keyframes pulse {220  0%,221  100% {222    box-shadow: 0 0 0 3px color-mix(in oklab, currentColor 20%, transparent);223  }224  50% {225    box-shadow: 0 0 0 7px color-mix(in oklab, currentColor 6%, transparent);226  }227}228229/* data tables: transform to stacked rows on small screens when marked */230.data-table {231  width: 100%;232  border-collapse: collapse;233  font-variant-numeric: tabular-nums;234}235.data-table th {236  text-align: left;237  font-weight: 600;238  font-size: 0.6875rem;239  letter-spacing: 0.1em;240  text-transform: uppercase;241  color: var(--ink-3);242  padding: 0.5rem 0.75rem;243  border-bottom: 1px solid var(--rule-strong);244  white-space: nowrap;245}246.data-table td {247  padding: 0.6rem 0.75rem;248  border-bottom: 1px solid var(--rule);249  vertical-align: middle;250}251.data-table tbody tr:hover {252  background: var(--plane-2);253}254.data-table .num {255  text-align: right;256}257@media (max-width: 767px) {258  .data-table.stack thead {259    display: none;260  }261  .data-table.stack tr {262    display: grid;263    grid-template-columns: 1fr 1fr;264    gap: 0.15rem 0.75rem;265    padding: 0.7rem 0;266    border-bottom: 1px solid var(--rule);267  }268  .data-table.stack td {269    display: block;270    border: 0;271    padding: 0;272  }273  .data-table.stack td[data-label]::before {274    content: attr(data-label);275    display: block;276    font-size: 0.625rem;277    letter-spacing: 0.1em;278    text-transform: uppercase;279    color: var(--ink-3);280  }281  .data-table.stack td.primary {282    grid-column: 1 / -1;283  }284  .data-table.stack td.num {285    text-align: left;286  }287}288289@media (prefers-reduced-motion: reduce) {290  *,291  *::before,292  *::after {293    animation-duration: 0.01ms !important;294    transition-duration: 0.01ms !important;295  }296}297