Files
zooqueenandHanzo Dev bebec06427 docs: complete model-family coverage (all 95 models) + make the site buildable
- content/docs/models/{chat,coder,vision,omni,embeddings,rerankers,safety,
  image,video,audio,3d,agents,world,specialty}.mdx — one page per family with
  accurate spec tables (params/context) and weights + paper links for every
  one of the 95 Zen models (generated from the verified catalog, link-checked).
- meta.json orders the families; drop redundant single-model pages.
- Buildability fixes: next 16, @hanzo/docs-base-ui dep, collections/server
  import via .docs outDir, toSource(), pnpm overrides; monochrome ensō theme.

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-08 13:49:26 -07:00

133 lines
3.9 KiB
CSS

@import 'tailwindcss';
@import '@hanzo/docs-base-ui/css/neutral.css';
@import '@hanzo/docs-base-ui/css/preset.css';
/* Monochrome smoke-glass zen — dark by default, no light mode */
:root,
.dark {
--fd-primary: 245 245 246; /* near-white accent */
--fd-background: 0 0 0; /* pure black */
--fd-foreground: 245 245 246; /* ink-100 */
--fd-muted: 16 16 18; /* glass base */
--fd-muted-foreground: 150 150 156; /* ink-400 */
--fd-accent: 24 24 27; /* zinc-900 */
--fd-accent-foreground: 245 245 246;
--fd-border: 255 255 255 / 0.08;
--glass: rgba(255, 255, 255, 0.025);
--glass-strong: rgba(255, 255, 255, 0.05);
--glass-border: rgba(255, 255, 255, 0.08);
--glass-border-strong: rgba(255, 255, 255, 0.16);
--blur: blur(22px) saturate(120%);
--sheen: linear-gradient(135deg, #ffffff 0%, #d4d4d8 45%, #8a8a90 100%);
}
html, body {
background: #000;
color: rgb(245 245 246);
-webkit-font-smoothing: antialiased;
}
/* Drifting monochrome smoke */
body::before {
content: '';
position: fixed;
inset: -20vh -10vw;
z-index: -2;
background:
radial-gradient(38vw 38vw at 22% 8%, rgba(255, 255, 255, 0.05), transparent 60%),
radial-gradient(45vw 45vw at 85% 18%, rgba(255, 255, 255, 0.03), transparent 62%),
radial-gradient(50vw 40vw at 60% 100%, rgba(255, 255, 255, 0.028), transparent 65%);
filter: blur(30px);
animation: smoke-drift 28s ease-in-out infinite alternate;
pointer-events: none;
}
body::after {
content: '';
position: fixed;
inset: 0;
z-index: -1;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, transparent 18%),
radial-gradient(120% 80% at 50% -10%, transparent 60%, rgba(0, 0, 0, 0.6) 100%);
pointer-events: none;
}
@keyframes smoke-drift {
0% { transform: translate3d(-2%, -1%, 0) scale(1.02); opacity: 0.75; }
50% { transform: translate3d(2%, 1.5%, 0) scale(1.08); opacity: 1; }
100% { transform: translate3d(-1%, 2%, 0) scale(1.04); opacity: 0.8; }
}
@media (prefers-reduced-motion: reduce) {
body::before { animation: none; }
}
/* Reusable smoke-glass primitives for the landing hero */
.enso-glow { filter: drop-shadow(0 0 16px rgba(255, 255, 255, 0.2)); }
.sheen-text {
background: var(--sheen);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.glass-card {
background: var(--glass);
backdrop-filter: var(--blur);
-webkit-backdrop-filter: var(--blur);
border: 1px solid var(--glass-border);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 40px rgba(0, 0, 0, 0.45);
transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}
.glass-card:hover {
border-color: var(--glass-border-strong);
background: var(--glass-strong);
transform: translateY(-3px);
}
.btn-glass {
backdrop-filter: var(--blur);
-webkit-backdrop-filter: var(--blur);
border: 1px solid var(--glass-border-strong);
background: var(--glass-strong);
transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}
.btn-glass:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }
.btn-solid {
background: rgba(255, 255, 255, 0.92);
color: #050506;
transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.btn-solid:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 12px 34px rgba(255, 255, 255, 0.16); }
/* Ensō (円相) — self-drawing brushstroke */
.enso {
display: block;
overflow: visible;
}
.enso-stroke {
fill: none;
stroke-dasharray: 1;
stroke-dashoffset: 1;
animation: enso-draw 1.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes enso-draw {
0% {
stroke-dashoffset: 1;
opacity: 0.2;
}
20% {
opacity: 1;
}
100% {
stroke-dashoffset: 0;
opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.enso-stroke {
animation: none;
stroke-dashoffset: 0;
}
}