Skip to content
Introducing StyloftCSS 0.1 / A small foundation for your next big idea. Meet the framework
Essentials

Cards

Composable surfaces for ideas, projects, plans, and everyday content.

CSS only7 examplesKeyboard friendly HTML

Feature cards

Combine card, stack, badge, and grid primitives. The cover is a website-specific CSS illustration.

Live preview
Foundation

Designed to compose.

Good defaults. Simple classes. Plenty of room to make it yours.

Explore layouts ↗
Expression

A palette of possibility.

Semantic tokens bring the same visual language to every surface.

Meet the tokens ↗
View HTML / PlaygroundHTML source
example.htmlHTML
<div class="sl-grid sl-md:cols-2 sl-gap-6">
  <article class="sl-card sl-stack demo-feature-card">
    <div class="demo-art demo-art-lavender" aria-hidden="true">
      <span></span><span></span><span></span>
    </div>
    <span class="sl-badge">Foundation</span>
    <h3 class="sl-text-xl">Designed to compose.</h3>
    <p class="sl-text-muted">
      Good defaults. Simple classes. Plenty of room to make it yours.
    </p>
    <a href="/light/layouts/">Explore layouts ↗</a>
  </article>
  <article class="sl-card sl-stack demo-feature-card">
    <div class="demo-art demo-art-peach" aria-hidden="true">
      <span></span><span></span><span></span>
    </div>
    <span class="sl-badge">Expression</span>
    <h3 class="sl-text-xl">A palette of possibility.</h3>
    <p class="sl-text-muted">
      Semantic tokens bring the same visual language to every surface.
    </p>
    <a href="/light/themes/">Meet the tokens ↗</a>
  </article>
</div>
HTML source · enable JavaScript for the playground24 lines · UTF-8

A compact project card

Live preview
SExample project

Studio notebook

A place for the things you want to build next.


CSS · HTML · PossibilityOpen guide ↗
View HTML / PlaygroundHTML source
example.htmlHTML
<article class="sl-card sl-stack demo-narrow">
  <div class="sl-cluster sl-justify-between">
    <span class="demo-avatar">S</span><span class="sl-badge">Example project</span>
  </div>
  <h3 class="sl-text-xl">Studio notebook</h3>
  <p class="sl-text-muted">A place for the things you want to build next.</p>
  <hr />
  <div class="sl-cluster sl-justify-between">
    <span class="sl-help">CSS · HTML · Possibility</span
    ><a href="/light/getting-started/">Open guide ↗</a>
  </div>
</article>
HTML source · enable JavaScript for the playground12 lines · UTF-8

Hover motion surfaces

Live preview
View HTML / PlaygroundHTML source
example.htmlHTML
<div class="sl-grid sl-md:cols-2 sl-gap-6">
  <article class="sl-card sl-stack sl-hover-lift">
    <h3 class="sl-text-xl">Lift, gently.</h3>
    <p class="sl-text-muted">A link gives this surface a keyboard focus target.</p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
  <article class="sl-card sl-stack sl-hover-tilt">
    <h3 class="sl-text-xl">A new angle.</h3>
    <p class="sl-text-muted">
      Perspective adds a small 3D tilt, without pointer-tracking scripts.
    </p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
</div>
HTML source · enable JavaScript for the playground14 lines · UTF-8

Glow and scale

Live preview
View HTML / PlaygroundHTML source
example.htmlHTML
<div class="sl-grid sl-md:cols-2 sl-gap-6">
  <article class="sl-card sl-stack sl-hover-glow">
    <h3 class="sl-text-xl">A quieter glow.</h3>
    <p class="sl-text-muted">Border and shadow respond together.</p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
  <article class="sl-card sl-stack sl-hover-zoom">
    <h3 class="sl-text-xl">A little closer.</h3>
    <p class="sl-text-muted">A restrained scale effect, with a smooth exit.</p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
</div>
HTML source · enable JavaScript for the playground12 lines · UTF-8

Accent and outline variants

