@nextcommerce/campaigns-os 1.34.1 → 1.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +42 -13
- package/CHANGELOG.md +87 -0
- package/README.md +39 -20
- package/contracts/agent-relevant-change-policy.v1.json +1 -0
- package/contracts/fixtures/progress/observation.v0.json +89 -0
- package/contracts/release-ledger.json +359 -0
- package/contracts/supported-surface.json +20 -5
- package/demo/apollo-v0/NOTICE.txt +51 -0
- package/demo/apollo-v0/assets/css/demo.css +2 -0
- package/demo/apollo-v0/assets/css/landing/tokens.css +35 -0
- package/demo/apollo-v0/assets/css/next-core.css +16124 -0
- package/demo/apollo-v0/assets/images/1x1_1.svg +19 -0
- package/demo/apollo-v0/assets/images/1x1_2.svg +19 -0
- package/demo/apollo-v0/assets/images/affirm-logo.svg +24 -0
- package/demo/apollo-v0/assets/images/apple-pay-logo.svg +4 -0
- package/demo/apollo-v0/assets/images/bancontact-logo.svg +1 -0
- package/demo/apollo-v0/assets/images/cc-visa.svg +28 -0
- package/demo/apollo-v0/assets/images/cc_amex.svg +20 -0
- package/demo/apollo-v0/assets/images/cc_discover.svg +21 -0
- package/demo/apollo-v0/assets/images/cc_master.svg +22 -0
- package/demo/apollo-v0/assets/images/credit-card-flags.svg +38 -0
- package/demo/apollo-v0/assets/images/demo-inline-40788e52a7c75b78.svg +1 -0
- package/demo/apollo-v0/assets/images/demo-inline-686e73c8840a0f0a.svg +1 -0
- package/demo/apollo-v0/assets/images/google-pay-logo.svg +7 -0
- package/demo/apollo-v0/assets/images/guarantee-badge.png +0 -0
- package/demo/apollo-v0/assets/images/icon-dollar.svg +5 -0
- package/demo/apollo-v0/assets/images/icon-guarantee.svg +5 -0
- package/demo/apollo-v0/assets/images/icon-shipping.svg +5 -0
- package/demo/apollo-v0/assets/images/icons8-lock-24_1icons8-lock-24.png +0 -0
- package/demo/apollo-v0/assets/images/ideal-logo.svg +30 -0
- package/demo/apollo-v0/assets/images/klarna-logo.svg +9 -0
- package/demo/apollo-v0/assets/images/landing/_shared/16x9.svg +19 -0
- package/demo/apollo-v0/assets/images/landing/_shared/1x1_1.svg +19 -0
- package/demo/apollo-v0/assets/images/landing/_shared/4x3.svg +19 -0
- package/demo/apollo-v0/assets/images/landing/_shared/arrow-right.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/_shared/cta-guarantee-icon.png +0 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-1.svg +8 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-2.svg +10 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-3.svg +13 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-4.svg +11 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-quote.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-verified.svg +10 -0
- package/demo/apollo-v0/assets/images/landing/bottomcta-1/check-bullet.svg +5 -0
- package/demo/apollo-v0/assets/images/landing/faq-1/faq-chevron.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/footer-1/footer-logo.png +0 -0
- package/demo/apollo-v0/assets/images/landing/guarantee-1/guarantee-1-badge.svg +8 -0
- package/demo/apollo-v0/assets/images/landing/hero-1/icon-check.svg +5 -0
- package/demo/apollo-v0/assets/images/landing/hero-1/icon-star.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/hero-1/icon-verified.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-batteries.svg +7 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-cuff-checking.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-dual-user.svg +5 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-fda-cleared.svg +5 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-heartbeat.svg +17 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-lcd-display.svg +10 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-movement-error.svg +7 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-portable.png +0 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-reading-memory.svg +6 -0
- package/demo/apollo-v0/assets/images/landing/icons-5/icon-wrist-comfort.svg +5 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-1.jpg +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-2.jpg +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-3.jpg +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-4.jpg +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-1.png +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-2.png +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-3.png +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-4.png +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-5.png +0 -0
- package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-6.png +0 -0
- package/demo/apollo-v0/assets/images/landing/nav-1/flag-us.png +0 -0
- package/demo/apollo-v0/assets/images/landing/reviews-3/star-card.svg +3 -0
- package/demo/apollo-v0/assets/images/landing/reviews-3/star-lg.svg +3 -0
- package/demo/apollo-v0/assets/images/landing/reviews-3/star-sm.svg +3 -0
- package/demo/apollo-v0/assets/images/landing/reviews-3/verified.svg +10 -0
- package/demo/apollo-v0/assets/images/landing/testimonials-2/testimonials-2-reactions.svg +9 -0
- package/demo/apollo-v0/assets/images/landing/testimonials-2/testimonials-2-stars.svg +6 -0
- package/demo/apollo-v0/assets/images/link-logo.svg +1 -0
- package/demo/apollo-v0/assets/images/next-dark.svg +8 -0
- package/demo/apollo-v0/assets/images/paypal-logo.svg +5 -0
- package/demo/apollo-v0/assets/images/paypal-txt.svg +8 -0
- package/demo/apollo-v0/assets/images/paypal.svg +22 -0
- package/demo/apollo-v0/assets/images/sepa-logo.svg +275 -0
- package/demo/apollo-v0/assets/images/twint-logo.svg +1 -0
- package/demo/apollo-v0/assets/images/united-states-flag-icon.webp +0 -0
- package/demo/apollo-v0/assets/images/upsell-payment-logos.svg +38 -0
- package/demo/apollo-v0/assets/images/usps.png +0 -0
- package/demo/apollo-v0/checkout/index.html +1370 -0
- package/demo/apollo-v0/landing/index.html +1836 -0
- package/demo/apollo-v0/provenance.json +342 -0
- package/demo/apollo-v0/receipt/index.html +292 -0
- package/demo/apollo-v0/upsell-bundle-stepper/index.html +401 -0
- package/docs/activation-and-evidence.md +37 -0
- package/docs/demo-preview.md +63 -0
- package/docs/diagnostics.md +55 -0
- package/docs/orientation-contract-reference.md +2 -1
- package/docs/progress-snapshots.md +142 -0
- package/docs/runtime-readiness.md +1 -1
- package/docs/supported-surface.md +13 -1
- package/package.json +13 -3
- package/schemas/campaign-runtime-build-context.v0.schema.json +42 -0
- package/schemas/campaigns-os-progress-snapshot.v0.schema.json +370 -0
- package/skills/next-campaigns-build/SKILL.md +17 -1
- package/skills/next-campaigns-os/SKILL.md +19 -3
- package/skills/next-campaigns-os-setup/SKILL.md +17 -1
- package/skills/next-campaigns-polish/SKILL.md +18 -2
- package/skills/next-campaigns-qa/SKILL.md +24 -8
- package/skills.json +5 -5
- package/src/cli.mjs +74 -4
- package/src/consent.mjs +2 -2
- package/src/demo-artifact.mjs +97 -0
- package/src/demo.mjs +85 -0
- package/src/diagnostic.mjs +101 -0
- package/src/install-mode.mjs +13 -1
- package/src/progress-node.mjs +177 -0
- package/src/progress.mjs +133 -0
|
@@ -4848,6 +4848,365 @@
|
|
|
4848
4848
|
}
|
|
4849
4849
|
],
|
|
4850
4850
|
"entry_sha256": "ae6ef7c17e02e52cad5ba4faa1e4adf8ba3bba375acac36e3e9046d8273c053f"
|
|
4851
|
+
},
|
|
4852
|
+
{
|
|
4853
|
+
"id": "RL-0122",
|
|
4854
|
+
"sequence": 122,
|
|
4855
|
+
"date": "2026-09-18",
|
|
4856
|
+
"kind": "release",
|
|
4857
|
+
"surface_version": "1.35.0",
|
|
4858
|
+
"changelog_section": "1.35.0",
|
|
4859
|
+
"changelog_sha256": "efc41d5b5f2fa2005f6cd93d1ab6e287403edff5be0fbb120e09aef825e7501a",
|
|
4860
|
+
"agent_impact": "Use exact project-local npm releases by default; installed skills and global recovery run the intended copy. Optional tooling diagnose exports redacted installation and local lifecycle evidence without changing sessions or campaign artifacts. Existing lifecycle, orientation trust and QA publication recovery remain unchanged.",
|
|
4861
|
+
"compatibility": "additive",
|
|
4862
|
+
"migration": "none",
|
|
4863
|
+
"changes": [
|
|
4864
|
+
{
|
|
4865
|
+
"class": "documentation",
|
|
4866
|
+
"path": "AGENTS.md",
|
|
4867
|
+
"surface_entry": "AGENTS.md",
|
|
4868
|
+
"summary": "Use exact project-local releases, profile-specific preflight, package-owned browser installation, and read-only redacted diagnostics without changing orientation trust."
|
|
4869
|
+
},
|
|
4870
|
+
{
|
|
4871
|
+
"class": "compatibility_policy",
|
|
4872
|
+
"path": "contracts/supported-surface.json",
|
|
4873
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
4874
|
+
"summary": "Declare the activation/evidence contract and diagnostic reference as named supported documents."
|
|
4875
|
+
},
|
|
4876
|
+
{
|
|
4877
|
+
"class": "named_surface",
|
|
4878
|
+
"path": "docs/activation-and-evidence.md",
|
|
4879
|
+
"surface_entry": "docs/activation-and-evidence.md",
|
|
4880
|
+
"summary": "Document six distinct public milestones, access inputs, independent trust/freshness/revisions, and retained-verdict publication recovery."
|
|
4881
|
+
},
|
|
4882
|
+
{
|
|
4883
|
+
"class": "named_surface",
|
|
4884
|
+
"path": "docs/diagnostics.md",
|
|
4885
|
+
"surface_entry": "docs/diagnostics.md",
|
|
4886
|
+
"summary": "Document the read-only allowlist export, unsupported vocabulary behavior, independent freshness, and recovery ownership."
|
|
4887
|
+
},
|
|
4888
|
+
{
|
|
4889
|
+
"class": "package_export",
|
|
4890
|
+
"path": "package.json",
|
|
4891
|
+
"surface_entry": null,
|
|
4892
|
+
"summary": "Ship the activation/evidence and diagnostic references in npm packages."
|
|
4893
|
+
},
|
|
4894
|
+
{
|
|
4895
|
+
"class": "skill",
|
|
4896
|
+
"path": "skills.json",
|
|
4897
|
+
"surface_entry": "skills.json",
|
|
4898
|
+
"summary": "Advance all five bundled skill versions for installed-package command conventions."
|
|
4899
|
+
},
|
|
4900
|
+
{
|
|
4901
|
+
"class": "skill",
|
|
4902
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
4903
|
+
"surface_entry": null,
|
|
4904
|
+
"summary": "Explain exact installed-package command resolution and package-owned browser installation for this lifecycle skill."
|
|
4905
|
+
},
|
|
4906
|
+
{
|
|
4907
|
+
"class": "skill",
|
|
4908
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
4909
|
+
"surface_entry": null,
|
|
4910
|
+
"summary": "Explain exact installed-package command resolution and package-owned browser installation for this lifecycle skill."
|
|
4911
|
+
},
|
|
4912
|
+
{
|
|
4913
|
+
"class": "skill",
|
|
4914
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
4915
|
+
"surface_entry": null,
|
|
4916
|
+
"summary": "Explain exact installed-package command resolution and package-owned browser installation for this lifecycle skill."
|
|
4917
|
+
},
|
|
4918
|
+
{
|
|
4919
|
+
"class": "skill",
|
|
4920
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
4921
|
+
"surface_entry": null,
|
|
4922
|
+
"summary": "Explain exact installed-package command resolution and package-owned browser installation for this lifecycle skill."
|
|
4923
|
+
},
|
|
4924
|
+
{
|
|
4925
|
+
"class": "skill",
|
|
4926
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
4927
|
+
"surface_entry": null,
|
|
4928
|
+
"summary": "Explain exact installed-package command resolution and package-owned browser installation for this lifecycle skill."
|
|
4929
|
+
},
|
|
4930
|
+
{
|
|
4931
|
+
"class": "cli_surface",
|
|
4932
|
+
"path": "src/cli.mjs",
|
|
4933
|
+
"surface_entry": null,
|
|
4934
|
+
"summary": "Add tooling diagnose with read-only doctor/next projection, no session sweeping/capture, fixed exception summaries, and global invocation recovery."
|
|
4935
|
+
},
|
|
4936
|
+
{
|
|
4937
|
+
"class": "documentation",
|
|
4938
|
+
"path": "docs/orientation-contract-reference.md",
|
|
4939
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
4940
|
+
"summary": "Regenerate the declarative reference for supported surface 1.35.0."
|
|
4941
|
+
},
|
|
4942
|
+
{
|
|
4943
|
+
"class": "named_surface",
|
|
4944
|
+
"path": "docs/runtime-readiness.md",
|
|
4945
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
4946
|
+
"summary": "Regenerate the declarative reference for supported surface 1.35.0."
|
|
4947
|
+
},
|
|
4948
|
+
{
|
|
4949
|
+
"class": "generated_runtime",
|
|
4950
|
+
"path": "package-lock.json",
|
|
4951
|
+
"surface_entry": null,
|
|
4952
|
+
"summary": "Record additive package release 1.35.0 in the exact lockfile."
|
|
4953
|
+
}
|
|
4954
|
+
],
|
|
4955
|
+
"entry_sha256": "4a93e18a369cb149ccd8b80927b31133cc816735ac5d1c4d7a589c234e5a3963"
|
|
4956
|
+
},
|
|
4957
|
+
{
|
|
4958
|
+
"id": "RL-0123",
|
|
4959
|
+
"sequence": 123,
|
|
4960
|
+
"date": "2026-09-18",
|
|
4961
|
+
"kind": "release",
|
|
4962
|
+
"surface_version": "1.36.0",
|
|
4963
|
+
"changelog_section": "1.36.0",
|
|
4964
|
+
"changelog_sha256": "a5f32730cb50238ef8c0d8a0300119410f240ce114a98f574ae5014e8699995a",
|
|
4965
|
+
"agent_impact": "Progress observations reuse canonical next and committed QA without lifecycle or closeout changes. Consumers may validate strict minimal snapshots and group separate Map/spec/build histories; absent binding and unknown vocabulary confer no readiness or trust.",
|
|
4966
|
+
"compatibility": "additive",
|
|
4967
|
+
"migration": "none",
|
|
4968
|
+
"changes": [
|
|
4969
|
+
{
|
|
4970
|
+
"class": "documentation",
|
|
4971
|
+
"path": "AGENTS.md",
|
|
4972
|
+
"surface_entry": "AGENTS.md",
|
|
4973
|
+
"summary": "Explain canonical stage observations, opt-out flags and independent identity/trust semantics."
|
|
4974
|
+
},
|
|
4975
|
+
{
|
|
4976
|
+
"class": "named_surface",
|
|
4977
|
+
"path": "contracts/fixtures/progress/observation.v0.json",
|
|
4978
|
+
"surface_entry": "contracts/fixtures/progress/observation.v0.json",
|
|
4979
|
+
"summary": "Provide a digest-verified receiver agreement fixture with separate Map/spec/build identities."
|
|
4980
|
+
},
|
|
4981
|
+
{
|
|
4982
|
+
"class": "compatibility_policy",
|
|
4983
|
+
"path": "contracts/supported-surface.json",
|
|
4984
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
4985
|
+
"summary": "Declare portable progress helpers, strict snapshot schema, provenance extension and supported reference/fixture."
|
|
4986
|
+
},
|
|
4987
|
+
{
|
|
4988
|
+
"class": "documentation",
|
|
4989
|
+
"path": "docs/orientation-contract-reference.md",
|
|
4990
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
4991
|
+
"summary": "Regenerate declarative supported-surface reference for candidate1.36.0."
|
|
4992
|
+
},
|
|
4993
|
+
{
|
|
4994
|
+
"class": "named_surface",
|
|
4995
|
+
"path": "docs/progress-snapshots.md",
|
|
4996
|
+
"surface_entry": "docs/progress-snapshots.md",
|
|
4997
|
+
"summary": "Document bounded progress wire, independent identities, consent-scoped delivery, exact acknowledgments and receiver remit."
|
|
4998
|
+
},
|
|
4999
|
+
{
|
|
5000
|
+
"class": "named_surface",
|
|
5001
|
+
"path": "docs/runtime-readiness.md",
|
|
5002
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
5003
|
+
"summary": "Regenerate declarative runtime reference for candidate1.36.0."
|
|
5004
|
+
},
|
|
5005
|
+
{
|
|
5006
|
+
"class": "compatibility_policy",
|
|
5007
|
+
"path": "docs/supported-surface.md",
|
|
5008
|
+
"surface_entry": "docs/supported-surface.md",
|
|
5009
|
+
"summary": "Describe additive portable progress consumption without readiness or trust authority."
|
|
5010
|
+
},
|
|
5011
|
+
{
|
|
5012
|
+
"class": "generated_runtime",
|
|
5013
|
+
"path": "package-lock.json",
|
|
5014
|
+
"surface_entry": null,
|
|
5015
|
+
"summary": "Record additive candidate1.36.0 in the exact lockfile."
|
|
5016
|
+
},
|
|
5017
|
+
{
|
|
5018
|
+
"class": "package_export",
|
|
5019
|
+
"path": "package.json",
|
|
5020
|
+
"surface_entry": null,
|
|
5021
|
+
"summary": "Publish portable progress and JSON schema exports plus their reference in candidate1.36.0."
|
|
5022
|
+
},
|
|
5023
|
+
{
|
|
5024
|
+
"class": "schema",
|
|
5025
|
+
"path": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
5026
|
+
"surface_entry": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
5027
|
+
"summary": "Declare optional saved Map provenance and its separate fetched local semantic baseline."
|
|
5028
|
+
},
|
|
5029
|
+
{
|
|
5030
|
+
"class": "schema",
|
|
5031
|
+
"path": "schemas/campaigns-os-progress-snapshot.v0.schema.json",
|
|
5032
|
+
"surface_entry": "schemas/campaigns-os-progress-snapshot.v0.schema.json",
|
|
5033
|
+
"summary": "Add strict bounded versioned progress wire with fixed vocabulary, independent stage/binding and continuation observations."
|
|
5034
|
+
},
|
|
5035
|
+
{
|
|
5036
|
+
"class": "cli_surface",
|
|
5037
|
+
"path": "src/cli.mjs",
|
|
5038
|
+
"surface_entry": null,
|
|
5039
|
+
"summary": "Observe after canonical next and successful committed QA, and retain fresh fetched Map provenance in context intake."
|
|
5040
|
+
}
|
|
5041
|
+
],
|
|
5042
|
+
"entry_sha256": "181049ebc0cdf27935453579a11e7878b200dadb5bbbc73798226259a684a6a5"
|
|
5043
|
+
},
|
|
5044
|
+
{
|
|
5045
|
+
"id": "RL-0124",
|
|
5046
|
+
"sequence": 124,
|
|
5047
|
+
"date": "2026-09-18",
|
|
5048
|
+
"kind": "amendment",
|
|
5049
|
+
"surface_version": null,
|
|
5050
|
+
"changelog_section": "1.36.0+agent.1",
|
|
5051
|
+
"changelog_sha256": "ed7fb01c149dc14453dbba713e7ca4d8278a36c67a32c608ee528866ee6f7f3a",
|
|
5052
|
+
"agent_impact": "Require a nonempty matching context packet pointer before accepting saved revision provenance or its source endpoint. Retry after live allocation completes; stop all target writers before the documented offline recovery for interrupted lock reclamation.",
|
|
5053
|
+
"compatibility": "compatible",
|
|
5054
|
+
"migration": "none",
|
|
5055
|
+
"changes": [
|
|
5056
|
+
{
|
|
5057
|
+
"class": "named_surface",
|
|
5058
|
+
"path": null,
|
|
5059
|
+
"surface_entry": "docs/progress-snapshots.md",
|
|
5060
|
+
"summary": "Document strict context binding and bounded dead-owner allocation recovery, with explicit offline recovery for an interrupted claim."
|
|
5061
|
+
}
|
|
5062
|
+
],
|
|
5063
|
+
"entry_sha256": "62716dd67dad35c1f6aeca337f0a8a47bd4daf78d65461f348fbf6234c6850b1",
|
|
5064
|
+
"amends": "RL-0123",
|
|
5065
|
+
"amendment_reason": "Clarify the strict context binding and allocation recovery recorded for the unreleased progress producer; runtime repairs and positive integration coverage were accepted before candidate publication. The document path is covered once by RL-0123 across the full candidate PR range."
|
|
5066
|
+
},
|
|
5067
|
+
{
|
|
5068
|
+
"id": "RL-0125",
|
|
5069
|
+
"sequence": 125,
|
|
5070
|
+
"date": "2026-09-18",
|
|
5071
|
+
"kind": "release",
|
|
5072
|
+
"surface_version": "1.37.0",
|
|
5073
|
+
"changelog_section": "1.37.0",
|
|
5074
|
+
"changelog_sha256": "683559dec36726ceb6114bfca9239ca0e2dac39adabac933dd6317d0e20879ec",
|
|
5075
|
+
"agent_impact": "Agents can create an offline static Apollo sample without campaign configuration, session changes, networking or evidence. Real campaigns begin in a separate new folder; existing targets and unsupported flags are refused.",
|
|
5076
|
+
"compatibility": "additive",
|
|
5077
|
+
"migration": "none",
|
|
5078
|
+
"changes": [
|
|
5079
|
+
{
|
|
5080
|
+
"class": "documentation",
|
|
5081
|
+
"path": "AGENTS.md",
|
|
5082
|
+
"surface_entry": "AGENTS.md",
|
|
5083
|
+
"summary": "Document offline sample isolation, strict arguments and the separate real-campaign transition."
|
|
5084
|
+
},
|
|
5085
|
+
{
|
|
5086
|
+
"class": "compatibility_policy",
|
|
5087
|
+
"path": "contracts/agent-relevant-change-policy.v1.json",
|
|
5088
|
+
"surface_entry": "contracts/agent-relevant-change-policy.v1.json",
|
|
5089
|
+
"summary": "Classify internal static projection files while retaining derived manifest and notice obligations."
|
|
5090
|
+
},
|
|
5091
|
+
{
|
|
5092
|
+
"class": "compatibility_policy",
|
|
5093
|
+
"path": "contracts/supported-surface.json",
|
|
5094
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
5095
|
+
"summary": "Add the demo command, reference, attribution notice and hashed provenance manifest at surface 1.37.0."
|
|
5096
|
+
},
|
|
5097
|
+
{
|
|
5098
|
+
"class": "named_surface",
|
|
5099
|
+
"path": "demo/apollo-v0/NOTICE.txt",
|
|
5100
|
+
"surface_entry": "demo/apollo-v0/NOTICE.txt",
|
|
5101
|
+
"summary": "Retain pinned NEXT attribution and Page Kit/Tailwind notices without an additional template licence grant."
|
|
5102
|
+
},
|
|
5103
|
+
{
|
|
5104
|
+
"class": "hashed_surface",
|
|
5105
|
+
"path": "demo/apollo-v0/provenance.json",
|
|
5106
|
+
"surface_entry": "demo/apollo-v0/provenance.json",
|
|
5107
|
+
"summary": "Pin the published maintainer toolchain, input hashes and every validated output digest."
|
|
5108
|
+
},
|
|
5109
|
+
{
|
|
5110
|
+
"class": "named_surface",
|
|
5111
|
+
"path": "docs/activation-and-evidence.md",
|
|
5112
|
+
"surface_entry": "docs/activation-and-evidence.md",
|
|
5113
|
+
"summary": "Describe offline visual sampling without granting campaign proof."
|
|
5114
|
+
},
|
|
5115
|
+
{
|
|
5116
|
+
"class": "named_surface",
|
|
5117
|
+
"path": "docs/demo-preview.md",
|
|
5118
|
+
"surface_entry": "docs/demo-preview.md",
|
|
5119
|
+
"summary": "Specify exclusive creation, offline exploration, regeneration and preserved sample edits."
|
|
5120
|
+
},
|
|
5121
|
+
{
|
|
5122
|
+
"class": "documentation",
|
|
5123
|
+
"path": "docs/orientation-contract-reference.md",
|
|
5124
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
5125
|
+
"summary": "Regenerate the reference with the explicit internal static projection classification."
|
|
5126
|
+
},
|
|
5127
|
+
{
|
|
5128
|
+
"class": "named_surface",
|
|
5129
|
+
"path": "docs/runtime-readiness.md",
|
|
5130
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
5131
|
+
"summary": "Regenerate the runtime reference for package version 1.37.0."
|
|
5132
|
+
},
|
|
5133
|
+
{
|
|
5134
|
+
"class": "compatibility_policy",
|
|
5135
|
+
"path": "docs/supported-surface.md",
|
|
5136
|
+
"surface_entry": "docs/supported-surface.md",
|
|
5137
|
+
"summary": "Document the supported command and provenance boundary."
|
|
5138
|
+
},
|
|
5139
|
+
{
|
|
5140
|
+
"class": "generated_runtime",
|
|
5141
|
+
"path": "package-lock.json",
|
|
5142
|
+
"surface_entry": null,
|
|
5143
|
+
"summary": "Keep exact package identity at candidate 1.37.0."
|
|
5144
|
+
},
|
|
5145
|
+
{
|
|
5146
|
+
"class": "package_export",
|
|
5147
|
+
"path": "package.json",
|
|
5148
|
+
"surface_entry": null,
|
|
5149
|
+
"summary": "Ship the static bundle and reference without adding runtime compiler or Page Kit dependencies."
|
|
5150
|
+
},
|
|
5151
|
+
{
|
|
5152
|
+
"class": "cli_surface",
|
|
5153
|
+
"path": "src/cli.mjs",
|
|
5154
|
+
"surface_entry": null,
|
|
5155
|
+
"summary": "Dispatch demo before session recovery and lifecycle capture, rejecting unsupported arguments before creation."
|
|
5156
|
+
}
|
|
5157
|
+
],
|
|
5158
|
+
"entry_sha256": "51781e61741ac908cb8407935f8af301eac88213700eac5605951c920be11920"
|
|
5159
|
+
},
|
|
5160
|
+
{
|
|
5161
|
+
"id": "RL-0126",
|
|
5162
|
+
"sequence": 126,
|
|
5163
|
+
"date": "2026-09-18",
|
|
5164
|
+
"kind": "release",
|
|
5165
|
+
"surface_version": "1.37.1",
|
|
5166
|
+
"changelog_section": "1.37.1",
|
|
5167
|
+
"changelog_sha256": "2c7f1178c26f0d5c920a5842f03e78fa01446bc2738974f7d792fe6c72f4ba8b",
|
|
5168
|
+
"agent_impact": "When a demo destination changes during copying, preserve its files and retry with a different new directory. Argument validation, ownership checks and cleanup semantics are unchanged.",
|
|
5169
|
+
"compatibility": "compatible",
|
|
5170
|
+
"migration": "none",
|
|
5171
|
+
"changes": [
|
|
5172
|
+
{
|
|
5173
|
+
"class": "compatibility_policy",
|
|
5174
|
+
"path": "contracts/supported-surface.json",
|
|
5175
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
5176
|
+
"summary": "Advance the compatible package patch to 1.37.1 without changing hashed contracts."
|
|
5177
|
+
},
|
|
5178
|
+
{
|
|
5179
|
+
"class": "package_export",
|
|
5180
|
+
"path": "package.json",
|
|
5181
|
+
"surface_entry": null,
|
|
5182
|
+
"summary": "Keep the package patch identity at 1.37.1."
|
|
5183
|
+
},
|
|
5184
|
+
{
|
|
5185
|
+
"class": "generated_runtime",
|
|
5186
|
+
"path": "package-lock.json",
|
|
5187
|
+
"surface_entry": null,
|
|
5188
|
+
"summary": "Keep the exact lockfile package identity at 1.37.1."
|
|
5189
|
+
},
|
|
5190
|
+
{
|
|
5191
|
+
"class": "named_surface",
|
|
5192
|
+
"path": "docs/runtime-readiness.md",
|
|
5193
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
5194
|
+
"summary": "Regenerate the runtime reference for package version 1.37.1."
|
|
5195
|
+
},
|
|
5196
|
+
{
|
|
5197
|
+
"class": "cli_surface",
|
|
5198
|
+
"path": "src/cli.mjs",
|
|
5199
|
+
"surface_entry": null,
|
|
5200
|
+
"summary": "Explain raw argv validation before private parsed-target extraction without altering dispatch."
|
|
5201
|
+
},
|
|
5202
|
+
{
|
|
5203
|
+
"class": "documentation",
|
|
5204
|
+
"path": "docs/orientation-contract-reference.md",
|
|
5205
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
5206
|
+
"summary": "Regenerate the orientation reference for surface version 1.37.1."
|
|
5207
|
+
}
|
|
5208
|
+
],
|
|
5209
|
+
"entry_sha256": "76423be9a8624b8a3b398f4a4bfd47ff17b48f45d6a3bc44a22e122172684c6a"
|
|
4851
5210
|
}
|
|
4852
5211
|
]
|
|
4853
5212
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_note": "The downstream contract manifest. Everything listed here is SUPPORTED SURFACE: consumers (campaigns-agent, campaign-builder, the private ops repo, page-kit campaign repos) may depend on it, and changing it is a deliberate act \u2014 hashed entries require a surface_version bump in the same change (check-supported-surface.mjs --base, mirroring the skills.json bump gate), named entries must keep existing at their path, cli_commands must keep resolving in the CLI dispatch, package_exports must stay exported, and every entry must ship in the npm pack (files[] coverage). Anything NOT listed here \u2014 src/** internals, scripts/** checkers, examples/**, prompts/**, contracts/** other than this file and the entries named[] below (the orientation contract, the release ledger, and the consumer-facing orientation fixtures) \u2014 is implementation: consumers may read it for context but must not build on it, and it can change without notice. Rationale and the compatibility promise: docs/supported-surface.md.",
|
|
3
|
-
"surface_version": "1.
|
|
3
|
+
"surface_version": "1.37.1",
|
|
4
4
|
"package_exports": [
|
|
5
5
|
"./commercial-journey",
|
|
6
6
|
"./commercial-parity",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"./schemas/campaign-spec.v4.schema.json",
|
|
11
11
|
"./schemas/campaigns-os-legacy-migration-inventory.v0.schema.json",
|
|
12
12
|
"./schemas/campaigns-os-legacy-provisioning-plan.v0.schema.json",
|
|
13
|
-
"./schemas/campaigns-os-legacy-provisioning-receipt.v0.schema.json"
|
|
13
|
+
"./schemas/campaigns-os-legacy-provisioning-receipt.v0.schema.json",
|
|
14
|
+
"./progress",
|
|
15
|
+
"./schemas/campaigns-os-progress-snapshot.v0.schema.json"
|
|
14
16
|
],
|
|
15
17
|
"bin": [
|
|
16
18
|
"campaigns-os"
|
|
@@ -37,7 +39,8 @@
|
|
|
37
39
|
"qa",
|
|
38
40
|
"findings",
|
|
39
41
|
"run-record",
|
|
40
|
-
"run"
|
|
42
|
+
"run",
|
|
43
|
+
"demo"
|
|
41
44
|
],
|
|
42
45
|
"hashed": {
|
|
43
46
|
"contracts/migration-sidecar-bundle.v0.json": {
|
|
@@ -56,7 +59,7 @@
|
|
|
56
59
|
"sha256": "3fa085f2ad368567983cdc9c01e7c712682d02df9c28e69a2b7befb45d444468"
|
|
57
60
|
},
|
|
58
61
|
"schemas/campaign-runtime-build-context.v0.schema.json": {
|
|
59
|
-
"sha256": "
|
|
62
|
+
"sha256": "f310c1b7844d9b1994864d15858ff0c6f17efc1e5285ba193d181bdb2dd4be2f"
|
|
60
63
|
},
|
|
61
64
|
"schemas/campaign-runtime-build-packet.v0.schema.json": {
|
|
62
65
|
"sha256": "91853bbd1b14c080e2fe2ec32f1aa643f53e62df280b543093bf158ae924dd4b"
|
|
@@ -102,6 +105,12 @@
|
|
|
102
105
|
},
|
|
103
106
|
"schemas/source-html-manifest.v0.schema.json": {
|
|
104
107
|
"sha256": "841c1f884260ce3eb3ddb518960a127bc915992a9539c818e5986ce156acff1f"
|
|
108
|
+
},
|
|
109
|
+
"schemas/campaigns-os-progress-snapshot.v0.schema.json": {
|
|
110
|
+
"sha256": "c572756be7df03351843ffc361fc657e3fd819702b4e6f0a78a3c8efd0b0f046"
|
|
111
|
+
},
|
|
112
|
+
"demo/apollo-v0/provenance.json": {
|
|
113
|
+
"sha256": "2e440be6513fe06b351c3a72c35424a04f807792621cb01e89803441fd925e06"
|
|
105
114
|
}
|
|
106
115
|
},
|
|
107
116
|
"named": [
|
|
@@ -177,6 +186,12 @@
|
|
|
177
186
|
"contracts/fixtures/orientation/hostile-target/repo/bin/intended.mjs",
|
|
178
187
|
"contracts/fixtures/orientation/hostile-target/repo/hostile-dependency-tripwire/package.json",
|
|
179
188
|
"contracts/fixtures/orientation/hostile-target/repo/hostile-dependency-tripwire/tripwire.mjs",
|
|
180
|
-
"docs/sdk-storage-compatibility.md"
|
|
189
|
+
"docs/sdk-storage-compatibility.md",
|
|
190
|
+
"docs/activation-and-evidence.md",
|
|
191
|
+
"docs/diagnostics.md",
|
|
192
|
+
"docs/progress-snapshots.md",
|
|
193
|
+
"contracts/fixtures/progress/observation.v0.json",
|
|
194
|
+
"docs/demo-preview.md",
|
|
195
|
+
"demo/apollo-v0/NOTICE.txt"
|
|
181
196
|
]
|
|
182
197
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Static Apollo sample projection
|
|
2
|
+
Copyright 2026 Next Commerce Pte. Ltd.
|
|
3
|
+
Selected public NEXT Apollo template HTML and referenced assets, pinned to 11352c30c596db258679fd3a552b906086b11bb9.
|
|
4
|
+
This sample is inert reference content and confers no campaign or QA evidence.
|
|
5
|
+
Typography uses system-ui, sans-serif; remote fonts and active SDK controls are omitted.
|
|
6
|
+
Existing source notices are retained below; no additional template licence grant is asserted.
|
|
7
|
+
|
|
8
|
+
MIT License
|
|
9
|
+
|
|
10
|
+
Copyright (c) 2025 29 Next
|
|
11
|
+
|
|
12
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
13
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
14
|
+
in the Software without restriction, including without limitation the rights
|
|
15
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
16
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
17
|
+
furnished to do so, subject to the following conditions:
|
|
18
|
+
|
|
19
|
+
The above copyright notice and this permission notice shall be included in all
|
|
20
|
+
copies or substantial portions of the Software.
|
|
21
|
+
|
|
22
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
23
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
24
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
25
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
26
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
|
+
SOFTWARE.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
MIT License
|
|
32
|
+
|
|
33
|
+
Copyright (c) Tailwind Labs, Inc.
|
|
34
|
+
|
|
35
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
36
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
37
|
+
in the Software without restriction, including without limitation the rights
|
|
38
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
39
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
40
|
+
furnished to do so, subject to the following conditions:
|
|
41
|
+
|
|
42
|
+
The above copyright notice and this permission notice shall be included in all
|
|
43
|
+
copies or substantial portions of the Software.
|
|
44
|
+
|
|
45
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
46
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
47
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
48
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
49
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
50
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
51
|
+
SOFTWARE.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-\[4px\]{bottom:-4px}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-\[10px\]{right:10px}.right-auto{right:auto}.top-0{top:0}.top-1\/2{top:50%}.top-\[20px\]{top:20px}.z-\[1\]{z-index:1}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-\[12px\]{margin-top:12px}.mt-\[16px\]{margin-top:16px}.mt-\[20px\]{margin-top:20px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[168\/216\]{aspect-ratio:168/216}.aspect-\[374\/233\]{aspect-ratio:374/233}.aspect-\[412\/480\]{aspect-ratio:412/480}.aspect-square{aspect-ratio:1/1}.h-8{height:2rem}.h-\[12px\]{height:12px}.h-\[140px\]{height:140px}.h-\[14px\]{height:14px}.h-\[160px\]{height:160px}.h-\[16px\]{height:16px}.h-\[170px\]{height:170px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[261px\]{height:261px}.h-\[26px\]{height:26px}.h-\[28px\]{height:28px}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[36px\]{height:36px}.h-\[3px\]{height:3px}.h-\[420px\]{height:420px}.h-\[48px\]{height:48px}.h-\[4px\]{height:4px}.h-\[50px\]{height:50px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[64px\]{height:64px}.h-\[70px\]{height:70px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-\[1px\]{min-height:1px}.min-h-\[290px\]{min-height:290px}.w-8{width:2rem}.w-\[112px\]{width:112px}.w-\[120px\]{width:120px}.w-\[12px\]{width:12px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[170px\]{width:170px}.w-\[18px\]{width:18px}.w-\[20px\]{width:20px}.w-\[24px\]{width:24px}.w-\[261px\]{width:261px}.w-\[26px\]{width:26px}.w-\[28px\]{width:28px}.w-\[2px\]{width:2px}.w-\[30px\]{width:30px}.w-\[32px\]{width:32px}.w-\[345px\]{width:345px}.w-\[34px\]{width:34px}.w-\[36px\]{width:36px}.w-\[39px\]{width:39px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[48px\]{width:48px}.w-\[50px\]{width:50px}.w-\[56px\]{width:56px}.w-\[60px\]{width:60px}.w-\[62px\]{width:62px}.w-\[68px\]{width:68px}.w-\[80px\]{width:80px}.w-\[92px\]{width:92px}.w-\[99px\]{width:99px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1440px\]{max-width:1440px}.max-w-\[345px\]{max-width:345px}.max-w-\[440px\]{max-width:440px}.max-w-\[647px\]{max-width:647px}.max-w-\[720px\]{max-width:720px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-\[8px\]{--tw-translate-y:-8px}.-translate-y-\[8px\],.translate-y-\[8px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[8px\]{--tw-translate-y:8px}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[15px\]{gap:15px}.gap-\[16px\]{gap:16px}.gap-\[20px\]{gap:20px}.gap-\[24px\]{gap:24px}.gap-\[26px\]{gap:26px}.gap-\[2px\]{gap:2px}.gap-\[32px\]{gap:32px}.gap-\[3px\]{gap:3px}.gap-\[48px\]{gap:48px}.gap-\[4px\]{gap:4px}.gap-\[60px\]{gap:60px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.gap-x-\[12px\]{-moz-column-gap:12px;column-gap:12px}.gap-x-\[20px\]{-moz-column-gap:20px;column-gap:20px}.gap-x-\[8px\]{-moz-column-gap:8px;column-gap:8px}.gap-y-\[14px\]{row-gap:14px}.gap-y-\[2px\]{row-gap:2px}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-\[20px\]{border-radius:20px}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[rgba\(0\2c 0\2c 0\2c 0\.16\)\]{border-color:rgba(0,0,0,.16)}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.border-\[var\(--brand-primary\)\]{border-color:var(--brand-primary)}.border-\[var\(--text-primary\)\]{border-color:var(--text-primary)}.bg-\[\#1FB67C\]{--tw-bg-opacity:1;background-color:rgb(31 182 124/var(--tw-bg-opacity,1))}.bg-\[\#1bba85\]{--tw-bg-opacity:1;background-color:rgb(27 186 133/var(--tw-bg-opacity,1))}.bg-\[\#edf2ff\]{--tw-bg-opacity:1;background-color:rgb(237 242 255/var(--tw-bg-opacity,1))}.bg-\[\#f4f5f4\]{--tw-bg-opacity:1;background-color:rgb(244 245 244/var(--tw-bg-opacity,1))}.bg-\[var\(--border-default\)\]{background-color:var(--border-default)}.bg-\[var\(--brand-primary\)\]{background-color:var(--brand-primary)}.bg-\[var\(--brand-secondary\)\]{background-color:var(--brand-secondary)}.bg-\[var\(--brand-secondary\2c \#edf2ff\)\]{background-color:var(--brand-secondary,#edf2ff)}.bg-\[var\(--brand-tint\2c \#edf2ff\)\]{background-color:var(--brand-tint,#edf2ff)}.bg-\[var\(--text-primary\)\]{background-color:var(--text-primary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#1bba85\]{--tw-gradient-from:#1bba85 var(--tw-gradient-from-position);--tw-gradient-to:rgba(27,186,133,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[70\%\]{--tw-gradient-from-position:70%}.from-\[80\%\]{--tw-gradient-from-position:80%}.from-\[90\%\]{--tw-gradient-from-position:90%}.to-\[\#909090\]{--tw-gradient-to:#909090 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-\[70\%\]{--tw-gradient-to-position:70%}.to-\[80\%\]{--tw-gradient-to-position:80%}.to-\[90\%\]{--tw-gradient-to-position:90%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-right{-o-object-position:right;object-position:right}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-\[20px\]{padding:20px}.p-\[20px_10px\]{padding:20px 10px}.p-\[2px\]{padding:2px}.p-\[3px\]{padding:3px}.p-\[4px\]{padding:4px}.px-\[0\]{padding-left:0;padding-right:0}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[15px\]{padding-left:15px;padding-right:15px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[24px\]{padding-left:24px;padding-right:24px}.px-\[27px\]{padding-left:27px;padding-right:27px}.px-\[4px\]{padding-left:4px;padding-right:4px}.px-\[8px\]{padding-left:8px;padding-right:8px}.px-\[9px\]{padding-left:9px;padding-right:9px}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[12px\]{padding-top:12px;padding-bottom:12px}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[16px\]{padding-top:16px;padding-bottom:16px}.py-\[20px\]{padding-top:20px;padding-bottom:20px}.py-\[24px\]{padding-top:24px;padding-bottom:24px}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[40px\]{padding-top:40px;padding-bottom:40px}.py-\[4px\]{padding-top:4px;padding-bottom:4px}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pb-\[16px\]{padding-bottom:16px}.pb-\[20px\]{padding-bottom:20px}.pb-\[24px\]{padding-bottom:24px}.pb-\[8px\]{padding-bottom:8px}.pl-\[8px\]{padding-left:8px}.pr-\[10px\]{padding-right:10px}.pr-\[92px\]{padding-right:92px}.pt-\[10px\]{padding-top:10px}.pt-\[12px\]{padding-top:12px}.pt-\[20px\]{padding-top:20px}.pt-\[24px\]{padding-top:24px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:system-ui,sans-serif}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[42px\]{font-size:42px}.text-\[48px\]{font-size:48px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-\[20px\]{line-height:20px}.leading-none{line-height:1}.tracking-\[-0\.06px\]{letter-spacing:-.06px}.tracking-\[-0\.07px\]{letter-spacing:-.07px}.tracking-\[-0\.08px\]{letter-spacing:-.08px}.tracking-\[-0\.09px\]{letter-spacing:-.09px}.tracking-\[-0\.14px\]{letter-spacing:-.14px}.tracking-\[-0\.16px\]{letter-spacing:-.16px}.tracking-\[-0\.1px\]{letter-spacing:-.1px}.tracking-\[-0\.22px\]{letter-spacing:-.22px}.tracking-\[-0\.24px\]{letter-spacing:-.24px}.tracking-\[-0\.2px\]{letter-spacing:-.2px}.tracking-\[2px\]{letter-spacing:2px}.text-\[\#1bba85\]{--tw-text-opacity:1;color:rgb(27 186 133/var(--tw-text-opacity,1))}.text-\[\#b70101\]{--tw-text-opacity:1;color:rgb(183 1 1/var(--tw-text-opacity,1))}.text-\[\#ffb800\]{--tw-text-opacity:1;color:rgb(255 184 0/var(--tw-text-opacity,1))}.text-\[color\:var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--brand-primary\)\]{color:var(--brand-primary)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_-4px_16px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{--tw-shadow:0 -4px 16px rgba(0,0,0,.12);--tw-shadow-colored:0 -4px 16px var(--tw-shadow-color)}.shadow-\[0_-4px_16px_rgba\(0\2c 0\2c 0\2c 0\.12\)\],.shadow-\[0_0_0_5px_\#d5ddf3\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_5px_\#d5ddf3\]{--tw-shadow:0 0 0 5px #d5ddf3;--tw-shadow-colored:0 0 0 5px var(--tw-shadow-color)}.shadow-\[0px_2px_8px_0px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{--tw-shadow:0px 2px 8px 0px rgba(0,0,0,.08);--tw-shadow-colored:0px 2px 8px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (min-width:768px){.md\:static{position:static}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:mb-\[12px\]{margin-bottom:12px}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:aspect-\[128\/128\]{aspect-ratio:128/128}.md\:h-\[220px\]{height:220px}.md\:h-\[22px\]{height:22px}.md\:h-\[26px\]{height:26px}.md\:h-\[45px\]{height:45px}.md\:h-\[56px\]{height:56px}.md\:h-\[80px\]{height:80px}.md\:h-full{height:100%}.md\:w-\[131px\]{width:131px}.md\:w-\[150px\]{width:150px}.md\:w-\[179px\]{width:179px}.md\:w-\[22px\]{width:22px}.md\:w-\[26px\]{width:26px}.md\:w-\[320px\]{width:320px}.md\:w-\[40px\]{width:40px}.md\:w-\[440px\]{width:440px}.md\:w-\[45\%\]{width:45%}.md\:w-\[45px\]{width:45px}.md\:w-\[68px\]{width:68px}.md\:w-auto{width:auto}.md\:max-w-\[440px\]{max-width:440px}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:gap-10{gap:2.5rem}.md\:gap-12{gap:3rem}.md\:gap-4{gap:1rem}.md\:gap-\[10px\]{gap:10px}.md\:gap-\[12px\]{gap:12px}.md\:gap-\[16px\]{gap:16px}.md\:gap-\[2\.2px\]{gap:2.2px}.md\:gap-\[20px\]{gap:20px}.md\:gap-\[24px\]{gap:24px}.md\:gap-\[26px\]{gap:26px}.md\:gap-\[32px\]{gap:32px}.md\:gap-\[3px\]{gap:3px}.md\:gap-\[40px\]{gap:40px}.md\:gap-\[8px\]{gap:8px}.md\:gap-x-\[10px\]{-moz-column-gap:10px;column-gap:10px}.md\:gap-x-\[26px\]{-moz-column-gap:26px;column-gap:26px}.md\:self-stretch{align-self:stretch}.md\:rounded-\[16px\]{border-radius:16px}.md\:rounded-\[20px\]{border-radius:20px}.md\:rounded-\[3px\]{border-radius:3px}.md\:rounded-\[8px\]{border-radius:8px}.md\:object-bottom{-o-object-position:bottom;object-position:bottom}.md\:p-\[3px\]{padding:3px}.md\:px-0{padding-left:0;padding-right:0}.md\:px-\[10px\]{padding-left:10px;padding-right:10px}.md\:px-\[16px\]{padding-left:16px;padding-right:16px}.md\:px-\[20px\]{padding-left:20px;padding-right:20px}.md\:px-\[26px\]{padding-left:26px;padding-right:26px}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:py-\[14px\]{padding-top:14px;padding-bottom:14px}.md\:py-\[16px\]{padding-top:16px;padding-bottom:16px}.md\:py-\[32px\]{padding-top:32px;padding-bottom:32px}.md\:py-\[48px\]{padding-top:48px;padding-bottom:48px}.md\:py-\[8px\]{padding-top:8px;padding-bottom:8px}.md\:pb-\[20px\]{padding-bottom:20px}.md\:pr-0{padding-right:0}.md\:pr-\[26px\]{padding-right:26px}.md\:pt-\[14px\]{padding-top:14px}.md\:pt-\[16px\]{padding-top:16px}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-\[14px\]{font-size:14px}.md\:text-\[18px\]{font-size:18px}.md\:text-\[20px\]{font-size:20px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[36px\]{font-size:36px}.md\:text-\[53px\]{font-size:53px}.md\:text-\[60px\]{font-size:60px}.md\:tracking-\[-0\.07px\]{letter-spacing:-.07px}.md\:tracking-\[-0\.08px\]{letter-spacing:-.08px}.md\:tracking-\[-0\.09px\]{letter-spacing:-.09px}.md\:tracking-\[-0\.12px\]{letter-spacing:-.12px}.md\:tracking-\[-0\.16px\]{letter-spacing:-.16px}.md\:tracking-\[-0\.18px\]{letter-spacing:-.18px}.md\:tracking-\[-0\.19px\]{letter-spacing:-.19px}.md\:tracking-\[-0\.1px\]{letter-spacing:-.1px}.md\:tracking-\[-0\.3px\]{letter-spacing:-.3px}}@media (min-width:1024px){.lg\:mb-\[12px\]{margin-bottom:12px}.lg\:mt-\[20px\]{margin-top:20px}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:aspect-auto{aspect-ratio:auto}.lg\:h-\[18px\]{height:18px}.lg\:h-\[28px\]{height:28px}.lg\:h-\[32px\]{height:32px}.lg\:h-\[60px\]{height:60px}.lg\:min-h-\[522px\]{min-height:522px}.lg\:w-\[140px\]{width:140px}.lg\:w-\[200px\]{width:200px}.lg\:w-\[261px\]{width:261px}.lg\:w-\[28px\]{width:28px}.lg\:w-\[32px\]{width:32px}.lg\:w-\[470px\]{width:470px}.lg\:w-\[560px\]{width:560px}.lg\:w-\[580px\]{width:580px}.lg\:flex-1{flex:1 1 0%}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:items-stretch{align-items:stretch}.lg\:gap-12{gap:3rem}.lg\:gap-3{gap:.75rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-\[12px\]{gap:12px}.lg\:gap-\[140px\]{gap:140px}.lg\:gap-\[20px\]{gap:20px}.lg\:gap-\[2px\]{gap:2px}.lg\:gap-\[32px\]{gap:32px}.lg\:gap-\[40px\]{gap:40px}.lg\:gap-\[48px\]{gap:48px}.lg\:gap-\[60px\]{gap:60px}.lg\:gap-\[8px\]{gap:8px}.lg\:gap-x-\[12px\]{-moz-column-gap:12px;column-gap:12px}.lg\:gap-x-\[20px\]{-moz-column-gap:20px;column-gap:20px}.lg\:gap-x-\[32px\]{-moz-column-gap:32px;column-gap:32px}.lg\:gap-y-\[40px\]{row-gap:40px}.lg\:rounded-\[24px\]{border-radius:24px}.lg\:px-\[12px\]{padding-left:12px;padding-right:12px}.lg\:px-\[20px\]{padding-left:20px;padding-right:20px}.lg\:px-\[24px\]{padding-left:24px;padding-right:24px}.lg\:px-\[40px\]{padding-left:40px;padding-right:40px}.lg\:px-\[60px\]{padding-left:60px;padding-right:60px}.lg\:px-\[80px\]{padding-left:80px;padding-right:80px}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-\[16px\]{padding-top:16px;padding-bottom:16px}.lg\:py-\[20px\]{padding-top:20px;padding-bottom:20px}.lg\:py-\[40px\]{padding-top:40px;padding-bottom:40px}.lg\:py-\[60px\]{padding-top:60px;padding-bottom:60px}.lg\:pr-\[60px\]{padding-right:60px}.lg\:pt-\[16px\]{padding-top:16px}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[18px\]{font-size:18px}.lg\:text-\[24px\]{font-size:24px}.lg\:text-\[40px\]{font-size:40px}.lg\:text-\[44px\]{font-size:44px}.lg\:text-\[55px\]{font-size:55px}.lg\:tracking-\[-0\.08px\]{letter-spacing:-.08px}.lg\:tracking-\[-0\.09px\]{letter-spacing:-.09px}.lg\:tracking-\[-0\.12px\]{letter-spacing:-.12px}.lg\:tracking-\[-0\.1px\]{letter-spacing:-.1px}.lg\:tracking-\[-0\.22px\]{letter-spacing:-.22px}.lg\:tracking-\[-0\.2px\]{letter-spacing:-.2px}}@media (min-width:1280px){.xl\:px-\[120px\]{padding-left:120px;padding-right:120px}.xl\:px-\[160px\]{padding-left:160px;padding-right:160px}.xl\:pr-\[120px\]{padding-right:120px}}
|
|
2
|
+
html,body{font-family:system-ui,sans-serif!important}.demo-banner{position:relative;z-index:1;padding:16px;background:#09090b;color:#fff;font:16px/1.4 system-ui,sans-serif}.demo-banner strong{display:block;font-size:18px}.demo-banner nav{all:unset!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:16px!important;margin:8px 0!important}.demo-banner nav a{all:unset!important;display:block!important;flex:none!important;color:#91b9ff!important;text-decoration:underline!important;cursor:pointer!important;font:inherit!important}.demo-banner nav a:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}.demo-banner p{font-size:13px;margin:0}.demo-inert{pointer-events:none!important;cursor:default!important;opacity:.65}.checkout-reveal-panel{display:block!important}.swiper{position:relative;overflow:hidden}.swiper-wrapper{display:block}.swiper-slide{display:none}.swiper-slide:first-child{display:block}.swiper-button-prev,.swiper-button-next,.swiper-pagination{display:none!important}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Brand */
|
|
3
|
+
--brand-primary: #0f75ff;
|
|
4
|
+
--brand-secondary: #edf2ff;
|
|
5
|
+
--brand-accent: #22c55e;
|
|
6
|
+
|
|
7
|
+
/* Surfaces */
|
|
8
|
+
--surface-bg: #ffffff;
|
|
9
|
+
--surface-card: #f8faff;
|
|
10
|
+
--surface-alt: #f1f5ff;
|
|
11
|
+
|
|
12
|
+
/* Text */
|
|
13
|
+
--text-primary: #020b1e;
|
|
14
|
+
--text-secondary: #4a5568;
|
|
15
|
+
--text-inverse: #ffffff;
|
|
16
|
+
|
|
17
|
+
/* Border */
|
|
18
|
+
--border-default: #e2e8f0;
|
|
19
|
+
|
|
20
|
+
/* State */
|
|
21
|
+
--state-success: #22c55e;
|
|
22
|
+
--state-warning: #f59e0b;
|
|
23
|
+
--state-error: #ef4444;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Typography scale */
|
|
27
|
+
.text-display { font-size: 48px; font-weight: 700; line-height: 1.1; }
|
|
28
|
+
.text-heading-1 { font-size: 36px; font-weight: 700; line-height: 1.2; }
|
|
29
|
+
.text-heading-2 { font-size: 28px; font-weight: 700; line-height: 1.3; }
|
|
30
|
+
.text-heading-3 { font-size: 22px; font-weight: 600; line-height: 1.4; }
|
|
31
|
+
.text-body-lg { font-size: 18px; font-weight: 400; line-height: 1.7; }
|
|
32
|
+
.text-body { font-size: 16px; font-weight: 400; line-height: 1.7; }
|
|
33
|
+
.text-body-sm { font-size: 14px; font-weight: 400; line-height: 1.6; }
|
|
34
|
+
.text-caption { font-size: 12px; font-weight: 500; line-height: 1.5; }
|
|
35
|
+
.text-overline { font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: 0.08em; }
|