Brand book

Summit Base db

The constraint envelope every adaptive profile operates within. Untouchable items must survive every overlay; bounded tokens accept values inside a range; relationships are invariants enforced after composition.

Monica· ConnectorNate· ExplorerSara· Analyst

Layer 1

Untouchable — the brand DNA

No packet may alter these. A hard violation fails the build via validate-packets.ts.

Brand marks

  • logo

    The Summit Base db logo and wordmark — must render unchanged

  • primary_green#3ECF8E

    Studio's identity green. Must be present somewhere on every screen, never replaced.

Semantic palette

  • successgreen 130–160°

    Success states (saved, healthy, online) must read as green

  • warningamber 35–55°

    Warning / attention states must read as amber

  • errorred 0–15° or 350–360°

    Destructive / error states must read as red

  • infoblue 200–230°

    Informational states must read as blue

Structure

  • nav_order

    Top-level nav order — Dashboard, Table Editor, SQL Editor, Authentication, Storage, Edge Functions, Reports, Settings, Logs, Realtime, Extensions, API Docs. Packets may collapse / hide / re-style nav, but never re-order it mid-session.

  • destructive_confirmation_flow

    The 'are you sure?' dialog flow before destructive actions. Packets may add advance-notice strips ABOVE the dialog (Nate) but may never remove or shorten the confirmation itself.

Accessibility floors

  • wcag_2_2_aa_body

    Body text contrast ratio against background must be ≥ 4.5:1 after composition

  • wcag_2_2_aa_ui

    Non-text UI contrast (icons, focus rings, borders) must be ≥ 3:1

  • target_size_floor

    Interactive target minimum 44×44 CSS pixels (WCAG 2.5.8)

  • focus_ring_floor

    Focus indicator visible state — width ≥ 2px, contrast ≥ 3:1

Layer 2

Bounded tokens — the design space

Packets may set values within these bounds. Bars below show the legal range; markers show each profile's chosen value. A packet that omits a token inherits the default.

spacing-scalemultiplier
--adaptive-spacing-scale

Multiplier on Studio's base spacing scale. Used by Nate (1.45) for dyslexia comfort and Monica (1.15) for HSP breathing room.

0.851.6
monica· 1.15nate· 1.45sara· 1
type-scalemultiplier
--adaptive-font-scale

Multiplier on base font sizes. Hard relationship rule: type-scale must not drop below 1.0 if spacing-scale > 1.0.

0.951.25
nate· 1.18
line-heightratio
--adaptive-line-height

Body line-height. Higher values reduce phonological reading cost (dyslexia compensation) and crowding (HSP).

1.351.85
nate· 1.75
motion-duration-msmilliseconds
--adaptive-animation-duration

Base transition duration. 0 disables all parallax / autoplay / marquee — see relationship rule.

0600
monica· 240nate· 0sara· 120
motion
data-adaptive-motion

Discrete motion state. Must be 'none' when motion-duration-ms is 0 (see motion_zero_kills_autoplay).

none
reduced
full
density
data-adaptive-density

Information density at the layout level.

compact
comfortable
spacious
disclosure
data-adaptive-disclosure

How much detail surfaces by default before user expansion.

minimal
standard
detailed
exhaustive
chunk-sizeitems
--adaptive-max-chunk-items

Default maximum items shown per group before pagination / overflow.

312
nate· 4sara· 8
palette-hue-shift-degdegrees
--adaptive-palette-hue-shift

Global hue rotation applied to non-semantic accent colours only. Semantic palette (success / warning / error / info) is exempt.

-3030
monica· 18sara· -12
palette-saturation-multmultiplier
--adaptive-palette-saturation

Saturation multiplier on non-semantic accents. Hard rule: dropping below 0.7 must trigger contrast-boost ≥ 1.1 to preserve WCAG.

0.61.05
monica· 0.92nate· 0.78sara· 0.95
accent-warmth
data-adaptive-palette

Named palette modes. Each value maps to a hue/saturation envelope below in palette_envelope. cold / data-blue = analytical; warm / calm-warm = collaborative + HSP-aware; calm-muted = full HSP-tempered desaturation.

cold
neutral
warm
calm-warm
calm-muted
data-blue
contrast-boostmultiplier
--adaptive-contrast-boost

Multiplier on UI contrast. Cap is 1.15 — going higher destroys the brand's quiet aesthetic.

11.15
border-radiuspixels
--adaptive-border-radius

Base border-radius for cards, buttons, inputs.

