Architecture, brand system, business plans, governance/licensing, guides, integrations, marketing, operations, technology specs, strategy, whitepapers, roadmaps, and reference materials. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
264 lines
6.8 KiB
CSS
264 lines
6.8 KiB
CSS
/**
|
|
* ═══════════════════════════════════════════════════════
|
|
* BLACKROAD OS — OFFICIAL DESIGN SYSTEM
|
|
* ═══════════════════════════════════════════════════════
|
|
*
|
|
* ⚠️ IMPORTANT: THIS IS THE ONLY APPROVED DESIGN SYSTEM
|
|
*
|
|
* DO NOT CREATE DESIGNS OUTSIDE OF THIS SYSTEM.
|
|
* ALL CLOUDFLARE PROJECTS MUST USE THESE EXACT VALUES.
|
|
*
|
|
* Brand Colors, Spacing, Typography, Animations
|
|
* Source: blackroad-template-01-homepage.html
|
|
*
|
|
* ═══════════════════════════════════════════════════════
|
|
*/
|
|
|
|
:root {
|
|
/* ========== BRAND COLORS (OFFICIAL) ========== */
|
|
--black: #000000;
|
|
--deep-black: #0A0A0A;
|
|
--charcoal: #1A1A1A;
|
|
--white: #FFFFFF;
|
|
--sunrise-orange: #FF9D00;
|
|
--warm-orange: #FF6B00;
|
|
--hot-pink: #FF0066;
|
|
--electric-magenta: #FF006B;
|
|
--deep-magenta: #D600AA;
|
|
--vivid-purple: #7700FF;
|
|
--cyber-blue: #0066FF;
|
|
|
|
/* ========== BRAND GRADIENTS ========== */
|
|
--gradient-br: linear-gradient(180deg,
|
|
var(--sunrise-orange) 0%,
|
|
var(--warm-orange) 25%,
|
|
var(--hot-pink) 75%,
|
|
var(--electric-magenta) 100%
|
|
);
|
|
--gradient-os: linear-gradient(180deg,
|
|
var(--electric-magenta) 0%,
|
|
var(--deep-magenta) 25%,
|
|
var(--vivid-purple) 75%,
|
|
var(--cyber-blue) 100%
|
|
);
|
|
--gradient-full: linear-gradient(180deg,
|
|
var(--sunrise-orange) 0%,
|
|
var(--warm-orange) 14%,
|
|
var(--hot-pink) 28%,
|
|
var(--electric-magenta) 42%,
|
|
var(--deep-magenta) 57%,
|
|
var(--vivid-purple) 71%,
|
|
var(--cyber-blue) 100%
|
|
);
|
|
--gradient-brand: var(--gradient-full);
|
|
|
|
/* ========== GOLDEN RATIO SPACING ========== */
|
|
--phi: 1.618;
|
|
--space-xs: 8px;
|
|
--space-sm: 13px;
|
|
--space-md: 21px;
|
|
--space-lg: 34px;
|
|
--space-xl: 55px;
|
|
--space-2xl: 89px;
|
|
--space-3xl: 144px;
|
|
|
|
/* ========== ANIMATIONS ========== */
|
|
--ease: cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
--ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
}
|
|
|
|
/* ========== RESET ========== */
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
body {
|
|
font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Courier New', monospace;
|
|
background: var(--deep-black);
|
|
color: var(--white);
|
|
overflow-x: hidden;
|
|
line-height: 1.618;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
/* ========== TYPOGRAPHY ========== */
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-weight: 600;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
h1 { font-size: calc(2.5rem * var(--phi)); }
|
|
h2 { font-size: calc(2rem * var(--phi)); }
|
|
h3 { font-size: calc(1.5rem * var(--phi)); }
|
|
h4 { font-size: calc(1.25rem * var(--phi)); }
|
|
h5 { font-size: calc(1rem * var(--phi)); }
|
|
h6 { font-size: 1rem; }
|
|
|
|
/* ========== BUTTONS ========== */
|
|
.btn {
|
|
padding: var(--space-sm) var(--space-lg);
|
|
border-radius: var(--space-xs);
|
|
border: none;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.3s var(--ease);
|
|
}
|
|
|
|
.btn-primary {
|
|
background: var(--gradient-brand);
|
|
color: var(--white);
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 10px 25px rgba(255, 157, 0, 0.3);
|
|
}
|
|
|
|
.btn-secondary {
|
|
background: transparent;
|
|
color: var(--white);
|
|
border: 2px solid var(--white);
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
background: var(--white);
|
|
color: var(--black);
|
|
}
|
|
|
|
/* ========== CARDS ========== */
|
|
.card {
|
|
background: rgba(255, 255, 255, 0.05);
|
|
backdrop-filter: blur(10px);
|
|
border-radius: var(--space-md);
|
|
padding: var(--space-xl);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
/* ========== NAVIGATION ========== */
|
|
nav {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 1000;
|
|
padding: var(--space-md) var(--space-xl);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background: rgba(0, 0, 0, 0.85);
|
|
backdrop-filter: saturate(180%) blur(20px);
|
|
}
|
|
|
|
/* ========== SCROLL PROGRESS ========== */
|
|
.scroll-progress {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
height: 2px;
|
|
background: var(--gradient-brand);
|
|
z-index: 9999;
|
|
width: 0%;
|
|
}
|
|
|
|
/* ========== GRADIENTS ========== */
|
|
.gradient-text {
|
|
background: var(--gradient-brand);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
.gradient-border {
|
|
position: relative;
|
|
background: var(--black);
|
|
}
|
|
|
|
.gradient-border::before {
|
|
content: '';
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: inherit;
|
|
padding: 2px;
|
|
background: var(--gradient-brand);
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
}
|
|
|
|
/* ========== ANIMATIONS ========== */
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(20px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slideInLeft {
|
|
from { opacity: 0; transform: translateX(-30px); }
|
|
to { opacity: 1; transform: translateX(0); }
|
|
}
|
|
|
|
@keyframes slideInRight {
|
|
from { opacity: 0; transform: translateX(30px); }
|
|
to { opacity: 1; transform: translateX(0); }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0.5; }
|
|
}
|
|
|
|
@keyframes float {
|
|
0%, 100% { transform: translateY(0); }
|
|
50% { transform: translateY(-10px); }
|
|
}
|
|
|
|
/* ========== UTILITY CLASSES ========== */
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: 0 var(--space-xl);
|
|
}
|
|
|
|
.text-center { text-align: center; }
|
|
.text-left { text-align: left; }
|
|
.text-right { text-align: right; }
|
|
|
|
.mt-xs { margin-top: var(--space-xs); }
|
|
.mt-sm { margin-top: var(--space-sm); }
|
|
.mt-md { margin-top: var(--space-md); }
|
|
.mt-lg { margin-top: var(--space-lg); }
|
|
.mt-xl { margin-top: var(--space-xl); }
|
|
|
|
.mb-xs { margin-bottom: var(--space-xs); }
|
|
.mb-sm { margin-bottom: var(--space-sm); }
|
|
.mb-md { margin-bottom: var(--space-md); }
|
|
.mb-lg { margin-bottom: var(--space-lg); }
|
|
.mb-xl { margin-bottom: var(--space-xl); }
|
|
|
|
.flex { display: flex; }
|
|
.flex-col { flex-direction: column; }
|
|
.items-center { align-items: center; }
|
|
.justify-center { justify-content: center; }
|
|
.justify-between { justify-content: space-between; }
|
|
.gap-xs { gap: var(--space-xs); }
|
|
.gap-sm { gap: var(--space-sm); }
|
|
.gap-md { gap: var(--space-md); }
|
|
.gap-lg { gap: var(--space-lg); }
|
|
|
|
/* ========== RESPONSIVE ========== */
|
|
@media (max-width: 768px) {
|
|
h1 { font-size: calc(1.5rem * var(--phi)); }
|
|
h2 { font-size: calc(1.25rem * var(--phi)); }
|
|
h3 { font-size: calc(1rem * var(--phi)); }
|
|
|
|
.container {
|
|
padding: 0 var(--space-md);
|
|
}
|
|
}
|