From 8e52e8702b596621f676b69a5f079c73bd352021 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 6 Mar 2026 09:31:48 -0500 Subject: [PATCH 1/2] Upgrade Next.js from 15 to 16 Co-Authored-By: Claude Opus 4.6 --- changelog.d/upgrade-next-16.changed.md | 1 + dashboard/bun.lock | 24 +++++++++++++----------- dashboard/package.json | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) create mode 100644 changelog.d/upgrade-next-16.changed.md diff --git a/changelog.d/upgrade-next-16.changed.md b/changelog.d/upgrade-next-16.changed.md new file mode 100644 index 0000000..45cfe5a --- /dev/null +++ b/changelog.d/upgrade-next-16.changed.md @@ -0,0 +1 @@ +Upgrade Next.js from 15 to 16. diff --git a/dashboard/bun.lock b/dashboard/bun.lock index 1aff2ea..45c8292 100644 --- a/dashboard/bun.lock +++ b/dashboard/bun.lock @@ -9,7 +9,7 @@ "file-saver": "^2.0.5", "js-yaml": "^4.1.0", "jszip": "^3.10.1", - "next": "^15.3.0", + "next": "^16", "papaparse": "^5.5.3", "prismjs": "^1.30.0", "react": "^19.1.1", @@ -162,23 +162,23 @@ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - "@next/env": ["@next/env@15.5.12", "", {}, "sha512-pUvdJN1on574wQHjaBfNGDt9Mz5utDSZFsIIQkMzPgNS8ZvT4H2mwOrOIClwsQOb6EGx5M76/CZr6G8i6pSpLg=="], + "@next/env": ["@next/env@16.1.6", "", {}, "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ=="], - "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.5.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RnRjBtH8S8eXCpUNkQ+543DUc7ys8y15VxmFU9HRqlo9BG3CcBUiwNtF8SNoi2xvGCVJq1vl2yYq+3oISBS0Zg=="], + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.1.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw=="], - "@next/swc-darwin-x64": ["@next/swc-darwin-x64@15.5.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-nqa9/7iQlboF1EFtNhWxQA0rQstmYRSBGxSM6g3GxvxHxcoeqVXfGNr9stJOme674m2V7r4E3+jEhhGvSQhJRA=="], + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.1.6", "", { "os": "darwin", "cpu": "x64" }, "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ=="], - "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@15.5.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-dCzAjqhDHwmoB2M4eYfVKqXs99QdQxNQVpftvP1eGVppamXh/OkDAwV737Zr0KPXEqRUMN4uCjh6mjO+XtF3Mw=="], + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.1.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw=="], - "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@15.5.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-+fpGWvQiITgf7PUtbWY1H7qUSnBZsPPLyyq03QuAKpVoTy/QUx1JptEDTQMVvQhvizCEuNLEeghrQUyXQOekuw=="], + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.1.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ=="], - "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@15.5.12", "", { "os": "linux", "cpu": "x64" }, "sha512-jSLvgdRRL/hrFAPqEjJf1fFguC719kmcptjNVDJl26BnJIpjL3KH5h6mzR4mAweociLQaqvt4UyzfbFjgAdDcw=="], + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.1.6", "", { "os": "linux", "cpu": "x64" }, "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ=="], - "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@15.5.12", "", { "os": "linux", "cpu": "x64" }, "sha512-/uaF0WfmYqQgLfPmN6BvULwxY0dufI2mlN2JbOKqqceZh1G4hjREyi7pg03zjfyS6eqNemHAZPSoP84x17vo6w=="], + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.1.6", "", { "os": "linux", "cpu": "x64" }, "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg=="], - "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@15.5.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-xhsL1OvQSfGmlL5RbOmU+FV120urrgFpYLq+6U8C6KIym32gZT6XF/SDE92jKzzlPWskkbjOKCpqk5m4i8PEfg=="], + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.1.6", "", { "os": "win32", "cpu": "arm64" }, "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw=="], - "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@15.5.12", "", { "os": "win32", "cpu": "x64" }, "sha512-Z1Dh6lhFkxvBDH1FoW6OU/L6prYwPSlwjLiZkExIAh8fbP6iI/M7iGTQAJPYJ9YFlWobCZ1PHbchFhFYb2ADkw=="], + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.1.6", "", { "os": "win32", "cpu": "x64" }, "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A=="], "@policyengine/design-system": ["@policyengine/design-system@0.3.0", "", { "peerDependencies": { "react": ">=18.0.0", "react-dom": ">=18.0.0" }, "optionalPeers": ["react", "react-dom"] }, "sha512-XgyXMr5SIEFRuqeCNTfmP42EorA3N/5+8Vfnu475l0rg7f0zIRMEjHjaiXPCPcWrH4NfRyRJfzIKYDg5TxQEgg=="], @@ -310,6 +310,8 @@ "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.0", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA=="], + "caniuse-lite": ["caniuse-lite@1.0.30001776", "", {}, "sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw=="], "chai": ["chai@6.2.2", "", {}, "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg=="], @@ -420,7 +422,7 @@ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - "next": ["next@15.5.12", "", { "dependencies": { "@next/env": "15.5.12", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "15.5.12", "@next/swc-darwin-x64": "15.5.12", "@next/swc-linux-arm64-gnu": "15.5.12", "@next/swc-linux-arm64-musl": "15.5.12", "@next/swc-linux-x64-gnu": "15.5.12", "@next/swc-linux-x64-musl": "15.5.12", "@next/swc-win32-arm64-msvc": "15.5.12", "@next/swc-win32-x64-msvc": "15.5.12", "sharp": "^0.34.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-Fi/wQ4Etlrn60rz78bebG1i1SR20QxvV8tVp6iJspjLUSHcZoeUXCt+vmWoEcza85ElZzExK/jJ/F6SvtGktjA=="], + "next": ["next@16.1.6", "", { "dependencies": { "@next/env": "16.1.6", "@swc/helpers": "0.5.15", "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.1.6", "@next/swc-darwin-x64": "16.1.6", "@next/swc-linux-arm64-gnu": "16.1.6", "@next/swc-linux-arm64-musl": "16.1.6", "@next/swc-linux-x64-gnu": "16.1.6", "@next/swc-linux-x64-musl": "16.1.6", "@next/swc-win32-arm64-msvc": "16.1.6", "@next/swc-win32-x64-msvc": "16.1.6", "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw=="], "nwsapi": ["nwsapi@2.2.23", "", {}, "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ=="], diff --git a/dashboard/package.json b/dashboard/package.json index 89b38ad..d777a23 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -18,7 +18,7 @@ "file-saver": "^2.0.5", "js-yaml": "^4.1.0", "jszip": "^3.10.1", - "next": "^15.3.0", + "next": "^16", "papaparse": "^5.5.3", "prismjs": "^1.30.0", "react": "^19.1.1", From 9c4b0daa4f5927ef4caff0cbb2b64bff1b70d199 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 7 Mar 2026 08:49:08 -0500 Subject: [PATCH 2/2] Replace hardcoded hex values in globals.css with @policyengine/design-system tokens Import tokens.css from @policyengine/design-system and reference var(--pe-color-*) throughout the Tailwind @theme block instead of hardcoded hex values. Only values with no design-system equivalent (3 slate secondary shades, radius-md, layout/breakpoints) and Prism syntax highlighting colors remain as literals. Co-Authored-By: Claude Opus 4.6 --- dashboard/src/app/globals.css | 237 +++++++++++++++++----------------- 1 file changed, 119 insertions(+), 118 deletions(-) diff --git a/dashboard/src/app/globals.css b/dashboard/src/app/globals.css index 317c701..d0a986a 100644 --- a/dashboard/src/app/globals.css +++ b/dashboard/src/app/globals.css @@ -1,128 +1,129 @@ +@import '@policyengine/design-system/tokens.css'; @import 'tailwindcss'; @theme { - /* Primary brand colors - teal (matches app-v2) */ - --color-primary-50: #e6fffa; - --color-primary-100: #b2f5ea; - --color-primary-200: #81e6d9; - --color-primary-300: #4fd1c5; - --color-primary-400: #38b2ac; - --color-primary-500: #319795; - --color-primary-600: #2c7a7b; - --color-primary-700: #285e61; - --color-primary-800: #234e52; - --color-primary-900: #1d4044; - - /* Secondary colors - gray scale */ - --color-secondary-50: #f0f9ff; - --color-secondary-100: #f2f4f7; - --color-secondary-200: #e2e8f0; - --color-secondary-300: #cbd5e1; - --color-secondary-400: #94a3b8; + /* Primary brand colors - teal (from design-system tokens) */ + --color-primary-50: var(--pe-color-primary-50); + --color-primary-100: var(--pe-color-primary-100); + --color-primary-200: var(--pe-color-primary-200); + --color-primary-300: var(--pe-color-primary-300); + --color-primary-400: var(--pe-color-primary-400); + --color-primary-500: var(--pe-color-primary-500); + --color-primary-600: var(--pe-color-primary-600); + --color-primary-700: var(--pe-color-primary-700); + --color-primary-800: var(--pe-color-primary-800); + --color-primary-900: var(--pe-color-primary-900); + + /* Secondary colors - gray scale (mapped from design-system gray tokens) */ + --color-secondary-50: var(--pe-color-blue-50); + --color-secondary-100: var(--pe-color-gray-100); + --color-secondary-200: var(--pe-color-gray-200); + --color-secondary-300: var(--pe-color-border-medium); + --color-secondary-400: var(--pe-color-border-dark); --color-secondary-500: #64748b; --color-secondary-600: #475569; - --color-secondary-700: #344054; + --color-secondary-700: var(--pe-color-gray-700); --color-secondary-800: #1e293b; - --color-secondary-900: #101828; - - /* Blue accent colors */ - --color-blue-50: #f0f9ff; - --color-blue-100: #e0f2fe; - --color-blue-200: #bae6fd; - --color-blue-300: #7dd3fc; - --color-blue-400: #38bdf8; - --color-blue-500: #0ea5e9; - --color-blue-600: #0284c7; - --color-blue-700: #026aa2; - --color-blue-800: #075985; - --color-blue-900: #0c4a6e; - - /* Gray scale */ - --color-gray-50: #f9fafb; - --color-gray-100: #f2f4f7; - --color-gray-200: #e2e8f0; - --color-gray-300: #d1d5db; - --color-gray-400: #9ca3af; - --color-gray-500: #6b7280; - --color-gray-600: #4b5563; - --color-gray-700: #344054; - --color-gray-800: #1f2937; - --color-gray-900: #101828; - - /* Semantic colors */ - --color-success: #22c55e; - --color-warning: #fec601; - --color-error: #ef4444; - --color-info: #1890ff; - - /* Background colors */ - --color-bg-primary: #fff; - --color-bg-secondary: #f5f9ff; - --color-bg-tertiary: #f1f5f9; - - /* Text colors */ - --color-text-primary: #000; - --color-text-secondary: #5a5a5a; - --color-text-tertiary: #9ca3af; - --color-text-inverse: #fff; - - /* Border colors */ - --color-border-light: #e2e8f0; - --color-border-medium: #cbd5e1; - --color-border-dark: #94a3b8; - - /* Core foreground/background (shadcn-compatible) */ - --color-background: #fff; - --color-foreground: #101828; - --color-primary: #2c7a7b; - --color-primary-foreground: #fff; - --color-secondary: #f2f4f7; - --color-secondary-foreground: #101828; - --color-muted: #f2f4f7; - --color-muted-foreground: #6b7280; - --color-accent: #f2f4f7; - --color-accent-foreground: #101828; - --color-destructive: #ef4444; - --color-card: #fff; - --color-card-foreground: #101828; - --color-border: #e2e8f0; - --color-input: #e2e8f0; - --color-ring: #319795; - - /* Typography */ - --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; - --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace; - - /* Design system font size tokens (prefixed to avoid Tailwind collisions) */ - --pe-font-size-xs: 12px; - --pe-font-size-sm: 14px; - --pe-font-size-base: 16px; - --pe-font-size-lg: 18px; - --pe-font-size-xl: 20px; - --pe-font-size-2xl: 24px; - --pe-font-size-3xl: 28px; - --pe-font-size-4xl: 32px; - - /* Design system spacing tokens (prefixed to avoid Tailwind collisions) */ - --pe-spacing-xs: 4px; - --pe-spacing-sm: 8px; - --pe-spacing-md: 12px; - --pe-spacing-lg: 16px; - --pe-spacing-xl: 20px; - --pe-spacing-2xl: 24px; - --pe-spacing-3xl: 32px; - --pe-spacing-4xl: 48px; - --pe-spacing-5xl: 64px; - - /* Border radius */ - --radius-chip: 2px; - --radius-element: 4px; - --radius-container: 8px; - --radius-feature: 12px; - --radius-sm: 4px; + --color-secondary-900: var(--pe-color-gray-900); + + /* Blue accent colors (from design-system tokens) */ + --color-blue-50: var(--pe-color-blue-50); + --color-blue-100: var(--pe-color-blue-100); + --color-blue-200: var(--pe-color-blue-200); + --color-blue-300: var(--pe-color-blue-300); + --color-blue-400: var(--pe-color-blue-400); + --color-blue-500: var(--pe-color-blue-500); + --color-blue-600: var(--pe-color-blue-600); + --color-blue-700: var(--pe-color-blue-700); + --color-blue-800: var(--pe-color-blue-800); + --color-blue-900: var(--pe-color-blue-900); + + /* Gray scale (from design-system tokens) */ + --color-gray-50: var(--pe-color-gray-50); + --color-gray-100: var(--pe-color-gray-100); + --color-gray-200: var(--pe-color-gray-200); + --color-gray-300: var(--pe-color-gray-300); + --color-gray-400: var(--pe-color-gray-400); + --color-gray-500: var(--pe-color-gray-500); + --color-gray-600: var(--pe-color-gray-600); + --color-gray-700: var(--pe-color-gray-700); + --color-gray-800: var(--pe-color-gray-800); + --color-gray-900: var(--pe-color-gray-900); + + /* Semantic colors (from design-system tokens) */ + --color-success: var(--pe-color-success); + --color-warning: var(--pe-color-warning); + --color-error: var(--pe-color-error); + --color-info: var(--pe-color-info); + + /* Background colors (from design-system tokens) */ + --color-bg-primary: var(--pe-color-bg-primary); + --color-bg-secondary: var(--pe-color-bg-secondary); + --color-bg-tertiary: var(--pe-color-bg-tertiary); + + /* Text colors (from design-system tokens) */ + --color-text-primary: var(--pe-color-text-primary); + --color-text-secondary: var(--pe-color-text-secondary); + --color-text-tertiary: var(--pe-color-text-tertiary); + --color-text-inverse: var(--pe-color-text-inverse); + + /* Border colors (from design-system tokens) */ + --color-border-light: var(--pe-color-border-light); + --color-border-medium: var(--pe-color-border-medium); + --color-border-dark: var(--pe-color-border-dark); + + /* Core foreground/background (shadcn-compatible, from design-system tokens) */ + --color-background: var(--pe-color-bg-primary); + --color-foreground: var(--pe-color-gray-900); + --color-primary: var(--pe-color-primary-600); + --color-primary-foreground: var(--pe-color-text-inverse); + --color-secondary: var(--pe-color-gray-100); + --color-secondary-foreground: var(--pe-color-gray-900); + --color-muted: var(--pe-color-gray-100); + --color-muted-foreground: var(--pe-color-gray-500); + --color-accent: var(--pe-color-gray-100); + --color-accent-foreground: var(--pe-color-gray-900); + --color-destructive: var(--pe-color-error); + --color-card: var(--pe-color-bg-primary); + --color-card-foreground: var(--pe-color-gray-900); + --color-border: var(--pe-color-border-light); + --color-input: var(--pe-color-border-light); + --color-ring: var(--pe-color-primary-500); + + /* Typography (from design-system tokens) */ + --font-sans: var(--pe-font-family-primary); + --font-mono: var(--pe-font-family-mono); + + /* Design system font size tokens (from design-system tokens) */ + --pe-font-size-xs: var(--pe-font-size-xs); + --pe-font-size-sm: var(--pe-font-size-sm); + --pe-font-size-base: var(--pe-font-size-base); + --pe-font-size-lg: var(--pe-font-size-lg); + --pe-font-size-xl: var(--pe-font-size-xl); + --pe-font-size-2xl: var(--pe-font-size-2xl); + --pe-font-size-3xl: var(--pe-font-size-3xl); + --pe-font-size-4xl: var(--pe-font-size-4xl); + + /* Design system spacing tokens (from design-system tokens) */ + --pe-spacing-xs: var(--pe-space-xs); + --pe-spacing-sm: var(--pe-space-sm); + --pe-spacing-md: var(--pe-space-md); + --pe-spacing-lg: var(--pe-space-lg); + --pe-spacing-xl: var(--pe-space-xl); + --pe-spacing-2xl: var(--pe-space-2xl); + --pe-spacing-3xl: var(--pe-space-3xl); + --pe-spacing-4xl: var(--pe-space-4xl); + --pe-spacing-5xl: var(--pe-space-5xl); + + /* Border radius (from design-system tokens) */ + --radius-chip: var(--pe-radius-chip); + --radius-element: var(--pe-radius-element); + --radius-container: var(--pe-radius-container); + --radius-feature: var(--pe-radius-feature); + --radius-sm: var(--pe-radius-element); --radius-md: 6px; - --radius-lg: 8px; - --radius-xl: 12px; + --radius-lg: var(--pe-radius-container); + --radius-xl: var(--pe-radius-feature); /* Layout */ --pe-spacing-header: 58px;