Hold every component colour against gradio prose repainting
Browse files- distinct_server/presentation.py +144 -139
distinct_server/presentation.py
CHANGED
|
@@ -301,14 +301,14 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 301 |
.c-eyebrow{
|
| 302 |
display:flex; align-items:baseline; justify-content:space-between; gap:var(--s2);
|
| 303 |
font-size:var(--t-micro); font-weight:600; letter-spacing:.09em;
|
| 304 |
-
text-transform:uppercase; color:var(--c-muted);
|
| 305 |
margin:var(--s4) 0 var(--s2); padding-bottom:var(--s2);
|
| 306 |
border-bottom:1px solid var(--c-hairline) !important;
|
| 307 |
}
|
| 308 |
.c-side>*:first-child .c-eyebrow,.c-eyebrow:first-child{margin-top:0;}
|
| 309 |
.c-eyebrow__note{text-transform:none; letter-spacing:0; font-weight:400;}
|
| 310 |
.c-note{display:flex; align-items:flex-start; gap:var(--s2); flex-wrap:wrap;
|
| 311 |
-
margin:0; font-size:var(--t-micro); color:var(--c-muted);}
|
| 312 |
.c-note__text{max-width:var(--measure); line-height:1.5;}
|
| 313 |
|
| 314 |
/* ========================================================================
|
|
@@ -321,16 +321,16 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 321 |
}
|
| 322 |
.c-header__brand{display:flex; align-items:baseline; gap:var(--s3); min-width:0;}
|
| 323 |
.c-wordmark{font-size:var(--t-display); font-weight:700; letter-spacing:-.045em;
|
| 324 |
-
line-height:1; color:var(--c-text); white-space:nowrap;}
|
| 325 |
-
.c-wordmark__dot{color:var(--c-sage-dark);}
|
| 326 |
-
.c-tagline{font-size:var(--t-label); font-weight:400; color:var(--c-text-2);
|
| 327 |
line-height:1; white-space:nowrap; overflow:hidden;
|
| 328 |
text-overflow:ellipsis; padding-left:var(--s3);
|
| 329 |
border-left:1px solid var(--c-hairline) !important;}
|
| 330 |
/* Who you are, said quietly. This was a floating white pill with a shadow,
|
| 331 |
which gave the top of the page a second object competing with the
|
| 332 |
wordmark for the eye; it is a caption, so it is set like one. */
|
| 333 |
-
.c-identity{font-size:var(--t-micro); color:var(--c-muted); white-space:nowrap;
|
| 334 |
overflow:hidden; text-overflow:ellipsis; max-width:38ch;}
|
| 335 |
.c-identity--link{text-decoration:underline; cursor:pointer;}
|
| 336 |
|
|
@@ -361,19 +361,19 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 361 |
.c-splash__head{display:flex; flex-direction:column; align-items:flex-start;
|
| 362 |
gap:var(--s4);}
|
| 363 |
.c-splash__mark{margin:0; font-size:var(--t-display); font-weight:700;
|
| 364 |
-
letter-spacing:-.045em; line-height:1; color:var(--c-text);}
|
| 365 |
.c-splash__display{
|
| 366 |
margin:0; font-family:var(--font-display);
|
| 367 |
font-size:clamp(2.6rem,1.1rem + 4.6vw,4.6rem);
|
| 368 |
-
line-height:1.02; letter-spacing:-.035em; color:var(--c-text);
|
| 369 |
font-weight:680; font-optical-sizing:auto; text-wrap:balance;
|
| 370 |
}
|
| 371 |
/* The second line carries the claim, so it is the one that changes colour and
|
| 372 |
weight. Sage-deep at 9.2:1 clears AA comfortably at any size. */
|
| 373 |
-
.c-splash__display-2{color:var(--c-sage-deep); font-weight:560;}
|
| 374 |
.c-splash__lede{margin:0; max-width:46ch; font-size:var(--t-lg);
|
| 375 |
-
line-height:1.5; color:var(--c-text-2);}
|
| 376 |
-
.c-splash__meta{margin:0; font-size:var(--t-micro); color:var(--c-muted);
|
| 377 |
letter-spacing:.02em;}
|
| 378 |
.c-splash__figure{margin:0; display:flex; flex-direction:column; gap:var(--s3);
|
| 379 |
min-width:0;}
|
|
@@ -381,9 +381,9 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 381 |
box-shadow:var(--e2);}
|
| 382 |
/* The credit sits beside the image it belongs to and is never collapsed
|
| 383 |
behind a control. It is a licence condition, not a caption. */
|
| 384 |
-
.c-splash__credit{font-size:var(--t-micro); line-height:1.5; color:var(--c-muted);
|
| 385 |
max-width:52ch;}
|
| 386 |
-
.c-splash__credit a{color:var(--c-sage-deep); text-decoration:underline;}
|
| 387 |
.c-splash__copy button.primary{
|
| 388 |
min-width:190px !important; padding:12px 22px !important;
|
| 389 |
font-size:var(--t-body) !important; flex:0 0 auto !important;
|
|
@@ -422,29 +422,34 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 422 |
which a non-flex parent then put on a line of its own. */
|
| 423 |
.c-notice__summary{display:flex !important; align-items:flex-start; gap:var(--s3);
|
| 424 |
flex-wrap:wrap; cursor:pointer; list-style:none;
|
| 425 |
-
font-size:var(--t-label); color:var(--c-text-2);
|
| 426 |
line-height:1.5;}
|
| 427 |
.c-notice__summary>span:nth-child(2){flex:1 1 180px; min-width:0;}
|
| 428 |
.c-notice__summary::-webkit-details-marker{display:none;}
|
| 429 |
-
.c-notice__summary strong{color:var(--c-text); font-weight:600;}
|
| 430 |
/* inline-grid, not grid: a block-level box in a row that failed to become a
|
| 431 |
flex container takes the whole line to itself, which is exactly how this
|
| 432 |
mark ended up stranded above its own sentence. Inline-grid centres the
|
| 433 |
glyph just as well and cannot claim a line. */
|
| 434 |
.c-notice__mark{flex:none; width:16px; height:16px; border-radius:50%;
|
| 435 |
margin-top:2px;
|
| 436 |
-
border:1.5px solid var(--c-warn-rule) !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 437 |
font-size:10px; font-weight:700;
|
| 438 |
display:inline-grid; place-items:center;}
|
| 439 |
.c-notice__toggle{margin-left:auto; white-space:nowrap; font-size:var(--t-micro);
|
| 440 |
-
color:var(--c-muted); text-decoration:underline;
|
| 441 |
text-underline-offset:2px; padding-left:var(--s3);}
|
| 442 |
@media (max-width:700px){
|
| 443 |
/* Its own line, aligned with the sentence it opens rather than the mark. */
|
| 444 |
.c-notice__toggle{flex:1 0 100%; margin:var(--s2) 0 0 28px; padding-left:0;}
|
| 445 |
}
|
| 446 |
.c-notice__body{margin:var(--s3) 0 var(--s1) 28px; font-size:var(--t-micro);
|
| 447 |
-
line-height:1.6; color:var(--c-text-2); max-width:var(--measure);}
|
| 448 |
.c-notice__summary:focus-visible{outline:3px solid var(--c-sage); outline-offset:3px;
|
| 449 |
border-radius:var(--r-md);}
|
| 450 |
|
|
@@ -489,15 +494,15 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 489 |
display:inline-flex; align-items:center; gap:5px;
|
| 490 |
height:22px; padding:0 9px; border-radius:var(--r-pill);
|
| 491 |
font-size:var(--t-micro); line-height:1; white-space:nowrap;
|
| 492 |
-
background:var(--c-fill); color:var(--c-text-2);
|
| 493 |
border:1px solid transparent !important;
|
| 494 |
}
|
| 495 |
.c-chip__glyph{font-size:8px; line-height:1;}
|
| 496 |
-
.c-chip--ok{background:var(--c-mint); color:#22402C;}
|
| 497 |
-
.c-chip--work{background:#E7EFE2; color:var(--c-sage-deep);}
|
| 498 |
-
.c-chip--warn{background:#F5EDDB; color:#5A4512;}
|
| 499 |
-
.c-chip--off{background:#ECEDEA; color:#454A45;}
|
| 500 |
-
.c-chip--outline{background:transparent; color:var(--c-muted);
|
| 501 |
border:1px dashed var(--c-border) !important;}
|
| 502 |
|
| 503 |
/* ========================================================================
|
|
@@ -509,8 +514,8 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 509 |
.c-worker--offline{opacity:.7;}
|
| 510 |
.c-worker__name{display:flex; align-items:baseline; gap:var(--s2); flex-wrap:wrap;
|
| 511 |
margin:0 0 var(--s2); font-size:var(--t-label); font-weight:600;
|
| 512 |
-
color:var(--c-text); min-width:0; overflow-wrap:anywhere;}
|
| 513 |
-
.c-worker__id{font-family:var(--mono); font-size:10.5px; color:var(--c-muted);
|
| 514 |
font-weight:400; overflow-wrap:anywhere;}
|
| 515 |
/* An agent name, hostname or model id is chosen on someone else's machine. It
|
| 516 |
is escaped on the way in by render.esc, which stops it becoming markup, but
|
|
@@ -526,22 +531,22 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 526 |
padding:var(--s4); box-shadow:var(--e1);}
|
| 527 |
.c-panel__head{display:flex; align-items:baseline; justify-content:space-between;
|
| 528 |
gap:var(--s2); margin:0 0 var(--s3);}
|
| 529 |
-
.c-panel__title{font-size:var(--t-label); font-weight:600; color:var(--c-text);}
|
| 530 |
.c-panel__boundary{font-size:10.5px; font-weight:600; letter-spacing:.07em;
|
| 531 |
-
text-transform:uppercase; color:var(--c-muted); white-space:nowrap;}
|
| 532 |
.c-panel__caveat{margin:var(--s3) 0 0; font-size:var(--t-micro); line-height:1.5;
|
| 533 |
-
color:var(--c-muted);}
|
| 534 |
.c-panel__never{margin:var(--s3) 0 0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 535 |
-
line-height:1.5; color:var(--c-muted);
|
| 536 |
border-top:1px dashed var(--c-border) !important;}
|
| 537 |
.c-energy{display:flex; flex-direction:column; gap:var(--s1);}
|
| 538 |
.c-energy__value{margin:0; font-size:var(--t-body); font-weight:600;
|
| 539 |
-
color:var(--c-text); font-variant-numeric:tabular-nums;}
|
| 540 |
/* An absence is marked, never numeric. */
|
| 541 |
-
.c-energy__value--absent{color:var(--c-text-2); font-weight:500;}
|
| 542 |
-
.c-energy__dash{font-family:var(--mono); color:var(--c-muted); padding-right:6px;}
|
| 543 |
.c-energy__line{margin:0; font-size:var(--t-micro); line-height:1.5;
|
| 544 |
-
color:var(--c-text-2);}
|
| 545 |
|
| 546 |
/* ========================================================================
|
| 547 |
GRADE SHEET
|
|
@@ -554,21 +559,21 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 554 |
.c-rubric{display:flex; flex-direction:column; gap:var(--s4);}
|
| 555 |
.c-legend{background:var(--c-fill); border-radius:var(--r-md); padding:var(--s4);}
|
| 556 |
.c-legend__title{margin:0 0 var(--s2); font-size:var(--t-label); font-weight:600;
|
| 557 |
-
color:var(--c-text);}
|
| 558 |
.c-legend__body{margin:0; font-size:var(--t-label); line-height:1.55;
|
| 559 |
-
color:var(--c-text-2); max-width:var(--measure);}
|
| 560 |
-
.c-legend__body strong{color:var(--c-text); font-weight:600;}
|
| 561 |
.c-legend__example{display:flex; gap:var(--s2); align-items:flex-start;
|
| 562 |
margin:var(--s3) 0 0; padding:var(--s3);
|
| 563 |
background:var(--c-surface); border-radius:var(--r-md);
|
| 564 |
-
font-size:var(--t-micro); line-height:1.55; color:var(--c-text-2);
|
| 565 |
max-width:var(--measure);}
|
| 566 |
.c-legend__example-mark{flex:none; width:16px; height:16px; border-radius:50%;
|
| 567 |
-
background:var(--c-sage-dark); color:#fff; font-size:11px;
|
| 568 |
font-weight:700; display:grid; place-items:center;
|
| 569 |
margin-top:1px;}
|
| 570 |
.c-legend__never{margin:var(--s3) 0 0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 571 |
-
line-height:1.5; color:var(--c-muted);
|
| 572 |
border-top:1px dashed var(--c-border) !important;}
|
| 573 |
|
| 574 |
.c-grade-cards{display:grid; gap:var(--s3);
|
|
@@ -578,23 +583,23 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 578 |
display:flex; flex-direction:column; gap:var(--s3);}
|
| 579 |
.c-grade-card__head{display:flex; align-items:baseline; justify-content:space-between;
|
| 580 |
gap:var(--s2); margin:0; flex-wrap:wrap;}
|
| 581 |
-
.c-grade-card__name{font-size:var(--t-body); font-weight:600; color:var(--c-text);}
|
| 582 |
-
.c-grade-card__link{font-size:var(--t-micro); color:var(--c-sage-deep);
|
| 583 |
text-decoration:underline; white-space:nowrap;}
|
| 584 |
/* Coverage sits in the card head, beside the name, because it qualifies the
|
| 585 |
whole card. "three of six areas published" is not a score and must never be
|
| 586 |
read as one, so it is set as quiet metadata rather than as a result. */
|
| 587 |
-
.c-grade-card__coverage{font-size:var(--t-micro); color:var(--c-text-2);
|
| 588 |
font-variant-numeric:tabular-nums;}
|
| 589 |
.c-grade-card__note{margin:0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 590 |
-
line-height:1.5; color:var(--c-muted);
|
| 591 |
border-top:1px solid var(--c-hairline) !important;}
|
| 592 |
.c-grade-rows{display:flex; flex-direction:column; gap:var(--s1);}
|
| 593 |
.c-grade-row{display:flex; align-items:center; justify-content:space-between;
|
| 594 |
gap:var(--s3); margin:0; padding:var(--s1) 0;
|
| 595 |
border-bottom:1px solid var(--c-hairline) !important;}
|
| 596 |
.c-grade-row:last-child{border-bottom:none !important;}
|
| 597 |
-
.c-grade-row__label{font-size:var(--t-label); color:var(--c-text-2);}
|
| 598 |
|
| 599 |
/* ONE TOKEN, NOT A NUMBER WITH A CAPTION.
|
| 600 |
The figure and the method that produced it share a single border and a single
|
|
@@ -610,11 +615,11 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 610 |
border:1px solid var(--c-border) !important; border-radius:8px; overflow:hidden;
|
| 611 |
font-variant-numeric:tabular-nums;}
|
| 612 |
.c-fig__value{display:flex; align-items:center; padding:6px 9px;
|
| 613 |
-
font-size:var(--t-label); font-weight:600; color:#22402C;
|
| 614 |
background:var(--c-mint); white-space:nowrap;}
|
| 615 |
.c-fig__method{display:flex; align-items:center; padding:0 8px;
|
| 616 |
font-size:9.5px; font-weight:600; letter-spacing:.08em;
|
| 617 |
-
text-transform:uppercase; color:var(--c-muted);
|
| 618 |
background:var(--c-surface);
|
| 619 |
border-left:1px solid var(--c-border) !important; white-space:nowrap;}
|
| 620 |
/* A measured figure is the only one that gets the filled value. A modelled one
|
|
@@ -622,25 +627,25 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 622 |
by calculation rather than by metering, and the difference should read at a
|
| 623 |
glance without either being dressed as a fault. */
|
| 624 |
.c-fig--modelled .c-fig__value,
|
| 625 |
-
.c-fig--proxy .c-fig__value{background:var(--c-fill); color:var(--c-text);}
|
| 626 |
.c-fig--unknown{border-style:dotted;}
|
| 627 |
-
.c-fig--unknown .c-fig__value{background:transparent; color:var(--c-text-2);}
|
| 628 |
/* An absence is dashed, wordy and unfilled: it differs from a figure in shape,
|
| 629 |
fill and content, because an absence drawn as a small number asserts a light
|
| 630 |
result that nobody measured. */
|
| 631 |
.c-fig--none{border-style:dashed; background:transparent;}
|
| 632 |
.c-fig__word{display:flex; align-items:center; padding:6px 10px;
|
| 633 |
-
font-size:var(--t-micro); font-weight:500; color:var(--c-muted);
|
| 634 |
white-space:nowrap;}
|
| 635 |
|
| 636 |
/* The card's own prose. Summary sits above the figures because a reader who
|
| 637 |
stops after one paragraph should stop having read the caveat, not the
|
| 638 |
headline number. */
|
| 639 |
.c-grade-card__summary{margin:0; font-size:var(--t-label); line-height:1.6;
|
| 640 |
-
color:var(--c-text-2);}
|
| 641 |
.c-grade-card__covers{margin:0; font-size:var(--t-micro); line-height:1.55;
|
| 642 |
-
color:var(--c-muted);}
|
| 643 |
-
.c-grade-card__covers strong{color:var(--c-text-2); font-weight:600;}
|
| 644 |
.c-grade-card__links{display:flex; flex-wrap:wrap; gap:var(--s3); margin:0;
|
| 645 |
padding-top:var(--s3);
|
| 646 |
border-top:1px solid var(--c-hairline) !important;}
|
|
@@ -651,7 +656,7 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 651 |
that is both complete and readable. */
|
| 652 |
.c-sources{border-top:1px solid var(--c-hairline) !important; padding-top:var(--s3);}
|
| 653 |
.c-sources__summary{cursor:pointer; font-size:var(--t-micro); font-weight:600;
|
| 654 |
-
letter-spacing:.04em; color:var(--c-sage-deep);}
|
| 655 |
.c-sources__summary:focus-visible{outline:2px solid var(--c-sage);
|
| 656 |
outline-offset:2px; border-radius:3px;}
|
| 657 |
.c-sources__body{display:flex; flex-direction:column; gap:var(--s2);
|
|
@@ -659,22 +664,22 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 659 |
.c-source{display:grid; grid-template-columns:minmax(88px,auto) 1fr;
|
| 660 |
gap:var(--s1) var(--s3); margin:0; font-size:var(--t-micro);
|
| 661 |
line-height:1.55;}
|
| 662 |
-
.c-source__label{color:var(--c-text-2); font-weight:600;}
|
| 663 |
-
.c-source__body{color:var(--c-muted);}
|
| 664 |
-
.c-source__link{color:var(--c-sage-deep); text-decoration:underline;
|
| 665 |
white-space:nowrap;}
|
| 666 |
|
| 667 |
.c-reading{padding-top:var(--s3); border-top:1px dashed var(--c-border) !important;}
|
| 668 |
.c-reading__title{margin:0 0 var(--s2); font-size:var(--t-micro); font-weight:600;
|
| 669 |
letter-spacing:.06em; text-transform:uppercase;
|
| 670 |
-
color:var(--c-muted);}
|
| 671 |
.c-reading__links{display:flex; flex-direction:column; gap:var(--s1); margin:0;}
|
| 672 |
-
.c-reading__link{font-size:var(--t-micro); color:var(--c-sage-deep);
|
| 673 |
text-decoration:underline;}
|
| 674 |
|
| 675 |
.c-rubric__warning{margin:0; padding:var(--s3); background:var(--c-mint);
|
| 676 |
border-radius:var(--r-md); font-size:var(--t-micro);
|
| 677 |
-
line-height:1.55; color:var(--c-text);}
|
| 678 |
|
| 679 |
.c-legend__pair{display:grid; gap:var(--s3); margin:var(--s3) 0 0;
|
| 680 |
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
|
|
@@ -682,8 +687,8 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 682 |
gap:var(--s2); padding:var(--s3); background:var(--c-surface);
|
| 683 |
border-radius:var(--r-md);}
|
| 684 |
.c-legend__scale-body{margin:0; font-size:var(--t-micro); line-height:1.55;
|
| 685 |
-
color:var(--c-text-2);}
|
| 686 |
-
.c-legend__scale-body strong{color:var(--c-text); font-weight:600;}
|
| 687 |
|
| 688 |
/* ========================================================================
|
| 689 |
EMPTY STATES: no dashed drop-zone rectangles
|
|
@@ -691,11 +696,11 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 691 |
.c-empty{display:flex; flex-direction:column; align-items:flex-start;
|
| 692 |
justify-content:center; text-align:left; gap:var(--s2);
|
| 693 |
padding:var(--s5) var(--s4); height:100%;}
|
| 694 |
-
.c-empty__glyph{font-size:16px; color:var(--c-sage-dark); opacity:.75; line-height:1;}
|
| 695 |
-
.c-empty__title{margin:0; font-size:var(--t-lg); font-weight:600; color:var(--c-text);
|
| 696 |
letter-spacing:-.015em;}
|
| 697 |
.c-empty__body{margin:0; font-size:var(--t-label); line-height:1.55;
|
| 698 |
-
color:var(--c-text-2); max-width:44ch;}
|
| 699 |
.c-empty--compact{padding:var(--s4) 0; height:auto;}
|
| 700 |
.c-empty--compact .c-empty__body{max-width:32ch; font-size:var(--t-micro);}
|
| 701 |
|
|
@@ -790,48 +795,48 @@ footer,.gradio-container footer{display:none !important;}
|
|
| 790 |
.c-usage-panel{display:flex; flex-direction:column; gap:var(--s4);}
|
| 791 |
.c-usage{display:flex; flex-direction:column; gap:1px;}
|
| 792 |
.c-usage__label{margin:0; font-size:var(--t-micro); font-weight:600;
|
| 793 |
-
letter-spacing:.04em; color:var(--c-muted);}
|
| 794 |
.c-usage__figure{margin:2px 0 0; font-size:22px; line-height:1.15; font-weight:600;
|
| 795 |
-
color:var(--c-text); font-variant-numeric:tabular-nums;}
|
| 796 |
-
.c-usage--absent .c-usage__figure{color:var(--c-muted); font-size:18px;}
|
| 797 |
-
.c-usage__means{margin:2px 0 0; font-size:var(--t-micro); color:var(--c-sage-dark);
|
| 798 |
line-height:1.45;}
|
| 799 |
-
.c-usage--absent .c-usage__means{color:var(--c-muted); font-style:italic;}
|
| 800 |
-
.c-usage__detail{margin:3px 0 0; font-size:11px; color:var(--c-muted); line-height:1.45;}
|
| 801 |
.c-usage__more{margin-top:var(--s3); border-top:1px solid var(--c-hairline) !important;
|
| 802 |
padding-top:var(--s3);}
|
| 803 |
-
.c-usage__moretoggle{cursor:pointer; font-size:var(--t-micro); color:var(--c-muted);
|
| 804 |
list-style:none;}
|
| 805 |
.c-usage__moretoggle::-webkit-details-marker{display:none;}
|
| 806 |
.c-usage__moretoggle::after{content:" +"; opacity:.7;}
|
| 807 |
details[open] .c-usage__moretoggle::after{content:" -";}
|
| 808 |
.c-usage__morebody{margin-top:var(--s2); font-size:11px; line-height:1.5;
|
| 809 |
-
color:var(--c-muted);}
|
| 810 |
|
| 811 |
/* The worker's own figures, on the card for the machine they describe. */
|
| 812 |
.c-worker__energy{margin:var(--s3) 0 0; display:flex; flex-direction:column; gap:1px;
|
| 813 |
padding-top:var(--s3); border-top:1px solid var(--c-hairline) !important;}
|
| 814 |
-
.c-worker__energy-figure{font-size:15px; font-weight:600; color:var(--c-text);
|
| 815 |
font-variant-numeric:tabular-nums;}
|
| 816 |
-
.c-worker__energy-means{font-size:var(--t-micro); color:var(--c-sage-dark);}
|
| 817 |
-
.c-worker__energy-total{margin-top:3px; font-size:11px; color:var(--c-muted);
|
| 818 |
line-height:1.45;}
|
| 819 |
-
.c-worker__energy-note{margin-top:2px; font-size:11px; color:var(--c-muted);
|
| 820 |
font-style:italic;}
|
| 821 |
-
.c-worker__energy--absent{font-size:var(--t-micro); color:var(--c-muted);
|
| 822 |
line-height:1.45; font-style:italic;}
|
| 823 |
|
| 824 |
/* Scope headings inside the energy panel. Small and quiet: they label the
|
| 825 |
figure, they are not the figure. */
|
| 826 |
.c-energy__scope{font-size:var(--t-micro); font-weight:600; letter-spacing:.04em;
|
| 827 |
-
color:var(--c-muted); margin:var(--s3) 0 2px;}
|
| 828 |
.c-energy>.c-energy__scope:first-child{margin-top:0;}
|
| 829 |
|
| 830 |
/* An explanation under a worker card, for a state the chips cannot carry
|
| 831 |
alone. Used by "unapproved", where the useful information is what the
|
| 832 |
operator has to do next. */
|
| 833 |
.c-worker__note{margin:var(--s2) 0 0; font-size:var(--t-micro); line-height:1.45;
|
| 834 |
-
color:var(--c-muted); max-width:44ch;}
|
| 835 |
|
| 836 |
/* ========================================================================
|
| 837 |
LIVE ACTIVITY
|
|
@@ -845,11 +850,11 @@ details[open] .c-usage__moretoggle::after{content:" -";}
|
|
| 845 |
.c-activity--wait{border-left-color:#C8A24A;}
|
| 846 |
.c-activity--done{border-left-color:var(--c-sage-dark);}
|
| 847 |
.c-activity__head{display:flex; align-items:center; gap:var(--s2); margin:0;}
|
| 848 |
-
.c-activity__headline{font-weight:600; color:var(--c-text); font-size:var(--t-body);}
|
| 849 |
-
.c-activity__dot{color:var(--c-sage-dark);}
|
| 850 |
-
.c-activity__detail{margin:6px 0 0; color:var(--c-muted); line-height:1.5;
|
| 851 |
max-width:var(--measure); overflow-wrap:anywhere;}
|
| 852 |
-
.c-activity__timing,.c-activity__note{margin:6px 0 0; color:var(--c-muted);
|
| 853 |
font-size:var(--t-micro);}
|
| 854 |
.c-activity__note{font-style:italic;}
|
| 855 |
.c-activity__bar{margin-top:var(--s3); height:4px; border-radius:2px;
|
|
@@ -894,11 +899,11 @@ details[open] .c-usage__moretoggle::after{content:" -";}
|
|
| 894 |
.c-receipt{padding:var(--s3) 0; border-top:1px solid var(--c-hairline) !important;}
|
| 895 |
.c-receipt__head{margin:0; display:flex; align-items:baseline; gap:var(--s2);
|
| 896 |
flex-wrap:wrap;}
|
| 897 |
-
.c-receipt__turn{font-size:var(--t-micro); font-weight:600; color:var(--c-muted);
|
| 898 |
letter-spacing:.04em;}
|
| 899 |
-
.c-receipt__cost{font-size:16px; font-weight:600; color:var(--c-text);
|
| 900 |
font-variant-numeric:tabular-nums;}
|
| 901 |
-
.c-receipt__means{font-size:var(--t-micro); color:var(--c-sage-dark);}
|
| 902 |
.c-receipt .c-chips{margin-top:2px;}
|
| 903 |
.c-receipt .c-steps{margin-top:var(--s2); padding-top:var(--s2);}
|
| 904 |
|
|
@@ -906,13 +911,13 @@ details[open] .c-usage__moretoggle::after{content:" -";}
|
|
| 906 |
Folded away by default: the trace above already says which tools ran, and
|
| 907 |
this is for the moment you want to know why. */
|
| 908 |
.c-turns{margin-top:var(--s2); font-size:var(--t-micro);}
|
| 909 |
-
.c-turns__toggle{cursor:pointer; color:var(--c-muted); list-style:none;
|
| 910 |
padding:2px 0; user-select:none;}
|
| 911 |
.c-turns__toggle::-webkit-details-marker{display:none;}
|
| 912 |
.c-turns__toggle::after{content:" +"; opacity:.7;}
|
| 913 |
details[open]>.c-turns__toggle::after{content:" -";}
|
| 914 |
.c-turns .c-steps{margin-top:var(--s1); border-top:1px solid var(--c-hairline) !important;}
|
| 915 |
-
.c-step__lead{color:var(--c-muted); margin-right:5px;}
|
| 916 |
|
| 917 |
/* A run that ended without an answer. It is not a message and it is not a
|
| 918 |
cost, so it is neither a bubble nor a receipt: one line, attached to the
|
|
@@ -923,8 +928,8 @@ details[open]>.c-turns__toggle::after{content:" -";}
|
|
| 923 |
background:#FDF8EA; border-left:2px solid var(--c-warn-rule) !important;
|
| 924 |
border-radius:0 var(--r-md) var(--r-md) 0;
|
| 925 |
padding:var(--s2) var(--s3); font-size:var(--t-micro);
|
| 926 |
-
color:var(--c-text-2);}
|
| 927 |
-
.c-outcome__turn{flex:0 0 auto; font-weight:600; color:#5A4512;}
|
| 928 |
.c-outcome__text{min-width:0; overflow-wrap:anywhere;}
|
| 929 |
|
| 930 |
/* ========================================================================
|
|
@@ -934,15 +939,15 @@ details[open]>.c-turns__toggle::after{content:" -";}
|
|
| 934 |
border-top:1px solid var(--c-hairline) !important;
|
| 935 |
display:flex; flex-direction:column; gap:5px;}
|
| 936 |
.c-step{display:flex; align-items:flex-start; gap:var(--s2);
|
| 937 |
-
font-size:var(--t-micro); line-height:1.45; color:var(--c-muted);}
|
| 938 |
-
.c-step__mark{flex:0 0 12px; text-align:center; color:var(--c-muted);}
|
| 939 |
-
.c-step--ok .c-step__mark{color:var(--c-sage-dark);}
|
| 940 |
-
.c-step--warn .c-step__mark{color:#A8541F;}
|
| 941 |
-
.c-step--work .c-step__mark{color:var(--c-text);}
|
| 942 |
.c-step__body{min-width:0; overflow-wrap:anywhere;}
|
| 943 |
.c-step__tool{background:var(--c-fill); border-radius:4px; padding:1px 5px;
|
| 944 |
-
margin-right:6px; font-size:11px; color:var(--c-text);}
|
| 945 |
-
.c-step__timing{margin-left:auto; flex:0 0 auto; color:var(--c-muted);
|
| 946 |
font-variant-numeric:tabular-nums;}
|
| 947 |
|
| 948 |
/* ========================================================================
|
|
@@ -1175,7 +1180,7 @@ details[open]>.c-turns__toggle::after{content:" -";}
|
|
| 1175 |
|
| 1176 |
/* What the offered library members actually do, one click from the picker. */
|
| 1177 |
.c-libhelp{margin:var(--s2) 0 0; font-size:var(--t-micro);}
|
| 1178 |
-
.c-libhelp__toggle{cursor:pointer; color:var(--c-muted); list-style:none;}
|
| 1179 |
.c-libhelp__toggle::-webkit-details-marker{display:none;}
|
| 1180 |
.c-libhelp__toggle::after{content:" +"; opacity:.7;}
|
| 1181 |
details[open] .c-libhelp__toggle::after{content:" -";}
|
|
@@ -1183,13 +1188,13 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1183 |
display:flex; flex-direction:column; gap:6px;}
|
| 1184 |
.c-libhelp__item{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px;
|
| 1185 |
line-height:1.45;}
|
| 1186 |
-
.c-libhelp__name{font-weight:600; color:var(--c-text);}
|
| 1187 |
-
.c-libhelp__kind{font-size:11px; color:var(--c-muted); text-transform:uppercase;
|
| 1188 |
letter-spacing:.06em;}
|
| 1189 |
.c-libhelp__ref{background:var(--c-fill); border-radius:4px; padding:1px 5px;
|
| 1190 |
-
font-size:11px; color:var(--c-muted);}
|
| 1191 |
-
.c-libhelp__what{flex:1 1 100%; color:var(--c-muted); max-width:var(--measure);}
|
| 1192 |
-
.c-libhelp__note{margin:var(--s2) 0 0; color:var(--c-muted); font-style:italic;}
|
| 1193 |
|
| 1194 |
.c-composer-foot{display:flex !important; align-items:center !important;
|
| 1195 |
justify-content:space-between !important; gap:var(--s3) !important;
|
|
@@ -1284,7 +1289,7 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1284 |
.c-shell>*:has(.c-skip){height:0 !important; min-height:0 !important;
|
| 1285 |
overflow:visible !important;}
|
| 1286 |
.c-skip{position:absolute; left:-9999px; top:0; background:var(--c-surface);
|
| 1287 |
-
color:var(--c-sage-deep); padding:var(--s3) var(--s4);
|
| 1288 |
border-radius:var(--r-md); z-index:100; font-weight:600;}
|
| 1289 |
.c-skip:focus{left:var(--s4); top:var(--s4);}
|
| 1290 |
|
|
@@ -1301,20 +1306,20 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1301 |
The address and the code are the two things a person copies, so they are
|
| 1302 |
the two things drawn as copyable blocks rather than as prose. */
|
| 1303 |
.c-join{display:flex; flex-direction:column; gap:var(--s2); max-width:var(--measure);}
|
| 1304 |
-
.c-join__lead{margin:var(--s2) 0 0; font-size:var(--t-micro); color:var(--c-muted);}
|
| 1305 |
.c-join__address,.c-join__code{
|
| 1306 |
display:block; background:var(--c-fill); border:1px solid var(--c-hairline) !important;
|
| 1307 |
border-radius:var(--r-md); padding:var(--s3); font-family:var(--mono);
|
| 1308 |
-
font-size:var(--t-label); color:var(--c-text); word-break:break-all;
|
| 1309 |
user-select:all;}
|
| 1310 |
.c-join__alts{list-style:none; margin:0; padding:0; display:flex;
|
| 1311 |
flex-direction:column; gap:4px;}
|
| 1312 |
-
.c-join__alt{font-family:var(--mono); font-size:var(--t-micro); color:var(--c-muted);}
|
| 1313 |
.c-join__cmd{margin:0; background:var(--c-surface); border:1px solid var(--c-hairline) !important;
|
| 1314 |
border-radius:var(--r-md); padding:var(--s3); font-family:var(--mono);
|
| 1315 |
font-size:11.5px; line-height:1.6; overflow-x:auto; white-space:pre;
|
| 1316 |
-
color:var(--c-text-2); user-select:all;}
|
| 1317 |
-
.c-join__note{margin:0; font-size:var(--t-micro); color:var(--c-muted);
|
| 1318 |
line-height:1.55; max-width:56ch;}
|
| 1319 |
.c-join__note code{font-family:var(--mono); font-size:11px;
|
| 1320 |
background:var(--c-fill); border-radius:4px; padding:1px 5px;}
|
|
@@ -1330,12 +1335,12 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1330 |
.c-step-num{display:flex; gap:var(--s3); align-items:flex-start;}
|
| 1331 |
.c-step-num__n{flex:none; width:24px; height:24px; border-radius:50%;
|
| 1332 |
display:grid; place-items:center; margin-top:1px;
|
| 1333 |
-
background:var(--c-mint); color:var(--c-sage-deep);
|
| 1334 |
font-size:12px; font-weight:700;}
|
| 1335 |
.c-step-num__body{flex:1 1 auto; min-width:0; display:flex;
|
| 1336 |
flex-direction:column; gap:var(--s2);}
|
| 1337 |
.c-step-num__head{margin:0; font-size:var(--t-body); font-weight:650;
|
| 1338 |
-
color:var(--c-text); letter-spacing:-.01em;}
|
| 1339 |
|
| 1340 |
.c-join__qr{margin-top:var(--s3);}
|
| 1341 |
.c-join__qr svg{width:160px; height:160px; display:block;
|
|
@@ -1369,8 +1374,8 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1369 |
.c-credit{display:flex; align-items:flex-start; gap:var(--s3); margin:0; max-width:100%;}
|
| 1370 |
.c-credit__img{width:56px; height:36px; object-fit:cover; border-radius:6px;
|
| 1371 |
display:block; flex:none;}
|
| 1372 |
-
.c-credit__text{font-size:10.5px; line-height:1.45; color:var(--c-muted);}
|
| 1373 |
-
.c-credit__text a{color:var(--c-sage-deep); text-decoration:underline;}
|
| 1374 |
.c-credit--compact{gap:var(--s2);}
|
| 1375 |
.c-credit--compact .c-credit__img{width:44px; height:28px;}
|
| 1376 |
|
|
@@ -1502,18 +1507,18 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1502 |
selected state has to survive a squint test: accent border, filled check,
|
| 1503 |
tinted wash — three signals, any one of which is enough. */
|
| 1504 |
.c-libpage{max-width:var(--shell-max); margin:0 auto; padding:var(--s5) var(--shell-pad) var(--s8);}
|
| 1505 |
-
.c-libpage__back{font-size:var(--t-label); color:var(--c-text-2); text-decoration:none;
|
| 1506 |
display:inline-flex; align-items:center; gap:6px;}
|
| 1507 |
-
.c-libpage__back:hover{color:var(--c-text);}
|
| 1508 |
.c-libpage__title{margin:var(--s3) 0 4px; font-family:var(--font-display);
|
| 1509 |
font-weight:600; font-size:clamp(26px,4vw,34px); letter-spacing:-.015em;
|
| 1510 |
-
color:var(--c-text);}
|
| 1511 |
-
.c-libpage__lede{margin:0 0 var(--s5); max-width:var(--measure); color:var(--c-text-2);}
|
| 1512 |
.c-libsave{position:sticky; top:0; z-index:9; display:flex; align-items:center; gap:var(--s3);
|
| 1513 |
background:color-mix(in srgb, var(--c-canvas) 88%, transparent);
|
| 1514 |
backdrop-filter:blur(6px); padding:var(--s2) 0; margin-bottom:var(--s2);}
|
| 1515 |
-
.c-libsave__count{font-size:var(--t-label); color:var(--c-text-2);}
|
| 1516 |
-
.c-libsave__count strong{color:var(--c-sage-deep); font-weight:650;}
|
| 1517 |
|
| 1518 |
.c-libgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
|
| 1519 |
gap:var(--s4); margin:var(--s4) 0;}
|
|
@@ -1532,11 +1537,11 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1532 |
width:24px; height:24px; border-radius:50%;
|
| 1533 |
display:flex; align-items:center; justify-content:center;
|
| 1534 |
font-size:14px; line-height:1;
|
| 1535 |
-
border:1.5px solid var(--c-border) !important; color:var(--c-muted);
|
| 1536 |
background:var(--c-surface);
|
| 1537 |
transition:all .15s ease;}
|
| 1538 |
.c-libcard.is-on .c-libcard__check{border-color:var(--c-accent);
|
| 1539 |
-
background:var(--c-accent); color:#fff;}
|
| 1540 |
.c-libcard__check::before{content:"+";}
|
| 1541 |
.c-libcard.is-on .c-libcard__check::before{content:"✓";}
|
| 1542 |
.c-libcard__media{margin:calc(var(--s4)*-1) calc(var(--s4)*-1) var(--s2);
|
|
@@ -1553,12 +1558,12 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1553 |
.c-libcard__media.is-playing .c-libcard__poster{opacity:0;}
|
| 1554 |
.c-libcard__play{position:relative; z-index:1;
|
| 1555 |
display:inline-flex; align-items:center; gap:6px;
|
| 1556 |
-
font-size:var(--t-micro); color:var(--c-text-2);
|
| 1557 |
background:color-mix(in srgb, var(--c-surface) 92%, transparent);
|
| 1558 |
border:1px solid var(--c-hairline) !important; backdrop-filter:blur(3px);
|
| 1559 |
border-radius:999px; padding:4px 10px; opacity:0;
|
| 1560 |
transition:opacity .15s ease;}
|
| 1561 |
-
.c-libcard__play::before{content:"▶"; font-size:9px; color:var(--c-sage-deep);}
|
| 1562 |
/* The invitation appears on approach and never sits permanently over the
|
| 1563 |
result it is inviting you to watch. Always visible where there is no
|
| 1564 |
poster to obscure, since then it is the only thing in the frame. */
|
|
@@ -1569,17 +1574,17 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1569 |
.c-libcard__head{display:flex; align-items:center; gap:var(--s2); padding-right:28px;}
|
| 1570 |
.c-libcard__kind{font-size:var(--t-micro); letter-spacing:.06em; text-transform:uppercase;
|
| 1571 |
padding:2px 8px; border-radius:999px; background:var(--c-fill);
|
| 1572 |
-
color:var(--c-text-2); flex:none;}
|
| 1573 |
-
.c-libcard__kind--skill{background:var(--c-mint); color:var(--c-sage-deep);}
|
| 1574 |
-
.c-libcard__name{margin:0; font-size:var(--t-body); font-weight:650; color:var(--c-text);
|
| 1575 |
text-transform:capitalize;}
|
| 1576 |
-
.c-libcard__author{margin:0; font-size:var(--t-micro); color:var(--c-muted);}
|
| 1577 |
.c-libcard__desc{margin:2px 0 0; font-size:13px; line-height:1.5;
|
| 1578 |
-
color:var(--c-text-2);
|
| 1579 |
display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
|
| 1580 |
overflow:hidden;}
|
| 1581 |
.c-libcard__ref{margin-top:auto; padding-top:var(--s2); font-family:var(--mono);
|
| 1582 |
-
font-size:11px; color:var(--c-muted);}
|
| 1583 |
|
| 1584 |
/* ---- Navigation, in the header band -----------------------------------
|
| 1585 |
A button (the library, which navigates) beside a link (a section of this
|
|
@@ -1697,8 +1702,8 @@ details[open] .c-libhelp__toggle::after{content:" -";}
|
|
| 1697 |
.c-shell:has(.c-identity:not(:empty)):has(.c-noworker-hook) .c-chat{
|
| 1698 |
min-height:300px !important; max-height:300px !important;}
|
| 1699 |
}
|
| 1700 |
-
.c-veil__title{margin:0 0 6px; font-weight:650; font-size:var(--t-lg); color:var(--c-text);}
|
| 1701 |
-
.c-veil__body{margin:0 0 var(--s4); color:var(--c-text-2); line-height:1.55;}
|
| 1702 |
/* The colour is forced for the same reason the borders are: gradio styles
|
| 1703 |
anchors inside its container with two classes, which outranks ours, so the
|
| 1704 |
white label on this button was being repainted the theme's link green —
|
|
@@ -1764,9 +1769,9 @@ nav.navbar, .gradio-container .navbar{display:none !important;}
|
|
| 1764 |
padding:8px var(--s3); border-bottom:1px solid var(--c-hairline) !important;
|
| 1765 |
background:var(--c-fill);}
|
| 1766 |
.c-madecard__dot{width:8px; height:8px; border-radius:50%; background:var(--c-accent); flex:none;}
|
| 1767 |
-
.c-madecard__name{font-family:var(--mono); font-size:12px; color:var(--c-text);
|
| 1768 |
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
| 1769 |
-
.c-madecard__kind{margin-left:auto; flex:none; font-size:var(--t-micro); color:var(--c-muted);
|
| 1770 |
letter-spacing:.05em; text-transform:uppercase;}
|
| 1771 |
/* A glance, not a document viewer. The preview sits inside a conversation
|
| 1772 |
and has to read as one object at one glance; at 340px it was a scrolling
|
|
@@ -1781,7 +1786,7 @@ nav.navbar, .gradio-container .navbar{display:none !important;}
|
|
| 1781 |
background:linear-gradient(to bottom, transparent, var(--c-surface));}
|
| 1782 |
/* A document page: a white sheet with real margins and the actual text. */
|
| 1783 |
.c-made--doc .c-madecard__body{font-family:Georgia,'Times New Roman',serif;
|
| 1784 |
-
color:#26241F; line-height:1.6; font-size:13.5px;}
|
| 1785 |
.c-made--doc .c-madecard__body h4{margin:0 0 8px; font-size:16px; font-weight:700;}
|
| 1786 |
.c-made--doc .c-madecard__body p{margin:0 0 8px;}
|
| 1787 |
/* A sheet: a real grid of the actual cells. */
|
|
@@ -1794,8 +1799,8 @@ nav.navbar, .gradio-container .navbar{display:none !important;}
|
|
| 1794 |
gap:var(--s2);}
|
| 1795 |
.c-madeslide{aspect-ratio:16/9; border:1px solid var(--c-hairline) !important; border-radius:6px;
|
| 1796 |
background:#fff; padding:8px; display:flex; flex-direction:column; gap:3px; overflow:hidden;}
|
| 1797 |
-
.c-madeslide__no{font-size:9px; color:var(--c-muted);}
|
| 1798 |
-
.c-madeslide__title{font-size:11px; font-weight:650; color:var(--c-text); line-height:1.25;}
|
| 1799 |
.c-madeslide__line{height:3px; border-radius:2px; background:var(--c-fill); width:86%;}
|
| 1800 |
.c-madeslide__line+.c-madeslide__line{width:70%;}
|
| 1801 |
/* Code or plain text: the content itself, monospaced. */
|
|
@@ -1805,10 +1810,10 @@ nav.navbar, .gradio-container .navbar{display:none !important;}
|
|
| 1805 |
its own taller cap, which meant a stylesheet came back twice the height of
|
| 1806 |
a document and the shelf of results had no common measure. */
|
| 1807 |
.c-made--text pre{margin:0; padding:var(--s3) var(--s4); font-family:var(--mono);
|
| 1808 |
-
font-size:12px; line-height:1.55; color:var(--c-text); overflow:hidden; max-height:210px;
|
| 1809 |
white-space:pre-wrap; overflow-wrap:anywhere;}
|
| 1810 |
.c-made__foot{padding:6px var(--s3); border-top:1px solid var(--c-hairline) !important;
|
| 1811 |
-
font-size:var(--t-micro); color:var(--c-muted);}
|
| 1812 |
|
| 1813 |
@media (max-width:700px){
|
| 1814 |
.c-libgrid{grid-template-columns:1fr; gap:var(--s3);}
|
|
|
|
| 301 |
.c-eyebrow{
|
| 302 |
display:flex; align-items:baseline; justify-content:space-between; gap:var(--s2);
|
| 303 |
font-size:var(--t-micro); font-weight:600; letter-spacing:.09em;
|
| 304 |
+
text-transform:uppercase; color:var(--c-muted) !important;
|
| 305 |
margin:var(--s4) 0 var(--s2); padding-bottom:var(--s2);
|
| 306 |
border-bottom:1px solid var(--c-hairline) !important;
|
| 307 |
}
|
| 308 |
.c-side>*:first-child .c-eyebrow,.c-eyebrow:first-child{margin-top:0;}
|
| 309 |
.c-eyebrow__note{text-transform:none; letter-spacing:0; font-weight:400;}
|
| 310 |
.c-note{display:flex; align-items:flex-start; gap:var(--s2); flex-wrap:wrap;
|
| 311 |
+
margin:0; font-size:var(--t-micro); color:var(--c-muted) !important;}
|
| 312 |
.c-note__text{max-width:var(--measure); line-height:1.5;}
|
| 313 |
|
| 314 |
/* ========================================================================
|
|
|
|
| 321 |
}
|
| 322 |
.c-header__brand{display:flex; align-items:baseline; gap:var(--s3); min-width:0;}
|
| 323 |
.c-wordmark{font-size:var(--t-display); font-weight:700; letter-spacing:-.045em;
|
| 324 |
+
line-height:1; color:var(--c-text) !important; white-space:nowrap;}
|
| 325 |
+
.c-wordmark__dot{color:var(--c-sage-dark) !important;}
|
| 326 |
+
.c-tagline{font-size:var(--t-label); font-weight:400; color:var(--c-text-2) !important;
|
| 327 |
line-height:1; white-space:nowrap; overflow:hidden;
|
| 328 |
text-overflow:ellipsis; padding-left:var(--s3);
|
| 329 |
border-left:1px solid var(--c-hairline) !important;}
|
| 330 |
/* Who you are, said quietly. This was a floating white pill with a shadow,
|
| 331 |
which gave the top of the page a second object competing with the
|
| 332 |
wordmark for the eye; it is a caption, so it is set like one. */
|
| 333 |
+
.c-identity{font-size:var(--t-micro); color:var(--c-muted) !important; white-space:nowrap;
|
| 334 |
overflow:hidden; text-overflow:ellipsis; max-width:38ch;}
|
| 335 |
.c-identity--link{text-decoration:underline; cursor:pointer;}
|
| 336 |
|
|
|
|
| 361 |
.c-splash__head{display:flex; flex-direction:column; align-items:flex-start;
|
| 362 |
gap:var(--s4);}
|
| 363 |
.c-splash__mark{margin:0; font-size:var(--t-display); font-weight:700;
|
| 364 |
+
letter-spacing:-.045em; line-height:1; color:var(--c-text) !important;}
|
| 365 |
.c-splash__display{
|
| 366 |
margin:0; font-family:var(--font-display);
|
| 367 |
font-size:clamp(2.6rem,1.1rem + 4.6vw,4.6rem);
|
| 368 |
+
line-height:1.02; letter-spacing:-.035em; color:var(--c-text) !important;
|
| 369 |
font-weight:680; font-optical-sizing:auto; text-wrap:balance;
|
| 370 |
}
|
| 371 |
/* The second line carries the claim, so it is the one that changes colour and
|
| 372 |
weight. Sage-deep at 9.2:1 clears AA comfortably at any size. */
|
| 373 |
+
.c-splash__display-2{color:var(--c-sage-deep) !important; font-weight:560;}
|
| 374 |
.c-splash__lede{margin:0; max-width:46ch; font-size:var(--t-lg);
|
| 375 |
+
line-height:1.5; color:var(--c-text-2) !important;}
|
| 376 |
+
.c-splash__meta{margin:0; font-size:var(--t-micro); color:var(--c-muted) !important;
|
| 377 |
letter-spacing:.02em;}
|
| 378 |
.c-splash__figure{margin:0; display:flex; flex-direction:column; gap:var(--s3);
|
| 379 |
min-width:0;}
|
|
|
|
| 381 |
box-shadow:var(--e2);}
|
| 382 |
/* The credit sits beside the image it belongs to and is never collapsed
|
| 383 |
behind a control. It is a licence condition, not a caption. */
|
| 384 |
+
.c-splash__credit{font-size:var(--t-micro); line-height:1.5; color:var(--c-muted) !important;
|
| 385 |
max-width:52ch;}
|
| 386 |
+
.c-splash__credit a{color:var(--c-sage-deep) !important; text-decoration:underline;}
|
| 387 |
.c-splash__copy button.primary{
|
| 388 |
min-width:190px !important; padding:12px 22px !important;
|
| 389 |
font-size:var(--t-body) !important; flex:0 0 auto !important;
|
|
|
|
| 422 |
which a non-flex parent then put on a line of its own. */
|
| 423 |
.c-notice__summary{display:flex !important; align-items:flex-start; gap:var(--s3);
|
| 424 |
flex-wrap:wrap; cursor:pointer; list-style:none;
|
| 425 |
+
font-size:var(--t-label); color:var(--c-text-2) !important;
|
| 426 |
line-height:1.5;}
|
| 427 |
.c-notice__summary>span:nth-child(2){flex:1 1 180px; min-width:0;}
|
| 428 |
.c-notice__summary::-webkit-details-marker{display:none;}
|
| 429 |
+
.c-notice__summary strong{color:var(--c-text) !important; font-weight:600 !important;}
|
| 430 |
/* inline-grid, not grid: a block-level box in a row that failed to become a
|
| 431 |
flex container takes the whole line to itself, which is exactly how this
|
| 432 |
mark ended up stranded above its own sentence. Inline-grid centres the
|
| 433 |
glyph just as well and cannot claim a line. */
|
| 434 |
.c-notice__mark{flex:none; width:16px; height:16px; border-radius:50%;
|
| 435 |
margin-top:2px;
|
| 436 |
+
border:1.5px solid var(--c-warn-rule) !important;
|
| 437 |
+
/* Forced for the same reason as the border: gradio paints
|
| 438 |
+
everything inside `.prose` with the body ink at a
|
| 439 |
+
specificity ours cannot reach, which left an ochre ring
|
| 440 |
+
around a black glyph. */
|
| 441 |
+
color:var(--c-warn-rule) !important;
|
| 442 |
font-size:10px; font-weight:700;
|
| 443 |
display:inline-grid; place-items:center;}
|
| 444 |
.c-notice__toggle{margin-left:auto; white-space:nowrap; font-size:var(--t-micro);
|
| 445 |
+
color:var(--c-muted) !important; text-decoration:underline;
|
| 446 |
text-underline-offset:2px; padding-left:var(--s3);}
|
| 447 |
@media (max-width:700px){
|
| 448 |
/* Its own line, aligned with the sentence it opens rather than the mark. */
|
| 449 |
.c-notice__toggle{flex:1 0 100%; margin:var(--s2) 0 0 28px; padding-left:0;}
|
| 450 |
}
|
| 451 |
.c-notice__body{margin:var(--s3) 0 var(--s1) 28px; font-size:var(--t-micro);
|
| 452 |
+
line-height:1.6; color:var(--c-text-2) !important; max-width:var(--measure);}
|
| 453 |
.c-notice__summary:focus-visible{outline:3px solid var(--c-sage); outline-offset:3px;
|
| 454 |
border-radius:var(--r-md);}
|
| 455 |
|
|
|
|
| 494 |
display:inline-flex; align-items:center; gap:5px;
|
| 495 |
height:22px; padding:0 9px; border-radius:var(--r-pill);
|
| 496 |
font-size:var(--t-micro); line-height:1; white-space:nowrap;
|
| 497 |
+
background:var(--c-fill); color:var(--c-text-2) !important;
|
| 498 |
border:1px solid transparent !important;
|
| 499 |
}
|
| 500 |
.c-chip__glyph{font-size:8px; line-height:1;}
|
| 501 |
+
.c-chip--ok{background:var(--c-mint); color:#22402C !important;}
|
| 502 |
+
.c-chip--work{background:#E7EFE2; color:var(--c-sage-deep) !important;}
|
| 503 |
+
.c-chip--warn{background:#F5EDDB; color:#5A4512 !important;}
|
| 504 |
+
.c-chip--off{background:#ECEDEA; color:#454A45 !important;}
|
| 505 |
+
.c-chip--outline{background:transparent; color:var(--c-muted) !important;
|
| 506 |
border:1px dashed var(--c-border) !important;}
|
| 507 |
|
| 508 |
/* ========================================================================
|
|
|
|
| 514 |
.c-worker--offline{opacity:.7;}
|
| 515 |
.c-worker__name{display:flex; align-items:baseline; gap:var(--s2); flex-wrap:wrap;
|
| 516 |
margin:0 0 var(--s2); font-size:var(--t-label); font-weight:600;
|
| 517 |
+
color:var(--c-text) !important; min-width:0; overflow-wrap:anywhere;}
|
| 518 |
+
.c-worker__id{font-family:var(--mono); font-size:10.5px; color:var(--c-muted) !important;
|
| 519 |
font-weight:400; overflow-wrap:anywhere;}
|
| 520 |
/* An agent name, hostname or model id is chosen on someone else's machine. It
|
| 521 |
is escaped on the way in by render.esc, which stops it becoming markup, but
|
|
|
|
| 531 |
padding:var(--s4); box-shadow:var(--e1);}
|
| 532 |
.c-panel__head{display:flex; align-items:baseline; justify-content:space-between;
|
| 533 |
gap:var(--s2); margin:0 0 var(--s3);}
|
| 534 |
+
.c-panel__title{font-size:var(--t-label); font-weight:600; color:var(--c-text) !important;}
|
| 535 |
.c-panel__boundary{font-size:10.5px; font-weight:600; letter-spacing:.07em;
|
| 536 |
+
text-transform:uppercase; color:var(--c-muted) !important; white-space:nowrap;}
|
| 537 |
.c-panel__caveat{margin:var(--s3) 0 0; font-size:var(--t-micro); line-height:1.5;
|
| 538 |
+
color:var(--c-muted) !important;}
|
| 539 |
.c-panel__never{margin:var(--s3) 0 0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 540 |
+
line-height:1.5; color:var(--c-muted) !important;
|
| 541 |
border-top:1px dashed var(--c-border) !important;}
|
| 542 |
.c-energy{display:flex; flex-direction:column; gap:var(--s1);}
|
| 543 |
.c-energy__value{margin:0; font-size:var(--t-body); font-weight:600;
|
| 544 |
+
color:var(--c-text) !important; font-variant-numeric:tabular-nums;}
|
| 545 |
/* An absence is marked, never numeric. */
|
| 546 |
+
.c-energy__value--absent{color:var(--c-text-2) !important; font-weight:500;}
|
| 547 |
+
.c-energy__dash{font-family:var(--mono); color:var(--c-muted) !important; padding-right:6px;}
|
| 548 |
.c-energy__line{margin:0; font-size:var(--t-micro); line-height:1.5;
|
| 549 |
+
color:var(--c-text-2) !important;}
|
| 550 |
|
| 551 |
/* ========================================================================
|
| 552 |
GRADE SHEET
|
|
|
|
| 559 |
.c-rubric{display:flex; flex-direction:column; gap:var(--s4);}
|
| 560 |
.c-legend{background:var(--c-fill); border-radius:var(--r-md); padding:var(--s4);}
|
| 561 |
.c-legend__title{margin:0 0 var(--s2); font-size:var(--t-label); font-weight:600;
|
| 562 |
+
color:var(--c-text) !important;}
|
| 563 |
.c-legend__body{margin:0; font-size:var(--t-label); line-height:1.55;
|
| 564 |
+
color:var(--c-text-2) !important; max-width:var(--measure);}
|
| 565 |
+
.c-legend__body strong{color:var(--c-text) !important; font-weight:600;}
|
| 566 |
.c-legend__example{display:flex; gap:var(--s2); align-items:flex-start;
|
| 567 |
margin:var(--s3) 0 0; padding:var(--s3);
|
| 568 |
background:var(--c-surface); border-radius:var(--r-md);
|
| 569 |
+
font-size:var(--t-micro); line-height:1.55; color:var(--c-text-2) !important;
|
| 570 |
max-width:var(--measure);}
|
| 571 |
.c-legend__example-mark{flex:none; width:16px; height:16px; border-radius:50%;
|
| 572 |
+
background:var(--c-sage-dark); color:#fff !important; font-size:11px;
|
| 573 |
font-weight:700; display:grid; place-items:center;
|
| 574 |
margin-top:1px;}
|
| 575 |
.c-legend__never{margin:var(--s3) 0 0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 576 |
+
line-height:1.5; color:var(--c-muted) !important;
|
| 577 |
border-top:1px dashed var(--c-border) !important;}
|
| 578 |
|
| 579 |
.c-grade-cards{display:grid; gap:var(--s3);
|
|
|
|
| 583 |
display:flex; flex-direction:column; gap:var(--s3);}
|
| 584 |
.c-grade-card__head{display:flex; align-items:baseline; justify-content:space-between;
|
| 585 |
gap:var(--s2); margin:0; flex-wrap:wrap;}
|
| 586 |
+
.c-grade-card__name{font-size:var(--t-body); font-weight:600; color:var(--c-text) !important;}
|
| 587 |
+
.c-grade-card__link{font-size:var(--t-micro); color:var(--c-sage-deep) !important;
|
| 588 |
text-decoration:underline; white-space:nowrap;}
|
| 589 |
/* Coverage sits in the card head, beside the name, because it qualifies the
|
| 590 |
whole card. "three of six areas published" is not a score and must never be
|
| 591 |
read as one, so it is set as quiet metadata rather than as a result. */
|
| 592 |
+
.c-grade-card__coverage{font-size:var(--t-micro); color:var(--c-text-2) !important;
|
| 593 |
font-variant-numeric:tabular-nums;}
|
| 594 |
.c-grade-card__note{margin:0; padding-top:var(--s3); font-size:var(--t-micro);
|
| 595 |
+
line-height:1.5; color:var(--c-muted) !important;
|
| 596 |
border-top:1px solid var(--c-hairline) !important;}
|
| 597 |
.c-grade-rows{display:flex; flex-direction:column; gap:var(--s1);}
|
| 598 |
.c-grade-row{display:flex; align-items:center; justify-content:space-between;
|
| 599 |
gap:var(--s3); margin:0; padding:var(--s1) 0;
|
| 600 |
border-bottom:1px solid var(--c-hairline) !important;}
|
| 601 |
.c-grade-row:last-child{border-bottom:none !important;}
|
| 602 |
+
.c-grade-row__label{font-size:var(--t-label); color:var(--c-text-2) !important;}
|
| 603 |
|
| 604 |
/* ONE TOKEN, NOT A NUMBER WITH A CAPTION.
|
| 605 |
The figure and the method that produced it share a single border and a single
|
|
|
|
| 615 |
border:1px solid var(--c-border) !important; border-radius:8px; overflow:hidden;
|
| 616 |
font-variant-numeric:tabular-nums;}
|
| 617 |
.c-fig__value{display:flex; align-items:center; padding:6px 9px;
|
| 618 |
+
font-size:var(--t-label); font-weight:600; color:#22402C !important;
|
| 619 |
background:var(--c-mint); white-space:nowrap;}
|
| 620 |
.c-fig__method{display:flex; align-items:center; padding:0 8px;
|
| 621 |
font-size:9.5px; font-weight:600; letter-spacing:.08em;
|
| 622 |
+
text-transform:uppercase; color:var(--c-muted) !important;
|
| 623 |
background:var(--c-surface);
|
| 624 |
border-left:1px solid var(--c-border) !important; white-space:nowrap;}
|
| 625 |
/* A measured figure is the only one that gets the filled value. A modelled one
|
|
|
|
| 627 |
by calculation rather than by metering, and the difference should read at a
|
| 628 |
glance without either being dressed as a fault. */
|
| 629 |
.c-fig--modelled .c-fig__value,
|
| 630 |
+
.c-fig--proxy .c-fig__value{background:var(--c-fill); color:var(--c-text) !important;}
|
| 631 |
.c-fig--unknown{border-style:dotted;}
|
| 632 |
+
.c-fig--unknown .c-fig__value{background:transparent; color:var(--c-text-2) !important;}
|
| 633 |
/* An absence is dashed, wordy and unfilled: it differs from a figure in shape,
|
| 634 |
fill and content, because an absence drawn as a small number asserts a light
|
| 635 |
result that nobody measured. */
|
| 636 |
.c-fig--none{border-style:dashed; background:transparent;}
|
| 637 |
.c-fig__word{display:flex; align-items:center; padding:6px 10px;
|
| 638 |
+
font-size:var(--t-micro); font-weight:500; color:var(--c-muted) !important;
|
| 639 |
white-space:nowrap;}
|
| 640 |
|
| 641 |
/* The card's own prose. Summary sits above the figures because a reader who
|
| 642 |
stops after one paragraph should stop having read the caveat, not the
|
| 643 |
headline number. */
|
| 644 |
.c-grade-card__summary{margin:0; font-size:var(--t-label); line-height:1.6;
|
| 645 |
+
color:var(--c-text-2) !important;}
|
| 646 |
.c-grade-card__covers{margin:0; font-size:var(--t-micro); line-height:1.55;
|
| 647 |
+
color:var(--c-muted) !important;}
|
| 648 |
+
.c-grade-card__covers strong{color:var(--c-text-2) !important; font-weight:600;}
|
| 649 |
.c-grade-card__links{display:flex; flex-wrap:wrap; gap:var(--s3); margin:0;
|
| 650 |
padding-top:var(--s3);
|
| 651 |
border-top:1px solid var(--c-hairline) !important;}
|
|
|
|
| 656 |
that is both complete and readable. */
|
| 657 |
.c-sources{border-top:1px solid var(--c-hairline) !important; padding-top:var(--s3);}
|
| 658 |
.c-sources__summary{cursor:pointer; font-size:var(--t-micro); font-weight:600;
|
| 659 |
+
letter-spacing:.04em; color:var(--c-sage-deep) !important;}
|
| 660 |
.c-sources__summary:focus-visible{outline:2px solid var(--c-sage);
|
| 661 |
outline-offset:2px; border-radius:3px;}
|
| 662 |
.c-sources__body{display:flex; flex-direction:column; gap:var(--s2);
|
|
|
|
| 664 |
.c-source{display:grid; grid-template-columns:minmax(88px,auto) 1fr;
|
| 665 |
gap:var(--s1) var(--s3); margin:0; font-size:var(--t-micro);
|
| 666 |
line-height:1.55;}
|
| 667 |
+
.c-source__label{color:var(--c-text-2) !important; font-weight:600;}
|
| 668 |
+
.c-source__body{color:var(--c-muted) !important;}
|
| 669 |
+
.c-source__link{color:var(--c-sage-deep) !important; text-decoration:underline;
|
| 670 |
white-space:nowrap;}
|
| 671 |
|
| 672 |
.c-reading{padding-top:var(--s3); border-top:1px dashed var(--c-border) !important;}
|
| 673 |
.c-reading__title{margin:0 0 var(--s2); font-size:var(--t-micro); font-weight:600;
|
| 674 |
letter-spacing:.06em; text-transform:uppercase;
|
| 675 |
+
color:var(--c-muted) !important;}
|
| 676 |
.c-reading__links{display:flex; flex-direction:column; gap:var(--s1); margin:0;}
|
| 677 |
+
.c-reading__link{font-size:var(--t-micro); color:var(--c-sage-deep) !important;
|
| 678 |
text-decoration:underline;}
|
| 679 |
|
| 680 |
.c-rubric__warning{margin:0; padding:var(--s3); background:var(--c-mint);
|
| 681 |
border-radius:var(--r-md); font-size:var(--t-micro);
|
| 682 |
+
line-height:1.55; color:var(--c-text) !important;}
|
| 683 |
|
| 684 |
.c-legend__pair{display:grid; gap:var(--s3); margin:var(--s3) 0 0;
|
| 685 |
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
|
|
|
|
| 687 |
gap:var(--s2); padding:var(--s3); background:var(--c-surface);
|
| 688 |
border-radius:var(--r-md);}
|
| 689 |
.c-legend__scale-body{margin:0; font-size:var(--t-micro); line-height:1.55;
|
| 690 |
+
color:var(--c-text-2) !important;}
|
| 691 |
+
.c-legend__scale-body strong{color:var(--c-text) !important; font-weight:600;}
|
| 692 |
|
| 693 |
/* ========================================================================
|
| 694 |
EMPTY STATES: no dashed drop-zone rectangles
|
|
|
|
| 696 |
.c-empty{display:flex; flex-direction:column; align-items:flex-start;
|
| 697 |
justify-content:center; text-align:left; gap:var(--s2);
|
| 698 |
padding:var(--s5) var(--s4); height:100%;}
|
| 699 |
+
.c-empty__glyph{font-size:16px; color:var(--c-sage-dark) !important; opacity:.75; line-height:1;}
|
| 700 |
+
.c-empty__title{margin:0; font-size:var(--t-lg); font-weight:600; color:var(--c-text) !important;
|
| 701 |
letter-spacing:-.015em;}
|
| 702 |
.c-empty__body{margin:0; font-size:var(--t-label); line-height:1.55;
|
| 703 |
+
color:var(--c-text-2) !important; max-width:44ch;}
|
| 704 |
.c-empty--compact{padding:var(--s4) 0; height:auto;}
|
| 705 |
.c-empty--compact .c-empty__body{max-width:32ch; font-size:var(--t-micro);}
|
| 706 |
|
|
|
|
| 795 |
.c-usage-panel{display:flex; flex-direction:column; gap:var(--s4);}
|
| 796 |
.c-usage{display:flex; flex-direction:column; gap:1px;}
|
| 797 |
.c-usage__label{margin:0; font-size:var(--t-micro); font-weight:600;
|
| 798 |
+
letter-spacing:.04em; color:var(--c-muted) !important;}
|
| 799 |
.c-usage__figure{margin:2px 0 0; font-size:22px; line-height:1.15; font-weight:600;
|
| 800 |
+
color:var(--c-text) !important; font-variant-numeric:tabular-nums;}
|
| 801 |
+
.c-usage--absent .c-usage__figure{color:var(--c-muted) !important; font-size:18px;}
|
| 802 |
+
.c-usage__means{margin:2px 0 0; font-size:var(--t-micro); color:var(--c-sage-dark) !important;
|
| 803 |
line-height:1.45;}
|
| 804 |
+
.c-usage--absent .c-usage__means{color:var(--c-muted) !important; font-style:italic;}
|
| 805 |
+
.c-usage__detail{margin:3px 0 0; font-size:11px; color:var(--c-muted) !important; line-height:1.45;}
|
| 806 |
.c-usage__more{margin-top:var(--s3); border-top:1px solid var(--c-hairline) !important;
|
| 807 |
padding-top:var(--s3);}
|
| 808 |
+
.c-usage__moretoggle{cursor:pointer; font-size:var(--t-micro); color:var(--c-muted) !important;
|
| 809 |
list-style:none;}
|
| 810 |
.c-usage__moretoggle::-webkit-details-marker{display:none;}
|
| 811 |
.c-usage__moretoggle::after{content:" +"; opacity:.7;}
|
| 812 |
details[open] .c-usage__moretoggle::after{content:" -";}
|
| 813 |
.c-usage__morebody{margin-top:var(--s2); font-size:11px; line-height:1.5;
|
| 814 |
+
color:var(--c-muted) !important;}
|
| 815 |
|
| 816 |
/* The worker's own figures, on the card for the machine they describe. */
|
| 817 |
.c-worker__energy{margin:var(--s3) 0 0; display:flex; flex-direction:column; gap:1px;
|
| 818 |
padding-top:var(--s3); border-top:1px solid var(--c-hairline) !important;}
|
| 819 |
+
.c-worker__energy-figure{font-size:15px; font-weight:600; color:var(--c-text) !important;
|
| 820 |
font-variant-numeric:tabular-nums;}
|
| 821 |
+
.c-worker__energy-means{font-size:var(--t-micro); color:var(--c-sage-dark) !important;}
|
| 822 |
+
.c-worker__energy-total{margin-top:3px; font-size:11px; color:var(--c-muted) !important;
|
| 823 |
line-height:1.45;}
|
| 824 |
+
.c-worker__energy-note{margin-top:2px; font-size:11px; color:var(--c-muted) !important;
|
| 825 |
font-style:italic;}
|
| 826 |
+
.c-worker__energy--absent{font-size:var(--t-micro); color:var(--c-muted) !important;
|
| 827 |
line-height:1.45; font-style:italic;}
|
| 828 |
|
| 829 |
/* Scope headings inside the energy panel. Small and quiet: they label the
|
| 830 |
figure, they are not the figure. */
|
| 831 |
.c-energy__scope{font-size:var(--t-micro); font-weight:600; letter-spacing:.04em;
|
| 832 |
+
color:var(--c-muted) !important; margin:var(--s3) 0 2px;}
|
| 833 |
.c-energy>.c-energy__scope:first-child{margin-top:0;}
|
| 834 |
|
| 835 |
/* An explanation under a worker card, for a state the chips cannot carry
|
| 836 |
alone. Used by "unapproved", where the useful information is what the
|
| 837 |
operator has to do next. */
|
| 838 |
.c-worker__note{margin:var(--s2) 0 0; font-size:var(--t-micro); line-height:1.45;
|
| 839 |
+
color:var(--c-muted) !important; max-width:44ch;}
|
| 840 |
|
| 841 |
/* ========================================================================
|
| 842 |
LIVE ACTIVITY
|
|
|
|
| 850 |
.c-activity--wait{border-left-color:#C8A24A;}
|
| 851 |
.c-activity--done{border-left-color:var(--c-sage-dark);}
|
| 852 |
.c-activity__head{display:flex; align-items:center; gap:var(--s2); margin:0;}
|
| 853 |
+
.c-activity__headline{font-weight:600; color:var(--c-text) !important; font-size:var(--t-body);}
|
| 854 |
+
.c-activity__dot{color:var(--c-sage-dark) !important;}
|
| 855 |
+
.c-activity__detail{margin:6px 0 0; color:var(--c-muted) !important; line-height:1.5;
|
| 856 |
max-width:var(--measure); overflow-wrap:anywhere;}
|
| 857 |
+
.c-activity__timing,.c-activity__note{margin:6px 0 0; color:var(--c-muted) !important;
|
| 858 |
font-size:var(--t-micro);}
|
| 859 |
.c-activity__note{font-style:italic;}
|
| 860 |
.c-activity__bar{margin-top:var(--s3); height:4px; border-radius:2px;
|
|
|
|
| 899 |
.c-receipt{padding:var(--s3) 0; border-top:1px solid var(--c-hairline) !important;}
|
| 900 |
.c-receipt__head{margin:0; display:flex; align-items:baseline; gap:var(--s2);
|
| 901 |
flex-wrap:wrap;}
|
| 902 |
+
.c-receipt__turn{font-size:var(--t-micro); font-weight:600; color:var(--c-muted) !important;
|
| 903 |
letter-spacing:.04em;}
|
| 904 |
+
.c-receipt__cost{font-size:16px; font-weight:600; color:var(--c-text) !important;
|
| 905 |
font-variant-numeric:tabular-nums;}
|
| 906 |
+
.c-receipt__means{font-size:var(--t-micro); color:var(--c-sage-dark) !important;}
|
| 907 |
.c-receipt .c-chips{margin-top:2px;}
|
| 908 |
.c-receipt .c-steps{margin-top:var(--s2); padding-top:var(--s2);}
|
| 909 |
|
|
|
|
| 911 |
Folded away by default: the trace above already says which tools ran, and
|
| 912 |
this is for the moment you want to know why. */
|
| 913 |
.c-turns{margin-top:var(--s2); font-size:var(--t-micro);}
|
| 914 |
+
.c-turns__toggle{cursor:pointer; color:var(--c-muted) !important; list-style:none;
|
| 915 |
padding:2px 0; user-select:none;}
|
| 916 |
.c-turns__toggle::-webkit-details-marker{display:none;}
|
| 917 |
.c-turns__toggle::after{content:" +"; opacity:.7;}
|
| 918 |
details[open]>.c-turns__toggle::after{content:" -";}
|
| 919 |
.c-turns .c-steps{margin-top:var(--s1); border-top:1px solid var(--c-hairline) !important;}
|
| 920 |
+
.c-step__lead{color:var(--c-muted) !important; margin-right:5px;}
|
| 921 |
|
| 922 |
/* A run that ended without an answer. It is not a message and it is not a
|
| 923 |
cost, so it is neither a bubble nor a receipt: one line, attached to the
|
|
|
|
| 928 |
background:#FDF8EA; border-left:2px solid var(--c-warn-rule) !important;
|
| 929 |
border-radius:0 var(--r-md) var(--r-md) 0;
|
| 930 |
padding:var(--s2) var(--s3); font-size:var(--t-micro);
|
| 931 |
+
color:var(--c-text-2) !important;}
|
| 932 |
+
.c-outcome__turn{flex:0 0 auto; font-weight:600; color:#5A4512 !important;}
|
| 933 |
.c-outcome__text{min-width:0; overflow-wrap:anywhere;}
|
| 934 |
|
| 935 |
/* ========================================================================
|
|
|
|
| 939 |
border-top:1px solid var(--c-hairline) !important;
|
| 940 |
display:flex; flex-direction:column; gap:5px;}
|
| 941 |
.c-step{display:flex; align-items:flex-start; gap:var(--s2);
|
| 942 |
+
font-size:var(--t-micro); line-height:1.45; color:var(--c-muted) !important;}
|
| 943 |
+
.c-step__mark{flex:0 0 12px; text-align:center; color:var(--c-muted) !important;}
|
| 944 |
+
.c-step--ok .c-step__mark{color:var(--c-sage-dark) !important;}
|
| 945 |
+
.c-step--warn .c-step__mark{color:#A8541F !important;}
|
| 946 |
+
.c-step--work .c-step__mark{color:var(--c-text) !important;}
|
| 947 |
.c-step__body{min-width:0; overflow-wrap:anywhere;}
|
| 948 |
.c-step__tool{background:var(--c-fill); border-radius:4px; padding:1px 5px;
|
| 949 |
+
margin-right:6px; font-size:11px; color:var(--c-text) !important;}
|
| 950 |
+
.c-step__timing{margin-left:auto; flex:0 0 auto; color:var(--c-muted) !important;
|
| 951 |
font-variant-numeric:tabular-nums;}
|
| 952 |
|
| 953 |
/* ========================================================================
|
|
|
|
| 1180 |
|
| 1181 |
/* What the offered library members actually do, one click from the picker. */
|
| 1182 |
.c-libhelp{margin:var(--s2) 0 0; font-size:var(--t-micro);}
|
| 1183 |
+
.c-libhelp__toggle{cursor:pointer; color:var(--c-muted) !important; list-style:none;}
|
| 1184 |
.c-libhelp__toggle::-webkit-details-marker{display:none;}
|
| 1185 |
.c-libhelp__toggle::after{content:" +"; opacity:.7;}
|
| 1186 |
details[open] .c-libhelp__toggle::after{content:" -";}
|
|
|
|
| 1188 |
display:flex; flex-direction:column; gap:6px;}
|
| 1189 |
.c-libhelp__item{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px;
|
| 1190 |
line-height:1.45;}
|
| 1191 |
+
.c-libhelp__name{font-weight:600; color:var(--c-text) !important;}
|
| 1192 |
+
.c-libhelp__kind{font-size:11px; color:var(--c-muted) !important; text-transform:uppercase;
|
| 1193 |
letter-spacing:.06em;}
|
| 1194 |
.c-libhelp__ref{background:var(--c-fill); border-radius:4px; padding:1px 5px;
|
| 1195 |
+
font-size:11px; color:var(--c-muted) !important;}
|
| 1196 |
+
.c-libhelp__what{flex:1 1 100%; color:var(--c-muted) !important; max-width:var(--measure);}
|
| 1197 |
+
.c-libhelp__note{margin:var(--s2) 0 0; color:var(--c-muted) !important; font-style:italic;}
|
| 1198 |
|
| 1199 |
.c-composer-foot{display:flex !important; align-items:center !important;
|
| 1200 |
justify-content:space-between !important; gap:var(--s3) !important;
|
|
|
|
| 1289 |
.c-shell>*:has(.c-skip){height:0 !important; min-height:0 !important;
|
| 1290 |
overflow:visible !important;}
|
| 1291 |
.c-skip{position:absolute; left:-9999px; top:0; background:var(--c-surface);
|
| 1292 |
+
color:var(--c-sage-deep) !important; padding:var(--s3) var(--s4);
|
| 1293 |
border-radius:var(--r-md); z-index:100; font-weight:600;}
|
| 1294 |
.c-skip:focus{left:var(--s4); top:var(--s4);}
|
| 1295 |
|
|
|
|
| 1306 |
The address and the code are the two things a person copies, so they are
|
| 1307 |
the two things drawn as copyable blocks rather than as prose. */
|
| 1308 |
.c-join{display:flex; flex-direction:column; gap:var(--s2); max-width:var(--measure);}
|
| 1309 |
+
.c-join__lead{margin:var(--s2) 0 0; font-size:var(--t-micro); color:var(--c-muted) !important;}
|
| 1310 |
.c-join__address,.c-join__code{
|
| 1311 |
display:block; background:var(--c-fill); border:1px solid var(--c-hairline) !important;
|
| 1312 |
border-radius:var(--r-md); padding:var(--s3); font-family:var(--mono);
|
| 1313 |
+
font-size:var(--t-label); color:var(--c-text) !important; word-break:break-all;
|
| 1314 |
user-select:all;}
|
| 1315 |
.c-join__alts{list-style:none; margin:0; padding:0; display:flex;
|
| 1316 |
flex-direction:column; gap:4px;}
|
| 1317 |
+
.c-join__alt{font-family:var(--mono); font-size:var(--t-micro); color:var(--c-muted) !important;}
|
| 1318 |
.c-join__cmd{margin:0; background:var(--c-surface); border:1px solid var(--c-hairline) !important;
|
| 1319 |
border-radius:var(--r-md); padding:var(--s3); font-family:var(--mono);
|
| 1320 |
font-size:11.5px; line-height:1.6; overflow-x:auto; white-space:pre;
|
| 1321 |
+
color:var(--c-text-2) !important; user-select:all;}
|
| 1322 |
+
.c-join__note{margin:0; font-size:var(--t-micro); color:var(--c-muted) !important;
|
| 1323 |
line-height:1.55; max-width:56ch;}
|
| 1324 |
.c-join__note code{font-family:var(--mono); font-size:11px;
|
| 1325 |
background:var(--c-fill); border-radius:4px; padding:1px 5px;}
|
|
|
|
| 1335 |
.c-step-num{display:flex; gap:var(--s3); align-items:flex-start;}
|
| 1336 |
.c-step-num__n{flex:none; width:24px; height:24px; border-radius:50%;
|
| 1337 |
display:grid; place-items:center; margin-top:1px;
|
| 1338 |
+
background:var(--c-mint); color:var(--c-sage-deep) !important;
|
| 1339 |
font-size:12px; font-weight:700;}
|
| 1340 |
.c-step-num__body{flex:1 1 auto; min-width:0; display:flex;
|
| 1341 |
flex-direction:column; gap:var(--s2);}
|
| 1342 |
.c-step-num__head{margin:0; font-size:var(--t-body); font-weight:650;
|
| 1343 |
+
color:var(--c-text) !important; letter-spacing:-.01em;}
|
| 1344 |
|
| 1345 |
.c-join__qr{margin-top:var(--s3);}
|
| 1346 |
.c-join__qr svg{width:160px; height:160px; display:block;
|
|
|
|
| 1374 |
.c-credit{display:flex; align-items:flex-start; gap:var(--s3); margin:0; max-width:100%;}
|
| 1375 |
.c-credit__img{width:56px; height:36px; object-fit:cover; border-radius:6px;
|
| 1376 |
display:block; flex:none;}
|
| 1377 |
+
.c-credit__text{font-size:10.5px; line-height:1.45; color:var(--c-muted) !important;}
|
| 1378 |
+
.c-credit__text a{color:var(--c-sage-deep) !important; text-decoration:underline;}
|
| 1379 |
.c-credit--compact{gap:var(--s2);}
|
| 1380 |
.c-credit--compact .c-credit__img{width:44px; height:28px;}
|
| 1381 |
|
|
|
|
| 1507 |
selected state has to survive a squint test: accent border, filled check,
|
| 1508 |
tinted wash — three signals, any one of which is enough. */
|
| 1509 |
.c-libpage{max-width:var(--shell-max); margin:0 auto; padding:var(--s5) var(--shell-pad) var(--s8);}
|
| 1510 |
+
.c-libpage__back{font-size:var(--t-label); color:var(--c-text-2) !important; text-decoration:none;
|
| 1511 |
display:inline-flex; align-items:center; gap:6px;}
|
| 1512 |
+
.c-libpage__back:hover{color:var(--c-text) !important;}
|
| 1513 |
.c-libpage__title{margin:var(--s3) 0 4px; font-family:var(--font-display);
|
| 1514 |
font-weight:600; font-size:clamp(26px,4vw,34px); letter-spacing:-.015em;
|
| 1515 |
+
color:var(--c-text) !important;}
|
| 1516 |
+
.c-libpage__lede{margin:0 0 var(--s5); max-width:var(--measure); color:var(--c-text-2) !important;}
|
| 1517 |
.c-libsave{position:sticky; top:0; z-index:9; display:flex; align-items:center; gap:var(--s3);
|
| 1518 |
background:color-mix(in srgb, var(--c-canvas) 88%, transparent);
|
| 1519 |
backdrop-filter:blur(6px); padding:var(--s2) 0; margin-bottom:var(--s2);}
|
| 1520 |
+
.c-libsave__count{font-size:var(--t-label); color:var(--c-text-2) !important;}
|
| 1521 |
+
.c-libsave__count strong{color:var(--c-sage-deep) !important; font-weight:650;}
|
| 1522 |
|
| 1523 |
.c-libgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
|
| 1524 |
gap:var(--s4); margin:var(--s4) 0;}
|
|
|
|
| 1537 |
width:24px; height:24px; border-radius:50%;
|
| 1538 |
display:flex; align-items:center; justify-content:center;
|
| 1539 |
font-size:14px; line-height:1;
|
| 1540 |
+
border:1.5px solid var(--c-border) !important; color:var(--c-muted) !important;
|
| 1541 |
background:var(--c-surface);
|
| 1542 |
transition:all .15s ease;}
|
| 1543 |
.c-libcard.is-on .c-libcard__check{border-color:var(--c-accent);
|
| 1544 |
+
background:var(--c-accent); color:#fff !important;}
|
| 1545 |
.c-libcard__check::before{content:"+";}
|
| 1546 |
.c-libcard.is-on .c-libcard__check::before{content:"✓";}
|
| 1547 |
.c-libcard__media{margin:calc(var(--s4)*-1) calc(var(--s4)*-1) var(--s2);
|
|
|
|
| 1558 |
.c-libcard__media.is-playing .c-libcard__poster{opacity:0;}
|
| 1559 |
.c-libcard__play{position:relative; z-index:1;
|
| 1560 |
display:inline-flex; align-items:center; gap:6px;
|
| 1561 |
+
font-size:var(--t-micro); color:var(--c-text-2) !important;
|
| 1562 |
background:color-mix(in srgb, var(--c-surface) 92%, transparent);
|
| 1563 |
border:1px solid var(--c-hairline) !important; backdrop-filter:blur(3px);
|
| 1564 |
border-radius:999px; padding:4px 10px; opacity:0;
|
| 1565 |
transition:opacity .15s ease;}
|
| 1566 |
+
.c-libcard__play::before{content:"▶"; font-size:9px; color:var(--c-sage-deep) !important;}
|
| 1567 |
/* The invitation appears on approach and never sits permanently over the
|
| 1568 |
result it is inviting you to watch. Always visible where there is no
|
| 1569 |
poster to obscure, since then it is the only thing in the frame. */
|
|
|
|
| 1574 |
.c-libcard__head{display:flex; align-items:center; gap:var(--s2); padding-right:28px;}
|
| 1575 |
.c-libcard__kind{font-size:var(--t-micro); letter-spacing:.06em; text-transform:uppercase;
|
| 1576 |
padding:2px 8px; border-radius:999px; background:var(--c-fill);
|
| 1577 |
+
color:var(--c-text-2) !important; flex:none;}
|
| 1578 |
+
.c-libcard__kind--skill{background:var(--c-mint); color:var(--c-sage-deep) !important;}
|
| 1579 |
+
.c-libcard__name{margin:0; font-size:var(--t-body); font-weight:650; color:var(--c-text) !important;
|
| 1580 |
text-transform:capitalize;}
|
| 1581 |
+
.c-libcard__author{margin:0; font-size:var(--t-micro); color:var(--c-muted) !important;}
|
| 1582 |
.c-libcard__desc{margin:2px 0 0; font-size:13px; line-height:1.5;
|
| 1583 |
+
color:var(--c-text-2) !important;
|
| 1584 |
display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
|
| 1585 |
overflow:hidden;}
|
| 1586 |
.c-libcard__ref{margin-top:auto; padding-top:var(--s2); font-family:var(--mono);
|
| 1587 |
+
font-size:11px; color:var(--c-muted) !important;}
|
| 1588 |
|
| 1589 |
/* ---- Navigation, in the header band -----------------------------------
|
| 1590 |
A button (the library, which navigates) beside a link (a section of this
|
|
|
|
| 1702 |
.c-shell:has(.c-identity:not(:empty)):has(.c-noworker-hook) .c-chat{
|
| 1703 |
min-height:300px !important; max-height:300px !important;}
|
| 1704 |
}
|
| 1705 |
+
.c-veil__title{margin:0 0 6px; font-weight:650; font-size:var(--t-lg); color:var(--c-text) !important;}
|
| 1706 |
+
.c-veil__body{margin:0 0 var(--s4); color:var(--c-text-2) !important; line-height:1.55;}
|
| 1707 |
/* The colour is forced for the same reason the borders are: gradio styles
|
| 1708 |
anchors inside its container with two classes, which outranks ours, so the
|
| 1709 |
white label on this button was being repainted the theme's link green —
|
|
|
|
| 1769 |
padding:8px var(--s3); border-bottom:1px solid var(--c-hairline) !important;
|
| 1770 |
background:var(--c-fill);}
|
| 1771 |
.c-madecard__dot{width:8px; height:8px; border-radius:50%; background:var(--c-accent); flex:none;}
|
| 1772 |
+
.c-madecard__name{font-family:var(--mono); font-size:12px; color:var(--c-text) !important;
|
| 1773 |
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
| 1774 |
+
.c-madecard__kind{margin-left:auto; flex:none; font-size:var(--t-micro); color:var(--c-muted) !important;
|
| 1775 |
letter-spacing:.05em; text-transform:uppercase;}
|
| 1776 |
/* A glance, not a document viewer. The preview sits inside a conversation
|
| 1777 |
and has to read as one object at one glance; at 340px it was a scrolling
|
|
|
|
| 1786 |
background:linear-gradient(to bottom, transparent, var(--c-surface));}
|
| 1787 |
/* A document page: a white sheet with real margins and the actual text. */
|
| 1788 |
.c-made--doc .c-madecard__body{font-family:Georgia,'Times New Roman',serif;
|
| 1789 |
+
color:#26241F !important; line-height:1.6; font-size:13.5px;}
|
| 1790 |
.c-made--doc .c-madecard__body h4{margin:0 0 8px; font-size:16px; font-weight:700;}
|
| 1791 |
.c-made--doc .c-madecard__body p{margin:0 0 8px;}
|
| 1792 |
/* A sheet: a real grid of the actual cells. */
|
|
|
|
| 1799 |
gap:var(--s2);}
|
| 1800 |
.c-madeslide{aspect-ratio:16/9; border:1px solid var(--c-hairline) !important; border-radius:6px;
|
| 1801 |
background:#fff; padding:8px; display:flex; flex-direction:column; gap:3px; overflow:hidden;}
|
| 1802 |
+
.c-madeslide__no{font-size:9px; color:var(--c-muted) !important;}
|
| 1803 |
+
.c-madeslide__title{font-size:11px; font-weight:650; color:var(--c-text) !important; line-height:1.25;}
|
| 1804 |
.c-madeslide__line{height:3px; border-radius:2px; background:var(--c-fill); width:86%;}
|
| 1805 |
.c-madeslide__line+.c-madeslide__line{width:70%;}
|
| 1806 |
/* Code or plain text: the content itself, monospaced. */
|
|
|
|
| 1810 |
its own taller cap, which meant a stylesheet came back twice the height of
|
| 1811 |
a document and the shelf of results had no common measure. */
|
| 1812 |
.c-made--text pre{margin:0; padding:var(--s3) var(--s4); font-family:var(--mono);
|
| 1813 |
+
font-size:12px; line-height:1.55; color:var(--c-text) !important; overflow:hidden; max-height:210px;
|
| 1814 |
white-space:pre-wrap; overflow-wrap:anywhere;}
|
| 1815 |
.c-made__foot{padding:6px var(--s3); border-top:1px solid var(--c-hairline) !important;
|
| 1816 |
+
font-size:var(--t-micro); color:var(--c-muted) !important;}
|
| 1817 |
|
| 1818 |
@media (max-width:700px){
|
| 1819 |
.c-libgrid{grid-template-columns:1fr; gap:var(--s3);}
|