Skip to contentPular para o conteúdo
Get StartedComeçar

Same markup, another voice.Mesma marcação, outra voz.

A Skin is a complete design-system model, not a palette. It changes colour, type, spacing, geometry, media and motion tokens together. The motion grammar stays the same.Uma Skin é um modelo completo de design system, não uma paleta. Ela muda cor, tipografia, espaçamento, geometria, mídia e tokens de movimento juntos. A gramática de movimento continua a mesma.

An empty cinema auditorium
Skin accentsAcentos da SkinSame markup, three accents.Mesma marcação, três acentos.

Core moves. Skins speak.O core se move. As Skins falam.

Three layers, each with one job. A Skin never adds behaviour and never needs JavaScript animation.Três camadas, cada uma com uma função. Uma Skin nunca adiciona comportamento e nunca precisa de JavaScript de animação.

DocumentedDocumentado
CoreCore
OwnsControla

Attributes, timelines, states, fallbacks, reduced motion.Atributos, timelines, estados, fallbacks, movimento reduzido.

Must not ownNão deve controlar

Brand, component anatomy, editorial layout.Marca, anatomia de componentes, layout editorial.

Skin
OwnsControla

Colour, type, spacing, grid, geometry, material, media, component voice, motion tokens.Cor, tipografia, espaçamento, grid, geometria, material, mídia, voz dos componentes, tokens de movimento.

Must not ownNão deve controlar

New behavioural attributes or JavaScript animation.Novos atributos de comportamento ou JavaScript de animação.

ShowcaseShowcase
OwnsControla

Narrative, examples, art direction, comparison.Narrativa, exemplos, direção de arte, comparação.

Must not ownNão deve controlar

Private framework behaviour or one-off inline APIs.Comportamento de framework privado ou APIs inline pontuais.

One card. Four states.Um cartão. Quatro estados.

The markup below never changes. Pick a state and watch type, hierarchy, media, anatomy and motion voice change together. These previews are built from each Skin's documented tokens, not from the final packages.A marcação abaixo nunca muda. Escolha um estado e veja tipografia, hierarquia, mídia, anatomia e voz de movimento mudarem juntas. Estas prévias são montadas a partir dos tokens documentados de cada Skin, não dos pacotes finais.

↓ Pick a Skin, then hover the motion box↓ Escolha uma Skin e passe o mouse sobre a caixa de movimento
Film lights on a set
Field notes · 4 minNotas de campo · 4 min

Light the scene, then let it move.Acenda a cena, depois deixe-a se mover.

Same markup in every state. Only tokens change: colour, type, spacing, geometry, media and motion.A mesma marcação em todos os estados. Só os tokens mudam: cor, tipografia, espaçamento, geometria, mídia e movimento.

Hover or focusPasse o mouse ou foque
CodeCódigo
<article class="card" vl-enter="clip-rise">
  <img src="…" alt="…">
  <h3>Light the scene, then let it move.</h3>
</article>
<!-- identical in every state -->

None is not a Skin: it is the host-controlled state that proves Motion Core works without any Velora visual model.Nenhuma não é uma Skin: é o estado controlado pelo host que prova que o Motion Core funciona sem nenhum modelo visual do Velora.

Every Skin maps the same families.Toda Skin mapeia as mesmas famílias.

A named Skin must define all of them before it can be promoted. Values below come from the Noir and Earth design documents.Uma Skin nomeada precisa definir todas elas antes de ser promovida. Os valores abaixo vêm dos documentos de design do Noir e do Earth.

DocumentedDocumentado
FamilyFamíliaVelora in developmentVelora em desenvolvimentoNoir betaEarth beta
ColourCorOlive on stone Oliva sobre pedra Kinetic green on near-black Verde cinético sobre quase-preto Deep green on cream Verde profundo sobre creme
Display typeTipografia de displayHeavy sans, tight trackingSans pesada, tracking justoSpace Grotesk 700, −0.03emSpace Grotesk 600, −0.02em
Body typeTipografia do corpoInter-style sansSans estilo InterManrope 400, 26px lineManrope 400, linha de 26pxManrope 400, 26px lineManrope 400, linha de 26px
SpacingEspaçamento8px base, wide editorial gapsBase de 8px, grandes vazios editoriais8px base, section 48px, card 24pxBase de 8px, seção 48px, cartão 24px8px base, section 48px, card 24pxBase de 8px, seção 48px, cartão 24px
GeometryGeometriaSquare, 18.4° corner cutQuadrado, corte de canto de 18,4°2 / 6 / 12px radiiRaios de 2 / 6 / 12px4 / 8 / 14px radiiRaios de 4 / 8 / 14px
DepthProfundidadeHairlines and cut edgesFiletes e bordas cortadasTonal glass, blur 12–24pxVidro tonal, blur de 12–24pxPaper stack, soft shadowsPilha de papel, sombras suaves
MediaMídiaCut crop, accent edgeCorte, borda de destaqueDarkened, cinematic ratioEscurecida, proporção cinematográficaNatural colour, calm ratioCor natural, proporção calma
MotionMovimento300ms, cut-reveal feel300ms, sensação de cut-reveal180 / 260 / 420 / 900ms · cubic-bezier(.22,1,.36,1)160 / 240 / 320 / 700ms · cubic-bezier(.4,0,.2,1)
Reduced motionMovimento reduzidoHonouredRespeitadoOpacity onlySomente opacidadeOpacity and colour onlySomente opacidade e cor

Depth as a token family.Profundidade como família de tokens.

