aimeat 2.1.0 → 2.2.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/dist/.env.example +9 -4
- package/dist/locales/en.json +28 -0
- package/dist/locales/fi.json +28 -0
- package/dist/public/cortex-bundled/aimeat-charts.js +158 -10
- package/dist/public/cortex-bundled/aimeat-charts.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-dag.js +515 -173
- package/dist/public/cortex-bundled/aimeat-dag.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-i18n.js +6 -1
- package/dist/public/cortex-bundled/aimeat-i18n.yaml +1 -1
- package/dist/public/cortex-bundled/aimeat-surface.js +577 -0
- package/dist/public/cortex-bundled/aimeat-surface.yaml +107 -0
- package/dist/public/cortex-bundled/aimeat-viewport.js +405 -0
- package/dist/public/cortex-bundled/aimeat-viewport.yaml +100 -0
- package/dist/public/css/views/inbox.css +1 -1
- package/dist/public/css/views/profile.css +9 -0
- package/dist/public/lib/VENDORED.md +6 -3
- package/dist/public/lib/aimeat-daisyui-bridge.css +39 -2
- package/dist/public/lib/aimeat-theme.css +538 -0
- package/dist/public/lib/fonts/LICENSE.md +11 -4
- package/dist/public/lib/fonts/fraunces-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/fraunces-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/inter-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/inter-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/jetbrains-mono-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/public/lib/fonts/space-grotesk-var-latin-ext.woff2 +0 -0
- package/dist/public/lib/fonts/space-grotesk-var-latin.woff2 +0 -0
- package/dist/public/lib/samples/theme-check.html +92 -0
- package/dist/public/lib/samples/themes-boot.js +20 -0
- package/dist/public/lib/samples/themes.html +154 -0
- package/dist/public/lib/samples/themes.js +60 -0
- package/dist/public/views/profile/access-tab/connected-apps.js +81 -5
- package/dist/public/views/profile/extensions-tab.maturity.js +4 -1
- package/dist/public/views/profile/inbox-tab/components.js +17 -1
- package/dist/public/views/profile/inbox-tab/use-thread-ux.js +29 -2
- package/dist/public/views/profile/libraries-tab.js +10 -2
- package/dist/public/views/profile/wallet-tab.js +64 -0
- package/dist/scripts/check-openapi.d.ts +2 -0
- package/dist/scripts/check-openapi.d.ts.map +1 -0
- package/dist/scripts/check-openapi.js +139 -0
- package/dist/scripts/check-openapi.js.map +1 -0
- package/dist/scripts/embed-viewport.d.ts +23 -0
- package/dist/scripts/embed-viewport.d.ts.map +1 -0
- package/dist/scripts/embed-viewport.js +116 -0
- package/dist/scripts/embed-viewport.js.map +1 -0
- package/dist/src/auth/sse-domain-scopes.d.ts +50 -0
- package/dist/src/auth/sse-domain-scopes.d.ts.map +1 -0
- package/dist/src/auth/sse-domain-scopes.js +111 -0
- package/dist/src/auth/sse-domain-scopes.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js +4 -1
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.js +14 -3
- package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +3 -0
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.js +4 -2
- package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.js +13 -1
- package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
- package/dist/src/commerce/__tests__/x402-registry.test.d.ts +2 -0
- package/dist/src/commerce/__tests__/x402-registry.test.d.ts.map +1 -0
- package/dist/src/commerce/__tests__/x402-registry.test.js +105 -0
- package/dist/src/commerce/__tests__/x402-registry.test.js.map +1 -0
- package/dist/src/commerce/evm-address.d.ts +21 -0
- package/dist/src/commerce/evm-address.d.ts.map +1 -0
- package/dist/src/commerce/evm-address.js +94 -0
- package/dist/src/commerce/evm-address.js.map +1 -0
- package/dist/src/commerce/money.d.ts +18 -5
- package/dist/src/commerce/money.d.ts.map +1 -1
- package/dist/src/commerce/money.js +27 -6
- package/dist/src/commerce/money.js.map +1 -1
- package/dist/src/commerce/x402-facilitator.d.ts +64 -13
- package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
- package/dist/src/commerce/x402-facilitator.js +71 -19
- package/dist/src/commerce/x402-facilitator.js.map +1 -1
- package/dist/src/commerce/x402-handler.d.ts +13 -7
- package/dist/src/commerce/x402-handler.d.ts.map +1 -1
- package/dist/src/commerce/x402-handler.js +23 -10
- package/dist/src/commerce/x402-handler.js.map +1 -1
- package/dist/src/commerce/x402.d.ts +11 -6
- package/dist/src/commerce/x402.d.ts.map +1 -1
- package/dist/src/commerce/x402.js +10 -7
- package/dist/src/commerce/x402.js.map +1 -1
- package/dist/src/config-types.d.ts +12 -0
- package/dist/src/config-types.d.ts.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +8 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/data/app-templates/shells.d.ts +11 -3
- package/dist/src/data/app-templates/shells.d.ts.map +1 -1
- package/dist/src/data/app-templates/shells.js +87 -6
- package/dist/src/data/app-templates/shells.js.map +1 -1
- package/dist/src/data/app-templates.js +2 -2
- package/dist/src/data/app-templates.js.map +1 -1
- package/dist/src/data/library-packs/cortex.d.ts.map +1 -1
- package/dist/src/data/library-packs/cortex.js +108 -5
- package/dist/src/data/library-packs/cortex.js.map +1 -1
- package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
- package/dist/src/data/library-packs/sdk.js +32 -8
- package/dist/src/data/library-packs/sdk.js.map +1 -1
- package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
- package/dist/src/data/library-packs/vendored.js +83 -6
- package/dist/src/data/library-packs/vendored.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +478 -19
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/agent-tasks.d.ts +4 -0
- package/dist/src/mcp/agent-tasks.d.ts.map +1 -1
- package/dist/src/mcp/agent-tasks.js +20 -2
- package/dist/src/mcp/agent-tasks.js.map +1 -1
- package/dist/src/mcp/capabilities.d.ts +7 -1
- package/dist/src/mcp/capabilities.d.ts.map +1 -1
- package/dist/src/mcp/capabilities.js +5 -2
- package/dist/src/mcp/capabilities.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/commerce.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/commerce.js +4 -2
- package/dist/src/mcp/catalog/definitions/commerce.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.js +4 -3
- package/dist/src/mcp/catalog/definitions/discovery-work-boards.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js +1 -1
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js +3 -2
- package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js.map +1 -1
- package/dist/src/mcp/catalog/output-schemas.d.ts +6 -1
- package/dist/src/mcp/catalog/output-schemas.d.ts.map +1 -1
- package/dist/src/mcp/catalog/output-schemas.js +6 -1
- package/dist/src/mcp/catalog/output-schemas.js.map +1 -1
- package/dist/src/mcp/commerce.d.ts.map +1 -1
- package/dist/src/mcp/commerce.js +15 -3
- package/dist/src/mcp/commerce.js.map +1 -1
- package/dist/src/mcp/core-storage.d.ts +23 -0
- package/dist/src/mcp/core-storage.d.ts.map +1 -0
- package/dist/src/mcp/core-storage.js +157 -0
- package/dist/src/mcp/core-storage.js.map +1 -0
- package/dist/src/mcp/core.d.ts +16 -0
- package/dist/src/mcp/core.d.ts.map +1 -1
- package/dist/src/mcp/core.js +75 -119
- package/dist/src/mcp/core.js.map +1 -1
- package/dist/src/mcp/dm-messages.d.ts +4 -0
- package/dist/src/mcp/dm-messages.d.ts.map +1 -1
- package/dist/src/mcp/dm-messages.js +43 -2
- package/dist/src/mcp/dm-messages.js.map +1 -1
- package/dist/src/mcp/exchange.d.ts.map +1 -1
- package/dist/src/mcp/exchange.js +3 -2
- package/dist/src/mcp/exchange.js.map +1 -1
- package/dist/src/mcp/extensions.d.ts.map +1 -1
- package/dist/src/mcp/extensions.js +6 -2
- package/dist/src/mcp/extensions.js.map +1 -1
- package/dist/src/mcp/index.d.ts +5 -0
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js +23 -4
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/memory-namespace-hints.d.ts +33 -0
- package/dist/src/mcp/memory-namespace-hints.d.ts.map +1 -0
- package/dist/src/mcp/memory-namespace-hints.js +60 -0
- package/dist/src/mcp/memory-namespace-hints.js.map +1 -0
- package/dist/src/mcp/workspaces.d.ts +5 -0
- package/dist/src/mcp/workspaces.d.ts.map +1 -1
- package/dist/src/mcp/workspaces.js +5 -3
- package/dist/src/mcp/workspaces.js.map +1 -1
- package/dist/src/models/agent-task-schemas.d.ts +25 -3
- package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
- package/dist/src/models/agent-task-schemas.js +16 -0
- package/dist/src/models/agent-task-schemas.js.map +1 -1
- package/dist/src/models/app-tool-schemas.d.ts +518 -1
- package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
- package/dist/src/models/app-tool-schemas.js +53 -1
- package/dist/src/models/app-tool-schemas.js.map +1 -1
- package/dist/src/models/odps-schemas.d.ts +305 -0
- package/dist/src/models/odps-schemas.d.ts.map +1 -0
- package/dist/src/models/odps-schemas.js +182 -0
- package/dist/src/models/odps-schemas.js.map +1 -0
- package/dist/src/models/offer-schemas.d.ts +357 -2
- package/dist/src/models/offer-schemas.d.ts.map +1 -1
- package/dist/src/models/offer-schemas.js +37 -0
- package/dist/src/models/offer-schemas.js.map +1 -1
- package/dist/src/models/schemas.d.ts +6 -3
- package/dist/src/models/schemas.d.ts.map +1 -1
- package/dist/src/models/schemas.js +10 -1
- package/dist/src/models/schemas.js.map +1 -1
- package/dist/src/models/webhook-schemas.d.ts +8 -8
- package/dist/src/routes/agent-tasks/create-read.d.ts +4 -0
- package/dist/src/routes/agent-tasks/create-read.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks/create-read.js +20 -1
- package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.js +10 -0
- package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
- package/dist/src/routes/agents/offers.d.ts +2 -0
- package/dist/src/routes/agents/offers.d.ts.map +1 -1
- package/dist/src/routes/agents/offers.js +0 -0
- package/dist/src/routes/agents/offers.js.map +1 -1
- package/dist/src/routes/app-grants.d.ts +6 -0
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +55 -25
- package/dist/src/routes/app-grants.js.map +1 -1
- package/dist/src/routes/apps/drafts.d.ts +3 -0
- package/dist/src/routes/apps/drafts.d.ts.map +1 -1
- package/dist/src/routes/apps/drafts.js +63 -1
- package/dist/src/routes/apps/drafts.js.map +1 -1
- package/dist/src/routes/apps/publish.d.ts +2 -0
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +17 -2
- package/dist/src/routes/apps/publish.js.map +1 -1
- package/dist/src/routes/commerce.d.ts.map +1 -1
- package/dist/src/routes/commerce.js +122 -2
- package/dist/src/routes/commerce.js.map +1 -1
- package/dist/src/routes/exchange-market.d.ts +6 -2
- package/dist/src/routes/exchange-market.d.ts.map +1 -1
- package/dist/src/routes/exchange-market.js +154 -28
- package/dist/src/routes/exchange-market.js.map +1 -1
- package/dist/src/routes/exchange.d.ts.map +1 -1
- package/dist/src/routes/exchange.js +5 -2
- package/dist/src/routes/exchange.js.map +1 -1
- package/dist/src/routes/extensions/actions.d.ts.map +1 -1
- package/dist/src/routes/extensions/actions.js +18 -0
- package/dist/src/routes/extensions/actions.js.map +1 -1
- package/dist/src/routes/extensions/crud.d.ts.map +1 -1
- package/dist/src/routes/extensions/crud.js +36 -3
- package/dist/src/routes/extensions/crud.js.map +1 -1
- package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -1
- package/dist/src/routes/extensions/entitlement-gate.js +13 -0
- package/dist/src/routes/extensions/entitlement-gate.js.map +1 -1
- package/dist/src/routes/extensions/manifest.d.ts +6 -0
- package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
- package/dist/src/routes/extensions/manifest.js +68 -1
- package/dist/src/routes/extensions/manifest.js.map +1 -1
- package/dist/src/routes/extensions/pacing.d.ts +31 -0
- package/dist/src/routes/extensions/pacing.d.ts.map +1 -0
- package/dist/src/routes/extensions/pacing.js +73 -0
- package/dist/src/routes/extensions/pacing.js.map +1 -0
- package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
- package/dist/src/routes/extensions/paywall.js +17 -17
- package/dist/src/routes/extensions/paywall.js.map +1 -1
- package/dist/src/routes/memory/crud.d.ts.map +1 -1
- package/dist/src/routes/memory/crud.js +10 -0
- package/dist/src/routes/memory/crud.js.map +1 -1
- package/dist/src/routes/organisms/crud.d.ts +3 -0
- package/dist/src/routes/organisms/crud.d.ts.map +1 -1
- package/dist/src/routes/organisms/crud.js +5 -2
- package/dist/src/routes/organisms/crud.js.map +1 -1
- package/dist/src/routes/organisms/workspace-read.d.ts.map +1 -1
- package/dist/src/routes/organisms/workspace-read.js +7 -2
- package/dist/src/routes/organisms/workspace-read.js.map +1 -1
- package/dist/src/routes/public-stats.d.ts +7 -0
- package/dist/src/routes/public-stats.d.ts.map +1 -1
- package/dist/src/routes/public-stats.js +28 -7
- package/dist/src/routes/public-stats.js.map +1 -1
- package/dist/src/routes/sse.d.ts +7 -0
- package/dist/src/routes/sse.d.ts.map +1 -1
- package/dist/src/routes/sse.js +36 -6
- package/dist/src/routes/sse.js.map +1 -1
- package/dist/src/routes/storage-files.d.ts +11 -0
- package/dist/src/routes/storage-files.d.ts.map +1 -1
- package/dist/src/routes/storage-files.js +58 -51
- package/dist/src/routes/storage-files.js.map +1 -1
- package/dist/src/routes/subdomains.d.ts +4 -0
- package/dist/src/routes/subdomains.d.ts.map +1 -1
- package/dist/src/routes/subdomains.js +42 -5
- package/dist/src/routes/subdomains.js.map +1 -1
- package/dist/src/routes/upload.d.ts +11 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +108 -28
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/routes/webmcp.d.ts.map +1 -1
- package/dist/src/routes/webmcp.js +4 -0
- package/dist/src/routes/webmcp.js.map +1 -1
- package/dist/src/schemas/knowledge-package.d.ts +1 -1
- package/dist/src/server-bootstrap/static-files.d.ts +4 -0
- package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
- package/dist/src/server-bootstrap/static-files.js +11 -0
- package/dist/src/server-bootstrap/static-files.js.map +1 -1
- package/dist/src/services/build-app-prompt.d.ts +19 -0
- package/dist/src/services/build-app-prompt.d.ts.map +1 -1
- package/dist/src/services/build-app-prompt.js +97 -11
- package/dist/src/services/build-app-prompt.js.map +1 -1
- package/dist/src/services/call-timing.d.ts +51 -0
- package/dist/src/services/call-timing.d.ts.map +1 -0
- package/dist/src/services/call-timing.js +91 -0
- package/dist/src/services/call-timing.js.map +1 -0
- package/dist/src/services/capability-invoke.d.ts +2 -0
- package/dist/src/services/capability-invoke.d.ts.map +1 -1
- package/dist/src/services/capability-invoke.js +10 -0
- package/dist/src/services/capability-invoke.js.map +1 -1
- package/dist/src/services/config-schema.d.ts.map +1 -1
- package/dist/src/services/config-schema.js +6 -0
- package/dist/src/services/config-schema.js.map +1 -1
- package/dist/src/services/draft-token.d.ts +22 -2
- package/dist/src/services/draft-token.d.ts.map +1 -1
- package/dist/src/services/draft-token.js +52 -3
- package/dist/src/services/draft-token.js.map +1 -1
- package/dist/src/services/exchange-market.d.ts +41 -8
- package/dist/src/services/exchange-market.d.ts.map +1 -1
- package/dist/src/services/exchange-market.js +24 -2
- package/dist/src/services/exchange-market.js.map +1 -1
- package/dist/src/services/exchange-odps.d.ts +58 -0
- package/dist/src/services/exchange-odps.d.ts.map +1 -0
- package/dist/src/services/exchange-odps.js +400 -0
- package/dist/src/services/exchange-odps.js.map +1 -0
- package/dist/src/services/exchange-projection.d.ts +61 -0
- package/dist/src/services/exchange-projection.d.ts.map +1 -0
- package/dist/src/services/exchange-projection.js +504 -0
- package/dist/src/services/exchange-projection.js.map +1 -0
- package/dist/src/services/exchange-proposals.d.ts.map +1 -1
- package/dist/src/services/exchange-proposals.js +2 -0
- package/dist/src/services/exchange-proposals.js.map +1 -1
- package/dist/src/services/extension-files.d.ts +64 -0
- package/dist/src/services/extension-files.d.ts.map +1 -0
- package/dist/src/services/extension-files.js +88 -0
- package/dist/src/services/extension-files.js.map +1 -0
- package/dist/src/services/extension-runtime.d.ts +33 -0
- package/dist/src/services/extension-runtime.d.ts.map +1 -1
- package/dist/src/services/extension-runtime.js +52 -0
- package/dist/src/services/extension-runtime.js.map +1 -1
- package/dist/src/services/file-refs.d.ts +105 -0
- package/dist/src/services/file-refs.d.ts.map +1 -0
- package/dist/src/services/file-refs.js +106 -0
- package/dist/src/services/file-refs.js.map +1 -0
- package/dist/src/services/metered-entitlements.d.ts +7 -0
- package/dist/src/services/metered-entitlements.d.ts.map +1 -1
- package/dist/src/services/metered-entitlements.js +4 -0
- package/dist/src/services/metered-entitlements.js.map +1 -1
- package/dist/src/services/owner-memory.d.ts +14 -1
- package/dist/src/services/owner-memory.d.ts.map +1 -1
- package/dist/src/services/owner-memory.js +8 -14
- package/dist/src/services/owner-memory.js.map +1 -1
- package/dist/src/services/task-files.d.ts +51 -0
- package/dist/src/services/task-files.d.ts.map +1 -0
- package/dist/src/services/task-files.js +58 -0
- package/dist/src/services/task-files.js.map +1 -0
- package/dist/src/services/upload-token.d.ts +29 -0
- package/dist/src/services/upload-token.d.ts.map +1 -1
- package/dist/src/services/upload-token.js +37 -0
- package/dist/src/services/upload-token.js.map +1 -1
- package/dist/src/services/upload-zip.d.ts +2 -0
- package/dist/src/services/upload-zip.d.ts.map +1 -1
- package/dist/src/services/upload-zip.js +5 -1
- package/dist/src/services/upload-zip.js.map +1 -1
- package/dist/src/services/workspace-meta.d.ts +15 -0
- package/dist/src/services/workspace-meta.d.ts.map +1 -1
- package/dist/src/services/workspace-meta.js +17 -0
- package/dist/src/services/workspace-meta.js.map +1 -1
- package/dist/src/services/workspace-provision.d.ts +3 -0
- package/dist/src/services/workspace-provision.d.ts.map +1 -1
- package/dist/src/services/workspace-provision.js +5 -3
- package/dist/src/services/workspace-provision.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +10 -0
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts +2 -0
- package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/memory.js +12 -1
- package/dist/src/storage/providers/postgres-kysely/methods/memory.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +5 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrations/0012_unique_live_app_grant.sql +29 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts +3 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.js +7 -0
- package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/governance.d.ts +1 -0
- package/dist/src/storage/providers/sqlite/methods/governance.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/governance.js +4 -1
- package/dist/src/storage/providers/sqlite/methods/governance.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/owner.d.ts +5 -0
- package/dist/src/storage/providers/sqlite/methods/owner.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/owner.js +8 -0
- package/dist/src/storage/providers/sqlite/methods/owner.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts +3 -0
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +20 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts +9 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories/memory.repository.d.ts +14 -0
- package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories-impl/memory-repository.d.ts +8 -1
- package/dist/src/storage/repositories-impl/memory-repository.d.ts.map +1 -1
- package/dist/src/storage/repositories-impl/memory-repository.js +15 -4
- package/dist/src/storage/repositories-impl/memory-repository.js.map +1 -1
- package/dist/src/storage/types/agents-messaging.d.ts +19 -0
- package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
- package/dist/src/storage/types/agents-messaging.js.map +1 -1
- package/dist/src/storage/types/organisms-federation.d.ts +29 -0
- package/dist/src/storage/types/organisms-federation.d.ts.map +1 -1
- package/dist/src/utils/app-badge.d.ts.map +1 -1
- package/dist/src/utils/app-badge.js +7 -3
- package/dist/src/utils/app-badge.js.map +1 -1
- package/dist/static/app-catalog/_template.html +6 -5
- package/dist/static/app-catalog/js/cortex.js +3 -1
- package/dist/static/app-catalog/js/detail.js +411 -36
- package/dist/static/app-catalog/js/i18n-data.js +279 -3
- package/dist/static/app-catalog/js/main.js +28 -37
- package/dist/static/app-catalog/js/monetize.js +204 -16
- package/dist/static/app-catalog/js/odps.js +489 -0
- package/dist/static/app-catalog/js/render.js +3 -0
- package/dist/static/app-catalog/js/workcopy.js +198 -0
- package/dist/static/app-catalog/styles/app-catalog.css +60 -0
- package/dist/static/app-catalog.html +1450 -137
- package/dist/static/sdk-libs/agents/index.js +45 -7
- package/dist/static/sdk-libs/auth/cluster.js +97 -0
- package/dist/static/sdk-libs/auth/index.js +25 -1
- package/dist/static/sdk-libs/auth/locale.js +151 -0
- package/dist/static/sdk-libs/auth/modal.js +11 -2
- package/dist/static/sdk-libs/auth/palette.js +172 -0
- package/dist/static/sdk-libs/auth/pill.js +37 -6
- package/dist/static/sdk-libs/auth/theme.js +61 -20
- package/dist/static/sdk-libs/data/index.js +70 -8
- package/dist/static/sdk-libs/dist/aimeat-agents.js +41 -8
- package/dist/static/sdk-libs/dist/aimeat-auth.js +422 -21
- package/dist/static/sdk-libs/dist/aimeat-data.js +50 -8
- package/dist/static/sdk-libs/dist/aimeat-live.js +54 -2
- package/dist/static/sdk-libs/dist/aimeat-markdown.js +32 -1
- package/dist/static/sdk-libs/live/index.js +71 -4
- package/dist/static/sdk-libs/markdown/index.js +49 -1
- package/package.json +6 -2
|
@@ -11,7 +11,8 @@ with per-lib AI docs + changelogs) — keep this table and the registry in sync.
|
|
|
11
11
|
|------|---------|---------|---------|--------|---------|
|
|
12
12
|
| `tailwindcss@4.js` | `@tailwindcss/browser` | 4.3.1 | `styling` | `https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4` | MIT |
|
|
13
13
|
| `daisyui@5.css` | `daisyui` | 5.5.23 | `styling` | `https://cdn.jsdelivr.net/npm/daisyui@5` | MIT |
|
|
14
|
-
| `aimeat-
|
|
14
|
+
| `aimeat-theme.css` | AIMEAT-local (the theme SYSTEM: 5 palettes × light+dark on the `data-theme` × `data-palette` axes, self-hosted faces, elevation/motion/type tokens; verified by `pnpm check:theme`) | 2.0.0 | `styling` | this repo | MIT |
|
|
15
|
+
| `aimeat-daisyui-bridge.css` | AIMEAT-local (theme bridge; `@import`s the theme) | — | `styling` | this repo | MIT |
|
|
15
16
|
| `chartjs@4.js` | `chart.js` (UMD) | 4.5.1 | `chartjs` | `https://cdn.jsdelivr.net/npm/chart.js@4/dist/chart.umd.min.js` | MIT |
|
|
16
17
|
| `mermaid/mermaid.min.js` | `mermaid` (UMD) | 11.15.0 | `mermaid` | `node_modules/mermaid/dist` (see mermaid/README.md) | MIT |
|
|
17
18
|
| `three.min.js` | `three` (r128 UMD) | r128 | `three` | `https://cdn.jsdelivr.net/npm/three@0.128.0/build/three.min.js` | MIT |
|
|
@@ -20,10 +21,11 @@ with per-lib AI docs + changelogs) — keep this table and the registry in sync.
|
|
|
20
21
|
| `pixi-unsafe-eval@8.min.js` | `pixi.js` (unsafe-eval companion — REQUIRED after pixi under the app CSP) | 8.19.0 | `pixi` | `https://cdn.jsdelivr.net/npm/pixi.js@8/dist/packages/unsafe-eval.min.js` | MIT |
|
|
21
22
|
| `phaser@3.min.js` | `phaser` | 3.90.0 | `phaser` | `https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.min.js` | MIT |
|
|
22
23
|
| `drawflow@0.min.js` + `.min.css` | `drawflow` (engine INSIDE the aimeat-flow cortex — apps use AIMEAT.flow, never Drawflow directly) | 0.0.60 | `aimeat-flow` | `https://cdn.jsdelivr.net/npm/drawflow@0.0.60/dist/` | MIT |
|
|
23
|
-
| `fonts.css` + `fonts/*.woff2` | Baloo 2
|
|
24
|
+
| `fonts.css` + `fonts/*.woff2` | Baloo 2 + Bangers display fonts (the `fonts` pack, via `fonts.css`) AND the theme-system faces Inter, Space Grotesk, Fraunces, JetBrains Mono (declared by `aimeat-theme.css`, lazy-loaded per family). All latin + latin-ext (ä/ö); see `fonts/LICENSE.md` | Baloo 2 v23 · Bangers v25 · Inter v20 · Space Grotesk v22 · Fraunces v38 · JetBrains Mono v24 | `fonts` / `styling` | Google Fonts CDN (see `fonts/LICENSE.md`) | OFL-1.1 |
|
|
24
25
|
| `realtime.js` | AIMEAT-local (WS/WebRTC/Yjs client + `SharedClock` synced timeline) | 1 | `realtime` | this repo | MIT |
|
|
25
26
|
| `toastui/toastui-editor-all.min.js` + `.min.css` | TOAST UI Editor | (SPA-internal) | — | `https://uicdn.toast.com` | MIT |
|
|
26
|
-
| `
|
|
27
|
+
| `yaml.mjs` | `yaml` (ESM) | 2.x | `yaml` | jsdelivr | ISC |
|
|
28
|
+
| `preact.mjs`, `preact-hooks.mjs`, `htm.mjs`, `minidenticons.min.js` | preact / htm / minidenticons (ESM) | (SPA-internal, importmap) | — | jsdelivr | MIT |
|
|
27
29
|
| `live-updates.js` | AIMEAT-local (SSE ESM wrapper) | (SPA-internal) | — | this repo | MIT |
|
|
28
30
|
| `samples/` | audio samples for aimeat-audio | — | — | CC | CC |
|
|
29
31
|
|
|
@@ -51,6 +53,7 @@ The same append-only rule applies to the node-bundled cortex wrappers
|
|
|
51
53
|
|
|
52
54
|
```html
|
|
53
55
|
<link href="/lib/daisyui@5.css" rel="stylesheet" type="text/css" />
|
|
56
|
+
<link href="/lib/aimeat-theme.css" rel="stylesheet" type="text/css" />
|
|
54
57
|
<link href="/lib/aimeat-daisyui-bridge.css" rel="stylesheet" type="text/css" />
|
|
55
58
|
<script src="/lib/tailwindcss@4.js"></script>
|
|
56
59
|
<!-- charts: <script src="/lib/chartjs@4.js"></script> before aimeat-charts -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @file aimeat-daisyui-bridge.css
|
|
3
3
|
* @description Theme-compat layer so the bundled cortex UI libraries cohere with daisyUI.
|
|
4
|
+
* (0) Pulls in the AIMEAT daisyUI theme (aimeat-theme.css) so any app already loading this
|
|
5
|
+
* bridge gets the house palette — coral primary, the designed dark surface ramp and
|
|
6
|
+
* correct `-content` pairs — without editing the app. Before this, `--color-primary` was
|
|
7
|
+
* daisyUI's indigo and every branded app hardcoded `#E8564A` by hand.
|
|
4
8
|
* (1) Maps AIMEAT theme.css variable NAMES to daisyUI 5 theme variables so libs that read
|
|
5
9
|
* --text / --bg-card / --accent / … follow a daisyUI app's `data-theme` automatically.
|
|
6
10
|
* (2) Dark-mode polish: a few cortex components hardcode LIGHT colors (no var) — alerts,
|
|
@@ -8,12 +12,30 @@
|
|
|
8
12
|
* theme-aware tints (`:root .aui-*` wins on specificity). No changes to the libraries.
|
|
9
13
|
* Load this AFTER the daisyUI stylesheet. Hardcoded fallbacks keep it working if daisyUI
|
|
10
14
|
* vars are absent.
|
|
15
|
+
*
|
|
16
|
+
* NOTE on daisyUI's OWN components: they are not overridden here. With the theme loaded they
|
|
17
|
+
* are already theme-correct, and daisyUI 5 ships the quiet variants an app usually wants —
|
|
18
|
+
* `badge-soft`, `alert-soft`, `btn-soft`, `card-border`. Reach for those instead of a solid
|
|
19
|
+
* `badge-warning`, which is a loud block of amber on a dark page even when it is legible.
|
|
11
20
|
* @usage <link href="/lib/daisyui@5.css" rel="stylesheet" />
|
|
12
21
|
* <link href="/lib/aimeat-daisyui-bridge.css" rel="stylesheet" />
|
|
13
22
|
* @version-history
|
|
14
|
-
* v1.
|
|
23
|
+
* v1.3.0 — 2026-07-25 — FIX the --border collision: the bridge mapped --border to a COLOUR at
|
|
24
|
+
* :root for the aui-* cortex components, while daisyUI 5 uses the same name as a border WIDTH
|
|
25
|
+
* inside calc() on nearly every component — the invalid calc collapsed badge/input paddings to
|
|
26
|
+
* 0 and toggles to slivers on every bridge-loading page since v1.0.0. The colour mapping is now
|
|
27
|
+
* scoped to aui-* elements, with a --border-w restore for daisyUI components nested inside.
|
|
28
|
+
* v1.2.0 — 2026-07-25 — @import the AIMEAT daisyUI theme, so the house palette reaches every
|
|
29
|
+
* app that already loads the bridge. Contrast + surface ramp verified by
|
|
30
|
+
* `pnpm check:theme` (tools/theme-contrast.ts).
|
|
15
31
|
* v1.1.0 — 2026-06-26 — Map --bg-surface-dim (table zebra) + theme-aware alert/badge tints.
|
|
32
|
+
* v1.0.0 — 2026-06-26 — Initial bridge (cortex libs follow daisyUI theme).
|
|
16
33
|
*/
|
|
34
|
+
|
|
35
|
+
/* MUST be the first rule: @import is only valid ahead of ordinary rules. Same-origin, cached
|
|
36
|
+
alongside this file, and a no-op duplicate when the app also links the theme directly. */
|
|
37
|
+
@import url('/lib/aimeat-theme.css');
|
|
38
|
+
|
|
17
39
|
:root {
|
|
18
40
|
--text: var(--color-base-content, #1A1A2E);
|
|
19
41
|
--text-dim: color-mix(in oklab, var(--color-base-content, #6B7280) 70%, transparent);
|
|
@@ -24,7 +46,6 @@
|
|
|
24
46
|
--bg-surface-dim: color-mix(in oklab, var(--color-base-content, #111827) 5%, var(--color-base-100, #ffffff));
|
|
25
47
|
--bg-dim: var(--color-base-200, #f3f4f6);
|
|
26
48
|
--surface: var(--color-base-200, #f3f4f6);
|
|
27
|
-
--border: var(--color-base-300, #e5e7eb);
|
|
28
49
|
--accent: var(--color-primary, #e8564a);
|
|
29
50
|
--blue: var(--color-info, #3b82f6);
|
|
30
51
|
--danger: var(--color-error, #ef4444);
|
|
@@ -33,6 +54,22 @@
|
|
|
33
54
|
--warning: var(--color-warning, #f59e0b);
|
|
34
55
|
}
|
|
35
56
|
|
|
57
|
+
/* ── The --border name collision, fixed. The cortex `aui-*` components read `var(--border)` as a
|
|
58
|
+
border COLOUR; daisyUI 5 reads the same name as a border WIDTH in calc() maths on nearly every
|
|
59
|
+
component (`padding-inline: calc(var(--size)/2 - var(--border))` on .badge, toggle geometry,
|
|
60
|
+
input paddings…). Mapping the colour at :root (bridge v1.0.0–v1.2.0) made those calcs invalid
|
|
61
|
+
at computed-value time, so paddings collapsed to 0 and toggles rendered as slivers on EVERY
|
|
62
|
+
page that loaded this bridge. The colour is now scoped to elements that actually carry an
|
|
63
|
+
aui-* class, and daisyUI components nested inside an aui container get the palette's width
|
|
64
|
+
back via --border-w (declared per theme block in aimeat-theme.css). ── */
|
|
65
|
+
[class^='aui-'], [class*=' aui-'] {
|
|
66
|
+
--border: var(--color-base-300, #e5e7eb);
|
|
67
|
+
}
|
|
68
|
+
[class^='aui-'] :where(.btn, .badge, .toggle, .checkbox, .radio, .input, .select, .textarea, .file-input, .range, .tab, .tabs, .card, .alert, .table, .kbd, .status, .divider, .menu, .modal-box, .stats, .progress),
|
|
69
|
+
[class*=' aui-'] :where(.btn, .badge, .toggle, .checkbox, .radio, .input, .select, .textarea, .file-input, .range, .tab, .tabs, .card, .alert, .table, .kbd, .status, .divider, .menu, .modal-box, .stats, .progress) {
|
|
70
|
+
--border: var(--border-w, 1px);
|
|
71
|
+
}
|
|
72
|
+
|
|
36
73
|
/* ── Dark-mode polish: override the cortex libs' hardcoded light colors with theme-aware
|
|
37
74
|
tints. `:root .aui-*` (specificity 0,1,1) beats the libs' `.aui-*` (0,1,0) regardless
|
|
38
75
|
of stylesheet order. Tint = subtle wash of the semantic colour over the card bg; text
|
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @file aimeat-theme.css
|
|
3
|
+
* @description THE AIMEAT theme system — five designed palettes, each defining BOTH light and
|
|
4
|
+
* dark, expressed as daisyUI 5 theme variables so a published app gets a finished look without
|
|
5
|
+
* hardcoding a single hex value. Two orthogonal axes (the model proven by aimeat-tdr-cortex):
|
|
6
|
+
*
|
|
7
|
+
* data-theme="light" | "dark" MODE — the user's light/dark choice ('aimeat-theme' key)
|
|
8
|
+
* data-palette="paper" | ... PALETTE — which designed look ('aimeat-palette' key;
|
|
9
|
+
* absent = the default AIMEAT coral palette)
|
|
10
|
+
*
|
|
11
|
+
* Palettes (each with a personality beyond colour — its own display face, radii and border
|
|
12
|
+
* weight; body text is Inter everywhere so content stays quiet and legible):
|
|
13
|
+
* aimeat coral + slate steel, Inter, crisp 6px controls (the house default)
|
|
14
|
+
* paper warm editorial: cream/ink, bordeaux, Fraunces serif display
|
|
15
|
+
* circuit cold technical: steel/blueprint, cyan, JetBrains Mono display
|
|
16
|
+
* contrast high-contrast accessible: black/white, 2px borders, every pair >= 4.5:1
|
|
17
|
+
* mist quiet neutral: low-chroma sage/grey, soft 20px radii
|
|
18
|
+
*
|
|
19
|
+
* Every colour pair is verified by `pnpm check:theme` (tools/theme-contrast.ts), which parses
|
|
20
|
+
* the `@theme-block` markers below and holds each block to: -content pairs (4.5:1, or 3:1 when
|
|
21
|
+
* marked large/bold-UI-only), body text 4.5:1 on page AND card, the card-boundary step + edge,
|
|
22
|
+
* primary >= 3:1 against page and card (WCAG 1.4.11 — a button must be discernible), and the
|
|
23
|
+
* accuracy of every ratio claimed in a comment. Do not edit a colour without re-running it.
|
|
24
|
+
*
|
|
25
|
+
* ELEVATION DIRECTION — deliberately inverted vs daisyUI: base-200 (card) is ELEVATED above
|
|
26
|
+
* base-100 (page) in both modes. base-300 is the strongest separation — borders and dividers.
|
|
27
|
+
*
|
|
28
|
+
* FONTS are self-hosted at /lib/fonts/ (SIL OFL 1.1, latin + latin-ext so ä/ö render) and
|
|
29
|
+
* lazy-load per family: a page only downloads the faces its palette actually uses.
|
|
30
|
+
* @structure @font-face (Inter, Space Grotesk, Fraunces, JetBrains Mono) · shared tokens
|
|
31
|
+
* (type scale, motion, spacing) · per-mode elevation · 5 palettes x 2 modes (each tagged
|
|
32
|
+
* `@theme-block <palette> <mode>` for the verifier) · typography application rules
|
|
33
|
+
* @usage <link href="/lib/daisyui@5.css" rel="stylesheet" />
|
|
34
|
+
* <link href="/lib/aimeat-theme.css" rel="stylesheet" /> <-- after daisyUI
|
|
35
|
+
* <link href="/lib/aimeat-daisyui-bridge.css" rel="stylesheet" />
|
|
36
|
+
* The bridge @imports this file, so an app that already loads the bridge gets it with no edit.
|
|
37
|
+
* Deliberately UNLAYERED: daisyUI declares its themes inside `@layer base`, and any unlayered
|
|
38
|
+
* rule beats every layered one regardless of order or specificity.
|
|
39
|
+
* @version-history
|
|
40
|
+
* v2.1.0 — 2026-07-25 — Owner review round: the default (and mist) display face is Inter — the
|
|
41
|
+
* geometric Space Grotesk read wrong in the hero sizes (the faces stay vendored for apps);
|
|
42
|
+
* aimeat secondary is slate steel #45637A/#9AB8D0 (full 4.5:1+ pairs) instead of the purple;
|
|
43
|
+
* aimeat controls take circuit's crisper shape (field 6px, selector 4px); every block declares
|
|
44
|
+
* --border-w, the width mirror the bridge uses to undo its aui --border colour scoping.
|
|
45
|
+
* v2.0.0 — 2026-07-25 — The theme SYSTEM: data-palette axis (paper/circuit/contrast/mist next
|
|
46
|
+
* to the aimeat default), per-palette display faces (self-hosted OFL fonts), elevation/motion/
|
|
47
|
+
* type-scale tokens, and typography application (body=Inter, headings=palette display face).
|
|
48
|
+
* Additive: the default palette's colour values are unchanged from v1.0.0.
|
|
49
|
+
* v1.0.0 — 2026-07-25 — Initial AIMEAT daisyUI theme (single coral palette, light + dark).
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
/* ── SELF-HOSTED FACES (/lib/fonts/, SIL OFL 1.1 — see /lib/fonts/LICENSE.md) ──
|
|
53
|
+
Variable fonts, latin + latin-ext subsets. Browsers fetch a face only when a rendered
|
|
54
|
+
element actually uses it, so unused palettes cost nothing. */
|
|
55
|
+
@font-face {
|
|
56
|
+
font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
|
|
57
|
+
src: url('/lib/fonts/inter-var-latin.woff2') format('woff2');
|
|
58
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
59
|
+
}
|
|
60
|
+
@font-face {
|
|
61
|
+
font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
|
|
62
|
+
src: url('/lib/fonts/inter-var-latin-ext.woff2') format('woff2');
|
|
63
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
64
|
+
}
|
|
65
|
+
@font-face {
|
|
66
|
+
font-family: 'Space Grotesk'; font-style: normal; font-weight: 300 700; font-display: swap;
|
|
67
|
+
src: url('/lib/fonts/space-grotesk-var-latin.woff2') format('woff2');
|
|
68
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
69
|
+
}
|
|
70
|
+
@font-face {
|
|
71
|
+
font-family: 'Space Grotesk'; font-style: normal; font-weight: 300 700; font-display: swap;
|
|
72
|
+
src: url('/lib/fonts/space-grotesk-var-latin-ext.woff2') format('woff2');
|
|
73
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
74
|
+
}
|
|
75
|
+
@font-face {
|
|
76
|
+
font-family: 'Fraunces'; font-style: normal; font-weight: 100 900; font-display: swap;
|
|
77
|
+
src: url('/lib/fonts/fraunces-var-latin.woff2') format('woff2');
|
|
78
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
79
|
+
}
|
|
80
|
+
@font-face {
|
|
81
|
+
font-family: 'Fraunces'; font-style: normal; font-weight: 100 900; font-display: swap;
|
|
82
|
+
src: url('/lib/fonts/fraunces-var-latin-ext.woff2') format('woff2');
|
|
83
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
84
|
+
}
|
|
85
|
+
@font-face {
|
|
86
|
+
font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
|
|
87
|
+
src: url('/lib/fonts/jetbrains-mono-var-latin.woff2') format('woff2');
|
|
88
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
89
|
+
}
|
|
90
|
+
@font-face {
|
|
91
|
+
font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
|
|
92
|
+
src: url('/lib/fonts/jetbrains-mono-var-latin-ext.woff2') format('woff2');
|
|
93
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* ── SHARED TOKENS (palette-independent) ─────────────────────────────────────
|
|
97
|
+
Type scale: a real hierarchy an app can lean on instead of inventing sizes.
|
|
98
|
+
Motion: durations + easings for the cortex libs and app transitions.
|
|
99
|
+
Spacing rhythm: gaps that make unrelated apps read as one product. */
|
|
100
|
+
:root {
|
|
101
|
+
--text-hero: clamp(1.9rem, 1.3rem + 2.4vw, 2.75rem); /* the one biggest thing on the page */
|
|
102
|
+
--text-title: 1.375rem; /* section/card titles */
|
|
103
|
+
--text-body: 0.9375rem; /* default reading size (15px) */
|
|
104
|
+
--text-fine: 0.8125rem; /* captions/meta — never smaller (13px) */
|
|
105
|
+
|
|
106
|
+
--motion-fast: 120ms;
|
|
107
|
+
--motion-base: 200ms;
|
|
108
|
+
--motion-slow: 320ms;
|
|
109
|
+
--ease-out: cubic-bezier(0.2, 0.8, 0.3, 1);
|
|
110
|
+
--ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
|
|
111
|
+
|
|
112
|
+
--gap-card: 1rem; /* inside a card */
|
|
113
|
+
--gap-section: 1.5rem; /* between cards/sections */
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ── ELEVATION (follows MODE, not palette) ───────────────────────────────────
|
|
117
|
+
Three steps: card (resting), raise (hover/dragging), pop (menus/dialogs). Dark shadows in
|
|
118
|
+
both modes — light-on-dark "glow" shadows read as smears. */
|
|
119
|
+
:root,
|
|
120
|
+
[data-theme='light'] {
|
|
121
|
+
--elev-card: 0 1px 2px rgb(15 18 25 / 0.06), 0 4px 14px rgb(15 18 25 / 0.05);
|
|
122
|
+
--elev-raise: 0 2px 4px rgb(15 18 25 / 0.08), 0 10px 24px rgb(15 18 25 / 0.09);
|
|
123
|
+
--elev-pop: 0 4px 10px rgb(15 18 25 / 0.10), 0 18px 44px rgb(15 18 25 / 0.16);
|
|
124
|
+
}
|
|
125
|
+
[data-theme='dark'] {
|
|
126
|
+
--elev-card: 0 1px 2px rgb(0 0 0 / 0.45), 0 5px 16px rgb(0 0 0 / 0.30);
|
|
127
|
+
--elev-raise: 0 2px 5px rgb(0 0 0 / 0.50), 0 12px 28px rgb(0 0 0 / 0.38);
|
|
128
|
+
--elev-pop: 0 5px 12px rgb(0 0 0 / 0.55), 0 22px 52px rgb(0 0 0 / 0.48);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* ═══ PALETTE: aimeat (default — coral + slate, Space Grotesk display) ═══════ */
|
|
132
|
+
|
|
133
|
+
/* @theme-block aimeat light */
|
|
134
|
+
:root,
|
|
135
|
+
[data-theme='light'] {
|
|
136
|
+
color-scheme: light;
|
|
137
|
+
|
|
138
|
+
/* Surfaces. base-100 = page AND the default form-control fill, base-200 = card (elevated),
|
|
139
|
+
base-300 = wells + borders. The page must be a real step off a white card, or cards and the
|
|
140
|
+
inputs daisyUI fills with base-100 vanish (the v1.0.0 lesson — see check:theme). */
|
|
141
|
+
--color-base-100: #efeee8;
|
|
142
|
+
--color-base-200: #ffffff;
|
|
143
|
+
--color-base-300: #d9dbe1;
|
|
144
|
+
--color-base-content: #1a1a2e; /* 14.7:1 on base-100, 17.1:1 on base-200 */
|
|
145
|
+
|
|
146
|
+
/* Brand. Coral is the AIMEAT heart. */
|
|
147
|
+
--color-primary: #e8564a;
|
|
148
|
+
--color-primary-content: #ffffff; /* 3.6:1 — large/bold UI text only, per the SPA */
|
|
149
|
+
--color-secondary: #45637a;
|
|
150
|
+
--color-secondary-content: #ffffff; /* 6.3:1 */
|
|
151
|
+
--color-accent: #06b6d4;
|
|
152
|
+
--color-accent-content: #06253a; /* 6.5:1 — teal needs DARK content; white is 2.4:1 */
|
|
153
|
+
--color-neutral: #1a1a2e;
|
|
154
|
+
--color-neutral-content: #ffffff; /* 17.1:1 */
|
|
155
|
+
|
|
156
|
+
/* Semantic. */
|
|
157
|
+
--color-info: #3b82f6;
|
|
158
|
+
--color-info-content: #ffffff; /* 3.7:1 — large/bold UI text only */
|
|
159
|
+
--color-success: #10b981;
|
|
160
|
+
--color-success-content: #05271c; /* 6.3:1 — green is LIGHT; white fails at 2.5:1 */
|
|
161
|
+
--color-warning: #f59e0b;
|
|
162
|
+
--color-warning-content: #1a1a2e; /* 7.9:1 — amber is LIGHT; white fails at 2.2:1 */
|
|
163
|
+
--color-error: #ef4444;
|
|
164
|
+
--color-error-content: #ffffff; /* 3.8:1 — large/bold UI text only */
|
|
165
|
+
|
|
166
|
+
/* Shape + type. AIMEAT is generous on boxes, tighter on controls, flat + shadow. */
|
|
167
|
+
--radius-box: 16px;
|
|
168
|
+
--radius-field: 6px;
|
|
169
|
+
--radius-selector: 4px;
|
|
170
|
+
--border: 1px;
|
|
171
|
+
--border-w: 1px;
|
|
172
|
+
--depth: 0;
|
|
173
|
+
--noise: 0;
|
|
174
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
175
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
176
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
177
|
+
--display-tracking: -0.01em;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* @theme-block aimeat dark */
|
|
181
|
+
[data-theme='dark'] {
|
|
182
|
+
color-scheme: dark;
|
|
183
|
+
|
|
184
|
+
/* The designed dark ramp: real separation between page, card and edge. */
|
|
185
|
+
--color-base-100: #14151a;
|
|
186
|
+
--color-base-200: #21232e;
|
|
187
|
+
--color-base-300: #383c46;
|
|
188
|
+
--color-base-content: #edeef2; /* 15.7:1 on base-100, 13.5:1 on base-200 */
|
|
189
|
+
|
|
190
|
+
/* Brand. Coral is brightened for dark surfaces — the brand stays coral, the contrast holds. */
|
|
191
|
+
--color-primary: #ff6f62; /* 6.7:1 as text/icon on base-100 */
|
|
192
|
+
--color-primary-content: #14151a; /* 6.7:1 — white on this coral FAILS at 2.7:1 */
|
|
193
|
+
--color-secondary: #9ab8d0;
|
|
194
|
+
--color-secondary-content: #14151a; /* 8.8:1 */
|
|
195
|
+
--color-accent: #22d3ee;
|
|
196
|
+
--color-accent-content: #06253a; /* 8.7:1 */
|
|
197
|
+
--color-neutral: #23262f;
|
|
198
|
+
--color-neutral-content: #edeef2; /* 13.0:1 */
|
|
199
|
+
|
|
200
|
+
/* Semantic — brightened so they read as light-on-dark, with dark content on every fill. */
|
|
201
|
+
--color-info: #60a5fa;
|
|
202
|
+
--color-info-content: #0b1b33; /* 6.8:1 */
|
|
203
|
+
--color-success: #34d399;
|
|
204
|
+
--color-success-content: #05271c; /* 8.3:1 */
|
|
205
|
+
--color-warning: #fbbf24;
|
|
206
|
+
--color-warning-content: #1a1a2e; /* 10.2:1 */
|
|
207
|
+
--color-error: #f87171;
|
|
208
|
+
--color-error-content: #2a0a0a; /* 6.6:1 */
|
|
209
|
+
|
|
210
|
+
--radius-box: 16px;
|
|
211
|
+
--radius-field: 6px;
|
|
212
|
+
--radius-selector: 4px;
|
|
213
|
+
--border: 1px;
|
|
214
|
+
--border-w: 1px;
|
|
215
|
+
--depth: 0;
|
|
216
|
+
--noise: 0;
|
|
217
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
218
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
219
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
220
|
+
--display-tracking: -0.01em;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* ═══ PALETTE: paper (warm editorial — cream/ink, bordeaux, Fraunces display) ═
|
|
224
|
+
The `html[data-palette]` prefix outranks the base blocks (0,1,1 vs 0,1,0), and the
|
|
225
|
+
palette-dark block outranks palette-light (0,2,1) — so the cascade is decided by
|
|
226
|
+
specificity, never by source order. Every block is COMPLETE: all tokens, both modes. */
|
|
227
|
+
|
|
228
|
+
/* @theme-block paper light */
|
|
229
|
+
html[data-palette='paper'] {
|
|
230
|
+
color-scheme: light;
|
|
231
|
+
--color-base-100: #eae2cf;
|
|
232
|
+
--color-base-200: #fdfaf1;
|
|
233
|
+
--color-base-300: #d2c6aa;
|
|
234
|
+
--color-base-content: #26201a; /* 12.5:1 on base-100, 15.4:1 on base-200 */
|
|
235
|
+
--color-primary: #a03040;
|
|
236
|
+
--color-primary-content: #ffffff; /* 7.0:1 */
|
|
237
|
+
--color-secondary: #7d5a3c;
|
|
238
|
+
--color-secondary-content: #ffffff; /* 6.2:1 */
|
|
239
|
+
--color-accent: #3f6e58;
|
|
240
|
+
--color-accent-content: #ffffff; /* 5.9:1 */
|
|
241
|
+
--color-neutral: #26201a;
|
|
242
|
+
--color-neutral-content: #f7f2e8; /* 14.4:1 */
|
|
243
|
+
--color-info: #2f6da8;
|
|
244
|
+
--color-info-content: #ffffff; /* 5.4:1 */
|
|
245
|
+
--color-success: #2f7d4f;
|
|
246
|
+
--color-success-content: #ffffff; /* 5.0:1 */
|
|
247
|
+
--color-warning: #b9770a;
|
|
248
|
+
--color-warning-content: #26140a; /* 4.8:1 */
|
|
249
|
+
--color-error: #b03028;
|
|
250
|
+
--color-error-content: #ffffff; /* 6.4:1 */
|
|
251
|
+
--radius-box: 10px;
|
|
252
|
+
--radius-field: 8px;
|
|
253
|
+
--radius-selector: 4px;
|
|
254
|
+
--border: 1px;
|
|
255
|
+
--border-w: 1px;
|
|
256
|
+
--depth: 0;
|
|
257
|
+
--noise: 0;
|
|
258
|
+
--font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
|
|
259
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
260
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
261
|
+
--display-tracking: 0;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* @theme-block paper dark */
|
|
265
|
+
html[data-palette='paper'][data-theme='dark'] {
|
|
266
|
+
color-scheme: dark;
|
|
267
|
+
--color-base-100: #151110;
|
|
268
|
+
--color-base-200: #282017;
|
|
269
|
+
--color-base-300: #453b2d;
|
|
270
|
+
--color-base-content: #ece4d4; /* 14.8:1 on base-100, 12.7:1 on base-200 */
|
|
271
|
+
--color-primary: #e08590;
|
|
272
|
+
--color-primary-content: #2a0e14; /* 6.8:1 */
|
|
273
|
+
--color-secondary: #c9a06a;
|
|
274
|
+
--color-secondary-content: #241708; /* 7.3:1 */
|
|
275
|
+
--color-accent: #86c2a5;
|
|
276
|
+
--color-accent-content: #0c2a1c; /* 7.5:1 */
|
|
277
|
+
--color-neutral: #241e18;
|
|
278
|
+
--color-neutral-content: #ece4d4; /* 13.0:1 */
|
|
279
|
+
--color-info: #7fb3e3;
|
|
280
|
+
--color-info-content: #0d2135; /* 7.4:1 */
|
|
281
|
+
--color-success: #7fce9f;
|
|
282
|
+
--color-success-content: #0b2a18; /* 8.3:1 */
|
|
283
|
+
--color-warning: #e6b45a;
|
|
284
|
+
--color-warning-content: #2a1d05; /* 8.7:1 */
|
|
285
|
+
--color-error: #ee8f85;
|
|
286
|
+
--color-error-content: #2c0d0a; /* 7.6:1 */
|
|
287
|
+
--radius-box: 10px;
|
|
288
|
+
--radius-field: 8px;
|
|
289
|
+
--radius-selector: 4px;
|
|
290
|
+
--border: 1px;
|
|
291
|
+
--border-w: 1px;
|
|
292
|
+
--depth: 0;
|
|
293
|
+
--noise: 0;
|
|
294
|
+
--font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
|
|
295
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
296
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
297
|
+
--display-tracking: 0;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* ═══ PALETTE: circuit (cold technical — steel/blueprint, cyan, mono display) ═ */
|
|
301
|
+
|
|
302
|
+
/* @theme-block circuit light */
|
|
303
|
+
html[data-palette='circuit'] {
|
|
304
|
+
color-scheme: light;
|
|
305
|
+
--color-base-100: #e9edf1;
|
|
306
|
+
--color-base-200: #ffffff;
|
|
307
|
+
--color-base-300: #c3cdd8;
|
|
308
|
+
--color-base-content: #10181f; /* 15.2:1 on base-100, 17.9:1 on base-200 */
|
|
309
|
+
--color-primary: #0e7290;
|
|
310
|
+
--color-primary-content: #ffffff; /* 5.5:1 */
|
|
311
|
+
--color-secondary: #47566b;
|
|
312
|
+
--color-secondary-content: #ffffff; /* 7.5:1 */
|
|
313
|
+
--color-accent: #9a5b00;
|
|
314
|
+
--color-accent-content: #ffffff; /* 5.4:1 */
|
|
315
|
+
--color-neutral: #10181f;
|
|
316
|
+
--color-neutral-content: #e9edf1; /* 15.2:1 */
|
|
317
|
+
--color-info: #2563eb;
|
|
318
|
+
--color-info-content: #ffffff; /* 5.2:1 */
|
|
319
|
+
--color-success: #177245;
|
|
320
|
+
--color-success-content: #ffffff; /* 6.0:1 */
|
|
321
|
+
--color-warning: #a16207;
|
|
322
|
+
--color-warning-content: #ffffff; /* 4.9:1 */
|
|
323
|
+
--color-error: #c62828;
|
|
324
|
+
--color-error-content: #ffffff; /* 5.6:1 */
|
|
325
|
+
--radius-box: 8px;
|
|
326
|
+
--radius-field: 6px;
|
|
327
|
+
--radius-selector: 3px;
|
|
328
|
+
--border: 1px;
|
|
329
|
+
--border-w: 1px;
|
|
330
|
+
--depth: 0;
|
|
331
|
+
--noise: 0;
|
|
332
|
+
--font-display: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
333
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
334
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
335
|
+
--display-tracking: -0.02em;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* @theme-block circuit dark */
|
|
339
|
+
html[data-palette='circuit'][data-theme='dark'] {
|
|
340
|
+
color-scheme: dark;
|
|
341
|
+
--color-base-100: #0a0f14;
|
|
342
|
+
--color-base-200: #18202b;
|
|
343
|
+
--color-base-300: #31404f;
|
|
344
|
+
--color-base-content: #d9e4ee; /* 14.9:1 on base-100, 12.7:1 on base-200 */
|
|
345
|
+
--color-primary: #4fd2f2;
|
|
346
|
+
--color-primary-content: #062a35; /* 8.5:1 */
|
|
347
|
+
--color-secondary: #93a7c0;
|
|
348
|
+
--color-secondary-content: #101823; /* 7.2:1 */
|
|
349
|
+
--color-accent: #ffb454;
|
|
350
|
+
--color-accent-content: #2a1a02; /* 9.5:1 */
|
|
351
|
+
--color-neutral: #151c25;
|
|
352
|
+
--color-neutral-content: #d9e4ee; /* 13.3:1 */
|
|
353
|
+
--color-info: #74a9f7;
|
|
354
|
+
--color-info-content: #0c1b33; /* 7.2:1 */
|
|
355
|
+
--color-success: #56d493;
|
|
356
|
+
--color-success-content: #06281a; /* 8.5:1 */
|
|
357
|
+
--color-warning: #f2c14e;
|
|
358
|
+
--color-warning-content: #271d04; /* 9.9:1 */
|
|
359
|
+
--color-error: #f28b82;
|
|
360
|
+
--color-error-content: #2b0d09; /* 7.6:1 */
|
|
361
|
+
--radius-box: 8px;
|
|
362
|
+
--radius-field: 6px;
|
|
363
|
+
--radius-selector: 3px;
|
|
364
|
+
--border: 1px;
|
|
365
|
+
--border-w: 1px;
|
|
366
|
+
--depth: 0;
|
|
367
|
+
--noise: 0;
|
|
368
|
+
--font-display: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
369
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
370
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
371
|
+
--display-tracking: -0.02em;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/* ═══ PALETTE: contrast (high-contrast accessible — black/white, 2px borders) ═
|
|
375
|
+
Every -content pair >= 4.5:1 in both modes; edges are BOLD (>= 2.8:1 against both
|
|
376
|
+
neighbours) so boundaries survive low-vision and bright-sunlight conditions. */
|
|
377
|
+
|
|
378
|
+
/* @theme-block contrast light */
|
|
379
|
+
html[data-palette='contrast'] {
|
|
380
|
+
color-scheme: light;
|
|
381
|
+
--color-base-100: #e9e9e9;
|
|
382
|
+
--color-base-200: #ffffff;
|
|
383
|
+
--color-base-300: #8a8a8a;
|
|
384
|
+
--color-base-content: #000000; /* 17.3:1 on base-100, 21.0:1 on base-200 */
|
|
385
|
+
--color-primary: #1d4ed8;
|
|
386
|
+
--color-primary-content: #ffffff; /* 6.7:1 */
|
|
387
|
+
--color-secondary: #6d28d9;
|
|
388
|
+
--color-secondary-content: #ffffff; /* 7.1:1 */
|
|
389
|
+
--color-accent: #0e7490;
|
|
390
|
+
--color-accent-content: #ffffff; /* 5.4:1 */
|
|
391
|
+
--color-neutral: #000000;
|
|
392
|
+
--color-neutral-content: #ffffff; /* 21.0:1 */
|
|
393
|
+
--color-info: #1e5fa8;
|
|
394
|
+
--color-info-content: #ffffff; /* 6.4:1 */
|
|
395
|
+
--color-success: #15803d;
|
|
396
|
+
--color-success-content: #ffffff; /* 5.0:1 */
|
|
397
|
+
--color-warning: #ffd60a;
|
|
398
|
+
--color-warning-content: #241a00; /* 12.2:1 */
|
|
399
|
+
--color-error: #b91c1c;
|
|
400
|
+
--color-error-content: #ffffff; /* 6.5:1 */
|
|
401
|
+
--radius-box: 12px;
|
|
402
|
+
--radius-field: 8px;
|
|
403
|
+
--radius-selector: 4px;
|
|
404
|
+
--border: 2px;
|
|
405
|
+
--border-w: 2px;
|
|
406
|
+
--depth: 0;
|
|
407
|
+
--noise: 0;
|
|
408
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
409
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
410
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
411
|
+
--display-tracking: -0.01em;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/* @theme-block contrast dark */
|
|
415
|
+
html[data-palette='contrast'][data-theme='dark'] {
|
|
416
|
+
color-scheme: dark;
|
|
417
|
+
--color-base-100: #000000;
|
|
418
|
+
--color-base-200: #17171c;
|
|
419
|
+
--color-base-300: #62626c;
|
|
420
|
+
--color-base-content: #ffffff; /* 21.0:1 on base-100, 17.9:1 on base-200 */
|
|
421
|
+
--color-primary: #99c2ff;
|
|
422
|
+
--color-primary-content: #001433; /* 10.0:1 */
|
|
423
|
+
--color-secondary: #cdb1ff;
|
|
424
|
+
--color-secondary-content: #1d0a40; /* 9.7:1 */
|
|
425
|
+
--color-accent: #6fe3ff;
|
|
426
|
+
--color-accent-content: #003040; /* 9.4:1 */
|
|
427
|
+
--color-neutral: #ffffff;
|
|
428
|
+
--color-neutral-content: #000000; /* 21.0:1 */
|
|
429
|
+
--color-info: #8ab8ff;
|
|
430
|
+
--color-info-content: #001b3d; /* 8.5:1 */
|
|
431
|
+
--color-success: #6fe3a1;
|
|
432
|
+
--color-success-content: #00250f; /* 10.4:1 */
|
|
433
|
+
--color-warning: #ffd60a;
|
|
434
|
+
--color-warning-content: #241a00; /* 12.2:1 */
|
|
435
|
+
--color-error: #ff9d94;
|
|
436
|
+
--color-error-content: #300500; /* 9.2:1 */
|
|
437
|
+
--radius-box: 12px;
|
|
438
|
+
--radius-field: 8px;
|
|
439
|
+
--radius-selector: 4px;
|
|
440
|
+
--border: 2px;
|
|
441
|
+
--border-w: 2px;
|
|
442
|
+
--depth: 0;
|
|
443
|
+
--noise: 0;
|
|
444
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
445
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
446
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
447
|
+
--display-tracking: -0.01em;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* ═══ PALETTE: mist (quiet neutral — low-chroma sage/grey, soft radii) ═══════ */
|
|
451
|
+
|
|
452
|
+
/* @theme-block mist light */
|
|
453
|
+
html[data-palette='mist'] {
|
|
454
|
+
color-scheme: light;
|
|
455
|
+
--color-base-100: #e6eae4;
|
|
456
|
+
--color-base-200: #fbfcfa;
|
|
457
|
+
--color-base-300: #c6cec4;
|
|
458
|
+
--color-base-content: #2b322d; /* 10.8:1 on base-100, 12.8:1 on base-200 */
|
|
459
|
+
--color-primary: #47695a;
|
|
460
|
+
--color-primary-content: #ffffff; /* 6.1:1 */
|
|
461
|
+
--color-secondary: #5c6470;
|
|
462
|
+
--color-secondary-content: #ffffff; /* 6.0:1 */
|
|
463
|
+
--color-accent: #7a6455;
|
|
464
|
+
--color-accent-content: #ffffff; /* 5.6:1 */
|
|
465
|
+
--color-neutral: #2b322d;
|
|
466
|
+
--color-neutral-content: #f4f6f3; /* 12.1:1 */
|
|
467
|
+
--color-info: #4a7196;
|
|
468
|
+
--color-info-content: #ffffff; /* 5.1:1 */
|
|
469
|
+
--color-success: #4d7d5f;
|
|
470
|
+
--color-success-content: #ffffff; /* 4.8:1 */
|
|
471
|
+
--color-warning: #8a6d2f;
|
|
472
|
+
--color-warning-content: #ffffff; /* 4.9:1 */
|
|
473
|
+
--color-error: #9c4f47;
|
|
474
|
+
--color-error-content: #ffffff; /* 5.8:1 */
|
|
475
|
+
--radius-box: 20px;
|
|
476
|
+
--radius-field: 12px;
|
|
477
|
+
--radius-selector: 8px;
|
|
478
|
+
--border: 1px;
|
|
479
|
+
--border-w: 1px;
|
|
480
|
+
--depth: 0;
|
|
481
|
+
--noise: 0;
|
|
482
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
483
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
484
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
485
|
+
--display-tracking: 0;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/* @theme-block mist dark */
|
|
489
|
+
html[data-palette='mist'][data-theme='dark'] {
|
|
490
|
+
color-scheme: dark;
|
|
491
|
+
--color-base-100: #141715;
|
|
492
|
+
--color-base-200: #252b27;
|
|
493
|
+
--color-base-300: #414a44;
|
|
494
|
+
--color-base-content: #e2e6e2; /* 14.3:1 on base-100, 11.5:1 on base-200 */
|
|
495
|
+
--color-primary: #9cc0ae;
|
|
496
|
+
--color-primary-content: #10241a; /* 8.2:1 */
|
|
497
|
+
--color-secondary: #aeb6c0;
|
|
498
|
+
--color-secondary-content: #171b20; /* 8.4:1 */
|
|
499
|
+
--color-accent: #c2ab97;
|
|
500
|
+
--color-accent-content: #241a0e; /* 7.8:1 */
|
|
501
|
+
--color-neutral: #212523;
|
|
502
|
+
--color-neutral-content: #e2e6e2; /* 12.3:1 */
|
|
503
|
+
--color-info: #93b3d1;
|
|
504
|
+
--color-info-content: #101f2e; /* 7.6:1 */
|
|
505
|
+
--color-success: #97c6a6;
|
|
506
|
+
--color-success-content: #10241a; /* 8.5:1 */
|
|
507
|
+
--color-warning: #d3b878;
|
|
508
|
+
--color-warning-content: #241c08; /* 8.8:1 */
|
|
509
|
+
--color-error: #d49a92;
|
|
510
|
+
--color-error-content: #2a100c; /* 7.5:1 */
|
|
511
|
+
--radius-box: 20px;
|
|
512
|
+
--radius-field: 12px;
|
|
513
|
+
--radius-selector: 8px;
|
|
514
|
+
--border: 1px;
|
|
515
|
+
--border-w: 1px;
|
|
516
|
+
--depth: 0;
|
|
517
|
+
--noise: 0;
|
|
518
|
+
--font-display: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
519
|
+
--font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
520
|
+
--font-mono: 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
|
|
521
|
+
--display-tracking: 0;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/* ── TYPOGRAPHY APPLICATION ──────────────────────────────────────────────────
|
|
525
|
+
Font FAMILY only — never size or weight, which stay with the app's utility classes
|
|
526
|
+
(an unlayered `h1 { font-weight }` would silently override every `font-bold`).
|
|
527
|
+
Body text is the palette's body face; headings + .card-title get the display face,
|
|
528
|
+
which is where a palette's personality lives; code gets the mono face. */
|
|
529
|
+
body {
|
|
530
|
+
font-family: var(--font-body, 'Inter', 'Segoe UI', system-ui, sans-serif);
|
|
531
|
+
}
|
|
532
|
+
h1, h2, h3, h4, h5, h6, .card-title {
|
|
533
|
+
font-family: var(--font-display, 'Inter', 'Segoe UI', system-ui, sans-serif);
|
|
534
|
+
letter-spacing: var(--display-tracking, 0);
|
|
535
|
+
}
|
|
536
|
+
code, pre, kbd, samp {
|
|
537
|
+
font-family: var(--font-mono, 'JetBrains Mono', Consolas, monospace);
|
|
538
|
+
}
|