Websites 6
All websitesIndex of all 6 Ruul websites examples
Products 14
All productsIndex of all 14 Ruul products examples
Flows 2
Ruul Add New Client
4 screens
Website sections 8
Design reference
Ruul — design reference
Source: https://ruul.io/. Extracted 2026-10-14. Scope: public marketing website CSS; declared styles, not computed browser values. This is an observed inventory, not an official internal design system.
Typography
font-family: Hedvig Letters Sans,system-ui,-apple-system,sans-serif— selectorbodyfont-family: "Hedvig Letters Serif",Georgia,serif— selectorh1,h2,h3,h4,h5,h6font-size: 100%— selectorbutton,input,optgroup,select,textareafont-size: 16px— selectorbodyfont-size: 1.5rem— selector.text-2xlfont-size: 1.875rem— selector.text-3xlfont-size: 2.25rem— selector.text-4xlfont-size: 3rem— selector.text-5xlfont-weight: 400— selectorbodyfont-weight: 500— selector.prose-headings:font-medium :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] _)))line-height: 1.5— selectorbodyline-height: 2rem— selector.text-2xlline-height: 2.25rem— selector.text-3xlline-height: 2.5rem— selector.text-4xlline-height: 1— selector.text-5xlline-height: 1.5rem— selector.text-baseline-height: 1.75rem— selector.text-lgletter-spacing: -.01em— selector.prose-headings:tracking-[-0.01em] :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] _)))
Colors and surfaces
color: #1a2018— selector.cascading-slider**buttoncolor: rgb(var(--color-ruul-ink))— selectorbodycolor: #000000a3— selector.text-[#000000a3]color: rgb(26 32 24 / var(--tw-text-opacity, 1))— selector.text-[#1A2018]color: #1a2018b3— selector.text-[#1A2018]/70color: #1a2018a3— selector.text-[#1a2018a3]color: rgb(136 136 136 / var(--tw-text-opacity, 1))— selector.text-[#888]background-color: #d3f969— selector.cascading-slider**buttonbackground-color: transparent— selectorbutton,input:where([type=button]),input:where([type=reset]),input:where([type=submit])background-color: rgb(var(--color-ruul-canvas))— selectorbodybackground-color: rgb(var(--color-ruul-forest-card))!important— selector.!bg-ruul-forest-cardbackground-color: rgb(var(--color-ruul-forest-card))— selector.bg-ruul-forest-cardbackground-color: rgb(var(--color-ruul-forest-card) / .4)— selector.bg-ruul-forest-card/40background-color: rgb(var(--color-ruul-forest-card) / .5)— selector.bg-ruul-forest-card/50
Components and layout
border-radius: .25em— selector.cascading-slider**buttonbox-shadow: none— selector:-moz-ui-invalidbox-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows)— selector.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] \*))box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)— selector.shadowbox-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)— selector.ringmax-width: 640px!important— selector.!containermax-width: 640px— selector.containermax-width: 768px!important— selector.!containermax-width: 768px— selector.containermax-width: 1024px!important— selector.!containermax-width: 1024px— selector.containermax-width: 1280px!important— selector.!containermax-width: 1280px— selector.containerpadding: .75em— selector.cascading-slider**buttonpadding: 0— selectorbutton,input,optgroup,select,textareagap: 1em— selector.cascading-slider**navgap: 2.5rem!important— selector.!gap-10gap: .125rem— selector.gap-0.5gap: .25rem— selector.gap-1gap: .375rem— selector.gap-1.5gap: 2.5rem— selector.gap-10gap: 3rem— selector.gap-12gap: 3.5rem— selector.gap-14transition: opacity .15s ease— selector.cascading-slider**button
Responsive rules
(min-width:640px)
(min-width:768px)
(min-width:1024px)
(min-width:1280px)
(min-width:1536px)
(prefers-reduced-motion:reduce)
not all and (min-width:640px)
(min-width:480px)
(min-width:490px)
(min-width:992px)















