Files
pbakaus_impeccable/site/styles/live-performance.css
T
Paul BakausandClaude Fable 5 bf2dd7ec13 skill v4.0.0-alpha.8: four visitor modes replace the brand/product bifurcation
Field report: impeccable SaaS-ified a developer docs page; the Opus
galleries showed the same on an album page. Root cause: two registers
force every surface into persuade-or-operate grammar. The register
section now names the visitor's mode first (Persuade / Operate / Read /
Experience) with mode-borrowing called out as the canonical failure,
and PRODUCT.md's register field maps as family (brand = Persuade +
Experience, product = Operate + Read) for compatibility. Read mode:
comprehension deliverable, navigable structure, chrome out of the way.
Experience mode: the artifact leads at every screen size.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 17:06:14 -07:00

649 lines
13 KiB
CSS

.live-performance-page {
background: var(--ks-lacquer);
color: var(--ks-text);
}
.live-performance-main {
overflow: clip;
}
.live-lab-header {
display: flex;
justify-content: space-between;
gap: var(--spacing-md);
align-items: center;
min-height: 68px;
padding: 12px max(24px, calc((100vw - 1320px) / 2));
border-bottom: 1px solid var(--ks-rule);
background: var(--ks-lacquer-deep);
}
.live-lab-brand {
color: var(--ks-kinpaku);
text-decoration: none;
}
.live-lab-brand .ks-mark {
width: 30px;
height: 30px;
}
.live-lab-brand .ks-mark svg {
width: 26px;
height: 26px;
}
.live-lab-brand .ks-wordmark {
font-size: var(--ks-type-wordmark-size);
letter-spacing: var(--ks-type-wordmark-track);
}
.live-lab-header > div {
display: grid;
gap: 2px;
text-align: right;
}
.live-lab-header strong {
color: var(--ks-champagne);
font-size: var(--ks-type-body-size);
font-weight: 500;
}
.live-lab-header > div span {
color: var(--ks-text-faint);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
letter-spacing: var(--ks-type-eyebrow-track);
text-transform: uppercase;
}
.live-performance {
padding-bottom: clamp(80px, 10vw, 144px);
}
.live-performance-hero {
position: relative;
padding-top: clamp(96px, 13vw, 176px);
padding-bottom: clamp(72px, 10vw, 136px);
}
.live-performance-hero::after {
position: absolute;
right: max(24px, calc((100vw - 1320px) / 2));
bottom: 0;
left: max(24px, calc((100vw - 1320px) / 2));
height: 1px;
background: var(--ks-rule);
content: '';
}
.live-performance-kicker,
.live-performance-label {
margin: 0;
color: var(--ks-patina);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
font-weight: 500;
letter-spacing: var(--ks-type-eyebrow-track);
text-transform: uppercase;
}
.live-performance-hero h1 {
max-width: 1050px;
margin: 24px 0 0;
color: var(--ks-champagne);
font-family: var(--ks-font-display);
font-size: var(--ks-type-display-size);
font-weight: 100;
letter-spacing: -0.01em;
line-height: 0.88;
text-wrap: balance;
}
.live-performance-hero h1 span {
color: var(--ks-kinpaku);
}
.live-performance-lede {
max-width: 64ch;
margin: 38px 0 0;
color: var(--ks-text-muted);
font-size: clamp(1.05rem, 1.6vw, 1.35rem);
line-height: 1.65;
}
.live-performance-meta {
display: flex;
flex-wrap: wrap;
gap: 10px 24px;
margin-top: 42px;
color: var(--ks-text-faint);
font-family: var(--ks-mono);
font-size: 0.75rem;
}
.live-performance-meta span:not(:last-child)::after {
margin-left: 24px;
color: var(--ks-kinpaku-deep);
content: '—';
}
.live-performance-section {
padding-top: clamp(72px, 9vw, 120px);
padding-bottom: clamp(72px, 9vw, 120px);
border-bottom: 1px solid var(--ks-rule);
}
.live-performance-section-head {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(240px, 440px);
gap: clamp(32px, 8vw, 120px);
align-items: end;
}
.live-performance-section-head h2,
.live-performance-method h2 {
max-width: 760px;
margin: 12px 0 0;
color: var(--ks-champagne);
font-family: var(--ks-font-display);
font-size: var(--ks-type-headline-size);
font-weight: var(--ks-type-headline-weight);
line-height: var(--ks-type-headline-line);
text-wrap: balance;
}
.live-performance-section-head > p {
margin: 0;
color: var(--ks-text-muted);
line-height: 1.65;
}
.latency-tape {
margin-top: clamp(48px, 7vw, 88px);
border-bottom: 1px solid var(--ks-rule);
}
.latency-tape svg {
display: block;
width: 100%;
height: auto;
overflow: visible;
}
.latency-axis,
.latency-ticks line {
stroke: var(--ks-rule);
stroke-width: 1;
}
.latency-segment.is-capture { fill: var(--ks-kinpaku); }
.latency-segment.is-pickup { fill: var(--ks-vermilion); }
.latency-segment.is-scaffold { fill: var(--ks-patina); }
.latency-segment.is-render { fill: var(--ks-graphite-2); }
.latency-major-label,
.latency-remainder-label,
.latency-axis-label {
fill: var(--ks-text-muted);
font-family: var(--ks-mono);
font-size: var(--ks-type-mono-size);
}
.latency-major-value {
fill: var(--ks-lacquer-deep);
font-family: var(--ks-font);
font-size: var(--ks-type-title-size);
font-weight: 700;
}
.latency-bracket {
fill: none;
stroke: var(--ks-patina);
stroke-width: 1;
}
.latency-stage-list {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin: 0;
padding: 0;
list-style: none;
}
.latency-stage-list li {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 6px 12px;
min-width: 0;
padding: 20px 18px 22px 0;
border-right: 1px solid var(--ks-rule);
}
.latency-stage-list li:not(:first-child) { padding-left: 18px; }
.latency-stage-list li:last-child { border-right: 0; }
.latency-stage-list li > span {
grid-row: 1 / span 2;
color: var(--ks-code-cmd);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
}
.latency-stage-list strong {
color: var(--ks-champagne);
font-size: var(--ks-type-body-size);
font-weight: 500;
}
.latency-stage-list em {
color: var(--ks-text-muted);
font-family: var(--ks-mono);
font-size: var(--ks-type-mono-size);
font-style: normal;
}
.live-performance-finding {
display: grid;
grid-template-columns: 140px minmax(0, 1fr);
gap: 24px;
margin-top: 48px;
padding: 22px 0;
border-top: 1px solid var(--ks-kinpaku-deep);
border-bottom: 1px solid var(--ks-kinpaku-deep);
}
.live-performance-finding strong {
color: var(--ks-code-cmd);
font-family: var(--ks-mono);
font-size: var(--ks-type-mono-size);
font-weight: 500;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.live-performance-finding p {
max-width: 74ch;
margin: 0;
color: var(--ks-text);
line-height: 1.65;
}
.live-performance-finding.is-probe {
border-color: var(--ks-patina-deep);
}
.live-performance-finding.is-probe strong { color: var(--ks-patina); }
.scenario-comparison {
display: grid;
gap: 24px;
margin-top: clamp(48px, 7vw, 80px);
}
.scenario-row {
display: grid;
grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) 86px;
gap: 24px;
align-items: center;
}
.scenario-label {
display: grid;
gap: 4px;
}
.scenario-label strong {
color: var(--ks-champagne);
font-size: var(--ks-type-body-size);
font-weight: 500;
}
.scenario-label span,
.live-performance-caption {
color: var(--ks-text-faint);
font-size: var(--ks-type-mono-size);
}
.scenario-track {
height: 18px;
background: var(--ks-graphite);
}
.scenario-track span {
display: block;
width: var(--scenario-width);
height: 100%;
}
.scenario-track .is-plain { background: var(--ks-kinpaku); }
.scenario-track .is-annotated { background: var(--ks-patina); }
.scenario-row output {
color: var(--ks-champagne);
font-family: var(--ks-mono);
font-size: var(--ks-type-mono-size);
text-align: right;
}
.live-performance-caption {
margin: 24px 0 0;
line-height: 1.6;
}
.live-simulator {
margin-top: clamp(48px, 7vw, 80px);
padding: clamp(24px, 4vw, 48px);
background: var(--ks-lacquer-deep);
border: 1px solid var(--ks-rule);
}
.live-simulator > label {
display: flex;
justify-content: space-between;
gap: 24px;
color: var(--ks-champagne);
font-weight: 500;
}
.live-simulator > label output {
color: var(--ks-kinpaku);
font-family: var(--ks-mono);
}
.live-simulator input[type='range'] {
width: 100%;
margin: 30px 0 0;
accent-color: var(--ks-kinpaku);
}
.simulator-results {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-top: 34px;
border-top: 1px solid var(--ks-rule);
}
.simulator-results > div {
display: grid;
gap: 8px;
padding: 28px 28px 0 0;
}
.simulator-results > div + div {
padding-left: 28px;
border-left: 1px solid var(--ks-rule);
}
.simulator-results span {
color: var(--ks-text-muted);
font-size: var(--ks-type-body-size);
}
.simulator-results strong {
color: var(--ks-champagne);
font-family: var(--ks-font-display);
font-size: var(--ks-type-display-size);
font-weight: 300;
line-height: 0.9;
}
.simulator-results small {
color: var(--ks-text-faint);
font-size: var(--ks-type-mono-size);
line-height: 1.5;
}
.harness-table-wrap {
margin-top: clamp(48px, 7vw, 80px);
overflow-x: auto;
}
.harness-table {
width: 100%;
min-width: 840px;
border-collapse: collapse;
}
.harness-table th {
padding: 0 18px 14px 0;
border-bottom: 1px solid var(--ks-kinpaku-deep);
color: var(--ks-text-faint);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
font-weight: 500;
letter-spacing: 0.12em;
text-align: left;
text-transform: uppercase;
}
.harness-table td {
padding: 22px 18px 22px 0;
border-bottom: 1px solid var(--ks-rule);
color: var(--ks-text-muted);
font-size: var(--ks-type-body-size);
line-height: 1.55;
vertical-align: top;
}
.harness-table td:first-child {
width: 23%;
}
.harness-table td:nth-child(2) {
width: 20%;
color: var(--ks-text);
}
.harness-table td:last-child {
width: 150px;
}
.harness-table td strong,
.harness-table td span {
display: block;
}
.harness-table td strong {
color: var(--ks-champagne);
font-weight: 500;
}
.harness-table td:first-child span {
margin-top: 5px;
color: var(--ks-text-faint);
font-size: var(--ks-type-mono-size);
}
.harness-table a {
color: var(--ks-patina);
}
.harness-table .ks-tag {
display: inline-flex;
width: fit-content;
color: var(--ks-text);
}
.experiment-list {
margin: clamp(48px, 7vw, 80px) 0 0;
padding: 0;
border-top: 1px solid var(--ks-kinpaku-deep);
list-style: none;
}
.experiment-list > li {
display: grid;
grid-template-columns: 72px minmax(0, 1fr);
border-bottom: 1px solid var(--ks-rule);
}
.experiment-rank {
padding-top: 27px;
color: var(--ks-code-cmd);
font-family: var(--ks-mono);
font-size: var(--ks-type-mono-size);
}
.experiment-body {
padding: 24px 0 28px;
}
.experiment-body header {
display: flex;
justify-content: space-between;
gap: 24px;
align-items: baseline;
}
.experiment-body h3 {
margin: 0;
color: var(--ks-champagne);
font-size: var(--ks-type-title-size);
font-weight: 500;
}
.experiment-body header span {
color: var(--ks-patina);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
white-space: nowrap;
}
.experiment-body > p {
max-width: 80ch;
margin: 12px 0 0;
color: var(--ks-text);
line-height: 1.65;
}
.experiment-body dl {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
margin: 20px 0 0;
}
.experiment-body dl div {
display: grid;
grid-template-columns: 72px minmax(0, 1fr);
gap: 12px;
}
.experiment-body dt {
color: var(--ks-text-faint);
font-family: var(--ks-mono);
font-size: var(--ks-type-eyebrow-size);
text-transform: uppercase;
}
.experiment-body dd {
margin: 0;
color: var(--ks-text-muted);
font-size: var(--ks-type-body-size);
line-height: 1.55;
}
.live-performance-method {
display: grid;
grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
gap: clamp(32px, 8vw, 120px);
padding-top: clamp(72px, 9vw, 120px);
}
.live-performance-method h2 {
margin-top: 0;
}
.live-performance-method p {
max-width: 72ch;
margin: 0;
color: var(--ks-text-muted);
line-height: 1.75;
}
@media (max-width: 800px) {
.live-performance-section-head,
.live-performance-method {
grid-template-columns: 1fr;
gap: 24px;
}
.latency-stage-list {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.latency-stage-list li:nth-child(2) { border-right: 0; }
.latency-stage-list li:nth-child(n + 3) { border-top: 1px solid var(--ks-rule); }
.latency-stage-list li:nth-child(3) { padding-left: 0; }
.scenario-row {
grid-template-columns: minmax(130px, 180px) minmax(0, 1fr) 76px;
gap: 14px;
}
.experiment-body dl {
grid-template-columns: 1fr;
gap: 10px;
}
}
@media (max-width: 560px) {
.live-performance-hero h1 {
font-size: var(--ks-type-display-size);
}
.live-performance-meta span:not(:last-child)::after { display: none; }
.latency-tape {
margin-right: -12px;
margin-left: -12px;
}
.latency-stage-list {
grid-template-columns: 1fr;
}
.latency-stage-list li,
.latency-stage-list li:not(:first-child),
.latency-stage-list li:nth-child(3) {
padding: 16px 0;
border-top: 1px solid var(--ks-rule);
border-right: 0;
}
.scenario-row {
grid-template-columns: minmax(0, 1fr) 70px;
}
.scenario-label { grid-column: 1 / -1; }
.simulator-results {
grid-template-columns: 1fr;
}
.simulator-results > div + div {
margin-top: 24px;
padding: 24px 0 0;
border-top: 1px solid var(--ks-rule);
border-left: 0;
}
.experiment-list > li {
grid-template-columns: 46px minmax(0, 1fr);
}
.experiment-body header {
align-items: flex-start;
flex-direction: column;
gap: 8px;
}
}
@media (prefers-reduced-motion: reduce) {
.live-performance-page * {
scroll-behavior: auto !important;
}
}