-
No account, connector, or hosted service is required.
+
Local sandbox · source build · no account required
This example uses the real typed collection client and the deterministic
developer sandbox. It keeps every record in memory and makes no network
diff --git a/src/styles/global.css b/src/styles/global.css
index ae84a3d..ec7647d 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -139,6 +139,10 @@ code {
outline-offset: 3px;
}
+main[tabindex="-1"]:focus {
+ outline: none;
+}
+
.sr-only {
position: absolute;
width: 1px;
@@ -189,7 +193,7 @@ code {
.button {
display: inline-flex;
- min-height: 2.25rem;
+ min-height: 2.75rem;
padding: 0.4rem 0.8rem;
align-items: center;
justify-content: center;
@@ -408,7 +412,7 @@ code {
.code-block figcaption {
display: flex;
- min-height: 2.25rem;
+ min-height: 2.75rem;
padding: 0 0.75rem;
align-items: center;
justify-content: space-between;
@@ -418,7 +422,9 @@ code {
}
.code-block button {
- padding: 0.25rem;
+ min-width: 2.75rem;
+ min-height: 2.75rem;
+ padding: 0.25rem 0.4rem;
color: inherit;
background: transparent;
border: 0;
@@ -467,7 +473,7 @@ code {
display: grid;
margin-top: 1.25rem;
border-top: 1px solid var(--line-strong);
- grid-template-columns: repeat(2, minmax(0, 1fr));
+ grid-template-columns: repeat(3, minmax(0, 1fr));
}
.start-options > div {
@@ -645,7 +651,7 @@ code {
color: var(--ink);
background: var(--surface);
border: 1px solid var(--line);
- border-radius: 3px;
+ border-radius: var(--radius);
}
.docs-toc {
@@ -755,7 +761,10 @@ code {
}
.docs-nav summary {
- padding: 0.15rem;
+ display: flex;
+ min-height: 2.75rem;
+ padding: 0.15rem 0.4rem;
+ align-items: center;
cursor: pointer;
}
@@ -775,6 +784,10 @@ code {
}
@media (max-width: 42rem) {
+ body {
+ font-size: 1rem;
+ }
+
.page-shell,
.page-hero__inner,
.content-section {
diff --git a/src/styles/home.css b/src/styles/home.css
index 0472ec7..793d24f 100644
--- a/src/styles/home.css
+++ b/src/styles/home.css
@@ -33,6 +33,10 @@
display: none;
}
+.home-body {
+ overflow-x: visible;
+}
+
.home-body > main {
z-index: 2;
min-height: 100vh;
@@ -54,7 +58,7 @@
font-weight: 650;
text-decoration: none;
background: var(--accent);
- border-radius: 3px;
+ border-radius: var(--radius);
transform: translateY(-160%);
}
@@ -95,13 +99,103 @@
.home-body h1,
.home-body h2 {
line-height: 0.98;
- letter-spacing: -0.05em;
+ letter-spacing: -0.035em;
}
.home-body .chapter__actions--intro {
margin-top: 1.5rem;
}
+.home-body .chapter__actions {
+ flex-wrap: wrap;
+}
+
+.product-map,
+.grant-summary {
+ width: min(33.75rem, 100%);
+ margin-top: 1.75rem;
+ border-top: 1px solid var(--line-strong);
+}
+
+.product-map > div,
+.grant-summary > div {
+ display: grid;
+ padding-block: 0.7rem;
+ border-bottom: 1px solid var(--line);
+ grid-template-columns: minmax(7.75rem, 0.72fr) minmax(0, 1.5fr);
+ gap: 1rem;
+}
+
+.product-map > div {
+ transition:
+ background-color 140ms ease-out,
+ border-color 140ms ease-out;
+}
+
+.product-map dt,
+.grant-summary dt {
+ color: var(--muted);
+ font: 500 0.625rem/1.45 var(--mono);
+}
+
+.product-map dt a {
+ color: var(--ink);
+ font-weight: 600;
+ text-underline-offset: 0.24rem;
+}
+
+.product-map dd,
+.grant-summary dd {
+ margin: 0;
+ color: var(--ink-soft);
+ font-size: 0.75rem;
+ line-height: 1.5;
+}
+
+.product-map [data-product="connect"] :is(a, dd) {
+ transition: color 140ms ease-out;
+}
+
+.chapter__inner:has(.chapter__actions--intro .button:focus-visible)
+ .product-map
+ [data-product="connect"] {
+ background: color-mix(in oklch, var(--accent) 12%, transparent);
+ border-bottom-color: color-mix(in oklch, var(--accent) 48%, var(--line));
+}
+
+.chapter__inner:has(.chapter__actions--intro .button:focus-visible)
+ .product-map
+ [data-product="connect"]
+ :is(a, dd) {
+ color: var(--accent);
+}
+
+@media (hover: hover) and (pointer: fine) {
+ .chapter__inner:has(.chapter__actions--intro .button:hover)
+ .product-map
+ [data-product="connect"] {
+ background: color-mix(in oklch, var(--accent) 12%, transparent);
+ border-bottom-color: color-mix(in oklch, var(--accent) 48%, var(--line));
+ }
+
+ .chapter__inner:has(.chapter__actions--intro .button:hover)
+ .product-map
+ [data-product="connect"]
+ :is(a, dd) {
+ color: var(--accent);
+ }
+}
+
+.grant-summary dd {
+ color: var(--ink);
+ font-weight: 600;
+}
+
+.home-body .chapter__body a {
+ color: var(--ink-soft);
+ text-underline-offset: 0.22rem;
+}
+
@media (max-width: 820px) {
.home-body .chapter {
min-height: 128vh;
@@ -163,6 +257,11 @@
font-size: 0.8125rem;
line-height: 1.5;
}
+
+ .product-map > div,
+ .grant-summary > div {
+ grid-template-columns: minmax(6.75rem, 0.62fr) minmax(0, 1.38fr);
+ }
}
@media (max-width: 480px) {
@@ -170,4 +269,10 @@
.home-body .record-example {
font-size: 0.6875rem;
}
+
+ .product-map > div,
+ .grant-summary > div {
+ grid-template-columns: 1fr;
+ gap: 0.25rem;
+ }
}
diff --git a/src/styles/shell.css b/src/styles/shell.css
index e096745..9ee4e0b 100644
--- a/src/styles/shell.css
+++ b/src/styles/shell.css
@@ -133,12 +133,6 @@
gap: 0.35rem;
}
-.scene-count {
- color: var(--color-text-muted);
- font: 500 0.625rem/1 var(--mono);
- white-space: nowrap;
-}
-
.theme-menu {
position: relative;
flex: 0 0 auto;
@@ -146,14 +140,14 @@
.theme-menu > summary {
display: grid;
- width: 2rem;
- height: 2rem;
+ width: 2.75rem;
+ height: 2.75rem;
padding: 0;
place-items: center;
color: var(--color-text-faint);
background: transparent;
border: 0;
- border-radius: 3px;
+ border-radius: var(--radius);
list-style: none;
cursor: pointer;
}
@@ -199,20 +193,20 @@
padding: 0.3rem;
background: var(--color-surface);
border: 1px solid var(--color-border-strong);
- border-radius: 3px;
+ border-radius: var(--radius);
}
.theme-menu__options button {
display: grid;
width: 100%;
- min-height: 1.9rem;
+ min-height: 2.75rem;
padding: 0 0.5rem;
align-items: center;
grid-template-columns: 1fr auto;
color: var(--color-text-soft);
background: transparent;
border: 0;
- border-radius: 2px;
+ border-radius: var(--radius);
font: 400 0.66rem/1 var(--mono);
text-align: left;
cursor: pointer;
@@ -251,7 +245,10 @@
}
.mobile-nav summary {
- padding: 0.35rem 0;
+ display: flex;
+ min-height: 2.75rem;
+ padding: 0.35rem 0.25rem;
+ align-items: center;
color: var(--color-text-soft);
font-size: 0.78rem;
list-style: none;
@@ -300,11 +297,11 @@
.site-footer__inner {
display: grid;
width: min(100% - 2rem, var(--site-width));
- min-height: 5.5rem;
+ min-height: 8rem;
margin-inline: auto;
- padding-block: 1.5rem;
- align-items: center;
- grid-template-columns: 1fr auto;
+ padding-block: 2rem;
+ align-items: start;
+ grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
gap: 2rem;
}
@@ -319,11 +316,22 @@
font-size: 0.78rem;
}
-.site-footer nav {
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-end;
- gap: 0.5rem 1.1rem;
+.site-footer .site-footer__nav {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 1.5rem;
+}
+
+.site-footer__nav > div {
+ display: grid;
+ align-content: start;
+ gap: 0.5rem;
+}
+
+.site-footer__nav > div > strong {
+ margin-bottom: 0.15rem;
+ color: var(--color-text-muted);
+ font-size: 0.625rem;
}
.site-footer nav a {
@@ -358,16 +366,18 @@
width: min(100% - 1.25rem, var(--site-width));
}
- .scene-count {
- display: none;
- }
-
.site-footer__inner {
grid-template-columns: 1fr;
- gap: 1rem;
+ gap: 1.5rem;
+ }
+
+ .site-footer .site-footer__nav {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
}
+}
- .site-footer nav {
- justify-content: flex-start;
+@media (max-width: 30rem) {
+ .site-footer .site-footer__nav {
+ grid-template-columns: 1fr;
}
}
From 770473c55e5b7a39c8534f3895294a435fb2c98d Mon Sep 17 00:00:00 2001
From: callumalpass
Date: Mon, 3 Aug 2026 14:57:40 +1000
Subject: [PATCH 5/5] Present Connect beta access as a waitlist
---
src/components/SiteFooter.astro | 2 +-
src/pages/beta/index.astro | 36 +++++++++++++++++----------------
src/pages/connect/index.astro | 8 ++++----
src/pages/index.astro | 4 ++--
src/pages/privacy/index.astro | 2 +-
5 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/src/components/SiteFooter.astro b/src/components/SiteFooter.astro
index f426f5f..f81d813 100644
--- a/src/components/SiteFooter.astro
+++ b/src/components/SiteFooter.astro
@@ -9,7 +9,7 @@
Product
Overview
Connect
- Connect beta access
+ Connect beta waitlist
Security