Brand System · Command Center · v1 · 2026-05-20

Cool by
default.

The one system every Drey site inherits. Dark, technical, alive. Open this first — match its tokens and modules exactly, and anything you build is on-brand without thinking.

00 · North Star

What this brand
is for.

An ops-room run by a systems architect with taste. Builder + security + "aura" energy, made visual. It says: this person ships things that actually work — and operates at a level you don't usually see.

SoulShips things that actually work. Three doors: learn from him, build with him, or have him build for you.
Feeling in 3sTechnical confidence + warmth. Not cold, not corporate, not a fashion house — a smart friend who builds hard systems.
Cool comes fromMotion + glow + structure. Never decoration. Static = "boring" = wrong.
NeverEmojis. Pure-black-no-color (too plain). Bright purple (reads gamer). Light/cream backgrounds. Private/under-NDA client work on any public surface.

01 · Tokens

The values.

Color — chosen with intent

Near-black + bone + gold. Gold is the only accent — quiet luxury: black + gold, bone as light. Used sparingly it reads as taste; the retired amber+cyan two-accent system is gone.

--bg#0B0B0D cool near-black. Competence + premium. ~85% of the surface.
--bg2#131318 panel / code / elevated surface.
--fg#F4F1EC bone white. Body + display.
--soft#7E7C84 meta, captions, secondary copy.
--gold#C2A878 GOLD — the one accent. Brand signal, headlines, the glow, key marks, live data. One signal at a time — never a fill.
--gold-hi#E4CC93 bright gold — emphasis, live numbers, hovers, link/code text.
--rule#2C2C34 hairline borders + faint blueprint grid (#1C1C24).

Type

Hero wordmarkUnbounded (800–900) — the "Drey." mark + billboard headlines. UPPERCASE, tracking ~-.02em, line-height ~.92. Heavy, rounded.
Headings / UISpace Grotesk (500–700) — section heads, big paragraphs, nav, buttons. The clean working voice.
Labels / captions / codeMartian Mono// labels, captions, code. The connective tissue that makes it feel built.
Three lanesHero (Unbounded) · headings/UI (Space Grotesk) · mono (Martian Mono). Each font owns its lane — don't blur them, don't add a fourth. More in the kit: 10 display fonts · 10 mono fonts.

Identity marks

Branded assets are the kit's, not freelance. Pull them verbatim from the live kit — never redraw them. Recolor the system around them; never restyle the marks themselves.

Loading tokenThe spinning minted-gold DREY coin — bear-bust front, "D" reverse, moving glint sweep, beveled gold rim. Every Drey site boots with it. Source: loader.html · drey-brand-kit.pages.dev/loader.
Mascot / faviconThe Drey bear — lean black bear, bone collared polo, gold round glasses + chain + "D". Favicon = the bear head. Source: drey-brand-kit.pages.dev/drey-bear.
RuleThese are fixed assets. If a component is branded (coin, bear, marks), port it from the kit exactly — never design your own version.

Spacing & motion

Gutter / maxclamp(18px,3.5vw,56px) · max width 1180px.
Section padclamp(44px,6vw,104px). Dense with live detail, never cramped.
Motion ruleMandatory. Boot, decode, counters, draw-in, magnetic, glow, scanlines. prefers-reduced-motion disables it.
Borders / corners1px hairlines only. 2-3px radius max. No drop shadows — only accent glow.

02 · Signature Modules

The 8 parts.

Drop these on any page and it's instantly Drey. Each one says something — don't add a 9th, compose with these.

Drop-in foundation — paste into every site's CSS

