eidotter 0.18.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +41 -1
- package/README.md +15 -6
- package/dist/components/Accordion/components/AccordionFill.d.ts +0 -0
- package/dist/components/Accordion/components/Section.d.ts +0 -0
- package/dist/components/Accordion/components/index.d.ts +0 -0
- package/dist/components/Accordion/index.d.ts +0 -0
- package/dist/components/Alert/components/Alert.d.ts +0 -0
- package/dist/components/Alert/components/index.d.ts +0 -0
- package/dist/components/Alert/index.d.ts +0 -0
- package/dist/components/Badge/components/Badge.d.ts +0 -0
- package/dist/components/Badge/components/index.d.ts +0 -0
- package/dist/components/Badge/index.d.ts +0 -0
- package/dist/components/Breadcrumb/components/Breadcrumb.d.ts +0 -0
- package/dist/components/Breadcrumb/components/index.d.ts +0 -0
- package/dist/components/Breadcrumb/index.d.ts +0 -0
- package/dist/components/Button/components/Button.d.ts +0 -0
- package/dist/components/Button/components/index.d.ts +0 -0
- package/dist/components/Button/index.d.ts +0 -0
- package/dist/components/Card/components/Card.d.ts +0 -0
- package/dist/components/Card/components/index.d.ts +0 -0
- package/dist/components/Card/index.d.ts +0 -0
- package/dist/components/Chat/components/ChatContainer.d.ts +0 -0
- package/dist/components/Chat/components/ChatHistory.d.ts +0 -0
- package/dist/components/Chat/components/ChatInput.d.ts +0 -0
- package/dist/components/Chat/components/ChatMessage.d.ts +0 -0
- package/dist/components/Chat/components/index.d.ts +0 -0
- package/dist/components/Chat/index.d.ts +0 -0
- package/dist/components/Checkbox/components/Checkbox.d.ts +0 -0
- package/dist/components/Checkbox/components/index.d.ts +0 -0
- package/dist/components/Checkbox/index.d.ts +0 -0
- package/dist/components/CommandPrompt/components/CommandPrompt.d.ts +0 -0
- package/dist/components/CommandPrompt/components/index.d.ts +0 -0
- package/dist/components/CommandPrompt/index.d.ts +0 -0
- package/dist/components/FilterBar/components/FilterBar.d.ts +0 -0
- package/dist/components/FilterBar/components/index.d.ts +0 -0
- package/dist/components/FilterBar/index.d.ts +0 -0
- package/dist/components/Footer/components/Footer.d.ts +0 -0
- package/dist/components/Footer/components/index.d.ts +0 -0
- package/dist/components/Footer/index.d.ts +0 -0
- package/dist/components/Header/components/Header.d.ts +13 -14
- package/dist/components/Header/components/index.d.ts +0 -0
- package/dist/components/Header/index.d.ts +0 -0
- package/dist/components/Icon/components/Icon.d.ts +18 -7
- package/dist/components/Icon/components/index.d.ts +0 -0
- package/dist/components/Icon/index.d.ts +0 -0
- package/dist/components/InlineExpand/components/InlineExpand.d.ts +0 -0
- package/dist/components/InlineExpand/components/index.d.ts +0 -0
- package/dist/components/InlineExpand/index.d.ts +0 -0
- package/dist/components/Input/components/Input.d.ts +0 -0
- package/dist/components/Input/components/index.d.ts +0 -0
- package/dist/components/Input/index.d.ts +0 -0
- package/dist/components/Modal/components/Modal.d.ts +0 -0
- package/dist/components/Modal/components/index.d.ts +0 -0
- package/dist/components/Modal/index.d.ts +0 -0
- package/dist/components/Nav/components/Nav.d.ts +0 -0
- package/dist/components/Nav/components/index.d.ts +0 -0
- package/dist/components/Nav/index.d.ts +0 -0
- package/dist/components/Notification/components/Notification.d.ts +0 -0
- package/dist/components/Notification/components/index.d.ts +0 -0
- package/dist/components/Notification/index.d.ts +0 -0
- package/dist/components/Progress/components/Progress.d.ts +0 -0
- package/dist/components/Progress/components/index.d.ts +0 -0
- package/dist/components/Progress/index.d.ts +0 -0
- package/dist/components/RetroEffects/components/RetroEffects.d.ts +0 -0
- package/dist/components/RetroEffects/components/index.d.ts +0 -0
- package/dist/components/RetroEffects/index.d.ts +0 -0
- package/dist/components/Separator/components/Separator.d.ts +0 -0
- package/dist/components/Separator/components/index.d.ts +0 -0
- package/dist/components/Separator/index.d.ts +0 -0
- package/dist/components/Stat/components/Stat.d.ts +0 -0
- package/dist/components/Stat/components/index.d.ts +0 -0
- package/dist/components/Stat/index.d.ts +0 -0
- package/dist/components/Switch/components/Switch.d.ts +0 -0
- package/dist/components/Switch/components/index.d.ts +0 -0
- package/dist/components/Switch/index.d.ts +0 -0
- package/dist/components/Tabs/components/Tabs.d.ts +0 -0
- package/dist/components/Tabs/components/index.d.ts +0 -0
- package/dist/components/Tabs/index.d.ts +0 -0
- package/dist/components/Tag/components/Tag.d.ts +0 -0
- package/dist/components/Tag/components/TagGroup.d.ts +0 -0
- package/dist/components/Tag/components/index.d.ts +0 -0
- package/dist/components/Tag/index.d.ts +0 -0
- package/dist/components/Terminal/components/Terminal.d.ts +0 -0
- package/dist/components/Terminal/components/index.d.ts +0 -0
- package/dist/components/Terminal/index.d.ts +0 -0
- package/dist/components/TextScramble/components/TextScramble.d.ts +0 -0
- package/dist/components/TextScramble/components/index.d.ts +0 -0
- package/dist/components/TextScramble/index.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineAxis.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineContainer.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineContent.d.ts +0 -0
- package/dist/components/TimelineContainer/components/TimelineEntryCard.d.ts +0 -0
- package/dist/components/TimelineContainer/components/ZoomControls.d.ts +0 -0
- package/dist/components/TimelineContainer/components/index.d.ts +0 -0
- package/dist/components/TimelineContainer/components/timelineUtils.d.ts +0 -0
- package/dist/components/TimelineContainer/components/timelineUtils.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/types.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useDrillDown.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useDrillDown.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useSelection.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useSelection.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useZoom.d.ts +0 -0
- package/dist/components/TimelineContainer/components/useZoom.test.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/DayView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/HourView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/MonthView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/YearView.d.ts +0 -0
- package/dist/components/TimelineContainer/components/views/index.d.ts +0 -0
- package/dist/components/TimelineContainer/index.d.ts +0 -0
- package/dist/components/TimelineNode/components/TimelineNode.d.ts +0 -0
- package/dist/components/TimelineNode/components/index.d.ts +0 -0
- package/dist/components/TimelineNode/index.d.ts +0 -0
- package/dist/components/registry.d.ts +0 -0
- package/dist/eidotter.css +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.es.js +2574 -2511
- package/dist/index.umd.js +6 -6
- package/guidelines/README.md +6 -3
- package/guidelines/components.md +40 -1
- package/guidelines/patterns.md +0 -0
- package/package.json +3 -3
- package/src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt +0 -0
- package/src/styles/fonts/Flexi_IBM_VGA_True.ttf +0 -0
- package/src/styles/fonts.css +12 -3
- package/src/styles/theme.amber-mono.css +31 -21
- package/src/styles/theme.cga-amber.css +38 -28
- package/src/styles/theme.cga-mode4-p0.css +41 -31
- package/src/styles/theme.cga-mode4-p1.css +49 -39
- package/src/styles/theme.cga-mode5.css +50 -40
- package/src/styles/tokens.css +34 -24
- package/tailwind.preset.cjs +32 -18
- package/tailwind.preset.enhanced.cjs +0 -0
- package/src/styles/fonts/Flexi_IBM_VGA_False.ttf +0 -0
package/guidelines/README.md
CHANGED
|
@@ -4,11 +4,11 @@ A DOS-themed React component library with authentic CGA/amber phosphor aesthetic
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
eidotter provides
|
|
7
|
+
eidotter provides 33 ready-to-use components with consistent DOS terminal styling:
|
|
8
8
|
|
|
9
9
|
- **Dark theme only** - Amber-on-black phosphor CRT aesthetic
|
|
10
10
|
- **CGA color palette** - 16 authentic CGA colors + amber extensions
|
|
11
|
-
- **Monospace typography** -
|
|
11
|
+
- **Monospace typography** - Flexi IBM VGA True (bitmap-style VGA font)
|
|
12
12
|
- **Minimal rounded corners** - 2-4px max (DOS aesthetic)
|
|
13
13
|
- **Phosphor glow effects** - Authentic CRT visual effects
|
|
14
14
|
- **React Aria** - Accessible keyboard/focus handling on interactive components
|
|
@@ -17,6 +17,7 @@ eidotter provides 32 ready-to-use components with consistent DOS terminal stylin
|
|
|
17
17
|
|
|
18
18
|
```tsx
|
|
19
19
|
import { Button, Card, Input } from 'eidotter';
|
|
20
|
+
import 'eidotter/fonts.css'; // Flexi IBM VGA True @font-face (required)
|
|
20
21
|
import 'eidotter/styles'; // Component CSS (includes Tailwind utilities)
|
|
21
22
|
import 'eidotter/tokens.css'; // CSS variable definitions (required)
|
|
22
23
|
|
|
@@ -48,7 +49,8 @@ function App() {
|
|
|
48
49
|
| CommandPrompt | DOS command line display |
|
|
49
50
|
| FilterBar | Multi-select toggle group |
|
|
50
51
|
| Footer | Site footer with legal links |
|
|
51
|
-
|
|
|
52
|
+
| Header | Sticky site header with branding + Nav |
|
|
53
|
+
| Icon | SVG icons backed by pixelarticons (MIT) — authentic DOS pixel art |
|
|
52
54
|
| InlineExpand | Inline disclosure widget |
|
|
53
55
|
| Input | Text entry fields with label and error support |
|
|
54
56
|
| Modal | Dialog overlays |
|
|
@@ -88,6 +90,7 @@ function App() {
|
|
|
88
90
|
### CSS Import (required)
|
|
89
91
|
|
|
90
92
|
```tsx
|
|
93
|
+
import 'eidotter/fonts.css'; // Flexi IBM VGA True @font-face (required)
|
|
91
94
|
import 'eidotter/styles'; // Component CSS (includes compiled Tailwind utilities)
|
|
92
95
|
import 'eidotter/tokens.css'; // Design token CSS variables
|
|
93
96
|
|
package/guidelines/components.md
CHANGED
|
@@ -706,9 +706,48 @@ Marker for timeline and stepper interfaces.
|
|
|
706
706
|
|
|
707
707
|
---
|
|
708
708
|
|
|
709
|
+
## Header
|
|
710
|
+
|
|
711
|
+
Sticky site header composing branding link + Nav. Supports retro/modern variants and custom link components for framework routing.
|
|
712
|
+
|
|
713
|
+
### Props
|
|
714
|
+
|
|
715
|
+
| Prop | Type | Default | Description |
|
|
716
|
+
|------|------|---------|-------------|
|
|
717
|
+
| brandName | `string` | — | Site brand name displayed in the header |
|
|
718
|
+
| brandHref | `string` | `'/'` | Href for the brand link |
|
|
719
|
+
| items | `NavItem[]` | — | Navigation items passed through to Nav |
|
|
720
|
+
| activeHref | `string` | — | Currently active href (highlights matching nav link) |
|
|
721
|
+
| variant | `'retro' \| 'modern'` | `'retro'` | Visual variant applied to both header and nav |
|
|
722
|
+
| sticky | `boolean` | `true` | Whether the header sticks to viewport top |
|
|
723
|
+
| linkComponent | `React.ElementType` | `'a'` | Custom link component for framework routing |
|
|
724
|
+
| children | `ReactNode` | — | Custom branding content (replaces brandName) |
|
|
725
|
+
| className | `string` | — | Additional CSS class name |
|
|
726
|
+
|
|
727
|
+
### Examples
|
|
728
|
+
|
|
729
|
+
```tsx
|
|
730
|
+
// Basic retro header
|
|
731
|
+
<Header brandName="DMNC.TECH" items={navItems} />
|
|
732
|
+
|
|
733
|
+
// Modern variant with active page
|
|
734
|
+
<Header brandName="MY-APP" items={navItems} variant="modern" activeHref="/about" />
|
|
735
|
+
|
|
736
|
+
// With custom link component (Next.js)
|
|
737
|
+
import Link from 'next/link';
|
|
738
|
+
<Header brandName="MY-APP" items={navItems} linkComponent={Link} />
|
|
739
|
+
|
|
740
|
+
// Custom branding via children
|
|
741
|
+
<Header items={navItems}>
|
|
742
|
+
<img src="/logo.png" alt="Logo" />
|
|
743
|
+
</Header>
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
---
|
|
747
|
+
|
|
709
748
|
## Icon
|
|
710
749
|
|
|
711
|
-
|
|
750
|
+
DOS-styled icons backed by pixelarticons (MIT).
|
|
712
751
|
|
|
713
752
|
### Props
|
|
714
753
|
|
package/guidelines/patterns.md
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eidotter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A DOS Themed Design System",
|
|
6
6
|
"main": "./dist/index.umd.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"tailwind.preset.cjs",
|
|
33
33
|
"tailwind.preset.enhanced.cjs",
|
|
34
34
|
"src/styles/fonts.css",
|
|
35
|
-
"src/styles/fonts/
|
|
35
|
+
"src/styles/fonts/Flexi_IBM_VGA_True.ttf",
|
|
36
36
|
"src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt",
|
|
37
37
|
"src/styles/tokens.css",
|
|
38
38
|
"src/styles/theme.*.css",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"vite": "^6.2.0"
|
|
134
134
|
},
|
|
135
135
|
"dependencies": {
|
|
136
|
-
"
|
|
136
|
+
"pixelarticons": "^2.0.2",
|
|
137
137
|
"react-aria": "^3.47.0",
|
|
138
138
|
"react-aria-components": "^1.16.0",
|
|
139
139
|
"react-stately": "^3.45.0"
|
|
File without changes
|
|
Binary file
|
package/src/styles/fonts.css
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/*
|
|
2
|
+
* Flexi IBM VGA True v2 — scalable TrueType remake of the IBM VGA BIOS font,
|
|
3
|
+
* aspect-corrected (CC BY-SA 4.0, VileR / int10h.org).
|
|
4
|
+
*
|
|
5
|
+
* Single-weight by design: authentic DOS had no bold variant. Emphasis is
|
|
6
|
+
* expressed via color, uppercase, or inverse video — never by weight.
|
|
7
|
+
* `font-synthesis: none` prevents browsers from faking bold/italic if any
|
|
8
|
+
* downstream stylesheet accidentally requests a heavier weight.
|
|
9
|
+
*/
|
|
2
10
|
@font-face {
|
|
3
|
-
font-family: 'Flexi IBM VGA
|
|
11
|
+
font-family: 'Flexi IBM VGA True';
|
|
4
12
|
font-style: normal;
|
|
5
13
|
font-weight: 400;
|
|
6
14
|
font-display: swap;
|
|
7
|
-
|
|
15
|
+
font-synthesis: none;
|
|
16
|
+
src: url('./fonts/Flexi_IBM_VGA_True.ttf') format('truetype');
|
|
8
17
|
}
|
|
@@ -28,24 +28,34 @@
|
|
|
28
28
|
--color-cga-cyan-glow: rgba(85, 255, 255, 0.5); /** Cyan glow at 50% opacity */
|
|
29
29
|
--color-cga-magenta-glow: rgba(255, 85, 255, 0.5); /** Magenta glow at 50% opacity */
|
|
30
30
|
--color-cga-blue-glow: rgba(85, 85, 255, 0.5); /** Blue glow at 50% opacity */
|
|
31
|
-
--color-cga-white-glow: rgba(255,
|
|
32
|
-
--typography-font-family-primary: 'Flexi IBM VGA
|
|
31
|
+
--color-cga-white-glow: rgba(255, 245, 224, 0.5); /** Warm white glow at 50% opacity */
|
|
32
|
+
--typography-font-family-primary: 'Flexi IBM VGA True'; /** Flexi IBM VGA True v2 — vector remake of IBM VGA BIOS font, aspect-corrected (CC BY-SA 4.0) */
|
|
33
33
|
--typography-font-family-fallback: monospace; /** Generic monospace fallback — intentionally bare to surface missing font-face */
|
|
34
|
-
--typography-font-size-
|
|
35
|
-
--typography-font-size-
|
|
36
|
-
--typography-font-size-
|
|
37
|
-
--typography-font-size-
|
|
38
|
-
--typography-font-size-
|
|
39
|
-
--typography-font-size-
|
|
40
|
-
--typography-font-size-
|
|
41
|
-
--typography-font-size-
|
|
42
|
-
--typography-font-size-
|
|
34
|
+
--typography-font-size-text-xs: 1.125rem; /** 18px — smallest body text */
|
|
35
|
+
--typography-font-size-text-sm: 1.25rem; /** 20px — secondary body text */
|
|
36
|
+
--typography-font-size-text-md: 1.375rem; /** 22px — default body text */
|
|
37
|
+
--typography-font-size-text-lg: 1.5rem; /** 24px — large body text */
|
|
38
|
+
--typography-font-size-text-xl: 1.625rem; /** 26px — extra large body text */
|
|
39
|
+
--typography-font-size-display-xs: 1.875rem; /** 30px — smallest heading */
|
|
40
|
+
--typography-font-size-display-sm: 2.25rem; /** 36px — small heading */
|
|
41
|
+
--typography-font-size-display-md: 2.625rem; /** 42px — medium heading */
|
|
42
|
+
--typography-font-size-display-lg: 3.5rem; /** 56px — large heading */
|
|
43
|
+
--typography-font-size-display-xl: 4.125rem; /** 66px — extra large heading */
|
|
44
|
+
--typography-font-size-display-2xl: 4.875rem; /** 78px — hero heading */
|
|
43
45
|
--typography-font-weight-regular: 400;
|
|
44
|
-
--typography-font-weight-semibold:
|
|
45
|
-
--typography-font-weight-bold:
|
|
46
|
-
--typography-line-height-
|
|
47
|
-
--typography-line-height-
|
|
48
|
-
--typography-line-height-
|
|
46
|
+
--typography-font-weight-semibold: 400;
|
|
47
|
+
--typography-font-weight-bold: 400;
|
|
48
|
+
--typography-line-height-text-xs: 1.125rem; /** 18px */
|
|
49
|
+
--typography-line-height-text-sm: 1.25rem; /** 20px */
|
|
50
|
+
--typography-line-height-text-md: 1.5rem; /** 24px */
|
|
51
|
+
--typography-line-height-text-lg: 1.75rem; /** 28px */
|
|
52
|
+
--typography-line-height-text-xl: 1.875rem; /** 30px */
|
|
53
|
+
--typography-line-height-display-xs: 2rem; /** 32px */
|
|
54
|
+
--typography-line-height-display-sm: 2.375rem; /** 38px */
|
|
55
|
+
--typography-line-height-display-md: 2.75rem; /** 44px */
|
|
56
|
+
--typography-line-height-display-lg: 3.75rem; /** 60px */
|
|
57
|
+
--typography-line-height-display-xl: 4.5rem; /** 72px */
|
|
58
|
+
--typography-line-height-display-2xl: 5.625rem; /** 90px */
|
|
49
59
|
--spacing-0: 0;
|
|
50
60
|
--spacing-1: 4px;
|
|
51
61
|
--spacing-2: 8px;
|
|
@@ -64,7 +74,7 @@
|
|
|
64
74
|
--border-width-medium: 2px;
|
|
65
75
|
--border-width-thick: 4px;
|
|
66
76
|
--shadow-none: none;
|
|
67
|
-
--shadow-drop: 2px 2px 0px 0px #
|
|
77
|
+
--shadow-drop: 2px 2px 0px 0px #080500; /** Hard drop shadow, DOS window style (amber-warm near-black) */
|
|
68
78
|
--shadow-glow-xs: 0px 0px 8px 0px #FFB00080; /** Extra small phosphor glow (subtle hover) */
|
|
69
79
|
--shadow-glow-sm: 0px 0px 10px 0px #FFB00080; /** Small phosphor glow (button hover) */
|
|
70
80
|
--shadow-glow-md: 0px 0px 20px 0px #FFB00080; /** Medium phosphor glow (container/card) */
|
|
@@ -115,14 +125,14 @@
|
|
|
115
125
|
--z-index-tooltip: 1060; /** Tooltips (topmost) */
|
|
116
126
|
--focus-ring-width: 2px; /** Focus ring thickness */
|
|
117
127
|
--focus-ring-offset: 2px; /** Gap between element and ring */
|
|
118
|
-
--effects-overlay: rgba(
|
|
128
|
+
--effects-overlay: rgba(8, 5, 0, 0.8); /** Modal/dialog backdrop overlay (amber-warm) */
|
|
119
129
|
--effects-scanline-light: rgba(255, 176, 0, 0.05); /** CRT scanline light band */
|
|
120
130
|
--effects-scanline-dark: rgba(255, 176, 0, 0.02); /** CRT scanline dark band */
|
|
121
131
|
--effects-vignette-glow: rgba(255, 176, 0, 0.12); /** Inner screen glow vignette */
|
|
122
|
-
--effects-vignette-edge: rgba(
|
|
123
|
-
--effects-vignette-corner: rgba(
|
|
132
|
+
--effects-vignette-edge: rgba(8, 5, 0, 0.3); /** Vignette edge darkening (amber-warm) */
|
|
133
|
+
--effects-vignette-corner: rgba(8, 5, 0, 0.5); /** Vignette corner darkening (amber-warm) */
|
|
124
134
|
--effects-screen-tint: rgba(255, 176, 0, 0.1); /** Subtle amber screen tint */
|
|
125
|
-
--effects-drop-shadow: rgba(
|
|
135
|
+
--effects-drop-shadow: rgba(8, 5, 0, 0.5); /** Terminal window drop shadow (amber-warm) */
|
|
126
136
|
--effects-phosphor-glow: rgba(255, 176, 0, 0.12); /** Phosphor bloom/bleeding glow for CRT effects */
|
|
127
137
|
--effects-bloom-outer: rgba(255, 176, 0, 0.05); /** Outer phosphor bloom layer (faint glow) */
|
|
128
138
|
--effects-bloom-center: rgba(255, 176, 0, 0.03); /** Center phosphor bloom highlight */
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
[data-theme="cga-amber"], .theme-cga-amber {
|
|
6
|
-
--color-cga-black: #
|
|
6
|
+
--color-cga-black: #050300; /** Warm near-black (~3% amber) */
|
|
7
7
|
--color-cga-blue: #0000aa;
|
|
8
8
|
--color-cga-green: #00aa00;
|
|
9
9
|
--color-cga-cyan: #00aaaa;
|
|
10
10
|
--color-cga-red: #aa0000;
|
|
11
11
|
--color-cga-magenta: #aa00aa;
|
|
12
12
|
--color-cga-brown: #aa5500;
|
|
13
|
-
--color-cga-light-gray: #
|
|
14
|
-
--color-cga-dark-gray: #
|
|
13
|
+
--color-cga-light-gray: #adaaa5; /** Warm light gray (~3% amber) */
|
|
14
|
+
--color-cga-dark-gray: #5a5852; /** Warm mid-gray (~3% amber) */
|
|
15
15
|
--color-cga-bright-blue: #5555ff;
|
|
16
16
|
--color-cga-bright-green: #55ff55;
|
|
17
17
|
--color-cga-bright-cyan: #55ffff;
|
|
18
18
|
--color-cga-bright-red: #ff5555;
|
|
19
19
|
--color-cga-bright-magenta: #ff55ff;
|
|
20
20
|
--color-cga-yellow: #ffff55;
|
|
21
|
-
--color-cga-white: #
|
|
21
|
+
--color-cga-white: #fffcf7; /** Warm off-white (~2% amber) */
|
|
22
22
|
--color-cga-amber: #ffb000; /** P3 phosphor amber (602nm) */
|
|
23
23
|
--color-cga-amber-bright: #fdca9f; /** P3 phosphor amber bright */
|
|
24
24
|
--color-cga-amber-dim: #9a5700; /** P3 phosphor amber dim */
|
|
@@ -28,28 +28,38 @@
|
|
|
28
28
|
--color-cga-cyan-glow: rgba(85, 255, 255, 0.5); /** Cyan glow at 50% opacity */
|
|
29
29
|
--color-cga-magenta-glow: rgba(255, 85, 255, 0.5); /** Magenta glow at 50% opacity */
|
|
30
30
|
--color-cga-blue-glow: rgba(85, 85, 255, 0.5); /** Blue glow at 50% opacity */
|
|
31
|
-
--color-cga-white-glow: rgba(255,
|
|
32
|
-
--color-semantic-alert-info: #
|
|
33
|
-
--color-semantic-alert-success: #
|
|
31
|
+
--color-cga-white-glow: rgba(255, 245, 224, 0.5); /** Warm white glow at 50% opacity */
|
|
32
|
+
--color-semantic-alert-info: #0a1828;
|
|
33
|
+
--color-semantic-alert-success: #122010;
|
|
34
34
|
--color-semantic-alert-warning: #352800;
|
|
35
|
-
--color-semantic-alert-error: #
|
|
36
|
-
--typography-font-family-primary: 'Flexi IBM VGA
|
|
35
|
+
--color-semantic-alert-error: #430500;
|
|
36
|
+
--typography-font-family-primary: 'Flexi IBM VGA True'; /** Flexi IBM VGA True v2 — vector remake of IBM VGA BIOS font, aspect-corrected (CC BY-SA 4.0) */
|
|
37
37
|
--typography-font-family-fallback: monospace; /** Generic monospace fallback — intentionally bare to surface missing font-face */
|
|
38
|
-
--typography-font-size-
|
|
39
|
-
--typography-font-size-
|
|
40
|
-
--typography-font-size-
|
|
41
|
-
--typography-font-size-
|
|
42
|
-
--typography-font-size-
|
|
43
|
-
--typography-font-size-
|
|
44
|
-
--typography-font-size-
|
|
45
|
-
--typography-font-size-
|
|
46
|
-
--typography-font-size-
|
|
38
|
+
--typography-font-size-text-xs: 1.125rem; /** 18px — smallest body text */
|
|
39
|
+
--typography-font-size-text-sm: 1.25rem; /** 20px — secondary body text */
|
|
40
|
+
--typography-font-size-text-md: 1.375rem; /** 22px — default body text */
|
|
41
|
+
--typography-font-size-text-lg: 1.5rem; /** 24px — large body text */
|
|
42
|
+
--typography-font-size-text-xl: 1.625rem; /** 26px — extra large body text */
|
|
43
|
+
--typography-font-size-display-xs: 1.875rem; /** 30px — smallest heading */
|
|
44
|
+
--typography-font-size-display-sm: 2.25rem; /** 36px — small heading */
|
|
45
|
+
--typography-font-size-display-md: 2.625rem; /** 42px — medium heading */
|
|
46
|
+
--typography-font-size-display-lg: 3.5rem; /** 56px — large heading */
|
|
47
|
+
--typography-font-size-display-xl: 4.125rem; /** 66px — extra large heading */
|
|
48
|
+
--typography-font-size-display-2xl: 4.875rem; /** 78px — hero heading */
|
|
47
49
|
--typography-font-weight-regular: 400;
|
|
48
|
-
--typography-font-weight-semibold:
|
|
49
|
-
--typography-font-weight-bold:
|
|
50
|
-
--typography-line-height-
|
|
51
|
-
--typography-line-height-
|
|
52
|
-
--typography-line-height-
|
|
50
|
+
--typography-font-weight-semibold: 400;
|
|
51
|
+
--typography-font-weight-bold: 400;
|
|
52
|
+
--typography-line-height-text-xs: 1.125rem; /** 18px */
|
|
53
|
+
--typography-line-height-text-sm: 1.25rem; /** 20px */
|
|
54
|
+
--typography-line-height-text-md: 1.5rem; /** 24px */
|
|
55
|
+
--typography-line-height-text-lg: 1.75rem; /** 28px */
|
|
56
|
+
--typography-line-height-text-xl: 1.875rem; /** 30px */
|
|
57
|
+
--typography-line-height-display-xs: 2rem; /** 32px */
|
|
58
|
+
--typography-line-height-display-sm: 2.375rem; /** 38px */
|
|
59
|
+
--typography-line-height-display-md: 2.75rem; /** 44px */
|
|
60
|
+
--typography-line-height-display-lg: 3.75rem; /** 60px */
|
|
61
|
+
--typography-line-height-display-xl: 4.5rem; /** 72px */
|
|
62
|
+
--typography-line-height-display-2xl: 5.625rem; /** 90px */
|
|
53
63
|
--spacing-0: 0;
|
|
54
64
|
--spacing-1: 4px;
|
|
55
65
|
--spacing-2: 8px;
|
|
@@ -68,7 +78,7 @@
|
|
|
68
78
|
--border-width-medium: 2px;
|
|
69
79
|
--border-width-thick: 4px;
|
|
70
80
|
--shadow-none: none;
|
|
71
|
-
--shadow-drop: 2px 2px 0px 0px #
|
|
81
|
+
--shadow-drop: 2px 2px 0px 0px #080500; /** Hard drop shadow, DOS window style (amber-warm near-black) */
|
|
72
82
|
--shadow-glow-xs: 0px 0px 8px 0px #FFB00080; /** Extra small phosphor glow (subtle hover) */
|
|
73
83
|
--shadow-glow-sm: 0px 0px 10px 0px #FFB00080; /** Small phosphor glow (button hover) */
|
|
74
84
|
--shadow-glow-md: 0px 0px 20px 0px #FFB00080; /** Medium phosphor glow (container/card) */
|
|
@@ -119,14 +129,14 @@
|
|
|
119
129
|
--z-index-tooltip: 1060; /** Tooltips (topmost) */
|
|
120
130
|
--focus-ring-width: 2px; /** Focus ring thickness */
|
|
121
131
|
--focus-ring-offset: 2px; /** Gap between element and ring */
|
|
122
|
-
--effects-overlay: rgba(
|
|
132
|
+
--effects-overlay: rgba(8, 5, 0, 0.8); /** Modal/dialog backdrop overlay (amber-warm) */
|
|
123
133
|
--effects-scanline-light: rgba(255, 176, 0, 0.05); /** CRT scanline light band */
|
|
124
134
|
--effects-scanline-dark: rgba(255, 176, 0, 0.02); /** CRT scanline dark band */
|
|
125
135
|
--effects-vignette-glow: rgba(255, 176, 0, 0.12); /** Inner screen glow vignette */
|
|
126
|
-
--effects-vignette-edge: rgba(
|
|
127
|
-
--effects-vignette-corner: rgba(
|
|
136
|
+
--effects-vignette-edge: rgba(8, 5, 0, 0.3); /** Vignette edge darkening (amber-warm) */
|
|
137
|
+
--effects-vignette-corner: rgba(8, 5, 0, 0.5); /** Vignette corner darkening (amber-warm) */
|
|
128
138
|
--effects-screen-tint: rgba(255, 176, 0, 0.1); /** Subtle amber screen tint */
|
|
129
|
-
--effects-drop-shadow: rgba(
|
|
139
|
+
--effects-drop-shadow: rgba(8, 5, 0, 0.5); /** Terminal window drop shadow (amber-warm) */
|
|
130
140
|
--effects-phosphor-glow: rgba(255, 176, 0, 0.12); /** Phosphor bloom/bleeding glow for CRT effects */
|
|
131
141
|
--effects-bloom-outer: rgba(255, 176, 0, 0.05); /** Outer phosphor bloom layer (faint glow) */
|
|
132
142
|
--effects-bloom-center: rgba(255, 176, 0, 0.03); /** Center phosphor bloom highlight */
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
[data-theme="cga-mode4-p0"], .theme-cga-mode4-p0 {
|
|
6
|
-
--color-cga-black: #
|
|
7
|
-
--color-cga-blue: #
|
|
6
|
+
--color-cga-black: #050300;
|
|
7
|
+
--color-cga-blue: #050300;
|
|
8
8
|
--color-cga-green: #00ff00;
|
|
9
9
|
--color-cga-cyan: #00ff00;
|
|
10
10
|
--color-cga-red: #ff0000;
|
|
11
11
|
--color-cga-magenta: #ff0000;
|
|
12
12
|
--color-cga-brown: #ff0000;
|
|
13
13
|
--color-cga-light-gray: #ffff00;
|
|
14
|
-
--color-cga-dark-gray: #
|
|
14
|
+
--color-cga-dark-gray: #050300;
|
|
15
15
|
--color-cga-bright-blue: #00ff00;
|
|
16
16
|
--color-cga-bright-green: #00ff00;
|
|
17
17
|
--color-cga-bright-cyan: #00ff00;
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
--color-cga-cyan-glow: rgba(85, 255, 255, 0.5); /** Cyan glow at 50% opacity */
|
|
29
29
|
--color-cga-magenta-glow: rgba(255, 85, 255, 0.5); /** Magenta glow at 50% opacity */
|
|
30
30
|
--color-cga-blue-glow: rgba(85, 85, 255, 0.5); /** Blue glow at 50% opacity */
|
|
31
|
-
--color-cga-white-glow: rgba(255,
|
|
32
|
-
--color-semantic-background-primary: #
|
|
33
|
-
--color-semantic-background-secondary: #
|
|
31
|
+
--color-cga-white-glow: rgba(255, 245, 224, 0.5); /** Warm white glow at 50% opacity */
|
|
32
|
+
--color-semantic-background-primary: #050300;
|
|
33
|
+
--color-semantic-background-secondary: #050300;
|
|
34
34
|
--color-semantic-background-accent: #00ff00;
|
|
35
35
|
--color-semantic-text-primary: #ffff00;
|
|
36
|
-
--color-semantic-text-secondary: #
|
|
36
|
+
--color-semantic-text-secondary: #050300;
|
|
37
37
|
--color-semantic-text-accent: #00ff00;
|
|
38
38
|
--color-semantic-text-disabled: #ff0000;
|
|
39
39
|
--color-semantic-border-default: #00ff00;
|
|
@@ -48,27 +48,37 @@
|
|
|
48
48
|
--color-semantic-status-warning: #ffff00;
|
|
49
49
|
--color-semantic-status-error: #ff0000;
|
|
50
50
|
--color-semantic-status-info: #ffff00;
|
|
51
|
-
--color-semantic-alert-info: #
|
|
52
|
-
--color-semantic-alert-success: #
|
|
53
|
-
--color-semantic-alert-warning: #
|
|
54
|
-
--color-semantic-alert-error: #
|
|
55
|
-
--typography-font-family-primary: 'Flexi IBM VGA
|
|
51
|
+
--color-semantic-alert-info: #050300;
|
|
52
|
+
--color-semantic-alert-success: #050300;
|
|
53
|
+
--color-semantic-alert-warning: #050300;
|
|
54
|
+
--color-semantic-alert-error: #050300;
|
|
55
|
+
--typography-font-family-primary: 'Flexi IBM VGA True'; /** Flexi IBM VGA True v2 — vector remake of IBM VGA BIOS font, aspect-corrected (CC BY-SA 4.0) */
|
|
56
56
|
--typography-font-family-fallback: monospace; /** Generic monospace fallback — intentionally bare to surface missing font-face */
|
|
57
|
-
--typography-font-size-
|
|
58
|
-
--typography-font-size-
|
|
59
|
-
--typography-font-size-
|
|
60
|
-
--typography-font-size-
|
|
61
|
-
--typography-font-size-
|
|
62
|
-
--typography-font-size-
|
|
63
|
-
--typography-font-size-
|
|
64
|
-
--typography-font-size-
|
|
65
|
-
--typography-font-size-
|
|
57
|
+
--typography-font-size-text-xs: 1.125rem; /** 18px — smallest body text */
|
|
58
|
+
--typography-font-size-text-sm: 1.25rem; /** 20px — secondary body text */
|
|
59
|
+
--typography-font-size-text-md: 1.375rem; /** 22px — default body text */
|
|
60
|
+
--typography-font-size-text-lg: 1.5rem; /** 24px — large body text */
|
|
61
|
+
--typography-font-size-text-xl: 1.625rem; /** 26px — extra large body text */
|
|
62
|
+
--typography-font-size-display-xs: 1.875rem; /** 30px — smallest heading */
|
|
63
|
+
--typography-font-size-display-sm: 2.25rem; /** 36px — small heading */
|
|
64
|
+
--typography-font-size-display-md: 2.625rem; /** 42px — medium heading */
|
|
65
|
+
--typography-font-size-display-lg: 3.5rem; /** 56px — large heading */
|
|
66
|
+
--typography-font-size-display-xl: 4.125rem; /** 66px — extra large heading */
|
|
67
|
+
--typography-font-size-display-2xl: 4.875rem; /** 78px — hero heading */
|
|
66
68
|
--typography-font-weight-regular: 400;
|
|
67
|
-
--typography-font-weight-semibold:
|
|
68
|
-
--typography-font-weight-bold:
|
|
69
|
-
--typography-line-height-
|
|
70
|
-
--typography-line-height-
|
|
71
|
-
--typography-line-height-
|
|
69
|
+
--typography-font-weight-semibold: 400;
|
|
70
|
+
--typography-font-weight-bold: 400;
|
|
71
|
+
--typography-line-height-text-xs: 1.125rem; /** 18px */
|
|
72
|
+
--typography-line-height-text-sm: 1.25rem; /** 20px */
|
|
73
|
+
--typography-line-height-text-md: 1.5rem; /** 24px */
|
|
74
|
+
--typography-line-height-text-lg: 1.75rem; /** 28px */
|
|
75
|
+
--typography-line-height-text-xl: 1.875rem; /** 30px */
|
|
76
|
+
--typography-line-height-display-xs: 2rem; /** 32px */
|
|
77
|
+
--typography-line-height-display-sm: 2.375rem; /** 38px */
|
|
78
|
+
--typography-line-height-display-md: 2.75rem; /** 44px */
|
|
79
|
+
--typography-line-height-display-lg: 3.75rem; /** 60px */
|
|
80
|
+
--typography-line-height-display-xl: 4.5rem; /** 72px */
|
|
81
|
+
--typography-line-height-display-2xl: 5.625rem; /** 90px */
|
|
72
82
|
--spacing-0: 0;
|
|
73
83
|
--spacing-1: 4px;
|
|
74
84
|
--spacing-2: 8px;
|
|
@@ -87,7 +97,7 @@
|
|
|
87
97
|
--border-width-medium: 2px;
|
|
88
98
|
--border-width-thick: 4px;
|
|
89
99
|
--shadow-none: none;
|
|
90
|
-
--shadow-drop: 2px 2px 0px 0px #
|
|
100
|
+
--shadow-drop: 2px 2px 0px 0px #080500; /** Hard drop shadow, DOS window style (amber-warm near-black) */
|
|
91
101
|
--shadow-glow-xs: 0px 0px 8px 0px #00FF0080; /** Extra small phosphor glow (subtle hover) */
|
|
92
102
|
--shadow-glow-sm: 0px 0px 10px 0px #00FF0080; /** Small phosphor glow (button hover) */
|
|
93
103
|
--shadow-glow-md: 0px 0px 20px 0px #00FF0080; /** Medium phosphor glow (container/card) */
|
|
@@ -138,14 +148,14 @@
|
|
|
138
148
|
--z-index-tooltip: 1060; /** Tooltips (topmost) */
|
|
139
149
|
--focus-ring-width: 2px; /** Focus ring thickness */
|
|
140
150
|
--focus-ring-offset: 2px; /** Gap between element and ring */
|
|
141
|
-
--effects-overlay: rgba(
|
|
151
|
+
--effects-overlay: rgba(8, 5, 0, 0.8); /** Modal/dialog backdrop overlay (amber-warm) */
|
|
142
152
|
--effects-scanline-light: rgba(255, 176, 0, 0.05); /** CRT scanline light band */
|
|
143
153
|
--effects-scanline-dark: rgba(255, 176, 0, 0.02); /** CRT scanline dark band */
|
|
144
154
|
--effects-vignette-glow: rgba(255, 176, 0, 0.12); /** Inner screen glow vignette */
|
|
145
|
-
--effects-vignette-edge: rgba(
|
|
146
|
-
--effects-vignette-corner: rgba(
|
|
155
|
+
--effects-vignette-edge: rgba(8, 5, 0, 0.3); /** Vignette edge darkening (amber-warm) */
|
|
156
|
+
--effects-vignette-corner: rgba(8, 5, 0, 0.5); /** Vignette corner darkening (amber-warm) */
|
|
147
157
|
--effects-screen-tint: rgba(255, 176, 0, 0.1); /** Subtle amber screen tint */
|
|
148
|
-
--effects-drop-shadow: rgba(
|
|
158
|
+
--effects-drop-shadow: rgba(8, 5, 0, 0.5); /** Terminal window drop shadow (amber-warm) */
|
|
149
159
|
--effects-phosphor-glow: rgba(255, 176, 0, 0.12); /** Phosphor bloom/bleeding glow for CRT effects */
|
|
150
160
|
--effects-bloom-outer: rgba(255, 176, 0, 0.05); /** Outer phosphor bloom layer (faint glow) */
|
|
151
161
|
--effects-bloom-center: rgba(255, 176, 0, 0.03); /** Center phosphor bloom highlight */
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
[data-theme="cga-mode4-p1"], .theme-cga-mode4-p1 {
|
|
6
|
-
--color-cga-black: #
|
|
7
|
-
--color-cga-blue: #
|
|
6
|
+
--color-cga-black: #050300;
|
|
7
|
+
--color-cga-blue: #050300;
|
|
8
8
|
--color-cga-green: #00ffff;
|
|
9
9
|
--color-cga-cyan: #00ffff;
|
|
10
10
|
--color-cga-red: #ff00ff;
|
|
11
11
|
--color-cga-magenta: #ff00ff;
|
|
12
12
|
--color-cga-brown: #ff00ff;
|
|
13
|
-
--color-cga-light-gray: #
|
|
14
|
-
--color-cga-dark-gray: #
|
|
13
|
+
--color-cga-light-gray: #fffcf7;
|
|
14
|
+
--color-cga-dark-gray: #050300;
|
|
15
15
|
--color-cga-bright-blue: #00ffff;
|
|
16
16
|
--color-cga-bright-green: #00ffff;
|
|
17
17
|
--color-cga-bright-cyan: #00ffff;
|
|
18
18
|
--color-cga-bright-red: #ff00ff;
|
|
19
19
|
--color-cga-bright-magenta: #ff00ff;
|
|
20
|
-
--color-cga-yellow: #
|
|
21
|
-
--color-cga-white: #
|
|
20
|
+
--color-cga-yellow: #fffcf7;
|
|
21
|
+
--color-cga-white: #fffcf7;
|
|
22
22
|
--color-cga-amber: #00ffff;
|
|
23
|
-
--color-cga-amber-bright: #
|
|
23
|
+
--color-cga-amber-bright: #fffcf7;
|
|
24
24
|
--color-cga-amber-dim: #00ffff;
|
|
25
25
|
--color-cga-amber-glow: rgba(0, 255, 255, 0.5);
|
|
26
26
|
--color-cga-red-glow: rgba(255, 85, 85, 0.5); /** Red glow at 50% opacity */
|
|
@@ -28,47 +28,57 @@
|
|
|
28
28
|
--color-cga-cyan-glow: rgba(85, 255, 255, 0.5); /** Cyan glow at 50% opacity */
|
|
29
29
|
--color-cga-magenta-glow: rgba(255, 85, 255, 0.5); /** Magenta glow at 50% opacity */
|
|
30
30
|
--color-cga-blue-glow: rgba(85, 85, 255, 0.5); /** Blue glow at 50% opacity */
|
|
31
|
-
--color-cga-white-glow: rgba(255,
|
|
32
|
-
--color-semantic-background-primary: #
|
|
33
|
-
--color-semantic-background-secondary: #
|
|
31
|
+
--color-cga-white-glow: rgba(255, 245, 224, 0.5); /** Warm white glow at 50% opacity */
|
|
32
|
+
--color-semantic-background-primary: #050300;
|
|
33
|
+
--color-semantic-background-secondary: #050300;
|
|
34
34
|
--color-semantic-background-accent: #00ffff;
|
|
35
|
-
--color-semantic-text-primary: #
|
|
36
|
-
--color-semantic-text-secondary: #
|
|
35
|
+
--color-semantic-text-primary: #fffcf7;
|
|
36
|
+
--color-semantic-text-secondary: #050300;
|
|
37
37
|
--color-semantic-text-accent: #00ffff;
|
|
38
38
|
--color-semantic-text-disabled: #ff00ff;
|
|
39
39
|
--color-semantic-border-default: #00ffff;
|
|
40
|
-
--color-semantic-border-focus: #
|
|
40
|
+
--color-semantic-border-focus: #fffcf7;
|
|
41
41
|
--color-semantic-border-hover: #ff00ff;
|
|
42
42
|
--color-semantic-border-disabled: #00ffff;
|
|
43
43
|
--color-semantic-link-default: #00ffff;
|
|
44
|
-
--color-semantic-link-hover: #
|
|
44
|
+
--color-semantic-link-hover: #fffcf7;
|
|
45
45
|
--color-semantic-link-active: #ff00ff;
|
|
46
46
|
--color-semantic-link-visited: #ff00ff;
|
|
47
47
|
--color-semantic-status-success: #00ffff;
|
|
48
48
|
--color-semantic-status-warning: #ff00ff;
|
|
49
49
|
--color-semantic-status-error: #ff00ff;
|
|
50
|
-
--color-semantic-status-info: #
|
|
51
|
-
--color-semantic-alert-info: #
|
|
52
|
-
--color-semantic-alert-success: #
|
|
53
|
-
--color-semantic-alert-warning: #
|
|
54
|
-
--color-semantic-alert-error: #
|
|
55
|
-
--typography-font-family-primary: 'Flexi IBM VGA
|
|
50
|
+
--color-semantic-status-info: #fffcf7;
|
|
51
|
+
--color-semantic-alert-info: #050300;
|
|
52
|
+
--color-semantic-alert-success: #050300;
|
|
53
|
+
--color-semantic-alert-warning: #050300;
|
|
54
|
+
--color-semantic-alert-error: #050300;
|
|
55
|
+
--typography-font-family-primary: 'Flexi IBM VGA True'; /** Flexi IBM VGA True v2 — vector remake of IBM VGA BIOS font, aspect-corrected (CC BY-SA 4.0) */
|
|
56
56
|
--typography-font-family-fallback: monospace; /** Generic monospace fallback — intentionally bare to surface missing font-face */
|
|
57
|
-
--typography-font-size-
|
|
58
|
-
--typography-font-size-
|
|
59
|
-
--typography-font-size-
|
|
60
|
-
--typography-font-size-
|
|
61
|
-
--typography-font-size-
|
|
62
|
-
--typography-font-size-
|
|
63
|
-
--typography-font-size-
|
|
64
|
-
--typography-font-size-
|
|
65
|
-
--typography-font-size-
|
|
57
|
+
--typography-font-size-text-xs: 1.125rem; /** 18px — smallest body text */
|
|
58
|
+
--typography-font-size-text-sm: 1.25rem; /** 20px — secondary body text */
|
|
59
|
+
--typography-font-size-text-md: 1.375rem; /** 22px — default body text */
|
|
60
|
+
--typography-font-size-text-lg: 1.5rem; /** 24px — large body text */
|
|
61
|
+
--typography-font-size-text-xl: 1.625rem; /** 26px — extra large body text */
|
|
62
|
+
--typography-font-size-display-xs: 1.875rem; /** 30px — smallest heading */
|
|
63
|
+
--typography-font-size-display-sm: 2.25rem; /** 36px — small heading */
|
|
64
|
+
--typography-font-size-display-md: 2.625rem; /** 42px — medium heading */
|
|
65
|
+
--typography-font-size-display-lg: 3.5rem; /** 56px — large heading */
|
|
66
|
+
--typography-font-size-display-xl: 4.125rem; /** 66px — extra large heading */
|
|
67
|
+
--typography-font-size-display-2xl: 4.875rem; /** 78px — hero heading */
|
|
66
68
|
--typography-font-weight-regular: 400;
|
|
67
|
-
--typography-font-weight-semibold:
|
|
68
|
-
--typography-font-weight-bold:
|
|
69
|
-
--typography-line-height-
|
|
70
|
-
--typography-line-height-
|
|
71
|
-
--typography-line-height-
|
|
69
|
+
--typography-font-weight-semibold: 400;
|
|
70
|
+
--typography-font-weight-bold: 400;
|
|
71
|
+
--typography-line-height-text-xs: 1.125rem; /** 18px */
|
|
72
|
+
--typography-line-height-text-sm: 1.25rem; /** 20px */
|
|
73
|
+
--typography-line-height-text-md: 1.5rem; /** 24px */
|
|
74
|
+
--typography-line-height-text-lg: 1.75rem; /** 28px */
|
|
75
|
+
--typography-line-height-text-xl: 1.875rem; /** 30px */
|
|
76
|
+
--typography-line-height-display-xs: 2rem; /** 32px */
|
|
77
|
+
--typography-line-height-display-sm: 2.375rem; /** 38px */
|
|
78
|
+
--typography-line-height-display-md: 2.75rem; /** 44px */
|
|
79
|
+
--typography-line-height-display-lg: 3.75rem; /** 60px */
|
|
80
|
+
--typography-line-height-display-xl: 4.5rem; /** 72px */
|
|
81
|
+
--typography-line-height-display-2xl: 5.625rem; /** 90px */
|
|
72
82
|
--spacing-0: 0;
|
|
73
83
|
--spacing-1: 4px;
|
|
74
84
|
--spacing-2: 8px;
|
|
@@ -87,7 +97,7 @@
|
|
|
87
97
|
--border-width-medium: 2px;
|
|
88
98
|
--border-width-thick: 4px;
|
|
89
99
|
--shadow-none: none;
|
|
90
|
-
--shadow-drop: 2px 2px 0px 0px #
|
|
100
|
+
--shadow-drop: 2px 2px 0px 0px #080500; /** Hard drop shadow, DOS window style (amber-warm near-black) */
|
|
91
101
|
--shadow-glow-xs: 0px 0px 8px 0px #00FFFF80; /** Extra small phosphor glow (subtle hover) */
|
|
92
102
|
--shadow-glow-sm: 0px 0px 10px 0px #00FFFF80; /** Small phosphor glow (button hover) */
|
|
93
103
|
--shadow-glow-md: 0px 0px 20px 0px #00FFFF80; /** Medium phosphor glow (container/card) */
|
|
@@ -138,14 +148,14 @@
|
|
|
138
148
|
--z-index-tooltip: 1060; /** Tooltips (topmost) */
|
|
139
149
|
--focus-ring-width: 2px; /** Focus ring thickness */
|
|
140
150
|
--focus-ring-offset: 2px; /** Gap between element and ring */
|
|
141
|
-
--effects-overlay: rgba(
|
|
151
|
+
--effects-overlay: rgba(8, 5, 0, 0.8); /** Modal/dialog backdrop overlay (amber-warm) */
|
|
142
152
|
--effects-scanline-light: rgba(255, 176, 0, 0.05); /** CRT scanline light band */
|
|
143
153
|
--effects-scanline-dark: rgba(255, 176, 0, 0.02); /** CRT scanline dark band */
|
|
144
154
|
--effects-vignette-glow: rgba(255, 176, 0, 0.12); /** Inner screen glow vignette */
|
|
145
|
-
--effects-vignette-edge: rgba(
|
|
146
|
-
--effects-vignette-corner: rgba(
|
|
155
|
+
--effects-vignette-edge: rgba(8, 5, 0, 0.3); /** Vignette edge darkening (amber-warm) */
|
|
156
|
+
--effects-vignette-corner: rgba(8, 5, 0, 0.5); /** Vignette corner darkening (amber-warm) */
|
|
147
157
|
--effects-screen-tint: rgba(255, 176, 0, 0.1); /** Subtle amber screen tint */
|
|
148
|
-
--effects-drop-shadow: rgba(
|
|
158
|
+
--effects-drop-shadow: rgba(8, 5, 0, 0.5); /** Terminal window drop shadow (amber-warm) */
|
|
149
159
|
--effects-phosphor-glow: rgba(255, 176, 0, 0.12); /** Phosphor bloom/bleeding glow for CRT effects */
|
|
150
160
|
--effects-bloom-outer: rgba(255, 176, 0, 0.05); /** Outer phosphor bloom layer (faint glow) */
|
|
151
161
|
--effects-bloom-center: rgba(255, 176, 0, 0.03); /** Center phosphor bloom highlight */
|