@bongos/core 1.19.725 → 1.19.727

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.
Files changed (229) hide show
  1. package/.bongos-core.json +179 -494
  2. package/.devcontainer/Dockerfile +1 -1
  3. package/.devcontainer/devcontainer.json +2 -2
  4. package/.devcontainer/healthcheck.sh +1 -1
  5. package/.devcontainer/init-firewall.sh +1 -1
  6. package/.devcontainer/post-create.sh +2 -2
  7. package/.env.local.example +1 -1
  8. package/Dockerfile +1 -1
  9. package/docs/copy-inventory.md +1 -1
  10. package/docs/copy-registry.json +9 -9
  11. package/docs/module-api-changelog.md +4 -0
  12. package/docs/recipes/devbox-app-release.md +4 -4
  13. package/modules/dev-box/app/scripts/dmgbuild-settings.py +5 -5
  14. package/modules/dev-box/app/scripts/gen-brand.js +1 -1
  15. package/modules/dev-box/app/src/brand.js +1 -1
  16. package/modules/dev-box/app/test/unit.mjs +16 -16
  17. package/modules/dev-box/box-access.js +1 -1
  18. package/modules/dev-box/routes/box.js +1 -1
  19. package/modules/discord/discord-approvals.js +1 -1
  20. package/modules/grading/grader-model.js +1 -1
  21. package/modules/grading/grader-prompt.js +1 -1
  22. package/modules/grading/grader-workers/quality.js +1 -1
  23. package/modules/hall-ui/module.json +1 -1
  24. package/modules/hall-ui/public/brand-apply.js +1 -1
  25. package/modules/hall-ui/public/shell.js +1 -1
  26. package/modules/hall-ui/public/work.js +1 -1
  27. package/modules/lifecycle/conflict-resolve.js +1 -1
  28. package/modules/lifecycle/db-analytics.js +1 -1
  29. package/modules/lifecycle/routes/analytics.js +1 -1
  30. package/modules/onboarding/approval-broadcast.js +1 -1
  31. package/modules/onboarding/onboarding.js +1 -1
  32. package/modules/provisioning/tests/liveness.mjs +1 -1
  33. package/modules/public-landing/public/index.html +1 -1
  34. package/modules/public-landing/public/projects-floor.states.json +2 -2
  35. package/modules/public-landing/public/projects.probes.json +4 -4
  36. package/modules/public-landing/public/projects.states.json +2 -2
  37. package/modules/status-ui/module.json +1 -1
  38. package/modules/status-ui/public/status.js +4 -4
  39. package/modules/status-ui/public/style.css +1 -1
  40. package/modules/ui-design/kit/fixtures/cost-summary.json +1 -1
  41. package/modules/ui-design/kit/fixtures/featured-hub.json +1 -1
  42. package/modules/ui-design/kit/fixtures/featured.json +1 -1
  43. package/modules/ui-design/kit/fixtures/leaderboard.json +1 -1
  44. package/modules/ui-design/kit/fixtures/my-projects.json +1 -1
  45. package/modules/ui-design/kit/fixtures/progress.json +1 -1
  46. package/modules/ui-design/kit/fixtures/recent-shipped.json +1 -1
  47. package/package-lock.json +2 -2
  48. package/package.json +1 -1
  49. package/scripts/cron/style_guide_audit.sh +1 -1
  50. package/scripts/discord/lib.js +1 -1
  51. package/scripts/discord/post.js +1 -1
  52. package/scripts/gds/audit-authorship.sh +1 -1
  53. package/scripts/gds/audit-replay.sh +29 -2
  54. package/scripts/gds/audit-ships.js +1 -1
  55. package/scripts/gds/backfill-sessions.js +2 -2
  56. package/scripts/gds/cf-tunnel.js +4 -4
  57. package/scripts/gds/claude-materialize.js +2 -2
  58. package/scripts/gds/cli-lib.js +6 -6
  59. package/scripts/gds/cutover-codemod.js +1 -1
  60. package/scripts/gds/dev-lib.js +2 -2
  61. package/scripts/gds/diagnose-achievements.js +2 -2
  62. package/scripts/gds/fitness-checks-identity.js +6 -4
  63. package/scripts/gds/gate-review.js +14 -6
  64. package/scripts/gds/gen-diagrams.js +1 -1
  65. package/scripts/gds/leak-scan-allowlist.js +293 -0
  66. package/scripts/gds/learning-capture.js +1 -1
  67. package/scripts/gds/linkify-refs.js +2 -2
  68. package/scripts/gds/local-preview-lib.js +1 -1
  69. package/scripts/gds/mirror-lineage-check.js +1 -1
  70. package/scripts/gds/mirror-redact.js +17 -2
  71. package/scripts/gds/newcomer-floor.templates.json +1 -1
  72. package/scripts/gds/package-core.js +18 -1
  73. package/scripts/gds/paste-token.js +1 -1
  74. package/scripts/gds/provision-units.js +2 -2
  75. package/scripts/gds/publish-manifest.js +15 -0
  76. package/scripts/gds/repo-metrics.js +1 -1
  77. package/scripts/gds/sandbox-stage.js +1 -1
  78. package/scripts/gds/seed-bongos-coreB-tranche1-tasks.js +1 -1
  79. package/scripts/gds/seed-bongos-coreB-tranche2-tasks.js +1 -1
  80. package/scripts/gds/seed-bongos-goal-hierarchy-tasks.js +1 -1
  81. package/scripts/gds/seed-bongos-tasks.js +2 -2
  82. package/scripts/gds/seed-gds-v4-tasks.js +1 -1
  83. package/scripts/gds/seed-medusa-tasks.js +10 -10
  84. package/scripts/gds/seed-module-upstreaming.js +1 -1
  85. package/scripts/gds/seed-productization-tasks.js +6 -6
  86. package/scripts/gds/seed-provisioning-tasks.js +2 -2
  87. package/scripts/gds/seed-staging.sh +19 -6
  88. package/scripts/gds/ship-deploy-target.js +1 -1
  89. package/scripts/gds/ship-flow.js +1 -1
  90. package/scripts/gds/smoke-gds.js +1 -1
  91. package/scripts/status-probe.mjs +2 -2
  92. package/src/bongos/auth-discord.js +2 -2
  93. package/src/bongos/live-channel.js +1 -1
  94. package/src/bongos/permission-path-check.js +80 -3
  95. package/src/bongos/pool.js +1 -1
  96. package/src/bongos/routes/auth.js +11 -11
  97. package/src/bongos/routes/security.js +1 -1
  98. package/src/bongos/routes.js +1 -1
  99. package/src/branding.js +1 -1
  100. package/src/devbox-downloads.js +1 -1
  101. package/src/instance-config.js +2 -2
  102. package/src/module-api.js +1 -1
  103. package/src/module-loader/provenance.js +2 -2
  104. package/tests/art_stage.mjs +2 -2
  105. package/tests/auth_anthropic_identity.mjs +1 -1
  106. package/tests/auth_duplicate_cookie.mjs +1 -1
  107. package/tests/auth_error_brand.mjs +1 -1
  108. package/tests/auth_inactive_builder.mjs +1 -1
  109. package/tests/backup_cli.mjs +4 -4
  110. package/tests/bongos_box_connect.mjs +2 -2
  111. package/tests/bongos_downloads.mjs +2 -2
  112. package/tests/bongos_login.mjs +5 -5
  113. package/tests/box_connect_e2e.mjs +2 -2
  114. package/tests/box_dns_repoint.mjs +10 -10
  115. package/tests/box_host_keys.mjs +1 -1
  116. package/tests/box_onboard.mjs +9 -9
  117. package/tests/box_scope_session.mjs +1 -1
  118. package/tests/box_terminal_ssrf.mjs +7 -7
  119. package/tests/boxes.mjs +9 -9
  120. package/tests/branding.mjs +2 -2
  121. package/tests/bump_version.mjs +2 -2
  122. package/tests/cf_tunnel.mjs +40 -40
  123. package/tests/cli_token_reissue.mjs +7 -7
  124. package/tests/cloud_bongos_pack.mjs +1 -1
  125. package/tests/currency_label.mjs +8 -8
  126. package/tests/dev_lib.mjs +4 -4
  127. package/tests/devbox_dmg_backdrop.mjs +1 -1
  128. package/tests/devbox_downloads.mjs +2 -2
  129. package/tests/devbox_icons.mjs +1 -1
  130. package/tests/discord_approvals.mjs +1 -1
  131. package/tests/discord_oauth.mjs +2 -2
  132. package/tests/executed_closure.mjs +6 -1
  133. package/tests/first_admin_bootstrap.mjs +1 -1
  134. package/tests/gate_approvals.mjs +5 -5
  135. package/tests/government_protected_surfaces.mjs +137 -0
  136. package/tests/grade_aggregates_unavailable.mjs +1 -1
  137. package/tests/hook_user_agents.mjs +2 -2
  138. package/tests/init.mjs +6 -6
  139. package/tests/instance_config.mjs +1 -1
  140. package/tests/instance_manifest.mjs +5 -5
  141. package/tests/instance_mismatch_guard.mjs +13 -13
  142. package/tests/leak_scan_allowlist.mjs +94 -0
  143. package/tests/migrate_root_resolution.mjs +4 -4
  144. package/tests/mirror_redact.mjs +28 -4
  145. package/tests/module_catalog.mjs +5 -5
  146. package/tests/module_submissions.mjs +3 -3
  147. package/tests/package_core.mjs +1 -1
  148. package/tests/parallel-load.mjs +6 -6
  149. package/tests/projects_hub.mjs +2 -2
  150. package/tests/provision.mjs +50 -50
  151. package/tests/provisioning_github_app_routes.mjs +1 -1
  152. package/tests/provisioning_onboard_mode.mjs +2 -2
  153. package/tests/publish_reconciler.mjs +4 -4
  154. package/tests/sandbox_stage.mjs +1 -1
  155. package/tests/scrubber_corpus.mjs +3 -3
  156. package/tests/search_isolation.mjs +1 -1
  157. package/tests/session_records.mjs +1 -1
  158. package/tests/ship_card.mjs +6 -6
  159. package/tests/ship_ci_deploy.mjs +1 -1
  160. package/tests/single_host_hall.mjs +9 -9
  161. package/tests/smoke_preflight.mjs +1 -1
  162. package/tests/smoke_target.mjs +1 -1
  163. package/tests/status-probe.mjs +1 -1
  164. package/tests/status_mirror_sync.mjs +1 -1
  165. package/docs/adr/0004-amazonprimea-name-and-trademark-acceptance.md +0 -45
  166. package/docs/design/mocks/_schemes.css +0 -604
  167. package/docs/design/mocks/component-sheet.html +0 -428
  168. package/docs/design/mocks/hall/_tokens.css +0 -370
  169. package/docs/design/mocks/hall/board/v1.html +0 -846
  170. package/docs/design/mocks/hall/board/v2.html +0 -858
  171. package/docs/design/mocks/hall/board/v3.html +0 -884
  172. package/docs/design/mocks/hall/goals/v1.html +0 -1212
  173. package/docs/design/mocks/hall/goals/v2.html +0 -1192
  174. package/docs/design/mocks/hall/goals/v3.html +0 -1205
  175. package/docs/design/mocks/hall/hall-sheet.html +0 -244
  176. package/docs/design/mocks/hall/reading/v1.html +0 -1125
  177. package/docs/design/mocks/hall/reading/v2.html +0 -1177
  178. package/docs/design/mocks/hall/reading/v3.html +0 -1150
  179. package/docs/design/mocks/hall/settings/v1.html +0 -1238
  180. package/docs/design/mocks/hall/settings/v2.html +0 -1235
  181. package/docs/design/mocks/hall/settings/v3.html +0 -1299
  182. package/docs/design/mocks/hall/task/v1.html +0 -633
  183. package/docs/design/mocks/hall/task/v2.html +0 -646
  184. package/docs/design/mocks/hall/task/v3.html +0 -647
  185. package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg +0 -0
  186. package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg.json +0 -13
  187. package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg +0 -0
  188. package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg.json +0 -13
  189. package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg +0 -0
  190. package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg.json +0 -13
  191. package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg +0 -0
  192. package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg.json +0 -13
  193. package/docs/design/mocks/hub/hub-sheet.html +0 -192
  194. package/docs/design/mocks/hub/mine.html +0 -465
  195. package/docs/design/mocks/hub/picker.html +0 -421
  196. package/docs/design/mocks/hub/planets.html +0 -356
  197. package/docs/design/mocks/hub/v1.html +0 -1209
  198. package/docs/design/mocks/hub/v2.html +0 -1257
  199. package/docs/design/mocks/hub/v3.html +0 -1496
  200. package/docs/design/mocks/hub/wizard.html +0 -421
  201. package/docs/design/mocks/landing/landing-sheet.html +0 -131
  202. package/docs/design/mocks/landing/v1.html +0 -956
  203. package/docs/design/mocks/landing/v2.html +0 -708
  204. package/docs/design/mocks/landing/v3.html +0 -911
  205. package/docs/design/mocks/landing-page-mock.html +0 -687
  206. package/docs/design/mocks/landing-palettes.html +0 -103
  207. package/docs/design/mocks/projects-hub-mock.html +0 -991
  208. package/docs/design/mocks/projects-hub-variants.html +0 -146
  209. package/docs/design/mocks/projects-page-mock.html +0 -167
  210. package/docs/design/mocks/world/blue-hud/_tokens.css +0 -246
  211. package/docs/design/mocks/world/blue-hud/hall.html +0 -595
  212. package/docs/design/mocks/world/blue-hud/landing.html +0 -424
  213. package/docs/design/mocks/world/blue-hud/status.html +0 -410
  214. package/docs/design/mocks/world/chrome-blobs/_tokens.css +0 -479
  215. package/docs/design/mocks/world/chrome-blobs/hall.html +0 -553
  216. package/docs/design/mocks/world/chrome-blobs/landing-b.html +0 -581
  217. package/docs/design/mocks/world/chrome-blobs/landing.html +0 -328
  218. package/docs/design/mocks/world/chrome-blobs/status.html +0 -416
  219. package/docs/design/mocks/world/natgeo-editorial/_tokens.css +0 -377
  220. package/docs/design/mocks/world/natgeo-editorial/hall.html +0 -649
  221. package/docs/design/mocks/world/natgeo-editorial/landing-b.html +0 -743
  222. package/docs/design/mocks/world/natgeo-editorial/landing.html +0 -475
  223. package/docs/design/mocks/world/natgeo-editorial/status.html +0 -437
  224. package/docs/design/mocks/world/organic-cards/_tokens.css +0 -462
  225. package/docs/design/mocks/world/organic-cards/hall.html +0 -625
  226. package/docs/design/mocks/world/organic-cards/landing-b.html +0 -736
  227. package/docs/design/mocks/world/organic-cards/landing.html +0 -420
  228. package/docs/design/mocks/world/organic-cards/status.html +0 -458
  229. package/docs/design/mocks/world/world-sheet.html +0 -156
