arkaos 4.28.0 → 4.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THE-ARKAOS-GUIDE.md +1 -1
- package/VERSION +1 -1
- package/arka/skills/refine/SKILL.md +7 -0
- package/config/claude-agents/brand-director.md +1 -1
- package/config/claude-agents/conversion-strategist.md +1 -1
- package/config/claude-agents/design-ops-lead.md +1 -1
- package/config/claude-agents/extraction-script-writer.md +1 -1
- package/config/claude-agents/frontend-dev.md +1 -1
- package/config/claude-agents/landing-cro-specialist.md +1 -1
- package/config/claude-agents/ux-designer.md +1 -1
- package/config/claude-agents/ux-strategist.md +1 -1
- package/config/claude-agents/visual-designer.md +1 -1
- package/config/claude-agents/wcag-auditor.md +1 -1
- package/config/skills-provenance.yaml +31 -5
- package/departments/brand/agents/brand-director.yaml +2 -0
- package/departments/brand/agents/design-ops/design-ops-lead.yaml +2 -0
- package/departments/brand/agents/design-ops/extraction-script-writer.yaml +1 -0
- package/departments/brand/agents/design-ops/wcag-auditor.yaml +2 -0
- package/departments/brand/agents/ux-designer.yaml +2 -0
- package/departments/brand/agents/ux-strategist.yaml +2 -0
- package/departments/brand/agents/visual-designer.yaml +3 -0
- package/departments/brand/references/uiux-knowledge-and-tools.md +198 -3
- package/departments/brand/skills/colors/SKILL.md +9 -1
- package/departments/brand/skills/colors/references/hallmark.LICENSE +21 -0
- package/departments/brand/skills/colors/references/impeccable.LICENSE +191 -0
- package/departments/brand/skills/colors/references/oklch-theme.md +563 -0
- package/departments/brand/skills/design-review/SKILL.md +25 -0
- package/departments/brand/skills/design-review/references/anti-patterns.md +420 -0
- package/departments/brand/skills/design-review/references/critique-protocol.md +169 -0
- package/departments/brand/skills/design-review/references/design-registers.md +181 -0
- package/departments/brand/skills/design-review/references/genres/atmospheric.md +71 -0
- package/departments/brand/skills/design-review/references/genres/editorial.md +74 -0
- package/departments/brand/skills/design-review/references/genres/modern-minimal.md +73 -0
- package/departments/brand/skills/design-review/references/genres/playful.md +72 -0
- package/departments/brand/skills/design-review/references/hallmark.LICENSE +21 -0
- package/departments/brand/skills/design-review/references/impeccable.LICENSE +191 -0
- package/departments/brand/skills/design-review/references/impeccable.NOTICE +11 -0
- package/departments/brand/skills/design-review/references/slop-test.md +194 -0
- package/departments/brand/skills/design-system/SKILL.md +34 -0
- package/departments/brand/skills/design-system/references/design-dna-study.md +512 -0
- package/departments/brand/skills/design-system/references/design-md-spec.md +454 -0
- package/departments/brand/skills/design-system/references/hallmark.LICENSE +21 -0
- package/departments/brand/skills/design-system/references/impeccable.LICENSE +191 -0
- package/departments/brand/skills/design-system/references/interaction-states.md +306 -0
- package/departments/brand/skills/design-system/references/themes/carnival.md +303 -0
- package/departments/brand/skills/design-system/references/themes/cobalt.md +148 -0
- package/departments/brand/skills/design-system/references/themes/hum.md +405 -0
- package/departments/brand/skills/design-system/references/themes/lumen.md +480 -0
- package/departments/brand/skills/design-system/references/typography-craft.md +319 -0
- package/departments/brand/skills/mockup-generate/SKILL.md +4 -1
- package/departments/brand/skills/ux-audit/SKILL.md +25 -4
- package/departments/brand/skills/wireframe/SKILL.md +5 -0
- package/departments/dev/agents/frontend-dev.yaml +3 -0
- package/departments/dev/skills/animated-website/SKILL.md +10 -0
- package/departments/dev/skills/animated-website/references/hallmark.LICENSE +21 -0
- package/departments/dev/skills/animated-website/references/impeccable.LICENSE +191 -0
- package/departments/dev/skills/animated-website/references/motion-recipes.md +546 -0
- package/departments/dev/skills/evaluator-build-loop/SKILL.md +5 -0
- package/departments/landing/agents/conversion-strategist.yaml +1 -0
- package/departments/landing/agents/cro-specialist.yaml +1 -0
- package/departments/landing/skills/landing-gen/SKILL.md +16 -5
- package/departments/landing/skills/page-architect/SKILL.md +25 -1
- package/departments/landing/skills/page-architect/references/component-cookbook.md +265 -0
- package/departments/landing/skills/page-architect/references/components/c1-outlined-chip.md +14 -0
- package/departments/landing/skills/page-architect/references/components/c2-inline-form-as-cta.md +19 -0
- package/departments/landing/skills/page-architect/references/components/c3-typographic-link.md +11 -0
- package/departments/landing/skills/page-architect/references/components/c4-sticky-bottom-bar.md +17 -0
- package/departments/landing/skills/page-architect/references/components/f1-bento-grid.md +22 -0
- package/departments/landing/skills/page-architect/references/components/f2-sticky-scroll-stack.md +23 -0
- package/departments/landing/skills/page-architect/references/components/f3-tabular-spec-sheet.md +14 -0
- package/departments/landing/skills/page-architect/references/components/f4-step-sequence.md +14 -0
- package/departments/landing/skills/page-architect/references/components/f5-annotated-screenshot.md +14 -0
- package/departments/landing/skills/page-architect/references/components/f6-product-card-grid.md +42 -0
- package/departments/landing/skills/page-architect/references/components/ft1-mast-headed.md +15 -0
- package/departments/landing/skills/page-architect/references/components/ft2-inline-rule-single-line.md +13 -0
- package/departments/landing/skills/page-architect/references/components/ft3-index-style-category-list.md +15 -0
- package/departments/landing/skills/page-architect/references/components/ft4-dense-typographic.md +13 -0
- package/departments/landing/skills/page-architect/references/components/ft5-statement.md +24 -0
- package/departments/landing/skills/page-architect/references/components/ft6-letter-close.md +22 -0
- package/departments/landing/skills/page-architect/references/components/ft7-newsletter-first.md +30 -0
- package/departments/landing/skills/page-architect/references/components/ft8-marquee-scroll.md +26 -0
- package/departments/landing/skills/page-architect/references/components/h1-marquee.md +17 -0
- package/departments/landing/skills/page-architect/references/components/h2-split-diptych.md +18 -0
- package/departments/landing/skills/page-architect/references/components/h3-quote-led.md +14 -0
- package/departments/landing/skills/page-architect/references/components/h4-stat-led.md +17 -0
- package/departments/landing/skills/page-architect/references/components/h5-letter-hero.md +14 -0
- package/departments/landing/skills/page-architect/references/components/h6-photographic-fold.md +19 -0
- package/departments/landing/skills/page-architect/references/components/h7-demo-video-clipped-by-viewport-edge.md +30 -0
- package/departments/landing/skills/page-architect/references/components/h8-mockup-split-browser-framed.md +26 -0
- package/departments/landing/skills/page-architect/references/components/h9-custom-illustration-centerpiece.md +28 -0
- package/departments/landing/skills/page-architect/references/components/n1-wordmark-2-links.md +14 -0
- package/departments/landing/skills/page-architect/references/components/n10-floating-on-scroll-morph.md +20 -0
- package/departments/landing/skills/page-architect/references/components/n11-mega-menu.md +43 -0
- package/departments/landing/skills/page-architect/references/components/n12-banner-retract.md +37 -0
- package/departments/landing/skills/page-architect/references/components/n13-inline-cmdk-pill.md +42 -0
- package/departments/landing/skills/page-architect/references/components/n1b-saas-three-section.md +38 -0
- package/departments/landing/skills/page-architect/references/components/n2-floating-chip.md +17 -0
- package/departments/landing/skills/page-architect/references/components/n3-side-rail.md +17 -0
- package/departments/landing/skills/page-architect/references/components/n4-hidden-behind-k.md +12 -0
- package/departments/landing/skills/page-architect/references/components/n5-floating-pill.md +31 -0
- package/departments/landing/skills/page-architect/references/components/n6-newspaper-masthead.md +27 -0
- package/departments/landing/skills/page-architect/references/components/n7-brutal-slab.md +25 -0
- package/departments/landing/skills/page-architect/references/components/n8-terminal-command.md +24 -0
- package/departments/landing/skills/page-architect/references/components/n9-edge-aligned-minimal.md +20 -0
- package/departments/landing/skills/page-architect/references/components/s1-left-margin-numbered.md +17 -0
- package/departments/landing/skills/page-architect/references/components/s2-hanging.md +16 -0
- package/departments/landing/skills/page-architect/references/components/s3-sticky-pinned.md +22 -0
- package/departments/landing/skills/page-architect/references/components/s4-inline-no-break.md +14 -0
- package/departments/landing/skills/page-architect/references/components/s5-bottom-anchored.md +14 -0
- package/departments/landing/skills/page-architect/references/components/t1-pull-quote-with-marginalia.md +14 -0
- package/departments/landing/skills/page-architect/references/components/t2-logo-wall-hairline.md +22 -0
- package/departments/landing/skills/page-architect/references/components/t3-single-huge-quote.md +14 -0
- package/departments/landing/skills/page-architect/references/components/t4-numbered-stat-strip.md +15 -0
- package/departments/landing/skills/page-architect/references/floating-nav.md +91 -0
- package/departments/landing/skills/page-architect/references/hallmark.LICENSE +21 -0
- package/departments/landing/skills/page-architect/references/hero-enrichment.md +477 -0
- package/departments/landing/skills/page-architect/references/impeccable.LICENSE +191 -0
- package/departments/landing/skills/page-architect/references/layout-craft.md +236 -0
- package/departments/landing/skills/page-architect/references/macrostructures/01-bento-grid.md +37 -0
- package/departments/landing/skills/page-architect/references/macrostructures/02-long-document.md +36 -0
- package/departments/landing/skills/page-architect/references/macrostructures/03-marquee-hero.md +33 -0
- package/departments/landing/skills/page-architect/references/macrostructures/04-stat-led.md +36 -0
- package/departments/landing/skills/page-architect/references/macrostructures/05-workbench.md +34 -0
- package/departments/landing/skills/page-architect/references/macrostructures/06-conversational-faq.md +35 -0
- package/departments/landing/skills/page-architect/references/macrostructures/07-manifesto.md +34 -0
- package/departments/landing/skills/page-architect/references/macrostructures/08-photographic.md +36 -0
- package/departments/landing/skills/page-architect/references/macrostructures/09-quote-led.md +34 -0
- package/departments/landing/skills/page-architect/references/macrostructures/10-specimen.md +34 -0
- package/departments/landing/skills/page-architect/references/macrostructures/11-catalogue.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/12-letter.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/13-index-first.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/14-narrative-workflow.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/15-split-studio.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/16-feature-stack.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/17-type-specimen.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/18-portfolio-grid.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/19-map-diagram.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/20-ecosystem-index.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures/21-component-playground.md +25 -0
- package/departments/landing/skills/page-architect/references/macrostructures.md +91 -0
- package/departments/landing/skills/page-architect/references/ui-copy.md +75 -0
- package/harness/codex/AGENTS.md +1 -1
- package/harness/copilot/copilot-instructions.md +1 -1
- package/harness/cursor/rules/arkaos.mdc +2 -2
- package/harness/gemini/GEMINI.md +1 -1
- package/harness/opencode/AGENTS.md +1 -1
- package/harness/zed/.rules +1 -1
- package/knowledge/agents-registry-v2.json +27 -8
- package/knowledge/skills-manifest.json +16 -6
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/departments/landing/skills/page-architect/references/components/ft7-newsletter-first.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Ft7 · Newsletter-first
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
The form (label + input + submit) is the *primary* element of the footer; everything else (wordmark, links, copyright) is set in 12 px muted type beneath. Stratechery, Substack-shaped sites, indie magazines.
|
|
6
|
+
*Use when:* the brand legitimately publishes — and the page above the fold has *already* offered a subscription. The footer is a final invitation, not an ambush.
|
|
7
|
+
*Don't confuse with:* Ft1 (which doesn't ask for anything).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<footer class="foot-news">
|
|
11
|
+
<form class="foot-news__form" action="/subscribe" method="post">
|
|
12
|
+
<label for="foot-email">Letters from the studio · monthly</label>
|
|
13
|
+
<div class="foot-news__row">
|
|
14
|
+
<input id="foot-email" name="email" type="email" required placeholder="you@domain">
|
|
15
|
+
<button type="submit" class="cta-fill">Subscribe</button>
|
|
16
|
+
</div>
|
|
17
|
+
</form>
|
|
18
|
+
<p class="foot-news__meta muted">Studio · © 2026 · <a href="/imprint">Imprint</a></p>
|
|
19
|
+
</footer>
|
|
20
|
+
```
|
|
21
|
+
```css
|
|
22
|
+
.foot-news { padding: var(--space-2xl) var(--page-gutter); display: grid; gap: var(--space-lg); max-width: 56ch; }
|
|
23
|
+
.foot-news__form label { display: block; font-size: var(--text-sm); margin-block-end: var(--space-2xs); }
|
|
24
|
+
.foot-news__row { display: flex; gap: var(--space-2xs); }
|
|
25
|
+
.foot-news__row input { flex: 1; min-height: 44px; padding-inline: var(--space-sm); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-input); background: var(--color-paper); }
|
|
26
|
+
.foot-news__row input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 1px; }
|
|
27
|
+
.foot-news__meta { font-size: var(--text-xs); }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
*Anti-pattern:* Ft7 when the page never said "subscribe" above the fold. The footer is an honest *conclusion*; if you didn't ask, don't ambush. Drop to Ft2 instead.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Ft8 · Marquee scroll
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A horizontal infinite-scroll line of repeating tagline + dot separator: `STUDIO · 2026 · STUDIO · 2026 · STUDIO · 2026 ·`. Sport-genre sites, fashion lookbooks, brand-forward agencies.
|
|
6
|
+
*Use when:* the brand voice is loud, kinetic, sport-or-manifesto.
|
|
7
|
+
*Don't confuse with:* Ft4 Dense colophon (which is static text).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<footer class="foot-marquee" aria-label="Footer">
|
|
11
|
+
<div class="foot-marquee__track" aria-hidden="true">
|
|
12
|
+
<span>STUDIO · 2026 · STUDIO · 2026 · STUDIO · 2026 · STUDIO · 2026 ·</span>
|
|
13
|
+
<span>STUDIO · 2026 · STUDIO · 2026 · STUDIO · 2026 · STUDIO · 2026 ·</span>
|
|
14
|
+
</div>
|
|
15
|
+
<p class="visually-hidden">Studio · 2026 · MIT licensed</p>
|
|
16
|
+
</footer>
|
|
17
|
+
```
|
|
18
|
+
```css
|
|
19
|
+
.foot-marquee { overflow: hidden; border-top: 2px solid var(--color-ink); }
|
|
20
|
+
.foot-marquee__track { display: flex; gap: var(--space-2xl); white-space: nowrap; padding-block: var(--space-md); animation: foot-marquee 32s linear infinite; }
|
|
21
|
+
.foot-marquee__track span { font-family: var(--font-display); font-weight: 700; letter-spacing: 0.08em; font-size: clamp(1rem, 2.5vw, 1.5rem); }
|
|
22
|
+
@keyframes foot-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
|
|
23
|
+
@media (prefers-reduced-motion: reduce) { .foot-marquee__track { animation: none; } }
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
*Anti-pattern:* using Ft8 on editorial / quiet contexts — the motion reads as loud. Pair only with playful / sport / manifesto voices, and always honour `prefers-reduced-motion: reduce`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# H1 · Marquee
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A single statement fills the fold. No subhead, no CTA in view.
|
|
6
|
+
*Use when:* the brand or person *is* the message.
|
|
7
|
+
*Don't confuse with:* H4 Stat-Led (which is a number, not a statement).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-marquee">
|
|
11
|
+
<h1 class="display-xxl">A statement.</h1>
|
|
12
|
+
</section>
|
|
13
|
+
```
|
|
14
|
+
```css
|
|
15
|
+
.hero-marquee { min-height: 80dvh; display: grid; align-content: end; padding: 0 var(--page-gutter) var(--space-2xl); }
|
|
16
|
+
.display-xxl { font-size: clamp(4rem, 12vw, 12rem); line-height: 0.92; }
|
|
17
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# H2 · Split Diptych
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Headline + lede on one side, image or product capture on the other. 6/6 or 7/5 columns.
|
|
6
|
+
*Use when:* you can pair every claim with a visual proof.
|
|
7
|
+
*Don't confuse with:* H6 Photographic (which puts the image full-bleed, not paired).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-split">
|
|
11
|
+
<div><h1>…</h1><p>…</p><a class="cta-outline">…</a></div>
|
|
12
|
+
<figure><img src="" /></figure>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.hero-split { display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-2xl); align-items: center; }
|
|
17
|
+
@media (max-width: 56rem) { .hero-split { grid-template-columns: 1fr; } }
|
|
18
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# H3 · Quote-Led
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A pull-quote with attribution is the hero. Your headline is borrowed credibility.
|
|
6
|
+
*Use when:* you have a real testimonial that earns the front page.
|
|
7
|
+
*Don't confuse with:* T3 Single huge quote (which lives mid-page, not in the hero slot).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-quote">
|
|
11
|
+
<blockquote class="display-italic">"…"</blockquote>
|
|
12
|
+
<p class="attribution">— Name, Role, Company</p>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# H4 · Stat-Led
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A giant number or metric is the hero. A small qualifier line below.
|
|
6
|
+
*Use when:* you have one defensible, externally-verifiable number.
|
|
7
|
+
*Don't confuse with:* T4 Numbered stat strip (which is several stats in a row, not one focal).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-stat">
|
|
11
|
+
<p class="figure tnum">99.97<span class="unit">%</span></p>
|
|
12
|
+
<p class="qualifier">…</p>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.figure { font-size: clamp(6rem, 18vw, 16rem); font-variant-numeric: tabular-nums; line-height: 0.85; }
|
|
17
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# H5 · Letter Hero
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
First-person opening — "Dear reader,". No buttons in fold. Reads as personal correspondence.
|
|
6
|
+
*Use when:* the founder's voice is the brand.
|
|
7
|
+
*Don't confuse with:* H1 Marquee (which is impersonal declaration).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-letter">
|
|
11
|
+
<p class="salutation"><em>Dear reader,</em></p>
|
|
12
|
+
<p class="lede">…</p>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
package/departments/landing/skills/page-architect/references/components/h6-photographic-fold.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# H6 · Photographic Fold
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Single full-bleed image fills the viewport. Caption sits in a corner.
|
|
6
|
+
*Use when:* you have real photography that earns full-bleed.
|
|
7
|
+
*Don't confuse with:* H2 Split (which pairs image with text in a grid).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-photo">
|
|
11
|
+
<img class="bleed" src="" alt="" />
|
|
12
|
+
<p class="caption">Spring, 2026.</p>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.hero-photo { position: relative; height: 80dvh; }
|
|
17
|
+
.hero-photo .bleed { width: 100%; height: 100%; object-fit: cover; }
|
|
18
|
+
.hero-photo .caption { position: absolute; bottom: var(--space-md); right: var(--space-md); }
|
|
19
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# H7 · Demo Video — Clipped-by-viewport-edge
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Display headline left, demo video right, the rightmost ~10–20 % extending past the viewport so it's intentionally cut off. The clip *is* the design — implies "there's more product than fits the screen". Pioneered by Linear, refined by Vercel / Resend / Cursor.
|
|
6
|
+
*Use when:* the brief is SaaS / dev-tool / dashboard / platform AND you have real footage of the product (or a hand-built CSS-art mockup of it).
|
|
7
|
+
*Don't confuse with:* H4 Stat-Led (number-led, no video) or H8 Mockup Split (still screenshot, not video).
|
|
8
|
+
|
|
9
|
+
The full E1 recipe (codec chain, autoplay rules, `prefers-reduced-motion` fallback, mobile collapse) lives in `hero-enrichment.md` (upstream hallmark reference, not ported here). The cookbook entry below is the structural sketch.
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<section class="hero hero--clipped">
|
|
13
|
+
<div class="hero__copy">
|
|
14
|
+
<h1>Plan, build, ship.</h1>
|
|
15
|
+
<p>The project tracker your engineering team won't ignore.</p>
|
|
16
|
+
</div>
|
|
17
|
+
<figure class="hero__media">
|
|
18
|
+
<video autoplay muted loop playsinline preload="metadata"
|
|
19
|
+
poster="/hero-poster.webp" fetchpriority="high">
|
|
20
|
+
<source src="/hero.av1.mp4" type='video/mp4; codecs="av01.0.05M.08"'>
|
|
21
|
+
<source src="/hero.h264.mp4" type="video/mp4">
|
|
22
|
+
</video>
|
|
23
|
+
</figure>
|
|
24
|
+
</section>
|
|
25
|
+
```
|
|
26
|
+
```css
|
|
27
|
+
.hero--clipped { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-2xl); overflow: visible; }
|
|
28
|
+
.hero__media { width: calc(100% + 12vw); aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; }
|
|
29
|
+
@media (max-width: 60rem) { .hero--clipped { grid-template-columns: 1fr; } .hero__media { width: 100%; } }
|
|
30
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# H8 · Mockup Split (browser-framed)
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Headline left, browser-frame mockup right, the mockup tilted 1–3° for life. Frame can be browser chrome, macOS toolbar, minimal hairline, or floating no-frame.
|
|
6
|
+
*Use when:* you're selling a web app and you have a clean, well-lit screenshot.
|
|
7
|
+
*Don't confuse with:* H7 Clipped-Edge (which extends past the viewport) or H2 Split Diptych (which uses photography or proof column, not a product mockup).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<section class="hero-mock">
|
|
11
|
+
<div>
|
|
12
|
+
<h1>The studio's new mute button.</h1>
|
|
13
|
+
<p>Press <kbd>⌘ M</kbd> from anywhere.</p>
|
|
14
|
+
</div>
|
|
15
|
+
<figure class="mock">
|
|
16
|
+
<header class="mock__chrome"><span></span><span></span><span></span></header>
|
|
17
|
+
<div class="mock__body"><!-- screenshot or CSS-art mockup --></div>
|
|
18
|
+
</figure>
|
|
19
|
+
</section>
|
|
20
|
+
```
|
|
21
|
+
```css
|
|
22
|
+
.hero-mock { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-2xl); align-items: center; }
|
|
23
|
+
.mock { transform: rotate(1.5deg); border-radius: 12px; overflow: hidden; box-shadow: 0 24px 60px -20px oklch(20% 0.02 60 / 0.18); }
|
|
24
|
+
.mock__chrome { display: flex; gap: 6px; padding: 10px 12px; background: var(--color-paper-2); border-block-end: var(--rule-hair) solid var(--color-rule); }
|
|
25
|
+
.mock__chrome span { width: 10px; height: 10px; border-radius: 50%; background: var(--color-rule-2); }
|
|
26
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# H9 · Custom Illustration Centerpiece
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A single hand-built SVG (Tier B in the enrichment hierarchy — or pure CSS at Tier A for simpler shapes) sitting on the hero as one illustrative element. The bakery loaf, the studio's mascot, the workflow diagram.
|
|
6
|
+
*Use when:* the brand has a *thing* that benefits from being drawn — a craft, a character, a process.
|
|
7
|
+
*Don't confuse with:* H6 Photographic (real photography) or H8 Mockup (a product screenshot, not artwork).
|
|
8
|
+
|
|
9
|
+
The illustration itself is *built*, not picked from Storyset / Humaaans / unDraw / Lottie. Full recipes (CSS art, hand-built SVG, declarative animation) live in `custom-craft.md` (upstream hallmark reference, not ported here). The cookbook entry below is the page-level structural sketch.
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<section class="hero-art">
|
|
13
|
+
<div>
|
|
14
|
+
<p class="eyebrow">Maple Street Bread · est. 2026</p>
|
|
15
|
+
<h1>Sourdough, every morning.</h1>
|
|
16
|
+
<p>Slow-fermented overnight, baked on stone, before you wake.</p>
|
|
17
|
+
</div>
|
|
18
|
+
<svg viewBox="0 0 200 100" class="loaf" aria-label="A loaf of bread">
|
|
19
|
+
<path class="loaf__body" d="M 20 70 Q 100 10 180 70 L 180 90 L 20 90 Z" />
|
|
20
|
+
<path class="loaf__score" d="M 60 50 L 90 30 M 100 45 L 130 25 M 140 50 L 165 35" />
|
|
21
|
+
</svg>
|
|
22
|
+
</section>
|
|
23
|
+
```
|
|
24
|
+
```css
|
|
25
|
+
.hero-art { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); align-items: center; }
|
|
26
|
+
.loaf__body { fill: oklch(72% 0.14 50); }
|
|
27
|
+
.loaf__score{ stroke: oklch(38% 0.10 35); stroke-width: 2; fill: none; stroke-linecap: round; }
|
|
28
|
+
```
|
package/departments/landing/skills/page-architect/references/components/n1-wordmark-2-links.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# N1 · Wordmark + 2 links
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Top-of-page bar: wordmark on the left, two text links on the right ("Pricing" / "Sign in"). No logo image, no menu icon.
|
|
6
|
+
*Use when:* the page has very few destinations.
|
|
7
|
+
*Don't confuse with:* N3 Side-rail (which is vertical).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<nav class="nav-min">
|
|
11
|
+
<a class="wordmark">Studio</a>
|
|
12
|
+
<ul><li><a>Pricing</a></li><li><a>Sign in</a></li></ul>
|
|
13
|
+
</nav>
|
|
14
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# N10 · Floating-on-scroll morph
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A sticky bar at the top that **morphs into a floating pill** as the user scrolls past a threshold. Two visual modes share one DOM — `.nav` (outer) owns the bar look, `.nav__inner` (inner) owns the pill look. Cross-faded on a single class toggle (`.is-floating`) with one timing curve. Active layer feels seamless; AI defaults always botch this.
|
|
6
|
+
*Use when:* atmospheric / modern-minimal pages where the kinetic micro-moment earns its place. Adds a single tasteful surprise; resists novelty.
|
|
7
|
+
*Don't confuse with:* N5 Floating pill (always-on, no scroll behaviour). N10 is N5 plus a default-bar state that morphs *into* it.
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav">
|
|
11
|
+
<div class="nav__inner">
|
|
12
|
+
<a class="wordmark">Atlas</a>
|
|
13
|
+
<ul class="nav__links">…</ul>
|
|
14
|
+
</div>
|
|
15
|
+
</header>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The full recipe — the four laws (height-constant, transform-for-offset, cross-fade-everything, single-curve), the property-morph table, the scroll-handler script, and the eight anti-patterns the ArkaOS design flow refuses — lives in `floating-nav.md` (upstream hallmark reference, not ported here). The four laws are the non-negotiable core: constant height, transform-only offset, cross-fade everything on one class toggle, one timing curve. Skipping the four laws is what makes 90% of attempts read as broken.
|
|
19
|
+
|
|
20
|
+
*Anti-pattern (one of eight in floating-nav.md):* swapping two `<header>` elements via opacity instead of cross-fading one DOM. Doubles markup, fights focus order, desyncs content.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# N11 · Mega-menu panel
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A standard top bar whose triggers open a **full-width multi-column panel** — icon · title · description per item, grouped under column headers, often with a promoted feature card on one side. The page dims behind a scrim. Vercel "Products", Figma "Products", Notion "Resources".
|
|
6
|
+
*Use when:* the brand has many destinations that need grouping + explanation (a platform with 6+ products, or docs/resources hubs). The payload is the design problem, not the bar.
|
|
7
|
+
*Don't confuse with:* N1b (small single-column dropdowns); N1a (no dropdowns at all).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav">
|
|
11
|
+
<div class="nav__inner">
|
|
12
|
+
<a class="nav__brand">Northwind</a>
|
|
13
|
+
<nav class="nav__center">
|
|
14
|
+
<div class="mega" data-mega="products"><button class="nav__link" aria-controls="mega-products" aria-expanded="false">Products <span class="nav__caret"></span></button></div>
|
|
15
|
+
</nav>
|
|
16
|
+
<div class="nav__right"><a class="btn btn--accent">Get started</a></div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="mega-panel" id="mega-products" data-panel="products">
|
|
19
|
+
<div class="mega-panel__inner">
|
|
20
|
+
<div class="mega-col"><p class="mega-col__head">Move money</p><a class="mega-link"><span class="mega-link__ico"></span><span><b>Payments</b><i>cards, ACH, wires</i></span></a></div>
|
|
21
|
+
<a class="mega-feature"><p class="mega-feature__title">Vault</p><p class="mega-feature__desc">stablecoin settlement</p></a>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</header>
|
|
25
|
+
<div class="nav-scrim" id="scrim"></div>
|
|
26
|
+
```
|
|
27
|
+
```css
|
|
28
|
+
.mega-panel { position: absolute; top: 100%; left: 0; right: 0; opacity: 0; visibility: hidden; transform: translateY(-10px);
|
|
29
|
+
background: color-mix(in oklch, var(--color-paper) 96%, transparent); backdrop-filter: blur(20px) saturate(160%);
|
|
30
|
+
border-bottom: 1px solid var(--color-rule); box-shadow: 0 30px 60px -28px oklch(0% 0 0 / 0.35);
|
|
31
|
+
transition: opacity 240ms, transform 280ms var(--ease-spring), visibility 240ms; }
|
|
32
|
+
.mega-panel.is-open { opacity: 1; visibility: visible; transform: none; }
|
|
33
|
+
.mega-panel__inner { max-width: var(--page-max); margin: 0 auto; padding: 2rem var(--page-gutter);
|
|
34
|
+
display: grid; grid-template-columns: repeat(3, 1fr) 1.1fr; gap: 2rem; }
|
|
35
|
+
.nav-scrim { position: fixed; inset: 0; z-index: 400; background: oklch(18% 0.01 250 / 0.28); backdrop-filter: blur(2px);
|
|
36
|
+
opacity: 0; visibility: hidden; transition: opacity 260ms, visibility 260ms; }
|
|
37
|
+
.nav-scrim.is-active { opacity: 1; visibility: visible; }
|
|
38
|
+
```
|
|
39
|
+
*JS:* hover opens (with a ~140ms close-grace timer so the pointer can travel into the panel), click toggles, Esc closes, only one panel open at a time, scrim + `aria-expanded` follow state.
|
|
40
|
+
|
|
41
|
+
**Knobs** — *Columns:* 2 · 3 · 4 · *Feature cell:* none · promo card · code sample · *Scrim:* dim+blur (default) · dim only · none · *Open on:* hover+click (default) · click only.
|
|
42
|
+
*Anti-pattern:* never more than ~4 columns; never a panel taller than ~60vh; never open on hover with no close-grace timer (the menu flickers when the pointer crosses the gap). Items must carry a one-line description — a bare link grid is just N1b in disguise.
|
|
43
|
+
*Mobile:* collapse the whole thing to a drawer; the columns stack as accordion groups.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# N12 · Announcement banner + retracting nav
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A coloured promo **banner** stacked above one real nav. On scroll-down the banner slides up and retracts, leaving a single clean nav docked to the top; on scroll-up it slides back. A dismiss × removes the banner for good (its height zeroes so no gap is left). Apple-style coupled bars, but the top tier is a *banner*, not a second nav — the colour contrast is what stops it reading as "two navs".
|
|
6
|
+
*Use when:* there's a genuine, time-bound announcement (a launch, a sale, free shipping) worth a persistent strip, over a product/marketing page. Great for stat-led or commerce pages.
|
|
7
|
+
*Don't confuse with:* a static announcement bar that never moves (fine, but not N12); N1b (single bar, no banner).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav" id="nav">
|
|
11
|
+
<div class="nav__banner" id="banner">
|
|
12
|
+
<p class="nav__banner-text"><span class="nav__banner-spark"></span> New — <b>shared habits</b>. <a class="nav__banner-link">Try it →</a></p>
|
|
13
|
+
<button class="nav__banner-x" id="banner-x" aria-label="Dismiss"><span></span></button>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="nav__bar"><div class="nav__bar-inner">
|
|
16
|
+
<a class="nav__brand">Tally</a>
|
|
17
|
+
<nav class="nav__links">…</nav>
|
|
18
|
+
<a class="btn btn--accent">Start</a>
|
|
19
|
+
</div></div>
|
|
20
|
+
</header>
|
|
21
|
+
```
|
|
22
|
+
```css
|
|
23
|
+
:root { --banner-h: 42px; --bar-h: 64px; }
|
|
24
|
+
.nav { position: fixed; inset: 0 0 auto; z-index: 500; transform: translateY(0); transition: transform 320ms var(--ease-out); }
|
|
25
|
+
.nav.is-compact { transform: translateY(calc(var(--banner-h) * -1)); } /* banner hides, bar docks to top */
|
|
26
|
+
.nav.is-dismissed { transform: none; }
|
|
27
|
+
.nav.is-dismissed .nav__banner { display: none; }
|
|
28
|
+
.nav__banner { height: var(--banner-h); display: flex; align-items: center; justify-content: center;
|
|
29
|
+
background: linear-gradient(100deg, var(--color-accent), var(--color-accent-deep)); color: var(--color-paper); }
|
|
30
|
+
/* content clears both at rest; zero --banner-h on dismiss so calc() reflows with no gap */
|
|
31
|
+
.demo-hero { padding-top: calc(var(--banner-h) + var(--bar-h) + 4rem); }
|
|
32
|
+
```
|
|
33
|
+
*JS:* track scroll direction — past ~48px going down → `.is-compact`; going up → remove it; near top → always show. Dismiss × sets `--banner-h: 0px` (via `documentElement.style`) and adds `.is-dismissed`.
|
|
34
|
+
|
|
35
|
+
**Knobs** — *Banner fill:* solid accent · gradient (default) · tint+ink · *Dismiss:* yes (default) · none · *Bar scroll:* sticky (default) · also-frosts · *Banner content:* promo · status · countdown.
|
|
36
|
+
*Anti-pattern:* never make the top tier a second set of nav links — that's the "two nav bars" smell the banner exists to avoid. Keep the banner one line, one link, one dismiss. Don't animate banner height directly (janky); translate the whole `.nav` and zero the height only on dismiss.
|
|
37
|
+
*Mobile:* banner text truncates / drops the leading glyph; nav links collapse; the Buy/primary CTA stays.
|
package/departments/landing/skills/page-architect/references/components/n13-inline-cmdk-pill.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# N13 · Inline ⌘K search pill
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A **visible** search pill sits inline in the bar — placeholder text plus a `⌘K` kbd hint — alongside (not replacing) the links. Click it, or press ⌘K / Ctrl K, to open a spotlight modal with grouped, keyboard-navigable results. The opposite of N4 (which *hides* nav behind the shortcut): here the affordance is on the surface for newcomers, with the shortcut for power users. Tailwind, Linear, Raycast, docs sites.
|
|
6
|
+
*Use when:* the product is search-heavy or docs-heavy and search is a primary action (dev tools, music/library apps, large content sites).
|
|
7
|
+
*Don't confuse with:* N4 (no visible nav, ⌘K only); a plain search icon that just focuses an input in place.
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav" id="nav"><div class="nav__inner">
|
|
11
|
+
<a class="nav__brand">Crank</a>
|
|
12
|
+
<button class="searchpill" id="searchpill" aria-label="Search (⌘K)">
|
|
13
|
+
<span class="searchpill__ico"></span><span class="searchpill__text">Search docs…</span>
|
|
14
|
+
<span class="searchpill__kbd"><kbd>⌘</kbd><kbd>K</kbd></span>
|
|
15
|
+
</button>
|
|
16
|
+
<nav class="nav__right"><a class="nav__link">Docs</a><a class="btn btn--accent">Start</a></nav>
|
|
17
|
+
</div></header>
|
|
18
|
+
<div class="cmdk" id="cmdk" aria-hidden="true">
|
|
19
|
+
<div class="cmdk__backdrop" data-close></div>
|
|
20
|
+
<div class="cmdk__panel" role="dialog" aria-modal="true">
|
|
21
|
+
<div class="cmdk__field"><span class="cmdk__field-ico"></span><input id="cmdk-input" placeholder="Search docs…"><kbd>esc</kbd></div>
|
|
22
|
+
<div class="cmdk__results"><p class="cmdk__group">Suggested</p><button class="cmdk__item is-active">…</button></div>
|
|
23
|
+
<div class="cmdk__foot"><span><kbd>↑</kbd><kbd>↓</kbd> navigate</span><span><kbd>↵</kbd> open</span><span><kbd>esc</kbd> close</span></div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
```
|
|
27
|
+
```css
|
|
28
|
+
.searchpill { display: flex; align-items: center; gap: 0.6rem; height: 40px; padding: 0 0.55rem 0 0.85rem;
|
|
29
|
+
background: var(--color-paper-2); border: 1px solid var(--color-rule); border-radius: 999px; color: var(--color-muted);
|
|
30
|
+
transition: border-color 200ms, box-shadow 200ms; }
|
|
31
|
+
.searchpill:hover { border-color: var(--color-rule-2); box-shadow: 0 4px 16px -10px oklch(0% 0 0 / 0.3); }
|
|
32
|
+
.cmdk { position: fixed; inset: 0; z-index: 700; opacity: 0; visibility: hidden; transition: opacity 200ms, visibility 200ms; }
|
|
33
|
+
.cmdk.is-open { opacity: 1; visibility: visible; }
|
|
34
|
+
.cmdk__panel { position: absolute; top: 14vh; left: 50%; transform: translateX(-50%) translateY(-8px) scale(0.98);
|
|
35
|
+
width: min(560px, calc(100vw - 2rem)); transition: transform 240ms var(--ease-spring); }
|
|
36
|
+
.cmdk.is-open .cmdk__panel { transform: translateX(-50%) translateY(0) scale(1); }
|
|
37
|
+
```
|
|
38
|
+
*JS:* ⌘K / Ctrl K toggles, Esc closes, backdrop-click closes, ↑/↓ move the active item, Enter selects, focus the input on open and lock body scroll.
|
|
39
|
+
|
|
40
|
+
**Knobs** — *Pill placement:* centred (default) · right-of-brand · *Result groups:* flat · grouped (default) · *Footer hints:* shown (default) · hidden · *Open trigger:* pill+⌘K (default) · ⌘K only (→ that's N4, not N13).
|
|
41
|
+
*Anti-pattern:* don't fake the modal with a `<div>` that traps no focus and ignores Esc — if you ship the pill you ship the keyboard model. The pill must look like search (icon + placeholder), not a generic button.
|
|
42
|
+
*Mobile:* the pill collapses to a search icon; the modal goes full-height sheet.
|
package/departments/landing/skills/page-architect/references/components/n1b-saas-three-section.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# N1b · Canonical SaaS three-section
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Wordmark hard-left · a centred cluster of 4–6 links (some opening hover dropdowns) · a sign-in text link + filled CTA hard-right. The dominant marketing-nav of 2024–26 (Stripe, Linear, Vercel, Figma, Notion, PostHog). The structural opposite of N1's *minimal* two-link variant — this one is dense and balanced.
|
|
6
|
+
*Use when:* a SaaS / product / dev-tool page with several real destinations and a clear primary action. The default reach for modern-minimal and (Hum-styled) playful product pages.
|
|
7
|
+
*Don't confuse with:* N1a (wordmark + 2 links, no centre cluster); N5 (detached pill); N11 (mega-menu panels, not small dropdowns).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav"><div class="nav__inner">
|
|
11
|
+
<a class="nav__brand">Conduit</a>
|
|
12
|
+
<nav class="nav__center">
|
|
13
|
+
<div class="nav__item nav__item--menu">
|
|
14
|
+
<button class="nav__link" aria-expanded="false">Product <span class="nav__caret"></span></button>
|
|
15
|
+
<div class="nav__dropdown"><a class="nav__dropitem"><b>Gateway</b><i>one endpoint</i></a></div>
|
|
16
|
+
</div>
|
|
17
|
+
<a class="nav__link">Docs</a><a class="nav__link">Pricing</a>
|
|
18
|
+
</nav>
|
|
19
|
+
<div class="nav__right"><a class="btn btn--text">Sign in</a><a class="btn btn--accent">Start</a></div>
|
|
20
|
+
</div></header>
|
|
21
|
+
```
|
|
22
|
+
```css
|
|
23
|
+
.nav { position: fixed; inset: 0 0 auto; z-index: 500; background: transparent; border-bottom: 1px solid transparent;
|
|
24
|
+
transition: background 240ms, border-color 240ms, box-shadow 240ms; }
|
|
25
|
+
.nav.is-scrolled { background: color-mix(in oklch, var(--color-paper) 72%, transparent);
|
|
26
|
+
backdrop-filter: blur(18px) saturate(160%); border-bottom-color: var(--color-rule); box-shadow: 0 8px 28px -18px oklch(0% 0 0 / 0.4); }
|
|
27
|
+
.nav__inner { max-width: var(--page-max); margin: 0 auto; padding-inline: var(--page-gutter); height: 64px;
|
|
28
|
+
display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
|
|
29
|
+
.nav__brand { justify-self: start; } .nav__center { justify-self: center; display: flex; gap: 0.35rem; } .nav__right { justify-self: end; }
|
|
30
|
+
.nav__dropdown { position: absolute; opacity: 0; visibility: hidden; transform: translateY(-6px) scale(0.98);
|
|
31
|
+
transition: opacity 200ms, transform 220ms var(--ease-spring), visibility 200ms; }
|
|
32
|
+
.nav__item--menu:hover .nav__dropdown, .nav__item--menu:focus-within .nav__dropdown { opacity: 1; visibility: visible; transform: none; }
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Knobs** — *Centre links:* 3 · 4 · 5–6 · *Dropdowns:* none · 1 · 2 · *Scroll state:* frost-on-scroll (default) · always-solid · transparent-fixed · *CTA pair:* sign-in + fill · fill only.
|
|
36
|
+
*Scroll behaviour (default):* transparent at rest over the hero, frosts (blur backdrop + hairline border + soft shadow) past ~24px, and tightens height ~8px. Always rAF-throttle the scroll handler.
|
|
37
|
+
*Anti-pattern:* don't let the centre cluster collide with brand/CTA — if it can't sit centred with breathing room, drop to 3 links or route to N1a. Never ship a dropdown that opens on click only with no hover/focus affordance.
|
|
38
|
+
*Mobile:* hide `.nav__center` below ~900px; brand + CTA (or hamburger) remain.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# N2 · Floating chip
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A small fixed chip in a corner — wordmark + a single action ("Try it"). Doesn't sit in document flow.
|
|
6
|
+
*Use when:* the page is fold-heavy and traditional nav would fight the content.
|
|
7
|
+
*Don't confuse with:* C4 Sticky bottom bar (which is full-width).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<aside class="nav-chip">
|
|
11
|
+
<a class="wordmark">Studio</a>
|
|
12
|
+
<a class="cta-outline">Try →</a>
|
|
13
|
+
</aside>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.nav-chip { position: fixed; top: var(--space-md); right: var(--space-md); display: inline-flex; gap: var(--space-md); padding: 0.5rem 0.75rem; background: var(--color-paper); border: 1px solid var(--color-rule); }
|
|
17
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# N3 · Side-rail
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A thin vertical strip on the left edge — wordmark rotated, plus 2–3 dot-indicators for sections. Editorial / portfolio energy.
|
|
6
|
+
*Use when:* the page is long and section-numbered.
|
|
7
|
+
*Don't confuse with:* N1 Top wordmark (which is horizontal).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<nav class="nav-rail">
|
|
11
|
+
<p class="wordmark vertical">Studio</p>
|
|
12
|
+
<ul class="dots"><li></li><li></li><li></li></ul>
|
|
13
|
+
</nav>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.nav-rail { position: fixed; left: 0; top: 0; bottom: 0; width: 3rem; padding: var(--space-md); writing-mode: vertical-rl; }
|
|
17
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# N4 · Hidden behind ⌘K
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
No visible nav. The user opens a command palette via `⌘K` to get anywhere. Designed for keyboard-first audiences.
|
|
6
|
+
*Use when:* the page is for technical users who expect this affordance.
|
|
7
|
+
*Don't confuse with:* N2 Floating chip (which is visible always).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<button class="kbd-hint">⌘ K</button>
|
|
11
|
+
<dialog class="palette">…</dialog>
|
|
12
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# N5 · Floating pill
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A rounded full-pill nav, *visibly detached* from the page edges, sitting ~`var(--space-md)` from the top, soft blur backdrop, soft shadow. Reads as contemporary modern-minimal — Vercel, Linear, Framer, Raycast.
|
|
6
|
+
*Use when:* the page is modern-minimal / atmospheric and the hero has a distinct surface or imagery beneath the pill that the blur can sit over.
|
|
7
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is full-width); N2 Floating chip (which is corner-anchored).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<nav class="nav-pill" aria-label="Primary">
|
|
11
|
+
<a class="wordmark">Studio</a>
|
|
12
|
+
<ul class="nav-pill__links"><li><a>Catalog</a></li><li><a>Voice</a></li></ul>
|
|
13
|
+
<a class="cta-fill">Get →</a>
|
|
14
|
+
</nav>
|
|
15
|
+
```
|
|
16
|
+
```css
|
|
17
|
+
.nav-pill {
|
|
18
|
+
position: fixed; inset: var(--space-md) auto auto 50%;
|
|
19
|
+
transform: translateX(-50%);
|
|
20
|
+
display: inline-flex; align-items: center; gap: var(--space-md);
|
|
21
|
+
padding: 0.5rem 0.875rem;
|
|
22
|
+
background: color-mix(in oklch, var(--color-paper) 78%, transparent);
|
|
23
|
+
backdrop-filter: blur(14px) saturate(120%);
|
|
24
|
+
border: var(--rule-hair) solid var(--color-rule);
|
|
25
|
+
border-radius: 999px;
|
|
26
|
+
box-shadow: 0 8px 24px -12px oklch(0% 0 0 / 0.18);
|
|
27
|
+
z-index: 20;
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
*Anti-pattern:* a "pill" that's ~95 % viewport-wide is just a full-width nav with rounded ends — defeats the point. The pill must be visibly detached and content-sized; if your link list pushes it past ~720 px, drop a link or switch to N1.
|
package/departments/landing/skills/page-architect/references/components/n6-newspaper-masthead.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# N6 · Newspaper masthead
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
Full-width header, large centred wordmark on the top row, thin issue/date line above or below in serif small caps, optional inline link row beneath, double-rule below the whole thing. Reads as editorial, broadsheet — NYT, FT, Vogue.
|
|
6
|
+
*Use when:* the page is editorial, magazine-shaped, or framed as an issue / edition.
|
|
7
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is asymmetric and small).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav-mast">
|
|
11
|
+
<p class="mast-line muted">No 22 · Spring 2026 · Studio</p>
|
|
12
|
+
<h1 class="mast-name">STUDIO</h1>
|
|
13
|
+
<nav class="mast-nav" aria-label="Primary">
|
|
14
|
+
<ul><li><a>Catalog</a></li><li><a>Voice</a></li><li><a>Letters</a></li></ul>
|
|
15
|
+
</nav>
|
|
16
|
+
<hr class="mast-rule double" aria-hidden="true">
|
|
17
|
+
</header>
|
|
18
|
+
```
|
|
19
|
+
```css
|
|
20
|
+
.nav-mast { display: grid; gap: var(--space-2xs); padding: var(--space-md) var(--page-gutter) 0; text-align: center; }
|
|
21
|
+
.mast-name { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 3.75rem); letter-spacing: -0.01em; line-height: 0.95; margin: 0; }
|
|
22
|
+
.mast-line { font-variant: small-caps; letter-spacing: 0.08em; font-size: var(--text-xs); }
|
|
23
|
+
.mast-nav ul { display: inline-flex; gap: var(--space-md); list-style: none; padding: 0; margin: var(--space-2xs) 0 0; }
|
|
24
|
+
.mast-rule.double { border: 0; border-top: var(--rule-hair) solid var(--color-rule); border-bottom: var(--rule-hair) solid var(--color-rule); height: 4px; margin: var(--space-sm) 0 0; }
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
*Anti-pattern:* using N6 on a SaaS dashboard or a developer-tool product page. The masthead vocabulary belongs to long-form / editorial sites; on a B2B product, it reads as costume.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# N7 · Brutal slab
|
|
2
|
+
|
|
3
|
+
> Derived from [hallmark](https://github.com/nutlope/hallmark) (MIT — see `hallmark.LICENSE` in this references directory). Sanitized and adapted for ArkaOS.
|
|
4
|
+
|
|
5
|
+
A heavy, full-width nav with a 2 px solid border-bottom, all-caps wordmark and tracked uppercase link row, dense rhythm, no shadow, no rounded corners. Reads as Pentagram project pages, Liquid Death, brutalist-leaning agencies.
|
|
6
|
+
*Use when:* the genre is playful (Brutal, Manifesto, Sport) or the brand voice is heavy / declarative.
|
|
7
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is small and quiet).
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<header class="nav-slab">
|
|
11
|
+
<a class="slab-mark">STUDIO</a>
|
|
12
|
+
<nav class="slab-nav" aria-label="Primary">
|
|
13
|
+
<ul><li><a>CATALOG</a></li><li><a>VOICE</a></li><li><a>WORK</a></li></ul>
|
|
14
|
+
</nav>
|
|
15
|
+
<a class="cta-fill cta-fill--slab">GET</a>
|
|
16
|
+
</header>
|
|
17
|
+
```
|
|
18
|
+
```css
|
|
19
|
+
.nav-slab { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-sm) var(--page-gutter); border-bottom: 2px solid var(--color-ink); background: var(--color-paper); }
|
|
20
|
+
.slab-mark { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.04em; }
|
|
21
|
+
.slab-nav ul { display: flex; gap: var(--space-md); list-style: none; padding: 0; margin: 0 0 0 auto; }
|
|
22
|
+
.slab-nav a { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-sm); font-weight: 600; }
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
*Anti-pattern:* combining N7 with rounded corners, soft shadows, or backdrop-blur — those vocabularies fight. If you reach for blur, drop to N5; if you reach for round, drop to N1.
|