Loading...
Loading...
Apply Swissted-style design to Editframe landing pages and docs. Use when redesigning sections, adding new sections, or auditing the design. Enforces the print-first composition model, the --poster-* token roles, and the completion standard.
npx skill4agent add editframe/skills swiss-bauhaus-designtelecine/services/web/app/styles/landing.css/* PRIMARY — brand moment, hero CTA, primary feature section BG */
--poster-red: #E53935;
/* SECONDARY — emphasis on dark backgrounds, template/data section BG */
/* Never as text on light backgrounds — contrast fails WCAG AA (~2.3:1) */
--poster-gold: #FFB300;
/* TECHNICAL — focus rings, code syntax, architecture diagrams */
/* Not for section backgrounds or CTAs */
--poster-blue: #1565C0;
/* AI/AGENT — PromptToTool section only. Do not use elsewhere. */
--poster-green: #2E7D32;
/* STRUCTURE */
--ink-black: #1a1a1a;
--paper-cream: #FAF8F5;
--warm-gray: #6B6B6B;
--card-dark-bg: #1a1a1a;--poster-pink--poster-gold#B45309| Section | Ground | Primary accent | Rationale |
|---|---|---|---|
| Hero | | | Brand moment, the first impression |
| CodeExamples | | | Craft/code — gold reads on darkness |
| TemplatedRendering | | black | Data drives the template — gold is the content |
| RenderAnywhere | | white | The primary power claim |
| Architecture | | | Technical diagrams |
| GettingStarted | white | | Action — red motivates |
| PromptToTool | | white / gold | AI/agent — green is reserved here |
/* Headlines — the Swissted voice */
font-weight: 900; /* font-black */
letter-spacing: -0.05em; /* tracking-tighter */
text-transform: uppercase;
line-height: 0.9;
/* Section labels — visually distinct from headlines */
font-size: 0.75rem; /* text-xs */
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em; /* tracking-widest */
color: var(--warm-gray);
/* Body */
font-weight: 400;
color: var(--warm-gray);
line-height: 1.625; /* leading-relaxed */WRONG: section-bg → white card → shadow → content
RIGHT: section-bg → content<div class="border-t-4 border-[var(--ink-black)]" /> <!-- section break -->
<div class="border-r-2 border-[var(--ink-black)]" /> <!-- column divider --><div class="border-t-2 border-white/40" /> <!-- white rule -->
<div class="border-r-2 border-black/20" /> <!-- dark rule -->| Element | Why it's wrong | What to do instead |
|---|---|---|
| Print is flat. Shadows simulate UI depth that doesn't exist in print. | None. Color contrast carries weight. |
| Rounded corners signal interactive UI element. Print boxes are square. | |
| Cards on colored backgrounds | A white card on red is a web component, not a poster composition. | Type directly on the section ground |
Subtle borders | Whisper borders are a digital UI convention. | Full-weight rules (2–4px, full opacity) or none at all |
| Multiple hierarchy signals | Color + shadow + label + card = four signals for one transition | Pick one. The color is enough. |
| Hover states on non-interactive elements | Trains the eye to expect interaction everywhere | Restrict visual hover feedback to actual interactive elements |
<!-- Primary CTA — always poster-red -->
<a class="px-8 py-4 bg-[var(--poster-red)] text-white font-bold uppercase tracking-wider hover:bg-[var(--ink-black)]">
Get Early Access
</a>
<!-- Secondary / outline -->
<a class="px-8 py-4 border-2 border-[var(--ink-black)] font-bold uppercase tracking-wider hover:bg-[var(--ink-black)] hover:text-white">
Read the Docs
</a>--poster-red<div class="bg-[var(--card-dark-bg)]">
<div class="flex items-center gap-2 px-4 py-3 border-b border-white/10">
<div class="w-3 h-3 rounded-full bg-[#ff5f57]" />
<div class="w-3 h-3 rounded-full bg-[#febc2e]" />
<div class="w-3 h-3 rounded-full bg-[#28c840]" />
<span class="ml-4 text-xs text-white/50 font-mono">filename.tsx</span>
</div>
<pre class="p-6 font-mono text-sm text-white/90">...</pre>
</div>--poster-red--poster-blue--poster-goldbox-shadowborder-radiusbg-[var(--poster-red)]#B45309--poster-gold