Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
Exploring non-standard border treatments for wireframe, grungy, and sketchy themes using SVG filters, border-image, and CSS techniques.
src/tokens/extensions/rough-borders.css
New tokens to add rough/sketchy border styles to themes.
| Token | Values |
|---|---|
--border-style |
solid | dashed | rough | sketchy | none |
--border-roughness |
0 | 1 | 2 | 3 (intensity level) |
Using feTurbulence + feDisplacementMap to create organic, hand-drawn edge effects.
Subtle wobble, good for subtle personality
Noticeable roughness, sketchy feel
Very rough, torn paper effect
<filter id="rough-light"> <feTurbulence type="fractalNoise" baseFrequency="0.04" numOctaves="2"/> <feDisplacementMap in="SourceGraphic" in2="noise" scale="2"/></filter> .card { filter: url(#rough-light); }
Using border-image with SVG patterns for hand-drawn border effects.
Bezier curves for wobbly edges
Variable dash pattern
Hand-drawn marker strokes
.sketch-border { border: 8px solid transparent; border-image: url("data:image/svg+xml,...") 10 stretch;}
Using mask-image to create torn or wavy edge effects.
Irregular top and bottom edges
Smooth sine wave pattern
.torn-edge { mask-image: url("data:image/svg+xml,..."); mask-size: 100% 100%;}
Using repeating gradients for dashed and dotted border patterns.
Repeating linear gradient
Radial gradient dots
.dashed-border { background: repeating-linear-gradient(90deg, var(--color-border) 0, var(--color-border) 8px, transparent 8px, transparent 16px ) 0 0 / 100% 3px no-repeat, var(--color-surface);}
Using layered box-shadows for sketchy and offset effects.
Layered offset shadows
Brutalist solid shadow
.sketch-shadow { box-shadow: 3px 3px 0 -1px var(--color-surface), 3px 3px 0 0 var(--color-border), 6px 6px 0 -1px var(--color-surface), 6px 6px 0 0 var(--color-border);}
Using ::before and ::after for decorative corner accents.
Decorative L-shapes at corners
Simulated masking tape
Click a style to apply it to the preview card.
Select a border style
Applying rough border techniques to interactive buttons.
Form inputs with sketchy border treatments.