mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 22:26:38 +03:00
- why-panel tab swap is a proper opacity+transform crossfade (display:grid stack area) instead of display:none jump; 650/800ms ease-out. - tab progress indicator animates linearly (timer, not eased). - Panel 01: dropped redundant "Every command reads this…" footer; moved the commands meta into the visual as a right-side sidebar aside PRODUCT.md. - Panel 02: "Browse the full catalog →" moved under the Gallery of Shame; pattern category tabs are now always a single-row horizontal scroll with JS-tracked edge-fade mask and chevron affordances; click centers the selected tab inside the strip (never scrolls the page). - Panel 04: "register" → "mode" in body, labels, meta for plain-language. - Panel 05: removed redundant "Works in Claude Code…" meta. - Panel 06: removed "Spec-compliant. Interoperable. Not a proprietary sidecar." meta. - .language-content grid gap reduced from --spacing-lg to --spacing-sm so the commands palette sits closer to the section lead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1626 lines
33 KiB
CSS
1626 lines
33 KiB
CSS
/*
|
|
* impeccable.style — docs visual components.
|
|
*
|
|
* Static mocks that illustrate what each command/tutorial is talking about:
|
|
* Live Mode frames, PRODUCT/DESIGN file renderings, register side-by-sides,
|
|
* step artifacts, flow diagrams, and audit/critique report mocks.
|
|
*
|
|
* These are deliberately non-interactive. Docs readers should be able to
|
|
* scan them at their own pace, not chase animations.
|
|
*
|
|
* Namespaced with `.docs-viz-` to stay clear of the homepage's .why-*,
|
|
* .live-demo-*, and .platforms-* classes.
|
|
*/
|
|
|
|
/* ============================================
|
|
GENERIC HERO VISUAL WRAPPER
|
|
============================================ */
|
|
|
|
.docs-viz-hero {
|
|
margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
|
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
background: var(--color-cream);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.docs-viz-hero--plain {
|
|
background: transparent;
|
|
border: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.docs-viz-caption {
|
|
margin: 10px 0 0;
|
|
font-family: var(--font-body);
|
|
font-size: 0.8125rem;
|
|
color: var(--color-ash);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.docs-viz-eyebrow {
|
|
display: inline-block;
|
|
font-family: var(--font-body);
|
|
font-size: 0.6875rem;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.12em;
|
|
color: var(--color-accent);
|
|
margin-bottom: var(--spacing-sm);
|
|
}
|
|
|
|
/* ============================================
|
|
LIVE MODE — static browser frame
|
|
|
|
Shows the picker overlay in "cycling" state: outline on target,
|
|
context bar with 2/3 counter, global bar pinned to the bottom.
|
|
Dimensionally this mirrors the homepage .live-demo-frame but
|
|
paused and stripped to the informative state.
|
|
============================================ */
|
|
|
|
.docs-viz-live-frame {
|
|
position: relative;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
box-shadow: 0 12px 32px oklch(0% 0 0 / 0.06);
|
|
font-family: var(--font-body);
|
|
}
|
|
|
|
.docs-viz-live-chrome {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 9px 12px;
|
|
border-bottom: 1px solid var(--color-mist);
|
|
background: var(--color-cream);
|
|
}
|
|
|
|
.docs-viz-live-dot {
|
|
width: 9px;
|
|
height: 9px;
|
|
border-radius: 50%;
|
|
background: var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-live-url {
|
|
margin-left: 10px;
|
|
padding: 3px 10px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 4px;
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
color: var(--color-charcoal);
|
|
}
|
|
|
|
.docs-viz-live-stage {
|
|
position: relative;
|
|
min-height: 260px;
|
|
padding: 36px 28px 68px;
|
|
background: var(--color-paper);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.docs-viz-live-stage--tall {
|
|
min-height: 340px;
|
|
}
|
|
|
|
.docs-viz-live-target {
|
|
position: relative;
|
|
width: min(320px, 78%);
|
|
padding: 18px 20px;
|
|
background: var(--color-cream);
|
|
border: 1px dashed var(--color-accent);
|
|
border-radius: 6px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.docs-viz-live-kicker {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
letter-spacing: 0.18em;
|
|
text-transform: uppercase;
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.docs-viz-live-title {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
font-size: 18px;
|
|
line-height: 1.2;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
}
|
|
|
|
.docs-viz-live-title em {
|
|
color: var(--color-accent);
|
|
font-style: italic;
|
|
}
|
|
|
|
.docs-viz-live-body {
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
line-height: 1.5;
|
|
color: var(--color-charcoal);
|
|
margin: 0;
|
|
}
|
|
|
|
.docs-viz-live-btn {
|
|
align-self: flex-start;
|
|
margin-top: 4px;
|
|
padding: 7px 14px;
|
|
background: var(--color-accent);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.04em;
|
|
text-transform: uppercase;
|
|
border: 0;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
/* Picker outline — sits around the target */
|
|
.docs-viz-live-outline {
|
|
position: absolute;
|
|
inset: 28px 24px 60px;
|
|
border: 2px solid var(--color-accent);
|
|
border-radius: 8px;
|
|
box-shadow: 0 0 0 4px var(--color-accent-dim);
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* Context bar floating near the target */
|
|
.docs-viz-live-ctx {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 30px;
|
|
transform: translateX(-50%);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 5px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 20px oklch(0% 0 0 / 0.08);
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
color: var(--color-ink);
|
|
white-space: nowrap;
|
|
z-index: 2;
|
|
}
|
|
|
|
.docs-viz-live-ctx-nav {
|
|
padding: 2px 8px;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-ash);
|
|
font-size: 13px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.docs-viz-live-ctx-counter {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
color: var(--color-ink);
|
|
padding: 0 4px;
|
|
min-width: 30px;
|
|
text-align: center;
|
|
}
|
|
|
|
.docs-viz-live-ctx-divider {
|
|
width: 1px;
|
|
height: 14px;
|
|
background: var(--color-mist);
|
|
margin: 0 2px;
|
|
}
|
|
|
|
.docs-viz-live-ctx-accept {
|
|
padding: 4px 10px;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
border: 0;
|
|
border-radius: 4px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* Global bar pinned to bottom */
|
|
.docs-viz-live-gbar {
|
|
position: absolute;
|
|
bottom: 12px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 0 4px;
|
|
min-height: 30px;
|
|
background: oklch(14% 0 0);
|
|
color: oklch(92% 0 0);
|
|
border: 1px solid oklch(22% 0 0);
|
|
border-radius: 8px;
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
box-shadow: 0 6px 20px oklch(0% 0 0 / 0.2);
|
|
}
|
|
|
|
.docs-viz-live-gbar-brand {
|
|
font-family: var(--font-display);
|
|
font-size: 14px;
|
|
color: var(--color-accent);
|
|
padding: 0 8px;
|
|
font-style: italic;
|
|
}
|
|
|
|
.docs-viz-live-gbar-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
padding: 5px 8px;
|
|
background: transparent;
|
|
color: oklch(75% 0 0);
|
|
font: inherit;
|
|
border: 0;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.docs-viz-live-gbar-btn.is-active {
|
|
background: var(--color-accent-dim);
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.docs-viz-live-gbar-divider {
|
|
width: 1px;
|
|
height: 14px;
|
|
background: oklch(28% 0 0);
|
|
margin: 0 2px;
|
|
}
|
|
|
|
.docs-viz-live-gbar-x {
|
|
padding: 5px 8px;
|
|
color: oklch(60% 0 0);
|
|
font-size: 12px;
|
|
}
|
|
|
|
/* Step-size (smaller) variant used inline in tutorials */
|
|
.docs-viz-live-frame--step {
|
|
max-width: 520px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.docs-viz-live-frame--step .docs-viz-live-stage {
|
|
min-height: 200px;
|
|
padding: 28px 22px 56px;
|
|
}
|
|
|
|
.docs-viz-live-frame--step .docs-viz-live-outline {
|
|
inset: 22px 20px 50px;
|
|
}
|
|
|
|
/* ============================================
|
|
PRODUCT.md and DESIGN.md file mocks
|
|
|
|
Single file-style card with a chrome row, fields, and a footer
|
|
that identifies what loads it. Shared .docs-viz-file for the
|
|
chrome; .docs-viz-productmd / .docs-viz-designmd for per-file content.
|
|
============================================ */
|
|
|
|
.docs-viz-file {
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
font-family: var(--font-body);
|
|
}
|
|
|
|
.docs-viz-file-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 9px 14px;
|
|
background: var(--color-cream);
|
|
border-bottom: 1px solid var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-file-name {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
font-weight: 500;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-file-status {
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.docs-viz-file-body {
|
|
padding: 4px 14px;
|
|
}
|
|
|
|
.docs-viz-file-row {
|
|
display: grid;
|
|
grid-template-columns: 108px 1fr;
|
|
gap: 14px;
|
|
align-items: baseline;
|
|
padding: 9px 0;
|
|
border-bottom: 1px dashed var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-file-row:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.docs-viz-file-k {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-file-v {
|
|
font-family: var(--font-body);
|
|
font-size: 13px;
|
|
line-height: 1.5;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-file-footer {
|
|
padding: 10px 14px;
|
|
background: var(--color-cream);
|
|
border-top: 1px solid var(--color-mist);
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 12px;
|
|
line-height: 1.4;
|
|
color: var(--color-charcoal);
|
|
}
|
|
|
|
/* DESIGN.md specific rows — six numbered sections, richer inline specimens */
|
|
|
|
.docs-viz-designmd-section {
|
|
padding: 12px 14px;
|
|
border-bottom: 1px dashed var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-designmd-section:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.docs-viz-designmd-head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 8px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.docs-viz-designmd-num {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
color: var(--color-ash);
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.docs-viz-designmd-title {
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
color: var(--color-ink);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.1em;
|
|
}
|
|
|
|
.docs-viz-designmd-note {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 12px;
|
|
color: var(--color-charcoal);
|
|
line-height: 1.45;
|
|
margin: 0;
|
|
}
|
|
|
|
.docs-viz-designmd-swatches {
|
|
display: flex;
|
|
gap: 6px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.docs-viz-designmd-swatch {
|
|
width: 22px;
|
|
height: 22px;
|
|
border-radius: 4px;
|
|
border: 1px solid oklch(0% 0 0 / 0.06);
|
|
}
|
|
|
|
.docs-viz-designmd-type {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 10px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.docs-viz-designmd-type-display {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 26px;
|
|
line-height: 1;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-designmd-type-body {
|
|
font-family: var(--font-body);
|
|
font-size: 13px;
|
|
color: var(--color-charcoal);
|
|
}
|
|
|
|
.docs-viz-designmd-comps {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-top: 4px;
|
|
align-items: center;
|
|
}
|
|
|
|
.docs-viz-designmd-btn {
|
|
padding: 5px 12px;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-body);
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.05em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.docs-viz-designmd-chip {
|
|
padding: 3px 8px;
|
|
background: var(--color-accent-dim);
|
|
color: var(--color-accent);
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
border-radius: 11px;
|
|
}
|
|
|
|
.docs-viz-designmd-card {
|
|
padding: 6px 10px;
|
|
background: var(--color-cream);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 4px;
|
|
font-family: var(--font-body);
|
|
font-size: 10px;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-designmd-rules {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 4px 14px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.docs-viz-designmd-do,
|
|
.docs-viz-designmd-dont {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 6px;
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
line-height: 1.4;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-designmd-do::before {
|
|
content: "DO";
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.1em;
|
|
color: oklch(45% 0.18 145);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.docs-viz-designmd-dont::before {
|
|
content: "DON'T";
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.1em;
|
|
color: oklch(55% 0.22 25);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ============================================
|
|
REGISTER SIDE-BY-SIDE
|
|
|
|
Two faux browser frames showing the same element rendered in
|
|
brand vs product register. Each frame is self-contained and
|
|
styled per the lane's conventions.
|
|
============================================ */
|
|
|
|
.docs-viz-register {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 14px;
|
|
}
|
|
|
|
@media (max-width: 620px) {
|
|
.docs-viz-register {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.docs-viz-register-side {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.docs-viz-register-label {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
padding: 0 2px;
|
|
}
|
|
|
|
.docs-viz-register-name {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 18px;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-register-lane {
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-register-frame {
|
|
position: relative;
|
|
padding: 22px 20px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 6px;
|
|
min-height: 200px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* BRAND variant — editorial-magazine, serif display, drenched accent */
|
|
.docs-viz-register-frame--brand {
|
|
background: oklch(96% 0.02 30);
|
|
border-color: oklch(80% 0.08 30);
|
|
padding: 28px 22px;
|
|
}
|
|
|
|
.docs-viz-register-frame--brand .docs-viz-reg-kicker {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
font-weight: 500;
|
|
letter-spacing: 0.2em;
|
|
text-transform: uppercase;
|
|
color: oklch(40% 0.12 30);
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.docs-viz-register-frame--brand .docs-viz-reg-title {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
font-size: 28px;
|
|
line-height: 1;
|
|
color: oklch(20% 0.1 30);
|
|
margin: 0 0 10px 0;
|
|
}
|
|
|
|
.docs-viz-register-frame--brand .docs-viz-reg-body {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 13px;
|
|
line-height: 1.5;
|
|
color: oklch(35% 0.04 30);
|
|
margin: 0 0 14px 0;
|
|
max-width: 26ch;
|
|
}
|
|
|
|
.docs-viz-register-frame--brand .docs-viz-reg-btn {
|
|
align-self: flex-start;
|
|
padding: 8px 18px;
|
|
background: oklch(20% 0.1 30);
|
|
color: oklch(96% 0.02 30);
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
font-weight: 500;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
/* PRODUCT variant — neutral sans, restrained, utility-shaped */
|
|
.docs-viz-register-frame--product {
|
|
background: var(--color-paper);
|
|
border-color: var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-register-frame--product .docs-viz-reg-kicker {
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
color: var(--color-ash);
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.docs-viz-register-frame--product .docs-viz-reg-title {
|
|
font-family: var(--font-body);
|
|
font-weight: 600;
|
|
font-size: 17px;
|
|
line-height: 1.3;
|
|
color: var(--color-ink);
|
|
margin: 0 0 6px 0;
|
|
}
|
|
|
|
.docs-viz-register-frame--product .docs-viz-reg-body {
|
|
font-family: var(--font-body);
|
|
font-size: 13px;
|
|
line-height: 1.5;
|
|
color: var(--color-charcoal);
|
|
margin: 0 0 14px 0;
|
|
max-width: 32ch;
|
|
}
|
|
|
|
.docs-viz-register-frame--product .docs-viz-reg-btn {
|
|
align-self: flex-start;
|
|
padding: 7px 14px;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.docs-viz-register-notes {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
padding: 0 4px;
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
color: var(--color-charcoal);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.docs-viz-register-notes span::before {
|
|
content: "· ";
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
/* ============================================
|
|
FLOW DIAGRAMS
|
|
|
|
Horizontal step strip — boxes separated by arrows. Used on
|
|
command pages where the value is a multi-phase workflow
|
|
(craft, shape, extract).
|
|
============================================ */
|
|
|
|
.docs-viz-flow {
|
|
display: flex;
|
|
align-items: stretch;
|
|
gap: 0;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.docs-viz-flow-step {
|
|
flex: 1;
|
|
min-width: 130px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
padding: 12px 14px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 6px;
|
|
position: relative;
|
|
}
|
|
|
|
.docs-viz-flow-step + .docs-viz-flow-step {
|
|
margin-left: 14px;
|
|
}
|
|
|
|
@media (max-width: 620px) {
|
|
.docs-viz-flow-step + .docs-viz-flow-step {
|
|
margin-left: 0;
|
|
margin-top: 14px;
|
|
}
|
|
}
|
|
|
|
.docs-viz-flow-step + .docs-viz-flow-step::before {
|
|
content: "→";
|
|
position: absolute;
|
|
left: -14px;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
width: 14px;
|
|
text-align: center;
|
|
font-family: var(--font-body);
|
|
font-size: 14px;
|
|
color: var(--color-accent);
|
|
line-height: 1;
|
|
}
|
|
|
|
@media (max-width: 620px) {
|
|
.docs-viz-flow-step + .docs-viz-flow-step::before {
|
|
top: -14px;
|
|
left: 50%;
|
|
content: "↓";
|
|
}
|
|
}
|
|
|
|
.docs-viz-flow-num {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
letter-spacing: 0.1em;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-flow-name {
|
|
font-family: var(--font-body);
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--color-ink);
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.docs-viz-flow-hint {
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
color: var(--color-charcoal);
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.docs-viz-flow-step--accent {
|
|
background: var(--color-accent-dim);
|
|
border-color: var(--color-accent-soft);
|
|
}
|
|
|
|
.docs-viz-flow-step--accent .docs-viz-flow-name {
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
/* ============================================
|
|
AUDIT REPORT MOCK
|
|
============================================ */
|
|
|
|
.docs-viz-report {
|
|
padding: 20px 22px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
font-family: var(--font-body);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.docs-viz-report-head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
border-bottom: 1px solid var(--color-mist);
|
|
padding-bottom: 12px;
|
|
}
|
|
|
|
.docs-viz-report-title {
|
|
font-family: var(--font-body);
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-report-target {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
color: var(--color-charcoal);
|
|
}
|
|
|
|
.docs-viz-report-score {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 8px;
|
|
}
|
|
|
|
.docs-viz-report-score-num {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 36px;
|
|
line-height: 1;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-report-score-out {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-report-dims {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 9px;
|
|
}
|
|
|
|
.docs-viz-report-dim {
|
|
display: grid;
|
|
grid-template-columns: 110px 1fr 42px;
|
|
gap: 12px;
|
|
align-items: center;
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-report-dim-name {
|
|
color: var(--color-charcoal);
|
|
}
|
|
|
|
.docs-viz-report-dim-bar {
|
|
height: 5px;
|
|
background: var(--color-mist);
|
|
border-radius: 3px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.docs-viz-report-dim-fill {
|
|
display: block;
|
|
height: 100%;
|
|
background: var(--color-accent);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.docs-viz-report-dim-fill--warn {
|
|
background: oklch(72% 0.15 70);
|
|
}
|
|
|
|
.docs-viz-report-dim-fill--fail {
|
|
background: oklch(60% 0.2 25);
|
|
}
|
|
|
|
.docs-viz-report-dim-score {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
color: var(--color-ink);
|
|
text-align: right;
|
|
}
|
|
|
|
.docs-viz-report-issues {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding-top: 12px;
|
|
border-top: 1px solid var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-report-sev {
|
|
padding: 3px 10px;
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.1em;
|
|
color: var(--color-paper);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.docs-viz-report-sev--p0 { background: oklch(50% 0.22 25); }
|
|
.docs-viz-report-sev--p1 { background: oklch(58% 0.18 45); }
|
|
.docs-viz-report-sev--p2 { background: oklch(70% 0.13 80); }
|
|
.docs-viz-report-sev--p3 { background: oklch(55% 0.06 260); }
|
|
|
|
.docs-viz-report-sev-n {
|
|
font-weight: 500;
|
|
margin-left: 4px;
|
|
opacity: 0.85;
|
|
}
|
|
|
|
/* ============================================
|
|
CRITIQUE REPORT MOCK
|
|
============================================ */
|
|
|
|
.docs-viz-critique {
|
|
padding: 20px 22px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
font-family: var(--font-body);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
}
|
|
|
|
.docs-viz-critique-head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
}
|
|
|
|
.docs-viz-critique-verdict {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.docs-viz-critique-verdict-label {
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-critique-verdict-value {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 3px 10px;
|
|
background: oklch(60% 0.2 25);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.1em;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.docs-viz-critique-verdict-value--pass {
|
|
background: oklch(52% 0.18 150);
|
|
}
|
|
|
|
.docs-viz-critique-cols {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 20px;
|
|
}
|
|
|
|
@media (max-width: 620px) {
|
|
.docs-viz-critique-cols {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.docs-viz-critique-col-title {
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--color-ash);
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.docs-viz-critique-personas {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.docs-viz-critique-persona {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto;
|
|
gap: 10px;
|
|
align-items: baseline;
|
|
padding: 8px 10px;
|
|
background: var(--color-cream);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.docs-viz-critique-persona-name {
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
color: var(--color-ink);
|
|
}
|
|
|
|
.docs-viz-critique-persona-note {
|
|
display: block;
|
|
font-family: var(--font-body);
|
|
font-size: 11px;
|
|
color: var(--color-charcoal);
|
|
font-weight: 400;
|
|
margin-top: 1px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.docs-viz-critique-persona-score {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
color: var(--color-ink);
|
|
text-align: right;
|
|
}
|
|
|
|
.docs-viz-critique-heuristics {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.docs-viz-critique-heur {
|
|
display: grid;
|
|
grid-template-columns: 1fr 28px;
|
|
gap: 10px;
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
color: var(--color-ink);
|
|
padding: 4px 0;
|
|
border-bottom: 1px dashed var(--color-mist);
|
|
}
|
|
|
|
.docs-viz-critique-heur:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.docs-viz-critique-heur-score {
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
text-align: right;
|
|
}
|
|
|
|
.docs-viz-critique-heur-score--good { color: oklch(45% 0.18 150); }
|
|
.docs-viz-critique-heur-score--ok { color: oklch(55% 0.15 70); }
|
|
.docs-viz-critique-heur-score--bad { color: oklch(55% 0.22 25); }
|
|
|
|
/* ============================================
|
|
STEP ARTIFACTS — inline mocks in tutorials
|
|
============================================ */
|
|
|
|
.docs-viz-step {
|
|
margin: 14px 0 18px;
|
|
padding: 16px 18px;
|
|
background: var(--color-cream);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
/* Picker-on-element strip */
|
|
.docs-viz-picker-row {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 20px 16px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 6px;
|
|
min-height: 110px;
|
|
}
|
|
|
|
.docs-viz-picker-target {
|
|
position: relative;
|
|
padding: 10px 16px;
|
|
border: 2px solid var(--color-accent);
|
|
border-radius: 6px;
|
|
box-shadow: 0 0 0 4px var(--color-accent-dim);
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 15px;
|
|
color: var(--color-ink);
|
|
background: var(--color-cream);
|
|
}
|
|
|
|
.docs-viz-picker-pin {
|
|
position: absolute;
|
|
top: -10px;
|
|
right: -10px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
background: var(--color-accent);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-mono);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
border-radius: 50%;
|
|
box-shadow: 0 2px 6px oklch(0% 0 0 / 0.2);
|
|
}
|
|
|
|
.docs-viz-picker-note {
|
|
position: absolute;
|
|
right: -12px;
|
|
top: 24px;
|
|
transform: translateX(100%);
|
|
padding: 3px 8px;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
font-family: var(--font-mono);
|
|
font-size: 10px;
|
|
border-radius: 3px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
@media (max-width: 520px) {
|
|
.docs-viz-picker-note { display: none; }
|
|
}
|
|
|
|
/* Three-up variants strip */
|
|
.docs-viz-variants {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 8px;
|
|
}
|
|
|
|
@media (max-width: 520px) {
|
|
.docs-viz-variants {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.docs-viz-variant {
|
|
position: relative;
|
|
padding: 12px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 6px;
|
|
min-height: 120px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
|
|
.docs-viz-variant.is-active {
|
|
border-color: var(--color-accent);
|
|
box-shadow: 0 0 0 3px var(--color-accent-dim);
|
|
}
|
|
|
|
.docs-viz-variant-badge {
|
|
position: absolute;
|
|
top: 6px;
|
|
right: 6px;
|
|
padding: 1px 6px;
|
|
background: oklch(14% 0 0);
|
|
color: oklch(92% 0 0);
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.docs-viz-variant-kicker {
|
|
font-family: var(--font-mono);
|
|
font-size: 9px;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
color: var(--color-ash);
|
|
}
|
|
|
|
.docs-viz-variant-title {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-size: 14px;
|
|
line-height: 1.2;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
}
|
|
|
|
.docs-viz-variant-btn {
|
|
align-self: flex-start;
|
|
margin-top: auto;
|
|
padding: 4px 8px;
|
|
font-family: var(--font-body);
|
|
font-size: 9px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.05em;
|
|
text-transform: uppercase;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
}
|
|
|
|
.docs-viz-variant--v1 { background: var(--color-cream); }
|
|
.docs-viz-variant--v2 .docs-viz-variant-btn { background: var(--color-accent); }
|
|
.docs-viz-variant--v3 { background: oklch(96% 0.02 350); }
|
|
|
|
/* Accept pill */
|
|
.docs-viz-accept-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 7px 14px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 14px oklch(0% 0 0 / 0.06);
|
|
font-family: var(--font-body);
|
|
font-size: 12px;
|
|
color: oklch(45% 0.18 145);
|
|
}
|
|
|
|
.docs-viz-accept-pill::before {
|
|
content: "✓";
|
|
font-weight: 700;
|
|
}
|
|
|
|
/* ============================================
|
|
LIVE MODE LANDING PAGE (/live-mode)
|
|
|
|
Marketing-style landing that mirrors /visual-mode's structure.
|
|
Hosts the animated homepage live-demo and surfaces the tutorial,
|
|
reference, and install pathways.
|
|
============================================ */
|
|
|
|
.live-mode-page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: clamp(2.5rem, 5vw, 3.5rem);
|
|
max-width: 960px;
|
|
margin: 0 auto;
|
|
padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2rem) clamp(4rem, 8vw, 6rem);
|
|
}
|
|
|
|
.live-mode-page-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
max-width: 56ch;
|
|
}
|
|
|
|
.live-mode-page-eyebrow {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
font-family: var(--font-body);
|
|
font-size: 0.6875rem;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.14em;
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.live-mode-page-eyebrow-badge {
|
|
padding: 2px 7px;
|
|
border: 1px solid var(--color-accent);
|
|
border-radius: 4px;
|
|
font-size: 0.625rem;
|
|
letter-spacing: 0.12em;
|
|
}
|
|
|
|
.live-mode-page-title {
|
|
font-family: var(--font-display);
|
|
font-weight: 400;
|
|
font-size: clamp(2.5rem, 5vw, 3.5rem);
|
|
line-height: 1;
|
|
letter-spacing: -0.02em;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
}
|
|
|
|
.live-mode-page-lede {
|
|
font-family: var(--font-body);
|
|
font-size: 1.0625rem;
|
|
line-height: 1.55;
|
|
color: var(--color-charcoal);
|
|
margin: 0;
|
|
max-width: 56ch;
|
|
}
|
|
|
|
.live-mode-start {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin-top: 6px;
|
|
padding: 10px 14px;
|
|
background: var(--color-ink);
|
|
color: var(--color-paper);
|
|
border-radius: 8px;
|
|
font-family: var(--font-mono);
|
|
font-size: 0.875rem;
|
|
align-self: flex-start;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.live-mode-start-prompt {
|
|
color: var(--color-accent);
|
|
user-select: none;
|
|
}
|
|
|
|
.live-mode-start-cmd {
|
|
flex: 1;
|
|
overflow-x: auto;
|
|
white-space: nowrap;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.live-mode-start-cmd::-webkit-scrollbar { display: none; }
|
|
|
|
.live-mode-start-copy {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 28px;
|
|
height: 28px;
|
|
background: transparent;
|
|
color: oklch(75% 0 0);
|
|
border: 0;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.live-mode-start-copy:hover {
|
|
background: oklch(22% 0 0);
|
|
color: oklch(92% 0 0);
|
|
}
|
|
|
|
.live-mode-start-copy.is-copied {
|
|
color: oklch(70% 0.18 145);
|
|
}
|
|
|
|
/* Demo section — wraps the animated homepage .live-demo block */
|
|
.live-mode-demo-wrap {
|
|
margin: 0;
|
|
}
|
|
|
|
.live-mode-demo-caption {
|
|
margin: 14px 0 0;
|
|
font-family: var(--font-body);
|
|
font-size: 0.875rem;
|
|
color: var(--color-ash);
|
|
line-height: 1.55;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* Three-card "what happens" section */
|
|
.live-mode-stages {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-md);
|
|
}
|
|
|
|
.live-mode-stages-title {
|
|
font-family: var(--font-display);
|
|
font-weight: 400;
|
|
font-style: italic;
|
|
font-size: 1.75rem;
|
|
color: var(--color-ink);
|
|
margin: 0 0 8px 0;
|
|
}
|
|
|
|
.live-mode-stages-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: var(--spacing-md);
|
|
}
|
|
|
|
@media (max-width: 720px) {
|
|
.live-mode-stages-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.live-mode-stage {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
padding: 18px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.live-mode-stage-num {
|
|
font-family: var(--font-mono);
|
|
font-size: 0.6875rem;
|
|
letter-spacing: 0.12em;
|
|
color: var(--color-ash);
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.live-mode-stage-name {
|
|
font-family: var(--font-display);
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
font-size: 1.375rem;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.live-mode-stage-desc {
|
|
font-family: var(--font-body);
|
|
font-size: 0.875rem;
|
|
line-height: 1.55;
|
|
color: var(--color-charcoal);
|
|
margin: 0;
|
|
}
|
|
|
|
.live-mode-stage-viz {
|
|
margin-top: 4px;
|
|
padding: 14px;
|
|
background: var(--color-cream);
|
|
border-radius: 6px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 92px;
|
|
}
|
|
|
|
/* Three pathway cards — tutorial, reference, install */
|
|
.live-mode-pathways {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-md);
|
|
}
|
|
|
|
.live-mode-pathways-title {
|
|
font-family: var(--font-display);
|
|
font-weight: 400;
|
|
font-style: italic;
|
|
font-size: 1.75rem;
|
|
color: var(--color-ink);
|
|
margin: 0 0 8px 0;
|
|
}
|
|
|
|
.live-mode-pathways-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: var(--spacing-md);
|
|
}
|
|
|
|
@media (max-width: 720px) {
|
|
.live-mode-pathways-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.live-mode-pathway {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
padding: 20px;
|
|
background: var(--color-paper);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
text-decoration: none;
|
|
transition: border-color 180ms ease, transform 180ms ease;
|
|
}
|
|
|
|
.live-mode-pathway:hover {
|
|
border-color: var(--color-accent);
|
|
}
|
|
|
|
.live-mode-pathway-kind {
|
|
font-family: var(--font-mono);
|
|
font-size: 0.625rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.14em;
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.live-mode-pathway-title {
|
|
font-family: var(--font-body);
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.live-mode-pathway-desc {
|
|
font-family: var(--font-body);
|
|
font-size: 0.875rem;
|
|
color: var(--color-charcoal);
|
|
line-height: 1.55;
|
|
margin: 0;
|
|
flex: 1;
|
|
}
|
|
|
|
.live-mode-pathway-cta {
|
|
font-family: var(--font-body);
|
|
font-size: 0.8125rem;
|
|
font-weight: 600;
|
|
color: var(--color-accent);
|
|
margin-top: 6px;
|
|
}
|
|
|
|
/* Frameworks strip */
|
|
.live-mode-frameworks {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
padding: 18px 20px;
|
|
background: var(--color-cream);
|
|
border: 1px solid var(--color-mist);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.live-mode-frameworks-label {
|
|
font-family: var(--font-mono);
|
|
font-size: 0.6875rem;
|
|
letter-spacing: 0.12em;
|
|
color: var(--color-ash);
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.live-mode-frameworks-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px 14px;
|
|
font-family: var(--font-body);
|
|
font-size: 0.875rem;
|
|
color: var(--color-ink);
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.live-mode-frameworks-list li {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.live-mode-frameworks-list li::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 5px;
|
|
height: 5px;
|
|
border-radius: 50%;
|
|
background: var(--color-accent);
|
|
}
|
|
|
|
/* Docs/live page callout pointing back to /live-mode */
|
|
.docs-live-callout {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
padding: 12px 16px;
|
|
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
|
|
background: var(--color-accent-dim);
|
|
border: 1px solid var(--color-accent-soft);
|
|
border-radius: 8px;
|
|
font-family: var(--font-body);
|
|
font-size: 0.875rem;
|
|
color: var(--color-ink);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.docs-live-callout-icon {
|
|
flex-shrink: 0;
|
|
width: 28px;
|
|
height: 28px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--color-accent);
|
|
color: var(--color-paper);
|
|
border-radius: 50%;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.docs-live-callout-text {
|
|
flex: 1;
|
|
}
|
|
|
|
.docs-live-callout-text a {
|
|
color: var(--color-accent);
|
|
text-decoration: underline;
|
|
text-underline-offset: 2px;
|
|
font-weight: 600;
|
|
}
|