@jaimevalasek/aioson 1.5.1 → 1.7.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/CHANGELOG.md +49 -0
- package/README.md +729 -226
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +10 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +9 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +915 -1
- package/docs/pt/design-hybrid-forge.md +356 -0
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +158 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/agent-loader.js +280 -0
- package/src/cli.js +329 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +163 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/health.js +214 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +364 -0
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +59 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/sandbox.js +37 -0
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +144 -32
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +9 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +18 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +475 -0
- package/src/installer.js +44 -10
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/parser.js +7 -1
- package/src/preflight-engine.js +443 -0
- package/src/recovery-context-session.js +154 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +158 -4
- package/src/sandbox.js +177 -0
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +10 -3
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +119 -3
- package/template/.aioson/agents/architect.md +98 -0
- package/template/.aioson/agents/design-hybrid-forge.md +141 -0
- package/template/.aioson/agents/dev.md +335 -14
- package/template/.aioson/agents/deyvin.md +117 -2
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +93 -0
- package/template/.aioson/agents/product.md +77 -4
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +249 -19
- package/template/.aioson/agents/setup.md +144 -12
- package/template/.aioson/agents/sheldon.md +237 -11
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +209 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +158 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -1
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +75 -1
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "pt.squarespace.com",
|
|
3
|
+
"name": "Squarespace Design System",
|
|
4
|
+
"source": "https://pt.squarespace.com/",
|
|
5
|
+
"extractedAt": "2026-03-31",
|
|
6
|
+
"theme": "light-dark",
|
|
7
|
+
"baseUnit": "4px",
|
|
8
|
+
"referenceSkill": null,
|
|
9
|
+
"type": "extracted",
|
|
10
|
+
"designPillars": [
|
|
11
|
+
"Sharp minimalism — zero border-radius",
|
|
12
|
+
"Bold typographic hierarchy — Clarkson font family",
|
|
13
|
+
"High contrast — black/white with teal accents"
|
|
14
|
+
],
|
|
15
|
+
"colors": {
|
|
16
|
+
"primary": "#000000",
|
|
17
|
+
"accent": "#1E4C41",
|
|
18
|
+
"background": "#FFFFFF",
|
|
19
|
+
"surface": "#F5F5F4"
|
|
20
|
+
},
|
|
21
|
+
"fonts": {
|
|
22
|
+
"display": "Clarkson, Helvetica, sans-serif",
|
|
23
|
+
"body": "Helvetica Neue, Helvetica, Arial, sans-serif",
|
|
24
|
+
"serif": "Clarkson Serif, Georgia, serif"
|
|
25
|
+
},
|
|
26
|
+
"breakpoints": {
|
|
27
|
+
"desktop": 1440,
|
|
28
|
+
"tablet": 768,
|
|
29
|
+
"mobile": 390
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Squarespace (pt.squarespace.com) Design System
|
|
2
|
+
|
|
3
|
+
> Extracted from https://pt.squarespace.com/ on 2026-03-31.
|
|
4
|
+
> Deep analysis completed 2026-04-01 via static file extraction (CSS/JS/fonts/media from saved site).
|
|
5
|
+
> Visual clone skill — do not use in unrelated projects without adapting the tokens.
|
|
6
|
+
|
|
7
|
+
## Identity
|
|
8
|
+
|
|
9
|
+
**Theme:** light (with dark hero/footer sections)
|
|
10
|
+
**Personality:** Clean, professional SaaS aesthetic with strong typographic hierarchy, minimal decoration, and bold black-white contrast punctuated by occasional teal accents.
|
|
11
|
+
|
|
12
|
+
## Design pillars
|
|
13
|
+
|
|
14
|
+
1. **Sharp minimalism** — Zero border-radius throughout; geometric precision dominates
|
|
15
|
+
2. **Bold typographic hierarchy** — Large headlines (Clarkson 300), clear size differentiation
|
|
16
|
+
3. **High contrast** — Black and white with teal accent; no gradients, no shadows
|
|
17
|
+
|
|
18
|
+
## Animation philosophy
|
|
19
|
+
|
|
20
|
+
**CSS-first, zero third-party libraries.** No GSAP, no Framer Motion, no AOS, no Lottie.
|
|
21
|
+
All animations are pure `@keyframes` + class toggling + `IntersectionObserver`.
|
|
22
|
+
|
|
23
|
+
Signature effects:
|
|
24
|
+
- CTA hover: `mix-blend-mode: difference` pseudo-element (not a color transition)
|
|
25
|
+
- Mobile menu: `clip-path: polygon()` swipe animation (not `translateX`)
|
|
26
|
+
- Link underline: `background-position` animated on two linear-gradients
|
|
27
|
+
- Scroll reveals: `IntersectionObserver` adds `.in-view`, CSS handles transition
|
|
28
|
+
|
|
29
|
+
## Local assets available
|
|
30
|
+
|
|
31
|
+
These files were extracted from the saved site and are ready to use directly:
|
|
32
|
+
|
|
33
|
+
**Fonts** (`public/fonts/`):
|
|
34
|
+
- `clarkson-300.woff2` — Clarkson Light (hero headlines)
|
|
35
|
+
- `clarkson-400.woff2` — Clarkson Regular (body, nav)
|
|
36
|
+
- `clarkson-500.woff2` — Clarkson Medium (CTAs, labels)
|
|
37
|
+
- `clarkson-serif-300.woff2` — Clarkson Serif Light
|
|
38
|
+
- `clarkson-serif-400.woff2` — Clarkson Serif Regular
|
|
39
|
+
|
|
40
|
+
**Videos** (`public/videos/pt.squarespace.com/`):
|
|
41
|
+
- `video-desktop.webm` + `.mp4` — Hero background video (1280×720)
|
|
42
|
+
- `video-mobile.webm` + `.mp4` — Hero background video, portrait-optimized
|
|
43
|
+
- `templates.webm` + `.mp4` — Template showcase animation
|
|
44
|
+
- `blueprint-ai.webm` + `.mp4` — AI blueprint feature demo
|
|
45
|
+
- `design-intelligence-3.mp4` — Design intelligence card video
|
|
46
|
+
- `conversion-centered.mp4` — Final CTA section video
|
|
47
|
+
|
|
48
|
+
> Reference files — replace with your own assets before publishing.
|
|
49
|
+
|
|
50
|
+
## When to use
|
|
51
|
+
|
|
52
|
+
Activate when building projects that need a professional, clean SaaS website aesthetic inspired by Squarespace's homepage — minimal, typography-forward, with dark hero sections and teal accents.
|
|
53
|
+
|
|
54
|
+
## Activation
|
|
55
|
+
|
|
56
|
+
Load `references/design-tokens.md` before writing any component.
|
|
57
|
+
Load `references/motion.md` before implementing any animation or interaction.
|
|
58
|
+
Load `references/components.md` to get the real class naming conventions and hover mechanics.
|
|
59
|
+
|
|
60
|
+
## Skill files
|
|
61
|
+
|
|
62
|
+
- `references/design-tokens.md` — CSS custom properties (colors, typography, spacing, real easing curves)
|
|
63
|
+
- `references/components.md` — Component patterns, real class names, CTA hover mechanics
|
|
64
|
+
- `references/patterns.md` — Page layout patterns with real section IDs
|
|
65
|
+
- `references/motion.md` — All 12 extracted @keyframes, exact timings, animation usage map
|
|
66
|
+
- `references/websites.md` — Complete page topology including all 11 sections
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
# Components — pt.squarespace.com
|
|
2
|
+
|
|
3
|
+
## Button
|
|
4
|
+
|
|
5
|
+
### Variants
|
|
6
|
+
|
|
7
|
+
| Variant | Description | Token Usage |
|
|
8
|
+
|---------|-------------|-------------|
|
|
9
|
+
| `primary` | Solid white bg, dark text | `bg: white`, `color: black` |
|
|
10
|
+
| `secondary` | Ghost/outline style | `border: 1px solid var(--border)` |
|
|
11
|
+
| `inline` | Text with arrow suffix | `color: var(--text-primary)` |
|
|
12
|
+
| `cta--light` | For dark backgrounds | `bg: white`, `color: black` |
|
|
13
|
+
| `cta--dark` | For light backgrounds | `bg: black`, `color: white` |
|
|
14
|
+
|
|
15
|
+
### States
|
|
16
|
+
|
|
17
|
+
- **default:** Base colors per variant
|
|
18
|
+
- **hover (primary/secondary):** `mix-blend-mode: difference` pseudo-element scales in — NOT a color transition. The white pseudo-element with blend mode creates a color inversion effect.
|
|
19
|
+
- **active:** Slight scale (0.98) if any
|
|
20
|
+
- **disabled:** `opacity: 0.5`, `pointer-events: none`
|
|
21
|
+
- **loading:** Spinner or text change
|
|
22
|
+
|
|
23
|
+
### CTA Hover Mechanic — mix-blend-mode: difference
|
|
24
|
+
|
|
25
|
+
**This is Squarespace's real CTA effect.** Do NOT implement as a simple `background-color` transition:
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
.cta--primary,
|
|
29
|
+
.cta--secondary {
|
|
30
|
+
position: relative;
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.cta--primary::after,
|
|
35
|
+
.cta--secondary::after {
|
|
36
|
+
content: '';
|
|
37
|
+
mix-blend-mode: difference;
|
|
38
|
+
background-color: white;
|
|
39
|
+
transform-origin: 0;
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
position: absolute;
|
|
43
|
+
top: 0;
|
|
44
|
+
left: 0;
|
|
45
|
+
transform: scaleX(0);
|
|
46
|
+
transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.cta--primary:hover::after,
|
|
50
|
+
.cta--secondary:hover::after {
|
|
51
|
+
transform: scaleX(1);
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Effect:** The white fill + `difference` blend mode inverts the button colors — a black button with white text becomes white with black text without any `color:` change.
|
|
56
|
+
|
|
57
|
+
### DOM Structure
|
|
58
|
+
```html
|
|
59
|
+
<a class="cta cta--primary cta--light">Button Text</a>
|
|
60
|
+
<!-- or -->
|
|
61
|
+
<button class="cta cta--primary">Button Text</button>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Tokens Applied
|
|
65
|
+
- `font-family: var(--font-display)`
|
|
66
|
+
- `font-size: var(--text-sm)`
|
|
67
|
+
- `font-weight: var(--font-medium)`
|
|
68
|
+
- `padding: var(--space-3) var(--space-4)`
|
|
69
|
+
- `border-radius: var(--radius-none)` (0px)
|
|
70
|
+
- `transition: var(--transition-all)`
|
|
71
|
+
- `cursor: pointer`
|
|
72
|
+
|
|
73
|
+
### Tertiary CTA — Sliding Underline (.cta--tertiary)
|
|
74
|
+
|
|
75
|
+
Text links with an animated dual-gradient underline. The underline slides in from left on hover and out to right on mouse-leave:
|
|
76
|
+
|
|
77
|
+
```css
|
|
78
|
+
.cta--tertiary {
|
|
79
|
+
background-image:
|
|
80
|
+
linear-gradient(currentColor, currentColor),
|
|
81
|
+
linear-gradient(currentColor, currentColor);
|
|
82
|
+
background-size: 100% 1px, 0% 1px;
|
|
83
|
+
background-repeat: no-repeat;
|
|
84
|
+
background-position: -200% 100%, -100% 100%;
|
|
85
|
+
animation: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) forwards ctaUnderlineSlideOut;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.cta--tertiary:hover {
|
|
89
|
+
animation: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) forwards ctaUnderlineSlideIn;
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Requires `@keyframes ctaUnderlineSlideIn / ctaUnderlineSlideOut` from `motion.md`.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Navigation
|
|
98
|
+
|
|
99
|
+
### Variants
|
|
100
|
+
|
|
101
|
+
| Variant | Description |
|
|
102
|
+
|---------|-------------|
|
|
103
|
+
| `desktop` | Horizontal links, logo left, CTAs right |
|
|
104
|
+
| `mobile` | Hamburger + slide-out drawer |
|
|
105
|
+
|
|
106
|
+
### States
|
|
107
|
+
|
|
108
|
+
- **default:** Transparent background initially
|
|
109
|
+
- **scrolled:** Solid background (e.g. `bg: white`) kicks in after ~50px scroll
|
|
110
|
+
- **mobile-open:** Hamburger becomes X, drawer wipes in from right via `clip-path` animation (NOT `translateX`)
|
|
111
|
+
|
|
112
|
+
### Mobile Menu — clip-path Swipe
|
|
113
|
+
|
|
114
|
+
The mobile drawer does NOT use `transform: translateX`. It uses `clip-path: polygon()` animation:
|
|
115
|
+
|
|
116
|
+
```css
|
|
117
|
+
/* Open */
|
|
118
|
+
.global-navigation__mobile-menu--open {
|
|
119
|
+
animation: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards swipeIn;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* Close */
|
|
123
|
+
.global-navigation__mobile-menu--close {
|
|
124
|
+
animation: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards swipeOut;
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Requires `@keyframes swipeIn / swipeOut` from `motion.md`. The menu covers full viewport, background `rgb(0, 0, 0)` with white links.
|
|
129
|
+
|
|
130
|
+
### Accordion (Mobile Nav)
|
|
131
|
+
|
|
132
|
+
Sub-menus use CSS grid transition — no JS height calculation:
|
|
133
|
+
|
|
134
|
+
```css
|
|
135
|
+
.global-navigation__accordion-content {
|
|
136
|
+
display: grid;
|
|
137
|
+
grid-template-rows: 0fr;
|
|
138
|
+
transition: grid-template-rows 0.7s cubic-bezier(0.165, 0.84, 0.44, 1),
|
|
139
|
+
padding 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
|
|
140
|
+
}
|
|
141
|
+
.global-navigation__accordion-content--open {
|
|
142
|
+
grid-template-rows: 1fr;
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### DOM Structure
|
|
147
|
+
```html
|
|
148
|
+
<header class="global-navigation">
|
|
149
|
+
<a class="global-navigation__logo-link">Logo</a>
|
|
150
|
+
<nav class="global-navigation__links">
|
|
151
|
+
<a class="cta cta--inline">Products</a>
|
|
152
|
+
<a class="cta cta--inline">Solutions</a>
|
|
153
|
+
<button class="cta cta--inline">Resources</button>
|
|
154
|
+
</nav>
|
|
155
|
+
<div class="global-navigation__cta">
|
|
156
|
+
<a class="cta cta--inline">Login</a>
|
|
157
|
+
<a class="cta cta--primary cta--light">Get Started</a>
|
|
158
|
+
</div>
|
|
159
|
+
<button class="global-navigation__hamb">☰</button>
|
|
160
|
+
</header>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Tokens Applied
|
|
164
|
+
- `font-family: var(--font-body)`
|
|
165
|
+
- `font-size: var(--text-base)`
|
|
166
|
+
- `font-weight: var(--font-normal)`
|
|
167
|
+
- `padding: var(--space-4) var(--space-4)`
|
|
168
|
+
- `gap: var(--space-4)`
|
|
169
|
+
- `transition: top var(--transition-medium) var(--ease-sqsp-cta)`
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Link
|
|
174
|
+
|
|
175
|
+
### Variants
|
|
176
|
+
|
|
177
|
+
| Variant | Description | Context |
|
|
178
|
+
|---------|-------------|---------|
|
|
179
|
+
| `nav-link` | Navigation links | Header |
|
|
180
|
+
| `footer-link` | Footer links | Footer |
|
|
181
|
+
| `cta--inline` | Inline CTA with arrow | Various |
|
|
182
|
+
|
|
183
|
+
### States
|
|
184
|
+
|
|
185
|
+
- **default:** `color: var(--text-primary)` or `var(--text-inverse)`
|
|
186
|
+
- **hover:** `color: var(--text-muted)`, optional underline
|
|
187
|
+
|
|
188
|
+
### Tokens Applied
|
|
189
|
+
- `font-family: var(--font-body)`
|
|
190
|
+
- `font-size: var(--text-base)`
|
|
191
|
+
- `font-weight: var(--font-normal)`
|
|
192
|
+
- `transition: var(--transition-colors)`
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Input
|
|
197
|
+
|
|
198
|
+
### Variants
|
|
199
|
+
|
|
200
|
+
| Variant | Description |
|
|
201
|
+
|---------|-------------|
|
|
202
|
+
| `text` | Standard text input |
|
|
203
|
+
| `domain` | Domain search input with search button |
|
|
204
|
+
|
|
205
|
+
### States
|
|
206
|
+
|
|
207
|
+
- **default:** `border: 1px solid var(--border)`
|
|
208
|
+
- **focus:** Border color changes to accent
|
|
209
|
+
- **error:** Border color `var(--error)`
|
|
210
|
+
- **disabled:** `opacity: 0.5`
|
|
211
|
+
|
|
212
|
+
### DOM Structure
|
|
213
|
+
```html
|
|
214
|
+
<div class="input-wrapper">
|
|
215
|
+
<input type="text" class="input input--domain" placeholder="Digite seu domínio">
|
|
216
|
+
</div>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Tokens Applied
|
|
220
|
+
- `background: var(--bg-base)`
|
|
221
|
+
- `border: 1px solid var(--border)`
|
|
222
|
+
- `border-radius: var(--radius-none)`
|
|
223
|
+
- `padding: var(--space-3)`
|
|
224
|
+
- `font-family: var(--font-body)`
|
|
225
|
+
- `font-size: var(--text-base)`
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Card
|
|
230
|
+
|
|
231
|
+
### Variants
|
|
232
|
+
|
|
233
|
+
| Variant | Description |
|
|
234
|
+
|---------|-------------|
|
|
235
|
+
| `feature-card` | Icon + title + description |
|
|
236
|
+
| `stat-card` | Large number + label |
|
|
237
|
+
| `pricing-card` | Price + features + CTA |
|
|
238
|
+
|
|
239
|
+
### States
|
|
240
|
+
|
|
241
|
+
- **default:** No shadow, flat design
|
|
242
|
+
- **hover:** May have subtle color shift
|
|
243
|
+
|
|
244
|
+
### Tokens Applied
|
|
245
|
+
- `background: var(--bg-surface)` or transparent
|
|
246
|
+
- `border-radius: var(--radius-none)`
|
|
247
|
+
- `box-shadow: var(--shadow-sm)` (none typically)
|
|
248
|
+
- `padding: var(--space-5)`
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Card Carousel (Platform / One Platform section)
|
|
253
|
+
|
|
254
|
+
A horizontally scrollable row of cards that loop. Each card holds a `<video>` or `<img>` with an absolute text label.
|
|
255
|
+
|
|
256
|
+
### DOM Structure
|
|
257
|
+
```html
|
|
258
|
+
<div class="card-carousel">
|
|
259
|
+
<div class="card-carousel__track">
|
|
260
|
+
<div class="card-carousel__card">
|
|
261
|
+
<video autoplay muted loop playsinline preload="none">
|
|
262
|
+
<source src="/videos/website-editing.webm" type="video/webm">
|
|
263
|
+
</video>
|
|
264
|
+
<span class="card-carousel__label">Edição de website</span>
|
|
265
|
+
</div>
|
|
266
|
+
<!-- repeat cards -->
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Key CSS
|
|
272
|
+
```css
|
|
273
|
+
.card-carousel__card {
|
|
274
|
+
position: relative;
|
|
275
|
+
flex-shrink: 0;
|
|
276
|
+
border-radius: var(--radius-none);
|
|
277
|
+
overflow: hidden;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.card-carousel__label {
|
|
281
|
+
position: absolute;
|
|
282
|
+
bottom: var(--space-4);
|
|
283
|
+
left: var(--space-4);
|
|
284
|
+
font-family: var(--font-display);
|
|
285
|
+
font-size: var(--text-sm);
|
|
286
|
+
color: var(--text-inverse);
|
|
287
|
+
background: rgba(0, 0, 0, 0.55);
|
|
288
|
+
padding: var(--space-2) var(--space-3);
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Cards use `preload="none"` — only hero video is eager-loaded.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Section
|
|
297
|
+
|
|
298
|
+
### Hero Section
|
|
299
|
+
- Full viewport dark background (`background: var(--bg-inverse)`)
|
|
300
|
+
- Video background: `<video autoPlay muted loop playsInline preload="auto">` with WebM + MP4 sources
|
|
301
|
+
- Dark overlay: `rgba(0, 0, 0, 0.52)` absolute layer over video
|
|
302
|
+
- Centered content
|
|
303
|
+
- Large headline: `font-family: var(--font-display)`, `font-size: var(--text-3xl)`, `font-weight: var(--font-light)`
|
|
304
|
+
- Single CTA button (`.cta--primary.cta--light`)
|
|
305
|
+
|
|
306
|
+
### Content Section
|
|
307
|
+
- Max-width container
|
|
308
|
+
- Light background
|
|
309
|
+
- H2 headline
|
|
310
|
+
- Grid or flex content layout
|
|
311
|
+
|
|
312
|
+
### CTA Section
|
|
313
|
+
- Colored background (teal or dark)
|
|
314
|
+
- Centered headline + CTA
|
|
315
|
+
- White text
|
|
316
|
+
|
|
317
|
+
### Footer
|
|
318
|
+
- Dark background (`bg: var(--bg-inverse)`)
|
|
319
|
+
- 4-column grid of links
|
|
320
|
+
- Bottom row with legal text
|
|
321
|
+
- `padding: var(--space-16) var(--space-8)`
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Typography Components
|
|
326
|
+
|
|
327
|
+
### Display Heading (H1)
|
|
328
|
+
```css
|
|
329
|
+
font-family: var(--font-display);
|
|
330
|
+
font-size: var(--text-3xl);
|
|
331
|
+
font-weight: var(--font-light);
|
|
332
|
+
color: var(--text-inverse);
|
|
333
|
+
line-height: var(--leading-tight);
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Section Heading (H2)
|
|
337
|
+
```css
|
|
338
|
+
font-family: var(--font-display);
|
|
339
|
+
font-size: var(--text-xl);
|
|
340
|
+
font-weight: var(--font-normal);
|
|
341
|
+
color: var(--text-primary);
|
|
342
|
+
line-height: var(--leading-normal);
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
### Serif Heading (H3)
|
|
346
|
+
```css
|
|
347
|
+
font-family: var(--font-serif);
|
|
348
|
+
font-size: var(--text-lg);
|
|
349
|
+
font-weight: var(--font-normal);
|
|
350
|
+
color: var(--text-inverse);
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Body Text
|
|
354
|
+
```css
|
|
355
|
+
font-family: var(--font-body);
|
|
356
|
+
font-size: var(--text-base);
|
|
357
|
+
font-weight: var(--font-normal);
|
|
358
|
+
color: var(--text-primary);
|
|
359
|
+
line-height: var(--leading-relaxed);
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### Caption/Muted
|
|
363
|
+
```css
|
|
364
|
+
font-family: var(--font-body);
|
|
365
|
+
font-size: var(--text-sm);
|
|
366
|
+
font-weight: var(--font-normal);
|
|
367
|
+
color: var(--text-muted);
|
|
368
|
+
```
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Design Tokens — pt.squarespace.com
|
|
2
|
+
|
|
3
|
+
```css
|
|
4
|
+
:root {
|
|
5
|
+
/* === COLORS === */
|
|
6
|
+
|
|
7
|
+
/* Background hierarchy */
|
|
8
|
+
--bg-base: rgb(255, 255, 255); /* White page background */
|
|
9
|
+
--bg-surface: rgb(245, 245, 244); /* Off-white section background */
|
|
10
|
+
--bg-elevated: rgb(223, 221, 216); /* Light gray surfaces */
|
|
11
|
+
--bg-inverse: rgb(0, 0, 0); /* Black — hero, footer */
|
|
12
|
+
--bg-charcoal: rgb(26, 26, 26); /* Dark sections */
|
|
13
|
+
--bg-teal: rgb(30, 76, 65); /* Teal accent sections */
|
|
14
|
+
|
|
15
|
+
/* Text hierarchy */
|
|
16
|
+
--text-primary: rgb(0, 0, 0); /* Primary text on light */
|
|
17
|
+
--text-muted: rgb(137, 137, 137); /* Secondary/muted text */
|
|
18
|
+
--text-inverse: rgb(255, 255, 255); /* Text on dark backgrounds */
|
|
19
|
+
--text-light-gray: rgb(221, 221, 221);/* Light gray text */
|
|
20
|
+
|
|
21
|
+
/* Brand / Accent */
|
|
22
|
+
--accent: rgb(30, 76, 65); /* Teal accent color */
|
|
23
|
+
--accent-hover: rgb(50, 50, 50); /* Darker shade for hover */
|
|
24
|
+
|
|
25
|
+
/* Borders */
|
|
26
|
+
--border: rgb(221, 221, 221); /* Default border color */
|
|
27
|
+
--border-dark: rgb(50, 50, 50); /* Dark section borders */
|
|
28
|
+
|
|
29
|
+
/* Semantic */
|
|
30
|
+
--success: rgb(30, 76, 65); /* Teal as success */
|
|
31
|
+
--error: rgb(32, 6, 3); /* Dark red for errors */
|
|
32
|
+
--warning: rgb(137, 137, 137); /* Gray for warnings */
|
|
33
|
+
|
|
34
|
+
/* Overlays */
|
|
35
|
+
--overlay-light: rgba(255, 255, 255, 0.1);
|
|
36
|
+
--overlay-dark: rgba(0, 0, 0, 0.52); /* Hero video overlay — real value from index.css */
|
|
37
|
+
|
|
38
|
+
/* === TYPOGRAPHY === */
|
|
39
|
+
|
|
40
|
+
/* Font families */
|
|
41
|
+
--font-display: 'Clarkson', Helvetica, sans-serif;
|
|
42
|
+
--font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
43
|
+
--font-serif: 'Clarkson Serif', Georgia, serif;
|
|
44
|
+
--font-mono: 'Courier New', monospace;
|
|
45
|
+
|
|
46
|
+
/* Type scale (based on observed values) */
|
|
47
|
+
--text-xs: 12px;
|
|
48
|
+
--text-sm: 14px;
|
|
49
|
+
--text-base: 16px;
|
|
50
|
+
--text-lg: 20px;
|
|
51
|
+
--text-xl: 26px;
|
|
52
|
+
--text-2xl: 34px;
|
|
53
|
+
--text-3xl: 42px; /* Hero headline size */
|
|
54
|
+
|
|
55
|
+
/* Font weights */
|
|
56
|
+
--font-light: 300;
|
|
57
|
+
--font-normal: 400;
|
|
58
|
+
--font-medium: 500;
|
|
59
|
+
--font-semibold: 600;
|
|
60
|
+
--font-bold: 700;
|
|
61
|
+
|
|
62
|
+
/* Line heights */
|
|
63
|
+
--leading-tight: 1.2;
|
|
64
|
+
--leading-normal: 1.5;
|
|
65
|
+
--leading-relaxed: 1.75;
|
|
66
|
+
|
|
67
|
+
/* Letter spacing */
|
|
68
|
+
--tracking-tight: -0.02em;
|
|
69
|
+
--tracking-normal: 0;
|
|
70
|
+
--tracking-wide: 0.05em;
|
|
71
|
+
|
|
72
|
+
/* === SPACING === */
|
|
73
|
+
|
|
74
|
+
/* Base unit: 4px */
|
|
75
|
+
--space-1: 4px;
|
|
76
|
+
--space-2: 8px;
|
|
77
|
+
--space-3: 12px;
|
|
78
|
+
--space-4: 16px;
|
|
79
|
+
--space-5: 24px;
|
|
80
|
+
--space-6: 32px;
|
|
81
|
+
--space-8: 48px;
|
|
82
|
+
--space-10: 64px;
|
|
83
|
+
--space-12: 96px;
|
|
84
|
+
--space-16: 128px;
|
|
85
|
+
--space-20: 160px;
|
|
86
|
+
|
|
87
|
+
/* Section-specific spacing */
|
|
88
|
+
--section-padding-y: 80px;
|
|
89
|
+
--section-padding-x: 24px;
|
|
90
|
+
--hero-padding-y: 120px;
|
|
91
|
+
|
|
92
|
+
/* === RADIUS === */
|
|
93
|
+
|
|
94
|
+
/* Sharp corners — signature Squarespace aesthetic */
|
|
95
|
+
--radius-none: 0px; /* Default — sharp corners */
|
|
96
|
+
--radius-sm: 0px;
|
|
97
|
+
--radius-md: 0px;
|
|
98
|
+
--radius-lg: 0px;
|
|
99
|
+
--radius-full: 9999px; /* Only for pills/avatars if ever needed */
|
|
100
|
+
|
|
101
|
+
/* === SHADOWS === */
|
|
102
|
+
|
|
103
|
+
/* Minimal shadow usage — only when functionally necessary */
|
|
104
|
+
--shadow-sm: none;
|
|
105
|
+
--shadow-md: none;
|
|
106
|
+
--shadow-lg: none;
|
|
107
|
+
--shadow-xl: none;
|
|
108
|
+
|
|
109
|
+
/* === MOTION === */
|
|
110
|
+
|
|
111
|
+
/* Timing functions — verbatim from pt.squarespace.com/css/index.css */
|
|
112
|
+
--ease-default: cubic-bezier(0.455, 0.03, 0.515, 0.955); /* General transitions */
|
|
113
|
+
--ease-sqsp-reveal: cubic-bezier(0.23, 1, 0.32, 1); /* Scroll reveals, stats — Squarespace signature ease */
|
|
114
|
+
--ease-sqsp-cta: cubic-bezier(0.645, 0.045, 0.355, 1); /* CTA hover, mobile menu, dropdowns */
|
|
115
|
+
--ease-sqsp-menu: cubic-bezier(0.165, 0.84, 0.44, 1); /* Mobile menu swipe, accordion */
|
|
116
|
+
--ease-out: ease-out;
|
|
117
|
+
--ease-in: ease-in;
|
|
118
|
+
--ease-in-out: ease-in-out;
|
|
119
|
+
|
|
120
|
+
/* Durations */
|
|
121
|
+
--transition-fast: 100ms; /* Micro color changes */
|
|
122
|
+
--transition-base: 200ms; /* Standard hover */
|
|
123
|
+
--transition-medium: 300ms; /* Nav dropdowns, CTA hover overlay */
|
|
124
|
+
--transition-slow: 400ms; /* Layout transitions */
|
|
125
|
+
--transition-reveal: 800ms; /* Scroll-triggered section reveals */
|
|
126
|
+
--transition-reveal-slow: 1200ms; /* Stats card reveal */
|
|
127
|
+
|
|
128
|
+
/* Full transition shorthand */
|
|
129
|
+
--transition-all: all var(--transition-medium) var(--ease-default);
|
|
130
|
+
--transition-colors: color var(--transition-base) var(--ease-default),
|
|
131
|
+
background-color var(--transition-base) var(--ease-default);
|
|
132
|
+
|
|
133
|
+
/* === LAYOUT === */
|
|
134
|
+
|
|
135
|
+
--container-max: 1200px;
|
|
136
|
+
--container-narrow: 800px;
|
|
137
|
+
--grid-gap: 32px;
|
|
138
|
+
--global-nav-height: 80px; /* Sticky nav height — used for hero padding-top offset */
|
|
139
|
+
--grid-gutter-width: 40px; /* Column gutter observed in content sections */
|
|
140
|
+
|
|
141
|
+
/* === Z-INDEX === */
|
|
142
|
+
|
|
143
|
+
--z-base: 0;
|
|
144
|
+
--z-dropdown: 100;
|
|
145
|
+
--z-sticky: 200;
|
|
146
|
+
--z-overlay: 300;
|
|
147
|
+
--z-modal: 400;
|
|
148
|
+
--z-toast: 500;
|
|
149
|
+
}
|
|
150
|
+
```
|