From dccc234933b303780cdc8c69d1caa5b040b4656c Mon Sep 17 00:00:00 2001 From: Jay Patel Date: Tue, 4 Aug 2026 08:59:15 -0400 Subject: [PATCH 1/2] Polish landing page for clearer onboarding --- artifacts/CHECKSUMS.sha256 | 1 + docs/assets/codsemble-flow-v2.webp | Bin 0 -> 49806 bytes docs/index.html | 131 ++++++++----------- docs/script.js | 77 ++++++----- docs/styles.css | 198 ++++++++++++++++++++++++++--- 5 files changed, 280 insertions(+), 127 deletions(-) create mode 100644 docs/assets/codsemble-flow-v2.webp diff --git a/artifacts/CHECKSUMS.sha256 b/artifacts/CHECKSUMS.sha256 index fb58f01..f0d642b 100644 --- a/artifacts/CHECKSUMS.sha256 +++ b/artifacts/CHECKSUMS.sha256 @@ -24,6 +24,7 @@ e5f38de7b71097b9017788638f7972d9e45e6ea98022131290f4742eaca0e66d CONTRIBUTING.m e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 docs/.nojekyll 436f4f88fe38c9371ada5091b152e180f1399668d29691cf3293f7f9899673b8 docs/ARCHITECTURE.md d452b9a068b7edf94b916e093755563701a0a9aed9fae914d857421377087e89 docs/assets/codsemble-concept-native-compiler.webp +cf7d318201e14d26e68756b4d7f3317437d493fed038e37d8ec53029e610f3c1 docs/assets/codsemble-flow-v2.webp beaae606bcf49d4c99490daec3cfafff54b5ceb41765a9bffb832bfb2136acd2 docs/assets/codsemble-prism-flow.webp f929dfc14de476c5ed1ce3c6e27f4cb9d7c9c45f7d3884c9b793174b74a1397c docs/BRAND.md f41132adc833328e17b1e304ef41c4a3f72401b674d997f56269b3481e7b45d6 docs/CONFIG_SAFETY.md diff --git a/docs/assets/codsemble-flow-v2.webp b/docs/assets/codsemble-flow-v2.webp new file mode 100644 index 0000000000000000000000000000000000000000..87aa58ad8c40d8de03f0183293422f061f4bd24d GIT binary patch literal 49806 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

h^am!j!@WAvs5)&M^_k3 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 P*t+-NUBZ+&KmY&$FHjj@ literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html index 3eb6461..bd8c982 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,114 +3,89 @@ - - + + + + + + + Codesemble — the repository-aware team builder for Codex +

+
-
-
-

Open source · project-scoped · preview before apply

-

Audit your repository.
Assemble the smallest capable Codex team.

-

Codesemble turns repository evidence and your goal into a reviewable, native Codex team—without asking you to design every role by hand.

- -
Evidence-ledNative outputHuman approval
-
-
- - A glass prism transforms repository fragments into a small team of colorful project outputs. -

01 Evidence in Native team out

+
+
+

Open source · project-scoped · preview before apply

+

Get the right Codex team for this repository.

+

Codesemble audits your project, proposes a small evidence-backed team, and shows the exact project diff before anything changes.

+ +
Read-only auditHuman approvalRollbackable
+
+ + A repository's file signals flow through a compiler into three project role cards. +
Repository clues options approved team
+
-
-

The compiler loop

From a messy project to a useful team in three clear moves.

Codesemble keeps the reasoning visible, so the team is explainable before it is ever written.

-
-
01

Audit

Read bounded, typed project signals locally and pair them with the goal you state.

repository + goal
-
02

Compile

Translate required work into the smallest complete set of evidence-backed roles.

work packages → roles
-
03

Review & apply

See the exact project diff, approve a fresh plan, then use Doctor and rollback when needed.

preview → apply → verify
+
+

The useful part

One clear loop from project context to project help.

No fixed roster. No hidden setup. You see why each role appears and what will be written.

+
AuditCompileReviewApply
+
+
01

Audit

Read repository clues locally and pair them with the goal you state.

project + goal
+
02

Compile

Turn the work into the smallest complete set of useful roles.

work → capabilities
+
03

Review

Compare Focused, Recommended, and Extended options with evidence.

options → exact plan
+
04

Apply

Approve the fresh plan, then verify or roll it back from the project.

human decision → files
-
-

A team that fits the evidence

Pick the level of coverage your project actually needs.

The names and count change with the repository. These options show the decision, not a fixed roster.

-
-
-
Example project signal
-

Release a payment flow safely

-

Codesemble found evidence for delivery, security review, and an existing test boundary.

-
- - - +
+
+

Illustrative example

See the decision before you make it.

Change the project clue or coverage level. The example is a model of the explanation Codesemble gives you—not a fixed promise.

+
+
+ Project clues

Release a payment flow safely

An existing test boundary gives the compiler a concrete validation owner.

+
-
Why this matters

A delivery goal activates a delivery work package and makes its evidence traceable.

-
-
-
- - - -
-
-
Smallest complete coverage3 roles
Delivery specialistowns the release work
Security specialistreviews the security boundary
Test specialistchecks the payment flow
- - -
Spawned-worker ceiling: 4 primary thread excluded
+
+
+

Recommended · required work plus independent verification

+ + + +

The catalog is a capability library. The project and goal decide the roles.

-
-

You keep the wheel

The primary thread coordinates. You decide.

Generated specialists are available capabilities, not an always-running swarm. The primary Codex thread delegates bounded work, reconciles evidence, and owns the final result.

01

Preview first. Audit and planning are read-only.

02

Confirm exactly. Apply requires a fresh plan and human approval.

03

Recover cleanly. Doctor and rollback preserve project-local control.

Read the safety boundary
-
- Codesemble control flowYou direct the primary Codex thread. The primary delegates bounded work to specialists and integrates their evidence.YouPrimary threadSpecialistsResultdirectdelegatesintegrates -
You → primary Codex thread → bounded specialists → integrated result
-
-
- -
-

