Submatter/apps/web/styles/marketing.css
Randall Stillwell 6ccb060bea feat(second-brain): open self-hosted Obsidian for crews — harness-agnostic v0.1
- MCP create-backlog-item for natural language Plan/Epic/Task authoring
- Worker non-code: optional worktree + per-harness allowlist + doc_review→published
- Harness registry: harness_providers/role_harness_routes, WorkerAdapter (minimal|crewai|langgraph|remote-ag-ui), AG-UI POST /api/ag-ui, Settings → Harnesses with Test
- Plans tree: backlog.listTree + createPlan/Epic/Task + Start→Convoy, web CRUD without CLI
- Fleet: /fleet rollup across workspaces + SSE /api/fleet/events

Decision: docs/decisions/2026-08-25-second-brain-os-pivot.md
Convoy: .convoys/second-brain-os-v01

Co-authored-by: orchestrator
2026-08-25 16:20:53 -05:00

169 lines
3.5 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Submatter marketing v2 — Manifest (Exaggerated Minimal + E-Ink + Swiss grid) */
.marketing-theme {
--background: 45 20% 98%;
--foreground: 0 0% 4%;
--card: 0 0% 100%;
--card-foreground: 0 0% 4%;
--primary: 0 0% 4%;
--primary-foreground: 45 20% 98%;
--matter: 18 100% 50%;
--matter-foreground: 0 0% 4%;
--agent: 168 80% 32%;
--agent-foreground: 0 0% 100%;
--secondary: 45 10% 94%;
--secondary-foreground: 0 0% 4%;
--muted: 45 8% 94%;
--muted-foreground: 0 0% 40%;
--accent: 45 15% 92%;
--accent-foreground: 0 0% 4%;
--border: 0 0% 4%;
--border-light: 45 8% 88%;
--input: 45 8% 88%;
--ring: 18 100% 50%;
--hero: 0 0% 4%;
--hero-foreground: 45 20% 98%;
--hero-muted: 0 0% 62%;
--hero-border: 0 0% 18%;
--radius: 0px;
color-scheme: light;
}
.marketing-theme .font-display {
font-family: var(--font-display), system-ui, sans-serif;
}
.marketing-theme .font-marketing {
font-family: var(--font-marketing-sans), system-ui, sans-serif;
}
.marketing-theme .font-mono-brand {
font-family: var(--font-mono-brand), ui-monospace, monospace;
}
/* Paper grain (E-Ink texture) */
.marketing-paper-grain {
position: relative;
}
.marketing-paper-grain::after {
content: "";
pointer-events: none;
position: absolute;
inset: 0;
opacity: 0.035;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* Line waves divider (React Bits–inspired) */
.marketing-line-waves {
height: 1px;
background: repeating-linear-gradient(
90deg,
hsl(var(--foreground)) 0,
hsl(var(--foreground)) 8px,
transparent 8px,
transparent 16px
);
}
.marketing-line-waves-light {
background: repeating-linear-gradient(
90deg,
hsl(var(--hero-foreground) / 0.35) 0,
hsl(var(--hero-foreground) / 0.35) 8px,
transparent 8px,
transparent 16px
);
}
/* Soft aurora — warm signal only, no purple slop */
.marketing-aurora {
background:
radial-gradient(ellipse 50% 40% at 20% 30%, hsl(var(--matter) / 0.12), transparent 55%),
radial-gradient(ellipse 45% 35% at 80% 20%, hsl(var(--agent) / 0.08), transparent 50%),
hsl(var(--hero));
}
/* Marquee */
@keyframes marketing-marquee {
from {
transform: translateX(0);
}
to {
transform: translateX(-50%);
}
}
.marketing-marquee-track {
animation: marketing-marquee 40s linear infinite;
}
/* Grid field */
.marketing-grid-field {
background-image:
linear-gradient(hsl(var(--hero-foreground) / 0.04) 1px, transparent 1px),
linear-gradient(90deg, hsl(var(--hero-foreground) / 0.04) 1px, transparent 1px);
background-size: 48px 48px;
}
.marketing-hard-rule {
height: 4px;
background: hsl(var(--foreground));
}
.marketing-hard-rule-light {
height: 4px;
background: hsl(var(--hero-foreground));
}
@keyframes marketing-blink {
0%,
49% {
opacity: 1;
}
50%,
100% {
opacity: 0;
}
}
.marketing-cursor-blink {
animation: marketing-blink 1.1s step-end infinite;
}
@keyframes marketing-pulse-dot {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.4;
}
}
.marketing-pulse-dot {
animation: marketing-pulse-dot 2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
.marketing-marquee-track {
animation: none;
}
.marketing-cursor-blink,
.marketing-pulse-dot {
animation: none;
}
}