Live preview
View HTML / PlaygroundHTML source
example.htmlHTML
<div class="sl-grid sl-md:cols-2 sl-gap-6">
  <article class="sl-card sl-stack sl-card--accent">
    <h3 class="sl-text-xl">The accent card.</h3>
    <p class="sl-text-muted">A semantic accent stripe marks the edge.</p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
  <article class="sl-card sl-stack sl-card--outline">
    <h3 class="sl-text-xl">The outline card.</h3>
    <p class="sl-text-muted">A transparent surface and a stronger border.</p>
    <a href="/light/getting-started/">Explore the guide ↗</a>
  </article>
</div>
HTML source · enable JavaScript for the playground12 lines · UTF-8

A horizontal profile

Live preview

Jordan Doe

Illustrative profile

A flexible horizontal pattern that wraps on small screens.

Explore layouts
View HTML / PlaygroundHTML source
example.htmlHTML
<article class="sl-card sl-card--horizontal">
  <div>
    <span class="sl-avatar" aria-hidden="true">JD</span>
    <h3 class="sl-text-xl sl-my-4">Jordan Doe</h3>
    <p class="sl-help">Illustrative profile</p>
  </div>
  <div class="sl-stack">
    <p>A flexible horizontal pattern that wraps on small screens.</p>
    <a class="sl-btn sl-btn--outline" href="/light/layouts/"
      >Explore layouts
      <svg
        viewBox="0 0 24 24"
        fill="none"
        stroke="currentColor"
        stroke-width="2"
        aria-hidden="true"
      >
        <path d="M5 12h14m-6-6 6 6-6 6" /></svg
    ></a>
  </div>
</article>
HTML source · enable JavaScript for the playground21 lines · UTF-8

Testimonial cards in a normal grid

A responsive quote-card layout. Fictional sample content; replace with approved testimonials.

Live preview

Sample testimonial

“The spacing and typography gave our prototype a clear rhythm from the very first screen.”

Maya Chen

Product designer · North Studio

Sample testimonial

“I could compose a clean interface with familiar HTML and just the CSS modules I needed.”

Alex Morgan

Frontend developer · Fieldwork

Sample testimonial

“The same cards feel considered in both themes, with room for our own visual identity.”

Priya Shah

Creative lead · Paper & Form

View HTML / PlaygroundHTML source
example.htmlHTML
<div class="sl-grid sl-md:cols-2 sl-lg:cols-3 sl-gap-6">
  <figure class="sl-card sl-hover-lift sl-stack sl-gap-6">
    <p class="sl-help">Sample testimonial</p>
    <blockquote>
      <p>
        “The spacing and typography gave our prototype a clear rhythm from the very
        first screen.”
      </p>
    </blockquote>
    <figcaption class="sl-cluster sl-gap-4">
      <span class="sl-badge" aria-hidden="true">MC</span>
      <div>
        <p><strong>Maya Chen</strong></p>
        <p class="sl-help">Product designer · North Studio</p>
      </div>
    </figcaption>
  </figure>
  <figure class="sl-card sl-hover-lift sl-stack sl-gap-6">
    <p class="sl-help">Sample testimonial</p>
    <blockquote>
      <p>
        “I could compose a clean interface with familiar HTML and just the CSS modules I
        needed.”
      </p>
    </blockquote>
    <figcaption class="sl-cluster sl-gap-4">
      <span class="sl-badge" aria-hidden="true">AM</span>
      <div>
        <p><strong>Alex Morgan</strong></p>
        <p class="sl-help">Frontend developer · Fieldwork</p>
      </div>
    </figcaption>
  </figure>
  <figure class="sl-card sl-hover-lift sl-stack sl-gap-6">
    <p class="sl-help">Sample testimonial</p>
    <blockquote>
      <p>
        “The same cards feel considered in both themes, with room for our own visual
        identity.”
      </p>
    </blockquote>
    <figcaption class="sl-cluster sl-gap-4">
      <span class="sl-badge" aria-hidden="true">PS</span>
      <div>
        <p><strong>Priya Shah</strong></p>
        <p class="sl-help">Creative lead · Paper & Form</p>
      </div>
    </figcaption>
  </figure>
</div>
HTML source · enable JavaScript for the playground50 lines · UTF-8

Classes beginning with sl- come from StyloftCSS. Examples with demo- classes also use our optional demo extension CSS ↓. Load it after the core to reproduce those details.