Project-local output

Useful files, visible before they land.

Codesemble configures the project boundary. It does not edit personal Codex settings, trust, credentials, or runtime permissions.

-
-
AAGENTS.mdorchestration guidance
T.codex/agents/<role>.tomlnative specialists
C.codex/config.tomloptional ceiling
M.codex/codsemble/manifest.jsonteam ownership
.codex/codsemble/transactions/rollback history
-
What does “preview” mean?Expand the review boundary

Before apply, the plan names the roles, instructions, sandbox/profile requests, worker ceiling, and every managed path. Apply rechecks the current plan, relevant evidence, and output preimages.

+ .codex/agents/security.toml
+ .codex/codsemble/manifest.json
· personal ~/.codex/config.toml untouched
-
-
- -
-

A common misconception

111 is a library, not a roster.

The catalog contains reusable capability primitives. Codesemble selects only roles justified by your project and goal; installed roles and active workers remain separate.

Explore the primitive library
- +
+

Control stays visible

Your Codex session stays in charge.

Generated specialists are available capabilities, not an always-running swarm. The primary thread delegates bounded work and owns the final result.

01

Preview first. Audit and planning are read-only.

02

Confirm exactly. Apply requires a fresh plan and human approval.

03

Recover cleanly. Doctor and rollback preserve project-local control.

Read the safety boundary
+
Project-local output

Useful files, visible before they land.

  • AGENTS.mdorchestration guidance
  • .codex/agents/<role>.tomlnative specialists
  • .codex/config.tomloptional worker limit
  • .codex/codsemble/manifest.jsonteam ownership
  • .codex/codsemble/transactions/rollback history
What does “preview” mean?

The plan names roles, instructions, configuration, and every managed path. Apply rechecks the exact plan and refuses stale project state.

-
-

Start with your repository

Let the project tell you what team it needs.

Install the plugin, open a fresh Codex session, and ask Codesemble to audit before you choose a team.

Install from the validated v0.2 candidate
codex plugin marketplace add VAMFI/codsemble --ref fc247152961c25e79b525a969806991f499a2bac
-codex plugin add codsemble@codsemble

Then ask:$codsemble:initialize-team Audit this workspace and help me choose the smallest useful team.
+
+

Start with your project

Install, restart Codex, and ask for the smallest useful team.

Codesemble is project-local. It does not edit your personal Codex settings or publish anything for you.

  1. InstallAdd the plugin from Git.
  2. RestartOpen a fresh Codex session.
  3. InitializeRun the audit in your workspace.
Terminal
codex plugin marketplace add VAMFI/codsemble --ref fc247152961c25e79b525a969806991f499a2bac
codex plugin add codsemble@codsemble

Then ask: $codsemble:initialize-team

-
-

Go deeper when you are ready

The short version lives here. The contracts live in the repo.

- -
+

Keep exploring

Clear docs for the details.

Why is there a 111-entry catalog?

It is a library of reusable capability primitives, not a roster or team-size target. Codesemble dynamically selects only roles justified by the repository and goal.

