Design Specification — Endpoint Security Platform for Extensions, Packages & MCPs | Koi
| Field | Value |
| Site / Project | https://www.koi.ai |
| Analyzed on | 2026-08-02 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#000000), a vivid accent (#83311A). All type is set in Season Sans. Detected font weights: 300, 400, 500, 600, 700. Detected style signatures: gradient-rich / aurora; technical / mono accents.
Logo asset(s): https://cdn.prod.website-files.com/67bf17e426d92bdda54af956/68dd8b40ae898e260e0dd5e5_koidex-logo%20(1).svg · https://cdn.prod.website-files.com/67bf17e426d92bdda54af956/67c8217077b742ad19cab085_koi-logo.svg
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 36 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 13 |
#FCFAF6 | 252, 250, 246 | 40° 50% 98% | 9 |
#F93F12 | 249, 63, 18 | 12° 95% 52% | 6 |
#83311A | 131, 49, 26 | 13° 67% 31% | 5 |
#DEE4FF | 222, 228, 255 | 229° 100% 94% | 5 |
#DDDDDD | 221, 221, 221 | 0° 0% 87% | 3 |
#F8F3EA | 248, 243, 234 | 39° 50% 95% | 3 |
#454BBB | 69, 75, 187 | 237° 46% 50% | 3 |
#F0F4F7 | 240, 244, 247 | 206° 30% 95% | 3 |
#333333 | 51, 51, 51 | 0° 0% 20% | 2 |
#E2E2E2 | 226, 226, 226 | 0° 0% 89% | 2 |
#222222 | 34, 34, 34 | 0° 0% 13% | 2 |
#C8C8C8 | 200, 200, 200 | 0° 0% 78% | 2 |
#F5EEE0 | 245, 238, 224 | 40° 51% 92% | 2 |
#070001 | 7, 0, 1 | 351° 100% 1% | 2 |
#D4DAE0 | 212, 218, 224 | 210° 16% 85% | 2 |
#E9EFF4 | 233, 239, 244 | 207° 33% 94% | 2 |
#FF7F50 | 255, 127, 80 | 16° 100% 66% | 1 |
#FF6347 | 255, 99, 71 | 9° 100% 64% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-primary | #333333 | 51, 51, 51 | 0° 0% 20% |
--color-accent | #83311A | 131, 49, 26 | 13° 67% 31% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #FCFAF6 | 252, 250, 246 | 40° 50% 98% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #DEE4FF | 222, 228, 255 | 229° 100% 94% |
--color-border | #DDDDDD | 221, 221, 221 | 0° 0% 87% |
--color-on-primary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #F0F4F7 |
--color-surface-container | #E9EFF4 |
--color-surface-container-high | #E2E2E2 |
--color-surface-container-highest | #DDDDDD |
Gradients
radial-gradient(rgba(249, 63, 18, 0.5) 1px, transparent 1px)
linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)
linear-gradient(currentColor,currentColor)
> 4 additional gradient definitions were framework utility templates (unresolvable var(--tw-gradient-stops)) and were omitted.
Typography
Primary typeface: Season Sans — stack: Season Sans
Font stacks (most used first)
Season Sans
Mdnichromevariable Infra,Arial,sans-serif
Season Sans,Arial,sans-serif
inherit
monospace
webflow-icons
webflow-icons!important
Arial,sans-serif
Mdnichromevariable Infra
-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"
Derived type scale
| Token | Size |
| display | 60px |
| headline-lg | 42px |
| headline-md | 28px |
| title-lg | 22px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| .875rem | 10 |
| 1rem | 5 |
| 1.5rem | 4 |
| 18px | 3 |
| 14px | 2 |
| 24px | 2 |
| 3.75rem | 2 |
| 3.125rem | 2 |
| 1.375rem | 2 |
| 1.25rem | 2 |
| 1.75rem | 2 |
| 2.75rem | 2 |
| 2.25rem | 2 |
| 2.625rem | 2 |
| 2em | 1 |
| 1em | 1 |
| 38px | 1 |
| 32px | 1 |
| 12px | 1 |
| 2.5rem | 1 |
Weights in use: 300, 400, 500, 600, 700
Line heights (by frequency)
| Value | Count |
| 1 | 4 |
| 1.2 | 3 |
| 20px | 2 |
| 22px | 2 |
| 0 | 1 |
| 44px | 1 |
| 36px | 1 |
| 30px | 1 |
| 24px | 1 |
| 18px | 1 |
Letter spacing (by frequency)
| Value | Count |
| .05em | 3 |
| .01em | 2 |
| .04em | 2 |
| .09375rem | 1 |
| .03rem | 1 |
| .6125rem | 1 |
| .06em | 1 |
| .05px | 1 |
Spacing
Derived spacing scale
| Token | Value |
| unit | 4px |
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
Raw values (by frequency)
| Value | Count |
| 2rem | 19 |
| 1rem | 16 |
| 1.5rem | 15 |
| .75rem | 14 |
| 1.75rem | 13 |
| .5rem | 12 |
| .25rem | 11 |
| .875rem | 8 |
| 0rem | 6 |
| .625rem | 4 |
| 2.5rem | 4 |
| 1.25rem | 4 |
| 9px | 2 |
| 10px | 2 |
| 1.7rem | 2 |
| 2.25rem | 2 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 4px |
| md | 6.4px |
| lg | 19.2px |
| pill | 50% |
Raw values (resolved, by frequency)
| Radius | Count |
.5rem | 14 |
.75rem | 7 |
0 | 2 |
50% | 2 |
.4rem | 2 |
.875rem | 2 |
.25rem | 1 |
1.2rem | 1 |
100% | 1 |
14px | 1 |
4em | 1 |
1rem | 1 |
Shadows
Derived elevation
| Token | Value |
| sm | 5px 5px 0 0 #dee4ff |
| md | 2px 2px #454bbb,3px 3px #dee4ff |
| lg | 1px 1px 0 0 #dee4ff |
All detected shadows
5px 5px 0 0 #dee4ff
0 0 0 0 #dee4ff
10px 10px 0 0 #dee4ff
inset 0 1px 0 #83311a80, inset 0 -1px 0 #83311a80
5px 5px #454bbb,6px 6px #dee4ff
2px 2px #454bbb,3px 3px #dee4ff
-2px 2px 0 0 #dee4ff
-3px 3px 0 0 #dee4ff
3px 3px 0 0 #dee4ff
1px 1px 0 0 #dee4ff
Layout
Container max-width: 991px
Breakpoints
- 479px
- 640px
- 766px
- 767px
- 768px
- 991px
- 992px
- 993px
Animation & Motion
Transitions
inherit
box-shadow .4s
box-shadow .3s
all .3s
opacity .3s
opacity .2s
all .2s
all .4s
all .5s
background-size .25s,color .25s ease
Easing curves
cubic-bezier(.445,.05,.55,.95)
ease
Keyframes
@keyframes spin { 0%{transform:rotate(0)}to{transform:rotate(360deg)} }
CTA labels found on page
- Get a Demo
- SEE KOI IN ACTION
- See Koi in Action
- Read their story
- GET A DEMO
Effects
- backdrop-filter:
blur(4px)
- backdrop-filter:
blur(5px)
- backdrop-filter:
blur(10px)
Source Design Tokens (CSS custom properties)
:root {
--brand-colors--beige: #fbf7f0;
--text-colors--primary-txt: var(--brand-colors--midnight-blue);
--text-colors--accent-txt: var(--brand-colors--orange);
--buttons-colors--border: #83311a80;
--background-colors--white-bg: var(--brand-colors--white);
--text-colors--alternate-txt: var(--brand-colors--bronze);
--brand-colors--white: white;
--text-colors--white-txt: var(--brand-colors--white);
--buttons-colors--default: var(--brand-colors--yellow);
--buttons-colors--shadow: var(--brand-colors--light-blue);
--brand-colors--mine-brown: #83311a;
--brand-colors--dark-blue: #0b0f5a;
--background-colors--accent-bg: var(--brand-colors--orange);
--background-colors--primary-bg: var(--brand-colors--beige);
--background-colors--blue-bg: var(--brand-colors--blue);
--brand-colors--midnight-blue: #050618;
--brand-colors--ice-white: #f0f5ff;
--brand-colors--orange: #f93f12;
--brand-colors--timerwolf: #e0cbc6;
--brand-colors--yellow: #fdd970;
--text-colors--yellow-txt: var(--brand-colors--yellow);
--transparent: #0000;
--brand-colors--beige-dark: #fbf7f2;
--brand-colors--off-white: #f5eee0;
--brand-colors--bronze: #c5821e;
--text-colors--secondary-txt: var(--brand-colors--mine-brown);
--background-colors--off-white-bg: #f5eee0;
--brand-colors--cornflower: #1f236d;
--brand-colors--pale-purple: #d1d2ee;
--brand-colors--day-fog: #f8f3ea;
--radius-14: 14px;
--brand-colors--almost-black: #1d1d1f;
--brand-colors--shell: #fae2d9;
--background-colors--secondary-bg: var(--brand-colors--ice-white);
--brand-colors--light-blue: #dee4ff;
--text-colors--black-txt: var(--brand-colors--black);
--_typography---font--primary-family: "Mdnichromevariable Infra",Arial,sans-serif;
--brand-colors--black: black;
--_text-trim---trim-top: var(--_typography---font--secondary-trim-top);
--brand-colors--blue: #454bbb;
--_typography---font--primary-trim-top: .37em;
--_text-trim---trim-bottom: var(--_typography---font--secondary-trim-bottom);
--_typography---font--primary-trim-bottom: .35em;
--_typography---font--secondary-family: "Season Sans",Arial,sans-serif;
--_typography---font--secondary-trim-top: .5em;
--_typography---font--secondary-trim-bottom: .4em;
--text-colors--inverted-txt: var(--brand-colors--ice-white);
--cc-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--cc-modal-border-radius: .5rem;
--cc-btn-border-radius: .4rem;
--cc-modal-transition-duration: .25s;
--cc-link-color: var(--cc-btn-primary-bg);
--cc-modal-margin: 1rem;
--cc-z-index: 2147483647;
--cc-bg: #fff;
--cc-primary-color: #2c2f31;
--cc-secondary-color: #5e6266;
--cc-btn-primary-bg: #30363c;
--cc-btn-primary-color: #fff;
--cc-btn-primary-border-color: var(--cc-btn-primary-bg);
}
Do's and Don'ts
Do
- Do reserve the accent
#83311A for interactive highlights and key moments — it is used sparingly on the source page.
- Do keep the canvas at
#FFFFFF; surfaces should stay within the detected neutral ramp.
- Do stick to the detected font weight(s): 300, 400, 500, 600, 700.
- Do align spacing to the 4px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
Design Tokens (copy-paste)
:root {
--color-primary: #333333;
--color-accent: #83311A;
--color-background: #FFFFFF;
--color-surface: #FCFAF6;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-text-secondary: #DEE4FF;
--color-border: #DDDDDD;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #F0F4F7;
--color-surface-container: #E9EFF4;
--color-surface-container-high: #E2E2E2;
--color-surface-container-highest: #DDDDDD;
--font-sans: Season Sans;
--font-size-display: 60px;
--font-size-headline-lg: 42px;
--font-size-headline-md: 28px;
--font-size-title-lg: 22px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14px;
--font-size-label-sm: 12px;
--radius-sm: 4px;
--radius-md: 6.4px;
--radius-lg: 19.2px;
--radius-pill: 50%;
--shadow-sm: 5px 5px 0 0 #dee4ff;
--shadow-md: 2px 2px #454bbb,3px 3px #dee4ff;
--shadow-lg: 1px 1px 0 0 #dee4ff;
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--tracking-label: .05em;
--container-max: 991px;
}