/* Drey Brand System — Command Center · Bone + Gold. Paste in :root */
:root{
  --bg:#0B0B0D; --bg2:#131318; --fg:#F4F1EC; --soft:#7E7C84;
  --gold:#C2A878; --gold-hi:#E4CC93; --gold-deep:#A98D5F; --rule:#2C2C34;
  --hero:"Unbounded",sans-serif; --disp:"Space Grotesk",sans-serif; --mono:"Martian Mono",monospace;
}
/* blueprint grid + scanlines — module 8, set on body */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.45;
  background-image:linear-gradient(#1C1C24 1px,transparent 1px),linear-gradient(90deg,#1C1C24 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(circle at 50% 0%,#000,transparent 80%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.26;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.16) 3px,transparent 4px)}

1 · Terminal boot — says: "built in a command line"

<div id="term"></div>
<script>
var term=document.getElementById('term');
var L={p:'drey@command ~ % ',c:'./boot',o:'builder · st. pete · systems online'};
var el=document.createElement('div'),s=document.createElement('span');
s.style.color='var(--gold)';s.textContent=L.p;el.appendChild(s);
var cm=document.createElement('span');el.appendChild(cm);term.appendChild(el);var i=0;
(function tc(){if(i<L.c.length){cm.textContent+=L.c[i++];setTimeout(tc,30+Math.random()*40);}
  else{var o=document.createElement('div');o.style.color='var(--soft)';o.textContent='  '+L.o;term.appendChild(o);}})();
</script>

2 · Decode-on-load — says: "this resolves out of noise"

// scrambles random chars, then resolves to the target word
function decode(el,target){
  var ch='ABCDEFGHJKLMNPQRSTUVWXYZ#%$&/<>_',f=0;
  var iv=setInterval(function(){var s='';
    for(var k=0;k<target.length;k++) s+=(f>k*3)?target[k]:ch[Math.floor(Math.random()*ch.length)];
    el.firstChild.nodeValue=s; f++;
    if(f>target.length*3+2){clearInterval(iv);el.firstChild.nodeValue=target+'.';}
  },52);
}
// usage: decode(document.getElementById('name'),'DREY');

3 · Live status panel — says: "I ship constantly, here's proof"

<div class="panel"><div class="ph">live_status <span class="cy">● streaming</span></div>
  <div class="stat">ships deployed <b id="s1">0</b></div>
  <div class="meter"><i id="m1"></i></div></div>
<script>// count-up; numbers + meter in gold
function an(id,b,suf){var el=document.getElementById(id),t0=performance.now();
  (function f(t){var p=Math.min((t-t0)/1400,1);el.textContent=(b%1?(b*p).toFixed(1):Math.round(b*p))+(suf||'');
    if(p<1)requestAnimationFrame(f);})(performance.now());}
an('s1',47);document.getElementById('m1').style.width='94%';
</script>

4 · Self-drawing node-graph — says: "everything connects into a system"

<svg viewBox="0 0 300 90">
  <path class="edge" d="M40 45 L150 45"/> // stroke-draws in
  <circle class="node" cx="150" cy="45" r="18"/> // build → drey → ship → aura
</svg>
/* CSS */ .edge{fill:none;stroke:var(--gold);stroke-width:1.3;
  stroke-dasharray:300;stroke-dashoffset:300;animation:draw 2s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.node{fill:var(--bg2);stroke:var(--gold);stroke-width:1.3;filter:drop-shadow(0 0 6px rgba(194,168,120,.4))}

02 · Modules 5–8

5 · Gradient ticker — says: "always moving, always shipping"

<div class="ticker"><div class="t" id="tk"></div></div>
/* CSS */ .ticker{background:linear-gradient(90deg,var(--gold-deep),var(--gold));color:var(--bg);overflow:hidden;white-space:nowrap}
.ticker .t{display:inline-block;padding:7px 0;font-family:var(--disp);font-weight:700;font-size:12px;
  text-transform:uppercase;animation:scr 24s linear infinite}@keyframes scr{to{transform:translateX(-50%)}}
<script>var it=['Ships things that work','Learn','Build with','Build for','Dottie','Trace','Aura'];
var h=it.map(function(t){return '<span>'+t+' &mdash;</span>'}).join('');
document.getElementById('tk').innerHTML=h+h;// doubled for seamless loop</script>

6 · Magnetic doors — says: "interactive, alive, pick one"

<a class="door"><span class="w mag">Learn</span></a>
<script>document.querySelectorAll('.mag').forEach(function(el){var p=el.parentElement;
  p.addEventListener('pointermove',function(e){var r=el.getBoundingClientRect();
    el.style.transform='translate('+((e.clientX-(r.left+r.width/2))*0.1)+'px,'+((e.clientY-(r.top+r.height/2))*0.16)+'px)';});
  p.addEventListener('pointerleave',function(){el.style.transform='translate(0,0)';});});</script>
/* .w needs: display:inline-block; transition:transform .18s ease,color .18s */

7 · Cursor glow — says: "warm light follows you"

<div class="glow" id="glow"></div>
/* CSS */ .glow{position:fixed;width:560px;height:560px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(194,168,120,.13),transparent 64%);transform:translate(-50%,-50%)}
<script>var g=document.getElementById('glow');
addEventListener('pointermove',function(e){g.style.left=e.clientX+'px';g.style.top=e.clientY+'px';},{passive:true});</script>

8 · Blueprint grid + scanlines — says: "ops room / under construction"

Included in the drop-in foundation above (the two body::before / body::after rules). Always on — it's the ambient texture that kills "plain."

03 · Voice

How it talks.

Short. Specific. Active. Like a smart friend who builds systems — never corporate, never hype.

Reading level7th-8th grade. Clarity over cleverness. If it wouldn't be said at a bar, rewrite it.
Sentence length8-14 words avg. Short sentences read like decisions.
VerbsShips. Builds. Books. Forwards. Active voice always.
Signature words"aura" (quality), "basically", "the thing is", "ships things that work". Fine to use sparingly in headers.
Never say"elevate", "unlock", "world-class", "passionate about", "leverage", "synergy", "seamless". No corporate-speak.
Mono captionsLowercase, technical: // select a process, ~/ships, live_status. They carry real info, never decoration.
No emojisEver. Use · > or mono glyphs instead.

04 · Apply it anywhere

The rules.

Every Drey site, page, OG image, deck, or social chrome starts here.

The ratioNear-black does ~85% of the work, bone carries the text, gold is ~5% — one signal per view. If it feels gold-heavy, cut it in half.
One accentGold is the only accent — brand, key signal, and live data all in one. Bone + soft carry everything else. No second accent (amber+cyan is retired).
Min motion per pageAt least 2 of the 8 modules. A static page fails the brand. Hero gets boot OR decode; add ticker / glow / magnetic as fits.
Personal onlyBone + Gold is Drey's personal brand — his own sites only. Products / clients (e.g. 1BB amber) keep their own brand. Never recolor a product to this.
AccessibilityBody bone #F4F1EC on #0B0B0D ≈ 17:1 (AAA). Gold #C2A878 passes WCAG AA at 14px+. Keep focus rings (gold outline).

Do / Don't

Do

  • Lead with billboard Unbounded, UPPERCASE, tight.
  • Boot or decode the hero — motion on load.
  • Use gold sparingly — one signal at a time.
  • Keep mono captions technical and lowercase.
  • Let gold glow behind key type and nodes.
  • Cite real ships: Dottie, Trace, 1BB.

Don't

  • No emojis. No light/cream backgrounds.
  • No amber+cyan (retired). No bright purple (gamer-coded).
  • No static pages — motion is the brand.
  • No gold as a fill or for body text. No fourth typeface, no drop shadows (glow only).
  • No corporate-speak in copy.
  • No private/under-NDA client work on public surfaces.

05 · Implementation

Wire it in.

Next.js + Tailwind is the default stack. Port the vars anywhere else.

Tailwind — tailwind.config.ts

export default {
  theme:{extend:{
    colors:{ bg:"#0B0B0D","bg-2":"#131318", fg:"#F4F1EC","fg-soft":"#7E7C84",
      gold:"#C2A878","gold-hi":"#E4CC93","gold-deep":"#A98D5F", rule:"#2C2C34" },
    fontFamily:{ hero:['Unbounded','sans-serif'], disp:['"Space Grotesk"','sans-serif'], mono:['"Martian Mono"','monospace'] },
    letterSpacing:{ tightest:'-.04em', tight2:'-.02em', wide2:'.2em' },
  }},
} satisfies import('tailwindcss').Config;

Next.js fonts — app/layout.tsx

import { Unbounded, Space_Grotesk, Martian_Mono } from "next/font/google";
const hero = Unbounded({ subsets:["latin"], weight:["700","800","900"], variable:"--font-hero", display:"swap" });
const disp = Space_Grotesk({ subsets:["latin"], weight:["500","600","700"], variable:"--font-disp", display:"swap" });
const mono = Martian_Mono({ subsets:["latin"], weight:["400","500","700"], variable:"--font-mono", display:"swap" });
// body className: ${hero.variable} ${disp.variable} ${mono.variable} bg-bg text-fg font-mono

Start here

1. Paste the drop-in foundation CSS (Section 02) into :root + body.
2. Build the hero with module 1 (boot) or 2 (decode) + at least one more module.
3. Lean on near-black + bone; let gold appear once per view; follow the voice rules.
4. Reference the live flagship: ~/Desktop/drey-style-v2/mixes/MIX4-command-center.html.

This system is the floor, not the ceiling. Compose the 8 modules into new layouts — but every Drey surface should be recognizable as this in 3 seconds.