- + diff --git a/docs/script.js b/docs/script.js index 22eb262..d6e83ed 100644 --- a/docs/script.js +++ b/docs/script.js @@ -1,49 +1,67 @@ -const evidenceCopy = { - delivery: "A delivery goal activates a delivery work package and makes its evidence traceable.", - security: "A security requirement justifies a specialist review instead of a generic extra agent.", - tests: "An existing test boundary gives the compiler a concrete validation owner to cover.", +const signalCopy = { + tests: "An existing test boundary gives the compiler a concrete validation owner.", + security: "A security requirement justifies specialist review instead of a generic extra agent.", + delivery: "GitHub Actions evidence makes the delivery work visible and traceable.", +}; +const coverageLabel = { + recommended: "Recommended · required work plus independent verification", + focused: "Focused · the smallest complete coverage", + extended: "Extended · required work plus optional lifecycle support", }; const menuToggle = document.querySelector(".menu-toggle"); const siteNav = document.querySelector(".site-nav"); +const closeMenu = (returnFocus = false) => { + if (!menuToggle || !siteNav) return; + menuToggle.setAttribute("aria-expanded", "false"); + siteNav.classList.remove("is-open"); + if (returnFocus) menuToggle.focus(); +}; menuToggle?.addEventListener("click", () => { const open = menuToggle.getAttribute("aria-expanded") === "true"; menuToggle.setAttribute("aria-expanded", String(!open)); siteNav?.classList.toggle("is-open", !open); }); -siteNav?.querySelectorAll("a").forEach((link) => { - link.addEventListener("click", () => { - menuToggle?.setAttribute("aria-expanded", "false"); - siteNav.classList.remove("is-open"); +siteNav?.querySelectorAll("a").forEach((link) => link.addEventListener("click", () => closeMenu())); +document.addEventListener("keydown", (event) => { + if (event.key === "Escape") closeMenu(true); +}); +document.addEventListener("click", (event) => { + if (siteNav?.classList.contains("is-open") && !siteNav.contains(event.target) && !menuToggle?.contains(event.target)) closeMenu(); +}); + +const signalText = document.querySelector("#signal-copy"); +document.querySelectorAll("[data-signal]").forEach((button) => { + button.addEventListener("click", () => { + document.querySelectorAll("[data-signal]").forEach((item) => { + const active = item === button; + item.classList.toggle("is-active", active); + item.setAttribute("aria-pressed", String(active)); + }); + if (signalText) signalText.textContent = signalCopy[button.dataset.signal] ?? ""; }); }); const tabs = [...document.querySelectorAll('[role="tab"]')]; -const panels = [...document.querySelectorAll("[data-team-panel]")]; -function selectTeam(team, focus = false) { +const panels = [...document.querySelectorAll("[data-coverage-panel]")]; +const demoStatus = document.querySelector(".demo-status"); +function selectCoverage(coverage, focus = false) { tabs.forEach((tab) => { - const selected = tab.dataset.team === team; - tab.setAttribute("aria-selected", String(selected)); - tab.tabIndex = selected ? 0 : -1; + const active = tab.dataset.coverage === coverage; + tab.setAttribute("aria-selected", String(active)); + tab.tabIndex = active ? 0 : -1; }); - panels.forEach((panel) => { panel.hidden = panel.dataset.teamPanel !== team; }); - if (focus) tabs.find((tab) => tab.dataset.team === team)?.focus(); + panels.forEach((panel) => { panel.hidden = panel.dataset.coveragePanel !== coverage; }); + if (demoStatus) demoStatus.textContent = coverageLabel[coverage] ?? ""; + if (focus) tabs.find((tab) => tab.dataset.coverage === coverage)?.focus(); } tabs.forEach((tab, index) => { - tab.addEventListener("click", () => selectTeam(tab.dataset.team)); + tab.addEventListener("click", () => selectCoverage(tab.dataset.coverage)); tab.addEventListener("keydown", (event) => { if (!["ArrowRight", "ArrowLeft", "Home", "End"].includes(event.key)) return; event.preventDefault(); const next = event.key === "Home" ? 0 : event.key === "End" ? tabs.length - 1 : (index + (event.key === "ArrowRight" ? 1 : -1) + tabs.length) % tabs.length; - selectTeam(tabs[next].dataset.team, true); - }); -}); - -const evidenceDetail = document.querySelector("#evidence-detail-text"); -document.querySelectorAll("[data-evidence]").forEach((chip) => { - chip.addEventListener("click", () => { - document.querySelectorAll("[data-evidence]").forEach((item) => item.classList.toggle("is-active", item === chip)); - if (evidenceDetail) evidenceDetail.textContent = evidenceCopy[chip.dataset.evidence] ?? "This signal contributes to a bounded work package."; + selectCoverage(tabs[next].dataset.coverage, true); }); }); @@ -52,12 +70,13 @@ document.querySelectorAll("[data-copy-target]").forEach((button) => { const target = document.getElementById(button.dataset.copyTarget); const status = button.closest(".command-box")?.querySelector(".copy-status"); if (!target) return; + const text = target.innerText.replace(/\\n/g, "\n"); try { - await navigator.clipboard.writeText(target.textContent.trim()); + await navigator.clipboard.writeText(text); button.textContent = "Copied"; - if (status) status.textContent = "Install commands copied to your clipboard."; + if (status) status.textContent = "Commands copied."; } catch { - if (status) status.textContent = "Copy is unavailable here; select the commands above instead."; + if (status) status.textContent = "Copy unavailable; select the commands above."; } window.setTimeout(() => { button.textContent = "Copy"; }, 1800); }); @@ -74,6 +93,4 @@ if (!reduceMotion && "IntersectionObserver" in window) { }); }, { threshold: .12 }); document.querySelectorAll(".reveal").forEach((element) => observer.observe(element)); -} else { - document.querySelectorAll(".reveal").forEach((element) => element.classList.add("is-visible")); } diff --git a/docs/styles.css b/docs/styles.css index e5a49e5..541f9e9 100644 --- a/docs/styles.css +++ b/docs/styles.css @@ -1,19 +1,179 @@ -:root{--ink:#edf5ff;--muted:#94aac8;--faint:#6d83a4;--navy:#071326;--panel:rgba(15,34,62,.74);--line:rgba(157,185,224,.18);--cyan:#65e3ff;--violet:#9b7bff;--coral:#ff9b8e;--radius:24px;color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none} -+*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 75% 4%,rgba(92,116,255,.14),transparent 32rem),var(--navy);line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 70%)} -+a{color:inherit}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:-4rem;left:1rem;padding:.7rem 1rem;background:var(--cyan);color:#061222;border-radius:0 0 10px 10px;font-weight:800}.skip-link:focus{top:0} -+.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(157,185,224,.12);background:rgba(7,19,38,.76);backdrop-filter:blur(18px)}.header-inner,.footer-inner{display:flex;align-items:center;min-height:74px;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:800;letter-spacing:-.03em;text-decoration:none;font-size:1.1rem}.brand-mark{position:relative;display:inline-block;width:25px;height:25px;transform:rotate(30deg)}.brand-mark i,.brand-mark b,.brand-mark em{position:absolute;display:block;border:2px solid var(--cyan);border-radius:3px;width:13px;height:13px}.brand-mark i{top:0;left:6px;border-color:var(--violet)}.brand-mark b{bottom:0;left:0;border-color:var(--cyan)}.brand-mark em{right:0;bottom:0;border-color:var(--coral)}.site-nav{display:flex;align-items:center;gap:1.35rem;margin-left:auto;font-size:.88rem;color:var(--muted)}.site-nav a{text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:var(--ink)}.site-nav .nav-cta{color:#061222;background:var(--cyan);padding:.52rem .95rem;border-radius:999px;font-weight:800}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;color:var(--ink);background:transparent;font-size:1.2rem} -+.hero{min-height:700px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:2rem;padding-block:5.5rem 5rem;position:relative}.hero-copy{position:relative;z-index:1;max-width:620px}.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800;color:var(--cyan)}.pulse-dot,.status-dot{width:7px;height:7px;display:inline-block;border-radius:99px;background:var(--cyan);box-shadow:0 0 0 5px rgba(101,227,255,.1),0 0 18px var(--cyan);margin-right:.55rem;vertical-align:1px} -+h1,h2,h3,p{margin-top:0}h1{max-width:680px;margin-bottom:1.5rem;font-size:clamp(3.1rem,6.6vw,6.4rem);line-height:.98;letter-spacing:-.075em}h1 span{color:#b7c9ff}h2{max-width:680px;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.03;letter-spacing:-.06em}h3{letter-spacing:-.035em}p{color:var(--muted)}.hero-lede{max-width:530px;font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2.2rem 0 1.8rem}.button{display:inline-flex;gap:.65rem;align-items:center;min-height:48px;padding:.75rem 1.1rem;border-radius:999px;font-weight:800;text-decoration:none}.button-primary{background:var(--cyan);color:#061222;box-shadow:0 10px 30px rgba(101,227,255,.16)}.button-quiet{border:1px solid var(--line);color:var(--ink)}.button:hover,.button:focus-visible{transform:translateY(-2px)}.hero-proof{display:flex;flex-wrap:wrap;gap:1.2rem;color:var(--faint);font-size:.82rem}.hero-proof span:before{content:"·";color:var(--coral);margin-right:.45rem} -+.hero-art{min-width:0;position:relative;transform:translateX(4%)}.hero-art img{position:relative;z-index:1;display:block;width:120%;max-width:none;margin-left:-14%;border-radius:28px;mix-blend-mode:screen;opacity:.94}.art-glow{position:absolute;width:55%;aspect-ratio:1;right:14%;top:18%;border-radius:50%;background:rgba(101,227,255,.16);filter:blur(70px)}.art-caption{position:absolute;z-index:2;bottom:3%;left:12%;margin:0;color:#d5e4ff;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em}.art-caption span{color:var(--coral);margin-right:.55rem}.art-caption i{display:inline-block;width:48px;height:1px;margin:0 .5rem;background:var(--cyan);vertical-align:middle} -+.section-block{padding-block:7rem}.section-heading{max-width:760px;margin-bottom:3rem}.section-heading>p:last-child{max-width:590px;font-size:1.05rem}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.flow-card{min-height:330px;padding:1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(23,48,82,.85),rgba(10,28,52,.7));position:relative;overflow:hidden}.flow-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-80px;top:-80px;background:rgba(101,227,255,.08)}.card-index{color:var(--coral);font-size:.7rem;letter-spacing:.1em;font-weight:800}.flow-icon{height:76px;display:flex;align-items:center;gap:8px;margin:1.8rem 0 1.3rem}.flow-icon span{display:block;width:13px;border-radius:5px;background:linear-gradient(to top,var(--cyan),var(--violet))}.icon-scan span:nth-child(1){height:28px}.icon-scan span:nth-child(2){height:54px}.icon-scan span:nth-child(3){height:40px}.icon-compile{position:relative}.icon-compile span{width:38px;height:38px;border-radius:11px}.icon-compile span:nth-child(2){margin-left:-22px;opacity:.55}.icon-compile span:nth-child(3){margin-left:-22px;opacity:.28}.icon-approve span{width:70px;height:11px;border-radius:99px}.icon-approve span:nth-child(2){width:45px;margin-left:-30px;opacity:.6}.icon-approve span:nth-child(3){width:22px;margin-left:-30px;opacity:.28}.flow-card h3{font-size:1.45rem;margin-bottom:.55rem}.flow-card p{max-width:270px;min-height:74px}.flow-card code{color:var(--cyan);font-size:.75rem} -+.explorer-layout{display:grid;grid-template-columns:.82fr 1.18fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(7,19,38,.52)}.evidence-panel{padding:2rem;background:linear-gradient(165deg,rgba(30,45,91,.7),rgba(11,28,54,.72))}.panel-label{color:var(--cyan);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.evidence-panel h3{margin:3.5rem 0 .7rem;font-size:1.55rem}.evidence-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.evidence-chip{cursor:pointer;border:1px solid rgba(101,227,255,.27);border-radius:999px;padding:.45rem .65rem;color:#cce7ff;background:rgba(101,227,255,.07);font:inherit;font-size:.72rem}.evidence-chip.is-active,.evidence-chip:hover{border-color:var(--cyan);color:var(--cyan)}.evidence-detail{padding-top:1.1rem;border-top:1px solid var(--line)}.detail-kicker{color:var(--faint);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.evidence-detail p{margin:.4rem 0 0;font-size:.84rem}.team-panel{min-width:0}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 .8rem}.tabs button{cursor:pointer;position:relative;padding:1.15rem .9rem;border:0;color:var(--muted);background:transparent;font:inherit;font-size:.8rem;font-weight:800}.tabs button[aria-selected=true]{color:var(--ink)}.tabs button[aria-selected=true]:after{content:"";position:absolute;height:2px;left:.9rem;right:.9rem;bottom:-1px;background:var(--cyan)}.team-panel-content{padding:2rem}.panel-topline{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.84rem}.panel-topline strong{color:var(--cyan)}.role-list{display:grid;gap:.75rem;margin:1.5rem 0 2rem}.role-list div{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid rgba(157,185,224,.1);padding-bottom:.8rem}.role-list b{font-size:.92rem}.role-list span{color:var(--muted);font-size:.75rem;text-align:right}.ceiling-note{border:1px solid rgba(255,155,142,.2);border-radius:12px;padding:.8rem 1rem;color:var(--coral);font-size:.78rem}.ceiling-note strong{color:var(--ink)}.ceiling-note small{color:var(--faint);margin-left:.4rem} -+.control-section{display:grid;grid-template-columns:.92fr 1.08fr;gap:4rem;align-items:center}.control-copy>p:not(.eyebrow){max-width:520px;font-size:1.04rem}.control-list{display:grid;gap:.85rem;margin:2rem 0}.control-list div{display:grid;grid-template-columns:30px 1fr;gap:.8rem;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:.85rem}.control-list span{color:var(--coral);font-size:.7rem;font-weight:800}.control-list p{margin:0;font-size:.88rem}.control-list b{color:var(--ink)}.text-link{color:var(--cyan);text-decoration:none;font-weight:800;font-size:.86rem}.text-link:hover{color:#fff}.control-figure{margin:0;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 50%,rgba(113,93,255,.18),transparent 50%),var(--panel)}.control-figure svg{display:block;width:100%;height:auto}.control-figure figcaption{margin-top:.8rem;color:var(--muted);text-align:center;font-size:.76rem} -+.outputs-section{padding-top:2rem}.outputs-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;align-items:start}.file-stack{display:grid;gap:.6rem}.file-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:13px;background:rgba(14,32,58,.6)}.file-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(101,227,255,.1);color:var(--cyan);font-size:.65rem;font-weight:800}.file-row code{overflow-wrap:anywhere;color:#cfddf3;font-size:.77rem}.file-row>span:last-child{color:var(--faint);font-size:.72rem}.diff-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,rgba(30,45,91,.6),rgba(11,28,54,.7))}.diff-card summary{display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:.8rem;cursor:pointer;list-style:none;padding:1.25rem}.diff-card summary::-webkit-details-marker{display:none}.summary-icon{display:grid;place-items:center;width:33px;height:33px;color:var(--cyan);border:1px solid rgba(101,227,255,.3);border-radius:10px}.diff-card summary b,.diff-card summary small{display:block}.diff-card summary small{color:var(--muted);font-size:.75rem;margin-top:.2rem}.summary-arrow{color:var(--cyan);font-size:1.2rem}.diff-card[open] .summary-arrow{transform:rotate(45deg)}.diff-content{padding:0 1.25rem 1.25rem}.diff-content p{font-size:.83rem}.diff-line{padding:.5rem .7rem;margin-top:.4rem;border-radius:7px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem}.diff-add{color:#aef6d6;background:rgba(60,210,150,.08)}.diff-neutral{color:var(--muted);background:rgba(157,185,224,.07)} -+.primitive-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:4rem}.primitive-copy>p:not(.eyebrow){max-width:500px}.primitive-visual{min-height:280px;position:relative;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 50%,rgba(101,227,255,.12),transparent 45%),rgba(11,28,54,.65);overflow:hidden}.primitive-count{position:relative;z-index:1;font-size:clamp(4rem,9vw,8rem);line-height:1;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(101,227,255,.7)}.primitive-label{position:absolute;z-index:1;top:53%;left:50%;transform:translate(-50%,0);text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.selection-line{position:absolute;width:76%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:rotate(-25deg)}.selected-role{position:absolute;padding:.45rem .65rem;border-radius:8px;border:1px solid rgba(255,155,142,.4);background:rgba(255,155,142,.1);color:#ffd8d2;font-size:.7rem}.role-one{top:18%;right:14%}.role-two{bottom:17%;right:20%}.role-three{top:31%;left:15%} -+.install-section{padding-top:3rem}.install-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(101,227,255,.24);border-radius:30px;background:linear-gradient(120deg,rgba(23,53,91,.9),rgba(25,34,79,.8));box-shadow:0 20px 70px rgba(0,0,0,.18)}.install-card h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}.install-card>div>p:last-child{max-width:460px}.command-box{align-self:center;overflow:hidden;border:1px solid rgba(157,185,224,.24);border-radius:14px;background:#061122}.command-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .95rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem}.copy-button{cursor:pointer;border:1px solid rgba(101,227,255,.35);border-radius:999px;padding:.35rem .7rem;color:var(--cyan);background:rgba(101,227,255,.08);font:inherit;font-weight:800}.command-box pre{overflow-x:auto;margin:0;padding:1.1rem}.command-box code{color:#c9e6ff;font-size:.72rem;line-height:1.8}.copy-status{min-height:1.3rem;padding:0 1.1rem .5rem;margin:0;color:var(--cyan);font-size:.7rem}.install-next{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding-top:1.15rem;border-top:1px solid rgba(157,185,224,.15);color:var(--muted);font-size:.78rem}.install-next code{color:#c9e6ff} -+.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.docs-grid a{position:relative;display:block;min-height:180px;padding:1.2rem;border:1px solid var(--line);border-radius:18px;color:var(--ink);text-decoration:none;background:rgba(14,32,58,.55)}.docs-grid a:hover,.docs-grid a:focus-visible{border-color:rgba(101,227,255,.6);transform:translateY(-4px)}.docs-grid span,.docs-grid i{color:var(--cyan);font-size:.7rem;font-style:normal}.docs-grid i{position:absolute;top:1.2rem;right:1.2rem}.docs-grid b,.docs-grid small{display:block;margin-top:2.6rem}.docs-grid small{margin-top:.45rem;color:var(--muted);font-size:.75rem} -+.site-footer{border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;min-height:110px}.footer-inner p{margin:0;font-size:.8rem}.footer-inner>div{display:flex;gap:1rem;color:var(--muted);font-size:.78rem}.footer-inner a:hover{color:var(--cyan)} -+.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}:focus-visible{outline:3px solid var(--coral);outline-offset:4px} -+@media(max-width:920px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:4.5rem}.hero-art{transform:none;margin-top:-1rem}.hero-art img{width:110%;margin-left:-5%}.flow-grid,.docs-grid{grid-template-columns:repeat(2,1fr)}.explorer-layout,.control-section,.primitive-section,.outputs-grid,.install-card{grid-template-columns:1fr}.control-section,.primitive-section{gap:2rem}.outputs-section{padding-top:4rem}.install-next{grid-column:auto}} -+@media(max-width:680px){.shell{width:min(100% - 32px,560px)}.header-inner{min-height:64px}.menu-toggle{display:block}.site-nav{position:absolute;display:none;top:64px;left:0;right:0;padding:1rem;flex-direction:column;align-items:stretch;background:#09182c;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:.55rem .35rem}.site-nav .nav-cta{text-align:center}.hero{padding-block:4rem 3rem}.hero-art{margin-inline:-1rem}.hero-art img{width:125%;margin-left:-12%}.art-caption{left:9%;bottom:5%;font-size:.58rem}.flow-grid,.docs-grid{grid-template-columns:1fr}.flow-card{min-height:0}.section-block{padding-block:4.5rem}.explorer-layout{border-radius:18px}.evidence-panel,.team-panel-content{padding:1.25rem}.evidence-panel h3{margin-top:2rem}.tabs{padding-inline:.2rem;overflow-x:auto}.tabs button{flex:1 0 auto;padding-inline:.75rem}.role-list div{align-items:flex-start;flex-direction:column;gap:.2rem}.role-list span{text-align:left}.control-figure{padding:.5rem}.control-figure figcaption{font-size:.65rem}.file-row{grid-template-columns:26px 1fr}.file-row>span:last-child{grid-column:2}.install-card{padding:1.25rem;border-radius:20px}.install-next{align-items:flex-start;flex-direction:column}.install-next code{overflow-wrap:anywhere}.footer-inner{align-items:flex-start;flex-wrap:wrap;padding-block:1.5rem}.footer-inner p{order:3;width:100%}.footer-inner>div{margin-left:auto}} -+@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover,.docs-grid a:hover{transform:none}} +:root { + --bg: #f5f7fb; + --surface: #ffffff; + --surface-soft: #eef3fa; + --ink: #142033; + --muted: #5b6a7f; + --line: #dbe3ee; + --cobalt: #315bd6; + --teal: #087f92; + --coral: #d85b4b; + --shadow: 0 18px 50px rgba(33, 53, 88, .1); + color-scheme: light; + font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + font-synthesis: none; +} +* { box-sizing: border-box; } +html { scroll-behavior: smooth; background: var(--bg); } +body { margin: 0; color: var(--ink); background: var(--bg); line-height: 1.55; } +body::selection { color: #fff; background: var(--cobalt); } +a { color: inherit; } +button, a { -webkit-tap-highlight-color: transparent; } +.shell { width: min(1160px, calc(100% - 48px)); margin-inline: auto; } +.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } +.skip-link { position: fixed; z-index: 20; top: -4rem; left: 1rem; padding: .7rem 1rem; color: #fff; background: var(--ink); border-radius: 0 0 10px 10px; font-weight: 800; } +.skip-link:focus { top: 0; } +.site-header { position: sticky; z-index: 10; top: 0; border-bottom: 1px solid rgba(219, 227, 238, .9); background: rgba(245, 247, 251, .9); backdrop-filter: blur(16px); } +.header-inner { display: flex; align-items: center; min-height: 72px; gap: 2rem; } +.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font-size: 1.08rem; font-weight: 850; letter-spacing: -.04em; text-decoration: none; } +.brand-mark { position: relative; display: inline-block; width: 25px; height: 25px; transform: rotate(30deg); } +.brand-mark i, .brand-mark b, .brand-mark em { position: absolute; display: block; width: 13px; height: 13px; border: 2px solid var(--cobalt); border-radius: 3px; } +.brand-mark i { top: 0; left: 6px; border-color: var(--cobalt); } +.brand-mark b { bottom: 0; left: 0; border-color: var(--teal); } +.brand-mark em { right: 0; bottom: 0; border-color: var(--coral); } +.brand-mark.small { width: 18px; height: 18px; transform: rotate(30deg) scale(.72); transform-origin: left center; margin-right: -.2rem; } +.site-nav { display: flex; align-items: center; gap: 1.35rem; margin-left: auto; color: var(--muted); font-size: .86rem; } +.site-nav a { text-decoration: none; } +.site-nav a:hover, .site-nav a:focus-visible { color: var(--ink); } +.menu-toggle { display: none; margin-left: auto; padding: .45rem .6rem; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 9px; font-size: 1.1rem; } +.hero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(4.5rem, 9vw, 8rem) clamp(4rem, 8vw, 7rem); } +.hero-copy { max-width: 560px; } +.eyebrow, .card-label { margin: 0 0 1rem; color: var(--teal); font-size: .71rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; } +.pulse-dot { display: inline-block; width: 7px; height: 7px; margin-right: .5rem; vertical-align: 1px; background: var(--coral); border-radius: 50%; } +h1, h2, h3, p { margin-top: 0; } +h1 { max-width: 670px; margin-bottom: 1.25rem; font-size: clamp(3rem, 6.2vw, 6.4rem); line-height: .96; letter-spacing: -.085em; } +h1 em { color: var(--cobalt); font-style: normal; } +h2 { max-width: 700px; margin-bottom: .9rem; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.02; letter-spacing: -.065em; } +h3 { margin-bottom: .6rem; font-size: 1.25rem; letter-spacing: -.035em; } +p { color: var(--muted); } +.hero-lede { max-width: 520px; margin-bottom: 0; font-size: 1.13rem; } +.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 1.5rem; } +.button { display: inline-flex; align-items: center; gap: .55rem; min-height: 48px; padding: .7rem 1.05rem; border-radius: 999px; font-weight: 800; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; } +.button-primary { color: #fff; background: var(--cobalt); box-shadow: 0 12px 24px rgba(49, 91, 214, .22); } +.button-quiet { color: var(--ink); border: 1px solid var(--line); background: rgba(255, 255, 255, .5); } +.button:hover, .button:focus-visible { transform: translateY(-2px); } +.proof-row { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; color: var(--muted); font-size: .78rem; } +.proof-row span::before { content: "✓"; margin-right: .35rem; color: var(--teal); font-weight: 900; } +.hero-visual { position: relative; margin: 0; padding: 1rem 1rem 0; } +.hero-visual::before { position: absolute; z-index: -1; inset: 8% 0 0 5%; content: ""; background: #dce9f4; border-radius: 28px; transform: rotate(2deg); } +.hero-visual img { display: block; width: 100%; height: auto; border: 1px solid #d9e2ed; border-radius: 22px; box-shadow: var(--shadow); } +.hero-visual figcaption { margin: .9rem 0 0 .4rem; color: var(--muted); font-size: .74rem; } +.hero-visual figcaption span { margin-inline: .4rem; color: var(--coral); font-weight: 800; } +.visual-number { position: absolute; z-index: 2; top: -1.1rem; right: 1.6rem; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: var(--coral); border-radius: 50%; font-size: .75rem; font-weight: 900; box-shadow: 0 8px 18px rgba(216, 91, 75, .28); } +.section { padding-block: clamp(4.5rem, 8vw, 7.5rem); } +.section-intro { max-width: 760px; margin-bottom: 2.4rem; } +.section-intro > p:last-child { max-width: 590px; margin-bottom: 0; font-size: 1.05rem; } +.step-rail { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.5rem; color: #8090a4; font-size: .76rem; font-weight: 800; } +.step-rail span { padding: .35rem .6rem; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); } +.step-rail span.is-active { color: var(--cobalt); border-color: #b9c9f7; background: #e8eeff; } +.step-rail i { display: block; flex: 0 1 52px; height: 1px; background: var(--line); } +.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; } +.step-card, .signal-card, .coverage-card, .output-card { border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: 0 8px 26px rgba(33, 53, 88, .04); } +.step-card { min-height: 232px; padding: 1.35rem; } +.step-number { display: inline-grid; place-items: center; width: 31px; height: 31px; margin-bottom: 2.1rem; color: var(--cobalt); background: #e8eeff; border-radius: 50%; font-size: .7rem; font-weight: 900; } +.step-card p { min-height: 76px; margin-bottom: 1rem; font-size: .86rem; } +.step-card code, .command-next code { color: var(--teal); font-size: .72rem; } +.section-muted { background: var(--surface-soft); border-block: 1px solid var(--line); } +.demo-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; } +.signal-card, .coverage-card { padding: clamp(1.3rem, 3vw, 2rem); } +.signal-card { background: var(--ink); border-color: var(--ink); } +.signal-card .card-label, .signal-card h3 { color: #dce8ff; } +.signal-card p { color: #aebed5; font-size: .87rem; } +.signal-list { display: grid; gap: .55rem; margin-top: 1.4rem; } +.signal { padding: .7rem .8rem; color: #c9d6e9; border: 1px solid #35445c; border-radius: 10px; background: #1d2a40; text-align: left; font: inherit; font-size: .77rem; cursor: pointer; } +.signal.is-active, .signal:hover, .signal:focus-visible { color: #fff; border-color: #78d8e5; background: #24435c; } +.coverage-tabs { display: flex; gap: .25rem; padding-bottom: .65rem; border-bottom: 1px solid var(--line); } +.coverage-tabs button { position: relative; padding: .65rem .75rem; color: var(--muted); border: 0; background: transparent; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; } +.coverage-tabs button[aria-selected="true"] { color: var(--cobalt); } +.coverage-tabs button[aria-selected="true"]::after { position: absolute; right: .75rem; bottom: -.66rem; left: .75rem; height: 2px; content: ""; background: var(--cobalt); } +.demo-status { margin: 1.1rem 0 .6rem; color: var(--teal); font-size: .79rem; font-weight: 800; } +.role-list, .file-list, .install-steps { padding: 0; margin: 0; list-style: none; } +.role-list { display: grid; gap: .15rem; } +.role-list li, .file-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid #edf1f6; } +.role-list li strong { font-size: .87rem; } +.role-list li span, .file-list li span { color: var(--muted); font-size: .75rem; text-align: right; } +.coverage-note { margin: 1.2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; } +.safety-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; } +.control-list { display: grid; gap: .75rem; margin: 1.8rem 0; } +.control-list div { display: grid; grid-template-columns: 28px 1fr; gap: .7rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); } +.control-list span { color: var(--coral); font-size: .72rem; font-weight: 900; } +.control-list p { margin: 0; font-size: .87rem; } +.control-list strong { color: var(--ink); } +.text-link { color: var(--cobalt); font-size: .86rem; font-weight: 850; text-decoration: none; } +.text-link:hover { text-decoration: underline; } +.output-card { padding: clamp(1.3rem, 3vw, 2rem); } +.output-card h3 { margin-bottom: 1rem; font-size: 1.55rem; } +.file-list { margin-bottom: 1.4rem; } +.file-list li { align-items: baseline; } +.file-list li code { overflow-wrap: anywhere; color: var(--ink); font-size: .74rem; } +.output-card details, .faq { padding-top: 1rem; border-top: 1px solid var(--line); } +summary { color: var(--ink); font-size: .82rem; font-weight: 800; cursor: pointer; } +.output-card details p, .faq p { margin: .7rem 0 0; font-size: .8rem; } +.install-section { background: var(--ink); } +.install-card { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; padding: clamp(1.6rem, 4vw, 3rem); color: #fff; border-radius: 26px; background: linear-gradient(125deg, #172b4b, #253c72); } +.install-card .eyebrow { color: #8fe2e7; } +.install-card h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); } +.install-card p { color: #bccbe0; } +.install-steps { display: grid; gap: .7rem; margin-top: 1.5rem; } +.install-steps li { display: grid; grid-template-columns: 90px 1fr; gap: .5rem; padding-top: .7rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .82rem; } +.install-steps b { color: #fff; } +.install-steps span { color: #bccbe0; } +.command-box { align-self: center; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: #0b172b; } +.command-head { display: flex; justify-content: space-between; padding: .75rem .95rem; color: #a8bad4; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .72rem; } +.copy-button { padding: .35rem .7rem; color: #8fe2e7; border: 1px solid #2c7080; border-radius: 999px; background: transparent; font: inherit; font-weight: 800; cursor: pointer; } +.command-box pre { overflow-x: auto; margin: 0; padding: 1.1rem; } +.command-box code { color: #d9e7ff; font-size: .72rem; line-height: 1.8; } +.copy-status { min-height: 1.3rem; padding: 0 1.1rem; margin: 0; color: #8fe2e7 !important; font-size: .7rem !important; } +.command-next { padding: .8rem 1.1rem 1rem; margin: 0; color: #a8bad4 !important; border-top: 1px solid rgba(255,255,255,.12); font-size: .75rem !important; } +.docs-section { padding-top: 5rem; } +.docs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin-bottom: 1.5rem; } +.docs-grid a { display: block; min-height: 155px; padding: 1.15rem; color: var(--ink); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); text-decoration: none; transition: transform .2s ease, border-color .2s ease; } +.docs-grid a:hover, .docs-grid a:focus-visible { border-color: #9fb4e8; transform: translateY(-3px); } +.docs-grid span { color: var(--cobalt); font-size: .7rem; font-weight: 900; } +.docs-grid b, .docs-grid small { display: block; } +.docs-grid b { margin-top: 2.3rem; font-size: .92rem; } +.docs-grid small { margin-top: .4rem; color: var(--muted); font-size: .75rem; } +.site-footer { border-top: 1px solid var(--line); } +.footer-inner { display: flex; justify-content: space-between; align-items: center; min-height: 100px; gap: 1.5rem; } +.footer-inner p, .footer-inner div { margin: 0; color: var(--muted); font-size: .76rem; } +.footer-inner div { display: flex; gap: 1rem; } +.footer-inner a { text-decoration: none; } +.footer-inner a:hover { color: var(--cobalt); } +:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; } +@media (max-width: 980px) { + .hero { grid-template-columns: 1fr; } + .hero-copy { max-width: 700px; } + .hero-visual { max-width: 720px; margin-left: auto; } + .steps-grid, .docs-grid { grid-template-columns: repeat(2, 1fr); } + .safety-grid, .demo-grid, .install-card { grid-template-columns: 1fr; } +} +@media (max-width: 680px) { + .shell { width: min(100% - 32px, 560px); } + .header-inner { min-height: 64px; } + .menu-toggle { display: block; } + .site-nav { position: absolute; top: 64px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: .2rem; padding: .8rem 1rem 1rem; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); } + .site-nav.is-open { display: flex; } + .site-nav a { padding: .6rem .4rem; } + h1 { font-size: clamp(2.8rem, 15vw, 4.8rem); } + h2 { font-size: clamp(2rem, 10vw, 3rem); } + .hero { padding-block: 4rem 3rem; } + .hero-visual { padding: .5rem 0 0; } + .visual-number { top: -.9rem; right: .8rem; } + .step-rail { gap: .35rem; font-size: .68rem; } + .step-rail i { flex-basis: 15px; } + .steps-grid, .docs-grid { grid-template-columns: 1fr; } + .step-card { min-height: 0; } + .step-card p { min-height: 0; } + .coverage-tabs { overflow-x: auto; } + .coverage-tabs button { flex: 1 0 auto; } + .role-list li, .file-list li { flex-direction: column; gap: .25rem; } + .role-list li span, .file-list li span { text-align: left; } + .install-card { border-radius: 20px; } + .install-steps li { grid-template-columns: 80px 1fr; } + .footer-inner { align-items: flex-start; flex-direction: column; padding-block: 1.5rem; } +} +@media (prefers-reduced-motion: reduce) { + html { scroll-behavior: auto; } + .button, .docs-grid a { transition: none; } + .button:hover, .docs-grid a:hover { transform: none; } +} From 85e0e2ced7919dfa1421ac13e6be49289777bc4b Mon Sep 17 00:00:00 2001 From: Jay Patel Date: Tue, 4 Aug 2026 09:01:39 -0400 Subject: [PATCH 2/2] Regenerate landing page checksums --- artifacts/CHECKSUMS.sha256 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/artifacts/CHECKSUMS.sha256 b/artifacts/CHECKSUMS.sha256 index f0d642b..ff93676 100644 --- a/artifacts/CHECKSUMS.sha256 +++ b/artifacts/CHECKSUMS.sha256 @@ -29,13 +29,13 @@ beaae606bcf49d4c99490daec3cfafff54b5ceb41765a9bffb832bfb2136acd2 docs/assets/co f929dfc14de476c5ed1ce3c6e27f4cb9d7c9c45f7d3884c9b793174b74a1397c docs/BRAND.md f41132adc833328e17b1e304ef41c4a3f72401b674d997f56269b3481e7b45d6 docs/CONFIG_SAFETY.md 015308700a7ceb71a073b7e7a619d44ec3367db0a33a49b73aab4f3346c209ab docs/DEFINITION_OF_DONE.md -2e259a451763d030d30864a118c0c7e9302fb0d0413d21a0280244230d48e40c docs/index.html +12f477b541235324919616d9389c72326b418a9354c9ea0c075a808fc9eca8bd docs/index.html 7f585f942f10a18f836b53d822028f39a2d5b6bf91f16b1218ab73aeee140047 docs/MIGRATION_V0_2.md 7b1b0fae02c9f36405ab7ca0ac97b5bf69e71b23a23e9e7ab8af484170fdd8ee docs/PRIVACY.md 5a54e204e4c0e9357442784225835f2bf0c865fb174351d175b4167e990addf9 docs/PROJECT_CAPABILITY_COMPILER.md 5bbc7300b711e5e25085d3282e2e234f264baf96d189305e33e5fd9e7832d3de docs/ROLE_CATALOG.md -38447c010dda4a69fe2c5963dd205366797901eb6865e95abd1507f5f16aca9c docs/script.js -2f12582b7da4af3174bb8630900ce8f2e6ef01c5e5d999ab248d5e24031bc1df docs/styles.css +c027a40af66414303146cc7e2648af8f310e54329ba31c33e3dcd73c7b707a2a docs/script.js +960f67bc9119ddc81c2d71a7573dac95e802d9b8b168f73799315ca01a6852af docs/styles.css a992f4b3cb388bac1a5d43b9a31a13be80505778894211aa46761e64e4fe56af docs/THREAT_MODEL.md e03c31ce5087e8a203f2500791228e3c5fa9dfbb8bebf2f7352e2c31e14ee93e docs/USAGE.md 05575afa5edbb76589ee5ee00fcc3b1a07cb62a02c2b42fa204115c4e4742540 docs/USEFULNESS_COMPARISON.md