This page is a hand-authored coverage audit for the SLASHED framework. Every
- .sf-* class documented in docs/classes.md is applied to
- real, visible markup below, organised by source file. It loads only
- dist/slashed.full.css — no custom CSS, no scripts, no third-party
- resources. .sf-box's border is opt-in via its
- --sf-box-border-width custom property (0 by default); it's set to
- 1px once here on <body> — a documented public token,
- inherited like any CSS custom property — purely so every box demo below is
- visible at a glance.
Breakpoint-free, container-query-driven layout building blocks. Each demo below -exercises one primitive (and its size/variant modifiers) with realistic children.
- -section--guttered adds inline gutters without a container
-default .sf-container
container--narrow
container--prose
container--wide
container--full
sf-fluid-cq — children interpolate type/space against this box's own inline size rather than the viewport.
xs
gap
s
gap
m
gap (default)
l
gap
xl
gap
2xl
gap
Text column reverses order on alternate rows.
Second row — image/text order swaps automatically.
Regular content-width paragraph inside .sf-content-grid.
-cover--min + cover__center
cover--max + cover--padding-s
cover--padding-l
sf-bg-layer fills behind this text; the parent auto-positions itself.
-Host box (positioning context)
- imposter (centered) -Host box (transform creates a containing block so the fixed-positioned imposter stays inside it)
- imposter--fixed -Base content
- -One
Two (divide adds a border between siblings)
Three
Newspaper-style flowing columns, 2 target columns. Text flows down one column, then continues at the top of the next, unlike grid cells.
Three target columns of flowing text content for a denser magazine layout.
Four target columns for a very dense flowing layout of short list items.
Six target columns, useful for long tag/keyword lists that should flow.
Recipes that answer "what does this element do/look like?" — composable on top of layout primitives.
- -Paragraph one of long-form text with automatic vertical rhythm between children.
-Paragraph two — automatically spaced from the previous one.
-More article body after the opted-out region.
-One
-Two — gets margin-block-start from the flow rhythm.
-Three — same.
-This very long sentence about the SLASHED framework will be cut off with an ellipsis after exactly one line because the box has a finite inline size.
-Two-line clamp: SLASHED ships breakpoint-free, container-query-driven layout primitives that respond to their own container's width instead of the viewport, which keeps components portable across sidebars, cards, and full-width sections alike.
-Three-line clamp: token-driven design system with a fluid type and space engine computed at runtime from a handful of input scalars, so retuning one number recalibrates the whole scale without a rebuild step or any SCSS preprocessing.
-Five-line clamp via the N variant and the --sf-line-clamp custom property: this paragraph is intentionally long so the clamp is visible — it keeps going and going, describing layout primitives, macros, state classes, motion utilities and components until it is cut off after five lines with an ellipsis, no matter how much more text follows this point in the source.
- -Long scrolling content fades near the top/bottom edges of this box.
-Line two.
Line three.
Line four.
Line five.
Line six.
-Top-fade content. Line 2.
Line 3.
Line 4.
Bottom-fade content. Line 2.
Line 3.
Line 4.
Both block edges fade. Line 2.
Line 3.
Line 4.
| Invoice #1024 | $1,204.50 |
| Invoice #999 | $88.00 |
- External link · - Subtle link (underline on hover) · - Reverse link (underline at rest) -
- -Runtime-condition classes, applied statically here on realistic hosts so each visual treatment is visible.
- -is-success: saved successfully
-is-error: save failed
-is-warning: quota nearly reached
-is-info: new version available
- -Focus and clickable-area helpers.
- -sf-focus-parent — this whole box rings when a descendant has keyboard focus.
- -The whole card is a single click target via the overlay link below.
- Read more -Looping and one-shot animation classes applied to visible elements (final/initial state may render statically depending on browser support).
- -Print rules key off classes already used elsewhere on the page for other purposes — .sf-link-external also
-gains print-specific treatment (its href is expanded next to the link text when the page is printed).
This external link also exercises the print stylesheet — see the "Link helpers" demo above for the on-screen version of the same class.
-Forcing light/dark on a region, plus the smooth-transition helper.
- -data-theme on this element (normally applied to <html>; shown here on a scoped region since this page has no toggle script).Classless form controls, styled without any .sf-* class needed on the inputs themselves — the one opt-in
-utility here is .sf-live-validate, which enables native :user-invalid/:user-valid border feedback
-after a submit attempt.
All colour families, style treatments, gradient axis, sizes, width, and state modifiers for .sf-btn.
Body content with header, media, avatar and title slots.
-card--bordered: flat, outlined, no shadow.
card--elevated: floating shadow, no border.
card--interactive: lifts on hover/focus.
Card in an is-loading state.
Card in an is-disabled state.
Standalone card__body composed with sf-flow for spacing.
-Second paragraph.
-2xs — legal / metadata copy
-xs — fine print
-s — secondary copy
-m — body copy
-l — larger body copy
-xl — lede paragraph
-2xl — subheading
-3xl — heading
-4xl — display heading
-Select this text — sf-selection--alt swaps the ::selection colours for a surface with poor default contrast.
- ---sf-sticky-offset normally reads the page's fixed header height (0 here,
-since this page has none) — set to 0 per demo box below so the base case
-sticks flush to each isolated scroll container's own top edge; scroll each box to see
-it hold in place.
Scroll content…
More…
More…
More…
More…
-Scroll content…
More…
More…
More…
More…
-Scroll content…
More…
More…
More…
More…
-Scroll content…
More…
More…
More…
More…
-v0.7.16 · full bundle from jsDelivr CDN · 325 classes · 754 tokens (265 configurable)
-text-2xsQuick brown foxtext-xsQuick brown foxtext-sQuick brown foxtext-mQuick brown foxtext-lQuick brown foxtext-xlQuick brown foxtext-2xlQuick brown foxtext-3xlQuick brown foxtext-4xlQuick brown foxanimation-blinkanimation-color-pulseanimation-fade-inanimation-fade-outanimation-floatanimation-pinganimation-scale-downanimation-scale-upanimation-shimmeranimation-slide-in-downanimation-slide-in-leftanimation-slide-in-rightanimation-slide-in-upanimation-slide-out-downanimation-slide-out-leftanimation-slide-out-rightanimation-slide-out-upanimation-spinease-bounceease-elasticease-inease-in-outease-linearease-outease-overshootease-springduration-fastduration-instantduration-noneduration-normalduration-slowduration-slowertransition-colorstransition-entertransition-exittransition-fasttransition-form-fieldtransition-opacitytransition-overlaytransition-shadowtransition-slowtransition-transformgradient-actiongradient-brandgradient-fade--bgradient-fade--lgradient-fade--rgradient-fade--tgradient-primarygradient-secondarygradient-surfacegradient-tertiarydrop-shadow-ldrop-shadow-mdrop-shadow-sdrop-shadow-xldrop-shadow-xs.sf-alternate.sf-bento.sf-bento--2.sf-bento--3.sf-bento--6.sf-bento--row-compact.sf-bento--row-tall.sf-bento-featured.sf-bento-full.sf-bento-tall.sf-bento-wide.sf-bg-layer.sf-box.sf-breakoutcontent
.sf-center.sf-center--intrinsic.sf-cluster.sf-cluster--2xl.sf-cluster--between.sf-cluster--center.sf-cluster--end.sf-cluster--l.sf-cluster--m.sf-cluster--no-wrap.sf-cluster--s.sf-cluster--xl.sf-cluster--xs.sf-container.sf-container--full.sf-container--narrow.sf-container--prose.sf-container--wide.sf-content-gridcontent
.sf-cover.sf-cover__center.sf-cover--max.sf-cover--min.sf-cover--padding-l.sf-cover--padding-s.sf-cq.sf-divide.sf-divide--vertical.sf-dividerabove
below
.sf-divider--dashedabove
below
.sf-divider--dottedabove
below
.sf-divider--gradientabove
below
.sf-divider--softabove
below
.sf-divider--strongabove
below
.sf-divider--verticalabove
below
.sf-equal.sf-equal--2.sf-equal--3.sf-equal--4.sf-equal--6.sf-fluid-cq.sf-frame.sf-frame--3-2.sf-frame--4-3.sf-frame--cinema.sf-frame--golden.sf-frame--portrait.sf-frame--square.sf-frame--video.sf-full-bleedcontent
.sf-gap.sf-gap--2xl.sf-gap--l.sf-gap--m.sf-gap--s.sf-gap--xl.sf-gap--xs.sf-grid.sf-grid--2xl.sf-grid--dense.sf-grid--fit.sf-grid--l.sf-grid--m.sf-grid--s.sf-grid--xl.sf-grid--xs.sf-grid-cols-1.sf-grid-cols-1-2.sf-grid-cols-1-3.sf-grid-cols-2.sf-grid-cols-2-1.sf-grid-cols-3.sf-grid-cols-3-1.sf-grid-cols-4.sf-grid-cols-6.sf-grid-flex.sf-grid-flex--2xl.sf-grid-flex--center.sf-grid-flex--l.sf-grid-flex--m.sf-grid-flex--s.sf-grid-flex--xl.sf-grid-flex--xs.sf-header--l.sf-header--m.sf-header--s.sf-header--xl.sf-header--xs.sf-icon.sf-icon--2xl.sf-icon--boxed.sf-icon--l.sf-icon--m.sf-icon--s.sf-icon--xl.sf-icon--xs.sf-imposter.sf-imposter--contain.sf-imposter--fixed.sf-overlay.sf-pancake.sf-reel.sf-section.sf-section--2xl.sf-section--collapse.sf-section--guttered.sf-section--l.sf-section--m.sf-section--s.sf-section--xl.sf-section--xs.sf-section-group.sf-sidebar.sf-sidebar--narrow.sf-sidebar--right.sf-sidebar--wide.sf-stack.sf-stack--2xl.sf-stack--center.sf-stack--end.sf-stack--l.sf-stack--m.sf-stack--s.sf-stack--stretch.sf-stack--xl.sf-stack--xs.sf-subgrid.sf-subgrid-rows.sf-switcher.sf-switcher--no-wrap.sf-switcher--vertical.sf-aspect.sf-content-auto.sf-drop-shadow-l.sf-drop-shadow-m.sf-drop-shadow-s.sf-drop-shadow-xl.sf-drop-shadow-xs.sf-equal-height.sf-flowone
two
three
.sf-line-clamp-2.sf-line-clamp-3.sf-line-clamp-N.sf-link--reverse.sf-link--subtle.sf-link-external.sf-no-tap-highlight.sf-not-proseLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
more.
.sf-overflow-fadeLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--blockLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--bottomLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--inlineLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--leftLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--rightLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--topLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overlap.sf-overlap--down.sf-overlap--end.sf-overlap--start.sf-overlap-host.sf-proseLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Another paragraph.
.sf-scrim.sf-scrim__content.sf-scrim--bottom.sf-scrim--full.sf-scrim--top.sf-scroll-shadowLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-scroll-snap.sf-surface.sf-surface--action.sf-surface--danger.sf-surface--info.sf-surface--inverse.sf-surface--neutral.sf-surface--primary.sf-surface--secondary.sf-surface--success.sf-surface--tertiary.sf-surface--warning.sf-surface-bg.sf-tabular-nums.sf-text-gradient.sf-text-protect.sf-truncate.sf-is-active.sf-is-busy.sf-is-collapsed.sf-is-current.sf-is-danger.sf-is-disabled.sf-is-draggable.sf-is-dragging.sf-is-drop-target.sf-is-empty.sf-is-error.sf-is-expanded.sf-is-hidden.sf-is-highlighted.sf-is-info.sf-is-invalid.sf-is-invisible.sf-is-loading.sf-is-open.sf-is-pending.sf-is-pressed.sf-is-readonly.sf-is-selected.sf-is-skeleton.sf-is-success.sf-is-valid.sf-is-visible.sf-is-warning.sf-color-pulse.sf-entrance--fade.sf-entrance--fade-down.sf-entrance--fade-left.sf-entrance--fade-right.sf-entrance--fade-up.sf-entrance--scale-up.sf-exit--fade.sf-exit--fade-down.sf-exit--fade-left.sf-exit--fade-right.sf-exit--fade-up.sf-exit--scale-down.sf-fade-in.sf-fade-out.sf-scale-down.sf-scale-up.sf-slide-in-down.sf-slide-in-left.sf-slide-in-right.sf-slide-in-up.sf-stagger.no-motion.sf-clickable-parent.sf-clickable-parent__overlay.sf-focus-parent.sf-focus-shadow.skip-link.sr-only.sr-only-focusable.no-print.print-color-exact.print-no-color.print-only.sf-theme-dark.sf-theme-light.sf-theme-transition--sf-* token — knob and consumption, all tiers — with its live computed value (filled by JS). Toggle the theme or the override in the toolbar and watch every value recompute. Tokens that resolve to a colour, length, shadow, gradient, type or motion value also show a visual.--sf-color-action--sf-color-action--active--sf-color-action--hover--sf-color-action-100--sf-color-action-200--sf-color-action-300--sf-color-action-400--sf-color-action-50--sf-color-action-500--sf-color-action-600--sf-color-action-700--sf-color-action-800--sf-color-action-900--sf-color-action-950--sf-color-action-a10--sf-color-action-a30--sf-color-action-a5--sf-color-action-a50--sf-color-action-a80--sf-color-action-darker--sf-color-action-lighter--sf-color-action-muted--sf-color-action-source-dark--sf-color-action-source-light--sf-color-action-subtle--sf-color-action-superdark--sf-color-action-superlight--sf-color-action-tint--sf-color-action-xdark--sf-color-action-xlight--sf-color-base--sf-color-base--active--sf-color-base--hover--sf-color-base-100--sf-color-base-200--sf-color-base-300--sf-color-base-400--sf-color-base-50--sf-color-base-500--sf-color-base-600--sf-color-base-700--sf-color-base-800--sf-color-base-900--sf-color-base-950--sf-color-base-a10--sf-color-base-a30--sf-color-base-a5--sf-color-base-a50--sf-color-base-a80--sf-color-base-muted--sf-color-base-source-dark--sf-color-base-source-light--sf-color-base-subtle--sf-color-base-tint--sf-color-bg--sf-color-bg--active--sf-color-bg--disabled--sf-color-bg--focus--sf-color-bg--hover--sf-color-bg--selected--sf-color-black--sf-color-border--sf-color-border--disabled--sf-color-border--focus--sf-color-border--strong--sf-color-border--subtle--sf-color-border--translucent--sf-color-code-bg--sf-color-code-text--sf-color-danger--sf-color-danger-muted--sf-color-danger-source-dark--sf-color-danger-source-light--sf-color-danger-strong--sf-color-danger-subtle--sf-color-danger-tint--sf-color-dim--sf-color-heading--sf-color-info--sf-color-info-muted--sf-color-info-source-dark--sf-color-info-source-light--sf-color-info-strong--sf-color-info-subtle--sf-color-info-tint--sf-color-inset--sf-color-inverse--sf-color-link--sf-color-link--active--sf-color-link--disabled--sf-color-link--hover--sf-color-link--underline--sf-color-link--visited--sf-color-mark-bg--sf-color-mark-text--sf-color-neutral--sf-color-neutral--active--sf-color-neutral--hover--sf-color-neutral-100--sf-color-neutral-200--sf-color-neutral-300--sf-color-neutral-400--sf-color-neutral-50--sf-color-neutral-500--sf-color-neutral-600--sf-color-neutral-700--sf-color-neutral-800--sf-color-neutral-900--sf-color-neutral-950--sf-color-neutral-a10--sf-color-neutral-a30--sf-color-neutral-a5--sf-color-neutral-a50--sf-color-neutral-a80--sf-color-neutral-darker--sf-color-neutral-lighter--sf-color-neutral-muted--sf-color-neutral-source-dark--sf-color-neutral-source-light--sf-color-neutral-subtle--sf-color-neutral-superdark--sf-color-neutral-superlight--sf-color-neutral-tint--sf-color-neutral-xdark--sf-color-neutral-xlight--sf-color-overlay--sf-color-primary--sf-color-primary--active--sf-color-primary--hover--sf-color-primary-100--sf-color-primary-200--sf-color-primary-300--sf-color-primary-400--sf-color-primary-50--sf-color-primary-500--sf-color-primary-600--sf-color-primary-700--sf-color-primary-800--sf-color-primary-900--sf-color-primary-950--sf-color-primary-a10--sf-color-primary-a30--sf-color-primary-a5--sf-color-primary-a50--sf-color-primary-a80--sf-color-primary-darker--sf-color-primary-lighter--sf-color-primary-muted--sf-color-primary-source-dark--sf-color-primary-source-light--sf-color-primary-subtle--sf-color-primary-superdark--sf-color-primary-superlight--sf-color-primary-tint--sf-color-primary-xdark--sf-color-primary-xlight--sf-color-raised--sf-color-scheme--sf-color-secondary--sf-color-secondary--active--sf-color-secondary--hover--sf-color-secondary-100--sf-color-secondary-200--sf-color-secondary-300--sf-color-secondary-400--sf-color-secondary-50--sf-color-secondary-500--sf-color-secondary-600--sf-color-secondary-700--sf-color-secondary-800--sf-color-secondary-900--sf-color-secondary-950--sf-color-secondary-a10--sf-color-secondary-a30--sf-color-secondary-a5--sf-color-secondary-a50--sf-color-secondary-a80--sf-color-secondary-darker--sf-color-secondary-lighter--sf-color-secondary-muted--sf-color-secondary-source-dark--sf-color-secondary-source-light--sf-color-secondary-subtle--sf-color-secondary-superdark--sf-color-secondary-superlight--sf-color-secondary-tint--sf-color-secondary-xdark--sf-color-secondary-xlight--sf-color-selection-bg--sf-color-selection-bg--alt--sf-color-selection-text--sf-color-selection-text--alt--sf-color-success--sf-color-success-muted--sf-color-success-source-dark--sf-color-success-source-light--sf-color-success-strong--sf-color-success-subtle--sf-color-success-tint--sf-color-surface--sf-color-tertiary--sf-color-tertiary--active--sf-color-tertiary--hover--sf-color-tertiary-100--sf-color-tertiary-200--sf-color-tertiary-300--sf-color-tertiary-400--sf-color-tertiary-50--sf-color-tertiary-500--sf-color-tertiary-600--sf-color-tertiary-700--sf-color-tertiary-800--sf-color-tertiary-900--sf-color-tertiary-950--sf-color-tertiary-a10--sf-color-tertiary-a30--sf-color-tertiary-a5--sf-color-tertiary-a50--sf-color-tertiary-a80--sf-color-tertiary-darker--sf-color-tertiary-lighter--sf-color-tertiary-muted--sf-color-tertiary-source-dark--sf-color-tertiary-source-light--sf-color-tertiary-subtle--sf-color-tertiary-superdark--sf-color-tertiary-superlight--sf-color-tertiary-tint--sf-color-tertiary-xdark--sf-color-tertiary-xlight--sf-color-text--sf-color-text--disabled--sf-color-text--inverse--sf-color-text--muted--sf-color-text--on-action--sf-color-text--on-base--sf-color-text--on-danger--sf-color-text--on-info--sf-color-text--on-inverse--sf-color-text--on-neutral--sf-color-text--on-primary--sf-color-text--on-secondary--sf-color-text--on-success--sf-color-text--on-tertiary--sf-color-text--on-warning--sf-color-text--placeholder--sf-color-text--secondary--sf-color-warning--sf-color-warning-muted--sf-color-warning-source-dark--sf-color-warning-source-light--sf-color-warning-strong--sf-color-warning-subtle--sf-color-warning-tint--sf-color-white--sf-gradient-action--sf-gradient-brand--sf-gradient-fade--b--sf-gradient-fade--l--sf-gradient-fade--r--sf-gradient-fade--t--sf-gradient-primary--sf-gradient-secondary--sf-gradient-surface--sf-gradient-tertiary--sf-shadow-2xl--sf-shadow-color adv--sf-shadow-glow--sf-shadow-glow-color adv--sf-shadow-inner--sf-shadow-l--sf-shadow-lightness--sf-shadow-m--sf-shadow-none--sf-shadow-s--sf-shadow-strength adv--sf-shadow-xl--sf-shadow-xs--sf-drop-shadow-l--sf-drop-shadow-m--sf-drop-shadow-s--sf-drop-shadow-xl--sf-drop-shadow-xs--sf-radius-2xl--sf-radius-2xs--sf-radius-3xl--sf-radius-4xl--sf-radius-full--sf-radius-l--sf-radius-m--sf-radius-none--sf-radius-outer adv--sf-radius-pill--sf-radius-s--sf-radius-scale adv--sf-radius-xl--sf-radius-xs--sf-space-2xl--sf-space-2xs--sf-space-3xl--sf-space-4xl--sf-space-base-max adv--sf-space-base-min adv--sf-space-l--sf-space-m--sf-space-none--sf-space-px--sf-space-ratio-max adv--sf-space-ratio-min adv--sf-space-s--sf-space-scale adv--sf-space-xl--sf-space-xs--sf-size-l--sf-size-m--sf-size-s--sf-size-xl--sf-size-xs--sf-text-2xl--sf-text-2xl-font-weight--sf-text-2xl-letter-spacing--sf-text-2xl-line-height--sf-text-2xl-max-width--sf-text-2xs--sf-text-2xs-font-weight--sf-text-2xs-letter-spacing--sf-text-2xs-line-height--sf-text-2xs-max-width--sf-text-3xl--sf-text-3xl-font-weight--sf-text-3xl-letter-spacing--sf-text-3xl-line-height--sf-text-3xl-max-width--sf-text-4xl--sf-text-4xl-font-weight--sf-text-4xl-letter-spacing--sf-text-4xl-line-height--sf-text-4xl-max-width--sf-text-base-max adv--sf-text-base-min adv--sf-text-display-base-max adv--sf-text-display-base-min adv--sf-text-display-l--sf-text-display-m--sf-text-display-s--sf-text-display-scale adv--sf-text-l--sf-text-l-font-weight--sf-text-l-letter-spacing--sf-text-l-line-height--sf-text-l-max-width--sf-text-m--sf-text-m-font-weight--sf-text-m-letter-spacing--sf-text-m-line-height--sf-text-m-max-width--sf-text-ratio-max adv--sf-text-ratio-min adv--sf-text-s--sf-text-s-font-weight--sf-text-s-letter-spacing--sf-text-s-line-height--sf-text-s-max-width--sf-text-scale adv--sf-text-shadow-l--sf-text-shadow-m--sf-text-shadow-none--sf-text-shadow-s--sf-text-shadow-xl--sf-text-shadow-xs--sf-text-xl--sf-text-xl-font-weight--sf-text-xl-letter-spacing--sf-text-xl-line-height--sf-text-xl-max-width--sf-text-xs--sf-text-xs-font-weight--sf-text-xs-letter-spacing--sf-text-xs-line-height--sf-text-xs-max-width--sf-font-body--sf-font-display--sf-font-features adv--sf-font-geometric--sf-font-heading--sf-font-humanist--sf-font-mono--sf-font-numeric--sf-font-slab--sf-font-variation adv--sf-font-weight-body--sf-font-weight-bold--sf-font-weight-display--sf-font-weight-heading--sf-font-weight-interactive--sf-font-weight-light--sf-font-weight-medium--sf-font-weight-normal--sf-font-weight-semibold--sf-font-weight-strong--sf-leading-normalAa Bb
Cc Dd
--sf-leading-relaxedAa Bb
Cc Dd
--sf-leading-snugAa Bb
Cc Dd
--sf-leading-taper advAa Bb
Cc Dd
--sf-leading-tightAa Bb
Cc Dd
--sf-tracking-normal--sf-tracking-tight--sf-tracking-wide--sf-tracking-wider--sf-tracking-widest--sf-duration-fast--sf-duration-instant--sf-duration-none--sf-duration-normal--sf-duration-slow--sf-duration-slower--sf-ease-bounce--sf-ease-elastic--sf-ease-in--sf-ease-in-out--sf-ease-linear--sf-ease-out--sf-ease-overshoot--sf-ease-spring--sf-transition-colors--sf-transition-enter--sf-transition-exit--sf-transition-fast--sf-transition-form-field--sf-transition-opacity--sf-transition-overlay--sf-transition-shadow--sf-transition-slow--sf-transition-transform--sf-animation-blink--sf-animation-color-pulse--sf-animation-fade-in--sf-animation-fade-out--sf-animation-float--sf-animation-ping--sf-animation-scale-down--sf-animation-scale-up--sf-animation-shimmer--sf-animation-slide-in-down--sf-animation-slide-in-left--sf-animation-slide-in-right--sf-animation-slide-in-up--sf-animation-slide-out-down--sf-animation-slide-out-left--sf-animation-slide-out-right--sf-animation-slide-out-up--sf-animation-spin--sf-border--sf-border-scale--sf-border-strong--sf-border-style--sf-border-subtle--sf-border-width-1--sf-border-width-2--sf-border-width-3--sf-border-width-4--sf-border-width-hairline--sf-focus-ring-color--sf-focus-ring-offset--sf-focus-ring-shadow adv--sf-focus-ring-style--sf-focus-ring-width--sf-opacity-disabled--sf-opacity-muted--sf-blur--sf-z-base--sf-z-below--sf-z-dropdown--sf-z-fixed--sf-z-modal--sf-z-overlay--sf-z-raised--sf-z-sticky--sf-z-toast--sf-z-tooltip--sf-alternate-gap--sf-alternate-inner-gap--sf-aspect--sf-bento-cols-default--sf-bento-gap--sf-bento-row-compact--sf-bento-row-default--sf-bento-row-tall--sf-bg-layer-fit--sf-bg-layer-inset--sf-bg-layer-position--sf-bg-layer-radius--sf-bg-layer-z--sf-body-color--sf-body-em-style--sf-body-font-family--sf-body-font-size--sf-body-font-weight--sf-body-line-height--sf-body-strong-weight--sf-body-text-wrap--sf-box-border-color--sf-box-border-width--sf-box-padding--sf-breakout-width--sf-btn-border-width--sf-btn-font-scale--sf-btn-font-size adv--sf-btn-font-weight--sf-btn-gap--sf-btn-l-font-size--sf-btn-l-min-height--sf-btn-l-padding-block--sf-btn-l-padding-inline--sf-btn-m-font-size--sf-btn-m-min-height--sf-btn-m-padding-block--sf-btn-m-padding-inline--sf-btn-min-height adv--sf-btn-padding-block adv--sf-btn-padding-inline adv--sf-btn-radius--sf-btn-s-font-size--sf-btn-s-min-height--sf-btn-s-padding-block--sf-btn-s-padding-inline--sf-btn-xl-font-size--sf-btn-xl-min-height--sf-btn-xl-padding-block--sf-btn-xl-padding-inline--sf-btn-xs-font-size--sf-btn-xs-min-height--sf-btn-xs-padding-block--sf-btn-xs-padding-inline--sf-card-avatar-size--sf-card-bg--sf-card-border-color--sf-card-border-width--sf-card-gap--sf-card-heading-size--sf-card-media-radius--sf-card-media-ratio--sf-card-padding--sf-card-radius--sf-card-radius-outer--sf-card-shadow--sf-card-shadow--elevated--sf-card-shadow--hover--sf-caret-color--sf-center-gutter--sf-center-max--sf-cluster-align--sf-cluster-gap--sf-cluster-justify--sf-code-font-size--sf-component-pad--sf-container-default--sf-container-full--sf-container-narrow--sf-container-prose--sf-container-wide--sf-content-gap--sf-content-intrinsic-size--sf-content-width--sf-contrast-bias adv--sf-contrast-threshold adv--sf-cover-min-height--sf-cover-padding--sf-current-font-weight--sf-density adv--sf-display-l-line-height--sf-display-m-line-height--sf-display-s-line-height--sf-divider-color--sf-divider-gap--sf-divider-style--sf-divider-width--sf-equal-gap--sf-equal-min-col--sf-equal-rule-color--sf-equal-rule-style--sf-equal-rule-width--sf-field-block--sf-field-padding-block--sf-field-padding-inline--sf-field-radius--sf-field-required-marker--sf-flow-space--sf-fluid-max-vw adv--sf-fluid-min-vw adv--sf-fluid-width--sf-frame-ratio--sf-gap--sf-grid-gap--sf-grid-min--sf-grid-min-2xl--sf-grid-min-l--sf-grid-min-m--sf-grid-min-s--sf-grid-min-xl--sf-grid-min-xs--sf-gutter--sf-h1-font-weight--sf-h1-letter-spacing--sf-h1-line-height--sf-h1-max-width--sf-h1-size--sf-h2-font-weight--sf-h2-letter-spacing--sf-h2-line-height--sf-h2-max-width--sf-h2-size--sf-h3-font-weight--sf-h3-letter-spacing--sf-h3-line-height--sf-h3-max-width--sf-h3-size--sf-h4-font-weight--sf-h4-letter-spacing--sf-h4-line-height--sf-h4-max-width--sf-h4-size--sf-h5-font-weight--sf-h5-letter-spacing--sf-h5-line-height--sf-h5-max-width--sf-h5-size--sf-h6-font-weight--sf-h6-letter-spacing--sf-h6-line-height--sf-h6-max-width--sf-h6-size--sf-header-height--sf-header-height-desktop--sf-header-height-mobile--sf-heading-color--sf-heading-font-family--sf-heading-text-wrap--sf-hover-grow-scale--sf-hover-lift--sf-hover-shrink-scale--sf-hover-slide--sf-icon-2xl--sf-icon-box-bg--sf-icon-box-border--sf-icon-box-pad--sf-icon-box-radius--sf-icon-l--sf-icon-m--sf-icon-s--sf-icon-xl--sf-icon-xs--sf-imposter-margin--sf-is-active adv--sf-is-current adv--sf-is-dark internal--sf-is-open adv--sf-is-pressed adv--sf-line-clamp--sf-link-external-label--sf-link-external-marker--sf-link-underline-offset--sf-link-underline-thickness--sf-lumlocker adv--sf-mask-scrim-end adv--sf-mask-scrim-start adv--sf-media-radius--sf-motion-scale adv--sf-object-fit--sf-object-position--sf-optical-sizing adv--sf-overlap-pull--sf-palette-mix-100 adv--sf-palette-mix-200 adv--sf-palette-mix-300 adv--sf-palette-mix-400 adv--sf-palette-mix-50 adv--sf-palette-mix-600 adv--sf-palette-mix-700 adv--sf-palette-mix-800 adv--sf-palette-mix-900 adv--sf-palette-mix-950 adv--sf-print-base-size adv--sf-print-page-margin adv--sf-print-page-size adv--sf-prose-block-margin--sf-prose-blockquote-border--sf-prose-blockquote-padding--sf-prose-figcaption-size--sf-prose-figure-margin--sf-prose-heading-gap--sf-prose-hr-margin--sf-prose-list-gap--sf-prose-marker-color--sf-prose-media-margin--sf-prose-media-radius--sf-prose-nested-list-gap--sf-prose-paragraph--sf-prose-table-pad--sf-ratio-3-2--sf-ratio-4-3--sf-ratio-cinema--sf-ratio-golden--sf-ratio-portrait--sf-ratio-square--sf-ratio-video--sf-reel-gap--sf-reel-height--sf-reel-item-width--sf-safe-bottom adv--sf-safe-left adv--sf-safe-right adv--sf-safe-top adv--sf-scrim-color--sf-scrim-direction--sf-scrim-gradient--sf-scrim-text-shadow--sf-scroll-shadow-size--sf-scroll-timeline-range-end adv--sf-scroll-timeline-range-exit-end--sf-scroll-timeline-range-exit-start--sf-scroll-timeline-range-start adv--sf-scrollbar-thumb--sf-scrollbar-track--sf-section-pad--sf-section-pad--2xl--sf-section-pad--l--sf-section-pad--m--sf-section-pad--s--sf-section-pad--xl--sf-section-pad--xs--sf-section-scale adv--sf-sidebar-gap--sf-sidebar-min-width--sf-sidebar-width--sf-stack-gap--sf-stagger-step--sf-state-pending-opacity--sf-sticky-offset--sf-sticky-offset-desktop--sf-sticky-offset-mobile--sf-surface-bg-animation--sf-surface-bg-attachment--sf-surface-bg-color--sf-surface-bg-image--sf-surface-bg-overlay--sf-surface-bg-position--sf-surface-bg-repeat--sf-surface-bg-size--sf-surface-color--sf-switcher-gap--sf-switcher-threshold--sf-theme-transition-duration--sf-touch-targetv0.7.16 · full bundle from jsDelivr CDN · 325 classes · 754 tokens (265 configurable)
-text-2xsQuick brown foxtext-xsQuick brown foxtext-sQuick brown foxtext-mQuick brown foxtext-lQuick brown foxtext-xlQuick brown foxtext-2xlQuick brown foxtext-3xlQuick brown foxtext-4xlQuick brown foxanimation-blinkanimation-color-pulseanimation-fade-inanimation-fade-outanimation-floatanimation-pinganimation-scale-downanimation-scale-upanimation-shimmeranimation-slide-in-downanimation-slide-in-leftanimation-slide-in-rightanimation-slide-in-upanimation-slide-out-downanimation-slide-out-leftanimation-slide-out-rightanimation-slide-out-upanimation-spinease-bounceease-elasticease-inease-in-outease-linearease-outease-overshootease-springduration-fastduration-instantduration-noneduration-normalduration-slowduration-slowertransition-colorstransition-entertransition-exittransition-fasttransition-form-fieldtransition-opacitytransition-overlaytransition-shadowtransition-slowtransition-transformgradient-actiongradient-brandgradient-fade--bgradient-fade--lgradient-fade--rgradient-fade--tgradient-primarygradient-secondarygradient-surfacegradient-tertiarydrop-shadow-ldrop-shadow-mdrop-shadow-sdrop-shadow-xldrop-shadow-xs.sf-alternate.sf-bento.sf-bento--2.sf-bento--3.sf-bento--6.sf-bento--row-compact.sf-bento--row-tall.sf-bento-featured.sf-bento-full.sf-bento-tall.sf-bento-wide.sf-bg-layer.sf-box.sf-breakoutcontent
.sf-center.sf-center--intrinsic.sf-cluster.sf-cluster--2xl.sf-cluster--between.sf-cluster--center.sf-cluster--end.sf-cluster--l.sf-cluster--m.sf-cluster--no-wrap.sf-cluster--s.sf-cluster--xl.sf-cluster--xs.sf-container.sf-container--full.sf-container--narrow.sf-container--prose.sf-container--wide.sf-content-gridcontent
.sf-cover.sf-cover__center.sf-cover--max.sf-cover--min.sf-cover--padding-l.sf-cover--padding-s.sf-cq.sf-divide.sf-divide--vertical.sf-dividerabove
below
.sf-divider--dashedabove
below
.sf-divider--dottedabove
below
.sf-divider--gradientabove
below
.sf-divider--softabove
below
.sf-divider--strongabove
below
.sf-divider--verticalabove
below
.sf-equal.sf-equal--2.sf-equal--3.sf-equal--4.sf-equal--6.sf-fluid-cq.sf-frame.sf-frame--3-2.sf-frame--4-3.sf-frame--cinema.sf-frame--golden.sf-frame--portrait.sf-frame--square.sf-frame--video.sf-full-bleedcontent
.sf-gap.sf-gap--2xl.sf-gap--l.sf-gap--m.sf-gap--s.sf-gap--xl.sf-gap--xs.sf-grid.sf-grid--2xl.sf-grid--dense.sf-grid--fit.sf-grid--l.sf-grid--m.sf-grid--s.sf-grid--xl.sf-grid--xs.sf-grid-cols-1.sf-grid-cols-1-2.sf-grid-cols-1-3.sf-grid-cols-2.sf-grid-cols-2-1.sf-grid-cols-3.sf-grid-cols-3-1.sf-grid-cols-4.sf-grid-cols-6.sf-grid-flex.sf-grid-flex--2xl.sf-grid-flex--center.sf-grid-flex--l.sf-grid-flex--m.sf-grid-flex--s.sf-grid-flex--xl.sf-grid-flex--xs.sf-header--l.sf-header--m.sf-header--s.sf-header--xl.sf-header--xs.sf-icon.sf-icon--2xl.sf-icon--boxed.sf-icon--l.sf-icon--m.sf-icon--s.sf-icon--xl.sf-icon--xs.sf-imposter.sf-imposter--contain.sf-imposter--fixed.sf-overlay.sf-pancake.sf-reel.sf-section.sf-section--2xl.sf-section--collapse.sf-section--guttered.sf-section--l.sf-section--m.sf-section--s.sf-section--xl.sf-section--xs.sf-section-group.sf-sidebar.sf-sidebar--narrow.sf-sidebar--right.sf-sidebar--wide.sf-stack.sf-stack--2xl.sf-stack--center.sf-stack--end.sf-stack--l.sf-stack--m.sf-stack--s.sf-stack--stretch.sf-stack--xl.sf-stack--xs.sf-subgrid.sf-subgrid-rows.sf-switcher.sf-switcher--no-wrap.sf-switcher--vertical.sf-aspect.sf-content-auto.sf-drop-shadow-l.sf-drop-shadow-m.sf-drop-shadow-s.sf-drop-shadow-xl.sf-drop-shadow-xs.sf-equal-height.sf-flowone
two
three
.sf-line-clamp-2.sf-line-clamp-3.sf-line-clamp-N.sf-link--reverse.sf-link--subtle.sf-link-external.sf-no-tap-highlight.sf-not-proseLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
more.
.sf-overflow-fadeLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--blockLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--bottomLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--inlineLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--leftLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--rightLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overflow-fade--topLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-overlap.sf-overlap--down.sf-overlap--end.sf-overlap--start.sf-overlap-host.sf-proseLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Another paragraph.
.sf-scrim.sf-scrim__content.sf-scrim--bottom.sf-scrim--full.sf-scrim--top.sf-scroll-shadowLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.
.sf-scroll-snap.sf-surface.sf-surface--action.sf-surface--danger.sf-surface--info.sf-surface--inverse.sf-surface--neutral.sf-surface--primary.sf-surface--secondary.sf-surface--success.sf-surface--tertiary.sf-surface--warning.sf-surface-bg.sf-tabular-nums.sf-text-gradient.sf-text-protect.sf-truncate.sf-is-active.sf-is-busy.sf-is-collapsed.sf-is-current.sf-is-danger.sf-is-disabled.sf-is-draggable.sf-is-dragging.sf-is-drop-target.sf-is-empty.sf-is-error.sf-is-expanded.sf-is-hidden.sf-is-highlighted.sf-is-info.sf-is-invalid.sf-is-invisible.sf-is-loading.sf-is-open.sf-is-pending.sf-is-pressed.sf-is-readonly.sf-is-selected.sf-is-skeleton.sf-is-success.sf-is-valid.sf-is-visible.sf-is-warning.sf-color-pulse.sf-entrance--fade.sf-entrance--fade-down.sf-entrance--fade-left.sf-entrance--fade-right.sf-entrance--fade-up.sf-entrance--scale-up.sf-exit--fade.sf-exit--fade-down.sf-exit--fade-left.sf-exit--fade-right.sf-exit--fade-up.sf-exit--scale-down.sf-fade-in.sf-fade-out.sf-scale-down.sf-scale-up.sf-slide-in-down.sf-slide-in-left.sf-slide-in-right.sf-slide-in-up.sf-stagger.no-motion.sf-clickable-parent.sf-clickable-parent__overlay.sf-focus-parent.sf-focus-shadow.skip-link.sr-only.sr-only-focusable.no-print.print-color-exact.print-no-color.print-only.sf-theme-dark.sf-theme-light.sf-theme-transition--sf-* token — knob and consumption, all tiers — with its live computed value (filled by JS). Toggle the theme or the override in the toolbar and watch every value recompute. Tokens that resolve to a colour, length, shadow, gradient, type or motion value also show a visual.--sf-color-action--sf-color-action--active--sf-color-action--hover--sf-color-action-100--sf-color-action-200--sf-color-action-300--sf-color-action-400--sf-color-action-50--sf-color-action-500--sf-color-action-600--sf-color-action-700--sf-color-action-800--sf-color-action-900--sf-color-action-950--sf-color-action-a10--sf-color-action-a30--sf-color-action-a5--sf-color-action-a50--sf-color-action-a80--sf-color-action-darker--sf-color-action-lighter--sf-color-action-muted--sf-color-action-source-dark--sf-color-action-source-light--sf-color-action-subtle--sf-color-action-superdark--sf-color-action-superlight--sf-color-action-tint--sf-color-action-xdark--sf-color-action-xlight--sf-color-base--sf-color-base--active--sf-color-base--hover--sf-color-base-100--sf-color-base-200--sf-color-base-300--sf-color-base-400--sf-color-base-50--sf-color-base-500--sf-color-base-600--sf-color-base-700--sf-color-base-800--sf-color-base-900--sf-color-base-950--sf-color-base-a10--sf-color-base-a30--sf-color-base-a5--sf-color-base-a50--sf-color-base-a80--sf-color-base-muted--sf-color-base-source-dark--sf-color-base-source-light--sf-color-base-subtle--sf-color-base-tint--sf-color-bg--sf-color-bg--active--sf-color-bg--disabled--sf-color-bg--focus--sf-color-bg--hover--sf-color-bg--selected--sf-color-black--sf-color-border--sf-color-border--disabled--sf-color-border--focus--sf-color-border--strong--sf-color-border--subtle--sf-color-border--translucent--sf-color-code-bg--sf-color-code-text--sf-color-danger--sf-color-danger-muted--sf-color-danger-source-dark--sf-color-danger-source-light--sf-color-danger-strong--sf-color-danger-subtle--sf-color-danger-tint--sf-color-dim--sf-color-heading--sf-color-info--sf-color-info-muted--sf-color-info-source-dark--sf-color-info-source-light--sf-color-info-strong--sf-color-info-subtle--sf-color-info-tint--sf-color-inset--sf-color-inverse--sf-color-link--sf-color-link--active--sf-color-link--disabled--sf-color-link--hover--sf-color-link--underline--sf-color-link--visited--sf-color-mark-bg--sf-color-mark-text--sf-color-neutral--sf-color-neutral--active--sf-color-neutral--hover--sf-color-neutral-100--sf-color-neutral-200--sf-color-neutral-300--sf-color-neutral-400--sf-color-neutral-50--sf-color-neutral-500--sf-color-neutral-600--sf-color-neutral-700--sf-color-neutral-800--sf-color-neutral-900--sf-color-neutral-950--sf-color-neutral-a10--sf-color-neutral-a30--sf-color-neutral-a5--sf-color-neutral-a50--sf-color-neutral-a80--sf-color-neutral-darker--sf-color-neutral-lighter--sf-color-neutral-muted--sf-color-neutral-source-dark--sf-color-neutral-source-light--sf-color-neutral-subtle--sf-color-neutral-superdark--sf-color-neutral-superlight--sf-color-neutral-tint--sf-color-neutral-xdark--sf-color-neutral-xlight--sf-color-overlay--sf-color-primary--sf-color-primary--active--sf-color-primary--hover--sf-color-primary-100--sf-color-primary-200--sf-color-primary-300--sf-color-primary-400--sf-color-primary-50--sf-color-primary-500--sf-color-primary-600--sf-color-primary-700--sf-color-primary-800--sf-color-primary-900--sf-color-primary-950--sf-color-primary-a10--sf-color-primary-a30--sf-color-primary-a5--sf-color-primary-a50--sf-color-primary-a80--sf-color-primary-darker--sf-color-primary-lighter--sf-color-primary-muted--sf-color-primary-source-dark--sf-color-primary-source-light--sf-color-primary-subtle--sf-color-primary-superdark--sf-color-primary-superlight--sf-color-primary-tint--sf-color-primary-xdark--sf-color-primary-xlight--sf-color-raised--sf-color-scheme--sf-color-secondary--sf-color-secondary--active--sf-color-secondary--hover--sf-color-secondary-100--sf-color-secondary-200--sf-color-secondary-300--sf-color-secondary-400--sf-color-secondary-50--sf-color-secondary-500--sf-color-secondary-600--sf-color-secondary-700--sf-color-secondary-800--sf-color-secondary-900--sf-color-secondary-950--sf-color-secondary-a10--sf-color-secondary-a30--sf-color-secondary-a5--sf-color-secondary-a50--sf-color-secondary-a80--sf-color-secondary-darker--sf-color-secondary-lighter--sf-color-secondary-muted--sf-color-secondary-source-dark--sf-color-secondary-source-light--sf-color-secondary-subtle--sf-color-secondary-superdark--sf-color-secondary-superlight--sf-color-secondary-tint--sf-color-secondary-xdark--sf-color-secondary-xlight--sf-color-selection-bg--sf-color-selection-bg--alt--sf-color-selection-text--sf-color-selection-text--alt--sf-color-success--sf-color-success-muted--sf-color-success-source-dark--sf-color-success-source-light--sf-color-success-strong--sf-color-success-subtle--sf-color-success-tint--sf-color-surface--sf-color-tertiary--sf-color-tertiary--active--sf-color-tertiary--hover--sf-color-tertiary-100--sf-color-tertiary-200--sf-color-tertiary-300--sf-color-tertiary-400--sf-color-tertiary-50--sf-color-tertiary-500--sf-color-tertiary-600--sf-color-tertiary-700--sf-color-tertiary-800--sf-color-tertiary-900--sf-color-tertiary-950--sf-color-tertiary-a10--sf-color-tertiary-a30--sf-color-tertiary-a5--sf-color-tertiary-a50--sf-color-tertiary-a80--sf-color-tertiary-darker--sf-color-tertiary-lighter--sf-color-tertiary-muted--sf-color-tertiary-source-dark--sf-color-tertiary-source-light--sf-color-tertiary-subtle--sf-color-tertiary-superdark--sf-color-tertiary-superlight--sf-color-tertiary-tint--sf-color-tertiary-xdark--sf-color-tertiary-xlight--sf-color-text--sf-color-text--disabled--sf-color-text--inverse--sf-color-text--muted--sf-color-text--on-action--sf-color-text--on-base--sf-color-text--on-danger--sf-color-text--on-info--sf-color-text--on-inverse--sf-color-text--on-neutral--sf-color-text--on-primary--sf-color-text--on-secondary--sf-color-text--on-success--sf-color-text--on-tertiary--sf-color-text--on-warning--sf-color-text--placeholder--sf-color-text--secondary--sf-color-warning--sf-color-warning-muted--sf-color-warning-source-dark--sf-color-warning-source-light--sf-color-warning-strong--sf-color-warning-subtle--sf-color-warning-tint--sf-color-white--sf-gradient-action--sf-gradient-brand--sf-gradient-fade--b--sf-gradient-fade--l--sf-gradient-fade--r--sf-gradient-fade--t--sf-gradient-primary--sf-gradient-secondary--sf-gradient-surface--sf-gradient-tertiary--sf-shadow-2xl--sf-shadow-color adv--sf-shadow-glow--sf-shadow-glow-color adv--sf-shadow-inner--sf-shadow-l--sf-shadow-lightness--sf-shadow-m--sf-shadow-none--sf-shadow-s--sf-shadow-strength adv--sf-shadow-xl--sf-shadow-xs--sf-drop-shadow-l--sf-drop-shadow-m--sf-drop-shadow-s--sf-drop-shadow-xl--sf-drop-shadow-xs--sf-radius-2xl--sf-radius-2xs--sf-radius-3xl--sf-radius-4xl--sf-radius-full--sf-radius-l--sf-radius-m--sf-radius-none--sf-radius-outer adv--sf-radius-pill--sf-radius-s--sf-radius-scale adv--sf-radius-xl--sf-radius-xs--sf-space-2xl--sf-space-2xs--sf-space-3xl--sf-space-4xl--sf-space-base-max adv--sf-space-base-min adv--sf-space-l--sf-space-m--sf-space-none--sf-space-px--sf-space-ratio-max adv--sf-space-ratio-min adv--sf-space-s--sf-space-scale adv--sf-space-xl--sf-space-xs--sf-size-l--sf-size-m--sf-size-s--sf-size-xl--sf-size-xs--sf-text-2xl--sf-text-2xl-font-weight--sf-text-2xl-letter-spacing--sf-text-2xl-line-height--sf-text-2xl-max-width--sf-text-2xs--sf-text-2xs-font-weight--sf-text-2xs-letter-spacing--sf-text-2xs-line-height--sf-text-2xs-max-width--sf-text-3xl--sf-text-3xl-font-weight--sf-text-3xl-letter-spacing--sf-text-3xl-line-height--sf-text-3xl-max-width--sf-text-4xl--sf-text-4xl-font-weight--sf-text-4xl-letter-spacing--sf-text-4xl-line-height--sf-text-4xl-max-width--sf-text-base-max adv--sf-text-base-min adv--sf-text-display-base-max adv--sf-text-display-base-min adv--sf-text-display-l--sf-text-display-m--sf-text-display-s--sf-text-display-scale adv--sf-text-l--sf-text-l-font-weight--sf-text-l-letter-spacing--sf-text-l-line-height--sf-text-l-max-width--sf-text-m--sf-text-m-font-weight--sf-text-m-letter-spacing--sf-text-m-line-height--sf-text-m-max-width--sf-text-ratio-max adv--sf-text-ratio-min adv--sf-text-s--sf-text-s-font-weight--sf-text-s-letter-spacing--sf-text-s-line-height--sf-text-s-max-width--sf-text-scale adv--sf-text-shadow-l--sf-text-shadow-m--sf-text-shadow-none--sf-text-shadow-s--sf-text-shadow-xl--sf-text-shadow-xs--sf-text-xl--sf-text-xl-font-weight--sf-text-xl-letter-spacing--sf-text-xl-line-height--sf-text-xl-max-width--sf-text-xs--sf-text-xs-font-weight--sf-text-xs-letter-spacing--sf-text-xs-line-height--sf-text-xs-max-width--sf-font-body--sf-font-display--sf-font-features adv--sf-font-geometric--sf-font-heading--sf-font-humanist--sf-font-mono--sf-font-numeric--sf-font-slab--sf-font-variation adv--sf-font-weight-body--sf-font-weight-bold--sf-font-weight-display--sf-font-weight-heading--sf-font-weight-interactive--sf-font-weight-light--sf-font-weight-medium--sf-font-weight-normal--sf-font-weight-semibold--sf-font-weight-strong--sf-leading-normalAa Bb
Cc Dd
--sf-leading-relaxedAa Bb
Cc Dd
--sf-leading-snugAa Bb
Cc Dd
--sf-leading-taper advAa Bb
Cc Dd
--sf-leading-tightAa Bb
Cc Dd
--sf-tracking-normal--sf-tracking-tight--sf-tracking-wide--sf-tracking-wider--sf-tracking-widest--sf-duration-fast--sf-duration-instant--sf-duration-none--sf-duration-normal--sf-duration-slow--sf-duration-slower--sf-ease-bounce--sf-ease-elastic--sf-ease-in--sf-ease-in-out--sf-ease-linear--sf-ease-out--sf-ease-overshoot--sf-ease-spring--sf-transition-colors--sf-transition-enter--sf-transition-exit--sf-transition-fast--sf-transition-form-field--sf-transition-opacity--sf-transition-overlay--sf-transition-shadow--sf-transition-slow--sf-transition-transform--sf-animation-blink--sf-animation-color-pulse--sf-animation-fade-in--sf-animation-fade-out--sf-animation-float--sf-animation-ping--sf-animation-scale-down--sf-animation-scale-up--sf-animation-shimmer--sf-animation-slide-in-down--sf-animation-slide-in-left--sf-animation-slide-in-right--sf-animation-slide-in-up--sf-animation-slide-out-down--sf-animation-slide-out-left--sf-animation-slide-out-right--sf-animation-slide-out-up--sf-animation-spin--sf-border--sf-border-scale--sf-border-strong--sf-border-style--sf-border-subtle--sf-border-width-1--sf-border-width-2--sf-border-width-3--sf-border-width-4--sf-border-width-hairline--sf-focus-ring-color--sf-focus-ring-offset--sf-focus-ring-shadow adv--sf-focus-ring-style--sf-focus-ring-width--sf-opacity-disabled--sf-opacity-muted--sf-blur--sf-z-base--sf-z-below--sf-z-dropdown--sf-z-fixed--sf-z-modal--sf-z-overlay--sf-z-raised--sf-z-sticky--sf-z-toast--sf-z-tooltip--sf-alternate-gap--sf-alternate-inner-gap--sf-aspect--sf-bento-cols-default--sf-bento-gap--sf-bento-row-compact--sf-bento-row-default--sf-bento-row-tall--sf-bg-layer-fit--sf-bg-layer-inset--sf-bg-layer-position--sf-bg-layer-radius--sf-bg-layer-z--sf-body-color--sf-body-em-style--sf-body-font-family--sf-body-font-size--sf-body-font-weight--sf-body-line-height--sf-body-strong-weight--sf-body-text-wrap--sf-box-border-color--sf-box-border-width--sf-box-padding--sf-breakout-width--sf-btn-border-width--sf-btn-font-scale--sf-btn-font-size adv--sf-btn-font-weight--sf-btn-gap--sf-btn-l-font-size--sf-btn-l-min-height--sf-btn-l-padding-block--sf-btn-l-padding-inline--sf-btn-m-font-size--sf-btn-m-min-height--sf-btn-m-padding-block--sf-btn-m-padding-inline--sf-btn-min-height adv--sf-btn-padding-block adv--sf-btn-padding-inline adv--sf-btn-radius--sf-btn-s-font-size--sf-btn-s-min-height--sf-btn-s-padding-block--sf-btn-s-padding-inline--sf-btn-xl-font-size--sf-btn-xl-min-height--sf-btn-xl-padding-block--sf-btn-xl-padding-inline--sf-btn-xs-font-size--sf-btn-xs-min-height--sf-btn-xs-padding-block--sf-btn-xs-padding-inline--sf-card-avatar-size--sf-card-bg--sf-card-border-color--sf-card-border-width--sf-card-gap--sf-card-heading-size--sf-card-media-radius--sf-card-media-ratio--sf-card-padding--sf-card-radius--sf-card-radius-outer--sf-card-shadow--sf-card-shadow--elevated--sf-card-shadow--hover--sf-caret-color--sf-center-gutter--sf-center-max--sf-cluster-align--sf-cluster-gap--sf-cluster-justify--sf-code-font-size--sf-component-pad--sf-container-default--sf-container-full--sf-container-narrow--sf-container-prose--sf-container-wide--sf-content-gap--sf-content-intrinsic-size--sf-content-width--sf-contrast-bias adv--sf-contrast-threshold adv--sf-cover-min-height--sf-cover-padding--sf-current-font-weight--sf-density adv--sf-display-l-line-height--sf-display-m-line-height--sf-display-s-line-height--sf-divider-color--sf-divider-gap--sf-divider-style--sf-divider-width--sf-equal-gap--sf-equal-min-col--sf-equal-rule-color--sf-equal-rule-style--sf-equal-rule-width--sf-field-block--sf-field-padding-block--sf-field-padding-inline--sf-field-radius--sf-field-required-marker--sf-flow-space--sf-fluid-max-vw adv--sf-fluid-min-vw adv--sf-fluid-width--sf-frame-ratio--sf-gap--sf-grid-gap--sf-grid-min--sf-grid-min-2xl--sf-grid-min-l--sf-grid-min-m--sf-grid-min-s--sf-grid-min-xl--sf-grid-min-xs--sf-gutter--sf-h1-font-weight--sf-h1-letter-spacing--sf-h1-line-height--sf-h1-max-width--sf-h1-size--sf-h2-font-weight--sf-h2-letter-spacing--sf-h2-line-height--sf-h2-max-width--sf-h2-size--sf-h3-font-weight--sf-h3-letter-spacing--sf-h3-line-height--sf-h3-max-width--sf-h3-size--sf-h4-font-weight--sf-h4-letter-spacing--sf-h4-line-height--sf-h4-max-width--sf-h4-size--sf-h5-font-weight--sf-h5-letter-spacing--sf-h5-line-height--sf-h5-max-width--sf-h5-size--sf-h6-font-weight--sf-h6-letter-spacing--sf-h6-line-height--sf-h6-max-width--sf-h6-size--sf-header-height--sf-header-height-desktop--sf-header-height-mobile--sf-heading-color--sf-heading-font-family--sf-heading-text-wrap--sf-hover-grow-scale--sf-hover-lift--sf-hover-shrink-scale--sf-hover-slide--sf-icon-2xl--sf-icon-box-bg--sf-icon-box-border--sf-icon-box-pad--sf-icon-box-radius--sf-icon-l--sf-icon-m--sf-icon-s--sf-icon-xl--sf-icon-xs--sf-imposter-margin--sf-is-active adv--sf-is-current adv--sf-is-dark internal--sf-is-open adv--sf-is-pressed adv--sf-line-clamp--sf-link-external-label--sf-link-external-marker--sf-link-underline-offset--sf-link-underline-thickness--sf-lumlocker adv--sf-mask-scrim-end adv--sf-mask-scrim-start adv--sf-media-radius--sf-motion-scale adv--sf-object-fit--sf-object-position--sf-optical-sizing adv--sf-overlap-pull--sf-palette-mix-100 adv--sf-palette-mix-200 adv--sf-palette-mix-300 adv--sf-palette-mix-400 adv--sf-palette-mix-50 adv--sf-palette-mix-600 adv--sf-palette-mix-700 adv--sf-palette-mix-800 adv--sf-palette-mix-900 adv--sf-palette-mix-950 adv--sf-print-base-size adv--sf-print-page-margin adv--sf-print-page-size adv--sf-prose-block-margin--sf-prose-blockquote-border--sf-prose-blockquote-padding--sf-prose-figcaption-size--sf-prose-figure-margin--sf-prose-heading-gap--sf-prose-hr-margin--sf-prose-list-gap--sf-prose-marker-color--sf-prose-media-margin--sf-prose-media-radius--sf-prose-nested-list-gap--sf-prose-paragraph--sf-prose-table-pad--sf-ratio-3-2--sf-ratio-4-3--sf-ratio-cinema--sf-ratio-golden--sf-ratio-portrait--sf-ratio-square--sf-ratio-video--sf-reel-gap--sf-reel-height--sf-reel-item-width--sf-safe-bottom adv--sf-safe-left adv--sf-safe-right adv--sf-safe-top adv--sf-scrim-color--sf-scrim-direction--sf-scrim-gradient--sf-scrim-text-shadow--sf-scroll-shadow-size--sf-scroll-timeline-range-end adv--sf-scroll-timeline-range-exit-end--sf-scroll-timeline-range-exit-start--sf-scroll-timeline-range-start adv--sf-scrollbar-thumb--sf-scrollbar-track--sf-section-pad--sf-section-pad--2xl--sf-section-pad--l--sf-section-pad--m--sf-section-pad--s--sf-section-pad--xl--sf-section-pad--xs--sf-section-scale adv--sf-sidebar-gap--sf-sidebar-min-width--sf-sidebar-width--sf-stack-gap--sf-stagger-step--sf-state-pending-opacity--sf-sticky-offset--sf-sticky-offset-desktop--sf-sticky-offset-mobile--sf-surface-bg-animation--sf-surface-bg-attachment--sf-surface-bg-color--sf-surface-bg-image--sf-surface-bg-overlay--sf-surface-bg-position--sf-surface-bg-repeat--sf-surface-bg-size--sf-surface-color--sf-switcher-gap--sf-switcher-threshold--sf-theme-transition-duration--sf-touch-targetcontent
content
above
below
`; - if (n === 'sf-bg-layer') return `${ipsum}
Another paragraph.
${ipsum}
more.
one
two
three
${ipsum}
${ipsum}
${ipsum}
${ipsum}
.${esc(c.name)}${note}text-${s}Quick brown foxAa Bb
Cc Dd
${esc(t.name)}${tier}${vis ? `--sf-* token — knob and consumption, all tiers — with its live computed value (filled by JS). Toggle the theme or the override in the toolbar and watch every value recompute. Tokens that resolve to a colour, length, shadow, gradient, type or motion value also show a visual.${t.name.replace('--sf-', '')}`;
- return ` v${VERSION} · full bundle from jsDelivr CDN · ${bundledClassCount} classes · ${tokens.length} tokens (${knobs.length} configurable)
- ${banner} - -- All colours below are auto-derived from 11 overridden source tokens - (6 brand + 5 status) declared inline. Toggle dark mode to verify the relative-colour - dark derivations. Resize the window to verify fluid behaviour. -
- -Each brand/status colour exposes the same functional variant set: superlight · xlight · lighter · (base) · darker · xdark · superdark · hover · active · subtle · muted · tint plus strong for status colours.
--sf-color-text (primary)
---sf-color-text--secondary
---sf-color-text--muted
---sf-color-text--placeholder
---sf-color-text--disabled
---sf-color-heading
---sf-color-border--sf-color-border--subtle--sf-color-border--strong--sf-color-border--focus--sf-color-border--disabled--sf-color-border--translucentinline code (--sf-color-code-bg / -text)
- mark (--sf-color-mark-bg)
- selection sample
- Each region re-declares mode-sensitive tokens, so colours/text/borders switch per section.
- -data-theme="dark"data-theme="light" nested in darktight (1.1)
- Lorem ipsum dolor sit amet consectetur adipiscing elit sed do.
-snug (1.3)
- Lorem ipsum dolor sit amet consectetur adipiscing elit sed do.
-normal (1.5)
- Lorem ipsum dolor sit amet consectetur adipiscing elit sed do.
-relaxed (1.625)
- Lorem ipsum dolor sit amet consectetur adipiscing elit sed do.
-
- strong, em, mark, code,
- Ctrl + C, CSS,
- H2O, E=mc2, small,
- link, deleted, inserted
-
:root {
- --sf-color-primary-light: oklch(0.55 0.22 160);
-}
- - A blockquote — select this text to verify selection colour. --
Fluid tokens use clamp() — resize to animate.
-Hover a row to trigger the transition; the easing/duration token is named on the left.
- -top
-bottom
-top
-bottom
-standard order
flipped
standard
Normal content column.
-Back to content column.
-A .sf-imposter--fixed element is positioned relative to the viewport:
Inline icon scales with font-size: Text inline
-This is a very long single line that will be truncated with an ellipsis once it overflows its inline size box.
-Two-line clamp. Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua ut enim.
-Three-line clamp. Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua ut enim ad minim veniam quis nostrud exercitation.
-Four-line clamp (--sf-line-clamp: 4). Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua ut enim ad minim veniam quis nostrud exercitation ullamco laboris.
- -| Item A | 1,234.50 |
| Item B | 9,876.10 |
| Item C | 42.00 |
Automatic vertical rhythm for long-form content. Direct children get spacing automatically.
-A blockquote inside prose gets consistent spacing.-
Back to prose body.
-First (no top margin)
-Second (gets flow-space)
-Third (gets flow-space)
-Scroll this box. Fade masks appear at top and bottom edges.
-Line 2
Line 3
Line 4
Line 5
Line 6
Line 7 (bottom)
-This section uses content-visibility: auto to skip offscreen rendering.
Positioning helpers: .sf-sticky and .sf-overlay are demonstrated below.
The skip link at the very top of the page uses .sr-only-focusable — Tab from the address bar to reveal it.
All motion is gated behind prefers-reduced-motion: no-preference.
Drag the resize handle (bottom-right) to change the container width and watch the box react — no media queries.
-In engines that support animation-timeline: view() these animate as they scroll into view; elsewhere they fall back to a one-shot time animation.
light-dark()Select this paragraph to see ::selection using --sf-color-selection-bg. The framework also sets --sf-scrollbar-thumb / --sf-scrollbar-track.
Scrollable region — note the themed scrollbar.
-tall content…
-Tab through these to see --sf-focus-ring-* (color/width/offset/style) and the box-shadow ring variant.
Framework declares layer order: slashed.reset, slashed.tokens, slashed.base, slashed.themes, slashed.layout, slashed.components, slashed.macros, slashed.states, slashed.motion, slashed.accessibility, slashed.forms, slashed.utilities, slashed.overrides. Registered @property custom properties (e.g. --sf-is-dark, --sf-is-active) drive interpolation and conditional logic.
--sf-is-dark, --sf-is-open, --sf-is-active, --sf-is-pressed, --sf-is-current--sf-scroll-shadow-size: 3rem
-tall…
-Use the browser Print Preview (Ctrl/Cmd+P) to verify the slashed.print layer: optimized page margins (--sf-print-page-margin), base size (--sf-print-base-size), and external-link URL expansion.
This is an external link — in print, its URL is appended after the text.
-Enable OS "increase contrast" to see --sf-contrast-bias auto-raise and borders thicken. Enable "reduce motion" to see all animations on page 4 go inert.
prefers-contrast: more.Every --sf-* token resolved live via getComputedStyle. Colour-valued tokens show a swatch; toggle dark mode to verify auto-derivation across modes. Filter by name below.
- Manual visual-coverage pages exercising every framework feature against
- the published slashed.full.css bundle. Each page is a
- standalone document with its own page-scoped token overrides, so they
- are kept as separate files and linked from here.
-
- The automated coverage guarantee lives in tests/ (Playwright)
- against docs/demo.html; these pages are for manual review.
-
- Each CQ layout is shown at three explicit widths (384 px / 608 px / 800 px) inside
- container-type: inline-size wrappers. Font-size is pinned to 16 px so
- 30 em = 480 px and 48 em = 768 px are stable. The alternate layout is self-sizing
- (named container). Toggle theme to verify dark/light token switching.
-
- .sf-bento uses unnamed @container queries
- so it reads its ancestor container's width.
- • ≤29.99em → 1 col • 30–47.99em → 2 cols • ≥48em → default 4 cols
-
- JS ✓/✗ badges use gridTemplateColumns to count explicit columns.
- Plain children only (no sf-bento-wide) to avoid implicit track noise.
-
384 px (24 rem) → expect 1 col
-608 px (38 rem) → expect 2 cols
-800 px (50 rem) → expect 4 cols
-24 rem → all collapse to 1 col (CQ override)
---2
---3
---6
-38 rem → all forced to 2 col by CQ
---2
---3
---6
-full width → each uses its own col count
---2
---3
---6
-
- .sf-grid-cols-2/3/4/6 use unnamed @container
- queries — same ancestor-width rule as bento.
- • ≥30em: 4-col→2col, 6-col→3col • ≥48em: full target columns
-
24 rem → all single-column (below 30em)
-sf-grid-cols-2
-sf-grid-cols-3
-sf-grid-cols-4
-sf-grid-cols-6
-38 rem → 4-col→2 cols, 6-col→3 cols (30–48em range)
-sf-grid-cols-2 (still 1 col — breaks at 48em)
-sf-grid-cols-3 (still 1 col — breaks at 48em)
-sf-grid-cols-4 → 2 cols
-sf-grid-cols-6 → 3 cols
-full width → all at target column count
-sf-grid-cols-2 → 2 cols
-sf-grid-cols-3 → 3 cols
-sf-grid-cols-4 → 4 cols
-sf-grid-cols-6 → 6 cols
-24 rem → all single-column (below 48em)
-38 rem → still single-column (below 48em)
-full width → two-column with correct ratios
-
- .sf-alternate uses @container sf-alternate (min-width: 48em)
- — a named query so it responds to its OWN inline-size, no ancestor needed.
- • Below 48em → stacked (single column per row) • ≥48em → 2 cols, even rows reversed
-
24 rem → single-column (stacked)
-38 rem → still stacked (below 48em)
-full width → 2-col zigzag; even rows (2nd) flip image right
-
- Outer container is narrow (24rem). Bento creates its named sf-bento
- context. The alternate inside should still query its OWN width (also 24rem here),
- so it should stay stacked — not get confused by the bento's container context.
-
- Each [data-theme] block auto-resets its own background and text color.
- Swatches show resolved token values — they must visually differ between light and dark zones.
-
data-theme="light" (level 1)
-
- Text is var(--sf-color-text). Should be dark on a light background.
-
data-theme="dark" (level 2)
-- Should be dark background, light text. Primary should be lighter/brighter. -
- - -data-theme="light" (level 3 — inside dark)
-- Should revert to light theme. Same visual as level 1. -
- - -no data-theme (level 4 — inherits level 3 light)
-- No theme set — should inherit light from parent. - Background is transparent so the parent's bg shows through. -
-data-theme="dark" (level 4 — nested dark inside light)
-- Should be dark again. 4 levels deep — dark/light/light/dark. -
-no data-theme (level 3 — inherits level 2 dark)
-- No theme set — should look dark (inherits L2). -
-data-theme="dark" (level 2, sibling — isolated from sibling above)
-- Sibling dark block — should also be dark, independent of the previous block. -
-light
- -dark
- -