Five elevation tiers with no offset and no angle: the blur grows and the shadow darkens as an element rises. Two variables retheme the whole family. It is a proposal and is not in the current stylesheet.Cinco níveis de elevação sem deslocamento e sem ângulo: o blur cresce e a sombra escurece conforme o elemento sobe. Duas variáveis retematizam a família inteira. É uma proposta e não está na folha de estilo atual.

↓ Switch the preset↓ Troque o preset
ProposedProposto
LowBaixoresting cardcartão em repouso
MediumMédiotooltip
HighAltomodal
FloatFlutuantehero panelpainel principal
GlowBrilhofocal surfacesuperfície focal
CodeCódigo
.tier { box-shadow: 0 0 calc(var(--depth-blur) * (1 + var(--n) * .35))
  color-mix(in oklab, var(--fg) calc(var(--depth-alpha) * (1 + var(--n) * .5) * 1%), transparent); }
/* --depth-blur  base blur of the lowest tier
   --depth-alpha  base opacity, in percent */

The current core already has --vl-shadow-sm, -md, -lg, -glow, -dramatic and -float, which use offsets. The names --vl-shadow-low to -glow and --vl-kinetic-blur proposed here are not in the stylesheet. If accepted, depth would become one more token family that a Skin maps.O core atual já tem --vl-shadow-sm, -md, -lg, -glow, -dramatic e -float, que usam deslocamentos. Os nomes --vl-shadow-low a -glow e --vl-kinetic-blur propostos aqui não estão na folha de estilo. Se aceita, a profundidade viraria mais uma família de tokens que uma Skin mapeia.

Three free. Five premium.Três grátis. Cinco premium.

Premium Skins are not in the public package. They are listed so you can see where the system is going, not as something you can install today.As Skins Premium não estão no pacote público. Elas aparecem para você ver para onde o sistema vai, não como algo que dá para instalar hoje.

FreeGrátis

Velora

The official Skin. Olive primary, cut structure.A Skin oficial. Oliva como cor principal, estrutura em corte.

In developmentEm desenvolvimento
FreeGrátis

Noir

Dark cinematic base, kinetic green, measured depth, long editorial landings.Base cinematográfica escura, verde cinético, profundidade medida, landings editoriais longas.

Beta
FreeGrátis

Earth

Warm light laboratory, organic spacing, softer geometry, restrained motion.Laboratório claro e quente, espaçamento orgânico, geometria mais suave, movimento contido.

Beta
Premium · waitlistPremium · lista de espera

Aethel

Architectural black, copper massing, dense grid, decisive motion.Preto arquitetônico, massas de cobre, grid denso, movimento decisivo.

Premium · waitlistPremium · lista de espera

Meridian

Terrain intelligence, cartographic lines, translucent fields, spatial drift.Inteligência de terreno, linhas cartográficas, campos translúcidos, deriva espacial.

Premium · waitlistPremium · lista de espera

Obsidian

Optical precision, cold electric-blue instrumentation, short exact motion.Precisão óptica, instrumentação azul-elétrico fria, movimento curto e exato.

Premium · waitlistPremium · lista de espera

Signal

Broadcast information system, explicit rules, signal-orange accents, fast directional motion.Sistema de informação de broadcast, regras explícitas, acentos laranja-sinal, movimento direcional rápido.

Premium · waitlistPremium · lista de espera

Lumen

Atmospheric spatial light, translucent surfaces, open spacing, long fluid motion.Luz espacial atmosférica, superfícies translúcidas, espaçamento aberto, movimento longo e fluido.

Premium Skins are not in the public package. Powered by Buttondown.As Skins Premium não estão no pacote público. Com tecnologia Buttondown.

Seven rules before a Skin ships.Sete regras antes de uma Skin ser publicada.

From the Skin Contract. They keep Skins from turning into private frameworks.Vindas do Contrato de Skins. Elas impedem que as Skins virem frameworks privados.

DocumentedDocumentado
  1. The same semantic markup stays understandable under every Skin.A mesma marcação semântica continua compreensível em qualquer Skin.
  2. Switching a Skin changes composition through tokens and documented recipes, never by forking Core behaviour.Trocar de Skin muda a composição por tokens e receitas documentadas, nunca bifurcando o comportamento do Core.
  3. Motion personality can change distance, duration and easing, and always honours prefers-reduced-motion.A personalidade de movimento pode mudar distância, duração e easing, e sempre respeita prefers-reduced-motion.
  4. A preview shows typography, hierarchy, media, component anatomy and motion voice, not only swatches.Uma prévia mostra tipografia, hierarquia, mídia, anatomia dos componentes e voz de movimento, não só amostras de cor.
  5. Showcase-local styling never becomes a hidden requirement for consumers.Estilos locais do Showcase nunca viram um requisito oculto para quem consome.
  6. A named Skin maps every required token family before promotion.Uma Skin nomeada mapeia todas as famílias de tokens obrigatórias antes de ser promovida.
  7. Skin switching and its persistence are never required for content or navigation to work.Trocar de Skin e persistir a escolha nunca é necessário para o conteúdo ou a navegação funcionarem.
CodeCódigo
<html data-editorial-theme="noir">
<!-- Selector for a named Skin. Each Skin declares its own light and dark intent. -->

Selection can be stored by Showcase and Docs as product-experience state. It is not part of Motion Core and must not block when storage is unavailable.A seleção pode ser guardada pelo Showcase e pela Docs como estado de experiência do produto. Não faz parte do Motion Core e não deve bloquear quando o armazenamento estiver indisponível.