@zaip-ai/cli 3.4.0 → 3.6.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/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +1 -1
- package/dist/services/stack-install.d.ts.map +1 -1
- package/dist/services/stack-install.js +19 -9
- package/dist/services/stack-install.js.map +1 -1
- package/dist/services/stack-node.d.ts.map +1 -1
- package/dist/services/stack-node.js +1 -1
- package/dist/services/stack-node.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +95 -51
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-BDQR0U4a.js +2938 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-B9GWkEyN.css → ProjectSettingsPage-CQMhvzvJ.css} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-D46WWIKr.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-OulA4CoX.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-CqK3Psfy.js → TraceabilityWorkspace-BKBpJyLh.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-Ckxk_izu.js +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-Cl5EWx8R.js → index-Bas2TVju.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CqfSgtk9.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CxrG_wRI.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-OBJXZOwe.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +0 -2
- package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +7 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsCard.tsx +18 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsField.tsx +21 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.dom.test.ts +12 -1
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +16 -28
- package/templates/.agents/dashboard/apps/frontend/src/ProjectStackEditor.tsx +25 -4
- package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.test.tsx +26 -8
- package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.tsx +9 -28
- package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-help-dialog.css +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +4 -1
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +20 -9
- package/templates/.agents/dashboard/apps/frontend/src/pricing-settings-dialog.css +5 -5
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-copy.ts +13 -4
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-model.ts +25 -1
- package/templates/.agents/dashboard/apps/frontend/src/project-settings-workspace.css +28 -0
- package/templates/.agents/dashboard/apps/frontend/src/project-settings.test.ts +39 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/workspace-status.css +1 -14
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsEntityFilters.tsx +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +2 -2
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +73 -73
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +38 -6
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +3 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-pricing-provenance.test.ts +75 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +2 -2
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +4 -6
- package/templates/.agents/dashboard/tests/e2e/specs/work-board-hydration.ts +38 -0
- package/templates/.agents/design/.zaip-managed.json +83 -51
- package/templates/.agents/design/apps/catalog/dist/assets/index-Cv4VfxTQ.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-D1JaPXfV.css +1 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-D2miO4-O.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-mvD5mwcC.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +2 -2
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{CatalogShell-CvaciY0C.js → CatalogShell-BJ8b4xZr.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-DwBV1A1Y.js → Color-6AOWCN3U-CQLHzznn.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-kxWwSKin.js +146 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFilters.stories-Chm_dXV7.js +9 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DashboardFiltersSpecimen-9CaCbGIZ.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DesignSystem.stories-2OCgtT0I.js → DesignSystem.stories-ED52wFjY.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-CODg0rSl.js → DocsRenderer-JROSPFPF-BcLgM80v.js} +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Primitives-BmeKjJW4.js → Primitives-DV6Bpudf.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-C5MI-3uZ.js → WithTooltip-7X4HQR7L-BKNiAz_E.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WorkspaceStatus.stories-Tb_iQqVK.js → WorkspaceStatus.stories-BL19HGOo.js} +2 -2
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-DQnSS6s9.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-KSn75jcy.js → chunk-DRQKCCAG-DZBcXL-p.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-C4LS1Thf.js → chunk-W22LQPXL-CF3y2mfo.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-DV1BRgMY.js → components-BVjxMRGq.js} +5 -5
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Do9sjqiW.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-CBbPFx5G.js → iframe-CTWGZcEe.js} +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-C9IPGXtb.js → react-18-B9_a4mHb.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-NrUxok8K.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-ZgDQjyWI.js → syntaxhighlighter-YFXUGROL-F_p8E2xc.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-Cx9-gH6l.js → theming-fbSD9ZLF.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +3 -3
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +60 -60
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +26 -21
- package/templates/.agents/design/apps/catalog/src/components/StackVersionFieldSpecimen.tsx +66 -0
- package/templates/.agents/design/apps/catalog/src/components/WorkspaceStatusSpecimen.tsx +23 -7
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +20 -6
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +14 -0
- package/templates/.agents/design/apps/catalog/src/stories/WorkspaceStatus.stories.tsx +5 -2
- package/templates/.agents/design/apps/catalog/src/styles/components.css +1 -1
- package/templates/.agents/design/apps/catalog/src/styles/stack-version-field.css +79 -0
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +1 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/workflow.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +46 -15
- package/templates/.agents/runtime/checksums.sha256 +5 -5
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/provenance.json +4 -4
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -4
- package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +7 -7
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.mjs +1 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/consumer-release-preparation.test.mjs +9 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +25 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +2 -6
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.test.mjs +15 -1
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/template-manifest.json +216 -140
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-DVCPPV75.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cwylbh_N.css +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-3dqK5g3e.js +0 -142
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-CD54pw0-.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-BU_68im1.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-CEv2qkJT.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.catalog-shell{background:var(--surface-muted);min-height:100vh;color:var(--text);transition:background .18s,color .18s}.topbar{z-index:20;color:#f1f5f9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0e17f0;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;min-height:72px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;width:84px;height:40px;display:block}.brand-product{color:#f1f5f9;letter-spacing:.02em;border-left:1px solid #fff3;padding-left:12px;font-size:.84rem;font-weight:700}.topbar-actions{align-items:center;gap:14px;display:flex}.topbar nav{gap:8px;display:flex}.topbar nav a{color:#94a3b8;border-radius:999px;padding:9px 14px;text-decoration:none}.topbar nav a:hover,.topbar nav a[aria-current=page]{color:#00b0f0;background:#00b0f01f}.theme-toggle{color:#f1f5f9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 13px;font-size:.78rem;font-weight:700;display:inline-flex}.theme-toggle:hover{background:#00b0f01a;border-color:#00b0f08c}main{width:min(1180px,90vw);margin:0 auto;padding-bottom:80px}.page-intro{padding:clamp(72px,10vw,128px) 0 56px}.eyebrow,.metric-label{color:#006b91;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.05em;max-width:900px;margin:12px 0 0;font-size:clamp(2.5rem,6vw,4.25rem);line-height:1.05}.lede{color:#526176;max-width:760px;margin:24px 0 0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}.catalog-section{border-top:1px solid #dbe4ef;padding:48px 0}.section-heading{grid-template-columns:minmax(0,.75fr) minmax(260px,1fr);gap:32px;margin-bottom:28px;display:grid}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15}.section-heading p{color:#526176;margin:4px 0 0;line-height:1.65}.swatch-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.swatch{background:#fff;border:1px solid #dbe4ef;border-radius:24px;overflow:hidden;box-shadow:0 18px 48px #0f172a14}.swatch>div{border-bottom:1px solid #0f172a14;height:118px}.swatch strong,.swatch code,.swatch small{margin-inline:18px;display:block}.swatch strong{margin-top:16px}.swatch code{color:#006b91;margin-top:4px}.swatch small{color:#526176;margin-top:8px;margin-bottom:18px}.type-sample{border-bottom:1px solid #dbe4ef;padding:24px 0}.type-sample:last-child{border:0}.type-sample span{color:#006b91;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.72rem;font-weight:700;display:block}.type-display{letter-spacing:-.05em;font-size:clamp(2.2rem,5vw,4rem);font-weight:650;line-height:1.05}.type-heading{letter-spacing:-.035em;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:650;line-height:1.15}.type-body{max-width:720px;font-size:1rem;line-height:1.65}.two-column,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.row,.specimen-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.specimen-row:first-child{margin-top:0}.scale-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.scale-grid div{background:#fff;border:1px solid #dbe4ef;border-radius:16px;align-content:center;justify-items:center;gap:12px;min-height:112px;display:grid}.scale-grid span{background:#00b0f0;min-width:4px;height:20px;display:block}.scale-grid i{border:2px solid #00b0f0;width:48px;height:48px}.scale-grid code{color:#526176;font-size:.72rem}footer{color:#94a3b8;background:#0a0e17;border-top:1px solid #ffffff1f;justify-content:space-between;gap:20px;padding:28px 5vw;font-size:.8rem;display:flex}@media (width<=760px){.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding-block:14px}.topbar nav{width:100%}.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.topbar nav a{text-align:center;flex:1}main{width:min(100% - 32px,1180px)}.section-heading,.two-column,.form-grid,.dark-specimen{grid-template-columns:1fr}.semantic-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{flex-direction:column}}@media (width<=480px){.semantic-grid,.metric-grid{grid-template-columns:1fr}.scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.semantic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.semantic-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;align-items:flex-start;gap:16px;min-height:148px;padding:22px;display:flex}.semantic-success{background:linear-gradient(145deg, #16a34a1f, var(--surface) 72%);border-color:#16a34a4d}.semantic-warning{background:linear-gradient(145deg, #d977061f, var(--surface) 72%);border-color:#d9770652}.semantic-danger{background:linear-gradient(145deg, #dc26261a, var(--surface) 72%);border-color:#dc26264d}.semantic-dot{border:4px solid var(--surface);border-radius:50%;flex:none;width:18px;height:18px;margin-top:3px;box-shadow:0 0 0 1px}.semantic-card strong,.semantic-card code{display:block}.semantic-card p{color:var(--text-muted);margin:7px 0 14px;line-height:1.45}.semantic-card code{color:var(--text-secondary);font-size:.78rem}.dark-specimen{color:#f1f5f9;background:radial-gradient(circle at 88% 8%,#00b0f02b,#0000 28%),#0a0e17;border:1px solid #ffffff1f;border-radius:28px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;padding:clamp(24px,5vw,48px);display:grid;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.dark-specimen-copy>.eyebrow{color:#7dd3fc;margin-top:40px}.dark-specimen h3{letter-spacing:-.045em;max-width:620px;margin:10px 0 14px;font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.03}.dark-specimen-copy>p:not(.eyebrow){color:#94a3b8;max-width:600px;line-height:1.65}.dark-specimen .button-secondary{color:#7dd3fc}.dark-metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111827cc;border:1px solid #ffffff1f;border-radius:24px;align-self:end;padding:24px}.dark-metric-card>strong{color:#fff;letter-spacing:-.055em;margin:18px 0 32px;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1;display:block}.dark-status-row{flex-wrap:wrap;gap:8px;display:flex}.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#111827;--surface-muted:#0a0e17;--text:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border:#ffffff1f;--error-surface:#dc262624;--error-text:#fecaca}.theme-dark .catalog-section,.theme-dark .type-sample{border-color:var(--border)}.theme-dark .lede,.theme-dark .section-heading p,.theme-dark .swatch small,.theme-dark .scale-grid code{color:var(--text-muted)}.theme-dark .swatch,.theme-dark .scale-grid>div{border-color:var(--border);background:var(--surface);box-shadow:none}.theme-dark .swatch code,.theme-dark .type-sample span,.theme-dark .eyebrow,.theme-dark .metric-label{color:#7dd3fc}.theme-dark .swatch>div{border-color:var(--border)}.stack-version-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.stack-version-field-grid>.card:last-child{grid-column:span 2}.stack-version-field-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stack-version-field-heading h3{margin:8px 0 0;font-size:1.1rem}.stack-version-kind{border-radius:999px;flex:none;padding:5px 8px;font-size:.72rem;font-weight:700}.stack-version-kind.is-exact{color:#166534;background:#f0fdf4}.stack-version-kind.is-reference{background:var(--primary-soft);color:var(--primary-ink)}.stack-version-field{color:var(--text);gap:8px;margin-top:18px;font-size:.82rem;font-weight:700;display:grid}.stack-version-field input{background:var(--surface-muted);width:100%;min-height:44px;color:var(--text);font:inherit;text-overflow:ellipsis;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;font-size:.88rem;overflow:hidden}.stack-version-field input.is-reference-value{color:#075985;background:#effaff;border-color:#9edcf2;font-weight:650}.stack-version-field input:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 38%, transparent);outline-offset:2px}.stack-version-source{color:var(--text-muted);overflow-wrap:anywhere;margin:10px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}@media (width<=720px){.stack-version-field-grid,.stack-version-field-grid>.card:last-child{grid-column:auto;grid-template-columns:1fr}}.card{border:1px solid var(--border);background:var(--surface);border-radius:24px;padding:24px;box-shadow:0 18px 48px #0f172a14}.card-accent{background:linear-gradient(180deg, var(--primary-soft) 0%, #fff 100%)}.editorial-hero{isolation:isolate;background:radial-gradient(circle at 82% 20%, #00b0f03d, transparent 24%), linear-gradient(135deg, var(--secondary) 0%, var(--secondary-elevated) 100%);color:#f1f5f9;border:1px solid #ffffff1f;border-radius:32px;align-items:center;min-height:380px;padding:clamp(32px,7vw,76px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 70px #0f172a38}.editorial-hero-copy{z-index:1;max-width:720px;position:relative}.editorial-hero .eyebrow{color:#72f4fb}.editorial-hero h2{letter-spacing:-.05em;max-width:680px;margin:14px 0 18px;font-family:Inter,Poppins,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.5rem,6vw,4.25rem);font-weight:650;line-height:1.05}.editorial-hero-copy>p:not(.eyebrow){color:#cbd5e1;max-width:620px;margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.editorial-hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.editorial-hero .button-secondary{color:#f1f5f9;border-color:#ffffff4d}.editorial-hero .button-secondary:hover{border-color:var(--primary);background:#00b0f01f}.editorial-hero-orbit{z-index:0;aspect-ratio:1;border:1px solid #72f4fb47;border-radius:50%;width:min(48vw,540px);position:absolute;bottom:-42%;right:-12%;box-shadow:0 0 0 46px #00b0f00d,0 0 0 112px #00b0f009}.card h3{letter-spacing:-.025em;margin:24px 0 8px;font-size:1.45rem}.card>p{color:#526176;line-height:1.65}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;min-height:46px;padding:12px 22px;font-weight:700;transition:transform .15s,filter .15s,background .15s}.button:not(:disabled):hover{transform:translateY(-1px)}.button-primary{color:#042330;background:linear-gradient(135deg,#00b0f0 0%,#72f4fb 100%)}.button-secondary{color:#006b91;background:0 0;border-color:#00b0f073}.button-ghost{color:#0f172a;background:#fff;border-color:#dbe4ef}.button:disabled{opacity:.48;cursor:not-allowed}.badge{color:#475569;background:#eef2f7;border-radius:999px;align-items:center;width:fit-content;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-accent{color:#006b91;background:#dffcff}.badge-success{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fffbeb}.badge-error{color:#b91c1c;background:#fef2f2}.field{color:#0f172a;flex-direction:column;gap:8px;font-weight:650;display:flex}.field small,.field i{color:#526176;font-size:.78rem;font-style:normal;font-weight:400;line-height:1.5}.field input,.field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:16px;width:100%;min-height:48px;padding:12px 14px}.field input[aria-invalid=true]{border-color:#dc2626}.field em{color:#dc2626;font-size:.78rem;font-style:normal;font-weight:600}.form-grid{row-gap:24px}.filter-form{border:1px solid var(--border);background:var(--surface);border-radius:24px;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px;display:grid}.filter-form .button{white-space:nowrap}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin-top:14px;font-size:clamp(2rem,4vw,3rem);display:block}.metric-change{color:#526176;margin-bottom:0}.table-wrap{background:#fff;border:1px solid #dbe4ef;border-radius:24px;overflow-x:auto;box-shadow:0 18px 48px #0f172a14}table{border-collapse:collapse;width:100%;min-width:640px}th,td{border-bottom:1px solid var(--border);text-align:left;padding:16px 20px}th{color:#526176;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}tbody tr:last-child td{border-bottom:0}.table-wrap td small{color:#526176;margin-top:4px;display:block}.number{text-align:right;font-variant-numeric:tabular-nums}.empty-state{text-align:center;justify-items:center;padding:28px;display:grid}.empty-state h3{margin:18px 0 0}.empty-state p{max-width:440px;margin:8px 0 24px}.empty-icon{background:var(--primary-soft);color:#006b91;border-radius:24px;place-items:center;width:64px;height:64px;font-size:2rem;display:grid}.chart-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.chart-heading strong{margin-top:6px;display:block}.bar-chart{border-bottom:1px solid var(--border);background:linear-gradient(to top, var(--primary-wash), transparent 70%);grid-template-columns:repeat(6,minmax(20px,1fr));align-items:end;gap:clamp(8px,2vw,20px);height:220px;margin-top:28px;padding:18px 18px 0;display:grid}.bar-chart-column{align-items:end;height:100%;display:flex}.bar-chart-column i{width:100%;height:var(--bar-size);background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 48%, white) 0%, var(--primary) 55%, var(--primary-strong) 100%);border-radius:12px 12px 2px 2px;min-height:12px}.chart-caption{margin-bottom:0;font-size:.88rem}.dialog-backdrop{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-panel{border:1px solid var(--border);background:var(--surface);width:min(540px,100%);box-shadow:0 24px 72px var(--dialog-shadow);border-radius:24px;padding:24px}.dialog-panel header,.dialog-panel footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-panel h3,.state-panel h3{margin:6px 0 0}.dialog-panel footer{justify-content:flex-end;margin-top:24px}.dialog-close{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;font-size:1.35rem;display:grid}.state-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.state-grid>.card{height:100%}.state-panel{align-items:flex-start;gap:14px;display:flex}.state-panel p{color:var(--text-muted);margin:8px 0 0;line-height:1.55}.state-error{color:var(--error-text)}.state-error .button{margin-top:18px}.state-symbol,.loading-spinner{flex:none}.state-symbol{background:var(--error-surface);border-radius:16px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite catalog-spin}@keyframes catalog-spin{to{transform:rotate(360deg)}}.theme-dark .card,.theme-dark .table-wrap{border-color:var(--border);background:var(--surface);box-shadow:none}.theme-dark .card-accent{background:linear-gradient(180deg, #00b0f017 0%, var(--surface) 100%)}.theme-dark .card>p,.theme-dark .metric-change,.theme-dark .table-wrap td small,.theme-dark th,.theme-dark .field small,.theme-dark .field i{color:var(--text-muted)}.theme-dark .field{color:var(--text)}.theme-dark .field input,.theme-dark .field select,.theme-dark .button-ghost{border-color:var(--border);color:var(--text);background:#0f172a}.theme-dark .filter-form,.theme-dark .dialog-panel,.theme-dark .dialog-close{border-color:var(--border);background:var(--surface);color:var(--text)}.theme-dark .button-secondary{color:#7dd3fc}.theme-dark th,.theme-dark td,.theme-dark .bar-chart{border-color:var(--border)}.theme-dark .state-panel p{color:var(--text-muted)}@media (width<=900px){.filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form .button{width:100%}.state-grid{grid-template-columns:1fr}}@media (width<=560px){.editorial-hero{border-radius:24px;min-height:0}.editorial-hero-actions{flex-direction:column;align-items:stretch}.editorial-hero-actions .button{width:100%}.filter-form{grid-template-columns:1fr}.bar-chart{gap:7px;height:170px;padding-inline:8px}.dialog-panel footer{flex-direction:column-reverse;align-items:stretch}.dialog-panel footer .button{width:100%}}@media (prefers-reduced-motion:reduce){.editorial-hero-orbit{box-shadow:none}.loading-spinner{border-color:var(--primary);animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;--primary:#00b0f0;--primary-strong:#018abb;--primary-ink:#006b91;--primary-soft:#dffcff;--secondary:#0a0e17;--secondary-elevated:#111827;--surface:#fff;--surface-muted:#f5f7fb;--text:#0f172a;--text-secondary:#475569;--text-muted:#526176;--border:#dbe4ef;--neutral-border:#e2e8f0;--neutral-muted:#94a3b8;--neutral-surface:#f8fafc;--success:#16a34a;--success-ink:#166534;--warning:#d97706;--warning-ink:#92400e;--error:#dc2626;--error-ink:#b91c1c;--focus:#00b0f0;--overlay:#0a0e17b8;--dialog-shadow:#0f172a38;--primary-wash:#00b0f00d;--error-surface:#fef2f2;--error-text:var(--error-ink);font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f5f7fb;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #00b0f073}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition-duration:.01ms}}
|