Sophic Interface Systems
Foundations

Colors

Primitive ramps and the shadcn bridge.

Primitives

Raw tokens from @sophic/portal-ui/tokens.css, split into color ramps (neutral, brand, status, teal, violet) and other primitives (transparent washes and base constants).

Color ramps

Mode-flipping color scales. Light and dark are shown side by side because the same token name resolves differently per mode.

Other primitives

Opacity washes (transparent/*) and mode constants (white / black / dimming). The transparent-swap/* variants also invert their base color in dark mode.

shadcn bridge

The tokens @sophic/portal-ui components consume, mapped onto the layers above. Entries marked derived have no Figma counterpart yet.

TokenValue
--backgroundvar(--ivory)
--foregroundvar(--soil)
--cardvar(--neutral-0)
--glassrgb(255 255 255 / 64%)
--glass-blur16px
--glass-saturate160%
--primaryvar(--soil)
--primary-foreground#ffffff
--secondaryvar(--neutral-200)
--secondary-foregroundvar(--foreground)
--hovercolor-mix(in srgb, var(--foreground) 5%, transparent)
--selectedcolor-mix(in srgb, var(--foreground) 6%, transparent)
--selected-barvar(--neutral-900)
--selected-bar-width2px
--trackvar(--neutral-200)
--control-fillvar(--neutral-100)
--control-fill-hovervar(--neutral-200)
--progress-trackcolor-mix(in srgb, var(--limestone) 18%, var(--card))
--progressvar(--limestone)
--logo-backgroundvar(--deep-grove)
--activity-mark-maturityvar(--green-700)
--activity-mark-mergervar(--magenta-700)
--mutedvar(--neutral-100)derived, pending Figma
--muted-foregroundvar(--neutral-700)derived, pending Figma
--skeletonvar(--neutral-200)derived, pending Figma
--destructivevar(--red-700)
--destructive-foregroundvar(--white-fixed)
--errorvar(--red-100)
--error-foregroundvar(--red-700)
--infovar(--blue-100)
--info-foregroundvar(--blue-700)
--successvar(--green-100)
--success-foregroundvar(--green-700)
--warningvar(--amber-100)
--warning-foregroundvar(--amber-700)
--border-width1px
--bordercolor-mix(in srgb, var(--neutral-800) 9%, transparent)
--border-strongcolor-mix(in srgb, var(--neutral-800) 13%, transparent)
--border-innercolor-mix(in srgb, var(--neutral-800) 6%, transparent)
--inputcolor-mix(in srgb, var(--neutral-800) 16%, transparent)
--input-hovercolor-mix(in srgb, var(--neutral-800) 24%, transparent)
--focuscolor-mix(in srgb, var(--neutral-800) 32%, transparent)
--focus-halocolor-mix(in srgb, var(--foreground) 5%, transparent)
--card-nestedvar(--neutral-50)
--card-nested-bordertransparent
--chart-1var(--blue-500)
--chart-2var(--amber-500)
--chart-3var(--magenta-500)
--chart-4var(--green-500)
--chart-5var(--red-500)
--chart-6#898d01
--chart-7#ca653c
--chart-portfoliovar(--limestone)
--chart-scrub-dimvar(--neutral-200)
--chart-pill-highlight#ede9fe
--greeting-day#ca653c
--greeting-evening#8b5cf6
--greeting-night#6d28d9
--drawer-washrgb(255 255 255 / 20%)
--chart-line-positivevar(--green-500)
--chart-line-negativevar(--red-500)
--chart-area-fillcolor-mix(in srgb, var(--limestone) 18%, transparent)
--chart-bar#d0cab8
--chart-bar-downvar(--red-300)
--chart-contributionsvar(--neutral-500)
--chart-range-trackvar(--neutral-100)
--chart-range-track-stackedvar(--neutral-100)
--chart-range-activevar(--card)
--chart-range-active-bordervar(--border-strong)
--chart-range-active-border-widthvar(--border-width)
--chart-range-expandable-radiusvar(--radius-2xl)
--chart-panel-radiusvar(--radius-2xl)
--chart-panel-bordervar(--border)
--chart-value-mutedvar(--neutral-500)
--chart-value-trackingvar(--tracking-tabular)
--chart-value-whole-size-xl3rem
--chart-value-fraction-size-xlcalc(3rem * 2 / 2.625)
--chart-value-whole-size-lg2.625rem
--chart-value-fraction-size-lg2rem
--chart-value-whole-size-mdcalc(2.625rem * 0.8)
--chart-value-fraction-size-mdcalc(2rem * 0.8)
--chart-value-whole-size-smcalc(2.625rem * 0.7)
--chart-value-fraction-size-smcalc(2rem * 0.7)
--chart-value-whole-size-xscalc(2.625rem * 0.4)
--chart-value-fraction-size-xscalc(2rem * 0.4)
--tabs-list-radiusvar(--radius-full)
--tabs-trigger-radiusvar(--radius-full)
--tabs-active-bordertransparent
--tabs-active-border-widthvar(--border-width)
--chart-grid-dotcolor-mix(in oklab, var(--foreground) 14%, transparent)
--chart-grid-dot-radius0.5px
--chart-grid-size0.375rem
--chart-grid-opacity0.55
--chart-edge-fade-inset7%
--chart-area-fill-top0.3
--chart-area-fill-mid0.12
--chart-area-fill-neutral-top0.26
--chart-area-fill-neutral-mid0.1
--radius0.5rem
--sidebarvar(--background)derived, pending Figma
--sidebar-foregroundvar(--neutral-900)
--sidebar-primaryvar(--neutral-900)
--sidebar-primary-foregroundvar(--white)
--sidebar-accentvar(--neutral-100)derived, pending Figma
--sidebar-accent-foregroundvar(--neutral-900)
--sidebar-ringvar(--neutral-400)
--headervar(--neutral-900)derived, pending Figma
--header-foregroundvar(--neutral-0)
--main-backgroundvar(--background)derived, pending Figma

On this page