@cyberskill/design 2.8.0 → 2.9.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 +7 -7
- package/README.md +14 -8
- package/SECURITY.md +4 -4
- package/SKILL.md +1 -1
- package/VERSION +1 -1
- package/_ds_bundle.js +2 -2
- package/_ds_bundle.js.map +1 -1
- package/_ds_manifest.json +210 -200
- package/_esm/cs.mjs +2 -2
- package/base/a11y.css +18 -2
- package/base/ai.css +2 -2
- package/base/collections.css +6 -3
- package/base/components.css +107 -20
- package/base/controls.css +55 -27
- package/base/data.css +17 -5
- package/base/feedback.css +8 -0
- package/base/forms.css +7 -4
- package/base/glass.css +95 -0
- package/base/navigation.css +9 -1
- package/base/responsive.css +9 -4
- package/components/contracts.json +202 -62
- package/components/css-index.json +145 -41
- package/components/data/data.card.html +1 -1
- package/components/prompt-api.json +2 -2
- package/components/release-compatibility.json +1 -1
- package/components/specifications.json +204 -64
- package/components/static-html-reference.json +20 -20
- package/dist/esm/build.json +1 -1
- package/dist/styles.css +385 -86
- package/dist/styles.min.css +1 -1
- package/docs/benchmark-rubric.md +1 -1
- package/docs/consuming.md +1 -1
- package/docs/contrast-report.md +8 -8
- package/docs/conventions.md +5 -5
- package/docs/decisions.md +2 -2
- package/docs/deploy.md +1 -1
- package/docs/design-styles.md +9 -8
- package/docs/doctrine.md +1 -1
- package/docs/four-axes.md +3 -3
- package/docs/quality-gates.md +3 -1
- package/docs/reference-catalog.json +52 -52
- package/docs/release-notes.md +18 -2
- package/docs/static-html-reference.md +18 -18
- package/docs/storybook.md +1 -1
- package/docs/template-inventory.json +35 -35
- package/docs/vi/benchmark-rubric.md +1 -1
- package/docs/vi/consuming.md +1 -1
- package/docs/vi/contrast-report.md +8 -8
- package/docs/vi/conventions.md +5 -5
- package/docs/vi/decisions.md +2 -2
- package/docs/vi/deploy.md +1 -1
- package/docs/vi/design-styles.md +9 -8
- package/docs/vi/doctrine.md +1 -1
- package/docs/vi/entrypoints/CONTRIBUTING.md +9 -2
- package/docs/vi/entrypoints/DESIGN.md +7 -7
- package/docs/vi/entrypoints/README.md +14 -8
- package/docs/vi/entrypoints/SKILL.md +1 -1
- package/docs/vi/entrypoints/llms.txt +1 -1
- package/docs/vi/four-axes.md +3 -3
- package/docs/vi/quality-gates.md +3 -1
- package/docs/vi/release-notes.md +18 -2
- package/docs/vi/static-html-reference.md +18 -18
- package/docs/vi/storybook.md +1 -1
- package/guidance/agent-contract.json +3 -3
- package/guidelines/atomic-view.html +7 -7
- package/guidelines/brand-imagery.html +1 -1
- package/guidelines/colors-surfaces.html +4 -4
- package/guidelines/colors-text.html +4 -4
- package/guidelines/elements-components.html +3 -3
- package/guidelines/elements-concept.html +1 -1
- package/guidelines/guideline-language.js +1 -1
- package/guidelines/motion.html +4 -4
- package/guidelines/responsive-bilingual.html +4 -4
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/styles/components/manifest.json +179 -139
- package/styles.layered.css +245 -59
- package/styles.layered.provenance.json +16 -16
- package/templates/_vendor/doc-export.js +8 -1
- package/templates/ai-cluster-demo.html +2 -2
- package/templates/app-shell/AppShell.dc.html +2 -2
- package/templates/bod-deck/BodDeck.dc.html +3 -3
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -1
- package/templates/dashboard/Dashboard.dc.html +2 -2
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +2 -2
- package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +1 -1
- package/templates/email/Email-VN-standalone.html +2 -2
- package/templates/email-safe/email-announcement.html +5 -5
- package/templates/email-safe/email-dunning.html +5 -5
- package/templates/email-safe/email-investor.html +5 -5
- package/templates/email-safe/email-launch.html +5 -5
- package/templates/email-safe/email-newsletter.html +6 -6
- package/templates/email-safe/email-status.html +5 -5
- package/templates/email-safe/email-transactional.html +5 -5
- package/templates/kitchen-sink.html +10 -6
- package/templates/marketing-newsletter/MarketingNewsletter.dc.html +4 -4
- package/templates/marketing-page/MarketingPage.dc.html +4 -2
- package/templates/playground.html +5 -4
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +5 -5
- package/tokens/colors.css +1 -1
- package/tokens/declarations.json +1851 -1355
- package/tokens/element-seeds.json +1 -1
- package/tokens/elements.css +40 -10
- package/tokens/elevation.css +2 -2
- package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/index.json +275 -275
- package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/native/CSModes.kt +129 -125
- package/tokens/native/CSModes.swift +129 -125
- package/tokens/native/CSTokens.kt +8 -8
- package/tokens/native/CSTokens.swift +8 -8
- package/tokens/native/cs_modes.dart +129 -125
- package/tokens/native/cs_tokens.dart +8 -8
- package/tokens/native/mode-provenance.json +11 -11
- package/tokens/provenance.json +6 -6
- package/tokens/styles.css +8 -4
- package/tokens/tokens.dtcg.json +26 -26
- package/tokens/tokens.js +12 -12
- package/tokens/tokens.json +11 -11
- package/tokens/variables.css +48 -15
- package/tokens/viewer.html +1 -0
- package/ui_kits/status-hub/login.html +3 -3
- package/ui_kits/status-hub/project.html +4 -6
- package/ui_kits/status-hub/settings.html +2 -3
- package/ui_kits/status-hub/status.css +24 -15
- package/ui_kits/website/careers.html +10 -17
- package/ui_kits/website/chat.html +14 -3
- package/ui_kits/website/site.css +21 -21
- package/ui_kits/website/work.html +4 -10
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"path": "tokens/colors.css",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "8156d4d2ae951e1939a522bf835c151e8e987c841d49129a0ebfaf8f20b8ca56"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"path": "tokens/typography.css",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"path": "tokens/elevation.css",
|
|
35
|
-
"sha256": "
|
|
35
|
+
"sha256": "2014355eac5748460932783ca3fa03bfd26bc2bb6d1a3144347792b4fdd8ee7b"
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"path": "tokens/motion.css",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"path": "tokens/elements.css",
|
|
47
|
-
"sha256": "
|
|
47
|
+
"sha256": "fdc5f1597d253fa8ad63f46fe26b4856060971d8c58ce1e1f8de2f745013ea2f"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"path": "tokens/styles.css",
|
|
51
|
-
"sha256": "
|
|
51
|
+
"sha256": "d0b582f5d054406280e44a6edd452deb329e0950d8ebca1106be14e583af7c7c"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"path": "tokens/theme-attributes.css",
|
|
@@ -64,35 +64,35 @@
|
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "base/components.css",
|
|
67
|
-
"sha256": "
|
|
67
|
+
"sha256": "77b6b6cd7df2ed9c65e531a6d3e9c869b173d85c2bd7a9657cc6731dc1139726"
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"path": "base/forms.css",
|
|
71
|
-
"sha256": "
|
|
71
|
+
"sha256": "5e380ff5a6ba6f0cbaa5bf0b8f1da3af6c6415a2451c86acfa430a0ced014052"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"path": "base/feedback.css",
|
|
75
|
-
"sha256": "
|
|
75
|
+
"sha256": "ba6e95a6316c9b65f6d279306a9e2f447874a06f709e2d5f62d3e62de3a0436d"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"path": "base/data.css",
|
|
79
|
-
"sha256": "
|
|
79
|
+
"sha256": "f910e6a023cd1444cb4b8288ca939c223311e8a2124e465e5f5aea254dfcf4f9"
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
"path": "base/navigation.css",
|
|
83
|
-
"sha256": "
|
|
83
|
+
"sha256": "48799ecc9eae03301003f05fd194194f49d210e65ce9d2ad721686dfd8c8dc7e"
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
"path": "base/ai.css",
|
|
87
|
-
"sha256": "
|
|
87
|
+
"sha256": "6f00788d6efdcc62435834ccb065158f8e80f7b5208f089080cf10a7dbe0f8d5"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"path": "base/controls.css",
|
|
91
|
-
"sha256": "
|
|
91
|
+
"sha256": "f6ff09b41ed693b4c9de6a699209e8744a8b116104cf3120e94fbacb42bd0dba"
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"path": "base/collections.css",
|
|
95
|
-
"sha256": "
|
|
95
|
+
"sha256": "fd5d59fb1ef0adac438c7decf0abbdf6de217e33072df79ab609ca9a96a3890c"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"path": "base/shell.css",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
"path": "base/glass.css",
|
|
103
|
-
"sha256": "
|
|
103
|
+
"sha256": "70a9c914734c6b5f5d51fa214c3747c5d294e9c4a1c5d505a942072c53451192"
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
"path": "base/interaction.css",
|
|
@@ -108,11 +108,11 @@
|
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"path": "base/a11y.css",
|
|
111
|
-
"sha256": "
|
|
111
|
+
"sha256": "15a6dec38ca80f791f68c417e8eaa0fc93c1b6795f749bdaf66c6ae7b8cef37e"
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"path": "base/responsive.css",
|
|
115
|
-
"sha256": "
|
|
115
|
+
"sha256": "2365ed1f0b1ce2d062581c0bd48942c4c24185654f0b2ee6fc4eb688d76839eb"
|
|
116
116
|
}
|
|
117
117
|
],
|
|
118
118
|
"assets": [
|
|
@@ -156,5 +156,5 @@
|
|
|
156
156
|
"fonts/spacegrotesk-var-vietnamese.woff2"
|
|
157
157
|
],
|
|
158
158
|
"importantCount": 46,
|
|
159
|
-
"sha256": "
|
|
159
|
+
"sha256": "21f6aad8afd38694dc3282ccaf461e50e61e278fcdeff49941ab94bd73a9fb9e"
|
|
160
160
|
}
|
|
@@ -190,6 +190,10 @@
|
|
|
190
190
|
if (isChrome(node)) return;
|
|
191
191
|
const tag = node.tagName.toLowerCase();
|
|
192
192
|
if (tag === 'script' || tag === 'style' || tag === 'noscript' || tag === 'svg') return;
|
|
193
|
+
if (tag === 'br') {
|
|
194
|
+
parts.push({ t: '', br: true, italic, bold, color, fill, size });
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
193
197
|
const st = window.getComputedStyle(node);
|
|
194
198
|
const nextItalic = italic || st.fontStyle === 'italic' || tag === 'i' || tag === 'em';
|
|
195
199
|
const nextBold =
|
|
@@ -214,7 +218,7 @@
|
|
|
214
218
|
if (parts.length > before && nxt) {
|
|
215
219
|
const last = parts[parts.length - 1];
|
|
216
220
|
const nextRaw = nxt.textContent || '';
|
|
217
|
-
if (last && last.t && !/\s$/.test(last.t) && nextRaw.replace(/\s+/g, '') && !/^\s/.test(nextRaw)) {
|
|
221
|
+
if (last && !last.br && last.t && !/\s$/.test(last.t) && nextRaw.replace(/\s+/g, '') && !/^\s/.test(nextRaw)) {
|
|
218
222
|
parts.push({
|
|
219
223
|
t: ' ',
|
|
220
224
|
italic: nextItalic,
|
|
@@ -237,6 +241,8 @@
|
|
|
237
241
|
const prev = merged[merged.length - 1];
|
|
238
242
|
if (
|
|
239
243
|
prev &&
|
|
244
|
+
!prev.br &&
|
|
245
|
+
!r.br &&
|
|
240
246
|
prev.italic === r.italic &&
|
|
241
247
|
prev.bold === r.bold &&
|
|
242
248
|
prev.color === r.color &&
|
|
@@ -257,6 +263,7 @@
|
|
|
257
263
|
}
|
|
258
264
|
return runs
|
|
259
265
|
.map((r) => {
|
|
266
|
+
if (r.br) return '<w:r><w:br/></w:r>';
|
|
260
267
|
const rPr = [];
|
|
261
268
|
if (r.bold) rPr.push('<w:b/>');
|
|
262
269
|
if (r.italic) rPr.push('<w:i/>');
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<style>
|
|
8
8
|
body{margin:0 auto;font-family:var(--cs-font-family-ui);background:var(--cs-color-surface-page);color:var(--cs-color-text-primary);padding:24px;max-width:720px}
|
|
9
9
|
h1{font-size:18px;margin:0 0 8px} .sub{color:var(--cs-color-text-muted);font-size:13px;line-height:1.5;margin:0 0 18px}
|
|
10
|
-
#root{display:grid;gap:
|
|
10
|
+
#root,#cluster{display:grid;gap:16px;align-items:start}
|
|
11
11
|
</style>
|
|
12
12
|
<script src="../_vendor/react/react.production.min.js"></script>
|
|
13
13
|
<script src="../_vendor/react/react-dom.production.min.js"></script>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<div id="root"></div>
|
|
20
20
|
</main>
|
|
21
21
|
<script>
|
|
22
|
-
const NS=window[Object.keys(window).find(k
|
|
22
|
+
const NS=window[Object.keys(window).find(k=>k.startsWith('CyberSkillDesignSystem_'))];
|
|
23
23
|
const h=React.createElement;
|
|
24
24
|
function App(){
|
|
25
25
|
const [lang,setLang]=React.useState('en');
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
<h1 style="font-size:26px;font-weight:800;letter-spacing:-0.02em;margin:0 0 4px">{{ h1 }}</h1>
|
|
43
43
|
<p style="color:var(--cs-color-text-muted);margin:0">{{ sub }}</p>
|
|
44
44
|
</div>
|
|
45
|
-
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:22px 24px">
|
|
45
|
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:20px;background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:22px 24px;box-shadow:var(--cs-shadow-xs)">
|
|
46
46
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s1 }}" value="6" hint-size="140px,70px"></x-import>
|
|
47
47
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s2 }}" value="4" hint-size="140px,70px"></x-import>
|
|
48
48
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s3 }}" value="1" hint-size="140px,70px"></x-import>
|
|
49
49
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s4 }}" value="70%" delta="{{ s4d }}" trend="up" hint-size="140px,70px"></x-import>
|
|
50
50
|
</div>
|
|
51
|
-
<div style="background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:
|
|
51
|
+
<div style="background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:16px 20px 14px;box-shadow:var(--cs-shadow-xs)">
|
|
52
52
|
<x-import component-from-global-scope="CyberSkillDS.DataTable" caption="{{ tblCap }}" columns="{{ cols }}" rows="{{ rows }}" row-key="key" hint-size="100%,220px"></x-import>
|
|
53
53
|
</div>
|
|
54
54
|
</main>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
</section>
|
|
31
31
|
|
|
32
32
|
<section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
|
|
33
|
-
<div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-
|
|
33
|
+
<div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s2kicker }}</div>
|
|
34
34
|
<h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 40px">{{ s2h }}</h2>
|
|
35
|
-
<div style="display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;overflow-wrap:anywhere">
|
|
35
|
+
<div style="display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;align-items:start;font-variant-numeric:tabular-nums;overflow-wrap:anywhere">
|
|
36
36
|
<div><div style="font-size:60px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">+18%</div><div style="font-size:19px;color:var(--cs-color-text-muted);margin-top:10px">{{ n1 }}</div></div>
|
|
37
37
|
<div><div style="font-size:60px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">14</div><div style="font-size:19px;color:var(--cs-color-text-muted);margin-top:10px">{{ n2 }}</div></div>
|
|
38
38
|
<div><div style="font-size:60px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">{{ runway }}</div><div style="font-size:19px;color:var(--cs-color-text-muted);margin-top:10px">{{ n3 }}</div></div>
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
</section>
|
|
43
43
|
|
|
44
44
|
<section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
|
|
45
|
-
<div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-
|
|
45
|
+
<div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s3kicker }}</div>
|
|
46
46
|
<h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 34px">{{ s3h }}</h2>
|
|
47
47
|
<div style="display:grid;gap:16px;font-size:22px">
|
|
48
48
|
<div style="display:flex;align-items:center;gap:20px;border-top:3px solid var(--cs-accent);padding-top:16px"><b style="flex:1">{{ p1n }}</b><span style="color:var(--cs-color-semantic-success-text);font-weight:700">{{ p1s }}</span><span style="width:140px;text-align:right;font-family:var(--cs-font-family-mono)">₫3.1B</span></div>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
<div style="padding:30px 32px">
|
|
25
25
|
<h1 style="font-size:24px;font-weight:800;letter-spacing:-0.02em;line-height:1.2;margin:0 0 14px">{{ h1 }}</h1>
|
|
26
|
-
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px">
|
|
26
|
+
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;font-variant-numeric:tabular-nums">
|
|
27
27
|
<div style="background:var(--cs-accent-tint);border-radius:var(--cs-radius-md);padding:12px 14px"><div style="font-size:22px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-color-text-accent)">+18%</div><div style="font-size:11px;color:var(--cs-color-text-muted);margin-top:2px">{{ k1 }}</div></div>
|
|
28
28
|
<div style="background:var(--cs-accent-tint);border-radius:var(--cs-radius-md);padding:12px 14px"><div style="font-size:22px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-color-text-accent)">{{ runway }}</div><div style="font-size:11px;color:var(--cs-color-text-muted);margin-top:2px">{{ k2 }}</div></div>
|
|
29
29
|
<div style="background:var(--cs-accent-tint);border-radius:var(--cs-radius-md);padding:12px 14px"><div style="font-size:22px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-color-text-accent)">14</div><div style="font-size:11px;color:var(--cs-color-text-muted);margin-top:2px">{{ k3 }}</div></div>
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
<p style="margin:2px 0 0;font-size:13px;color:var(--cs-accent-on-strong)">{{ tagline }}</p>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
|
-
<span>
|
|
30
|
+
<span style="--cs-component-button-primary-bg:var(--cs-accent-on-strong);--cs-component-button-primary-fg:var(--cs-accent-strong)">
|
|
31
31
|
<x-import component-from-global-scope="CyberSkillDS.Button" variant="primary" size="sm" hint-size="130px,36px">{{ newBtn }}</x-import>
|
|
32
32
|
</span>
|
|
33
33
|
</div>
|
|
34
34
|
</header>
|
|
35
35
|
|
|
36
36
|
<div style="max-width:1280px;margin:0 auto;padding:28px">
|
|
37
|
-
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;padding:22px 24px;background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);box-shadow:var(--cs-shadow-sm)">
|
|
37
|
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:20px;padding:22px 24px;background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);box-shadow:var(--cs-shadow-sm)">
|
|
38
38
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s1 }}" value="6" hint-size="140px,70px"></x-import>
|
|
39
39
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s2 }}" value="4" hint-size="140px,70px"></x-import>
|
|
40
40
|
<x-import component-from-global-scope="CyberSkillDS.Stat" label="{{ s3 }}" value="1" hint-size="140px,70px"></x-import>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
|
|
33
33
|
<div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s2kicker }}</div>
|
|
34
34
|
<h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 40px">{{ s2h }}</h2>
|
|
35
|
-
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px">
|
|
35
|
+
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:start;font-variant-numeric:tabular-nums">
|
|
36
36
|
<div><div style="font-size:56px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">+31%</div><div style="font-size:18px;color:var(--cs-color-text-muted);margin-top:10px">{{ k1 }}</div></div>
|
|
37
37
|
<div><div style="font-size:56px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">−1.8s</div><div style="font-size:18px;color:var(--cs-color-text-muted);margin-top:10px">{{ k2 }}</div></div>
|
|
38
38
|
<div><div style="font-size:56px;font-weight:800;color:var(--cs-color-text-accent);line-height:1;letter-spacing:-0.02em">0</div><div style="font-size:18px;color:var(--cs-color-text-muted);margin-top:10px">{{ k3 }}</div></div>
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
|
|
67
67
|
<section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-brand-umber);color:#FFFDF8;border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 88px">
|
|
68
68
|
<img data-cs-official-logo="" class="cs-logo" width="66" height="66" role="img" alt="CyberSkill" title="CyberSkill">
|
|
69
|
-
<h2 style="font-size:50px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-accent-
|
|
69
|
+
<h2 style="font-size:50px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-accent-bright);margin:24px 0 10px">{{ closeH }}</h2>
|
|
70
70
|
<p style="font-size:22px;opacity:0.9;margin:0 0 8px;max-width:860px">{{ closeP }}</p>
|
|
71
71
|
<p style="font-size:17px;opacity:0.7;margin:0">vu@cyberskill.world · Status Hub</p>
|
|
72
72
|
<sc-if value="{{ showNumbers }}"><div style="position:absolute;bottom:40px;right:88px;font-family:var(--cs-font-family-mono);font-size:14px;color:var(--cs-accent-bright)">05 / 05</div></sc-if>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<div style="background:var(--cs-accent-strong);padding:22px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:12px">
|
|
19
19
|
<img data-cs-official-logo="" class="cs-logo" width="28" height="28" role="img" alt="CyberSkill" title="CyberSkill">
|
|
20
20
|
<span style="color:var(--cs-accent-on-strong);font-weight:800;font-size:16px">CyberSkill · Delivery</span>
|
|
21
|
-
<span style="margin-left:auto;background:var(--cs-accent-strong);color:var(--cs-accent-on-strong);font-weight:700;font-size:13px;white-space:nowrap;flex-shrink:0;padding:4px 12px;border-radius:var(--cs-radius-full)">On track</span>
|
|
21
|
+
<span style="margin-left:auto;background:var(--cs-accent-strong);color:var(--cs-accent-on-strong);border:1.5px solid var(--cs-accent-on-strong);font-weight:700;font-size:13px;white-space:nowrap;flex-shrink:0;padding:4px 12px;border-radius:var(--cs-radius-full)">On track</span>
|
|
22
22
|
</div>
|
|
23
23
|
<div style="padding:30px 32px">
|
|
24
24
|
<sc-if value="{{ isEN }}" hint-placeholder-val="{{ true }}">
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
<sc-if value="{{ showLogo }}" hint-placeholder-val="{{ true }}">
|
|
33
33
|
<x-import component-from-global-scope="CyberSkillDS.Logo" size="34" hint-size="34px,34px"></x-import>
|
|
34
34
|
</sc-if>
|
|
35
|
-
<span style="color
|
|
35
|
+
<span style="color:var(--cs-accent-on-strong);font-weight:800;font-size:19px;letter-spacing:-0.01em">CyberSkill</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div style="padding:36px 32px">
|
|
38
38
|
<div style="font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">Điều ước của bạn đang được thực hiện</div>
|
|
39
39
|
<h1 style="font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:1.2;margin:10px 0 14px">Chúng tôi đã bắt đầu điều ước của bạn, An.</h1>
|
|
40
40
|
<p style="font-size:16px;line-height:1.65;margin:0 0 16px">Một người thật trong đội đã tiếp nhận yêu cầu thanh toán nhanh hơn của bạn. Chúng tôi sẽ gửi bản hình dung đầu tiên trong vòng một ngày làm việc — làm để chạy được, và làm để bền lâu.</p>
|
|
41
41
|
<p style="font-size:16px;line-height:1.65;margin:0 0 28px;color:var(--cs-color-text-muted)">Trong lúc chờ, bạn có thể theo dõi tiến độ trên Status Hub của mình.</p>
|
|
42
|
-
<a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-accent-
|
|
42
|
+
<a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-accent-strong);color:var(--cs-accent-on-strong);font-weight:700;font-size:15px;text-decoration:none;padding:14px 26px;border-radius:var(--cs-radius-full)">Xem Status Hub của bạn →</a>
|
|
43
43
|
</div>
|
|
44
44
|
<div style="border-top:1px solid var(--cs-color-border-default);padding:22px 32px;background:var(--cs-color-surface-raised)">
|
|
45
45
|
<p style="margin:0 0 6px;font-size:13px;color:var(--cs-color-text-muted)">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
.container,.card{background:#221710!important;color:#f5ead9!important}
|
|
24
24
|
.raise{background:#2b1e14!important}
|
|
25
25
|
.ink{color:#f5ead9!important}
|
|
26
|
-
.muted{color:#
|
|
26
|
+
.muted{color:#E9D6C2!important}
|
|
27
27
|
.eyebrow,.footlink{color:#F4BA17!important}
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Team announcement</p>
|
|
50
50
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.2;font-weight:bold;color:#45210E;">Please welcome An to Platform.</h1>
|
|
51
51
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">An joins us from 1 September with a decade of product work across web and mobile. She’ll be pairing on the checkout rebuild first.</p>
|
|
52
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#
|
|
52
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#5E4436;">Say hello in #platform — and ask her about her rooftop garden.</p>
|
|
53
53
|
<!-- Bulletproof button -->
|
|
54
54
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
55
55
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Thông báo nội bộ</p>
|
|
68
68
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25;font-weight:bold;color:#45210E;">Xin chào mừng An gia nhập Platform.</h1>
|
|
69
69
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#3d2c1e;">An gia nhập từ 1 tháng 9, mang theo một thập kỷ làm sản phẩm trên web và di động. Bạn ấy sẽ cùng làm phần xây lại thanh toán trước tiên.</p>
|
|
70
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#
|
|
70
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#5E4436;">Chào An trong #platform — và hỏi bạn ấy về khu vườn sân thượng nhé.</p>
|
|
71
71
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
72
72
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
73
73
|
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cyberskill.world/team" style="height:48px;v-text-anchor:middle;width:250px;" arcsize="54%" strokecolor="#F4BA17" fillcolor="#F4BA17"><w:anchorlock/><center style="color:#45210E;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;">Gặp đội ngũ →</center></v:roundrect><![endif]-->
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<!-- Footer -->
|
|
80
80
|
<tr>
|
|
81
81
|
<td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
|
|
82
|
-
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
83
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
82
|
+
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
83
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
|
|
84
84
|
</td>
|
|
85
85
|
</tr>
|
|
86
86
|
</table>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<style>
|
|
13
13
|
a{color:#6E3B0E}
|
|
14
14
|
@media only screen and (max-width:600px){.container{width:100%!important}.px{padding-left:22px!important;padding-right:22px!important}}
|
|
15
|
-
@media (prefers-color-scheme: dark){.bodybg{background:#1a1108!important}.container,.card{background:#221710!important;color:#f5ead9!important}.ink{color:#f5ead9!important}.muted{color:#
|
|
15
|
+
@media (prefers-color-scheme: dark){.bodybg{background:#1a1108!important}.container,.card{background:#221710!important;color:#f5ead9!important}.ink{color:#f5ead9!important}.muted{color:#E9D6C2!important}.box{background:#2b1e14!important}.eyebrow,.footlink{color:#F4BA17!important}}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
18
18
|
<body class="bodybg" style="margin:0;padding:0;background:#efe6d8;-webkit-text-size-adjust:100%;">
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
<tr><td class="px card" lang="en" style="padding:0 32px 6px;">
|
|
33
33
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" class="box" bgcolor="#fbf4e9" style="background:#fbf4e9;border:1px solid #e7d9c6;border-radius:12px;"><tr><td style="padding:16px 20px;">
|
|
34
34
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%">
|
|
35
|
-
<tr><td class="muted" style="font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#
|
|
35
|
+
<tr><td class="muted" style="font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#5E4436;">Amount due</td><td class="ink" align="right" style="font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:bold;color:#45210E;">78.000.000₫</td></tr>
|
|
36
36
|
<tr><td colspan="2" style="font-size:8px;line-height:8px;"> </td></tr>
|
|
37
|
-
<tr><td class="muted" style="font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
37
|
+
<tr><td class="muted" style="font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Due date</td><td class="ink" align="right" style="font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#45210E;">10/07/2026</td></tr>
|
|
38
38
|
</table>
|
|
39
39
|
</td></tr></table>
|
|
40
40
|
</td></tr>
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
<tr><td class="px card" lang="vi" bgcolor="#ffffff" style="background:#ffffff;padding:20px 32px 30px;">
|
|
50
50
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Một lời nhắc nhẹ</p>
|
|
51
51
|
<p class="ink" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65;color:#3d2c1e;"><b>Hoá đơn INV-2026-0142 đã quá hạn 7 ngày.</b> Nếu bạn đã thanh toán, xin cảm ơn và bỏ qua thư này. Nếu cần xem lại, chỉ cần trả lời email.</p>
|
|
52
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.6;color:#
|
|
52
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.6;color:#5E4436;">Số tiền: <b class="ink" style="color:#45210E">78.000.000₫</b> · Hạn: 10/07/2026 · Theo MSA, khoản chưa tranh chấp chịu lãi 1%/tháng sau hạn — chúng tôi thật lòng không mong điều đó.</p>
|
|
53
53
|
</td></tr>
|
|
54
54
|
<tr><td class="px box" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:20px 32px;border-top:1px solid #e7d9c6;">
|
|
55
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
55
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn · <a class="footlink" href="https://cyberskill.world/billing" style="color:#6E3B0E;"><span lang="en">Billing</span> / <span lang="vi">Thanh toán</span></a></p>
|
|
56
56
|
</td></tr>
|
|
57
57
|
</table>
|
|
58
58
|
</td></tr></table>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
.container,.card{background:#221710!important;color:#f5ead9!important}
|
|
24
24
|
.raise{background:#2b1e14!important}
|
|
25
25
|
.ink{color:#f5ead9!important}
|
|
26
|
-
.muted{color:#
|
|
26
|
+
.muted{color:#E9D6C2!important}
|
|
27
27
|
.eyebrow,.footlink{color:#F4BA17!important}
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Investor update · Q3 2026</p>
|
|
50
50
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.2;font-weight:bold;color:#45210E;">A strong quarter, one honest miss.</h1>
|
|
51
51
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">Revenue up, runway healthy at 19 months, and delivery on time. We missed our hiring target by two roles — a deliberate choice to hold the bar rather than fill fast.</p>
|
|
52
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#
|
|
52
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#5E4436;">The full numbers, commentary, and the ask are in the linked memo.</p>
|
|
53
53
|
<!-- Bulletproof button -->
|
|
54
54
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
55
55
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Cập nhật nhà đầu tư · Q3 2026</p>
|
|
68
68
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25;font-weight:bold;color:#45210E;">Một quý vững vàng, một điểm chưa đạt.</h1>
|
|
69
69
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#3d2c1e;">Doanh thu tăng, số tháng còn vốn ở mức lành mạnh 19 tháng, giao đúng hạn. Chúng tôi hụt chỉ tiêu tuyển dụng hai vị trí — một lựa chọn có chủ đích: giữ chuẩn thay vì tuyển vội.</p>
|
|
70
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#
|
|
70
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#5E4436;">Toàn bộ con số, bình luận và đề xuất nằm trong bản ghi đính kèm.</p>
|
|
71
71
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
72
72
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
73
73
|
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cyberskill.world/investors" style="height:48px;v-text-anchor:middle;width:250px;" arcsize="54%" strokecolor="#F4BA17" fillcolor="#F4BA17"><w:anchorlock/><center style="color:#45210E;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;">Đọc bản cập nhật →</center></v:roundrect><![endif]-->
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<!-- Footer -->
|
|
80
80
|
<tr>
|
|
81
81
|
<td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
|
|
82
|
-
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
83
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
82
|
+
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
83
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
|
|
84
84
|
</td>
|
|
85
85
|
</tr>
|
|
86
86
|
</table>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
.container,.card{background:#221710!important;color:#f5ead9!important}
|
|
24
24
|
.raise{background:#2b1e14!important}
|
|
25
25
|
.ink{color:#f5ead9!important}
|
|
26
|
-
.muted{color:#
|
|
26
|
+
.muted{color:#E9D6C2!important}
|
|
27
27
|
.eyebrow,.footlink{color:#F4BA17!important}
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Just shipped</p>
|
|
50
50
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.2;font-weight:bold;color:#45210E;">15 element packs, verified.</h1>
|
|
51
51
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">Theme × Element × Language × Style across the whole system. The same components re-skin with no code change.</p>
|
|
52
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#
|
|
52
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#5E4436;">See them live in the playground, then pick your product’s pack.</p>
|
|
53
53
|
<!-- Bulletproof button -->
|
|
54
54
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
55
55
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Vừa ra mắt</p>
|
|
68
68
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25;font-weight:bold;color:#45210E;">15 element pack, đã kiểm định.</h1>
|
|
69
69
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#3d2c1e;">Theme × Element × Language × Style trên toàn hệ thống. Cùng một component đổi da theo trục mà không cần sửa code.</p>
|
|
70
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#
|
|
70
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#5E4436;">Xem trực tiếp trong playground, rồi chọn pack cho sản phẩm của bạn.</p>
|
|
71
71
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
72
72
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
73
73
|
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cyberskill.world/packs" style="height:48px;v-text-anchor:middle;width:250px;" arcsize="54%" strokecolor="#F4BA17" fillcolor="#F4BA17"><w:anchorlock/><center style="color:#45210E;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;">Khám phá các pack →</center></v:roundrect><![endif]-->
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<!-- Footer -->
|
|
80
80
|
<tr>
|
|
81
81
|
<td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
|
|
82
|
-
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
83
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
82
|
+
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
83
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
|
|
84
84
|
</td>
|
|
85
85
|
</tr>
|
|
86
86
|
</table>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<style>
|
|
13
13
|
a{color:#6E3B0E}
|
|
14
14
|
@media only screen and (max-width:600px){.container{width:100%!important}.px{padding-left:22px!important;padding-right:22px!important}}
|
|
15
|
-
@media (prefers-color-scheme: dark){.bodybg{background:#1a1108!important}.container,.card{background:#221710!important;color:#f5ead9!important}.ink{color:#f5ead9!important}.muted{color:#
|
|
15
|
+
@media (prefers-color-scheme: dark){.bodybg{background:#1a1108!important}.container,.card{background:#221710!important;color:#f5ead9!important}.ink{color:#f5ead9!important}.muted{color:#E9D6C2!important}.raise{background:#2b1e14!important}.eyebrow,.footlink{color:#F4BA17!important}}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
18
18
|
<body class="bodybg" style="margin:0;padding:0;background:#efe6d8;-webkit-text-size-adjust:100%;">
|
|
@@ -30,21 +30,21 @@
|
|
|
30
30
|
<tr><td class="px card" lang="en" bgcolor="#ffffff" style="background:#ffffff;padding:32px 32px 6px;">
|
|
31
31
|
<h1 class="ink" style="margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:26px;line-height:1.2;font-weight:bold;color:#45210E;">Design System v1.6 is live</h1>
|
|
32
32
|
<p class="ink" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">Warmer, faster, and bilingual by default. Here's what it means for your next release.</p>
|
|
33
|
-
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6;color:#
|
|
33
|
+
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6;color:#5E4436;">Hệ thiết kế v1.6 — ấm hơn, nhanh hơn, song ngữ mặc định. Đây là điều nó mang lại cho bản phát hành tiếp theo của bạn.</p>
|
|
34
34
|
</td></tr>
|
|
35
35
|
<!-- Story cards (stacked rows) -->
|
|
36
36
|
<tr><td class="px card" lang="en" style="padding:20px 32px 4px;">
|
|
37
37
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" class="raise" bgcolor="#fbf4e9" style="background:#fbf4e9;border-radius:12px;"><tr><td style="padding:16px 18px;">
|
|
38
38
|
<p class="eyebrow" style="margin:0 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Liquid Glass · Vật liệu kính lỏng</p>
|
|
39
39
|
<p class="ink" style="margin:0 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;color:#3d2c1e;">Five materials, now one class away on any surface — nav, cards, modals.</p>
|
|
40
|
-
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;color:#
|
|
40
|
+
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;color:#5E4436;">Năm chất liệu kính, nay chỉ cách một class trên mọi bề mặt — thanh điều hướng, thẻ, hộp thoại.</p>
|
|
41
41
|
</td></tr></table>
|
|
42
42
|
</td></tr>
|
|
43
43
|
<tr><td class="px card" lang="en" style="padding:12px 32px 4px;">
|
|
44
44
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" class="raise" bgcolor="#fbf4e9" style="background:#fbf4e9;border-radius:12px;"><tr><td style="padding:16px 18px;">
|
|
45
45
|
<p class="eyebrow" style="margin:0 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">15 element packs · 15 gói nguyên tố</p>
|
|
46
46
|
<p class="ink" style="margin:0 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;color:#3d2c1e;">Theme × Element × Language × Style — verified across the whole set.</p>
|
|
47
|
-
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;color:#
|
|
47
|
+
<p lang="vi" class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55;color:#5E4436;">Theme × Element × Language × Style — đã kiểm định trên toàn bộ hệ thống.</p>
|
|
48
48
|
</td></tr></table>
|
|
49
49
|
</td></tr>
|
|
50
50
|
<!-- CTA -->
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
</td></tr>
|
|
57
57
|
<!-- Footer -->
|
|
58
58
|
<tr><td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
|
|
59
|
-
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
60
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
59
|
+
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
60
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a></p>
|
|
61
61
|
</td></tr>
|
|
62
62
|
</table>
|
|
63
63
|
</td></tr></table>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
.container,.card{background:#221710!important;color:#f5ead9!important}
|
|
24
24
|
.raise{background:#2b1e14!important}
|
|
25
25
|
.ink{color:#f5ead9!important}
|
|
26
|
-
.muted{color:#
|
|
26
|
+
.muted{color:#E9D6C2!important}
|
|
27
27
|
.eyebrow,.footlink{color:#F4BA17!important}
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Weekly update · Checkout</p>
|
|
50
50
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.2;font-weight:bold;color:#45210E;">On track — one risk to watch.</h1>
|
|
51
51
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">Two of three deliverables are done and in review. The A/B kit is a week behind on data, not build — we flagged it early so there are no surprises.</p>
|
|
52
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#
|
|
52
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#5E4436;">Full detail, decisions, and next steps are on your Status Hub.</p>
|
|
53
53
|
<!-- Bulletproof button -->
|
|
54
54
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
55
55
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Cập nhật tuần · Thanh toán</p>
|
|
68
68
|
<h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25;font-weight:bold;color:#45210E;">Đúng tiến độ — một rủi ro cần theo dõi.</h1>
|
|
69
69
|
<p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#3d2c1e;">Hai trong ba hạng mục đã xong và đang review. Bộ A/B chậm một tuần vì dữ liệu, không phải do code — chúng tôi báo sớm để không có bất ngờ.</p>
|
|
70
|
-
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#
|
|
70
|
+
<p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#5E4436;">Chi tiết, quyết định và bước tiếp theo đều trên Status Hub của bạn.</p>
|
|
71
71
|
<table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
|
|
72
72
|
<td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
|
|
73
73
|
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cyberskill.world/status" style="height:48px;v-text-anchor:middle;width:250px;" arcsize="54%" strokecolor="#F4BA17" fillcolor="#F4BA17"><w:anchorlock/><center style="color:#45210E;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;">Mở Status Hub →</center></v:roundrect><![endif]-->
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<!-- Footer -->
|
|
80
80
|
<tr>
|
|
81
81
|
<td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
|
|
82
|
-
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#
|
|
83
|
-
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#
|
|
82
|
+
<p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
|
|
83
|
+
<p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
|
|
84
84
|
</td>
|
|
85
85
|
</tr>
|
|
86
86
|
</table>
|