redesign the homepage
Build & Deploy / Build & Push Docker Image (push) Failing after 47s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m4s
Test / Marketplace Unit Tests (push) Failing after 4m55s
Test / Admin Unit Tests (push) Successful in 9m37s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
Build & Deploy / Build & Push Docker Image (push) Failing after 47s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m4s
Test / Marketplace Unit Tests (push) Failing after 4m55s
Test / Admin Unit Tests (push) Successful in 9m37s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* Phase 11 component-facing token layer.
|
||||
* Raw palette values remain in the immutable Phase 9 token source. Components consume only
|
||||
* the semantic aliases below. Added roles are documented in docs/TOKEN_IMPLEMENTATION_v1.0.md.
|
||||
*/
|
||||
:root {
|
||||
--surface-page: var(--color-canvas);
|
||||
--surface-primary: var(--color-surface);
|
||||
--surface-elevated: var(--color-surface-raised);
|
||||
--surface-muted: var(--color-surface-muted);
|
||||
--surface-strong: var(--color-surface-strong);
|
||||
--text-primary: var(--color-text);
|
||||
--text-secondary: var(--color-text-muted);
|
||||
--text-subdued: var(--color-gray-500);
|
||||
--text-inverse: var(--color-on-inverse);
|
||||
--border-standard: var(--color-border);
|
||||
--border-strong: var(--color-border-strong);
|
||||
--interactive-primary: var(--color-action-primary);
|
||||
--interactive-primary-hover: var(--color-action-primary-hover);
|
||||
--interactive-conversion: var(--color-action-conversion);
|
||||
--interactive-conversion-hover: var(--color-action-conversion-hover);
|
||||
--interactive-danger: var(--color-red-700);
|
||||
--link-default: var(--color-action-primary);
|
||||
--link-hover: var(--color-action-primary-hover);
|
||||
--focus-ring: var(--color-focus);
|
||||
--status-success-surface: var(--color-green-100);
|
||||
--status-success-text: var(--color-green-700);
|
||||
--status-warning-surface: var(--color-amber-100);
|
||||
--status-warning-text: var(--color-amber-800);
|
||||
--status-error-surface: var(--color-red-100);
|
||||
--status-error-text: var(--color-red-700);
|
||||
--status-info-surface: var(--color-soft-blue);
|
||||
--status-info-text: var(--color-blue-800);
|
||||
--overlay-scrim: color-mix(in srgb, var(--color-navy-950) 72%, transparent);
|
||||
--control-disabled-surface: var(--color-gray-100);
|
||||
--control-disabled-text: var(--color-gray-600);
|
||||
--selection-surface: var(--color-blue-200);
|
||||
--selection-text: var(--color-gray-900);
|
||||
--skeleton-base: var(--color-surface-strong);
|
||||
--skeleton-highlight: var(--color-surface-raised);
|
||||
--shadow-subtle: 0 1px 2px var(--shadow-color);
|
||||
--shadow-card: 0 20px 60px var(--shadow-color);
|
||||
--shadow-overlay: 0 28px 80px var(--shadow-color);
|
||||
--container-wide: var(--size-container-max);
|
||||
--container-content: 960px;
|
||||
--container-reading: 720px;
|
||||
--layout-gutter: clamp(var(--space-4), 4vw, var(--space-10));
|
||||
--section-space: clamp(var(--space-12), 8vw, var(--space-24));
|
||||
--header-min-block-size: 76px;
|
||||
--header-offset: 92px;
|
||||
--layer-base: 0;
|
||||
--layer-sticky: 100;
|
||||
--layer-overlay: 500;
|
||||
--layer-skip-link: 1000;
|
||||
--opacity-disabled: 0.62;
|
||||
--type-display-size: clamp(2.25rem, 6vw, 4.75rem);
|
||||
--type-heading-1-size: clamp(2rem, 5vw, 4rem);
|
||||
--type-heading-2-size: clamp(1.75rem, 3vw, 2.75rem);
|
||||
--type-heading-3-size: clamp(1.25rem, 2vw, 1.75rem);
|
||||
--type-body-large-size: clamp(1.0625rem, 1.5vw, 1.25rem);
|
||||
--type-body-size: 1rem;
|
||||
--type-label-size: 0.875rem;
|
||||
--type-caption-size: 0.8125rem;
|
||||
--line-display: 1.05;
|
||||
--line-heading: 1.18;
|
||||
--line-body: 1.65;
|
||||
--line-arabic-body: 1.85;
|
||||
--tracking-display: -0.035em;
|
||||
--tracking-label: 0.04em;
|
||||
}
|
||||
|
||||
html[data-theme='dark'] {
|
||||
--text-subdued: var(--color-gray-300);
|
||||
--status-success-surface: color-mix(in srgb, var(--color-green-700) 24%, var(--color-navy-900));
|
||||
--status-success-text: var(--color-green-100);
|
||||
--status-warning-surface: color-mix(in srgb, var(--color-amber-800) 30%, var(--color-navy-900));
|
||||
--status-warning-text: var(--color-amber-100);
|
||||
--status-error-surface: color-mix(in srgb, var(--color-red-700) 28%, var(--color-navy-900));
|
||||
--status-error-text: var(--color-red-100);
|
||||
--status-info-text: var(--color-blue-100);
|
||||
--control-disabled-surface: var(--color-navy-800);
|
||||
--control-disabled-text: var(--color-gray-300);
|
||||
--selection-surface: var(--color-blue-800);
|
||||
--selection-text: var(--color-gray-25);
|
||||
}
|
||||
|
||||
/* CSS-only fallback for system theme when JavaScript is unavailable or delayed. */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html[data-theme-preference='system'] {
|
||||
--surface-page: var(--color-navy-950);
|
||||
--surface-primary: var(--color-navy-900);
|
||||
--surface-elevated: var(--color-navy-850);
|
||||
--surface-muted: var(--color-navy-900);
|
||||
--surface-strong: var(--color-navy-800);
|
||||
--text-primary: var(--color-blue-50);
|
||||
--text-secondary: var(--color-gray-300);
|
||||
--text-subdued: var(--color-gray-300);
|
||||
--text-inverse: var(--color-navy-950);
|
||||
--border-standard: var(--color-navy-800);
|
||||
--border-strong: var(--color-gray-600);
|
||||
--interactive-primary: var(--color-blue-200);
|
||||
--interactive-primary-hover: var(--color-blue-100);
|
||||
--interactive-conversion: var(--color-orange-400);
|
||||
--interactive-conversion-hover: var(--color-orange-100);
|
||||
--link-default: var(--color-blue-200);
|
||||
--link-hover: var(--color-blue-100);
|
||||
--focus-ring: var(--color-orange-400);
|
||||
--status-success-surface: color-mix(in srgb, var(--color-green-700) 24%, var(--color-navy-900));
|
||||
--status-success-text: var(--color-green-100);
|
||||
--status-warning-surface: color-mix(in srgb, var(--color-amber-800) 30%, var(--color-navy-900));
|
||||
--status-warning-text: var(--color-amber-100);
|
||||
--status-error-surface: color-mix(in srgb, var(--color-red-700) 28%, var(--color-navy-900));
|
||||
--status-error-text: var(--color-red-100);
|
||||
--status-info-surface: var(--color-navy-800);
|
||||
--status-info-text: var(--color-blue-100);
|
||||
--control-disabled-surface: var(--color-navy-800);
|
||||
--control-disabled-text: var(--color-gray-300);
|
||||
--selection-surface: var(--color-blue-800);
|
||||
--selection-text: var(--color-gray-25);
|
||||
--skeleton-base: var(--color-navy-800);
|
||||
--skeleton-highlight: var(--color-navy-850);
|
||||
--shadow-subtle: 0 1px 2px color-mix(in srgb, var(--color-navy-950) 70%, transparent);
|
||||
--shadow-card: 0 20px 60px color-mix(in srgb, var(--color-navy-950) 70%, transparent);
|
||||
--shadow-overlay: 0 28px 80px color-mix(in srgb, var(--color-navy-950) 78%, transparent);
|
||||
color-scheme: dark;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user