Upload style.css
Browse files- static/css/style.css +138 -0
static/css/style.css
CHANGED
|
@@ -1586,3 +1586,141 @@ audio {
|
|
| 1586 |
color: var(--color-text-secondary);
|
| 1587 |
margin: 0;
|
| 1588 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1586 |
color: var(--color-text-secondary);
|
| 1587 |
margin: 0;
|
| 1588 |
}
|
| 1589 |
+
|
| 1590 |
+
/* ============================================================
|
| 1591 |
+
12F: Component library pass + accessibility review
|
| 1592 |
+
============================================================ */
|
| 1593 |
+
|
| 1594 |
+
/* ---- Focus rings: every interactive element needs a visible focus
|
| 1595 |
+
indicator for keyboard users. Existing .btn:focus-visible covers
|
| 1596 |
+
primary/secondary/provider buttons. Adding the missing cases. ---- */
|
| 1597 |
+
|
| 1598 |
+
.filter-chip:focus-visible {
|
| 1599 |
+
outline: 2px solid var(--color-primary);
|
| 1600 |
+
outline-offset: 2px;
|
| 1601 |
+
}
|
| 1602 |
+
|
| 1603 |
+
.provider .filter-chip:focus-visible {
|
| 1604 |
+
outline-color: var(--color-provider-accent);
|
| 1605 |
+
}
|
| 1606 |
+
|
| 1607 |
+
.queue-tab:focus-visible {
|
| 1608 |
+
outline: 2px solid var(--color-provider-accent);
|
| 1609 |
+
outline-offset: 2px;
|
| 1610 |
+
}
|
| 1611 |
+
|
| 1612 |
+
.sort-toggle-btn:focus-visible {
|
| 1613 |
+
outline: 2px solid var(--color-provider-accent);
|
| 1614 |
+
outline-offset: 2px;
|
| 1615 |
+
}
|
| 1616 |
+
|
| 1617 |
+
.history-row:focus-visible {
|
| 1618 |
+
outline: 2px solid var(--color-primary);
|
| 1619 |
+
outline-offset: 2px;
|
| 1620 |
+
}
|
| 1621 |
+
|
| 1622 |
+
.queue-card:focus-visible {
|
| 1623 |
+
outline: 2px solid var(--color-provider-accent);
|
| 1624 |
+
outline-offset: 2px;
|
| 1625 |
+
}
|
| 1626 |
+
|
| 1627 |
+
.audio-btn:focus-visible {
|
| 1628 |
+
outline: 2px solid var(--color-primary-dark);
|
| 1629 |
+
outline-offset: 2px;
|
| 1630 |
+
}
|
| 1631 |
+
|
| 1632 |
+
.provider .audio-btn:focus-visible {
|
| 1633 |
+
outline-color: var(--color-provider-accent-text);
|
| 1634 |
+
}
|
| 1635 |
+
|
| 1636 |
+
/* ---- Disabled state for the provider Send button. btn-primary:disabled
|
| 1637 |
+
already exists, this mirrors it for the rust-accent role. ---- */
|
| 1638 |
+
|
| 1639 |
+
.btn-provider:disabled {
|
| 1640 |
+
background: var(--color-border);
|
| 1641 |
+
color: var(--color-text-secondary);
|
| 1642 |
+
box-shadow: none;
|
| 1643 |
+
cursor: not-allowed;
|
| 1644 |
+
}
|
| 1645 |
+
|
| 1646 |
+
/* ---- Spinner color inside the provider Send button (explicit, not
|
| 1647 |
+
relying on inheritance from the button's own text color). ---- */
|
| 1648 |
+
|
| 1649 |
+
.btn-provider .spinner {
|
| 1650 |
+
border: 2px solid rgba(255, 255, 255, 0.35);
|
| 1651 |
+
border-top-color: #fff;
|
| 1652 |
+
}
|
| 1653 |
+
|
| 1654 |
+
/* ---- Fix float: right on timestamps inside flex containers.
|
| 1655 |
+
Float is unreliable inside flex/grid parents; push the timestamp
|
| 1656 |
+
to the end of the row with margin-left: auto instead. ---- */
|
| 1657 |
+
|
| 1658 |
+
.history-row-static .timestamp {
|
| 1659 |
+
float: none;
|
| 1660 |
+
margin-left: auto;
|
| 1661 |
+
}
|
| 1662 |
+
|
| 1663 |
+
/* ---- Reduce result-text font-size: var(--text-lg) is over-sized for
|
| 1664 |
+
a preview line in a history or result row. Match surrounding text. ---- */
|
| 1665 |
+
|
| 1666 |
+
.result-text {
|
| 1667 |
+
font-size: var(--text-base);
|
| 1668 |
+
color: var(--color-text);
|
| 1669 |
+
}
|
| 1670 |
+
|
| 1671 |
+
/* ---- NLU summary: remove the double bottom spacing caused by the
|
| 1672 |
+
card's own padding + the element's margin-bottom. ---- */
|
| 1673 |
+
|
| 1674 |
+
.nlu-summary {
|
| 1675 |
+
margin-bottom: 0;
|
| 1676 |
+
}
|
| 1677 |
+
|
| 1678 |
+
/* ---- Desktop provider: hide Back buttons in the respond pane. On
|
| 1679 |
+
desktop both panes are always visible (two-column layout), so
|
| 1680 |
+
Back makes no sense in either compose or read-only mode. ---- */
|
| 1681 |
+
|
| 1682 |
+
@media (min-width: 900px) {
|
| 1683 |
+
.provider-layout [data-step="respond"] #back-to-list,
|
| 1684 |
+
.provider-layout [data-step="respond"] #back-to-list-readonly {
|
| 1685 |
+
display: none;
|
| 1686 |
+
}
|
| 1687 |
+
}
|
| 1688 |
+
|
| 1689 |
+
/* ---- Visually-hidden utility: for screen-reader-only text that should
|
| 1690 |
+
not appear visually but is needed for accessibility context, e.g.
|
| 1691 |
+
adding " (active)" to the selected filter chip label. ---- */
|
| 1692 |
+
|
| 1693 |
+
.sr-only {
|
| 1694 |
+
position: absolute;
|
| 1695 |
+
width: 1px;
|
| 1696 |
+
height: 1px;
|
| 1697 |
+
padding: 0;
|
| 1698 |
+
margin: -1px;
|
| 1699 |
+
overflow: hidden;
|
| 1700 |
+
clip: rect(0, 0, 0, 0);
|
| 1701 |
+
white-space: nowrap;
|
| 1702 |
+
border: 0;
|
| 1703 |
+
}
|
| 1704 |
+
|
| 1705 |
+
/* ---- Skip link: allows keyboard users to skip past the header and
|
| 1706 |
+
jump directly to the main content. Visually hidden until focused,
|
| 1707 |
+
appears as a small bar at the top of the viewport on Tab. ---- */
|
| 1708 |
+
|
| 1709 |
+
.skip-link {
|
| 1710 |
+
position: absolute;
|
| 1711 |
+
top: -40px;
|
| 1712 |
+
left: var(--space-4);
|
| 1713 |
+
background: var(--color-text);
|
| 1714 |
+
color: var(--color-bg);
|
| 1715 |
+
font-size: var(--text-sm);
|
| 1716 |
+
font-weight: 600;
|
| 1717 |
+
padding: var(--space-2) var(--space-4);
|
| 1718 |
+
border-radius: 0 0 var(--radius-sm) var(--radius-sm);
|
| 1719 |
+
text-decoration: none;
|
| 1720 |
+
z-index: 200;
|
| 1721 |
+
transition: top 150ms ease;
|
| 1722 |
+
}
|
| 1723 |
+
|
| 1724 |
+
.skip-link:focus {
|
| 1725 |
+
top: 0;
|
| 1726 |
+
}
|