@cyberskill/design 1.0.0 → 1.1.0
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/DESIGN.md +10 -9
- package/README.md +31 -28
- package/SKILL.md +13 -9
- package/VERSION +1 -1
- package/_ds_bundle.js +660 -202
- package/_ds_manifest.json +1 -1
- package/_esm/cs.mjs +14 -8
- package/_esm/react.d.ts +216 -0
- package/_esm/react.mjs +114 -0
- package/base/collections.css +31 -0
- package/base/components.css +3 -0
- package/base/data.css +33 -0
- package/base/forms.css +8 -0
- package/base/interaction.css +1 -0
- package/base/typography.css +6 -0
- package/components/_i18n/strings.js +8 -4
- package/components/ai/ai-conversation.card.html +2 -2
- package/components/ai/ai-lumi.card.html +2 -2
- package/components/ai/ai.card.html +2 -2
- package/components/brand/brand.card.html +2 -2
- package/components/button/buttons.card.html +2 -2
- package/components/data/AspectRatio.d.ts +16 -0
- package/components/data/AspectRatio.figma.tsx +12 -0
- package/components/data/AspectRatio.jsx +16 -0
- package/components/data/AspectRatio.prompt.md +7 -0
- package/components/data/Collapsible.d.ts +21 -0
- package/components/data/Collapsible.figma.tsx +12 -0
- package/components/data/Collapsible.jsx +49 -0
- package/components/data/Collapsible.prompt.md +7 -0
- package/components/data/Image.d.ts +4 -0
- package/components/data/Image.prompt.md +2 -2
- package/components/data/Item.d.ts +26 -0
- package/components/data/Item.figma.tsx +12 -0
- package/components/data/Item.jsx +63 -0
- package/components/data/Item.prompt.md +10 -0
- package/components/data/ScrollArea.d.ts +16 -0
- package/components/data/ScrollArea.figma.tsx +12 -0
- package/components/data/ScrollArea.jsx +25 -0
- package/components/data/ScrollArea.prompt.md +7 -0
- package/components/data/collections.card.html +15 -4
- package/components/data/data.card.html +15 -4
- package/components/datatable/datatable.card.html +2 -2
- package/components/dialog/dialog.card.html +2 -2
- package/components/feedback/feedback-2.card.html +2 -2
- package/components/feedback/feedback.card.html +2 -2
- package/components/forms/Cascader.jsx +5 -3
- package/components/forms/Editor.prompt.md +1 -1
- package/components/forms/InputGroup.d.ts +4 -0
- package/components/forms/InputGroup.jsx +38 -8
- package/components/forms/InputGroup.prompt.md +3 -3
- package/components/forms/NativeSelect.d.ts +22 -0
- package/components/forms/NativeSelect.figma.tsx +12 -0
- package/components/forms/NativeSelect.jsx +56 -0
- package/components/forms/NativeSelect.prompt.md +10 -0
- package/components/forms/NumberField.d.ts +5 -0
- package/components/forms/NumberField.jsx +51 -7
- package/components/forms/NumberField.prompt.md +2 -2
- package/components/forms/SegmentedControl.jsx +1 -1
- package/components/forms/TagInput.d.ts +3 -0
- package/components/forms/TagInput.jsx +62 -20
- package/components/forms/TagInput.prompt.md +2 -2
- package/components/forms/forms-2.card.html +2 -2
- package/components/forms/forms.card.html +5 -4
- package/components/icon/Icon.prompt.md +1 -1
- package/components/icon/icon.card.html +2 -2
- package/components/logo/Logo.jsx +2 -1
- package/components/logo/logo.card.html +2 -2
- package/components/navigation/Menu.jsx +14 -1
- package/components/navigation/navigation.card.html +2 -2
- package/components/navigation/shell.card.html +2 -2
- package/components/overlays/AlertDialog.d.ts +29 -0
- package/components/overlays/AlertDialog.figma.tsx +12 -0
- package/components/overlays/AlertDialog.jsx +142 -0
- package/components/overlays/AlertDialog.prompt.md +12 -0
- package/components/overlays/Drawer.jsx +1 -1
- package/components/overlays/Popconfirm.jsx +14 -1
- package/components/overlays/Popover.jsx +14 -1
- package/components/overlays/alertdialog.card.html +42 -0
- package/components/overlays/overlays.card.html +2 -2
- package/components/textfield/textfield.card.html +2 -2
- package/docs/benchmark-rubric.md +46 -0
- package/docs/ci-cd.md +17 -11
- package/docs/consumer-grant.md +37 -0
- package/docs/consuming.md +45 -16
- package/docs/contrast-report.md +91 -103
- package/docs/conventions.md +12 -9
- package/docs/decisions.md +33 -10
- package/docs/deploy.md +1 -1
- package/docs/design-styles.md +26 -8
- package/docs/figma.md +3 -3
- package/docs/live-hub.md +5 -3
- package/docs/products.md +13 -11
- package/docs/quality-gates.md +35 -21
- package/docs/release-notes.md +13 -3
- package/docs/status/assets/favicon.svg +5 -0
- package/docs/status/assets/status-legacy.css +399 -0
- package/docs/status/assets/status-legacy.js +505 -0
- package/docs/status/assets/status.css +644 -0
- package/docs/status/assets/status.js +1308 -0
- package/docs/status/data/status-feed.json +1 -0
- package/docs/status/data/task/TASK-REL-001.js +1 -0
- package/docs/status/index.html +45 -0
- package/docs/status/roadmap.html +4 -0
- package/docs/status/status-legacy.html +121 -0
- package/docs/storybook.md +5 -4
- package/docs/sync.md +3 -2
- package/docs/tasks/BACKLOG.md +25 -0
- package/docs/tasks/release/TASK-REL-001-launch-1-1-0/spec.md +55 -0
- package/docs/template-schema-v2.md +15 -3
- package/docs/vi/benchmark-rubric.md +46 -0
- package/docs/vi/ci-cd.md +17 -11
- package/docs/vi/consumer-grant.md +37 -0
- package/docs/vi/consuming.md +45 -16
- package/docs/vi/contrast-report.md +94 -106
- package/docs/vi/conventions.md +12 -9
- package/docs/vi/decisions.md +33 -10
- package/docs/vi/deploy.md +1 -1
- package/docs/vi/design-styles.md +26 -8
- package/docs/vi/figma.md +3 -3
- package/docs/vi/live-hub.md +5 -3
- package/docs/vi/products.md +13 -11
- package/docs/vi/quality-gates.md +35 -21
- package/docs/vi/release-notes.md +18 -8
- package/docs/vi/storybook.md +5 -4
- package/docs/vi/sync.md +3 -2
- package/docs/vi/template-schema-v2.md +15 -3
- package/docs/viewer.html +2 -2
- package/fonts/spacegrotesk-var-latin-ext.woff2 +0 -0
- package/fonts/spacegrotesk-var-latin.woff2 +0 -0
- package/fonts/spacegrotesk-var-vietnamese.woff2 +0 -0
- package/guidelines/atomic-view.html +40 -27
- package/guidelines/elements-geometry.html +69 -0
- package/guidelines/elements-variants.html +17 -17
- package/guidelines/type-families.html +16 -10
- package/llms.txt +17 -11
- package/package.json +38 -16
- package/styles.css +1 -0
- package/templates/ai-cluster-demo.html +29 -14
- package/templates/app-shell/support.js +4 -4
- package/templates/article/content-schema.json +6 -0
- package/templates/article/support.js +4 -4
- package/templates/auth/support.js +4 -4
- package/templates/bod-deck/support.js +4 -4
- package/templates/bod-investor-update/support.js +4 -4
- package/templates/bod-memo/support.js +4 -4
- package/templates/bod-minutes/content-schema.json +12 -0
- package/templates/bod-minutes/support.js +4 -4
- package/templates/bod-report/support.js +4 -4
- package/templates/bod-resolution/support.js +4 -4
- package/templates/culture-event-invite/support.js +4 -4
- package/templates/dashboard/support.js +4 -4
- package/templates/delivery-change-note/support.js +4 -4
- package/templates/delivery-kickoff/support.js +4 -4
- package/templates/delivery-qbr-deck/support.js +4 -4
- package/templates/delivery-runbook/content-schema.json +6 -0
- package/templates/delivery-runbook/support.js +4 -4
- package/templates/delivery-status-email/support.js +4 -4
- package/templates/doc-style-guide/DocStyleGuide.dc.html +2 -2
- package/templates/doc-style-guide/support.js +4 -4
- package/templates/doc-suite-index/support.js +4 -4
- package/templates/doc-templates/DocTemplates.dc.html +1 -1
- package/templates/doc-templates/support.js +4 -4
- package/templates/email/support.js +4 -4
- package/templates/email-safe/README.md +17 -4
- package/templates/email-safe/email-launch.html +3 -3
- package/templates/email-safe/email-newsletter.html +1 -1
- package/templates/finance-dunning-email/support.js +4 -4
- package/templates/finance-expense-report/support.js +4 -4
- package/templates/finance-invoice/support.js +4 -4
- package/templates/finance-quote/support.js +4 -4
- package/templates/hr-announcement/support.js +4 -4
- package/templates/hr-interview-kit/content-schema.json +12 -0
- package/templates/hr-interview-kit/support.js +4 -4
- package/templates/hr-offboarding/content-schema.json +12 -0
- package/templates/hr-offboarding/support.js +4 -4
- package/templates/hr-performance-review/content-schema.json +12 -0
- package/templates/hr-performance-review/support.js +4 -4
- package/templates/hr-pip/content-schema.json +12 -0
- package/templates/hr-pip/support.js +4 -4
- package/templates/legal-msa/content-schema.json +16 -0
- package/templates/legal-msa/support.js +4 -4
- package/templates/legal-sow/support.js +4 -4
- package/templates/marketing-campaign-brief/support.js +4 -4
- package/templates/marketing-case-study/support.js +4 -4
- package/templates/marketing-launch/support.js +4 -4
- package/templates/marketing-newsletter/support.js +4 -4
- package/templates/marketing-page/content-schema.json +0 -1
- package/templates/marketing-page/support.js +4 -4
- package/templates/marketing-press-release/support.js +4 -4
- package/templates/marketing-social-kit/support.js +4 -4
- package/templates/playground.html +8 -4
- package/templates/sales-one-pager/support.js +4 -4
- package/templates/sales-proposal-deck/support.js +4 -4
- package/templates/settings/Settings.dc.html +26 -14
- package/templates/settings/content-schema.json +36 -0
- package/templates/settings/support.js +4 -4
- package/templates/slide-deck/support.js +4 -4
- package/templates/team-meeting-agenda/content-schema.json +16 -0
- package/templates/team-meeting-agenda/support.js +4 -4
- package/templates/tech-incident-report/support.js +4 -4
- package/templates/tech-release-notes/support.js +4 -4
- package/templates/tech-retro/content-schema.json +12 -0
- package/templates/tech-retro/support.js +4 -4
- package/templates/tech-rfc/content-schema.json +6 -0
- package/templates/tech-rfc/support.js +4 -4
- package/templates/vn-appointment-transfer/support.js +4 -4
- package/templates/vn-certificate-of-employment/support.js +4 -4
- package/templates/vn-code-of-conduct/support.js +4 -4
- package/templates/vn-compensation-regulation/support.js +4 -4
- package/templates/vn-contract-amendment/support.js +4 -4
- package/templates/vn-contractor-agreement/support.js +4 -4
- package/templates/vn-data-protection-policy/support.js +4 -4
- package/templates/vn-disciplinary-case-file/support.js +4 -4
- package/templates/vn-disciplinary-schedule/content-schema.json +15 -0
- package/templates/vn-disciplinary-schedule/support.js +4 -4
- package/templates/vn-employee-request/support.js +4 -4
- package/templates/vn-exit-handover/support.js +4 -4
- package/templates/vn-foreign-employee-pack/support.js +4 -4
- package/templates/vn-grassroots-democracy/support.js +4 -4
- package/templates/vn-infosec-policy/support.js +4 -4
- package/templates/vn-internal-labor-regulations/support.js +4 -4
- package/templates/vn-internship-agreement/support.js +4 -4
- package/templates/vn-job-description/support.js +4 -4
- package/templates/vn-labor-contract/support.js +4 -4
- package/templates/vn-labour-management-book/content-schema.json +15 -0
- package/templates/vn-labour-management-book/support.js +4 -4
- package/templates/vn-mutual-nda/support.js +4 -4
- package/templates/vn-ndnca-ip/support.js +4 -4
- package/templates/vn-offer-letter/support.js +4 -4
- package/templates/vn-onboarding-checklist/support.js +4 -4
- package/templates/vn-pdpl-consent/support.js +4 -4
- package/templates/vn-performance-evaluation-regulation/support.js +4 -4
- package/templates/vn-performance-review-form/support.js +4 -4
- package/templates/vn-phantom-stock/support.js +4 -4
- package/templates/vn-probation-contract/support.js +4 -4
- package/templates/vn-receipt-acknowledgement/content-schema.json +15 -0
- package/templates/vn-receipt-acknowledgement/support.js +4 -4
- package/templates/vn-remote-work-policy/support.js +4 -4
- package/templates/vn-resignation-letter/support.js +4 -4
- package/templates/vn-salary-scale/content-schema.json +15 -0
- package/templates/vn-salary-scale/support.js +4 -4
- package/templates/vn-sow-appendix/support.js +4 -4
- package/templates/vn-termination-decision/support.js +4 -4
- package/templates/vn-total-rewards-appendix/support.js +4 -4
- package/templates/vn-training-commitment/support.js +4 -4
- package/templates/vn-travel-expense-policy/support.js +4 -4
- package/tokens/element-seeds.json +112 -0
- package/tokens/elements.css +274 -187
- package/tokens/fonts.css +12 -3
- package/tokens/native/CSTokens.kt +84 -68
- package/tokens/native/CSTokens.swift +84 -68
- package/tokens/native/cs_tokens.dart +84 -68
- package/tokens/provenance.json +9 -9
- package/tokens/styles.css +15 -0
- package/tokens/tokens.dtcg.json +258 -233
- package/tokens/tokens.js +168 -167
- package/tokens/tokens.json +167 -166
- package/tokens/typography.css +9 -1
- package/ui_kits/status-hub/README.md +1 -2
- package/ui_kits/status-hub/index.html +2 -2
- package/ui_kits/status-hub/settings.html +6 -3
- package/ui_kits/website/chat.html +2 -2
- package/ui_kits/website/index.html +2 -2
- package/ui_kits/status-hub/identity-lab.html +0 -134
package/tokens/elements.css
CHANGED
|
@@ -1,48 +1,29 @@
|
|
|
1
1
|
/* CyberSkill — Ngũ Hành elemental identity (the L1 product layer).
|
|
2
|
+
* GENERATED from tokens/element-seeds.json by scripts/generate-element-packs.mjs
|
|
3
|
+
* DO NOT HAND-EDIT pack values — change seeds and re-run the generator.
|
|
4
|
+
*
|
|
2
5
|
* Five elements: Kim (metal) · Mộc (wood) · Thủy (water) · Hỏa (fire) · Thổ (earth).
|
|
3
|
-
*
|
|
4
|
-
* page without an element scope looks exactly as before.
|
|
6
|
+
* Soft / middle / deep intensity ladder (middle = default). Thổ middle pins logo ochre.
|
|
5
7
|
*
|
|
6
8
|
* Contract — every element/variant sets exactly these 9 role tokens:
|
|
7
|
-
* --cs-accent
|
|
8
|
-
* --cs-accent-
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* --cs-accent-ink element-tinted near-black (dark surfaces)
|
|
13
|
-
* --cs-accent-glow aurora / glow rgba
|
|
14
|
-
* --cs-accent-grad-a/b wash gradient endpoints (b follows Tương sinh)
|
|
15
|
-
* Aurora washes ride on the .cs-aurora-wash class (bottom of this file) —
|
|
16
|
-
* relative url() cannot pass through a custom property (it re-resolves
|
|
17
|
-
* against each consuming DOCUMENT, not this stylesheet).
|
|
18
|
-
*
|
|
19
|
-
* Scope with data-cs-element="kim|moc|thuy|hoa|tho" (+ data-cs-variant).
|
|
20
|
-
* TEXT RULE: text sits on -bright or -tint only — never on the mid-tone -accent
|
|
21
|
-
* (-accent is for bars, borders, progress fills, and large non-text fills).
|
|
22
|
-
* Rules: semantic status tokens NEVER remap. --cs-color-accent-ochre (the 3px
|
|
23
|
-
* focus ring) is NEVER remapped — the Ochre ring is a studio-wide
|
|
24
|
-
* accessibility signature. One element per surface; a secondary element may
|
|
25
|
-
* appear only as a gradient endpoint, and only along the generative cycle
|
|
26
|
-
* (Mộc→Hỏa→Thổ→Kim→Thủy→Mộc). Overcoming (Tương khắc) pairs never mix. */
|
|
9
|
+
* --cs-accent · --cs-accent-strong · --cs-accent-bright · --cs-accent-on
|
|
10
|
+
* --cs-accent-tint · --cs-accent-ink · --cs-accent-glow · --cs-accent-grad-a/b
|
|
11
|
+
* TEXT RULE: text sits on -bright or -tint only — never on the mid-tone -accent.
|
|
12
|
+
* Focus ring --cs-color-accent-ochre and semantic status tokens NEVER remap.
|
|
13
|
+
* Generative cycle (Tương sinh) only for grad-b: Mộc→Hỏa→Thổ→Kim→Thủy→Mộc. */
|
|
27
14
|
:root {
|
|
28
15
|
--cs-accent: #F4BA17;
|
|
29
|
-
--cs-accent-strong: #
|
|
16
|
+
--cs-accent-strong: #A47D17;
|
|
30
17
|
--cs-accent-bright: #F4BA17;
|
|
31
18
|
--cs-accent-on: #45210E;
|
|
32
19
|
--cs-accent-tint: #FBF4E9;
|
|
33
20
|
--cs-accent-ink: #45210E;
|
|
34
|
-
--cs-accent-glow: rgba(244, 186, 23, 0.
|
|
21
|
+
--cs-accent-glow: rgba(244, 186, 23, 0.48);
|
|
35
22
|
--cs-accent-grad-a: #F4BA17;
|
|
36
|
-
--cs-accent-grad-b: #
|
|
23
|
+
--cs-accent-grad-b: #FCAF91;
|
|
37
24
|
}
|
|
38
25
|
|
|
39
|
-
/* ---- Element reach beyond accent
|
|
40
|
-
* Owner concern: switching Element barely changed the page because elements only
|
|
41
|
-
* remapped the 9 ACCENT tokens (a small % of pixels). Now every element scope also
|
|
42
|
-
* washes page + panel + raised surfaces + borders with its own accent, so the WHOLE
|
|
43
|
-
* surface reads as the element. Per-theme literal bases keep each elevation tier's
|
|
44
|
-
* hierarchy and contrast intact (tints capped low: text still sits ≥AA on every
|
|
45
|
-
* surface). Pages with NO element attribute are untouched (default Thổ look). */
|
|
26
|
+
/* ---- Element reach beyond accent ---- */
|
|
46
27
|
[data-cs-element] {
|
|
47
28
|
--cs-color-surface-panel: color-mix(in oklab, var(--cs-accent) 4%, #FFFFFF);
|
|
48
29
|
--cs-color-surface-page: color-mix(in oklab, var(--cs-accent) 8%, #FFFDF8);
|
|
@@ -64,107 +45,210 @@
|
|
|
64
45
|
}
|
|
65
46
|
}
|
|
66
47
|
|
|
67
|
-
/* ---- Thổ · Earth —
|
|
48
|
+
/* ---- Thổ · Earth — soft / middle / deep ---- */
|
|
68
49
|
[data-cs-element="tho"] {
|
|
69
|
-
--cs-accent: #F4BA17;
|
|
70
|
-
--cs-accent-
|
|
71
|
-
--cs-accent-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
--cs-accent
|
|
75
|
-
--cs-accent-
|
|
76
|
-
--cs-accent-
|
|
77
|
-
--cs-
|
|
50
|
+
--cs-accent: #F4BA17;
|
|
51
|
+
--cs-accent-strong: #A47D17;
|
|
52
|
+
--cs-accent-bright: #F4BA17;
|
|
53
|
+
--cs-accent-on: #45210E;
|
|
54
|
+
--cs-accent-tint: #FBF4E9;
|
|
55
|
+
--cs-accent-ink: #45210E;
|
|
56
|
+
--cs-accent-glow: rgba(244, 186, 23, 0.48);
|
|
57
|
+
--cs-accent-grad-a: #F4BA17;
|
|
58
|
+
--cs-accent-grad-b: #FCAF91;
|
|
78
59
|
}
|
|
79
60
|
[data-cs-element="tho"][data-cs-variant="sand"] {
|
|
80
|
-
--cs-accent: #
|
|
81
|
-
--cs-accent-
|
|
82
|
-
--cs-accent-
|
|
83
|
-
--cs-
|
|
61
|
+
--cs-accent: #F8E9C0;
|
|
62
|
+
--cs-accent-strong: #90825E;
|
|
63
|
+
--cs-accent-bright: #F6EBCC;
|
|
64
|
+
--cs-accent-on: #292414;
|
|
65
|
+
--cs-accent-tint: #FBF7EA;
|
|
66
|
+
--cs-accent-ink: #292414;
|
|
67
|
+
--cs-accent-glow: rgba(248, 233, 192, 0.48);
|
|
68
|
+
--cs-accent-grad-a: #F8E9C0;
|
|
69
|
+
--cs-accent-grad-b: #FCAF91;
|
|
70
|
+
--cs-color-text-accent: #90825E;
|
|
71
|
+
--cs-color-link: #90825E;
|
|
72
|
+
}
|
|
73
|
+
[data-cs-element="tho"][data-cs-variant="clay"] {
|
|
74
|
+
--cs-accent: #513801;
|
|
75
|
+
--cs-accent-strong: #201300;
|
|
76
|
+
--cs-accent-bright: #DEC7A2;
|
|
77
|
+
--cs-accent-on: #2D220E;
|
|
78
|
+
--cs-accent-tint: #FFF6E7;
|
|
79
|
+
--cs-accent-ink: #2D220E;
|
|
80
|
+
--cs-accent-glow: rgba(81, 56, 1, 0.48);
|
|
81
|
+
--cs-accent-grad-a: #513801;
|
|
82
|
+
--cs-accent-grad-b: #FCAF91;
|
|
83
|
+
--cs-color-text-accent: #201300;
|
|
84
|
+
--cs-color-link: #201300;
|
|
84
85
|
}
|
|
85
86
|
|
|
86
|
-
/* ---- Hỏa · Fire —
|
|
87
|
+
/* ---- Hỏa · Fire — soft / middle / deep ---- */
|
|
87
88
|
[data-cs-element="hoa"] {
|
|
88
|
-
--cs-accent: #
|
|
89
|
-
--cs-accent-
|
|
90
|
-
--cs-accent-
|
|
91
|
-
--cs-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
--cs-accent:
|
|
95
|
-
--cs-accent-
|
|
96
|
-
--cs-accent-
|
|
97
|
-
--cs-color-text-accent: #
|
|
89
|
+
--cs-accent: #FCAF91;
|
|
90
|
+
--cs-accent-strong: #B47054;
|
|
91
|
+
--cs-accent-bright: #FED3C3;
|
|
92
|
+
--cs-accent-on: #381B10;
|
|
93
|
+
--cs-accent-tint: #FFF4F0;
|
|
94
|
+
--cs-accent-ink: #381B10;
|
|
95
|
+
--cs-accent-glow: rgba(252, 175, 145, 0.48);
|
|
96
|
+
--cs-accent-grad-a: #FCAF91;
|
|
97
|
+
--cs-accent-grad-b: #F4BA17;
|
|
98
|
+
--cs-color-text-accent: #B47054;
|
|
99
|
+
--cs-color-link: #B47054;
|
|
98
100
|
}
|
|
99
101
|
[data-cs-element="hoa"][data-cs-variant="plasma"] {
|
|
100
|
-
--cs-accent: #
|
|
101
|
-
--cs-accent-
|
|
102
|
-
--cs-accent-
|
|
103
|
-
--cs-
|
|
102
|
+
--cs-accent: #FFE1D8;
|
|
103
|
+
--cs-accent-strong: #967C75;
|
|
104
|
+
--cs-accent-bright: #FCE6DF;
|
|
105
|
+
--cs-accent-on: #2C211E;
|
|
106
|
+
--cs-accent-tint: #FEF4F2;
|
|
107
|
+
--cs-accent-ink: #2C211E;
|
|
108
|
+
--cs-accent-glow: rgba(255, 225, 216, 0.48);
|
|
109
|
+
--cs-accent-grad-a: #FFE1D8;
|
|
110
|
+
--cs-accent-grad-b: #F4BA17;
|
|
111
|
+
--cs-color-text-accent: #967C75;
|
|
112
|
+
--cs-color-link: #967C75;
|
|
113
|
+
}
|
|
114
|
+
[data-cs-element="hoa"][data-cs-variant="lava"] {
|
|
115
|
+
--cs-accent: #622B06;
|
|
116
|
+
--cs-accent-strong: #280D00;
|
|
117
|
+
--cs-accent-bright: #F1BEA4;
|
|
118
|
+
--cs-accent-on: #361D0F;
|
|
119
|
+
--cs-accent-tint: #FFF4EF;
|
|
120
|
+
--cs-accent-ink: #361D0F;
|
|
121
|
+
--cs-accent-glow: rgba(98, 43, 6, 0.48);
|
|
122
|
+
--cs-accent-grad-a: #622B06;
|
|
123
|
+
--cs-accent-grad-b: #F4BA17;
|
|
124
|
+
--cs-color-text-accent: #280D00;
|
|
125
|
+
--cs-color-link: #280D00;
|
|
104
126
|
}
|
|
105
127
|
|
|
106
|
-
/* ---- Thủy · Water —
|
|
128
|
+
/* ---- Thủy · Water — soft / middle / deep ---- */
|
|
107
129
|
[data-cs-element="thuy"] {
|
|
108
|
-
--cs-accent: #
|
|
109
|
-
--cs-accent-
|
|
110
|
-
--cs-accent-
|
|
111
|
-
--cs-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
--cs-accent:
|
|
115
|
-
--cs-accent-
|
|
116
|
-
--cs-accent-
|
|
117
|
-
--cs-color-text-accent: #
|
|
130
|
+
--cs-accent: #2EDBF7;
|
|
131
|
+
--cs-accent-strong: #108EA0;
|
|
132
|
+
--cs-accent-bright: #99EEFF;
|
|
133
|
+
--cs-accent-on: #012A30;
|
|
134
|
+
--cs-accent-tint: #E7FBFF;
|
|
135
|
+
--cs-accent-ink: #012A30;
|
|
136
|
+
--cs-accent-glow: rgba(46, 219, 247, 0.48);
|
|
137
|
+
--cs-accent-grad-a: #2EDBF7;
|
|
138
|
+
--cs-accent-grad-b: #A3D768;
|
|
139
|
+
--cs-color-text-accent: #108EA0;
|
|
140
|
+
--cs-color-link: #108EA0;
|
|
118
141
|
}
|
|
119
142
|
[data-cs-element="thuy"][data-cs-variant="mist"] {
|
|
120
|
-
--cs-accent: #
|
|
121
|
-
--cs-accent-
|
|
122
|
-
--cs-accent-
|
|
123
|
-
--cs-
|
|
143
|
+
--cs-accent: #C0F5FC;
|
|
144
|
+
--cs-accent-strong: #5A8A90;
|
|
145
|
+
--cs-accent-bright: #CDF4F9;
|
|
146
|
+
--cs-accent-on: #13282B;
|
|
147
|
+
--cs-accent-tint: #EBFAFC;
|
|
148
|
+
--cs-accent-ink: #13282B;
|
|
149
|
+
--cs-accent-glow: rgba(192, 245, 252, 0.48);
|
|
150
|
+
--cs-accent-grad-a: #C0F5FC;
|
|
151
|
+
--cs-accent-grad-b: #A3D768;
|
|
152
|
+
--cs-color-text-accent: #5A8A90;
|
|
153
|
+
--cs-color-link: #5A8A90;
|
|
154
|
+
}
|
|
155
|
+
[data-cs-element="thuy"][data-cs-variant="ocean"] {
|
|
156
|
+
--cs-accent: #004554;
|
|
157
|
+
--cs-accent-strong: #011A21;
|
|
158
|
+
--cs-accent-bright: #A8D3E0;
|
|
159
|
+
--cs-accent-on: #10282F;
|
|
160
|
+
--cs-accent-tint: #EAFAFF;
|
|
161
|
+
--cs-accent-ink: #10282F;
|
|
162
|
+
--cs-accent-glow: rgba(0, 69, 84, 0.48);
|
|
163
|
+
--cs-accent-grad-a: #004554;
|
|
164
|
+
--cs-accent-grad-b: #A3D768;
|
|
165
|
+
--cs-color-text-accent: #011A21;
|
|
166
|
+
--cs-color-link: #011A21;
|
|
124
167
|
}
|
|
125
168
|
|
|
126
|
-
/* ---- Mộc · Wood —
|
|
169
|
+
/* ---- Mộc · Wood — soft / middle / deep ---- */
|
|
127
170
|
[data-cs-element="moc"] {
|
|
128
|
-
--cs-accent: #
|
|
129
|
-
--cs-accent-
|
|
130
|
-
--cs-accent-
|
|
131
|
-
--cs-
|
|
171
|
+
--cs-accent: #A3D768;
|
|
172
|
+
--cs-accent-strong: #629122;
|
|
173
|
+
--cs-accent-bright: #C5ED9C;
|
|
174
|
+
--cs-accent-on: #182A00;
|
|
175
|
+
--cs-accent-tint: #EFFCE3;
|
|
176
|
+
--cs-accent-ink: #182A00;
|
|
177
|
+
--cs-accent-glow: rgba(163, 215, 104, 0.48);
|
|
178
|
+
--cs-accent-grad-a: #A3D768;
|
|
179
|
+
--cs-accent-grad-b: #FCAF91;
|
|
180
|
+
--cs-color-text-accent: #629122;
|
|
181
|
+
--cs-color-link: #629122;
|
|
132
182
|
}
|
|
133
183
|
[data-cs-element="moc"][data-cs-variant="bamboo"] {
|
|
134
|
-
--cs-accent: #
|
|
135
|
-
--cs-accent-
|
|
136
|
-
--cs-accent-
|
|
137
|
-
--cs-
|
|
184
|
+
--cs-accent: #E1F1C8;
|
|
185
|
+
--cs-accent-strong: #7C8965;
|
|
186
|
+
--cs-accent-bright: #E5F1D2;
|
|
187
|
+
--cs-accent-on: #212617;
|
|
188
|
+
--cs-accent-tint: #F4F9ED;
|
|
189
|
+
--cs-accent-ink: #212617;
|
|
190
|
+
--cs-accent-glow: rgba(225, 241, 200, 0.48);
|
|
191
|
+
--cs-accent-grad-a: #E1F1C8;
|
|
192
|
+
--cs-accent-grad-b: #FCAF91;
|
|
193
|
+
--cs-color-text-accent: #7C8965;
|
|
194
|
+
--cs-color-link: #7C8965;
|
|
138
195
|
}
|
|
139
196
|
[data-cs-element="moc"][data-cs-variant="forest"] {
|
|
140
|
-
--cs-accent: #
|
|
141
|
-
--cs-accent-
|
|
142
|
-
--cs-accent-
|
|
143
|
-
--cs-
|
|
197
|
+
--cs-accent: #1A4A01;
|
|
198
|
+
--cs-accent-strong: #051D00;
|
|
199
|
+
--cs-accent-bright: #B0D8A3;
|
|
200
|
+
--cs-accent-on: #162A0E;
|
|
201
|
+
--cs-accent-tint: #ECFDE7;
|
|
202
|
+
--cs-accent-ink: #162A0E;
|
|
203
|
+
--cs-accent-glow: rgba(26, 74, 1, 0.48);
|
|
204
|
+
--cs-accent-grad-a: #1A4A01;
|
|
205
|
+
--cs-accent-grad-b: #FCAF91;
|
|
206
|
+
--cs-color-text-accent: #051D00;
|
|
207
|
+
--cs-color-link: #051D00;
|
|
144
208
|
}
|
|
145
209
|
|
|
146
|
-
/* ---- Kim · Metal —
|
|
210
|
+
/* ---- Kim · Metal — soft / middle / deep ---- */
|
|
147
211
|
[data-cs-element="kim"] {
|
|
148
|
-
--cs-accent: #
|
|
149
|
-
--cs-accent-
|
|
150
|
-
--cs-accent-
|
|
151
|
-
--cs-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
--cs-accent:
|
|
155
|
-
--cs-accent-
|
|
156
|
-
--cs-accent-
|
|
157
|
-
--cs-color-text-accent: #
|
|
212
|
+
--cs-accent: #F3B958;
|
|
213
|
+
--cs-accent-strong: #AC780B;
|
|
214
|
+
--cs-accent-bright: #FDD89F;
|
|
215
|
+
--cs-accent-on: #312002;
|
|
216
|
+
--cs-accent-tint: #FFF5E7;
|
|
217
|
+
--cs-accent-ink: #312002;
|
|
218
|
+
--cs-accent-glow: rgba(243, 185, 88, 0.48);
|
|
219
|
+
--cs-accent-grad-a: #F3B958;
|
|
220
|
+
--cs-accent-grad-b: #2EDBF7;
|
|
221
|
+
--cs-color-text-accent: #AC780B;
|
|
222
|
+
--cs-color-link: #AC780B;
|
|
158
223
|
}
|
|
159
224
|
[data-cs-element="kim"][data-cs-variant="titanium"] {
|
|
160
|
-
--cs-accent: #
|
|
161
|
-
--cs-accent-
|
|
162
|
-
--cs-accent-
|
|
163
|
-
--cs-
|
|
225
|
+
--cs-accent: #FEE5C7;
|
|
226
|
+
--cs-accent-strong: #947F65;
|
|
227
|
+
--cs-accent-bright: #FBE8D2;
|
|
228
|
+
--cs-accent-on: #2B2217;
|
|
229
|
+
--cs-accent-tint: #FDF5ED;
|
|
230
|
+
--cs-accent-ink: #2B2217;
|
|
231
|
+
--cs-accent-glow: rgba(254, 229, 199, 0.48);
|
|
232
|
+
--cs-accent-grad-a: #FEE5C7;
|
|
233
|
+
--cs-accent-grad-b: #2EDBF7;
|
|
234
|
+
--cs-color-text-accent: #947F65;
|
|
235
|
+
--cs-color-link: #947F65;
|
|
236
|
+
}
|
|
237
|
+
[data-cs-element="kim"][data-cs-variant="steel"] {
|
|
238
|
+
--cs-accent: #503901;
|
|
239
|
+
--cs-accent-strong: #1F1400;
|
|
240
|
+
--cs-accent-bright: #DCC8A2;
|
|
241
|
+
--cs-accent-on: #2D220E;
|
|
242
|
+
--cs-accent-tint: #FEF6E7;
|
|
243
|
+
--cs-accent-ink: #2D220E;
|
|
244
|
+
--cs-accent-glow: rgba(80, 57, 1, 0.48);
|
|
245
|
+
--cs-accent-grad-a: #503901;
|
|
246
|
+
--cs-accent-grad-b: #2EDBF7;
|
|
247
|
+
--cs-color-text-accent: #1F1400;
|
|
248
|
+
--cs-color-link: #1F1400;
|
|
164
249
|
}
|
|
165
250
|
|
|
166
|
-
/* ---- Dark theme
|
|
167
|
-
* (exactly as Ochre does in core dark). Thổ resolves to today's values. ---- */
|
|
251
|
+
/* ---- Dark theme CTA remaps inside element scopes ---- */
|
|
168
252
|
[data-theme="dark"] [data-cs-element], [data-cs-element][data-theme="dark"] {
|
|
169
253
|
--cs-component-button-primary-bg: var(--cs-accent-strong);
|
|
170
254
|
--cs-component-button-primary-fg: var(--cs-accent-on);
|
|
@@ -173,128 +257,131 @@
|
|
|
173
257
|
--cs-color-link-hover: var(--cs-color-text-primary);
|
|
174
258
|
}
|
|
175
259
|
|
|
176
|
-
/* ---- Aurora washes
|
|
177
|
-
* declaration so it resolves against THIS stylesheet, not the page). Overlay
|
|
178
|
-
* usage: <div class="cs-aurora-wash" style="position:absolute;inset:0;opacity:0.55"></div> ---- */
|
|
260
|
+
/* ---- Aurora washes ---- */
|
|
179
261
|
.cs-aurora-wash { background-image: url("../assets/aurora-gold.jpg"); background-size: cover; background-position: center; }
|
|
180
262
|
[data-cs-element="hoa"] .cs-aurora-wash { background-image: url("../assets/aurora-hoa.png"); }
|
|
181
263
|
[data-cs-element="thuy"] .cs-aurora-wash { background-image: url("../assets/aurora-thuy.png"); }
|
|
182
264
|
[data-cs-element="moc"] .cs-aurora-wash { background-image: url("../assets/aurora-moc.png"); }
|
|
183
265
|
[data-cs-element="kim"] .cs-aurora-wash { background-image: url("../assets/aurora-kim.png"); }
|
|
184
266
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
* this gate-checked pack. Themeable filled CTAs follow the same rule: `background:var(--cs-accent-strong);
|
|
195
|
-
* color:var(--cs-accent-on)` — never bright+on in dark (cream-on-bright fails WCAG). ---- */
|
|
267
|
+
/* ---- APCA-derived DARK elemental packs (generated; hue-locked to light) ---- */
|
|
268
|
+
[data-theme="dark"][data-cs-element="tho"][data-cs-variant="sand"] {
|
|
269
|
+
--cs-accent: #F8E9C0;
|
|
270
|
+
--cs-accent-bright: #F6EBCC;
|
|
271
|
+
--cs-accent-strong: #665A37;
|
|
272
|
+
--cs-accent-on: #f5ead9;
|
|
273
|
+
--cs-accent-tint: #332701;
|
|
274
|
+
--cs-accent-ink: #F6EBCC;
|
|
275
|
+
}
|
|
196
276
|
[data-theme="dark"][data-cs-element="tho"] {
|
|
277
|
+
--cs-accent: #F4BA17;
|
|
197
278
|
--cs-accent-bright: #FEC42C;
|
|
198
|
-
--cs-accent-strong: #
|
|
279
|
+
--cs-accent-strong: #73560B;
|
|
199
280
|
--cs-accent-on: #f5ead9;
|
|
200
|
-
--cs-accent-tint: #
|
|
201
|
-
--cs-accent-ink: #
|
|
281
|
+
--cs-accent-tint: #352602;
|
|
282
|
+
--cs-accent-ink: #FECD5E;
|
|
202
283
|
}
|
|
203
284
|
[data-theme="dark"][data-cs-element="tho"][data-cs-variant="clay"] {
|
|
204
|
-
--cs-accent: #
|
|
205
|
-
--cs-accent-bright: #
|
|
206
|
-
--cs-accent-strong: #
|
|
285
|
+
--cs-accent: #CDB07E;
|
|
286
|
+
--cs-accent-bright: #E4CDA8;
|
|
287
|
+
--cs-accent-strong: #1F1300;
|
|
207
288
|
--cs-accent-on: #f5ead9;
|
|
208
|
-
--cs-accent-tint: #
|
|
209
|
-
--cs-accent-ink: #
|
|
289
|
+
--cs-accent-tint: #372502;
|
|
290
|
+
--cs-accent-ink: #E7D0AB;
|
|
210
291
|
}
|
|
211
|
-
[data-theme="dark"][data-cs-element="
|
|
212
|
-
--cs-accent
|
|
292
|
+
[data-theme="dark"][data-cs-element="hoa"][data-cs-variant="plasma"] {
|
|
293
|
+
--cs-accent: #FFE1D8;
|
|
294
|
+
--cs-accent-bright: #FCE6DF;
|
|
295
|
+
--cs-accent-strong: #6F5750;
|
|
213
296
|
--cs-accent-on: #f5ead9;
|
|
214
|
-
--cs-accent-tint: #
|
|
215
|
-
--cs-accent-ink: #
|
|
297
|
+
--cs-accent-tint: #38231C;
|
|
298
|
+
--cs-accent-ink: #FCE6DF;
|
|
216
299
|
}
|
|
217
300
|
[data-theme="dark"][data-cs-element="hoa"] {
|
|
218
|
-
--cs-accent: #
|
|
219
|
-
--cs-accent-bright: #
|
|
220
|
-
--cs-accent-strong: #
|
|
301
|
+
--cs-accent: #FCAF91;
|
|
302
|
+
--cs-accent-bright: #FED3C3;
|
|
303
|
+
--cs-accent-strong: #8A4A30;
|
|
221
304
|
--cs-accent-on: #f5ead9;
|
|
222
|
-
--cs-accent-tint: #
|
|
223
|
-
--cs-accent-ink: #
|
|
305
|
+
--cs-accent-tint: #411E0F;
|
|
306
|
+
--cs-accent-ink: #FED3C3;
|
|
224
307
|
}
|
|
225
308
|
[data-theme="dark"][data-cs-element="hoa"][data-cs-variant="lava"] {
|
|
226
|
-
--cs-accent: #
|
|
227
|
-
--cs-accent-bright: #
|
|
309
|
+
--cs-accent: #E8A683;
|
|
310
|
+
--cs-accent-bright: #F8C4AA;
|
|
311
|
+
--cs-accent-strong: #280D00;
|
|
228
312
|
--cs-accent-on: #f5ead9;
|
|
229
|
-
--cs-accent-tint: #
|
|
230
|
-
--cs-accent-ink: #
|
|
313
|
+
--cs-accent-tint: #401F0B;
|
|
314
|
+
--cs-accent-ink: #FBC7AD;
|
|
231
315
|
}
|
|
232
|
-
[data-theme="dark"][data-cs-element="
|
|
233
|
-
--cs-accent: #
|
|
234
|
-
--cs-accent-bright: #
|
|
235
|
-
--cs-accent-strong: #
|
|
316
|
+
[data-theme="dark"][data-cs-element="thuy"][data-cs-variant="mist"] {
|
|
317
|
+
--cs-accent: #C0F5FC;
|
|
318
|
+
--cs-accent-bright: #CDF4F9;
|
|
319
|
+
--cs-accent-strong: #316167;
|
|
236
320
|
--cs-accent-on: #f5ead9;
|
|
237
|
-
--cs-accent-tint: #
|
|
238
|
-
--cs-accent-ink: #
|
|
321
|
+
--cs-accent-tint: #022F34;
|
|
322
|
+
--cs-accent-ink: #CDF4F9;
|
|
239
323
|
}
|
|
240
324
|
[data-theme="dark"][data-cs-element="thuy"] {
|
|
241
|
-
--cs-accent: #
|
|
242
|
-
--cs-accent-bright: #
|
|
325
|
+
--cs-accent: #2EDBF7;
|
|
326
|
+
--cs-accent-bright: #99EEFF;
|
|
327
|
+
--cs-accent-strong: #046270;
|
|
243
328
|
--cs-accent-on: #f5ead9;
|
|
244
|
-
--cs-accent-tint: #
|
|
245
|
-
--cs-accent-ink: #
|
|
329
|
+
--cs-accent-tint: #032F36;
|
|
330
|
+
--cs-accent-ink: #99EEFF;
|
|
246
331
|
}
|
|
247
332
|
[data-theme="dark"][data-cs-element="thuy"][data-cs-variant="ocean"] {
|
|
248
|
-
--cs-accent: #
|
|
249
|
-
--cs-accent-bright: #
|
|
333
|
+
--cs-accent: #82BCCD;
|
|
334
|
+
--cs-accent-bright: #ABD6E3;
|
|
335
|
+
--cs-accent-strong: #011A21;
|
|
250
336
|
--cs-accent-on: #f5ead9;
|
|
251
|
-
--cs-accent-tint: #
|
|
252
|
-
--cs-accent-ink: #
|
|
337
|
+
--cs-accent-tint: #002F3A;
|
|
338
|
+
--cs-accent-ink: #AED9E6;
|
|
253
339
|
}
|
|
254
|
-
[data-theme="dark"][data-cs-element="
|
|
255
|
-
--cs-accent
|
|
340
|
+
[data-theme="dark"][data-cs-element="moc"][data-cs-variant="bamboo"] {
|
|
341
|
+
--cs-accent: #E1F1C8;
|
|
342
|
+
--cs-accent-bright: #E5F1D2;
|
|
343
|
+
--cs-accent-strong: #54603E;
|
|
256
344
|
--cs-accent-on: #f5ead9;
|
|
257
|
-
--cs-accent-tint: #
|
|
258
|
-
--cs-accent-ink: #
|
|
345
|
+
--cs-accent-tint: #232D0B;
|
|
346
|
+
--cs-accent-ink: #E5F1D2;
|
|
259
347
|
}
|
|
260
348
|
[data-theme="dark"][data-cs-element="moc"] {
|
|
261
|
-
--cs-accent: #
|
|
262
|
-
--cs-accent-bright: #
|
|
263
|
-
--cs-accent-strong: #
|
|
349
|
+
--cs-accent: #A3D768;
|
|
350
|
+
--cs-accent-bright: #C5ED9C;
|
|
351
|
+
--cs-accent-strong: #416501;
|
|
264
352
|
--cs-accent-on: #f5ead9;
|
|
265
|
-
--cs-accent-tint: #
|
|
266
|
-
--cs-accent-ink: #
|
|
353
|
+
--cs-accent-tint: #1F2E0B;
|
|
354
|
+
--cs-accent-ink: #C5ED9C;
|
|
267
355
|
}
|
|
268
|
-
[data-theme="dark"][data-cs-element="moc"][data-cs-variant="
|
|
269
|
-
--cs-accent
|
|
356
|
+
[data-theme="dark"][data-cs-element="moc"][data-cs-variant="forest"] {
|
|
357
|
+
--cs-accent: #8EC27D;
|
|
358
|
+
--cs-accent-bright: #B0D8A3;
|
|
359
|
+
--cs-accent-strong: #061D00;
|
|
270
360
|
--cs-accent-on: #f5ead9;
|
|
271
|
-
--cs-accent-tint: #
|
|
272
|
-
--cs-accent-ink: #
|
|
361
|
+
--cs-accent-tint: #193011;
|
|
362
|
+
--cs-accent-ink: #B6DFA9;
|
|
273
363
|
}
|
|
274
|
-
[data-theme="dark"][data-cs-element="
|
|
275
|
-
--cs-accent: #
|
|
276
|
-
--cs-accent-bright: #
|
|
364
|
+
[data-theme="dark"][data-cs-element="kim"][data-cs-variant="titanium"] {
|
|
365
|
+
--cs-accent: #FEE5C7;
|
|
366
|
+
--cs-accent-bright: #FBE8D2;
|
|
367
|
+
--cs-accent-strong: #6B573E;
|
|
277
368
|
--cs-accent-on: #f5ead9;
|
|
278
|
-
--cs-accent-tint: #
|
|
279
|
-
--cs-accent-ink: #
|
|
369
|
+
--cs-accent-tint: #37250B;
|
|
370
|
+
--cs-accent-ink: #FBE8D2;
|
|
280
371
|
}
|
|
281
372
|
[data-theme="dark"][data-cs-element="kim"] {
|
|
282
|
-
--cs-accent
|
|
373
|
+
--cs-accent: #F3B958;
|
|
374
|
+
--cs-accent-bright: #FDD89F;
|
|
375
|
+
--cs-accent-strong: #795303;
|
|
283
376
|
--cs-accent-on: #f5ead9;
|
|
284
|
-
--cs-accent-tint: #
|
|
285
|
-
--cs-accent-ink: #
|
|
377
|
+
--cs-accent-tint: #382503;
|
|
378
|
+
--cs-accent-ink: #FDD89F;
|
|
286
379
|
}
|
|
287
380
|
[data-theme="dark"][data-cs-element="kim"][data-cs-variant="steel"] {
|
|
288
|
-
--cs-accent: #
|
|
289
|
-
--cs-accent-bright: #
|
|
290
|
-
--cs-accent-strong: #
|
|
291
|
-
--cs-accent-on: #f5ead9;
|
|
292
|
-
--cs-accent-tint: #222525;
|
|
293
|
-
--cs-accent-ink: #CFD3D3;
|
|
294
|
-
}
|
|
295
|
-
[data-theme="dark"][data-cs-element="kim"][data-cs-variant="titanium"] {
|
|
296
|
-
--cs-accent: #BFB3A5;
|
|
381
|
+
--cs-accent: #CCB17E;
|
|
382
|
+
--cs-accent-bright: #DFCBA5;
|
|
383
|
+
--cs-accent-strong: #1F1400;
|
|
297
384
|
--cs-accent-on: #f5ead9;
|
|
298
|
-
--cs-accent-tint: #
|
|
299
|
-
--cs-accent-ink: #
|
|
385
|
+
--cs-accent-tint: #362602;
|
|
386
|
+
--cs-accent-ink: #E6D1AB;
|
|
300
387
|
}
|
package/tokens/fonts.css
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* CyberSkill — self-hosted webfonts.
|
|
2
|
-
* Be Vietnam Pro (UI
|
|
3
|
-
* 400/500/700)
|
|
4
|
-
*
|
|
2
|
+
* Be Vietnam Pro (UI, 300-800 + italics), JetBrains Mono (code/data,
|
|
3
|
+
* 400/500/700), and Space Grotesk (display/headline, variable 300-700) are
|
|
4
|
+
* self-hosted from fonts/ as subset-split woff2 (latin, latin-ext,
|
|
5
|
+
* vietnamese). Vietnamese subset coverage is a brand anchor.
|
|
5
6
|
* Files fetched from Google Fonts and committed locally; no CDN dependency. */
|
|
6
7
|
|
|
7
8
|
/* Be Vietnam Pro */
|
|
@@ -49,3 +50,11 @@
|
|
|
49
50
|
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
50
51
|
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
51
52
|
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/jetbrainsmono-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|
|
53
|
+
|
|
54
|
+
/* Space Grotesk — display / headline face (--cs-font-family-display).
|
|
55
|
+
* One variable file per subset covers the whole 300-700 axis; the family has no
|
|
56
|
+
* 800, so --cs-heading-weight-strong (800) under .cs-display-face clamps to 700
|
|
57
|
+
* within Space Grotesk (see guidelines/type-families.html). */
|
|
58
|
+
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/spacegrotesk-var-vietnamese.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
|
|
59
|
+
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/spacegrotesk-var-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
|
|
60
|
+
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/spacegrotesk-var-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
|