.ts-wrap { max-width: 1280px; margin: 0 auto; padding: 4rem 2rem; font-family: ‘Inter’, system-ui, sans-serif; }
.ts-section { margin-bottom: 5rem; }
.ts-label { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(–wp–preset–color–muted-foreground); margin-bottom: 1.5rem; padding: 0.25rem 0.75rem; border: 1px solid var(–wp–preset–color–border); border-radius: 9999px; }
.ts-section-title { font-size: 1.5rem; font-weight: 500; color: var(–wp–preset–color–foreground); margin: 0 0 2rem; border-bottom: 1px solid var(–wp–preset–color–border); padding-bottom: 0.75rem; }
.ts-grid { display: grid; gap: 1rem; }
.ts-grid–2 { grid-template-columns: repeat(2, 1fr); }
.ts-grid–3 { grid-template-columns: repeat(3, 1fr); }
.ts-grid–4 { grid-template-columns: repeat(4, 1fr); }
.ts-grid–5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 768px) { .ts-grid–3, .ts-grid–4, .ts-grid–5 { grid-template-columns: repeat(2, 1fr); } .ts-grid–2 { grid-template-columns: 1fr; } }
/* Color swatches */
.ts-swatch { border-radius: 12px; overflow: hidden; border: 1px solid var(–wp–preset–color–border); }
.ts-swatch__color { height: 80px; }
.ts-swatch__info { padding: 0.625rem 0.75rem; background: var(–wp–preset–color–background); }
.ts-swatch__name { font-size: 0.75rem; font-weight: 600; color: var(–wp–preset–color–foreground); display: block; }
.ts-swatch__hex { font-size: 0.7rem; color: var(–wp–preset–color–muted-foreground); font-family: monospace; }
/* Typography rows */
.ts-type-row { display: flex; align-items: baseline; gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid var(–wp–preset–color–border); }
.ts-type-row:last-child { border-bottom: none; }
.ts-type-meta { min-width: 140px; flex-shrink: 0; }
.ts-type-tag { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(–wp–preset–color–muted-foreground); display: block; }
.ts-type-size { font-size: 0.75rem; color: var(–wp–preset–color–muted-foreground); font-family: monospace; }
.ts-type-preview { flex: 1; line-height: 1.2; }
/* Button row */
.ts-btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.5rem; background: var(–wp–preset–color–muted); border-radius: 12px; margin-bottom: 1rem; }
.ts-btn-row–dark { background: var(–wp–preset–color–dark); }
.ts-btn-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(–wp–preset–color–muted-foreground); min-width: 120px; }
.ts-btn-row–dark .ts-btn-label { color: rgba(250,250,250,0.5); }
/* Icon grid */
.ts-icon-item { display: flex; flex-direction: column; align-items: center; gap: 0.625rem; padding: 1.25rem; background: var(–wp–preset–color–muted); border-radius: 12px; text-align: center; }
.ts-icon-item i { font-size: 1.5rem; color: var(–wp–preset–color–foreground); }
.ts-icon-item span { font-size: 0.7rem; font-family: monospace; color: var(–wp–preset–color–muted-foreground); }
/* Spacing */
.ts-spacing-row { display: flex; align-items: center; gap: 1.5rem; padding: 0.75rem 0; border-bottom: 1px solid var(–wp–preset–color–border); }
.ts-spacing-bar { background: var(–wp–preset–color–accent); border-radius: 4px; height: 24px; flex-shrink: 0; }
.ts-spacing-meta { font-size: 0.75rem; color: var(–wp–preset–color–muted-foreground); font-family: monospace; }
.ts-spacing-name { font-size: 0.75rem; font-weight: 600; color: var(–wp–preset–color–foreground); min-width: 80px; }
/* Radius */
.ts-radius-item { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.ts-radius-box { width: 64px; height: 64px; background: var(–wp–preset–color–foreground); }
.ts-radius-label { font-size: 0.7rem; font-family: monospace; color: var(–wp–preset–color–muted-foreground); text-align: center; }
/* Forms */
.ts-form-group { margin-bottom: 1.5rem; }
.ts-form-group label { display: block; font-size: 0.875rem; font-weight: 500; color: var(–wp–preset–color–foreground); margin-bottom: 0.5rem; }
/* Transition tokens */
.ts-trans-row { display: flex; align-items: center; gap: 1.5rem; padding: 0.75rem 0; border-bottom: 1px solid var(–wp–preset–color–border); }
.ts-trans-demo { width: 48px; height: 48px; background: var(–wp–preset–color–foreground); border-radius: 8px; cursor: pointer; }
.ts-trans-demo:hover { background: var(–wp–preset–color–accent); }
Theme Setup — Design System Preview
Base Design Tokens
All design tokens, components, and base styles added on the theme-setup branch. This page is temporary.
01 — Colors
Color Palette (theme.json)
02 — Typography
Type Scale · Inter Variable · theme.json fluid sizes
Display96px fluid
The quick fox
H1 / .h160px fluid
The quick brown fox
H2 / .h248px fluid
The quick brown fox
H3 / .h330px
The quick brown fox jumps
H4 / .h424px
The quick brown fox jumps over
H5 / .h520px
The quick brown fox jumps over the lazy dog
H6 / .h618px
The quick brown fox jumps over the lazy dog
Body16px / lh 1.6
The quick brown fox jumps over the lazy dog. Paragraph text at base size with comfortable 1.6 line-height for readability.
SM14px
Small text — captions, labels, helper text, meta information
XS12px
Extra small — timestamps, badges, overline tags
03 — Buttons
Button Components
Header CTA
.site-header__cta
04 — Icons
Icomoon Icon Font (8 icons)
twitter-fill-16
f101
phone-icon
f102
map-pin
f103
linkedin-fill
f104
instagram
f105
facebook-fill
f106
email-icon
f107
arrow-icon
f108
Usage: font-family: 'icomoon'; content: 'f108'; — used in $btn-simple-arrow-svg
05 — Spacing
Spacing Scale (theme.json + SCSS)
XS / 100.5rem — 8px — $spacing-xs / --wp--preset--spacing--10
SM / 201rem — 16px — $spacing-sm / --wp--preset--spacing--20
MD / 301.5rem — 24px — $spacing-md / --wp--preset--spacing--30
LG / 402rem — 32px — $spacing-lg / --wp--preset--spacing--40
XL / 503rem — 48px — $spacing-xxl / --wp--preset--spacing--50
XXL / 604rem — 64px — --wp--preset--spacing--60
3XL / 705rem — 80px — --wp--preset--spacing--70
06 — Radii
Border Radius Scale ($radius-*)
07 — Forms
Form Elements
Choose option…
FinTech
Web3
AI/ML
08 — Changelog
What was added on this branch
theme.json
- Full color palette (15 tokens) — accent lime, dark, muted, border…
- Fluid font size scale (xs → Display)
- Inter Variable font registered
- Spacing scale (10–70)
- H1–H6 global element defaults
- Button / link global element defaults
- Layout: contentSize 1280px / wideSize 1440px
SCSS Components
_typography.scss — .h1–.h6, .display, fluid sizes
_buttons.scss — .btn-pill, .btn-cta (+ –accent, –sm)
_navigation.scss — nav base styles
_site-header.scss — sticky header, burger logic
_footer.scss — footer layout
_forms.scss — form base (stub, ready to extend)
_page-frame.scss — new component (added)
shared-styles/_variables.scss
- Full spacing scale ($spacing-xs → $spacing-xxl)
- Breakpoint ladder ($mobile-xs → $ultra)
- Radius scale ($radius-sm → $radius-xxl)
- Z-index system ($z-dropdown → $z-tooltip)
- Dark surface rgba tokens ($surface-field, $border-hairline…)
- Shadow tokens ($shadow-card-hover, $shadow-hero-card…)
- $color-accent, $icon-font-family, $btn-simple-arrow-svg
Removed (cleanup)
_filter-pill.scss — redundant
_glass-panel.scss — moved / removed
_insight-card.scss — removed
_section-tag.scss — removed
inc/block-resources-grid.php — removed