012
monica· 8nate· 4sara· 6
verbosity
data-adaptive-verbosity

Controls copy length for descriptions, helper text, success messages.

terse
normal
verbose

Layer 2b

Palette envelope — named regions

Each named palette is bounded by HSL ranges. Profile chrome values must compose to fall inside its envelope; the validator checks this after applying intensity multipliers.

cold
H 200230° · S 1022%

Cool steel — analyst convention, low-chroma.

neutral
H 0359° · S 08%

Studio default — minimal chromatic activity, brand green carries identity alone.

warm
H 2550° · S 1025%

Amber-side of warm. Reserved for future profiles; HSP-likely profiles must use calm-warm instead.

calm-warm
H 80110° · S 418%

Sage / cream low-saturation. HSP-respectful warmth — green-yellow undertone, never amber-loud. Used by Monica.

Monica
calm-muted
H 200230° · S 08%

Cool monochrome. Maximal desaturation for HSP + ASD compensation. Used by Nate.

Nate
data-blue
H 205225° · S 1222%

Steel-blue with enough chroma to read as 'analytical tool'. Used by Sara.

Sara

Layer 3

Relationships — composition invariants

After tokens are composed, these rules are checked. Hard rules fail the build; soft rules emit warnings.

spacing_implies_typehard

spacing-scale > 1.0 implies type-scale >= 1.0

Increasing whitespace without scaling type makes content feel lost in the page.

motion_zero_kills_autoplayhard

motion-duration-ms == 0 implies all parallax, autoplay, marquee, and ambient animations disabled

Honours prefers-reduced-motion and ASD/HSP compensation patterns. A zero duration must cascade — half-disabling animations is worse than not disabling at all.

low_saturation_needs_contrasthard

palette-saturation-mult < 0.7 implies contrast-boost >= 1.1

Desaturating accents reduces perceived contrast; the boost compensates so WCAG floors hold.

compact_keeps_disclosuresoft

density == 'compact' implies disclosure in ['standard', 'detailed', 'exhaustive']

Compressing layout AND hiding detail removes too many affordances at once. Prefer one or the other.

untouchable_preservedhard

no packet may overwrite any item listed in untouchable.*

Brand integrity is non-negotiable.

wcag_floors_after_compositionhard

after applying token deltas, all WCAG floors in untouchable.accessibility_floors must still hold

A combination of small individual changes can compose into an out-of-floor result. Validation runs after composition, not before.

AODT

Provenance — why each profile diverges

Each adaptation traces back to specific neuro-chemical / cognitive signals (HSP, GLUT, DA, NE, GABA, CORT, plus the OCEAN traits). Below is the source-of-truth list per profile.

Monica

Connector

"Bring the team into the workflow."

  • HSP likely (0.900)
    spacing-scalemotion-duration-mspalette-saturation-multdensity
  • GABA −22 (severe — poor sensory gating)
    motion-duration-mspalette-saturation-mult
  • Connector — Agreeableness +0.571
    slot:right-railslot:cell-suffixtone-overrides
  • Extraversion +0.250
    slot:right-rail
  • ADHD possible (0.580) — DA-seeking active
    slot:save-confirmation

Nate

Explorer

"Show me what I don't already know."

  • ADHD likely — DA −47, NE −55 (extreme)
    slot:main-postludeslot:advance-noticeverbosity
  • ASD likely — prediction-error compensation active
    motion-duration-msslot:advance-noticedata-attributes:disclosure
  • Dyslexia likely — Magno↓, Glutamate +36
    spacing-scaletype-scaleline-heightslot:row-icon
  • HSP 0.95 — sensory flood active
    palette-saturation-multmotion-duration-msspacing-scale
  • Explorer — Openness +0.296, Conscientiousness −0.214
    slot:main-preludedata-attributes:density
  • Anxiety likely — CORT +26
    slot:advance-noticemotion-duration-ms

Sara

Analyst

"Numbers first. Then we talk."

  • Analyst — Agreeableness 0.000 (analytical pole)
    slot:main-preludetone-overridesverbosity
  • Openness +0.439
    data-attributes:disclosure
  • Extraversion +0.429
    slot:keyboard-hints
  • ADHD likely (1.000) — DA-seeking active
    slot:main-postludemotion-duration-ms
  • HSP likely (0.600)
    motion-duration-mspalette-saturation-mult
  • Anxiety likely (0.600) — CORT +19
    slot:main-postludeverbosity
  • Dyslexia possible (0.500)
    slot:table-row-trailing