tinybeeai 0.0.0-stage → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.railway/railway.ts +83 -0
- package/.railway/tsconfig.json +13 -0
- package/AGENTS.md +102 -0
- package/Dockerfile +108 -0
- package/LICENSE +21 -0
- package/README.md +275 -2
- package/bin/localdost.js +29 -0
- package/bin/tinybeeai.js +28 -0
- package/compose.yml +63 -0
- package/demo/payloads/ci_failure.json +46 -0
- package/demo/payloads/outage.json +18 -0
- package/demo/payloads/pr_comment_edited.json +50 -0
- package/demo/payloads/pr_merged.json +80 -0
- package/demo/payloads/pr_opened.json +69 -0
- package/demo/payloads/pr_synchronize.json +69 -0
- package/demo/payloads/ticket_created.json +138 -0
- package/demo/sample-app/playwright.config.ts +20 -0
- package/demo/sample-app/server.ts +163 -0
- package/demo/sample-app/tests/checkout.spec.ts +13 -0
- package/demo/sample-app/tests/smoke.spec.ts +8 -0
- package/dist/agent/approval-retries.js +59 -0
- package/dist/agent/approval-retries.js.map +1 -0
- package/dist/agent/approvals.js +390 -0
- package/dist/agent/approvals.js.map +1 -0
- package/dist/agent/chat-bridge.js +154 -0
- package/dist/agent/chat-bridge.js.map +1 -0
- package/dist/agent/chat-lead.js +475 -0
- package/dist/agent/chat-lead.js.map +1 -0
- package/dist/agent/chat-loop.js +106 -0
- package/dist/agent/chat-loop.js.map +1 -0
- package/dist/agent/chat-mcp.js +49 -0
- package/dist/agent/chat-mcp.js.map +1 -0
- package/dist/agent/chat-tool-blocks.js +453 -0
- package/dist/agent/chat-tool-blocks.js.map +1 -0
- package/dist/agent/chat-view.js +94 -0
- package/dist/agent/chat-view.js.map +1 -0
- package/dist/agent/chat-views.js +781 -0
- package/dist/agent/chat-views.js.map +1 -0
- package/dist/agent/chat.js +1703 -0
- package/dist/agent/chat.js.map +1 -0
- package/dist/agent/destinations.js +150 -0
- package/dist/agent/destinations.js.map +1 -0
- package/dist/agent/llm-cli.js +451 -0
- package/dist/agent/llm-cli.js.map +1 -0
- package/dist/agent/llm-codex.js +493 -0
- package/dist/agent/llm-codex.js.map +1 -0
- package/dist/agent/llm-openai.js +211 -0
- package/dist/agent/llm-openai.js.map +1 -0
- package/dist/agent/llm.js +1464 -0
- package/dist/agent/llm.js.map +1 -0
- package/dist/agent/memory.js +33 -0
- package/dist/agent/memory.js.map +1 -0
- package/dist/agent/mock-views.js +93 -0
- package/dist/agent/mock-views.js.map +1 -0
- package/dist/agent/model-availability.js +207 -0
- package/dist/agent/model-availability.js.map +1 -0
- package/dist/agent/model-errors.js +188 -0
- package/dist/agent/model-errors.js.map +1 -0
- package/dist/agent/model-guard.js +311 -0
- package/dist/agent/model-guard.js.map +1 -0
- package/dist/agent/prompts.js +374 -0
- package/dist/agent/prompts.js.map +1 -0
- package/dist/agent/qa-lenses/qa-auth.md +32 -0
- package/dist/agent/qa-lenses/qa-check-then-act.md +33 -0
- package/dist/agent/qa-lenses/qa-control-has-no-effect.md +32 -0
- package/dist/agent/qa-lenses/qa-dates.md +31 -0
- package/dist/agent/qa-lenses/qa-double-submit.md +34 -0
- package/dist/agent/qa-lenses/qa-feature-flag.md +29 -0
- package/dist/agent/qa-lenses/qa-migration.md +35 -0
- package/dist/agent/qa-lenses/qa-money.md +38 -0
- package/dist/agent/qa-lenses/qa-response-shape-break.md +33 -0
- package/dist/agent/qa-lenses/qa-validation.md +29 -0
- package/dist/agent/qa-prompts.js +660 -0
- package/dist/agent/qa-prompts.js.map +1 -0
- package/dist/agent/reasoning.js +55 -0
- package/dist/agent/reasoning.js.map +1 -0
- package/dist/agent/redact.js +48 -0
- package/dist/agent/redact.js.map +1 -0
- package/dist/agent/rules.js +927 -0
- package/dist/agent/rules.js.map +1 -0
- package/dist/agent/runs.js +440 -0
- package/dist/agent/runs.js.map +1 -0
- package/dist/agent/send-retry.js +62 -0
- package/dist/agent/send-retry.js.map +1 -0
- package/dist/agent/team-notes.js +288 -0
- package/dist/agent/team-notes.js.map +1 -0
- package/dist/agent/token-meter.js +31 -0
- package/dist/agent/token-meter.js.map +1 -0
- package/dist/agent/triage.js +506 -0
- package/dist/agent/triage.js.map +1 -0
- package/dist/api.js +1047 -0
- package/dist/api.js.map +1 -0
- package/dist/approval-targets.js +107 -0
- package/dist/approval-targets.js.map +1 -0
- package/dist/bee/cloudflared.js +108 -0
- package/dist/bee/cloudflared.js.map +1 -0
- package/dist/bee/health.js +99 -0
- package/dist/bee/health.js.map +1 -0
- package/dist/bee/hive-client.js +75 -0
- package/dist/bee/hive-client.js.map +1 -0
- package/dist/bee/identity.js +39 -0
- package/dist/bee/identity.js.map +1 -0
- package/dist/bee/models.js +510 -0
- package/dist/bee/models.js.map +1 -0
- package/dist/bee/pairing.js +351 -0
- package/dist/bee/pairing.js.map +1 -0
- package/dist/bee/relay-client.js +50 -0
- package/dist/bee/relay-client.js.map +1 -0
- package/dist/bee/routes.js +214 -0
- package/dist/bee/routes.js.map +1 -0
- package/dist/bee/setup-page.js +223 -0
- package/dist/bee/setup-page.js.map +1 -0
- package/dist/bee/state.js +41 -0
- package/dist/bee/state.js.map +1 -0
- package/dist/bee/status.js +117 -0
- package/dist/bee/status.js.map +1 -0
- package/dist/bee/tunnel-manager.js +245 -0
- package/dist/bee/tunnel-manager.js.map +1 -0
- package/dist/bee/updater.js +268 -0
- package/dist/bee/updater.js.map +1 -0
- package/dist/boot.js +41 -0
- package/dist/boot.js.map +1 -0
- package/dist/call/index.js +145 -0
- package/dist/call/index.js.map +1 -0
- package/dist/case-folders.js +294 -0
- package/dist/case-folders.js.map +1 -0
- package/dist/cases.js +554 -0
- package/dist/cases.js.map +1 -0
- package/dist/chat-blocks.js +709 -0
- package/dist/chat-blocks.js.map +1 -0
- package/dist/chat-parse-util.js +38 -0
- package/dist/chat-parse-util.js.map +1 -0
- package/dist/chat-results.js +96 -0
- package/dist/chat-results.js.map +1 -0
- package/dist/chat-stats.js +193 -0
- package/dist/chat-stats.js.map +1 -0
- package/dist/chat-view-specs.js +186 -0
- package/dist/chat-view-specs.js.map +1 -0
- package/dist/cli/doctor-ops.js +361 -0
- package/dist/cli/doctor-ops.js.map +1 -0
- package/dist/cli/doctor.js +289 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/dogfood.js +70 -0
- package/dist/cli/dogfood.js.map +1 -0
- package/dist/cli/env-file.js +34 -0
- package/dist/cli/env-file.js.map +1 -0
- package/dist/cli/eval-chat-cases.js +359 -0
- package/dist/cli/eval-chat-cases.js.map +1 -0
- package/dist/cli/eval-chat-results.js +85 -0
- package/dist/cli/eval-chat-results.js.map +1 -0
- package/dist/cli/eval-chat.js +508 -0
- package/dist/cli/eval-chat.js.map +1 -0
- package/dist/cli/eval-designer.js +67 -0
- package/dist/cli/eval-designer.js.map +1 -0
- package/dist/cli/eval-qa-review.js +284 -0
- package/dist/cli/eval-qa-review.js.map +1 -0
- package/dist/cli/golden-export.js +35 -0
- package/dist/cli/golden-export.js.map +1 -0
- package/dist/cli/index.js +90 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.js +746 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/scan-repo.js +199 -0
- package/dist/cli/scan-repo.js.map +1 -0
- package/dist/cli/seed.js +108 -0
- package/dist/cli/seed.js.map +1 -0
- package/dist/cli/tinybee.js +247 -0
- package/dist/cli/tinybee.js.map +1 -0
- package/dist/config.js +138 -0
- package/dist/config.js.map +1 -0
- package/dist/connect/aivision-local.js +833 -0
- package/dist/connect/aivision-local.js.map +1 -0
- package/dist/connect/aivision-token.js +84 -0
- package/dist/connect/aivision-token.js.map +1 -0
- package/dist/connect/crypto.js +65 -0
- package/dist/connect/crypto.js.map +1 -0
- package/dist/connect/deps.js +110 -0
- package/dist/connect/deps.js.map +1 -0
- package/dist/connect/engines.js +144 -0
- package/dist/connect/engines.js.map +1 -0
- package/dist/connect/github-access.js +74 -0
- package/dist/connect/github-access.js.map +1 -0
- package/dist/connect/github-app.js +129 -0
- package/dist/connect/github-app.js.map +1 -0
- package/dist/connect/index.js +9 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connect/model-choices.js +201 -0
- package/dist/connect/model-choices.js.map +1 -0
- package/dist/connect/providers.js +900 -0
- package/dist/connect/providers.js.map +1 -0
- package/dist/connect/readiness.js +232 -0
- package/dist/connect/readiness.js.map +1 -0
- package/dist/connect/redact.js +16 -0
- package/dist/connect/redact.js.map +1 -0
- package/dist/connect/registry.js +406 -0
- package/dist/connect/registry.js.map +1 -0
- package/dist/connect/store.js +283 -0
- package/dist/connect/store.js.map +1 -0
- package/dist/connect/tunnel.js +134 -0
- package/dist/connect/tunnel.js.map +1 -0
- package/dist/connect/types.js +8 -0
- package/dist/connect/types.js.map +1 -0
- package/dist/connections/index.js +5 -0
- package/dist/connections/index.js.map +1 -0
- package/dist/connections/manager.js +223 -0
- package/dist/connections/manager.js.map +1 -0
- package/dist/connections/presets.js +264 -0
- package/dist/connections/presets.js.map +1 -0
- package/dist/connections/store.js +132 -0
- package/dist/connections/store.js.map +1 -0
- package/dist/connections/tools.js +206 -0
- package/dist/connections/tools.js.map +1 -0
- package/dist/db-schema.js +355 -0
- package/dist/db-schema.js.map +1 -0
- package/dist/db.js +379 -0
- package/dist/db.js.map +1 -0
- package/dist/delivery.js +49 -0
- package/dist/delivery.js.map +1 -0
- package/dist/deploy-wait.js +701 -0
- package/dist/deploy-wait.js.map +1 -0
- package/dist/disk.js +243 -0
- package/dist/disk.js.map +1 -0
- package/dist/dot-health.js +966 -0
- package/dist/dot-health.js.map +1 -0
- package/dist/dot-remove.js +246 -0
- package/dist/dot-remove.js.map +1 -0
- package/dist/events.js +38 -0
- package/dist/events.js.map +1 -0
- package/dist/evidence-pack.js +423 -0
- package/dist/evidence-pack.js.map +1 -0
- package/dist/flows/answers.js +289 -0
- package/dist/flows/answers.js.map +1 -0
- package/dist/flows/change.js +811 -0
- package/dist/flows/change.js.map +1 -0
- package/dist/flows/checkStatus.js +524 -0
- package/dist/flows/checkStatus.js.map +1 -0
- package/dist/flows/ci.js +236 -0
- package/dist/flows/ci.js.map +1 -0
- package/dist/flows/ciFailure.js +76 -0
- package/dist/flows/ciFailure.js.map +1 -0
- package/dist/flows/common.js +522 -0
- package/dist/flows/common.js.map +1 -0
- package/dist/flows/default-branch.js +29 -0
- package/dist/flows/default-branch.js.map +1 -0
- package/dist/flows/defectDraft.js +447 -0
- package/dist/flows/defectDraft.js.map +1 -0
- package/dist/flows/defects.js +623 -0
- package/dist/flows/defects.js.map +1 -0
- package/dist/flows/digest.js +295 -0
- package/dist/flows/digest.js.map +1 -0
- package/dist/flows/impact.js +82 -0
- package/dist/flows/impact.js.map +1 -0
- package/dist/flows/index.js +23 -0
- package/dist/flows/index.js.map +1 -0
- package/dist/flows/intent-sources.js +72 -0
- package/dist/flows/intent-sources.js.map +1 -0
- package/dist/flows/mergeCases.js +169 -0
- package/dist/flows/mergeCases.js.map +1 -0
- package/dist/flows/nightlyRun.js +82 -0
- package/dist/flows/nightlyRun.js.map +1 -0
- package/dist/flows/outage.js +64 -0
- package/dist/flows/outage.js.map +1 -0
- package/dist/flows/postMerge.js +5 -0
- package/dist/flows/postMerge.js.map +1 -0
- package/dist/flows/prCheck.js +5 -0
- package/dist/flows/prCheck.js.map +1 -0
- package/dist/flows/prTarget.js +66 -0
- package/dist/flows/prTarget.js.map +1 -0
- package/dist/flows/qa.js +363 -0
- package/dist/flows/qa.js.map +1 -0
- package/dist/flows/questions.js +160 -0
- package/dist/flows/questions.js.map +1 -0
- package/dist/flows/recovery.js +64 -0
- package/dist/flows/recovery.js.map +1 -0
- package/dist/flows/rerun.js +50 -0
- package/dist/flows/rerun.js.map +1 -0
- package/dist/flows/testDesign.js +294 -0
- package/dist/flows/testDesign.js.map +1 -0
- package/dist/flows/testDesignJob.js +46 -0
- package/dist/flows/testDesignJob.js.map +1 -0
- package/dist/flows/testRepo.js +228 -0
- package/dist/flows/testRepo.js.map +1 -0
- package/dist/flows/testSavings.js +381 -0
- package/dist/flows/testSavings.js.map +1 -0
- package/dist/flows/testStatus.js +343 -0
- package/dist/flows/testStatus.js.map +1 -0
- package/dist/flows/ticketContext.js +425 -0
- package/dist/flows/ticketContext.js.map +1 -0
- package/dist/flows/ticketReview.js +249 -0
- package/dist/flows/ticketReview.js.map +1 -0
- package/dist/flows/ticks.js +73 -0
- package/dist/flows/ticks.js.map +1 -0
- package/dist/hive/admin.js +122 -0
- package/dist/hive/admin.js.map +1 -0
- package/dist/hive/auth.js +130 -0
- package/dist/hive/auth.js.map +1 -0
- package/dist/hive/billing.js +278 -0
- package/dist/hive/billing.js.map +1 -0
- package/dist/hive/config.js +63 -0
- package/dist/hive/config.js.map +1 -0
- package/dist/hive/db.js +186 -0
- package/dist/hive/db.js.map +1 -0
- package/dist/hive/embed.js +76 -0
- package/dist/hive/embed.js.map +1 -0
- package/dist/hive/errors.js +17 -0
- package/dist/hive/errors.js.map +1 -0
- package/dist/hive/google.js +75 -0
- package/dist/hive/google.js.map +1 -0
- package/dist/hive/index.js +25 -0
- package/dist/hive/index.js.map +1 -0
- package/dist/hive/jwt.js +57 -0
- package/dist/hive/jwt.js.map +1 -0
- package/dist/hive/keys.js +61 -0
- package/dist/hive/keys.js.map +1 -0
- package/dist/hive/mail.js +27 -0
- package/dist/hive/mail.js.map +1 -0
- package/dist/hive/native-push.js +255 -0
- package/dist/hive/native-push.js.map +1 -0
- package/dist/hive/pairing.js +342 -0
- package/dist/hive/pairing.js.map +1 -0
- package/dist/hive/presence.js +121 -0
- package/dist/hive/presence.js.map +1 -0
- package/dist/hive/push.js +185 -0
- package/dist/hive/push.js.map +1 -0
- package/dist/hive/relay.js +205 -0
- package/dist/hive/relay.js.map +1 -0
- package/dist/hive/routes.js +228 -0
- package/dist/hive/routes.js.map +1 -0
- package/dist/hive/server.js +12 -0
- package/dist/hive/server.js.map +1 -0
- package/dist/hive/session.js +28 -0
- package/dist/hive/session.js.map +1 -0
- package/dist/hive/tenants.js +287 -0
- package/dist/hive/tenants.js.map +1 -0
- package/dist/hive/tunnel/cloudflare.js +160 -0
- package/dist/hive/tunnel/cloudflare.js.map +1 -0
- package/dist/hive/tunnel/mock.js +52 -0
- package/dist/hive/tunnel/mock.js.map +1 -0
- package/dist/hive/tunnel/provider.js +19 -0
- package/dist/hive/tunnel/provider.js.map +1 -0
- package/dist/hive/updates.js +61 -0
- package/dist/hive/updates.js.map +1 -0
- package/dist/http-error.js +11 -0
- package/dist/http-error.js.map +1 -0
- package/dist/impact/classify.js +226 -0
- package/dist/impact/classify.js.map +1 -0
- package/dist/impact/find.js +259 -0
- package/dist/impact/find.js.map +1 -0
- package/dist/impact/pr.js +54 -0
- package/dist/impact/pr.js.map +1 -0
- package/dist/impact/store.js +365 -0
- package/dist/impact/store.js.map +1 -0
- package/dist/impact/text.js +158 -0
- package/dist/impact/text.js.map +1 -0
- package/dist/index.js +288 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/adf.js +397 -0
- package/dist/integrations/adf.js.map +1 -0
- package/dist/integrations/bot-marker.js +103 -0
- package/dist/integrations/bot-marker.js.map +1 -0
- package/dist/integrations/github-issues.js +705 -0
- package/dist/integrations/github-issues.js.map +1 -0
- package/dist/integrations/github.js +1284 -0
- package/dist/integrations/github.js.map +1 -0
- package/dist/integrations/issue-create.js +60 -0
- package/dist/integrations/issue-create.js.map +1 -0
- package/dist/integrations/jira.js +279 -0
- package/dist/integrations/jira.js.map +1 -0
- package/dist/integrations/linear.js +273 -0
- package/dist/integrations/linear.js.map +1 -0
- package/dist/integrations/own-identity-warm.js +47 -0
- package/dist/integrations/own-identity-warm.js.map +1 -0
- package/dist/integrations/own-identity.js +39 -0
- package/dist/integrations/own-identity.js.map +1 -0
- package/dist/integrations/status-change.js +42 -0
- package/dist/integrations/status-change.js.map +1 -0
- package/dist/lead-defects.js +202 -0
- package/dist/lead-defects.js.map +1 -0
- package/dist/lead-digest.js +333 -0
- package/dist/lead-digest.js.map +1 -0
- package/dist/lead-release.js +286 -0
- package/dist/lead-release.js.map +1 -0
- package/dist/lead.js +328 -0
- package/dist/lead.js.map +1 -0
- package/dist/legacy-names.js +51 -0
- package/dist/legacy-names.js.map +1 -0
- package/dist/limits.js +44 -0
- package/dist/limits.js.map +1 -0
- package/dist/link-trust.js +224 -0
- package/dist/link-trust.js.map +1 -0
- package/dist/links.js +219 -0
- package/dist/links.js.map +1 -0
- package/dist/loopback.js +35 -0
- package/dist/loopback.js.map +1 -0
- package/dist/model-cap.js +60 -0
- package/dist/model-cap.js.map +1 -0
- package/dist/model-usage.js +173 -0
- package/dist/model-usage.js.map +1 -0
- package/dist/monitor/backfill.js +39 -0
- package/dist/monitor/backfill.js.map +1 -0
- package/dist/monitor/browser-probe.js +198 -0
- package/dist/monitor/browser-probe.js.map +1 -0
- package/dist/monitor/catch-up.js +31 -0
- package/dist/monitor/catch-up.js.map +1 -0
- package/dist/monitor/pollers.js +1606 -0
- package/dist/monitor/pollers.js.map +1 -0
- package/dist/monitor/probes.js +178 -0
- package/dist/monitor/probes.js.map +1 -0
- package/dist/monitor/self-health.js +228 -0
- package/dist/monitor/self-health.js.map +1 -0
- package/dist/monitor/statuspage.js +105 -0
- package/dist/monitor/statuspage.js.map +1 -0
- package/dist/nightly-scheduler.js +127 -0
- package/dist/nightly-scheduler.js.map +1 -0
- package/dist/nightly.js +141 -0
- package/dist/nightly.js.map +1 -0
- package/dist/notify/headline.js +114 -0
- package/dist/notify/headline.js.map +1 -0
- package/dist/notify/push.js +174 -0
- package/dist/notify/push.js.map +1 -0
- package/dist/object-cards.js +585 -0
- package/dist/object-cards.js.map +1 -0
- package/dist/object-links.js +47 -0
- package/dist/object-links.js.map +1 -0
- package/dist/onboarding-checks.js +141 -0
- package/dist/onboarding-checks.js.map +1 -0
- package/dist/onboarding.js +401 -0
- package/dist/onboarding.js.map +1 -0
- package/dist/path-filters.js +62 -0
- package/dist/path-filters.js.map +1 -0
- package/dist/phone/alerts.js +67 -0
- package/dist/phone/alerts.js.map +1 -0
- package/dist/phone/auth.js +240 -0
- package/dist/phone/auth.js.map +1 -0
- package/dist/phone/pairing.js +442 -0
- package/dist/phone/pairing.js.map +1 -0
- package/dist/phone/prefs.js +27 -0
- package/dist/phone/prefs.js.map +1 -0
- package/dist/phone/tailscale.js +161 -0
- package/dist/phone/tailscale.js.map +1 -0
- package/dist/pr-scope.js +441 -0
- package/dist/pr-scope.js.map +1 -0
- package/dist/proc.js +156 -0
- package/dist/proc.js.map +1 -0
- package/dist/profile/cache.js +108 -0
- package/dist/profile/cache.js.map +1 -0
- package/dist/profile/ci.js +216 -0
- package/dist/profile/ci.js.map +1 -0
- package/dist/profile/index.js +8 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/job.js +135 -0
- package/dist/profile/job.js.map +1 -0
- package/dist/profile/queries/go-tags.scm +47 -0
- package/dist/profile/queries/java-tags.scm +25 -0
- package/dist/profile/queries/javascript-tags.scm +104 -0
- package/dist/profile/queries/python-tags.scm +19 -0
- package/dist/profile/queries/typescript-tags.scm +28 -0
- package/dist/profile/scan-thread.js +42 -0
- package/dist/profile/scan-thread.js.map +1 -0
- package/dist/profile/scan-worker.js +16 -0
- package/dist/profile/scan-worker.js.map +1 -0
- package/dist/profile/scan.js +351 -0
- package/dist/profile/scan.js.map +1 -0
- package/dist/profile/stack.js +528 -0
- package/dist/profile/stack.js.map +1 -0
- package/dist/profile/store.js +35 -0
- package/dist/profile/store.js.map +1 -0
- package/dist/profile/tests.js +399 -0
- package/dist/profile/tests.js.map +1 -0
- package/dist/queue.js +350 -0
- package/dist/queue.js.map +1 -0
- package/dist/refs.js +756 -0
- package/dist/refs.js.map +1 -0
- package/dist/release-notes.js +272 -0
- package/dist/release-notes.js.map +1 -0
- package/dist/reports/build.js +243 -0
- package/dist/reports/build.js.map +1 -0
- package/dist/reports/index.js +211 -0
- package/dist/reports/index.js.map +1 -0
- package/dist/reports/store.js +150 -0
- package/dist/reports/store.js.map +1 -0
- package/dist/reports/ticket-titles.js +124 -0
- package/dist/reports/ticket-titles.js.map +1 -0
- package/dist/reports/trace-map.js +1278 -0
- package/dist/reports/trace-map.js.map +1 -0
- package/dist/reports/traceability.js +422 -0
- package/dist/reports/traceability.js.map +1 -0
- package/dist/repos/mirror.js +356 -0
- package/dist/repos/mirror.js.map +1 -0
- package/dist/repos-github.js +108 -0
- package/dist/repos-github.js.map +1 -0
- package/dist/repos.js +891 -0
- package/dist/repos.js.map +1 -0
- package/dist/review/backend-anthropic.js +90 -0
- package/dist/review/backend-anthropic.js.map +1 -0
- package/dist/review/backend-cli.js +248 -0
- package/dist/review/backend-cli.js.map +1 -0
- package/dist/review/backend-codex.js +81 -0
- package/dist/review/backend-codex.js.map +1 -0
- package/dist/review/backend-mock.js +686 -0
- package/dist/review/backend-mock.js.map +1 -0
- package/dist/review/backend-only.js +168 -0
- package/dist/review/backend-only.js.map +1 -0
- package/dist/review/backend.js +105 -0
- package/dist/review/backend.js.map +1 -0
- package/dist/review/baseline/render-v1.js +483 -0
- package/dist/review/baseline/render-v1.js.map +1 -0
- package/dist/review/change-summary.js +197 -0
- package/dist/review/change-summary.js.map +1 -0
- package/dist/review/changelog.js +40 -0
- package/dist/review/changelog.js.map +1 -0
- package/dist/review/check.js +494 -0
- package/dist/review/check.js.map +1 -0
- package/dist/review/checkout.js +185 -0
- package/dist/review/checkout.js.map +1 -0
- package/dist/review/classify.js +178 -0
- package/dist/review/classify.js.map +1 -0
- package/dist/review/coverage.js +347 -0
- package/dist/review/coverage.js.map +1 -0
- package/dist/review/decision-eval.js +121 -0
- package/dist/review/decision-eval.js.map +1 -0
- package/dist/review/deliver.js +104 -0
- package/dist/review/deliver.js.map +1 -0
- package/dist/review/designer-eval.js +280 -0
- package/dist/review/designer-eval.js.map +1 -0
- package/dist/review/dogfood-digest.js +136 -0
- package/dist/review/dogfood-digest.js.map +1 -0
- package/dist/review/dogfood-eval.js +486 -0
- package/dist/review/dogfood-eval.js.map +1 -0
- package/dist/review/environment.js +109 -0
- package/dist/review/environment.js.map +1 -0
- package/dist/review/eval.js +405 -0
- package/dist/review/eval.js.map +1 -0
- package/dist/review/glob.js +110 -0
- package/dist/review/glob.js.map +1 -0
- package/dist/review/golden-export.js +219 -0
- package/dist/review/golden-export.js.map +1 -0
- package/dist/review/impact.js +406 -0
- package/dist/review/impact.js.map +1 -0
- package/dist/review/imports.js +542 -0
- package/dist/review/imports.js.map +1 -0
- package/dist/review/index.js +512 -0
- package/dist/review/index.js.map +1 -0
- package/dist/review/intent.js +128 -0
- package/dist/review/intent.js.map +1 -0
- package/dist/review/lenses.js +167 -0
- package/dist/review/lenses.js.map +1 -0
- package/dist/review/linked-tickets.js +293 -0
- package/dist/review/linked-tickets.js.map +1 -0
- package/dist/review/merge.js +370 -0
- package/dist/review/merge.js.map +1 -0
- package/dist/review/on-demand.js +218 -0
- package/dist/review/on-demand.js.map +1 -0
- package/dist/review/prompt-eval.js +299 -0
- package/dist/review/prompt-eval.js.map +1 -0
- package/dist/review/prompt-variants.js +37 -0
- package/dist/review/prompt-variants.js.map +1 -0
- package/dist/review/readability-eval.js +217 -0
- package/dist/review/readability-eval.js.map +1 -0
- package/dist/review/readability.js +295 -0
- package/dist/review/readability.js.map +1 -0
- package/dist/review/render.js +2409 -0
- package/dist/review/render.js.map +1 -0
- package/dist/review/repo.js +194 -0
- package/dist/review/repo.js.map +1 -0
- package/dist/review/report-plan.js +90 -0
- package/dist/review/report-plan.js.map +1 -0
- package/dist/review/routes.js +195 -0
- package/dist/review/routes.js.map +1 -0
- package/dist/review/run-summary.js +34 -0
- package/dist/review/run-summary.js.map +1 -0
- package/dist/review/run.js +245 -0
- package/dist/review/run.js.map +1 -0
- package/dist/review/scope.js +454 -0
- package/dist/review/scope.js.map +1 -0
- package/dist/review/security.js +432 -0
- package/dist/review/security.js.map +1 -0
- package/dist/review/signals.js +550 -0
- package/dist/review/signals.js.map +1 -0
- package/dist/review/specs.js +150 -0
- package/dist/review/specs.js.map +1 -0
- package/dist/review/ste.js +133 -0
- package/dist/review/ste.js.map +1 -0
- package/dist/review/test-repo-file.js +18 -0
- package/dist/review/test-repo-file.js.map +1 -0
- package/dist/review/test-repo-lines.js +53 -0
- package/dist/review/test-repo-lines.js.map +1 -0
- package/dist/review/ticket-on-demand.js +232 -0
- package/dist/review/ticket-on-demand.js.map +1 -0
- package/dist/review/yaml.js +298 -0
- package/dist/review/yaml.js.map +1 -0
- package/dist/room.js +361 -0
- package/dist/room.js.map +1 -0
- package/dist/routes/activity.js +219 -0
- package/dist/routes/activity.js.map +1 -0
- package/dist/routes/call.js +29 -0
- package/dist/routes/call.js.map +1 -0
- package/dist/routes/cards.js +40 -0
- package/dist/routes/cards.js.map +1 -0
- package/dist/routes/cases.js +133 -0
- package/dist/routes/cases.js.map +1 -0
- package/dist/routes/connect.js +268 -0
- package/dist/routes/connect.js.map +1 -0
- package/dist/routes/connection-presets.js +32 -0
- package/dist/routes/connection-presets.js.map +1 -0
- package/dist/routes/connections.js +177 -0
- package/dist/routes/connections.js.map +1 -0
- package/dist/routes/disk.js +19 -0
- package/dist/routes/disk.js.map +1 -0
- package/dist/routes/docs.js +71 -0
- package/dist/routes/docs.js.map +1 -0
- package/dist/routes/dot-suggest.js +1002 -0
- package/dist/routes/dot-suggest.js.map +1 -0
- package/dist/routes/evidence-pack.js +16 -0
- package/dist/routes/evidence-pack.js.map +1 -0
- package/dist/routes/health.js +121 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/impact.js +48 -0
- package/dist/routes/impact.js.map +1 -0
- package/dist/routes/lead.js +50 -0
- package/dist/routes/lead.js.map +1 -0
- package/dist/routes/links.js +13 -0
- package/dist/routes/links.js.map +1 -0
- package/dist/routes/markdown.js +62 -0
- package/dist/routes/markdown.js.map +1 -0
- package/dist/routes/onboarding.js +47 -0
- package/dist/routes/onboarding.js.map +1 -0
- package/dist/routes/phone.js +231 -0
- package/dist/routes/phone.js.map +1 -0
- package/dist/routes/release-notes.js +30 -0
- package/dist/routes/release-notes.js.map +1 -0
- package/dist/routes/reports.js +102 -0
- package/dist/routes/reports.js.map +1 -0
- package/dist/routes/repos.js +91 -0
- package/dist/routes/repos.js.map +1 -0
- package/dist/routes/review.js +283 -0
- package/dist/routes/review.js.map +1 -0
- package/dist/routes/roles.js +114 -0
- package/dist/routes/roles.js.map +1 -0
- package/dist/routes/room.js +21 -0
- package/dist/routes/room.js.map +1 -0
- package/dist/routes/runner.js +156 -0
- package/dist/routes/runner.js.map +1 -0
- package/dist/routes/runs.js +84 -0
- package/dist/routes/runs.js.map +1 -0
- package/dist/routes/setup.js +18 -0
- package/dist/routes/setup.js.map +1 -0
- package/dist/routes/test-runs.js +220 -0
- package/dist/routes/test-runs.js.map +1 -0
- package/dist/routes/ticket-status.js +17 -0
- package/dist/routes/ticket-status.js.map +1 -0
- package/dist/routes/traceability.js +143 -0
- package/dist/routes/traceability.js.map +1 -0
- package/dist/routes/true.js +142 -0
- package/dist/routes/true.js.map +1 -0
- package/dist/routes/updates.js +70 -0
- package/dist/routes/updates.js.map +1 -0
- package/dist/runner/adapters/index.js +12 -0
- package/dist/runner/adapters/index.js.map +1 -0
- package/dist/runner/adapters/playwright.js +68 -0
- package/dist/runner/adapters/playwright.js.map +1 -0
- package/dist/runner/aivision/cases.js +172 -0
- package/dist/runner/aivision/cases.js.map +1 -0
- package/dist/runner/aivision/cli.js +201 -0
- package/dist/runner/aivision/cli.js.map +1 -0
- package/dist/runner/aivision/index.js +281 -0
- package/dist/runner/aivision/index.js.map +1 -0
- package/dist/runner/aivision/server.js +394 -0
- package/dist/runner/aivision/server.js.map +1 -0
- package/dist/runner/aivision/shared.js +140 -0
- package/dist/runner/aivision/shared.js.map +1 -0
- package/dist/runner/artifact-cap.js +189 -0
- package/dist/runner/artifact-cap.js.map +1 -0
- package/dist/runner/artifacts.js +433 -0
- package/dist/runner/artifacts.js.map +1 -0
- package/dist/runner/command.js +564 -0
- package/dist/runner/command.js.map +1 -0
- package/dist/runner/copyfiles.js +221 -0
- package/dist/runner/copyfiles.js.map +1 -0
- package/dist/runner/engines.js +32 -0
- package/dist/runner/engines.js.map +1 -0
- package/dist/runner/evidence.js +114 -0
- package/dist/runner/evidence.js.map +1 -0
- package/dist/runner/host-env.js +160 -0
- package/dist/runner/host-env.js.map +1 -0
- package/dist/runner/index.js +1221 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/observe.js +603 -0
- package/dist/runner/observe.js.map +1 -0
- package/dist/runner/playwright-json.js +108 -0
- package/dist/runner/playwright-json.js.map +1 -0
- package/dist/runner/pwgen/exec.js +192 -0
- package/dist/runner/pwgen/exec.js.map +1 -0
- package/dist/runner/pwgen/explore.js +111 -0
- package/dist/runner/pwgen/explore.js.map +1 -0
- package/dist/runner/pwgen/index.js +423 -0
- package/dist/runner/pwgen/index.js.map +1 -0
- package/dist/runner/pwgen/propose.js +69 -0
- package/dist/runner/pwgen/propose.js.map +1 -0
- package/dist/runner/pwgen/source.js +632 -0
- package/dist/runner/pwgen/source.js.map +1 -0
- package/dist/runner/setup.js +222 -0
- package/dist/runner/setup.js.map +1 -0
- package/dist/runner/step-reporter.js +107 -0
- package/dist/runner/step-reporter.js.map +1 -0
- package/dist/runner/test-repo.js +326 -0
- package/dist/runner/test-repo.js.map +1 -0
- package/dist/runner/typed-value.js +46 -0
- package/dist/runner/typed-value.js.map +1 -0
- package/dist/runner/verify.js +133 -0
- package/dist/runner/verify.js.map +1 -0
- package/dist/runner/worktree.js +349 -0
- package/dist/runner/worktree.js.map +1 -0
- package/dist/sandbox.js +61 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/server.js +262 -0
- package/dist/server.js.map +1 -0
- package/dist/shadow-week.js +126 -0
- package/dist/shadow-week.js.map +1 -0
- package/dist/shutdown.js +92 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/slack/index.js +645 -0
- package/dist/slack/index.js.map +1 -0
- package/dist/stages/config.js +147 -0
- package/dist/stages/config.js.map +1 -0
- package/dist/stages/index.js +41 -0
- package/dist/stages/index.js.map +1 -0
- package/dist/suites.js +293 -0
- package/dist/suites.js.map +1 -0
- package/dist/target-url.js +116 -0
- package/dist/target-url.js.map +1 -0
- package/dist/test-runs.js +662 -0
- package/dist/test-runs.js.map +1 -0
- package/dist/ticket-keys.js +97 -0
- package/dist/ticket-keys.js.map +1 -0
- package/dist/ticket-supersede.js +105 -0
- package/dist/ticket-supersede.js.map +1 -0
- package/dist/tinybee/ed25519.js +99 -0
- package/dist/tinybee/ed25519.js.map +1 -0
- package/dist/tinybee/models-routes.js +19 -0
- package/dist/tinybee/models-routes.js.map +1 -0
- package/dist/tinybee/pair-payload.js +41 -0
- package/dist/tinybee/pair-payload.js.map +1 -0
- package/dist/tinybee/update-manifest.js +77 -0
- package/dist/tinybee/update-manifest.js.map +1 -0
- package/dist/tinybee/well-known.js +64 -0
- package/dist/tinybee/well-known.js.map +1 -0
- package/dist/tinybee/workflows/activity.js +23 -0
- package/dist/tinybee/workflows/activity.js.map +1 -0
- package/dist/tinybee/workflows/cron.js +210 -0
- package/dist/tinybee/workflows/cron.js.map +1 -0
- package/dist/tinybee/workflows/engine.js +371 -0
- package/dist/tinybee/workflows/engine.js.map +1 -0
- package/dist/tinybee/workflows/from-text.js +203 -0
- package/dist/tinybee/workflows/from-text.js.map +1 -0
- package/dist/tinybee/workflows/routes.js +189 -0
- package/dist/tinybee/workflows/routes.js.map +1 -0
- package/dist/tinybee/workflows/scheduler.js +100 -0
- package/dist/tinybee/workflows/scheduler.js.map +1 -0
- package/dist/tinybee/workflows/skills.js +227 -0
- package/dist/tinybee/workflows/skills.js.map +1 -0
- package/dist/tinybee/workflows/store.js +205 -0
- package/dist/tinybee/workflows/store.js.map +1 -0
- package/dist/tinybee/workflows/types.js +180 -0
- package/dist/tinybee/workflows/types.js.map +1 -0
- package/dist/tinybee/workflows/yaml.js +323 -0
- package/dist/tinybee/workflows/yaml.js.map +1 -0
- package/dist/true/api.js +495 -0
- package/dist/true/api.js.map +1 -0
- package/dist/true/client.js +292 -0
- package/dist/true/client.js.map +1 -0
- package/dist/true/clock.js +36 -0
- package/dist/true/clock.js.map +1 -0
- package/dist/true/events.js +125 -0
- package/dist/true/events.js.map +1 -0
- package/dist/true/hosts.js +98 -0
- package/dist/true/hosts.js.map +1 -0
- package/dist/true/index.js +29 -0
- package/dist/true/index.js.map +1 -0
- package/dist/true/key.js +54 -0
- package/dist/true/key.js.map +1 -0
- package/dist/true/line.js +69 -0
- package/dist/true/line.js.map +1 -0
- package/dist/true/mask.js +31 -0
- package/dist/true/mask.js.map +1 -0
- package/dist/true/names.js +114 -0
- package/dist/true/names.js.map +1 -0
- package/dist/true/outbox.js +233 -0
- package/dist/true/outbox.js.map +1 -0
- package/dist/true/replay.js +164 -0
- package/dist/true/replay.js.map +1 -0
- package/dist/true/settings.js +123 -0
- package/dist/true/settings.js.map +1 -0
- package/dist/true/status.js +189 -0
- package/dist/true/status.js.map +1 -0
- package/dist/true/sync-cases.js +222 -0
- package/dist/true/sync-cases.js.map +1 -0
- package/dist/true/sync-manual.js +295 -0
- package/dist/true/sync-manual.js.map +1 -0
- package/dist/true/sync-runs.js +109 -0
- package/dist/true/sync-runs.js.map +1 -0
- package/dist/true/worker.js +414 -0
- package/dist/true/worker.js.map +1 -0
- package/dist/types.js +32 -0
- package/dist/types.js.map +1 -0
- package/dist/updates/asks.js +38 -0
- package/dist/updates/asks.js.map +1 -0
- package/dist/updates/index.js +835 -0
- package/dist/updates/index.js.map +1 -0
- package/dist/updates/owner.js +24 -0
- package/dist/updates/owner.js.map +1 -0
- package/dist/updates/prefs.js +118 -0
- package/dist/updates/prefs.js.map +1 -0
- package/dist/updates/route.js +78 -0
- package/dist/updates/route.js.map +1 -0
- package/dist/updates/sources.js +345 -0
- package/dist/updates/sources.js.map +1 -0
- package/dist/updates/words.js +452 -0
- package/dist/updates/words.js.map +1 -0
- package/dist/version.js +53 -0
- package/dist/version.js.map +1 -0
- package/dist/view-compute.js +382 -0
- package/dist/view-compute.js.map +1 -0
- package/dist/view-spec.js +894 -0
- package/dist/view-spec.js.map +1 -0
- package/dist/web/apple-touch-icon.png +0 -0
- package/dist/web/assets/ApprovalCard-Br_z5z7G.css +1 -0
- package/dist/web/assets/ApprovalCard-CfGhGFo_.js +3 -0
- package/dist/web/assets/CardFromRef-BaTGmZ9c.js +2 -0
- package/dist/web/assets/CardFromRef-DO7i2uDd.css +1 -0
- package/dist/web/assets/Cases-8l_6UcLh.js +2 -0
- package/dist/web/assets/Cases-CpfED0uB.css +1 -0
- package/dist/web/assets/Chat-BKDiR0qt.js +3 -0
- package/dist/web/assets/Chat-DxjdyYUu.css +1 -0
- package/dist/web/assets/ConfirmDialog-CIMveD-b.js +2 -0
- package/dist/web/assets/ConnectSheet-Cm5vbZdR.js +4 -0
- package/dist/web/assets/Docs-HKGuY0WE.js +2 -0
- package/dist/web/assets/Docs-fodKx8S7.css +1 -0
- package/dist/web/assets/DotDetail-DskS3NWe.js +2 -0
- package/dist/web/assets/DotDetail-OWRSD_1x.css +1 -0
- package/dist/web/assets/DotStage-BZDclfzV.css +1 -0
- package/dist/web/assets/DotStage-CtMNzCN3.js +2 -0
- package/dist/web/assets/Dots-BqCsS34m.js +2 -0
- package/dist/web/assets/EvidencePack-DQ3kCJX4.js +2 -0
- package/dist/web/assets/EvidencePack-DV_9ETsA.css +1 -0
- package/dist/web/assets/FailedDeliveries-1F2kFcs9.js +2 -0
- package/dist/web/assets/FailedDeliveries-DXa2_VvI.css +1 -0
- package/dist/web/assets/Feed-5wiHRTFK.js +2 -0
- package/dist/web/assets/GfmView-C-NYaduC.js +4 -0
- package/dist/web/assets/ImpactList-C-RNuDB0.js +2 -0
- package/dist/web/assets/ImpactList-C612dFdw.css +1 -0
- package/dist/web/assets/Inbox-kc1bKVL_.js +2 -0
- package/dist/web/assets/JoinScreen-C3L4wmP3.js +2 -0
- package/dist/web/assets/JoinScreen-COeAUv5v.css +1 -0
- package/dist/web/assets/LeadDialog-N3Zul9Rw.js +8 -0
- package/dist/web/assets/LeadDialog-xyWjAuAS.css +1 -0
- package/dist/web/assets/ListeningLine-BRFNaczY.js +2 -0
- package/dist/web/assets/ListeningLine-pN8CgyiK.css +1 -0
- package/dist/web/assets/Mascots-pIyGpxtD.js +2 -0
- package/dist/web/assets/ModelChoices-BxO1zyyr.js +2 -0
- package/dist/web/assets/ModelChoices-DQJnVxfs.css +1 -0
- package/dist/web/assets/NewDotDialog-CDPUWmgN.js +2 -0
- package/dist/web/assets/NewDotDialog-DrPPqkSZ.css +1 -0
- package/dist/web/assets/NewTestRunDialog-BQBthVHE.js +2 -0
- package/dist/web/assets/NoBreakNames-Csxdqdt6.js +2 -0
- package/dist/web/assets/Pair-omex_K7H.js +2 -0
- package/dist/web/assets/PushSection-CmqHlE_2.js +2 -0
- package/dist/web/assets/ReleaseNotes-B6VqFewP.js +2 -0
- package/dist/web/assets/ReleaseNotes-DBJUL7Vm.css +1 -0
- package/dist/web/assets/ReportPage-BHS1xWEt.js +162 -0
- package/dist/web/assets/Reports-BEHnDIb1.js +2 -0
- package/dist/web/assets/ReviewChangeDialog-BVSt-cw-.js +2 -0
- package/dist/web/assets/ReviewChangeDialog-BbIlHRx0.css +1 -0
- package/dist/web/assets/Room-BoG_uge4.js +2 -0
- package/dist/web/assets/Room-evAfiW_e.css +1 -0
- package/dist/web/assets/RunActions-ZY7yf1AF.js +2 -0
- package/dist/web/assets/RunDetail-C8St20GQ.css +1 -0
- package/dist/web/assets/RunDetail-qADXjBvd.js +9 -0
- package/dist/web/assets/RunRow-BKEJv8ib.js +2 -0
- package/dist/web/assets/RunnerTry-Dgpp67-s.js +6 -0
- package/dist/web/assets/RunnerTry-DsweWOfO.css +1 -0
- package/dist/web/assets/Settings-fs-QJwNM.js +2 -0
- package/dist/web/assets/Setup-DI6hBEP-.js +2 -0
- package/dist/web/assets/TestRows-wh03T5Li.js +4 -0
- package/dist/web/assets/TestRun-DTOyF-Pv.js +2 -0
- package/dist/web/assets/TestRuns-ggDjm1Q8.js +2 -0
- package/dist/web/assets/TinyBeeAddLaptop-bc3pmh3T.js +2 -0
- package/dist/web/assets/TinyBeeAi-CkyOzhm5.js +2 -0
- package/dist/web/assets/TinyBeeConnections-B2K_P38u.js +2 -0
- package/dist/web/assets/TinyBeeHome-DSpxX5KS.js +3 -0
- package/dist/web/assets/TinyBeePlan-BamiLziu.js +2 -0
- package/dist/web/assets/TinyBeeSignup-vHcz0Wen.js +2 -0
- package/dist/web/assets/TinyBeeSkills-By9RLUse.js +2 -0
- package/dist/web/assets/TinyBeeWorkflow-DeNO7Jsh.js +2 -0
- package/dist/web/assets/TinyBeeWorkflowEditor-B6OGC2OT.js +2 -0
- package/dist/web/assets/TinyBeeWorkflows-BN4-h6lt.js +2 -0
- package/dist/web/assets/Trace-BBCI1aIB.css +1 -0
- package/dist/web/assets/Trace-aF92UWaH.js +2 -0
- package/dist/web/assets/UpdatesSection-CCWEbkue.js +2 -0
- package/dist/web/assets/Welcome-CCcy558Q.js +2 -0
- package/dist/web/assets/activity-C3qilrDm.css +1 -0
- package/dist/web/assets/activity-CBfTSxqw.js +2 -0
- package/dist/web/assets/authedMedia-BTYt_tyu.js +2 -0
- package/dist/web/assets/beeApi-BHW8Tx1s.js +2 -0
- package/dist/web/assets/data-CmXvx3Mj.js +2 -0
- package/dist/web/assets/engines-CfdJODFj.css +1 -0
- package/dist/web/assets/format-BBZ8vFyT.js +2 -0
- package/dist/web/assets/forms-Coc7p2UF.css +1 -0
- package/dist/web/assets/hivePush-DZJDokj7.js +2 -0
- package/dist/web/assets/impactModel-MY1OFuiP.js +2 -0
- package/dist/web/assets/index-B6qKm1NW.js +13 -0
- package/dist/web/assets/index-BvKyT1X7.css +1 -0
- package/dist/web/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/dist/web/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/dist/web/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/dist/web/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/dist/web/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/dist/web/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/dist/web/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/dist/web/assets/lead-BL_P_kri.css +1 -0
- package/dist/web/assets/model-BIQy5IVG.js +2 -0
- package/dist/web/assets/modelsApi-PUSySRQw.js +2 -0
- package/dist/web/assets/newDotModel-BaLLyw57.js +2 -0
- package/dist/web/assets/onboarding-bfKqnM4Z.css +1 -0
- package/dist/web/assets/phone-Rs7FoyG0.css +1 -0
- package/dist/web/assets/phoneApi-BG_1-M-D.js +3 -0
- package/dist/web/assets/releaseModel-EynYMVOC.js +2 -0
- package/dist/web/assets/releaseNotesModel-A1Rtv3cV.js +2 -0
- package/dist/web/assets/reports-BWaA1HhM.js +37 -0
- package/dist/web/assets/reports-DXwdWQsB.css +1 -0
- package/dist/web/assets/router-W6nZsQ33.js +2 -0
- package/dist/web/assets/runs-BY0Owv93.css +1 -0
- package/dist/web/assets/shadowWeekModel-BUUiww09.js +2 -0
- package/dist/web/assets/storage-yvL36AWt.js +2 -0
- package/dist/web/assets/store-IqrqHuFR.js +2 -0
- package/dist/web/assets/testruns-BzIZ0cR0.css +1 -0
- package/dist/web/assets/testruns-DyaqX4ji.js +2 -0
- package/dist/web/assets/true-9Q68cs5b.js +2 -0
- package/dist/web/assets/true-DPGBpoir.css +1 -0
- package/dist/web/assets/ui-DcmhYyYp.js +13 -0
- package/dist/web/assets/ui-DxEDgbIx.css +1 -0
- package/dist/web/assets/usePauseDot-BV60ZVy1.js +2 -0
- package/dist/web/assets/usePauseDot-NrSzMI1C.css +1 -0
- package/dist/web/assets/usePush-Dsm-TjlG.js +2 -0
- package/dist/web/assets/useRefChips-CbafNx59.js +68 -0
- package/dist/web/assets/useRestoreDot-D0B6W82H.js +2 -0
- package/dist/web/assets/view-worker-pyeVAhUT.js +2 -0
- package/dist/web/assets/workflowUi-QYsd3n9J.js +2 -0
- package/dist/web/favicon.png +0 -0
- package/dist/web/icon-192.png +0 -0
- package/dist/web/icon-512.png +0 -0
- package/dist/web/icon-maskable-512.png +0 -0
- package/dist/web/index.html +45 -0
- package/dist/web/manifest.webmanifest +23 -0
- package/dist/web/mascots/argus-attention.svg +7 -0
- package/dist/web/mascots/argus-ok.svg +7 -0
- package/dist/web/mascots/argus-outage.svg +7 -0
- package/dist/web/mascots/argus-running.svg +7 -0
- package/dist/web/mascots/bolt-attention.svg +7 -0
- package/dist/web/mascots/bolt-ok.svg +7 -0
- package/dist/web/mascots/bolt-outage.svg +7 -0
- package/dist/web/mascots/bolt-running.svg +7 -0
- package/dist/web/mascots/echo-attention.svg +7 -0
- package/dist/web/mascots/echo-ok.svg +7 -0
- package/dist/web/mascots/echo-outage.svg +7 -0
- package/dist/web/mascots/echo-running.svg +7 -0
- package/dist/web/mascots/lens-attention.svg +7 -0
- package/dist/web/mascots/lens-ok.svg +7 -0
- package/dist/web/mascots/lens-outage.svg +7 -0
- package/dist/web/mascots/lens-running.svg +7 -0
- package/dist/web/mascots/moss-attention.svg +7 -0
- package/dist/web/mascots/moss-ok.svg +7 -0
- package/dist/web/mascots/moss-outage.svg +7 -0
- package/dist/web/mascots/moss-running.svg +7 -0
- package/dist/web/mascots/nit-attention.svg +7 -0
- package/dist/web/mascots/nit-ok.svg +7 -0
- package/dist/web/mascots/nit-outage.svg +7 -0
- package/dist/web/mascots/nit-running.svg +7 -0
- package/dist/web/mascots/nova-attention.svg +7 -0
- package/dist/web/mascots/nova-ok.svg +7 -0
- package/dist/web/mascots/nova-outage.svg +7 -0
- package/dist/web/mascots/nova-running.svg +7 -0
- package/dist/web/mascots/penn-attention.svg +7 -0
- package/dist/web/mascots/penn-ok.svg +7 -0
- package/dist/web/mascots/penn-outage.svg +7 -0
- package/dist/web/mascots/penn-running.svg +7 -0
- package/dist/web/mascots/pip-attention.svg +7 -0
- package/dist/web/mascots/pip-ok.svg +7 -0
- package/dist/web/mascots/pip-outage.svg +7 -0
- package/dist/web/mascots/pip-running.svg +7 -0
- package/dist/web/mascots/ward-attention.svg +7 -0
- package/dist/web/mascots/ward-ok.svg +7 -0
- package/dist/web/mascots/ward-outage.svg +7 -0
- package/dist/web/mascots/ward-running.svg +7 -0
- package/dist/web/sw.js +98 -0
- package/dist/webhook-seen.js +53 -0
- package/dist/webhook-seen.js.map +1 -0
- package/dist/webhooks.js +625 -0
- package/dist/webhooks.js.map +1 -0
- package/dist/zip.js +63 -0
- package/dist/zip.js.map +1 -0
- package/docs/API-V2.md +532 -0
- package/docs/CHAT-EVAL.md +130 -0
- package/docs/CHAT-UI.md +416 -0
- package/docs/CONNECTIONS.md +89 -0
- package/docs/DATA-MODEL.md +518 -0
- package/docs/DEPLOY.md +577 -0
- package/docs/DOGFOOD-LEDGER.md +81 -0
- package/docs/GITHUB.md +148 -0
- package/docs/INTEGRATION-MODEL.md +200 -0
- package/docs/LEAD-DOT.md +553 -0
- package/docs/LIST-PATTERNS.md +52 -0
- package/docs/MULTI-REPO.md +766 -0
- package/docs/PARITY.md +276 -0
- package/docs/PR-REVIEW-QA.md +1266 -0
- package/docs/PR-REVIEW.md +357 -0
- package/docs/SANDBOX.md +320 -0
- package/docs/SETUP.md +776 -0
- package/docs/SLACK.md +80 -0
- package/docs/STAGES.md +619 -0
- package/docs/TRACE-MAP.md +89 -0
- package/docs/TRACKERS.md +225 -0
- package/docs/VOICE.md +36 -0
- package/docs/tinybee/00-README.md +45 -0
- package/docs/tinybee/01-PRD.md +216 -0
- package/docs/tinybee/02-architecture-pairing.md +199 -0
- package/docs/tinybee/03-local-agent.md +222 -0
- package/docs/tinybee/04-local-setup-ui.md +128 -0
- package/docs/tinybee/05-mobile-app-ux.md +199 -0
- package/docs/tinybee/06-environments-and-delivery.md +148 -0
- package/docs/tinybee/07-coding-agent-handoff.md +116 -0
- package/docs/tinybee/OPEN-QUESTIONS.md +26 -0
- package/docs/tinybee/PROGRESS.md +134 -0
- package/package.json +111 -4
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Argus, ok"><title>Argus, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><path d="M18.5 8.3 Q32 -4.5 45.5 8.3 Q32 20.5 18.5 8.3 Z" fill="#fff" stroke="#2A1A17" stroke-width="1.3" stroke-linejoin="round"/><circle cx="32" cy="8.3" r="5" fill="#35C37D" stroke="#2A1A17" stroke-width="1.1"/><circle cx="32" cy="8.3" r="2.1" fill="#2A1A17"/><circle cx="33.5" cy="6.8" r="1" fill="#fff"/><circle cx="32" cy="35" r="20" fill="#6B7A94"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#4D5A72" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E1E6EF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Argus, outage"><title>Argus, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><path d="M18.5 8.3 Q32 -4.5 45.5 8.3 Q32 20.5 18.5 8.3 Z" fill="#fff" stroke="#2A1A17" stroke-width="1.3" stroke-linejoin="round"/><circle cx="32" cy="8.3" r="5" fill="#35C37D" stroke="#2A1A17" stroke-width="1.1"/><circle cx="32" cy="8.3" r="2.1" fill="#2A1A17"/><circle cx="33.5" cy="6.8" r="1" fill="#fff"/><circle cx="32" cy="35" r="20" fill="#6B7A94"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#4D5A72" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E1E6EF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Argus, running"><title>Argus, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#4D5A72"/><path d="M18.5 8.3 Q32 -4.5 45.5 8.3 Q32 20.5 18.5 8.3 Z" fill="#fff" stroke="#2A1A17" stroke-width="1.3" stroke-linejoin="round"/><circle cx="32" cy="8.3" r="5" fill="#35C37D" stroke="#2A1A17" stroke-width="1.1"/><circle cx="32" cy="8.3" r="2.1" fill="#2A1A17"/><circle cx="33.5" cy="6.8" r="1" fill="#fff"/><circle cx="32" cy="35" r="20" fill="#6B7A94"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#4D5A72" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E1E6EF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6C8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Bolt, attention"><title>Bolt, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><path d="M30 5 L36.5 5 L33.5 10.5 L38 10.5 L29.5 19 L31.5 12.5 L27.5 12.5 Z" fill="#E8751A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#F5B83D"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D9901B" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFF0C7" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Bolt, ok"><title>Bolt, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><path d="M30 5 L36.5 5 L33.5 10.5 L38 10.5 L29.5 19 L31.5 12.5 L27.5 12.5 Z" fill="#E8751A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#F5B83D"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D9901B" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFF0C7" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Bolt, outage"><title>Bolt, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><path d="M30 5 L36.5 5 L33.5 10.5 L38 10.5 L29.5 19 L31.5 12.5 L27.5 12.5 Z" fill="#E8751A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#F5B83D"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D9901B" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFF0C7" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Bolt, running"><title>Bolt, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D9901B"/><path d="M30 5 L36.5 5 L33.5 10.5 L38 10.5 L29.5 19 L31.5 12.5 L27.5 12.5 Z" fill="#E8751A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#F5B83D"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D9901B" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFF0C7" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFA98A" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Echo, attention"><title>Echo, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><circle cx="32" cy="8.3" r="7.6" fill="#8A4F25" stroke="#fff" stroke-width="1.3"/><path d="M33.2 4.2 A4.3 4.3 0 1 1 27.7 8.8" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><path d="M24.2 8.4 L31.2 8.4 L27.7 3.6 Z" fill="#fff" stroke="#fff" stroke-width="0.8" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#D18B52"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#A9672F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FBE4CC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Echo, ok"><title>Echo, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><circle cx="32" cy="8.3" r="7.6" fill="#8A4F25" stroke="#fff" stroke-width="1.3"/><path d="M33.2 4.2 A4.3 4.3 0 1 1 27.7 8.8" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><path d="M24.2 8.4 L31.2 8.4 L27.7 3.6 Z" fill="#fff" stroke="#fff" stroke-width="0.8" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#D18B52"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#A9672F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FBE4CC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Echo, outage"><title>Echo, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><circle cx="32" cy="8.3" r="7.6" fill="#8A4F25" stroke="#fff" stroke-width="1.3"/><path d="M33.2 4.2 A4.3 4.3 0 1 1 27.7 8.8" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><path d="M24.2 8.4 L31.2 8.4 L27.7 3.6 Z" fill="#fff" stroke="#fff" stroke-width="0.8" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#D18B52"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#A9672F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FBE4CC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Echo, running"><title>Echo, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#A9672F"/><circle cx="32" cy="8.3" r="7.6" fill="#8A4F25" stroke="#fff" stroke-width="1.3"/><path d="M33.2 4.2 A4.3 4.3 0 1 1 27.7 8.8" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><path d="M24.2 8.4 L31.2 8.4 L27.7 3.6 Z" fill="#fff" stroke="#fff" stroke-width="0.8" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#D18B52"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#A9672F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FBE4CC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Lens, attention"><title>Lens, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><path d="M33.5 12.5 L27 17.5" stroke="#2C7FCB" stroke-width="3.6" stroke-linecap="round"/><circle cx="37" cy="8.3" r="6.6" fill="#EAF6FF" stroke="#2C7FCB" stroke-width="2.6"/><path d="M33.2 6.2 Q34.3 4.2 37 3.9" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#4DA8F0"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2C7FCB" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#DCEFFD" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Lens, ok"><title>Lens, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><path d="M33.5 12.5 L27 17.5" stroke="#2C7FCB" stroke-width="3.6" stroke-linecap="round"/><circle cx="37" cy="8.3" r="6.6" fill="#EAF6FF" stroke="#2C7FCB" stroke-width="2.6"/><path d="M33.2 6.2 Q34.3 4.2 37 3.9" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#4DA8F0"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2C7FCB" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#DCEFFD" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Lens, outage"><title>Lens, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><path d="M33.5 12.5 L27 17.5" stroke="#2C7FCB" stroke-width="3.6" stroke-linecap="round"/><circle cx="37" cy="8.3" r="6.6" fill="#EAF6FF" stroke="#2C7FCB" stroke-width="2.6"/><path d="M33.2 6.2 Q34.3 4.2 37 3.9" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#4DA8F0"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2C7FCB" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#DCEFFD" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Lens, running"><title>Lens, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2C7FCB"/><path d="M33.5 12.5 L27 17.5" stroke="#2C7FCB" stroke-width="3.6" stroke-linecap="round"/><circle cx="37" cy="8.3" r="6.6" fill="#EAF6FF" stroke="#2C7FCB" stroke-width="2.6"/><path d="M33.2 6.2 Q34.3 4.2 37 3.9" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#4DA8F0"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2C7FCB" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#DCEFFD" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4C8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Moss, attention"><title>Moss, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><path d="M32 16 L32 10" stroke="#2F9064" stroke-width="2" stroke-linecap="round"/><path d="M32 11 C27 11 24.5 8 24.5 5 C29 5 32 7 32 11 Z" fill="#4CB782" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><path d="M32 12 C36.5 12 39.5 9.5 39.5 6.5 C35.5 6.5 32 8.5 32 12 Z" fill="#D7F3E4" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#4CB782"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2F9064" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D7F3E4" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Moss, ok"><title>Moss, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><path d="M32 16 L32 10" stroke="#2F9064" stroke-width="2" stroke-linecap="round"/><path d="M32 11 C27 11 24.5 8 24.5 5 C29 5 32 7 32 11 Z" fill="#4CB782" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><path d="M32 12 C36.5 12 39.5 9.5 39.5 6.5 C35.5 6.5 32 8.5 32 12 Z" fill="#D7F3E4" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#4CB782"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2F9064" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D7F3E4" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Moss, outage"><title>Moss, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><path d="M32 16 L32 10" stroke="#2F9064" stroke-width="2" stroke-linecap="round"/><path d="M32 11 C27 11 24.5 8 24.5 5 C29 5 32 7 32 11 Z" fill="#4CB782" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><path d="M32 12 C36.5 12 39.5 9.5 39.5 6.5 C35.5 6.5 32 8.5 32 12 Z" fill="#D7F3E4" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#4CB782"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2F9064" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D7F3E4" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Moss, running"><title>Moss, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#2F9064"/><path d="M32 16 L32 10" stroke="#2F9064" stroke-width="2" stroke-linecap="round"/><path d="M32 11 C27 11 24.5 8 24.5 5 C29 5 32 7 32 11 Z" fill="#4CB782" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><path d="M32 12 C36.5 12 39.5 9.5 39.5 6.5 C35.5 6.5 32 8.5 32 12 Z" fill="#D7F3E4" stroke="#2F9064" stroke-width="1.4" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#4CB782"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#2F9064" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D7F3E4" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nit, attention"><title>Nit, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><rect x="18.5" y="0.5" width="27" height="14.5" rx="3.2" fill="#fff" stroke="#2A1A17" stroke-width="1.1"/><rect x="22" y="3.2" width="20" height="4" rx="1.1" fill="#2FB36B"/><rect x="22" y="8.8" width="20" height="4" rx="1.1" fill="#E5484D"/><path d="M24.3 5.2 H28 M26.15 3.6 V6.8 M24.3 10.8 H28" stroke="#fff" stroke-width="1.1" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#1FA9B8"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#12808D" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D3F3F6" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nit, ok"><title>Nit, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><rect x="18.5" y="0.5" width="27" height="14.5" rx="3.2" fill="#fff" stroke="#2A1A17" stroke-width="1.1"/><rect x="22" y="3.2" width="20" height="4" rx="1.1" fill="#2FB36B"/><rect x="22" y="8.8" width="20" height="4" rx="1.1" fill="#E5484D"/><path d="M24.3 5.2 H28 M26.15 3.6 V6.8 M24.3 10.8 H28" stroke="#fff" stroke-width="1.1" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#1FA9B8"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#12808D" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D3F3F6" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nit, outage"><title>Nit, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><rect x="18.5" y="0.5" width="27" height="14.5" rx="3.2" fill="#fff" stroke="#2A1A17" stroke-width="1.1"/><rect x="22" y="3.2" width="20" height="4" rx="1.1" fill="#2FB36B"/><rect x="22" y="8.8" width="20" height="4" rx="1.1" fill="#E5484D"/><path d="M24.3 5.2 H28 M26.15 3.6 V6.8 M24.3 10.8 H28" stroke="#fff" stroke-width="1.1" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#1FA9B8"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#12808D" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D3F3F6" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nit, running"><title>Nit, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#12808D"/><rect x="18.5" y="0.5" width="27" height="14.5" rx="3.2" fill="#fff" stroke="#2A1A17" stroke-width="1.1"/><rect x="22" y="3.2" width="20" height="4" rx="1.1" fill="#2FB36B"/><rect x="22" y="8.8" width="20" height="4" rx="1.1" fill="#E5484D"/><path d="M24.3 5.2 H28 M26.15 3.6 V6.8 M24.3 10.8 H28" stroke="#fff" stroke-width="1.1" stroke-linecap="round"/><circle cx="32" cy="35" r="20" fill="#1FA9B8"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#12808D" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#D3F3F6" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nova, attention"><title>Nova, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><path d="M21 6 L22.7 10.8 L27.5 12.5 L22.7 14.2 L21 19 L19.3 14.2 L14.5 12.5 L19.3 10.8 Z" fill="#FFC94A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#8B7CF6"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#6A58E0" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E4DFFF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nova, ok"><title>Nova, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><path d="M21 6 L22.7 10.8 L27.5 12.5 L22.7 14.2 L21 19 L19.3 14.2 L14.5 12.5 L19.3 10.8 Z" fill="#FFC94A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#8B7CF6"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#6A58E0" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E4DFFF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nova, outage"><title>Nova, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><path d="M21 6 L22.7 10.8 L27.5 12.5 L22.7 14.2 L21 19 L19.3 14.2 L14.5 12.5 L19.3 10.8 Z" fill="#FFC94A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#8B7CF6"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#6A58E0" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E4DFFF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Nova, running"><title>Nova, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#6A58E0"/><path d="M21 6 L22.7 10.8 L27.5 12.5 L22.7 14.2 L21 19 L19.3 14.2 L14.5 12.5 L19.3 10.8 Z" fill="#FFC94A" stroke="#2A1A17" stroke-width="1" stroke-linejoin="round"/><circle cx="32" cy="35" r="20" fill="#8B7CF6"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#6A58E0" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#E4DFFF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Penn, attention"><title>Penn, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><g transform="rotate(22 32 14)"><rect x="28.5" y="-1.5" width="7" height="14.5" rx="1.2" fill="#FFC94A" stroke="#2A1A17" stroke-width="1.1"/><rect x="28.5" y="-1.5" width="7" height="3.8" rx="1.2" fill="#FF8FA9" stroke="#2A1A17" stroke-width="1.1"/><path d="M28.5 13 L35.5 13 L32 19 Z" fill="#F5DDB8" stroke="#2A1A17" stroke-width="1.1" stroke-linejoin="round"/><path d="M30.8 16.6 L33.2 16.6 L32 19 Z" fill="#2A1A17"/></g><circle cx="32" cy="35" r="20" fill="#F27BAA"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D1507F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFE0EC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Penn, ok"><title>Penn, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><g transform="rotate(22 32 14)"><rect x="28.5" y="-1.5" width="7" height="14.5" rx="1.2" fill="#FFC94A" stroke="#2A1A17" stroke-width="1.1"/><rect x="28.5" y="-1.5" width="7" height="3.8" rx="1.2" fill="#FF8FA9" stroke="#2A1A17" stroke-width="1.1"/><path d="M28.5 13 L35.5 13 L32 19 Z" fill="#F5DDB8" stroke="#2A1A17" stroke-width="1.1" stroke-linejoin="round"/><path d="M30.8 16.6 L33.2 16.6 L32 19 Z" fill="#2A1A17"/></g><circle cx="32" cy="35" r="20" fill="#F27BAA"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D1507F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFE0EC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Penn, outage"><title>Penn, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><g transform="rotate(22 32 14)"><rect x="28.5" y="-1.5" width="7" height="14.5" rx="1.2" fill="#FFC94A" stroke="#2A1A17" stroke-width="1.1"/><rect x="28.5" y="-1.5" width="7" height="3.8" rx="1.2" fill="#FF8FA9" stroke="#2A1A17" stroke-width="1.1"/><path d="M28.5 13 L35.5 13 L32 19 Z" fill="#F5DDB8" stroke="#2A1A17" stroke-width="1.1" stroke-linejoin="round"/><path d="M30.8 16.6 L33.2 16.6 L32 19 Z" fill="#2A1A17"/></g><circle cx="32" cy="35" r="20" fill="#F27BAA"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D1507F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFE0EC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Penn, running"><title>Penn, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#D1507F"/><g transform="rotate(22 32 14)"><rect x="28.5" y="-1.5" width="7" height="14.5" rx="1.2" fill="#FFC94A" stroke="#2A1A17" stroke-width="1.1"/><rect x="28.5" y="-1.5" width="7" height="3.8" rx="1.2" fill="#FF8FA9" stroke="#2A1A17" stroke-width="1.1"/><path d="M28.5 13 L35.5 13 L32 19 Z" fill="#F5DDB8" stroke="#2A1A17" stroke-width="1.1" stroke-linejoin="round"/><path d="M30.8 16.6 L33.2 16.6 L32 19 Z" fill="#2A1A17"/></g><circle cx="32" cy="35" r="20" fill="#F27BAA"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#D1507F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFE0EC" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFC1A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Pip, attention"><title>Pip, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><path d="M32 16 L32 9" stroke="#C9432F" stroke-width="2" stroke-linecap="round"/><circle cx="32" cy="7" r="3.2" fill="#FFD6CF" stroke="#C9432F" stroke-width="1.6"/><circle cx="32" cy="35" r="20" fill="#F0614F"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#C9432F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFD6CF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Pip, ok"><title>Pip, ok</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><path d="M32 16 L32 9" stroke="#C9432F" stroke-width="2" stroke-linecap="round"/><circle cx="32" cy="7" r="3.2" fill="#FFD6CF" stroke="#C9432F" stroke-width="1.6"/><circle cx="32" cy="35" r="20" fill="#F0614F"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#C9432F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFD6CF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="25.91" cy="31.72" r="0.9099999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="2.6" ry="3.2" fill="#2A1A17"/><circle cx="39.91" cy="31.72" r="0.9099999999999999" fill="#fff"/></g><path d="M27 40.5 Q32 45 37 40.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Pip, outage"><title>Pip, outage</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><path d="M32 16 L32 9" stroke="#C9432F" stroke-width="2" stroke-linecap="round"/><circle cx="32" cy="7" r="3.2" fill="#FFD6CF" stroke="#C9432F" stroke-width="1.6"/><circle cx="32" cy="35" r="20" fill="#F0614F"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#C9432F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFD6CF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.25"/><path d="M22.5 30.5 L27.5 35.5 M27.5 30.5 L22.5 35.5 M36.5 30.5 L41.5 35.5 M41.5 30.5 L36.5 35.5" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M27 44 Q32 39.5 37 44" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/><path d="M15.5 22 C15.5 22 13 25.5 13 27 A2.5 2.5 0 0 0 18 27 C18 25.5 15.5 22 15.5 22 Z" fill="#7CC4F2" stroke="#2A1A17" stroke-width="0.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#DC2626" stroke="#fff" stroke-width="2"/><path d="M49.5 14.5 L54.5 19.5 M54.5 14.5 L49.5 19.5" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Pip, running"><title>Pip, running</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-bob mascot-run"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#C9432F"/><path d="M32 16 L32 9" stroke="#C9432F" stroke-width="2" stroke-linecap="round"/><circle cx="32" cy="7" r="3.2" fill="#FFD6CF" stroke="#C9432F" stroke-width="1.6"/><circle cx="32" cy="35" r="20" fill="#F0614F"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#C9432F" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#FFD6CF" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#FFB4A8" fill-opacity="0.6"/><g class="mascot-eyes"><ellipse cx="26.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="27.41" cy="31.88" r="0.9099999999999999" fill="#fff"/><ellipse cx="40.5" cy="33" rx="2.6" ry="2.8" fill="#2A1A17"/><circle cx="41.41" cy="31.88" r="0.9099999999999999" fill="#fff"/></g><path d="M30 41.5 Q33 43 36 41.5" fill="none" stroke="#2A1A17" stroke-width="2" stroke-linecap="round"/></g><g class="mascot-trail" fill="none" stroke="#8A8A96" stroke-opacity="0.8" stroke-width="1.8" stroke-linecap="round"><path d="M8 30 Q5 35 8 40"/><path d="M3.5 32 Q1.5 35 3.5 38"/></g></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 64 64" role="img" aria-label="Ward, attention"><title>Ward, attention</title><style>.mascot-bob{animation:mascot-bob 1.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
|
|
2
|
+
.mascot-run .mascot-eyes{animation:mascot-blink 3.2s infinite;transform-box:fill-box;transform-origin:center}
|
|
3
|
+
.mascot-trail{animation:mascot-trail 1.1s ease-in-out infinite alternate}
|
|
4
|
+
@keyframes mascot-bob{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
|
|
5
|
+
@keyframes mascot-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(0.12)}}
|
|
6
|
+
@keyframes mascot-trail{from{opacity:.25}to{opacity:.8}}
|
|
7
|
+
@media (prefers-reduced-motion: reduce){.mascot-bob,.mascot-run .mascot-eyes,.mascot-trail{animation:none}}</style><ellipse cx="32" cy="59" rx="15" ry="2.6" fill="#000" fill-opacity="0.1"/><g class="mascot-still"><ellipse cx="24" cy="54.5" rx="5.5" ry="3.2" fill="#3345A0"/><ellipse cx="40" cy="54.5" rx="5.5" ry="3.2" fill="#3345A0"/><g transform="translate(32 8.6) scale(1.12) translate(-32 -8.6)"><path d="M32 0.5 L42 4 V9.5 C42 14 37.5 16.3 32 17.8 C26.5 16.3 22 14 22 9.5 V4 Z" fill="#FFC94A" stroke="#2A1A17" stroke-width="1.1" stroke-linejoin="round"/><path d="M27.5 8.8 L30.7 12 L36.6 5.6" fill="none" stroke="#2A1A17" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"/></g><circle cx="32" cy="35" r="20" fill="#4B5FC4"/><path d="M14.5 39 A18 18 0 0 0 49.5 39 A20 20 0 0 1 14.5 39 Z" fill="#3345A0" fill-opacity="0.25"/><ellipse cx="32" cy="43" rx="11.5" ry="8.5" fill="#DDE2FA" fill-opacity="0.75"/><ellipse cx="24" cy="23" rx="5" ry="3" fill="#fff" fill-opacity="0.35" transform="rotate(-30 24 23)"/><circle cx="19.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><circle cx="44.5" cy="39.5" r="2.6" fill="#F3B6E0" fill-opacity="0.6"/><path d="M21.5 26.5 Q25 24 28.5 25.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><path d="M35.5 25.5 Q39 24 42.5 26.5" fill="none" stroke="#2A1A17" stroke-width="1.8" stroke-linecap="round"/><g class="mascot-eyes"><ellipse cx="25" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="26.12" cy="31.56" r="1.1199999999999999" fill="#fff"/><ellipse cx="39" cy="33" rx="3.2" ry="3.6" fill="#2A1A17"/><circle cx="40.12" cy="31.56" r="1.1199999999999999" fill="#fff"/></g><circle cx="32" cy="42.5" r="2.2" fill="none" stroke="#2A1A17" stroke-width="1.8"/></g><g class="mascot-badge"><circle cx="52" cy="17" r="6.5" fill="#F59E0B" stroke="#fff" stroke-width="2"/><path d="M52 13.5 L52 17.8" stroke="#fff" stroke-width="2.2" stroke-linecap="round"/><circle cx="52" cy="20.6" r="1.2" fill="#fff"/></g></svg>
|