Design Specification — Risk Research & Threat Insights | Koi
| Field | Value |
| Site / Project | https://www.koi.ai/blog |
| 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 (#FDD970). All type is set in Season Sans. Detected font weights: 300, 400, 500, 600, 700. Detected style signatures: 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 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 10 |
#000000 | 0, 0, 0 | 0° 0% 0% | 9 |
#F93F12 | 249, 63, 18 | 12° 95% 52% | 4 |
#F5EEE0 | 245, 238, 224 | 40° 51% 92% | 4 |
#DDDDDD | 221, 221, 221 | 0° 0% 87% | 4 |
#FDD970 | 253, 217, 112 | 45° 97% 72% | 3 |
#DEE4FF | 222, 228, 255 | 229° 100% 94% | 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 |
#83311A | 131, 49, 26 | 13° 67% 31% | 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 |
#4D65FF | 77, 101, 255 | 232° 100% 65% | 1 |
#FFFF00 | 255, 255, 0 | 60° 100% 50% | 1 |
#3898EC | 56, 152, 236 | 208° 83% 57% | 1 |
#FFDEDE | 255, 222, 222 | 0° 100% 94% | 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 | #FDD970 | 253, 217, 112 | 45° 97% 72% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #F5EEE0 | 245, 238, 224 | 40° 51% 92% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #DDDDDD | 221, 221, 221 | 0° 0% 87% |
--color-border | #DEE4FF | 222, 228, 255 | 229° 100% 94% |
--color-on-primary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #000000 | 0, 0, 0 | 0° 0% 0% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #F0F4F7 |
--color-surface-container | #EAEFF2 |
--color-surface-container-high | #E9EFF4 |
--color-surface-container-highest | #E2E2E2 |
Gradients
radial-gradient(rgba(249, 63, 18, 0.5) 1px, transparent 1px)
linear-gradient(currentColor,currentColor)
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 | 40px |
| headline-md | 30px |
| title-lg | 22px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| .875rem | 8 |
| .75rem | 5 |
| 18px | 3 |
| 1rem | 3 |
| 14px | 2 |
| 24px | 2 |
| 3.75rem | 2 |
| 1.375rem | 2 |
| .625rem | 2 |
| 1.75rem | 2 |
| 2em | 1 |
| 1em | 1 |
| 38px | 1 |
| 32px | 1 |
| 12px | 1 |
| 3.125rem | 1 |
| 2.5rem | 1 |
| .7rem | 1 |
| 1.875rem | 1 |
| 2.75rem | 1 |
Weights in use: 300, 400, 500, 600, 700
Line heights (by frequency)
| Value | Count |
| 1 | 4 |
| 20px | 2 |
| 22px | 2 |
| 0 | 1 |
| 44px | 1 |
| 36px | 1 |
| 30px | 1 |
| 24px | 1 |
| 18px | 1 |
| 1.4 | 1 |
Letter spacing (by frequency)
| Value | Count |
| .03em | 6 |
| .05em | 3 |
| .09375rem | 1 |
| .01em | 1 |
Spacing
Derived spacing scale
| Token | Value |
| xs | 2px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 62px |
Raw values (by frequency)
| Value | Count |
| .75rem | 14 |
| .5rem | 10 |
| 1rem | 8 |
| .25rem | 8 |
| .375rem | 7 |
| 2rem | 7 |
| 2.5rem | 7 |
| .875rem | 6 |
| .625rem | 6 |
| 1.25rem | 6 |
| 10px | 4 |
| 2.25rem | 4 |
| .125rem | 4 |
| 3.875rem | 4 |
| 1.875rem | 4 |
| 0rem | 4 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 2px |
| md | 6.4px |
| lg | 25px |
| pill | 100% |
Raw values (resolved, by frequency)
| Radius | Count |
.5rem | 6 |
.875rem | 2 |
100% | 2 |
0.25rem | 1 |
0.5rem | 1 |
0 | 1 |
2px | 1 |
9px | 1 |
25px | 1 |
3.125rem | 1 |
.4rem | 1 |
4em | 1 |
Shadows
Derived elevation
| Token | Value |
| sm | 0 0 0 0 #dee4ff |
| md | 10px 10px #dee4ff |
| lg | -4px 4px 0 0 #dee4ff |
All detected shadows
0 0 0 0 #dee4ff
5px 5px 0 0 #dee4ff
-2px 2px 0 0 #dee4ff
10px 10px #dee4ff
5px 5px #dee4ff
none
-4px 4px 0 0 #dee4ff
Layout
Container max-width: 991px
Breakpoints
- 479px
- 640px
- 766px
- 767px
- 991px
- 992px
- 993px
- 1280px
Animation & Motion
Transitions
box-shadow .4s
box-shadow .3s
opacity .3s
all .2s
background-size .25s,color .25s ease
Keyframes
@keyframes spin { 0%{transform:rotate(0)}to{transform:rotate(360deg)} }
CTA labels found on page
- Get a Demo
- SEE KOI IN ACTION
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
#FDD970 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.
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: #FDD970;
--color-background: #FFFFFF;
--color-surface: #F5EEE0;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-text-secondary: #DDDDDD;
--color-border: #DEE4FF;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #000000;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #F0F4F7;
--color-surface-container: #EAEFF2;
--color-surface-container-high: #E9EFF4;
--color-surface-container-highest: #E2E2E2;
--font-sans: Season Sans;
--font-size-display: 60px;
--font-size-headline-lg: 40px;
--font-size-headline-md: 30px;
--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: 2px;
--radius-md: 6.4px;
--radius-lg: 25px;
--radius-pill: 100%;
--shadow-sm: 0 0 0 0 #dee4ff;
--shadow-md: 10px 10px #dee4ff;
--shadow-lg: -4px 4px 0 0 #dee4ff;
--space-xs: 2px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 62px;
--tracking-label: .03em;
--container-max: 991px;
}