@@ -1,479 +0,0 @@
1
- /* Cloud Bongos world candidate "The chrome" - token layer for landing.html, landing-b.html, hall.html, status.html.
2
- The world: pure black space with iridescent chrome sculpture drifting through it, white type, one warm CTA.
3
- Palette strategy: Restrained. Pure black ground (#000, sampled from the owner's site template) and a neutral
4
- white-to-grey scale; a single warm salmon (--accent #fb9569, sampled from the template's CTA pill) lights only
5
- the primary action and the live step. Faces: Manrope 300/400/500/600 (the template's light geometric grotesque;
6
- display at 300, lowercase, tabular figures); JetBrains Mono 400 uppercase carries the light hall's labels per hall-1.
7
- Materials: rendered chrome plates composited with mix-blend-mode:lighten over black (r2-chrome-blobs-set for the
8
- hero field, r2-chrome-blob-one for the small object, r2-bongos-chrome-b for the hero-scale bongo pair); dark glass
9
- (translucent white over black, backdrop blur, a 1px light edge); forest-mist.jpg under the dark hall; 1px leaders.
10
- Corners: pill (999px) for every interactive control, 16px for cards and panels, 10px for small inset tiles.
11
- Derived from the contract: every fill, glass, tint, hatch, state colour, plate reference and the layout switches
12
- at the foot of this file are color-mix()ed or keyed off --bg / --ink / --accent, so a host pack still wins. */
13
-
14
- :root {
15
- color-scheme: light;
16
-
17
- /* ---- contract tokens (a host branding pack overrides exactly these fifteen) ---- */
18
- --bg: #edecee;
19
- --bg-card: #fbfafc;
20
- --bg-deep: #e2e1e4;
21
- --bg-frame: #f6f5f7;
22
- --ink: #17181a;
23
- --ink-soft: #55565a;
24
- --ink-faint: #65656a;
25
- --rule: rgba(23, 24, 26, .18);
26
- --rule-soft: rgba(23, 24, 26, .08);
27
- --accent: #fb9569;
28
- --accent-deep: #d96a35;
29
- --sea: #5b6fd0;
30
- --terracotta: #c9512c;
31
- --font-display: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
32
- --font-body: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
33
-
34
- /* ---- derived: faces + the rendered plates (referenced only through these) ---- */
35
- --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
36
- --plate: none; /* the hall's ground photograph: dark mode only */
37
- --plate-blob: url(../../../../../.impeccable/mocks/world-assets/chrome-blobs.jpg);
38
- --plate-set: url(../../../../../.impeccable/mocks/world-assets/r2-chrome-blobs-set.jpg);
39
- --plate-bead: url(../../../../../.impeccable/mocks/world-assets/r2-chrome-blob-one.jpg);
40
- --plate-bongos: url(../../../../../.impeccable/mocks/world-assets/r2-bongos-chrome-b.jpg);
41
- --blob-blend: lighten; /* every plate is rendered on black; lighten composites it */
42
-
43
- /* ---- derived: the void (the black the chrome must composite on) ---- */
44
- --void: #050508;
45
- --void-ink: #ffffff;
46
- --void-ink-soft: rgba(255, 255, 255, .70);
47
- --void-edge: rgba(255, 255, 255, .14);
48
- --void-pill: rgba(0, 0, 0, .5); /* a control that must stay readable over the chrome */
49
- --void-glass: rgba(23, 24, 26, .05); /* the landing's pill glass: 8% white over black in dark */
50
- --void-glass-strong: rgba(23, 24, 26, .09);
51
- --void-glass-edge: rgba(23, 24, 26, .12);
52
- --door-bg: var(--void-glass); /* dark mode swaps in --void-pill; light sits on paper */
53
-
54
- /* ---- derived: glass + surfaces ---- */
55
- --glass: rgba(23, 24, 26, .05);
56
- --glass-strong: rgba(23, 24, 26, .08);
57
- --glass-edge: rgba(23, 24, 26, .12);
58
- --glass-blur: 0px; /* blur is a dark-mode material: nothing photographic sits behind light */
59
- --card-body: #f4f3f6;
60
- --shadow-card: 0 1px 2px rgba(23, 24, 26, .06), 0 14px 34px rgba(23, 24, 26, .07);
61
- --panel-bg: #ffffff; /* hall shell surfaces: white in light, glass in dark */
62
- --panel-edge: var(--rule-soft);
63
- --sheet-bg: #ffffff;
64
- --sheet-edge: rgba(23, 24, 26, .13);
65
- --sheet-shadow: 0 1px 2px rgba(23, 24, 26, .05), 0 12px 30px rgba(23, 24, 26, .06);
66
- --board-bg: var(--bg); /* the sheet has to read as a card ON something */
67
- --badge-bg: #17181a; /* the mark's plate, per hall-1's black badge */
68
- --badge-ink: #ffffff;
69
- --chip-bg: rgba(23, 24, 26, .05); /* a static label chip: never the accent */
70
- --chip-ink: var(--ink-soft);
71
- --chip-edge: var(--rule-soft);
72
-
73
- /* ---- derived: accent behaviours (the accent lights only what is live or pressable) ---- */
74
- --accent-ink: color-mix(in srgb, var(--accent) 45%, #240e00); /* accent as readable text on a light ground */
75
- --accent-lift: color-mix(in srgb, var(--accent) 58%, #ffffff); /* the lit half of the warm CTA */
76
- --accent-tint: color-mix(in srgb, var(--accent) 30%, #fffdf9); /* the current item's fill */
77
- --accent-on: #2a1305; /* ink that sits on an accent fill */
78
- --accent-glow: none;
79
- --fig-accent: var(--ink); /* credits figures: warm in the dark hall, ink in the light one */
80
- --go-bg: var(--ink); /* the hall's primary button: dark filled in light, warm in dark */
81
- --go-ink: var(--bg);
82
- --tab-bg: var(--accent); /* the selected tab is the one lit pill, same in both modes */
83
- --tab-ink: var(--accent-on);
84
-
85
- /* ---- derived: state + marks ---- */
86
- --ok: var(--accent-deep);
87
- --warn: var(--terracotta);
88
- --err: var(--terracotta);
89
- --focus: color-mix(in srgb, var(--accent-deep) 82%, #3a1400); /* 3:1 on the light ground */
90
- --line: 1px;
91
- --radius: 16px;
92
- --radius-sm: 10px;
93
- --radius-pill: 999px;
94
-
95
- /* the inherited bongo pair as line and fill: chrome ramp, not ceramic */
96
- --chrome-hi: #ffffff;
97
- --chrome-mid: #a9b2bd;
98
- --chrome-cool: #949eaa;
99
- --chrome-lo: #2e343c;
100
- --skin-hi: #ffffff;
101
- --skin-mid: #8e97a3;
102
- --skin-lo: #333941;
103
- --drum-shadow: #17181a;
104
- --type-halo: none; /* type floating over the chrome needs its own ground in dark */
105
-
106
- /* browser surfaces + drawn chrome that cannot take a var() inline */
107
- --chev: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2365656a' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/></svg>");
108
- --check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6.4l2.6 2.6L10 3.4' fill='none' stroke='%232a1305' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/></svg>");
109
- --hatch: repeating-linear-gradient(45deg, transparent 0 5px, rgba(23, 24, 26, .12) 5px 6px);
110
-
111
- /* ---- derived: layout switches (light rehouses the chrome in one black specimen panel) ---- */
112
- --top-h: 72px;
113
- --float-pos: static; /* lede, callouts and the mark flow in the copy column */
114
- --hero-text-align: left;
115
- --hero-col: 50%;
116
- --hero-pad-top: 0px;
117
- --hero-pad-bottom: 16vh;
118
- --h1-size: clamp(38px, 5.4vw, 78px);
119
- --h1-a: 0%;
120
- --h1-b: 0%;
121
- --h1-c: 0%;
122
- --leader-len: 66px;
123
- --scrim: none;
124
- --top-scrim: none;
125
- --field-top: 4%;
126
- --field-right: 2.5%;
127
- --field-bottom: 12%;
128
- --field-left: 55%;
129
- --field-h: auto;
130
- --field-bg: var(--void);
131
- --field-radius: 30px;
132
- --field-mask: none; /* light keeps a crisp specimen panel; dark dissolves into the void */
133
- --doors-just: flex-start;
134
- --form-d: block;
135
- --form-w: 37.8vw;
136
- --form-x: 0.8vw;
137
- --form-y: -5.6vh;
138
- --orb-d: block;
139
- --orb-w: 24vw;
140
- --orb-x: 9vw;
141
- --orb-y: 48vh;
142
- --bead-d: none;
143
- --bead-w: 16vw;
144
- --bead-x: 60vw;
145
- --bead-y: 20vh;
146
- --mark-pos: absolute;
147
- --mark-w: 23.3vw;
148
- --mark-x: 64.8vw;
149
- --mark-y: 35.7vh;
150
- --crest-bg: var(--void);
151
- --crest-radius: 28px;
152
- --shell-pad: 22px;
153
- --shell-radius: 16px;
154
- --shell-bg: var(--bg-card);
155
- --shell-edge: rgba(23, 24, 26, .13);
156
- --shell-shadow: 0 1px 2px rgba(23, 24, 26, .05), 0 18px 44px rgba(23, 24, 26, .07);
157
- --shell-blob: none; /* the chrome bloom is a dark-mode material */
158
- --label-face: var(--font-mono);
159
- --label-size: 11px;
160
- --label-space: .12em;
161
- --label-suffix: "";
162
- --head-case: uppercase; /* tabs, filter labels, column heads: mono caps light, sentence dark */
163
- }
164
-
165
- :root[data-mode="dark"] {
166
- color-scheme: dark;
167
- --bg: #000000;
168
- --bg-card: #101012;
169
- --bg-deep: #000000;
170
- --bg-frame: #08080a;
171
- --ink: #ffffff;
172
- --ink-soft: #c0c0c0;
173
- --ink-faint: #a8a8a8;
174
- --rule: rgba(255, 255, 255, .16);
175
- --rule-soft: rgba(255, 255, 255, .08);
176
- --plate: url(../../../../../.impeccable/mocks/world-assets/forest-mist.jpg);
177
- --void: #000000;
178
- --void-ink: var(--ink);
179
- --void-ink-soft: var(--ink-soft);
180
- --void-edge: rgba(255, 255, 255, .16);
181
- --void-pill: rgba(0, 0, 0, .5);
182
- --void-glass: rgba(255, 255, 255, .075);
183
- --void-glass-strong: rgba(255, 255, 255, .14);
184
- --void-glass-edge: rgba(255, 255, 255, .11);
185
- --door-bg: var(--void-pill); /* the door bar keeps its own ground over bright chrome */
186
- --glass: rgba(255, 255, 255, .11);
187
- --glass-strong: rgba(255, 255, 255, .17);
188
- --glass-edge: rgba(255, 255, 255, .13);
189
- --glass-blur: 18px;
190
- --card-body: #161618;
191
- --shadow-card: 0 24px 60px rgba(0, 0, 0, .6);
192
- --panel-bg: rgba(255, 255, 255, .05);
193
- --panel-edge: var(--rule-soft);
194
- --sheet-bg: rgba(255, 255, 255, .07);
195
- --sheet-edge: rgba(255, 255, 255, .13);
196
- --sheet-shadow: 0 26px 60px rgba(0, 0, 0, .42);
197
- --board-bg: transparent;
198
- --badge-bg: rgba(255, 255, 255, .10);
199
- --badge-ink: var(--ink);
200
- --chip-bg: rgba(255, 255, 255, .08);
201
- --chip-ink: var(--ink-soft);
202
- --chip-edge: var(--rule-soft);
203
- --accent-ink: var(--accent);
204
- --accent-lift: color-mix(in srgb, var(--accent) 58%, #ffffff);
205
- --accent-tint: color-mix(in srgb, var(--accent) 22%, #0b0a09);
206
- --accent-on: #2a1305;
207
- --accent-glow: 0 8px 28px color-mix(in srgb, var(--accent) 38%, transparent);
208
- --fig-accent: var(--ink); /* credits are data, not a live or pressable thing */
209
- --go-bg: var(--accent);
210
- --go-ink: var(--accent-on);
211
- --tab-bg: var(--accent);
212
- --tab-ink: var(--accent-on);
213
- --ok: var(--accent);
214
- --warn: var(--accent);
215
- --err: var(--terracotta);
216
- --focus: var(--accent);
217
- --drum-shadow: #000000;
218
- --type-halo: 0 2px 18px rgba(0, 0, 0, .94), 0 0 54px rgba(0, 0, 0, .72);
219
- --chev: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23a8a8a8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/></svg>");
220
- --check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6.4l2.6 2.6L10 3.4' fill='none' stroke='%232a1305' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/></svg>");
221
- --hatch: repeating-linear-gradient(45deg, transparent 0 5px, rgba(255, 255, 255, .14) 5px 6px);
222
- --float-pos: absolute;
223
- --hero-text-align: left;
224
- --hero-col: 100%;
225
- --hero-pad-bottom: 15vh;
226
- --h1-size: clamp(38px, 8.4vw, 128px);
227
- --h1-a: 2%;
228
- --h1-b: 30%;
229
- --h1-c: 28%;
230
- --leader-len: 104px;
231
- --scrim: radial-gradient(66% 58% at 28% 34%, rgba(0, 0, 0, .86), rgba(0, 0, 0, .42) 46%, rgba(0, 0, 0, 0) 78%);
232
- --top-scrim: linear-gradient(to bottom, rgba(0, 0, 0, .82) 0, rgba(0, 0, 0, .54) 42%, rgba(0, 0, 0, 0) 100%);
233
- --field-top: calc(var(--top-h) * -1);
234
- --field-right: 0px;
235
- --field-bottom: 0px;
236
- --field-left: 0px;
237
- --field-h: auto;
238
- --field-bg: transparent;
239
- --field-radius: 0px;
240
- --field-mask: linear-gradient(to bottom, #000 0 78%, transparent 99%);
241
- --doors-just: center;
242
- --form-d: block;
243
- --form-w: 74vw;
244
- --form-x: 29.3vw;
245
- --form-y: -3.1vh;
246
- --orb-d: block;
247
- --orb-w: 52vw;
248
- --orb-x: 12.9vw;
249
- --orb-y: 63.4vh;
250
- --bead-d: block;
251
- --bead-w: 18vw;
252
- --bead-x: 87.6vw;
253
- --bead-y: 87.6vh;
254
- --mark-pos: absolute;
255
- --mark-w: 26vw;
256
- --mark-x: 64.6vw;
257
- --mark-y: 48.3vh;
258
- --crest-bg: transparent;
259
- --crest-radius: 28px;
260
- --shell-pad: 48px;
261
- --shell-radius: 18px;
262
- --shell-bg: rgba(4, 6, 8, .78);
263
- --shell-edge: rgba(255, 255, 255, .14);
264
- --shell-shadow: 0 40px 90px rgba(0, 0, 0, .55);
265
- --shell-blob: block;
266
- --label-face: var(--font-body);
267
- --label-size: 11.5px;
268
- --label-space: .1em;
269
- --label-suffix: "";
270
- --head-case: none;
271
- }
272
-
273
- @media (prefers-color-scheme: dark) {
274
- :root:not([data-mode="light"]) {
275
- color-scheme: dark;
276
- --bg: #000000;
277
- --bg-card: #101012;
278
- --bg-deep: #000000;
279
- --bg-frame: #08080a;
280
- --ink: #ffffff;
281
- --ink-soft: #c0c0c0;
282
- --ink-faint: #a8a8a8;
283
- --rule: rgba(255, 255, 255, .16);
284
- --rule-soft: rgba(255, 255, 255, .08);
285
- --plate: url(../../../../../.impeccable/mocks/world-assets/forest-mist.jpg);
286
- --void: #000000;
287
- --void-ink: var(--ink);
288
- --void-ink-soft: var(--ink-soft);
289
- --void-edge: rgba(255, 255, 255, .16);
290
- --void-pill: rgba(0, 0, 0, .5);
291
- --void-glass: rgba(255, 255, 255, .075);
292
- --void-glass-strong: rgba(255, 255, 255, .14);
293
- --void-glass-edge: rgba(255, 255, 255, .11);
294
- --door-bg: var(--void-pill); /* the door bar keeps its own ground over bright chrome */
295
- --glass: rgba(255, 255, 255, .11);
296
- --glass-strong: rgba(255, 255, 255, .17);
297
- --glass-edge: rgba(255, 255, 255, .13);
298
- --glass-blur: 18px;
299
- --card-body: #161618;
300
- --shadow-card: 0 24px 60px rgba(0, 0, 0, .6);
301
- --panel-bg: rgba(255, 255, 255, .05);
302
- --panel-edge: var(--rule-soft);
303
- --sheet-bg: rgba(255, 255, 255, .07);
304
- --sheet-edge: rgba(255, 255, 255, .13);
305
- --sheet-shadow: 0 26px 60px rgba(0, 0, 0, .42);
306
- --board-bg: transparent;
307
- --badge-bg: rgba(255, 255, 255, .10);
308
- --badge-ink: var(--ink);
309
- --chip-bg: rgba(255, 255, 255, .08);
310
- --chip-ink: var(--ink-soft);
311
- --chip-edge: var(--rule-soft);
312
- --accent-ink: var(--accent);
313
- --accent-lift: color-mix(in srgb, var(--accent) 58%, #ffffff);
314
- --accent-tint: color-mix(in srgb, var(--accent) 22%, #0b0a09);
315
- --accent-on: #2a1305;
316
- --accent-glow: 0 8px 28px color-mix(in srgb, var(--accent) 38%, transparent);
317
- --fig-accent: var(--ink); /* credits are data, not a live or pressable thing */
318
- --go-bg: var(--accent);
319
- --go-ink: var(--accent-on);
320
- --tab-bg: var(--accent);
321
- --tab-ink: var(--accent-on);
322
- --ok: var(--accent);
323
- --warn: var(--accent);
324
- --err: var(--terracotta);
325
- --focus: var(--accent);
326
- --drum-shadow: #000000;
327
- --type-halo: 0 2px 18px rgba(0, 0, 0, .94), 0 0 54px rgba(0, 0, 0, .72);
328
- --chev: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23a8a8a8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/></svg>");
329
- --check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6.4l2.6 2.6L10 3.4' fill='none' stroke='%232a1305' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/></svg>");
330
- --hatch: repeating-linear-gradient(45deg, transparent 0 5px, rgba(255, 255, 255, .14) 5px 6px);
331
- --float-pos: absolute;
332
- --hero-text-align: left;
333
- --hero-col: 100%;
334
- --hero-pad-bottom: 15vh;
335
- --h1-size: clamp(38px, 8.4vw, 128px);
336
- --h1-a: 2%;
337
- --h1-b: 30%;
338
- --h1-c: 28%;
339
- --leader-len: 104px;
340
- --scrim: radial-gradient(66% 58% at 28% 34%, rgba(0, 0, 0, .86), rgba(0, 0, 0, .42) 46%, rgba(0, 0, 0, 0) 78%);
341
- --top-scrim: linear-gradient(to bottom, rgba(0, 0, 0, .82) 0, rgba(0, 0, 0, .54) 42%, rgba(0, 0, 0, 0) 100%);
342
- --field-top: calc(var(--top-h) * -1);
343
- --field-right: 0px;
344
- --field-bottom: 0px;
345
- --field-left: 0px;
346
- --field-h: auto;
347
- --field-bg: transparent;
348
- --field-radius: 0px;
349
- --field-mask: linear-gradient(to bottom, #000 0 78%, transparent 99%);
350
- --doors-just: center;
351
- --form-d: block;
352
- --form-w: 74vw;
353
- --form-x: 29.3vw;
354
- --form-y: -3.1vh;
355
- --orb-d: block;
356
- --orb-w: 52vw;
357
- --orb-x: 12.9vw;
358
- --orb-y: 63.4vh;
359
- --bead-d: block;
360
- --bead-w: 18vw;
361
- --bead-x: 87.6vw;
362
- --bead-y: 87.6vh;
363
- --mark-pos: absolute;
364
- --mark-w: 26vw;
365
- --mark-x: 64.6vw;
366
- --mark-y: 48.3vh;
367
- --crest-bg: transparent;
368
- --crest-radius: 28px;
369
- --shell-pad: 48px;
370
- --shell-radius: 18px;
371
- --shell-bg: rgba(4, 6, 8, .78);
372
- --shell-edge: rgba(255, 255, 255, .14);
373
- --shell-shadow: 0 40px 90px rgba(0, 0, 0, .55);
374
- --shell-blob: block;
375
- --label-face: var(--font-body);
376
- --label-size: 11.5px;
377
- --label-space: .1em;
378
- --label-suffix: "";
379
- --head-case: none;
380
- }
381
- }
382
-
383
- /* ---- narrow: one column everywhere; in light the chrome moves to a black masthead band ---- */
384
- @media (max-width: 900px) {
385
- :root {
386
- --top-h: 60px;
387
- --float-pos: static;
388
- --hero-text-align: center;
389
- --hero-col: 100%;
390
- --hero-pad-top: 250px;
391
- --hero-pad-bottom: 4vh;
392
- --doors-just: center;
393
- --h1-size: clamp(34px, 9.4vw, 46px);
394
- --h1-a: 0%;
395
- --h1-b: 0%;
396
- --h1-c: 0%;
397
- --leader-len: 54px;
398
- --field-top: 0px;
399
- --field-right: 0px;
400
- --field-bottom: auto;
401
- --field-left: 0px;
402
- --field-h: 190px;
403
- --field-radius: 0 0 26px 26px;
404
- --form-d: none;
405
- --orb-w: 104vw;
406
- --orb-x: -3vw;
407
- --orb-y: -12vh;
408
- --bead-d: none;
409
- --mark-pos: absolute;
410
- --mark-w: 64.9vw;
411
- --mark-x: 17.4vw;
412
- --mark-y: 2.25vh;
413
- --shell-pad: 0px;
414
- --shell-radius: 0px;
415
- }
416
- :root[data-mode="dark"] {
417
- --float-pos: static;
418
- --hero-text-align: center;
419
- --hero-col: 100%;
420
- --hero-pad-top: 250px;
421
- --hero-pad-bottom: 4vh;
422
- --h1-size: clamp(34px, 9.4vw, 46px);
423
- --h1-a: 0%;
424
- --h1-b: 0%;
425
- --h1-c: 0%;
426
- --leader-len: 54px;
427
- --doors-just: center;
428
- --scrim: radial-gradient(126% 42% at 50% 36%, rgba(0, 0, 0, .88), rgba(0, 0, 0, .44) 52%, rgba(0, 0, 0, 0) 86%);
429
- --field-top: calc(var(--top-h) * -1);
430
- --field-bottom: 0px;
431
- --field-h: auto;
432
- --field-radius: 0px;
433
- --form-d: none;
434
- --orb-w: 130vw;
435
- --orb-x: -21.3vw;
436
- --orb-y: 65vh;
437
- --bead-d: none;
438
- --mark-w: 64.9vw;
439
- --mark-x: 17.4vw;
440
- --mark-y: 2.5vh;
441
- --shell-pad: 0px;
442
- --shell-radius: 0px;
443
- }
444
- }
445
-
446
- @media (max-width: 900px) and (prefers-color-scheme: dark) {
447
- :root:not([data-mode="light"]) {
448
- --float-pos: static;
449
- --hero-text-align: center;
450
- --hero-col: 100%;
451
- --hero-pad-top: 250px;
452
- --hero-pad-bottom: 4vh;
453
- --h1-size: clamp(34px, 9.4vw, 46px);
454
- --h1-a: 0%;
455
- --h1-b: 0%;
456
- --h1-c: 0%;
457
- --leader-len: 54px;
458
- --doors-just: center;
459
- --scrim: radial-gradient(126% 42% at 50% 36%, rgba(0, 0, 0, .88), rgba(0, 0, 0, .44) 52%, rgba(0, 0, 0, 0) 86%);
460
- --field-top: calc(var(--top-h) * -1);
461
- --field-bottom: 0px;
462
- --field-h: auto;
463
- --field-radius: 0px;
464
- --form-d: none;
465
- --orb-w: 130vw;
466
- --orb-x: -21.3vw;
467
- --orb-y: 65vh;
468
- --bead-d: none;
469
- --mark-w: 64.9vw;
470
- --mark-x: 17.4vw;
471
- --mark-y: 2.5vh;
472
- --shell-pad: 0px;
473
- --shell-radius: 0px;
474
- }
475
- }
476
-
477
- @media (prefers-reduced-motion: reduce) {
478
- *, *::before, *::after { animation: none !important; transition: none !important; }
479
- }