@font-face {
font-family: "IBM Plex Sans";
src: url("fonts/IBMPlexSans-Regular.woff2") format("woff2");
font-weight: 400;
font-display: swap;
}
@font-face {
font-family: "IBM Plex Sans";
src: url("fonts/IBMPlexSans-Medium.woff2") format("woff2");
font-weight: 500;
font-display: swap;
}
@font-face {
font-family: "IBM Plex Sans";
src: url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
font-weight: 600;
font-display: swap;
}
@font-face {
font-family: "IBM Plex Mono";
src: url("fonts/IBMPlexMono-Regular.woff2") format("woff2");
font-weight: 400;
font-display: swap;
}
@font-face {
font-family: "IBM Plex Mono";
src: url("fonts/IBMPlexMono-Medium.woff2") format("woff2");
font-weight: 500;
font-display: swap;
}
:root {
--bg: #f4f6f8;
--panel: #ffffff;
--soft: #f9fafb;
--line: #dce3e8;
--line-soft: #e8edf1;
--ink: #1e2a35;
--ink-2: #3a4d5e;
--muted: #64778a;
--accent: #f0a43c;
--accent-ink: #1e2a35;
--accent-edge: #c97f14;
--blue: #4c7088;
--blue-soft: #e3ecf2;
--blue-ink: #2f4f68;
--green: #3e9a6e;
--green-soft: #eaf4ef;
--green-ink: #1f5c3e;
--amber-soft: #fbebd2;
--amber-ink: #7a4e0a;
--red: #c0392b;
--red-soft: #fbeae8;
--red-ink: #8e2a1f;
--chip: #eef2f5;
--code-bg: #1e2a35;
--code-ink: #c8d6e0;
--code-key: #7e93a3;
--scrim: rgba(20, 28, 36, 0.38);
--shadow-nav: 0 18px 40px rgba(16, 26, 36, 0.14);
--shadow-pop: 0 10px 28px rgba(16, 26, 36, 0.18), 0 1px 2px rgba(16, 26, 36, 0.12);
--sans: "IBM Plex Sans", "Plex Sans Fallback", "Helvetica Neue", Arial, sans-serif;
--mono: "IBM Plex Mono", "Plex Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;
--sp-1: 4px;
--sp-2: 8px;
--sp-2h: 10px;
--sp-3: 12px;
--sp-3h: 14px;
--sp-4: 16px;
--sp-4h: 18px;
--sp-5: 20px;
--sp-6: 24px;
--view-floor: 44px;
--h-dial: 28px;
--r-1: 4px;
--r-2: 6px;
--r-3: 8px;
--r-4: 10px;
--r-pill: 999px;
--t-micro: 10px;
--t-micro-h: 10.5px;
--t-tiny: 11px;
--t-tiny-h: 11.5px;
--t-small: 12px;
--t-small-h: 12.5px;
--t-body-sm: 13px;
--t-body: 14px;
--t-lead: 16px;
--t-stat: 26px;
--t-title: 18px;
--t-h1: 21px;
--t-display: 24px;
--t-field: 13px;
--lh-tight: 1.25;
--lh-heading: 1.3;
--lh-prose: 1.45;
--lh-code: 1.6;
--d-quick: 120ms;
--d-fade: 130ms;
--d-hover: 140ms;
--d-pop: 150ms;
--d-rise: 160ms;
--d-slide: 170ms;
--d-bar: 0.4s;
--d-pulse: 2.4s;
--e-in-out: ease;
--e-out: ease-out;
--e-pop: cubic-bezier(0.2, 0.9, 0.3, 1);
--e-linear: linear;
--measure: 68ch;
--topbar-h: 56px;
--rail-w: 56px;
--side-w: 236px;
}
@font-face {
font-family: "Plex Sans Fallback";
src: local("Helvetica Neue"), local("Arial"), local("Liberation Sans");
size-adjust: 100.6%;
ascent-override: 103%;
descent-override: 27%;
line-gap-override: 0%;
}
@font-face {
font-family: "Plex Mono Fallback";
src: local("Menlo"), local("Consolas"), local("DejaVu Sans Mono");
size-adjust: 99.4%;
ascent-override: 103%;
descent-override: 27%;
line-gap-override: 0%;
}
:root[data-theme="dark"] {
--bg: #0f151a;
--panel: #161f27;
--soft: #1b242c;
--line: #26333d;
--line-soft: #202b34;
--ink: #e7eef3;
--ink-2: #b7c6d1;
--muted: #8a9dab;
--accent: #f0a43c;
--accent-ink: #13202b;
--accent-edge: #c97f14;
--blue: #86aec7;
--blue-soft: #1c2b37;
--blue-ink: #a9c8db;
--green: #4fb185;
--green-soft: #16261f;
--green-ink: #7fcfa8;
--amber-soft: #2e2310;
--amber-ink: #e9bc72;
--red: #e08074;
--red-soft: #2b1714;
--red-ink: #f0a79c;
--chip: #212c35;
--code-bg: #0a1015;
--code-ink: #c8d6e0;
--code-key: #7e93a3;
--scrim: rgba(0, 0, 0, 0.5);
--shadow-nav: 0 18px 40px rgba(0, 0, 0, 0.42);
--shadow-pop: 0 10px 28px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4);
}
@media (pointer: coarse) {
:root {
--t-field: 16px;
}
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--bg: #0f151a;
--panel: #161f27;
--soft: #1b242c;
--line: #26333d;
--line-soft: #202b34;
--ink: #e7eef3;
--ink-2: #b7c6d1;
--muted: #8a9dab;
--accent-ink: #13202b;
--blue: #86aec7;
--blue-soft: #1c2b37;
--blue-ink: #a9c8db;
--green: #4fb185;
--green-soft: #16261f;
--green-ink: #7fcfa8;
--amber-soft: #2e2310;
--amber-ink: #e9bc72;
--red: #e08074;
--red-soft: #2b1714;
--red-ink: #f0a79c;
--chip: #212c35;
--code-bg: #0a1015;
--scrim: rgba(0, 0, 0, 0.5);
--shadow-nav: 0 18px 40px rgba(0, 0, 0, 0.42);
--shadow-pop: 0 10px 28px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4);
}
}
* {
box-sizing: border-box;
}
[hidden] {
display: none !important;
}
html,
body {
margin: 0;
}
p {
margin: 0;
}
body {
font-family: var(--sans);
font-size: var(--t-body);
line-height: var(--lh-prose);
color: var(--ink);
background: var(--bg);
-webkit-font-smoothing: antialiased;
}
a {
color: var(--blue);
text-decoration: none;
}
a:hover {
color: var(--ink);
}
button,
input,
select,
textarea {
font: inherit;
color: inherit;
}
.card p + .field,
.card .subtitle + .field,
.card p + .copyfield,
.card .subtitle + .copyfield {
margin-top: var(--sp-2);
}
::placeholder {
font-size: var(--t-small);
font-family: var(--mono);
color: var(--muted);
opacity: 1;
}
table {
border-collapse: collapse;
width: 100%;
font-variant-numeric: tabular-nums;
}
:focus-visible {
outline: 2px solid var(--blue);
outline-offset: 2px;
}
.only-narrow {
display: none;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
@keyframes pulse {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.3;
}
}
@media (prefers-reduced-motion: reduce) {
.pill.on i {
animation: none;
}
* {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
}
#app {
display: flex;
flex-direction: column;
height: 100dvh;
max-height: 100dvh;
overflow: hidden;
}
.topbar {
position: sticky;
top: 0;
z-index: 30;
flex-shrink: 0;
height: var(--topbar-h);
display: flex;
align-items: center;
gap: var(--sp-3);
padding: 0 14px;
background: var(--panel);
border-bottom: 1px solid var(--line);
}
.hamburger,
.icon-button {
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out),
border-color var(--d-fade) var(--e-in-out);
display: inline-flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
flex-shrink: 0;
border: 1px solid var(--line);
border-radius: 7px;
background: var(--panel);
color: var(--ink-2);
cursor: pointer;
}
.hamburger:hover,
.icon-button:hover {
background: var(--soft);
color: var(--ink);
}
.brand {
display: flex;
align-items: center;
gap: 9px;
flex-shrink: 0;
color: var(--ink);
background: none;
border: 0;
padding: 0;
cursor: pointer;
}
.brand .logo {
width: 26px;
height: 26px;
border-radius: var(--r-2);
display: block;
}
.wordmark {
font-weight: 600;
letter-spacing: -0.01em;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.divider-v {
width: 1px;
height: 22px;
background: var(--line);
flex-shrink: 0;
}
.page-title {
font-weight: 500;
color: var(--ink-2);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
min-width: 0;
}
.spacer {
flex-grow: 1;
}
.search-launcher {
transition: border-color var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out),
background var(--d-fade) var(--e-in-out);
display: flex;
align-items: center;
gap: 9px;
height: 34px;
padding: 0 var(--sp-2) 0 var(--sp-3);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--soft);
color: var(--muted);
flex: 0 1 320px;
min-width: 0;
cursor: pointer;
}
.search-launcher:hover {
border-color: var(--blue);
color: var(--ink);
}
.search-launcher .what {
font-size: var(--t-body-sm);
flex-grow: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: left;
}
.key-hint {
font-family: var(--mono);
font-size: var(--t-micro);
padding: 2px 6px;
border-radius: var(--r-1);
background: var(--panel);
border: 1px solid var(--line);
flex-shrink: 0;
}
.body {
display: flex;
align-items: stretch;
flex-grow: 1;
min-height: 0;
position: relative;
}
main {
flex-grow: 1;
min-width: 0;
min-height: 0;
display: flex;
flex-direction: column;
overflow: hidden;
}
.rail {
width: var(--rail-w);
flex-shrink: 0;
background: var(--panel);
border-right: 1px solid var(--line);
display: flex;
flex-direction: column;
align-items: center;
gap: var(--sp-1);
padding: var(--sp-3) 0;
overflow-y: auto;
}
.rail-group {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--sp-1);
}
.rail-rule {
width: 20px;
height: 1px;
background: var(--line);
margin: 5px 0;
}
.rail-item {
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out);
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: var(--r-3);
flex-shrink: 0;
border: 0;
background: none;
color: var(--ink-2);
cursor: pointer;
}
.rail-item:hover {
background: var(--soft);
color: var(--ink);
}
.rail-item[aria-current="page"] {
background: var(--blue-soft);
color: var(--ink);
}
.live-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--green);
display: inline-block;
flex-shrink: 0;
animation: pulse var(--d-pulse) ease-in-out infinite;
}
.sidebar {
width: var(--side-w);
flex-shrink: 0;
background: var(--panel);
border-right: 1px solid var(--line);
padding: var(--sp-3) var(--sp-3) var(--sp-4);
display: flex;
flex-direction: column;
gap: var(--sp-2);
overflow-y: auto;
}
.nav-group {
display: flex;
flex-direction: column;
gap: 2px;
}
.nav-group-label {
font: 500 var(--t-micro) var(--mono);
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--muted);
padding: var(--sp-2) var(--sp-3) var(--sp-1);
}
.nav-item {
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out);
display: flex;
align-items: center;
gap: var(--sp-2h);
padding: var(--sp-2) var(--sp-3);
border-radius: var(--r-2);
font-weight: 500;
font-size: var(--t-body-sm);
color: var(--ink-2);
border: 0;
background: none;
width: 100%;
text-align: left;
cursor: pointer;
}
.nav-item:hover {
background: var(--soft);
color: var(--ink);
}
.nav-item[aria-current="page"] {
background: var(--blue-soft);
color: var(--ink);
}
.nav-item svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}
.daemon-card {
border: 1px solid var(--line);
border-radius: var(--r-3);
padding: var(--sp-2h) var(--sp-3);
display: flex;
flex-direction: column;
gap: var(--sp-1);
background: var(--soft);
}
.daemon-card .who {
display: flex;
align-items: center;
gap: var(--sp-2);
font-weight: 500;
}
.daemon-card .fact {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.scrim {
display: none;
}
@keyframes rise {
from {
opacity: 0;
transform: translateY(4px);
}
to {
opacity: 1;
transform: none;
}
}
.view > * {
flex-shrink: 0;
}
.view {
animation: rise var(--d-rise) var(--e-out);
padding: var(--sp-6) var(--sp-6) var(--view-floor);
display: flex;
flex-direction: column;
gap: var(--sp-4h);
flex-grow: 1;
min-width: 0;
min-height: 0;
overflow-y: auto;
}
.grow {
flex: 1 1 auto;
min-height: 0;
display: flex;
flex-direction: column;
}
.grow > .table-wrap {
flex: 1 1 auto;
min-height: 0;
overflow: auto;
}
.scroller {
display: flex;
flex-direction: column;
gap: var(--sp-4);
min-height: 0;
flex: 1 0 auto;
}
.scroller.grid {
display: grid;
}
.view > .scroller.grid:not(:last-child) {
flex-grow: 0;
}
.grid.fill {
flex: 1 1 auto;
align-items: stretch;
}
.grid.fill > * {
min-height: 0;
}
.page-head {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
}
.page-head .line {
display: flex;
align-items: center;
gap: var(--sp-3);
flex-wrap: wrap;
min-width: 0;
}
h1 {
margin: 0;
font-size: var(--t-h1);
font-weight: 600;
letter-spacing: -0.01em;
}
h2 {
margin: 0;
font-size: var(--t-lead);
font-weight: 600;
}
.head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: var(--sp-4);
flex-wrap: wrap;
}
.titles {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
}
.subtitle {
margin: 0;
color: var(--muted);
font-size: var(--t-small-h);
line-height: var(--lh-prose);
text-wrap: pretty;
}
.page-head > .subtitle {
font-size: var(--t-body);
}
.titles > .subtitle {
font-size: var(--t-body-sm);
}
.card .subtitle,
.hero .subtitle {
max-width: 100%;
}
.eyebrow {
font: 500 var(--t-tiny) var(--mono);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
}
.eyebrow.sm {
font-size: var(--t-micro-h);
}
.card-title {
font-weight: 600;
font-size: var(--t-body);
}
.actions {
display: flex;
gap: var(--sp-2);
flex-wrap: wrap;
align-items: center;
}
.page-head .actions > .button,
.page-head .actions > .button.small {
height: 36px;
}
.rule {
height: 1px;
background: var(--line-soft);
border: 0;
margin: 0;
}
.mono {
font-family: var(--mono);
}
.muted {
color: var(--muted);
}
.card {
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
overflow: hidden;
min-width: 0;
}
.card.pad {
padding: var(--sp-4) var(--sp-4h);
display: flex;
flex-direction: column;
gap: var(--sp-3);
min-height: 0;
}
.card.pad.dense {
padding: var(--sp-3h) var(--sp-4);
gap: var(--sp-2h);
}
.steps-list {
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.step-row {
display: flex;
gap: var(--sp-3);
min-width: 0;
}
.step-row .n {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--blue);
width: 16px;
flex-shrink: 0;
}
.step-row .what {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
flex-grow: 1;
}
.step-row .say {
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
text-wrap: pretty;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--sp-4);
align-items: start;
min-height: 0;
}
.grid.two {
grid-template-columns: minmax(320px, 1fr) minmax(0, 1.1fr);
align-items: stretch;
}
.about-grid > .lang-card {
grid-column: 1 / -1;
}
.grid.three {
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
align-items: stretch;
}
.grid.grow > * {
min-height: 0;
}
.strip {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3);
}
.stat {
flex: 1 1 160px;
min-width: 0;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
padding: var(--sp-3h) var(--sp-4);
display: flex;
flex-direction: column;
gap: var(--sp-1);
}
.stat .value {
font-family: var(--mono);
font-size: var(--t-stat);
font-weight: 500;
line-height: var(--lh-tight);
font-variant-numeric: tabular-nums;
}
.stat .sub {
color: var(--muted);
font-size: var(--t-small);
line-height: var(--lh-prose);
}
.stat.ringed {
border-color: var(--accent);
}
.rows {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.rows.tight {
gap: 2px;
}
.gone-row {
display: flex;
align-items: center;
gap: var(--sp-2);
min-width: 0;
}
.kv.step {
align-items: center;
flex-wrap: nowrap;
gap: var(--sp-2h);
}
.kv.step .card-title {
width: 62px;
flex-shrink: 0;
}
.kv {
display: flex;
align-items: baseline;
gap: var(--sp-3);
flex-wrap: wrap;
}
.kv .k {
font: 500 var(--t-tiny) var(--mono);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
width: 120px;
flex-shrink: 0;
}
.kv .v {
font-family: var(--mono);
font-size: var(--t-body-sm);
min-width: 0;
overflow-wrap: anywhere;
}
.kv.pair {
display: grid;
grid-template-columns: 120px minmax(0, 1fr);
align-items: baseline;
}
.kv.pair .k {
width: auto;
}
.button {
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out),
border-color var(--d-fade) var(--e-in-out);
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--sp-2);
height: 34px;
padding: 0 var(--sp-4);
border-radius: 7px;
border: 1px solid transparent;
background: var(--accent);
color: var(--accent-ink);
font-weight: 600;
font-size: var(--t-body-sm);
cursor: pointer;
white-space: nowrap;
}
.button:hover {
filter: brightness(1.15);
}
.button svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}
.button.secondary {
background: var(--panel);
border-color: var(--line);
color: var(--ink);
font-weight: 500;
}
.button.secondary:hover {
border-color: var(--blue);
color: var(--blue-ink);
background: var(--panel);
}
.button.secondary[aria-pressed="true"] {
background: var(--blue-soft);
border-color: var(--blue);
color: var(--blue-ink);
}
.button.dim {
opacity: 0.75;
}
.button.dim:hover {
opacity: 1;
filter: brightness(1.08);
}
.button.danger {
background: var(--panel);
border-color: var(--amber-ink);
color: var(--amber-ink);
font-weight: 500;
}
.button.danger:hover {
background: var(--amber-soft);
border-color: var(--amber-ink);
color: var(--amber-ink);
filter: none;
}
.button.small {
height: 32px;
padding: 0 var(--sp-3);
font-size: var(--t-body-sm);
}
.button.tiny {
height: 26px;
padding: 0 var(--sp-3);
border-radius: var(--r-2);
font-size: var(--t-small);
font-weight: 500;
}
.button.tiny.ink {
background: var(--ink);
color: var(--panel);
border-color: var(--ink);
}
.button[disabled] {
opacity: 0.55;
cursor: default;
pointer-events: none;
}
.chip {
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out),
border-color var(--d-fade) var(--e-in-out);
display: inline-flex;
align-items: center;
height: 28px;
padding: 0 var(--sp-3);
border-radius: var(--r-pill);
border: 1px solid var(--line);
background: var(--panel);
color: var(--ink-2);
font-size: var(--t-body-sm);
cursor: pointer;
white-space: nowrap;
}
.chip:hover {
border-color: var(--blue);
color: var(--ink);
}
.chip[aria-pressed="true"] {
background: var(--ink);
border-color: var(--ink);
color: var(--panel);
}
.chip[aria-pressed="true"]:hover {
border-color: var(--ink);
color: var(--panel);
}
.chip.sm {
font-size: var(--t-small-h);
}
.chip[disabled],
.report-toggle[disabled] {
opacity: 0.55;
cursor: default;
}
.chip.static {
cursor: default;
}
.chip.static:hover {
border-color: var(--line);
color: var(--ink-2);
}
.pill {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny);
line-height: var(--lh-prose);
padding: var(--sp-1) var(--sp-3);
border-radius: var(--r-pill);
border: 1px solid var(--line);
background: var(--panel);
color: var(--ink-2);
white-space: nowrap;
}
.pills {
display: inline-flex;
flex-wrap: wrap;
gap: var(--sp-2);
}
.pill i,
.pill .dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: currentColor;
flex-shrink: 0;
}
.pill.on {
border-color: var(--green);
background: var(--green-soft);
color: var(--green-ink);
}
.pill.on i,
.pill.good i,
.pill.good .dot,
.dot.good {
animation: pulse var(--d-pulse) ease-in-out infinite;
}
.pill.good {
border-color: var(--green);
background: var(--green-soft);
color: var(--green-ink);
}
.pill.warn {
border-color: var(--amber-ink);
background: var(--amber-soft);
color: var(--amber-ink);
}
.pill.bad {
border-color: var(--red);
background: var(--red-soft);
color: var(--red-ink);
}
.tag {
display: inline-flex;
align-items: center;
font-family: var(--mono);
font-size: var(--t-tiny);
padding: 2px var(--sp-2);
border-radius: var(--r-1);
background: var(--chip);
color: var(--ink-2);
}
.dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: currentColor;
display: inline-block;
flex-shrink: 0;
}
.filters {
display: flex;
gap: var(--sp-2);
align-items: center;
flex-wrap: wrap;
flex-shrink: 0;
}
@media (max-width: 599px) {
.search-band .filters {
flex-wrap: nowrap;
overflow-x: auto;
overscroll-behavior-x: contain;
scrollbar-width: none;
padding-bottom: 2px;
}
.search-band .filters::-webkit-scrollbar {
display: none;
}
.search-band .filters > * {
flex: 0 0 auto;
}
.search-band .dial-note {
display: none;
}
}
.field {
transition: border-color var(--d-fade) var(--e-in-out);
display: flex;
align-items: center;
gap: var(--sp-2);
height: 34px;
padding: 0 var(--sp-3);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--panel);
min-width: 0;
}
.field.tall {
height: 40px;
padding: 0 14px;
gap: 10px;
}
.field:focus-within {
border-color: var(--blue);
}
.field .prefix {
font-family: var(--mono);
color: var(--muted);
flex-shrink: 0;
}
.field svg {
width: 15px;
height: 15px;
flex-shrink: 0;
color: var(--muted);
}
.field input,
.field textarea {
border: 0;
outline: none;
background: transparent;
flex-grow: 1;
min-width: 0;
width: 100%;
font-family: var(--mono);
font-size: var(--t-field);
}
.field.area {
height: auto;
min-height: 40px;
align-items: flex-start;
padding-top: var(--sp-2);
padding-bottom: var(--sp-2);
}
.field.area textarea {
resize: vertical;
line-height: 1.5;
min-height: calc(1.5em * 2);
}
.field.area .prefix {
line-height: 1.5;
}
select.chip,
select.field {
appearance: none;
height: 40px;
min-width: 140px;
padding: 0 34px 0 var(--sp-3h);
border: 1px solid var(--line);
border-radius: var(--r-3);
background-color: var(--panel);
background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
linear-gradient(135deg, currentColor 50%, transparent 50%);
background-position: right 18px center, right 13px center;
background-size: 5px 5px, 5px 5px;
background-repeat: no-repeat;
color: var(--ink);
font: inherit;
font-size: var(--t-body-sm);
cursor: pointer;
transition: border-color var(--d-hover) var(--e-in-out);
}
select.chip:hover,
select.field:hover {
border-color: var(--blue);
}
select.chip:focus-visible,
select.field:focus-visible {
border-color: var(--blue);
}
.copyfield {
display: flex;
align-items: center;
gap: var(--sp-2);
background: var(--bg);
border: 1px solid var(--line);
border-radius: 7px;
height: 36px;
padding: 0 4px 0 var(--sp-3);
min-width: 0;
}
.copyfield .copy {
opacity: 1;
width: 28px;
height: 28px;
}
.copyfield .button {
height: 28px;
padding: 0 var(--sp-2h);
}
.copyfield.worded .copy {
width: auto;
padding: 0 var(--sp-3);
}
.stanzas .copyfield.worded {
height: auto;
min-height: 36px;
padding-block: 4px;
align-items: center;
}
.stanzas .copyfield.worded .text {
overflow-x: visible;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.copyfield .actions {
gap: 4px;
}
.copyfield .text {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--ink-2);
flex-grow: 1;
min-width: 0;
overflow-x: auto;
white-space: pre;
}
.copyfield .button {
flex-shrink: 0;
}
.copy {
transition: opacity var(--d-quick) var(--e-in-out),
background var(--d-fade) var(--e-in-out), border-color var(--d-fade) var(--e-in-out),
color var(--d-fade) var(--e-in-out);
opacity: 0;
width: 26px;
height: 26px;
padding: 0;
flex-shrink: 0;
}
.code-block .copy,
.copy.block {
width: 28px;
height: 28px;
}
.copyfield:hover .copy,
.copyfield:focus-within .copy,
.code-block:hover .copy,
.code-block:focus-within .copy,
.copy:focus-visible {
opacity: 1;
}
.copy.done {
opacity: 1;
width: auto;
padding: 0 var(--sp-2);
border-color: var(--green);
background: var(--green-soft);
color: var(--green-ink);
}
.copy svg {
width: 14px;
height: 14px;
}
.code-block {
position: relative;
min-width: 0;
}
.code-block .copy {
position: absolute;
top: var(--sp-2);
right: var(--sp-2);
}
.note {
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
color: var(--muted);
min-height: 18px;
margin: 0;
}
.note:empty {
display: none;
}
.filters .index-note {
flex: 1 1 240px;
min-height: 0;
}
.note.bad {
color: var(--red-ink);
}
.empty {
background: var(--panel);
border: 1px dashed var(--line);
border-radius: var(--r-4);
padding: var(--sp-5);
color: var(--muted);
text-wrap: pretty;
}
.error {
display: flex;
align-items: flex-start;
gap: 10px;
background: var(--red-soft);
border: 1px solid var(--red);
border-radius: var(--r-4);
padding: 14px var(--sp-4);
color: var(--red-ink);
text-wrap: pretty;
}
.error svg {
width: 17px;
height: 17px;
flex-shrink: 0;
margin-top: 1px;
}
.error .what {
min-width: 0;
overflow-wrap: anywhere;
}
.table-card {
display: flex;
flex-direction: column;
min-height: 168px;
max-height: 76dvh;
}
.table-card > .table-wrap {
flex: 1 1 auto;
min-height: 0;
}
.table-wrap {
overflow: auto;
min-width: 0;
}
th {
position: sticky;
top: 0;
z-index: 2;
text-align: left;
font: 500 var(--t-tiny) var(--mono);
line-height: var(--lh-code);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
padding: var(--sp-2h) var(--sp-3h);
border-bottom: 1px solid var(--line);
background: var(--panel);
white-space: nowrap;
}
thead th {
box-shadow: inset 0 -1px 0 var(--line);
border-bottom: 0;
}
td {
padding: var(--sp-3) var(--sp-3h);
border-bottom: 1px solid var(--line-soft);
vertical-align: top;
line-height: var(--lh-code);
}
tr:last-child td {
border-bottom: 0;
}
tbody tr {
transition: background var(--d-quick) var(--e-in-out);
}
tbody tr:hover {
background: var(--soft);
}
th .sort {
display: inline-flex;
align-items: center;
gap: var(--sp-1);
border: 0;
padding: 0;
background: none;
font: inherit;
letter-spacing: inherit;
text-transform: inherit;
color: inherit;
cursor: pointer;
transition: color var(--d-hover) var(--e-in-out);
}
th .sort:hover {
color: var(--ink);
}
th .arrow {
display: inline-block;
width: 9px;
color: var(--accent-edge);
}
.one-line {
display: block;
max-width: 46ch;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.one-line.tail {
direction: rtl;
text-align: left;
}
.one-line.tail > bdi {
unicode-bidi: isolate;
}
th.num,
td.num {
text-align: right;
font-family: var(--mono);
}
td.path {
font-family: var(--mono);
font-size: var(--t-small);
overflow-wrap: anywhere;
}
td.meta {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--muted);
}
.name {
font-weight: 500;
}
.name.plain {
font-weight: 400;
}
.gone {
color: var(--red-ink);
}
.meta {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
overflow-wrap: anywhere;
}
.meta.one-line,
.name.one-line {
max-width: 38ch;
overflow-wrap: normal;
}
.table-foot {
flex-shrink: 0;
border-top: 1px solid var(--line);
background: var(--soft);
padding: var(--sp-2h) var(--sp-3h);
display: flex;
align-items: center;
gap: var(--sp-3);
flex-wrap: wrap;
}
.table-follow {
flex-shrink: 0;
border: 0;
border-top: 1px solid var(--line);
background: transparent;
color: var(--blue);
font: inherit;
font-weight: 500;
text-align: left;
cursor: pointer;
padding: var(--sp-3) var(--sp-3h);
display: flex;
align-items: center;
gap: var(--sp-2);
}
.table-follow:hover {
color: var(--ink);
background: var(--soft);
}
.table-follow svg {
flex-shrink: 0;
}
.table-foot .chip {
height: 30px;
min-width: 34px;
justify-content: center;
padding: 0 var(--sp-2h);
border-radius: var(--r-2);
font-family: var(--mono);
}
.table-foot .button.secondary {
height: 30px;
padding: 0 var(--sp-3);
border-radius: var(--r-2);
}
.table-foot .button.secondary:hover:not([disabled]) {
border-color: var(--blue);
color: var(--blue-ink);
}
.table-foot .button.secondary[disabled] {
border-color: var(--line-soft);
}
.forget {
transition: color var(--d-quick) var(--e-in-out);
border: 0;
background: none;
color: var(--amber-ink);
font: inherit;
font-size: var(--t-body-sm);
cursor: pointer;
padding: 0;
}
.forget:hover {
color: var(--red-ink);
text-decoration: underline;
}
.forget[disabled] {
opacity: 0.5;
pointer-events: none;
}
pre.code {
margin: 0;
background: var(--code-bg);
color: var(--code-ink);
border-radius: var(--r-3);
padding: var(--sp-4);
font-family: var(--mono);
font-size: var(--t-tiny-h);
line-height: var(--lh-code);
overflow: auto;
white-space: pre;
scrollbar-width: thin;
}
pre.code::-webkit-scrollbar {
height: 8px;
}
pre.code::-webkit-scrollbar-thumb {
background: var(--line);
border-radius: 4px;
}
.log {
background: var(--code-bg);
border-radius: var(--r-4);
padding: var(--sp-4) 18px;
display: flex;
flex-direction: column;
gap: 5px;
font-family: var(--mono);
font-size: var(--t-small);
color: var(--code-ink);
flex: 1 1 auto;
min-height: 120px;
max-height: 340px;
overflow-y: auto;
}
.scroller > .picker,
.scroller > .card {
flex-shrink: 0;
}
.log .line {
display: flex;
gap: 10px;
}
.log .key {
color: var(--code-key);
flex-shrink: 0;
width: 68px;
text-align: right;
}
.log .outcome {
flex-shrink: 0;
width: 76px;
color: var(--muted);
}
.log .line.indexing .outcome {
color: var(--accent-edge);
}
.log .line.unchanged,
.log .line.skipped {
opacity: 0.62;
}
.log .line.removed .outcome {
color: var(--red);
}
.log .what {
min-width: 0;
overflow-wrap: anywhere;
}
.bar {
height: var(--sp-2);
border-radius: var(--r-1);
background: var(--chip);
overflow: hidden;
}
.bar > span {
display: block;
height: 100%;
background: var(--accent);
border-radius: var(--r-1);
transition: width var(--d-bar) var(--e-linear);
}
.feed {
font-family: var(--mono);
font-size: var(--t-small);
display: flex;
flex-direction: column;
gap: var(--sp-2);
color: var(--ink-2);
flex-grow: 1;
min-height: 0;
max-height: 232px;
overflow-y: auto;
}
.feed .row {
display: flex;
gap: 10px;
}
.feed .at {
color: var(--muted);
width: 54px;
flex-shrink: 0;
}
.feed .what {
min-width: 0;
max-width: 100%;
}
.picker {
display: flex;
flex-direction: column;
}
.picker {
overflow: hidden;
}
.picker .crumbs {
display: flex;
align-items: center;
gap: var(--sp-2h);
padding: var(--sp-3) var(--sp-3h);
border-bottom: 1px solid var(--line);
background: var(--soft);
flex-wrap: wrap;
}
.picker .where {
font-family: var(--mono);
font-size: var(--t-body-sm);
font-weight: 600;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.picker > .subtitle {
padding: var(--sp-3) var(--sp-3h);
}
.picker .entries {
max-height: 320px;
min-height: 84px;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.picker .entry {
transition: background var(--d-quick) var(--e-in-out);
display: flex;
align-items: center;
gap: var(--sp-2h);
min-width: 0;
padding: var(--sp-2) var(--sp-3h);
border: 0;
border-bottom: 1px solid var(--line-soft);
background: none;
text-align: left;
cursor: pointer;
color: var(--ink);
}
.picker .entry:hover {
background: var(--soft);
}
.picker .entry.inert,
.picker .entry.inert:hover {
background: none;
color: var(--muted);
cursor: default;
opacity: 0.6;
}
.picker .entry svg {
width: 16px;
height: 16px;
flex-shrink: 0;
color: var(--muted);
}
.picker .entry .name {
font-family: var(--mono);
font-size: var(--t-body-sm);
font-weight: 400;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.picker .entry-row {
display: flex;
align-items: center;
gap: var(--sp-2);
min-width: 0;
padding-left: var(--sp-3);
border-bottom: 1px solid var(--line-soft);
}
.picker .entry-row .entry {
flex: 1;
min-width: 0;
border-bottom: 0;
}
.picker .tick {
flex-shrink: 0;
width: 15px;
height: 15px;
accent-color: var(--blue);
cursor: pointer;
}
.cards {
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.run-card .bar {
margin: var(--sp-2h) 0;
}
.run-card .log {
max-height: 260px;
margin-top: var(--sp-2h);
}
.run-card .filters {
align-items: center;
}
.queue .queue-row {
display: flex;
align-items: center;
gap: var(--sp-2h);
min-width: 0;
padding: var(--sp-2) 0;
border-bottom: 1px solid var(--line-soft);
}
.queue .queue-row:last-child {
border-bottom: 0;
}
.queue .queue-row .key {
font-family: var(--mono);
font-size: var(--t-body-sm);
color: var(--muted);
min-width: 1.5rem;
}
.queue .queue-row .name {
font-family: var(--mono);
font-size: var(--t-body-sm);
font-weight: 600;
}
.settings {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--sp-3);
margin-top: var(--sp-2h);
}
.settings .setting .note {
margin-top: var(--sp-1);
}
.search-band {
position: sticky;
top: 0;
z-index: 5;
padding: 20px var(--sp-5) var(--sp-4);
flex-shrink: 0;
border-bottom: 1px solid var(--line);
background: var(--panel);
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.shape-hint {
display: flex;
align-items: center;
gap: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--muted);
}
.shape-hint .dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--blue);
flex-shrink: 0;
}
.search-field {
display: flex;
align-items: center;
gap: var(--sp-3);
min-height: 46px;
padding: 0 var(--sp-4);
border: 1.5px solid var(--blue);
border-radius: var(--r-4);
background: var(--panel);
}
.search-field svg {
width: 18px;
height: 18px;
flex-shrink: 0;
color: var(--blue);
}
.search-field input {
flex-grow: 1;
font-size: var(--t-field);
border: 0;
outline: none;
background: transparent;
min-width: 0;
}
.search-meta {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--muted);
}
.search-meta:empty {
display: none;
}
.results {
padding: 18px var(--sp-5) var(--sp-6);
display: flex;
flex-direction: column;
gap: var(--sp-3);
min-width: 0;
min-height: 0;
overflow-y: auto;
flex-grow: 1;
}
.hit {
transition: border-color var(--d-fade) var(--e-in-out), box-shadow var(--d-fade) var(--e-in-out);
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
padding: 14px var(--sp-4);
display: flex;
flex-direction: column;
gap: 10px;
min-width: 0;
}
.hit:hover {
border-color: var(--blue);
box-shadow: var(--shadow-pop);
}
.hit .where {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
font-family: var(--mono);
}
.hit .where .file {
font-weight: 500;
overflow-wrap: anywhere;
}
.hit .where .lines,
.hit .where .from {
font-size: var(--t-tiny);
color: var(--muted);
}
.hit .preview {
display: block;
max-width: 100%;
max-height: 260px;
width: auto;
border-radius: var(--r-3);
border: 1px solid var(--line-soft);
background: var(--soft);
object-fit: contain;
}
.hit pre {
margin: 0;
font-family: var(--mono);
font-size: var(--t-small);
line-height: var(--lh-code);
color: var(--ink-2);
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--sp-4);
flex-grow: 1;
min-height: 60vh;
}
.loading .mark {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 5px;
width: 64px;
height: 64px;
}
.loading .cell {
border-radius: 3px;
background: var(--blue);
opacity: 0.18;
animation: semlithAssemble 1.6s var(--e-in-out) infinite;
}
.loading .cell.hot {
background: var(--accent);
}
.loading .cell[data-i="0"] { animation-delay: 0ms; }
.loading .cell[data-i="1"], .loading .cell[data-i="4"] { animation-delay: 90ms; }
.loading .cell[data-i="2"], .loading .cell[data-i="5"], .loading .cell[data-i="8"] { animation-delay: 180ms; }
.loading .cell[data-i="3"], .loading .cell[data-i="6"], .loading .cell[data-i="9"],
.loading .cell[data-i="12"] { animation-delay: 270ms; }
.loading .cell[data-i="7"], .loading .cell[data-i="10"], .loading .cell[data-i="13"] { animation-delay: 360ms; }
.loading .cell[data-i="11"], .loading .cell[data-i="14"] { animation-delay: 450ms; }
.loading .cell[data-i="15"] { animation-delay: 540ms; }
@keyframes semlithAssemble {
0%,
70% {
opacity: 0.18;
transform: scale(0.82);
}
25% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
.loading .what {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--muted);
}
.loading .track {
width: 160px;
height: 2px;
border-radius: 1px;
background: var(--line);
overflow: hidden;
}
.loading .track .run {
display: block;
width: 40%;
height: 100%;
border-radius: 1px;
background: var(--blue);
animation: semlithSlide 1.4s var(--e-in-out) infinite;
}
@keyframes semlithSlide {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(250%);
}
}
.skel {
display: flex;
flex-direction: column;
gap: var(--sp-2h);
width: 100%;
min-width: 0;
}
.skel .line {
height: 11px;
border-radius: var(--r-1);
background: linear-gradient(
90deg,
var(--chip) 0%,
var(--line-soft) 40%,
var(--chip) 80%
);
background-size: 300% 100%;
animation: semlithSheen 1.5s var(--e-linear) infinite;
}
@keyframes semlithSheen {
0% {
background-position: 140% 0;
}
100% {
background-position: -40% 0;
}
}
.welcome {
min-height: 100dvh;
overflow-y: auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--sp-5);
padding: 48px 20px;
background: var(--bg);
}
.welcome > * {
flex-shrink: 0;
}
.welcome .lockup {
display: flex;
align-items: center;
gap: var(--sp-3);
}
.welcome .lockup .logo {
width: 38px;
height: 38px;
border-radius: var(--r-3);
display: block;
}
.welcome .lockup .name {
font-size: var(--t-display);
font-weight: 600;
letter-spacing: -0.01em;
}
.welcome .lockup .ver {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--muted);
padding-top: 5px;
}
.hero-title {
font-size: var(--t-title);
font-weight: 600;
letter-spacing: 0;
}
.welcome .hero {
width: 100%;
max-width: 640px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 12px;
padding: 26px 28px;
display: flex;
flex-direction: column;
gap: 18px;
}
.welcome .steps {
width: 100%;
max-width: 640px;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--sp-3);
}
.welcome .step {
min-width: 0;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
padding: 14px var(--sp-4);
display: flex;
flex-direction: column;
gap: 5px;
}
.welcome .step .what {
color: var(--muted);
font-size: var(--t-body-sm);
text-wrap: pretty;
}
.welcome .foot {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
text-align: center;
}
.install-panel {
width: 100%;
max-width: 640px;
}
.tip {
position: fixed;
top: 0;
left: 0;
z-index: 80;
max-width: 260px;
width: max-content;
padding: 9px 11px;
border-radius: var(--r-3);
background: var(--panel);
border: 1px solid var(--line);
box-shadow: var(--shadow-pop);
color: var(--ink);
font-family: var(--mono);
font-size: var(--t-small);
line-height: var(--lh-code);
white-space: normal;
overflow-wrap: anywhere;
opacity: 0;
transform: scale(0.96);
transition: opacity var(--d-fade) var(--e-in-out), transform var(--d-pop) var(--e-pop);
pointer-events: none;
}
.tip[data-open="true"] {
opacity: 1;
transform: none;
}
.support-bar .seg[data-tip],
.mix-row[data-tip],
.month[data-tip],
.bar[data-tip] {
cursor: help;
}
.mix-row[data-tip]:hover,
.month[data-tip]:hover {
background: var(--soft);
border-radius: var(--r-2);
}
.support-bar .seg:focus-visible,
.mix-row:focus-visible,
.month:focus-visible,
.bar:focus-visible {
outline: 2px solid var(--blue);
outline-offset: 2px;
border-radius: var(--r-1);
}
.offscreen {
position: fixed;
opacity: 0;
pointer-events: none;
}
.w-stores {
min-width: 640px;
}
.w-stores td.meta {
max-width: 0;
width: 30%;
}
.w-files {
min-width: 680px;
}
.w-coverage {
min-width: 760px;
}
td.why .copyfield {
max-width: 30rem;
}
.field.wide {
width: 280px;
max-width: 100%;
}
.field.grow {
flex: 1 1 240px;
max-width: 420px;
}
.field.full {
width: 100%;
}
.tag.wrapped {
margin: 0 var(--sp-1) var(--sp-1) 0;
}
.stat.fact {
flex: 1 1 230px;
}
.fact-value {
font-family: var(--mono);
font-size: var(--t-body);
line-height: var(--lh-code);
font-variant-numeric: tabular-nums;
}
.pct {
font-family: var(--mono);
font-size: var(--t-h1);
font-weight: 500;
font-variant-numeric: tabular-nums;
}
.search-page {
display: flex;
flex-direction: column;
min-height: 100%;
min-width: 0;
}
.two-stage {
container-type: inline-size;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
align-items: stretch;
gap: 0;
flex-grow: 1;
min-height: 0;
}
.locate-col {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 0;
}
.locate-list {
gap: var(--sp-3);
}
.locate-group {
display: flex;
flex-direction: column;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
overflow: hidden;
min-width: 0;
flex-shrink: 0;
}
.locate-file {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
padding: var(--sp-2h) var(--sp-3h);
border-bottom: 1px solid var(--line-soft);
background: var(--soft);
font-family: var(--mono);
font-size: var(--t-small-h);
font-weight: 500;
overflow-wrap: anywhere;
}
.locate-file .from {
font-size: var(--t-tiny);
font-weight: 400;
color: var(--muted);
}
.locate-file .span-summary {
font-family: var(--mono);
font-size: var(--t-tiny);
font-weight: 400;
color: var(--muted);
}
.locate-row {
display: flex;
flex-direction: column;
gap: var(--sp-1);
width: 100%;
text-align: left;
padding: var(--sp-2h) var(--sp-3h);
border: 0;
border-bottom: 1px solid var(--line-soft);
background: transparent;
color: var(--ink);
cursor: pointer;
min-width: 0;
transition: background var(--d-fade) var(--e-in-out);
}
.locate-group > .locate-row:last-child {
border-bottom: 0;
}
.locate-row:hover {
background: var(--soft);
}
.locate-row[aria-pressed="true"] {
background: var(--blue-soft);
}
.locate-row.static,
.locate-row.static:hover {
background: transparent;
cursor: default;
}
.row-top {
display: flex;
align-items: center;
gap: 9px;
flex-wrap: wrap;
min-width: 0;
font-family: var(--mono);
font-size: var(--t-small);
}
.locate-row .lines {
color: var(--ink-2);
white-space: nowrap;
}
.locate-row .sym {
color: var(--ink);
overflow-wrap: anywhere;
}
.locate-row .from {
font-size: var(--t-tiny);
color: var(--muted);
}
.locate-excerpt {
display: block;
font-family: var(--mono);
font-size: var(--t-tiny-h);
line-height: var(--lh-code);
color: var(--muted);
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.two-stage.one-stage .body-col {
display: none;
}
.two-stage.one-stage {
grid-template-columns: 1fr;
}
.brief-view {
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-2h) var(--sp-5);
min-width: 0;
}
.brief-symbol {
display: flex;
flex-direction: column;
gap: var(--sp-1);
padding-bottom: var(--sp-3);
border-bottom: 1px solid var(--line-soft);
min-width: 0;
}
.brief-head {
display: flex;
align-items: baseline;
gap: var(--sp-2);
flex-wrap: wrap;
min-width: 0;
}
.brief-head .path {
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--ink-2);
overflow-wrap: anywhere;
}
.brief-head .sym {
color: var(--ink);
overflow-wrap: anywhere;
}
.brief-lists {
display: inline-flex;
gap: var(--sp-1);
margin-left: auto;
}
.brief-row {
padding: var(--sp-2) 0;
border-bottom: 1px solid var(--line-soft);
}
.brief-summary {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2) var(--sp-4);
width: 100%;
padding: var(--sp-2h) var(--sp-3h);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--soft);
}
.brief-fact {
display: inline-flex;
gap: var(--sp-1);
align-items: baseline;
min-width: 0;
}
.brief-fact .k {
color: var(--muted);
}
.brief-fact .v {
color: var(--ink);
overflow-wrap: anywhere;
}
.brief-edge {
display: flex;
gap: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny-h);
min-width: 0;
}
.brief-edge .k {
color: var(--muted);
white-space: nowrap;
}
.brief-edge .v {
color: var(--ink-2);
overflow-wrap: anywhere;
}
.brief-dropped {
font-family: var(--mono);
font-size: var(--t-micro-h);
color: var(--muted);
font-style: italic;
}
.locate-footer {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
padding: var(--sp-2h) var(--sp-5) var(--sp-5);
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--muted);
flex-shrink: 0;
}
.locate-footer .truncated {
display: inline-flex;
align-items: center;
font-size: var(--t-micro-h);
padding: 2px 7px;
border-radius: var(--r-1);
background: var(--amber-soft);
color: var(--amber-ink);
}
.body-col {
display: flex;
flex-direction: column;
gap: var(--sp-3h);
padding: 18px var(--sp-5);
background: var(--soft);
border-left: 1px solid var(--line);
min-width: 0;
min-height: 0;
overflow-y: auto;
}
@container (max-width: 719px) {
.body-col {
border-left: 0;
border-top: 1px solid var(--line);
}
}
.span-card {
display: flex;
flex-direction: column;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
overflow: hidden;
flex-shrink: 0;
min-width: 0;
}
.span-head {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
padding: var(--sp-3h) var(--sp-3h) var(--sp-2h);
font-family: var(--mono);
font-size: var(--t-small);
}
.span-head .path {
font-size: var(--t-small-h);
font-weight: 500;
overflow-wrap: anywhere;
}
.span-head .lines {
color: var(--muted);
}
.span-head .from {
font-size: var(--t-tiny);
color: var(--muted);
}
.span-card .prov-note,
.span-card .note {
margin: 0;
padding: 0 var(--sp-3h) var(--sp-2h);
font-size: var(--t-small-h);
color: var(--muted);
text-wrap: pretty;
}
.span-card .note {
color: var(--amber-ink);
}
.span-card .sig {
margin: 0 var(--sp-3h) var(--sp-3);
padding: 7px 9px;
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--blue-ink);
background: var(--blue-soft);
border-radius: var(--r-2);
white-space: pre;
overflow-x: auto;
}
.span-card .preview {
display: block;
max-width: 100%;
max-height: 320px;
margin: 0 var(--sp-3h) var(--sp-3h);
border-radius: var(--r-3);
border: 1px solid var(--line-soft);
background: var(--soft);
object-fit: contain;
}
.gutter-code {
padding: var(--sp-3) 4px var(--sp-3) 0;
border-top: 1px solid var(--line-soft);
overflow: auto;
min-width: 0;
max-height: 420px;
overscroll-behavior: contain;
}
.code-line {
display: flex;
gap: var(--sp-3);
font-family: var(--mono);
font-size: var(--t-small);
line-height: var(--lh-code);
}
.code-line .ln {
width: 48px;
flex-shrink: 0;
text-align: right;
color: var(--muted);
user-select: none;
}
.code-line .lt {
white-space: pre;
color: var(--ink-2);
}
.span-foot {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
padding: var(--sp-2h) var(--sp-3h);
border-top: 1px solid var(--line-soft);
background: var(--soft);
}
.body-meta {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.span-foot .quiet {
font-size: var(--t-tiny);
color: var(--muted);
transition: color var(--d-hover) var(--e-in-out);
}
.span-foot .quiet:hover {
color: var(--blue);
}
.around-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--sp-2h);
flex-shrink: 0;
}
.around-head .title {
font-weight: 600;
}
.around-head .sym {
font-family: var(--mono);
}
.around-head .meta {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.ego-panel {
position: relative;
flex: 1 1 340px;
min-height: 340px;
flex-shrink: 0;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
overflow: hidden;
}
.ego-hint {
position: absolute;
left: var(--sp-3);
bottom: var(--sp-2h);
padding: var(--sp-1) var(--sp-2);
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-2);
font-family: var(--mono);
font-size: var(--t-micro);
color: var(--muted);
pointer-events: none;
}
.fresh {
display: inline-flex;
align-items: center;
gap: 6px;
cursor: help;
}
.fresh .word {
font-family: var(--mono);
font-size: var(--t-micro-h);
color: var(--muted);
}
.fresh-dot {
width: 7px;
height: 7px;
border-radius: 50%;
flex-shrink: 0;
}
.fresh-dot.is-fresh {
background: var(--green);
}
.fresh-dot.is-stale {
background: var(--accent);
}
.store-chips {
display: flex;
align-items: center;
gap: var(--sp-2);
flex-wrap: wrap;
}
.filters .rule {
width: 1px;
height: 20px;
background: var(--line);
margin: 0 var(--sp-1);
flex-shrink: 0;
}
.dial {
display: inline-flex;
align-items: center;
gap: 6px;
height: var(--h-dial);
padding: 0 11px;
border-radius: var(--r-pill);
border: 1px solid var(--line);
background: var(--panel);
color: var(--ink-2);
font-size: var(--t-body-sm);
}
.dial:focus-within {
border-color: var(--blue);
}
.select {
height: 34px;
padding: 0 var(--sp-6) 0 var(--sp-3);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--panel);
color: var(--ink);
font-size: var(--t-body-sm);
cursor: pointer;
min-width: 0;
max-width: 16rem;
appearance: none;
background-image: linear-gradient(45deg, transparent 50%, currentcolor 50%),
linear-gradient(135deg, currentcolor 50%, transparent 50%);
background-position: calc(100% - 15px) 15px, calc(100% - 10px) 15px;
background-size: 5px 5px, 5px 5px;
background-repeat: no-repeat;
transition: border-color var(--d-fade) var(--e-in-out);
}
.select:hover {
border-color: var(--blue);
}
.select:focus {
outline: none;
border-color: var(--accent-edge);
}
.dial-label {
font-family: var(--mono);
font-size: var(--t-micro-h);
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
}
.dial-prefix,
.dial-value {
font-family: var(--mono);
font-size: var(--t-small-h);
}
.dial-prefix {
color: var(--muted);
}
.dial .unit {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.dial .bare {
border: 0;
outline: none;
background: transparent;
font-family: var(--mono);
font-size: var(--t-small-h);
color: var(--ink);
min-width: 0;
}
.dial .step {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border: 0;
border-radius: 5px;
background: var(--soft);
color: var(--ink-2);
font-size: var(--t-body-sm);
line-height: 1;
cursor: pointer;
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out);
}
.dial .step:hover {
background: var(--chip);
color: var(--ink);
}
.dial .segs {
display: flex;
gap: 3px;
}
.dial .seg {
display: inline-flex;
align-items: center;
height: 20px;
padding: 0 9px;
border: 0;
border-radius: var(--r-pill);
background: transparent;
color: var(--ink-2);
font-family: var(--mono);
font-size: var(--t-tiny-h);
cursor: pointer;
transition: background var(--d-fade) var(--e-in-out), color var(--d-fade) var(--e-in-out);
}
.dial .seg:hover {
background: var(--chip);
}
.dial .seg[aria-pressed="true"] {
background: var(--ink);
color: var(--panel);
}
.dial-note {
color: var(--muted);
font-size: var(--t-small-h);
}
.read-out {
display: flex;
flex-direction: column;
gap: var(--sp-3);
min-width: 0;
}
.graph-page {
animation: rise var(--d-rise) var(--e-out);
display: flex;
flex-direction: column;
flex-grow: 1;
min-width: 0;
min-height: 0;
overflow: hidden;
}
.graph-band {
flex-shrink: 0;
padding: var(--sp-5) var(--sp-5) var(--sp-3h);
border-bottom: 1px solid var(--line);
background: var(--panel);
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.graph-controls {
display: flex;
align-items: center;
gap: var(--sp-3);
flex-wrap: wrap;
min-width: 0;
}
.graph-scope {
display: flex;
align-items: center;
gap: var(--sp-2);
flex: 1 1 220px;
min-width: 0;
padding: 0 var(--sp-1) 0 var(--sp-3);
height: 36px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-3);
color: var(--muted);
transition: border-color var(--d-hover) var(--e-in-out);
}
.graph-scope:focus-within {
border-color: var(--accent-edge);
}
.button.in-field {
height: 28px;
flex-shrink: 0;
}
.graph-scope input {
flex: 1;
min-width: 0;
border: 0;
background: none;
font: inherit;
color: var(--ink);
outline: none;
}
.graph-body {
display: grid;
grid-template-columns: minmax(0, 1fr) 300px;
align-items: stretch;
flex-grow: 1;
min-width: 0;
min-height: 0;
}
.graph-frame {
position: relative;
min-width: 0;
background: var(--soft);
overflow: hidden;
}
.graph-stage {
position: absolute;
inset: 0;
}
.graph-canvas {
display: block;
width: 100%;
height: 100%;
cursor: grab;
touch-action: none;
}
.graph-canvas.over-node {
cursor: pointer;
}
.graph-canvas.dragging {
cursor: grabbing;
}
.graph-legend {
position: absolute;
left: var(--sp-4h);
top: var(--sp-4);
display: flex;
flex-direction: column;
gap: var(--sp-2);
padding: var(--sp-2h) var(--sp-3);
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-3);
font-family: var(--mono);
font-size: var(--t-tiny);
line-height: var(--lh-prose);
color: var(--ink-2);
pointer-events: none;
}
.graph-legend .key {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
}
.graph-legend i {
width: 18px;
height: 0;
border-top: 1.4px solid var(--blue);
display: inline-block;
}
.graph-legend .inferred i {
border-top-style: dotted;
}
.graph-legend .ambiguous i {
border-top-style: dashed;
border-top-color: var(--amber-ink);
}
.graph-legend .selected i {
width: 10px;
height: 10px;
border: 1px solid var(--accent-edge);
border-radius: 3px;
background: var(--accent);
}
.graph-count {
position: absolute;
right: var(--sp-4h);
bottom: var(--sp-4);
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
pointer-events: none;
}
.graph-rail {
display: flex;
flex-direction: column;
gap: var(--sp-3h);
min-width: 0;
min-height: 0;
padding: var(--sp-4h);
background: var(--panel);
border-left: 1px solid var(--line);
overflow-y: auto;
}
.graph-selected {
display: flex;
flex-direction: column;
gap: var(--sp-1);
}
.stanzas .head {
flex-direction: column;
align-items: flex-start;
gap: var(--sp-1);
}
.stanzas .head .meta {
line-height: var(--lh-prose);
}
.graph-selected .sym {
margin: 0;
font-family: var(--mono);
font-size: var(--t-lead);
font-weight: 500;
line-height: var(--lh-heading);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.graph-selected .loc {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--muted);
overflow-wrap: anywhere;
}
.graph-selected .chips {
margin-top: var(--sp-2);
}
.chips {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-2);
}
.chip.static.blue {
background: var(--blue-soft);
border-color: var(--blue-soft);
color: var(--blue-ink);
}
.lang-card .lang-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: var(--sp-1) var(--sp-4h);
}
.lang-row {
display: flex;
align-items: baseline;
gap: 9px;
min-width: 0;
padding: 3px 0;
border-bottom: 1px solid var(--line-soft);
}
.lang-row .tick {
display: inline-flex;
justify-content: center;
width: 14px;
flex-shrink: 0;
font-size: var(--t-small);
color: var(--green);
}
.lang-row .name {
font-family: var(--mono);
font-size: var(--t-small-h);
}
.lang-row .graph-mark {
font-family: var(--mono);
font-size: var(--t-micro-h);
color: var(--blue-ink);
background: var(--blue-soft);
border-radius: var(--r-2);
padding: 1px 5px;
flex-shrink: 0;
}
.lang-row .exts {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rail-group h3 {
margin: 0 0 var(--sp-2);
font: 500 var(--t-tiny) var(--mono);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
}
.rail-list {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.rail-list li {
display: flex;
align-items: center;
gap: var(--sp-2);
padding: 7px var(--sp-2h);
border: 1px solid var(--line-soft);
border-radius: var(--r-2);
font-size: var(--t-small);
min-width: 0;
transition: border-color var(--d-hover) var(--e-in-out);
}
.rail-list li:hover {
border-color: var(--blue);
}
.rail-list a,
.rail-list .link-button {
font-family: var(--mono);
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.graph-rail .rail-group {
align-items: stretch;
min-width: 0;
}
.graph-rail .rail-group > .chip {
align-self: flex-start;
}
.rail-list,
.rail-list li > * {
min-width: 0;
}
.rail-list li > span:not(.conf):not(.via) {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rail-list .via,
.rail-list .conf {
flex-shrink: 0;
}
.graph-scroll {
overflow-x: hidden;
}
.rail-list .via {
margin-left: auto;
font-size: var(--t-micro);
color: var(--muted);
}
.rail-hint {
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
color: var(--muted);
text-wrap: pretty;
}
.rail-actions {
display: flex;
gap: var(--sp-2);
flex-wrap: wrap;
flex-shrink: 0;
padding: var(--sp-3) var(--sp-4h);
background: var(--panel);
border-top: 1px solid var(--line-soft);
}
.conf {
display: inline-flex;
align-items: center;
font-family: var(--mono);
font-size: var(--t-micro);
letter-spacing: 0.04em;
padding: 2px 7px;
border-radius: var(--r-1);
white-space: nowrap;
cursor: help;
}
.conf.extracted,
.conf.resolved {
background: var(--blue-soft);
color: var(--blue-ink);
}
.conf.inferred {
background: var(--chip);
color: var(--ink-2);
}
.conf.ambiguous {
background: var(--amber-soft);
color: var(--amber-ink);
}
.conf-legend {
display: flex;
flex-direction: column;
gap: 6px;
padding: var(--sp-3) 0 0;
border-top: 1px solid var(--line-soft);
}
.legend-chip {
display: flex;
align-items: baseline;
gap: var(--sp-2);
}
.legend-chip .why {
font-size: var(--t-micro);
color: var(--muted);
}
.ambiguous-row {
flex-wrap: wrap;
}
.nested-wrap {
flex-basis: 100%;
}
.rail-list.nested {
padding-left: var(--sp-3);
border-left: 1px solid var(--line-soft);
margin-top: 4px;
}
.link-button {
background: none;
border: none;
padding: 0;
font: inherit;
color: var(--blue);
cursor: pointer;
text-align: left;
}
.link-button:hover {
text-decoration: underline;
}
.client-breakdown {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--sp-2);
padding: 0 var(--sp-5) var(--sp-3);
font-family: var(--mono);
font-size: var(--t-tiny);
}
.client-breakdown .client-note {
color: var(--muted);
}
.client-breakdown .client {
display: inline-flex;
align-items: baseline;
white-space: nowrap;
}
.client-breakdown .who {
color: var(--ink-2);
}
.client-breakdown .count {
color: var(--muted);
margin-left: 4px;
}
.client-breakdown .sep {
color: var(--muted);
margin-right: var(--sp-2);
}
.notice {
padding: var(--sp-4);
background: var(--soft);
border: 1px solid var(--line);
border-radius: var(--r-4);
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
color: var(--muted);
text-wrap: pretty;
}
.notice .what {
font-weight: 600;
color: var(--ink);
margin-bottom: var(--sp-1);
}
.tabs {
display: flex;
align-items: center;
gap: var(--sp-5);
border-bottom: 1px solid var(--line);
min-width: 0;
overflow-x: auto;
}
.tab {
transition: color var(--d-hover) var(--e-in-out), border-color var(--d-hover) var(--e-in-out);
display: inline-flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-2) 0;
border: 0;
border-bottom: 2px solid transparent;
background: none;
color: var(--muted);
font: inherit;
font-weight: 500;
white-space: nowrap;
cursor: pointer;
}
.tab:hover {
color: var(--ink);
}
.tab[aria-pressed="true"] {
color: var(--ink);
border-bottom-color: var(--accent);
}
.tab .count {
font-family: var(--mono);
font-size: var(--t-micro);
padding: 1px var(--sp-2);
border-radius: var(--r-pill);
background: var(--chip);
color: var(--muted);
}
.stanzas {
min-width: 0;
}
.stanza {
display: flex;
flex-direction: column;
gap: var(--sp-2);
min-width: 0;
}
.tool-grid {
display: grid;
grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
column-gap: var(--sp-4);
row-gap: var(--sp-2h);
align-items: baseline;
min-height: 0;
overflow-y: auto;
}
.tool-name {
font-family: var(--mono);
font-size: var(--t-small);
white-space: nowrap;
}
.tool-about {
color: var(--muted);
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
min-width: 0;
text-wrap: pretty;
}
.cost {
display: flex;
flex-direction: column;
gap: var(--sp-1);
background: var(--soft);
border-radius: var(--r-3);
padding: var(--sp-3) var(--sp-3h);
}
.cost-line {
font-family: var(--mono);
font-size: var(--t-small);
font-variant-numeric: tabular-nums;
}
.cost-note {
font-family: var(--mono);
font-size: var(--t-micro-h);
color: var(--muted);
}
.tools {
max-height: 460px;
}
.who {
display: flex;
align-items: center;
gap: 9px;
}
.dot.good {
color: var(--green);
}
.w-agents {
min-width: 420px;
}
.badges {
display: inline-flex;
gap: 5px;
flex-wrap: wrap;
}
.badge {
display: inline-flex;
align-items: center;
padding: 2px 7px;
border-radius: var(--r-1);
font-family: var(--mono);
font-size: var(--t-micro);
letter-spacing: 0.04em;
cursor: help;
background: var(--chip);
color: var(--ink-2);
}
.badge.definition {
background: var(--blue-ink);
color: var(--panel);
}
.badge.vector {
background: var(--blue-soft);
color: var(--blue-ink);
}
.badge.keyword {
background: var(--amber-soft);
color: var(--amber-ink);
}
.badge.graph {
background: var(--green-soft);
color: var(--green-ink);
}
.badge.image {
background: var(--ink-2);
color: var(--panel);
}
.badge.capture {
background: var(--blue-soft);
color: var(--blue-ink);
}
@media (min-width: 521px) and (max-width: 899px) {
.strip .stat {
flex: 1 1 calc(33.333% - var(--sp-3));
}
}
@media (max-width: 820px) {
.narrow-drop {
display: none;
}
.only-narrow {
display: block;
}
.w-stores,
.w-files,
.w-agents,
.w-coverage {
min-width: 0;
}
td.path,
td.meta,
tbody td:first-child {
max-width: 0;
}
.one-line {
max-width: 100%;
}
.tool-grid {
max-height: none;
overflow-y: visible;
}
}
@media (max-width: 899px) {
:root {
--t-display: 21px;
--t-h1: 18px;
--t-title: 16px;
--t-lead: 14px;
}
.grow {
flex: 0 0 auto;
}
.graph-body {
grid-template-columns: minmax(0, 1fr);
}
.graph-page {
overflow-y: auto;
}
.graph-frame {
height: 360px;
}
.graph-band {
padding: var(--sp-4) var(--sp-4) var(--sp-3);
}
.graph-rail {
border-left: 0;
border-top: 1px solid var(--line);
overflow: visible;
}
.rail {
display: none;
}
.sidebar {
animation: slide-in var(--d-slide) var(--e-pop);
position: fixed;
top: var(--topbar-h);
bottom: 0;
left: 0;
z-index: 40;
box-shadow: var(--shadow-nav);
}
.sidebar[hidden] {
display: none;
}
@keyframes slide-in {
from {
transform: translateX(-100%);
}
}
@keyframes fade-in {
from {
opacity: 0;
}
}
.scrim {
animation: fade-in var(--d-slide) var(--e-in-out);
display: block;
position: fixed;
inset: var(--topbar-h) 0 0 0;
background: var(--scrim);
z-index: 35;
border: 0;
padding: 0;
}
.view {
padding: 18px var(--sp-4) var(--view-floor);
}
.search-band {
padding: var(--sp-4) var(--sp-4) var(--sp-3);
}
.results {
padding: var(--sp-4) var(--sp-4) var(--sp-6);
}
.page-title,
.divider-v,
.search-launcher .what,
.search-launcher .key-hint {
display: none;
}
.search-launcher {
flex: 0 0 auto;
width: 34px;
justify-content: center;
padding: 0;
}
.wordmark {
display: none;
}
}
@media (max-width: 520px) {
:root {
--t-display: 18px;
--t-h1: 16px;
--t-title: 14px;
--t-lead: 13px;
--t-body: 13px;
}
.welcome .steps {
grid-template-columns: minmax(0, 1fr);
}
.page-head .line {
display: contents;
}
.page-head > .subtitle {
order: 1;
}
.page-head .line > .actions {
order: 2;
margin-top: var(--sp-2);
}
.page-head .line > .spacer {
display: none;
}
.graph-frame {
height: 280px;
}
.graph-controls {
gap: var(--sp-2);
}
.kv .k {
width: auto;
}
.stat {
flex-basis: 100%;
}
.store-chips {
flex-wrap: nowrap;
overflow-x: auto;
scrollbar-width: none;
mask-image: linear-gradient(to right, #000 88%, transparent);
}
.store-chips::-webkit-scrollbar {
display: none;
}
.store-chips > * {
flex: 0 0 auto;
}
.results {
padding-bottom: var(--sp-8);
}
}
th.pick,
td.pick {
width: 34px;
padding-right: 0;
}
input.pick {
width: 15px;
height: 15px;
margin: 0;
accent-color: var(--blue);
cursor: pointer;
}
.bulk {
display: flex;
align-items: center;
gap: var(--sp-3);
padding: var(--sp-2h) var(--sp-3h);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--soft);
}
.row-actions {
display: flex;
align-items: center;
gap: var(--sp-2);
justify-content: flex-end;
}
.menu {
position: fixed;
z-index: 60;
min-width: 180px;
padding: var(--sp-1);
display: flex;
flex-direction: column;
gap: 2px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-3);
box-shadow: 0 10px 30px rgb(15 21 26 / 18%);
}
.menu-item {
transition: background var(--d-quick) var(--e-in-out);
display: flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-2) var(--sp-3);
border: 0;
border-radius: var(--r-2);
background: none;
color: var(--ink);
font: inherit;
font-size: var(--t-body-sm);
text-align: left;
white-space: nowrap;
cursor: pointer;
}
.menu-item:hover {
background: var(--soft);
}
.menu-item.bad {
color: var(--red-ink);
}
.menu-item.bad:hover {
background: var(--red-soft);
}
.button.icon {
width: 32px;
padding: 0;
}
th.row-end,
td.row-end {
width: 44px;
text-align: right;
}
.modal {
width: min(440px, calc(100vw - 2 * var(--sp-4)));
padding: var(--sp-4h);
border: 1px solid var(--line);
border-radius: var(--r-4);
background: var(--panel);
color: var(--ink);
box-shadow: 0 24px 60px rgb(15 21 26 / 22%);
}
.modal::backdrop {
background: rgb(15 21 26 / 45%);
}
.modal .card-title {
margin: 0 0 var(--sp-2);
font-size: var(--t-title);
}
.modal .subtitle {
margin: 0;
overflow-wrap: anywhere;
}
.modal[open] {
display: flex;
flex-direction: column;
max-height: min(86dvh, 760px);
}
.modal.wide {
width: min(560px, calc(100vw - 2 * var(--sp-4)));
}
.modal-head,
.modal-foot {
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.modal-body {
flex: 1 1 auto;
min-height: 0;
margin-top: var(--sp-3);
overflow-y: auto;
overscroll-behavior: contain;
}
.modal-foot:has(> *:not(:empty)) {
margin-top: var(--sp-3);
}
.modal .card-title {
margin: 0;
}
.modal .actions {
flex-shrink: 0;
}
.modal .card-title {
overflow-wrap: anywhere;
}
.modal .actions {
margin-top: var(--sp-4);
}
.modal .button.danger {
border-color: var(--red);
color: var(--red-ink);
}
.modal .button.danger:hover {
background: var(--red-soft);
border-color: var(--red);
color: var(--red-ink);
}
.button.icon {
width: 32px;
height: 32px;
padding: 0;
color: var(--ink-2);
}
.button.icon:hover,
.button.icon[aria-expanded="true"] {
color: var(--ink);
border-color: var(--blue);
}
.button.icon[aria-expanded="true"] {
background: var(--chip);
}
.button.icon svg {
width: 18px;
height: 18px;
}
.rules {
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.rule-row {
display: flex;
flex-direction: column;
gap: var(--sp-1);
padding: var(--sp-3) 0 0;
border-top: 1px solid var(--line);
}
.rule-row:first-child {
border-top: 0;
padding-top: 0;
}
.rule-head {
display: flex;
align-items: center;
gap: var(--sp-2);
min-width: 0;
}
.rule-id {
font-weight: 600;
white-space: nowrap;
}
.rule-text {
color: var(--muted);
margin: 0;
max-width: 100%;
}
.rule-found {
align-items: baseline;
display: flex;
gap: var(--sp-2);
min-width: 0;
}
.rule-found .eyebrow {
flex-shrink: 0;
}
.rule-check {
color: var(--fg);
font-size: 0.85em;
min-width: 0;
overflow-wrap: anywhere;
}
.rule-row.bad .rule-check {
color: var(--red);
}
.log .line.refused .outcome {
color: var(--red);
}
.log .line.refused {
opacity: 1;
}
.log .line.failed .outcome {
color: var(--red);
}
.log .line.failed {
opacity: 1;
}
.impact-band {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2h);
align-items: center;
margin-bottom: var(--sp-4);
}
.impact-band input[type="search"],
.impact-band .hops,
.path-band input {
height: 34px;
padding: 0 var(--sp-3);
border: 1px solid var(--line);
border-radius: var(--r-3);
background: var(--panel);
color: var(--ink);
font-family: var(--mono);
font-size: var(--t-field);
outline: none;
transition: border-color var(--d-fade) var(--e-in-out);
}
.impact-band input[type="search"]:focus,
.impact-band .hops:focus,
.path-band input:focus {
border-color: var(--accent-edge);
}
.impact-band input[type="search"] {
flex: 1 1 12rem;
min-width: 0;
}
.impact-guide {
margin: var(--sp-3) 0 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: var(--sp-1);
font-size: var(--t-body-sm);
line-height: var(--lh-prose);
color: var(--muted);
}
.impact-guide b {
color: var(--ink-2);
font-weight: 500;
}
.hops-label {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
font-size: var(--t-small-h);
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.06em;
font-family: var(--mono);
}
.hops-label .hops {
width: 4.5rem;
}
.impact-hop {
display: flex;
align-items: baseline;
gap: var(--sp-2);
}
.impact-hop h2 {
font-size: var(--t-small);
margin: 0;
}
.impact-table {
min-height: 0;
margin-bottom: var(--sp-4);
}
.impact-table td {
font-family: var(--mono);
font-size: var(--t-small);
padding: var(--sp-2) var(--sp-3h);
}
.impact-table .sym {
max-width: 26ch;
}
.impact-table .sym code {
display: block;
font: inherit;
color: var(--ink);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.impact-table .where {
color: var(--ink-2);
overflow-wrap: normal;
white-space: nowrap;
max-width: 22ch;
overflow: hidden;
text-overflow: ellipsis;
}
.impact-table .via {
display: flex;
align-items: baseline;
gap: var(--sp-2);
min-width: 0;
color: var(--muted);
}
.impact-hop-row th {
position: static;
text-transform: none;
letter-spacing: normal;
font: inherit;
padding: var(--sp-3h) var(--sp-3h) var(--sp-1);
background: var(--soft);
box-shadow: none;
}
.impact-table tbody tr.impact-hop-row:hover {
background: var(--soft);
}
.table-head {
padding: var(--sp-3h) var(--sp-3h) 0;
}
.table-head h2 {
font-size: var(--t-body);
margin: 0;
}
.headline {
font-size: var(--t-body);
color: var(--ink);
margin-bottom: var(--sp-3);
}
.note.hypothesis {
color: var(--amber-ink, var(--ink-2));
margin-bottom: var(--sp-3);
}
.impact-subject-row {
display: flex;
align-items: baseline;
gap: var(--sp-2h);
flex-wrap: wrap;
}
.impact-columns {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
gap: var(--sp-4);
align-items: start;
min-width: 0;
}
.impact-results {
display: flex;
flex-direction: column;
gap: var(--sp-4);
min-width: 0;
}
.impact-table td.where {
max-width: 0;
width: 40%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.impact-table td.via .one-line {
white-space: normal;
}
.impact-col {
display: flex;
flex-direction: column;
gap: var(--sp-4);
min-width: 0;
}
.impact-canvas-card {
position: relative;
height: clamp(320px, 42vh, 460px);
overflow: hidden;
padding: 0;
}
.canvas-caption {
position: absolute;
left: var(--sp-3h);
top: var(--sp-3);
padding: var(--sp-1) var(--sp-2);
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-2);
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
pointer-events: none;
}
.impact-subject {
font-family: var(--mono);
font-size: var(--t-body);
color: var(--ink);
}
.impact-stats {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3);
}
.impact-stat {
display: flex;
flex: 1 1 110px;
min-width: 0;
flex-direction: column;
gap: 2px;
}
.impact-stat .n {
font-family: var(--mono);
font-size: 22px;
color: var(--ink);
}
.impact-row .hops-n {
color: var(--muted);
}
.card-head {
display: flex;
align-items: baseline;
gap: var(--sp-2);
margin-bottom: var(--sp-3);
}
.card-head h2 {
font-size: var(--t-body);
margin: 0;
}
.mono-chip {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.path-band {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2h);
align-items: center;
margin-bottom: var(--sp-4);
}
.path-band input {
flex: 1 1 9rem;
min-width: 0;
}
.hop {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--sp-2);
padding: var(--sp-1) 0;
font-family: var(--mono);
font-size: var(--t-small);
}
.hop .n {
color: var(--muted);
min-width: 1.2em;
}
.hop .end {
color: var(--ink);
overflow-wrap: anywhere;
}
.hop .arrow,
.hop .kind {
color: var(--ink-2);
}
.seam {
margin: 0 0 var(--sp-1) var(--sp-5);
padding-left: var(--sp-2);
border-left: 1.4px dashed var(--accent);
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--amber-ink);
}
.trailer {
margin-top: var(--sp-2);
font-size: var(--t-tiny);
color: var(--muted);
}
.refusal {
border: 1px solid var(--line);
border-radius: var(--r-4);
padding: var(--sp-3);
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--sp-3);
}
.refusal .mono {
font-family: var(--mono);
font-size: 12.5px;
margin: 0;
}
.link {
background: none;
border: 0;
padding: 0;
color: var(--accent);
font: inherit;
cursor: pointer;
text-decoration: underline;
}
.answer {
margin: var(--sp-1) 0 var(--sp-4);
line-height: var(--lh-prose);
}
.support {
margin-bottom: var(--sp-3);
}
.support code {
display: block;
font-family: var(--mono);
font-size: var(--t-small);
background: var(--shade, var(--line-soft));
border-radius: var(--r-2, 4px);
padding: var(--sp-2);
overflow-x: auto;
white-space: pre;
}
.support-foot {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
align-items: baseline;
margin-top: var(--sp-1);
font-family: var(--mono);
font-size: var(--t-tiny);
}
.support-foot .hop-of {
color: var(--muted);
}
.mark.fact {
color: var(--blue-ink, var(--accent));
}
.mark.candidate {
color: var(--amber-ink);
}
.graph-side {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 0;
border-left: 1px solid var(--line);
}
.graph-scroll {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
}
.graph-side .graph-rail {
flex-shrink: 0;
border-left: 0;
overflow-y: visible;
}
.map-panel {
flex-shrink: 0;
padding: var(--sp-4h);
border-top: 1px solid var(--line);
}
.map-body {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.map-row {
display: flex;
flex-direction: column;
gap: 2px;
text-align: left;
padding: var(--sp-2);
border: 1px solid var(--line);
border-radius: var(--r-2);
background: var(--panel);
cursor: pointer;
min-width: 0;
}
.map-row:hover {
border-color: var(--blue-ink);
}
.map-row .line {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--ink-2);
overflow-wrap: anywhere;
}
.map-row .line.one {
display: flex;
gap: var(--sp-2);
align-items: baseline;
font-size: var(--t-small);
color: var(--ink);
}
.map-row .size {
color: var(--muted);
}
.map-shown {
margin-top: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
@media (max-width: 899px) {
.graph-side {
border-left: 0;
border-top: 1px solid var(--line);
}
.graph-scroll {
overflow: visible;
}
}
.health {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: var(--sp-3);
margin-bottom: var(--sp-4);
align-items: stretch;
}
.health-card {
display: flex;
flex-direction: column;
gap: var(--sp-2);
justify-content: flex-start;
padding: var(--sp-3);
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--r-4);
min-width: 0;
}
.mix {
display: flex;
flex-direction: column;
gap: var(--sp-1);
flex: 1 1 auto;
justify-content: space-evenly;
}
.mix-row {
display: flex;
align-items: center;
gap: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny);
}
.mix-row .k {
flex: 0 0 7rem;
color: var(--ink-2);
overflow-wrap: anywhere;
}
.mix-row .meter {
flex: 1 1 auto;
height: 6px;
background: var(--line-soft);
border-radius: 999px;
overflow: hidden;
}
.mix-row .meter span {
display: block;
height: 100%;
background: var(--blue-ink);
}
.mix-row .v {
color: var(--muted);
white-space: nowrap;
}
.months {
display: flex;
align-items: flex-end;
gap: var(--sp-1);
min-height: 96px;
flex: 1 1 auto;
}
.month {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
flex: 0 1 44px;
min-width: 0;
height: 100%;
justify-content: flex-end;
}
.months {
justify-content: flex-start;
}
.month .col {
display: flex;
align-items: flex-end;
width: 100%;
flex: 1 1 auto;
}
.month .col span {
display: block;
width: 100%;
background: var(--blue-ink);
border-radius: 2px 2px 0 0;
}
.month .m,
.month .c {
font-family: var(--mono);
font-size: 9px;
color: var(--muted);
}
.support-bar {
display: flex;
height: 10px;
border-radius: 999px;
overflow: hidden;
background: var(--line-soft);
}
.support-bar .seg.extracted {
background: var(--blue-ink);
}
.support-bar .seg.resolved {
background: var(--accent);
}
.support-bar .seg.ambiguous {
background: var(--amber-ink);
}
.support-bar .seg.unresolved {
background: var(--line);
}
.health-facts {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3);
}
.health-facts .fact {
display: flex;
flex-direction: column;
}
.health-facts .v {
font-family: var(--mono);
font-size: var(--t-body);
color: var(--ink);
}
.health-facts .k {
font-size: var(--t-tiny);
color: var(--muted);
}
.w-sessions {
table-layout: fixed;
width: 100%;
}
.w-sessions th:nth-child(1),
.w-sessions td:nth-child(1) {
width: 16%;
}
.w-sessions th:nth-child(2),
.w-sessions td:nth-child(2) {
width: 14%;
}
.w-sessions th:nth-child(5),
.w-sessions td:nth-child(5),
.w-sessions th:nth-child(6),
.w-sessions td:nth-child(6),
.w-sessions th:nth-child(7),
.w-sessions td:nth-child(7) {
width: 11%;
}
.replay-body {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.replay-row {
display: flex;
flex-direction: column;
gap: 2px;
padding: var(--sp-2) 0;
border-bottom: 1px solid var(--line-soft);
}
.replay-meta {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.replay-off {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-3h);
padding: var(--sp-3h);
border: 1px dashed var(--line);
border-radius: var(--r-2);
}
.replay-off p {
flex: 1 1 200px;
min-width: 200px;
margin: 0;
font-size: var(--t-small);
color: var(--muted);
}
.replay-answer {
display: flex;
gap: var(--sp-2h);
margin-top: var(--sp-2h);
}
.replay-answer .at {
flex: 0 0 58px;
font-family: var(--mono);
font-size: 11.5px;
color: var(--muted);
}
.replay-what {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--sp-1);
min-width: 0;
padding-left: var(--sp-3);
border-left: 2px solid var(--line);
}
.replay-what .line.one {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--sp-2h);
font-family: inherit;
font-size: var(--t-small);
}
.replay-what .q {
color: var(--ink);
overflow-wrap: anywhere;
}
.replay-what .muted {
font-family: var(--mono);
font-size: var(--t-tiny);
}
.replay-badge {
display: inline-flex;
align-self: flex-start;
font-family: var(--mono);
font-size: var(--t-tiny);
padding: 2px var(--sp-2);
border-radius: var(--r-1);
background: var(--chip);
color: var(--ink-2);
}
.replay-badge.sufficed {
background: var(--green-soft);
color: var(--green-ink);
}
.replay-badge.refund {
background: var(--amber-soft);
color: var(--amber-ink);
}
.replay-badge.unknown {
color: var(--muted);
}
.replay-switch {
display: flex;
align-items: flex-start;
gap: 11px;
width: 100%;
padding: var(--sp-3) 13px;
border: 1px solid var(--line);
border-radius: var(--r-2);
background: var(--bg);
text-align: left;
cursor: pointer;
transition:
background var(--d-quick) var(--e-in-out),
border-color var(--d-quick) var(--e-in-out);
}
.replay-switch:hover:not([disabled]) {
border-color: var(--ink-2);
}
.replay-switch[disabled] {
cursor: default;
opacity: 0.6;
}
.replay-switch.on {
border-color: var(--green);
background: var(--green-soft);
}
.replay-switch .knob {
flex: 0 0 auto;
width: 15px;
height: 15px;
margin-top: 2px;
border: 1px solid var(--line);
border-radius: var(--r-1);
background: var(--panel);
}
.accel-lanes {
gap: var(--sp-3);
}
.accel-lane {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.accel-remove {
padding-left: calc(1px + 13px + 15px + 11px);
}
.replay-switch.on .knob {
border-color: var(--green-ink);
background: var(--green-ink);
}
.replay-switch-text {
display: flex;
flex-direction: column;
gap: 3px;
min-width: 0;
}
.replay-state {
font-size: var(--t-small);
font-weight: 500;
color: var(--ink);
}
.replay-switch-note {
font-size: 12.5px;
color: var(--muted);
}
.replay-row .line.one {
display: flex;
gap: var(--sp-2);
align-items: baseline;
font-family: var(--mono);
font-size: var(--t-small);
}
.replay-counts {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
font-family: var(--mono);
font-size: var(--t-tiny);
}
.replay-count.refund {
color: var(--amber-ink);
}
.replay-count.miss {
color: var(--red-ink, var(--amber-ink));
}
.replay-count.sufficed {
color: var(--blue-ink);
}
.replay-count.unknown {
color: var(--muted);
}
.report-types {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(264px, 1fr));
gap: var(--sp-3);
}
.report-type {
display: flex;
flex-direction: column;
gap: var(--sp-2);
text-align: left;
padding: var(--sp-3h) var(--sp-4);
border: 1px solid var(--line);
border-radius: var(--r-4);
background: var(--panel);
color: var(--ink);
font: inherit;
cursor: pointer;
min-width: 0;
transition: border-color var(--d-fade) var(--e-in-out), background var(--d-fade) var(--e-in-out);
}
.report-type:hover {
border-color: var(--blue);
}
.report-type.on {
border-color: var(--ink);
background: var(--blue-soft);
}
.report-type .name {
font-weight: 600;
font-size: var(--t-body);
}
.report-type .what {
color: var(--muted);
font-size: var(--t-small-h);
text-wrap: pretty;
}
.report-type .for-whom {
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--ink-2);
}
.report-builder {
gap: var(--sp-3);
}
.report-builder .titles {
display: flex;
flex-direction: column;
gap: var(--sp-1);
}
.report-preview-card {
display: flex;
flex-direction: column;
overflow: hidden;
min-width: 0;
}
.report-preview-card .report-bar {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
flex-shrink: 0;
padding: var(--sp-3) var(--sp-3h);
border-bottom: 1px solid var(--line);
}
.report-preview-card .report-bar .name {
font-family: var(--mono);
font-size: var(--t-small);
color: var(--ink-2);
overflow-wrap: anywhere;
}
.report-preview-card .report-bar .copy {
opacity: 1;
width: auto;
height: 28px;
padding: 0 var(--sp-3);
}
.report-preview-card .foot {
flex-shrink: 0;
border-top: 1px solid var(--line);
background: var(--soft);
padding: var(--sp-2h) var(--sp-3h);
}
.report-text {
font-family: var(--mono);
font-size: var(--t-tiny-h);
line-height: var(--lh-code);
white-space: pre-wrap;
overflow-wrap: anywhere;
margin: 0;
padding: var(--sp-4);
background: var(--bg);
max-height: 22rem;
overflow: auto;
min-height: 4rem;
}
.chip-group {
display: flex;
flex-direction: column;
gap: var(--sp-2);
min-width: 0;
}
.chip-group.inline {
flex-direction: row;
align-items: center;
gap: var(--sp-2);
}
.report-builder .span-note {
font-family: var(--mono);
font-size: var(--t-tiny-h);
}
.report-toggles {
display: flex;
flex-direction: column;
gap: var(--sp-2);
min-width: 0;
}
.report-toggle {
display: flex;
align-items: flex-start;
gap: var(--sp-2h);
text-align: left;
padding: var(--sp-3) var(--sp-3);
border-radius: var(--r-3);
border: 1px solid var(--line);
background: var(--bg);
color: var(--ink);
font: inherit;
min-width: 0;
}
.report-toggle[aria-pressed="true"] {
border-color: var(--green);
background: var(--green-soft);
}
.report-toggle .knob {
width: 15px;
height: 15px;
border-radius: var(--r-1);
border: 1px solid var(--line);
background: var(--panel);
flex-shrink: 0;
margin-top: 2px;
}
.report-toggle[aria-pressed="true"] .knob {
border-color: var(--green-ink);
background: var(--green-ink);
}
.report-toggle .stack {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
}
.report-toggle .label {
font-size: var(--t-body-sm);
font-weight: 500;
}
.report-toggle .why {
color: var(--muted);
font-size: var(--t-small);
text-wrap: pretty;
}
.report-preview-card .foot {
display: flex;
align-items: center;
gap: var(--sp-3);
flex-wrap: wrap;
}
.report-preview-card .foot .meta {
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--muted);
}
.report-preview-card .foot .button {
height: 30px;
padding: 0 var(--sp-3h);
}
.savings-head {
display: flex;
align-items: center;
gap: var(--sp-2h);
flex-wrap: wrap;
}
.savings-head > .rule {
width: 1px;
height: 20px;
background: var(--line);
margin: 0 var(--sp-1);
flex-shrink: 0;
}
.savings-lines {
display: flex;
flex-direction: column;
gap: var(--sp-3);
min-width: 0;
}
.savings-line {
display: flex;
flex-direction: column;
gap: var(--sp-1);
padding-bottom: var(--sp-2h);
border-bottom: 1px solid var(--line-soft);
min-width: 0;
}
.savings-line .row,
.savings-net {
display: flex;
align-items: baseline;
gap: var(--sp-2h);
flex-wrap: wrap;
min-width: 0;
}
.savings-line .name {
font-size: var(--t-body);
font-weight: 500;
}
.savings-line .tok,
.savings-net .tok {
font-family: var(--mono);
font-size: var(--t-body);
color: var(--ink-2);
}
.savings-line .amount {
font-family: var(--mono);
font-size: var(--t-lead);
font-weight: 500;
min-width: 96px;
text-align: right;
}
.savings-net .name {
font-size: var(--t-lead);
font-weight: 600;
}
.savings-net .amount {
font-family: var(--mono);
font-size: var(--t-display);
font-weight: 600;
min-width: 96px;
text-align: right;
}
.trust-strip {
display: flex;
gap: var(--sp-2);
flex-wrap: wrap;
}
.trust {
display: inline-flex;
align-items: center;
font-family: var(--mono);
font-size: var(--t-tiny);
padding: var(--sp-1) var(--sp-2h);
border-radius: var(--r-pill);
background: var(--chip);
color: var(--ink-2);
max-width: 100%;
overflow-wrap: anywhere;
}
.trust.blue {
background: var(--blue-soft);
color: var(--blue-ink);
}
.trust.green {
background: var(--green-soft);
color: var(--green-ink);
}
.trust.amber {
background: var(--amber-soft);
color: var(--amber-ink);
}
.written-head {
display: flex;
align-items: baseline;
gap: var(--sp-2h);
flex-wrap: wrap;
padding: var(--sp-3h) var(--sp-4);
border-bottom: 1px solid var(--line);
}
.written-card .scroll-x {
overflow-x: auto;
}
.written-table {
min-width: 620px;
}
.written-table .right {
text-align: right;
}
.written-table .file,
.written-table .size,
.written-table .when {
font-family: var(--mono);
font-size: var(--t-small);
}
.written-table .when {
color: var(--muted);
}
.written-table .type,
.written-table .window {
font-size: var(--t-body-sm);
}
.written-table .window {
color: var(--muted);
}
.written-card .empty {
border: 0;
border-top: 1px dashed var(--line);
border-radius: 0;
}
.empty.centred {
text-align: center;
font-size: var(--t-small-h);
padding: var(--sp-4) var(--sp-3h);
}
.schedules-card .card-head {
flex-wrap: wrap;
}
.schedules-card .card-head .mono-chip {
min-width: 0;
overflow-wrap: anywhere;
}
.schedule-list {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.schedule-row {
display: flex;
align-items: flex-start;
gap: var(--sp-2h);
padding: var(--sp-3) var(--sp-3);
border-radius: var(--r-3);
border: 1px solid var(--line);
background: var(--bg);
min-width: 0;
}
.schedule-knob {
width: 15px;
height: 15px;
border-radius: var(--r-1);
border: 1px solid var(--line);
background: var(--panel);
flex-shrink: 0;
margin-top: 3px;
cursor: pointer;
padding: 0;
}
.schedule-knob.on {
border-color: var(--green-ink);
background: var(--green-ink);
}
.schedule-row .stack {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
}
.schedule-row .name {
font-size: var(--t-body-sm);
font-weight: 500;
}
.schedule-row .spec,
.schedule-row .wrote {
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--muted);
overflow-wrap: anywhere;
}
.schedule-row .next {
font-size: var(--t-tiny-h);
color: var(--ink-2);
}
.schedule-row .failed {
font-size: var(--t-small);
color: var(--red-ink);
overflow-wrap: anywhere;
}
.state-pill {
font: 500 var(--t-micro) var(--mono);
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 3px 7px;
border-radius: var(--r-1);
flex-shrink: 0;
background: var(--chip);
color: var(--ink-2);
}
.state-pill.on {
background: var(--green-soft);
color: var(--green-ink);
}
.state-pill.paused {
background: var(--amber-soft);
color: var(--amber-ink);
}
.schedule-remove {
width: 24px;
height: 24px;
border-radius: var(--r-2);
border: 1px solid var(--line);
background: var(--panel);
color: var(--muted);
font-size: var(--t-body);
line-height: 1;
flex-shrink: 0;
cursor: pointer;
padding: 0;
transition: border-color var(--d-hover) var(--e-in-out), color var(--d-hover) var(--e-in-out),
background var(--d-hover) var(--e-in-out);
}
.schedule-remove:hover {
border-color: var(--amber-ink);
color: var(--amber-ink);
background: var(--amber-soft);
}
.new-schedule {
display: flex;
flex-direction: column;
gap: var(--sp-2h);
border-top: 1px solid var(--line);
padding-top: var(--sp-3h);
min-width: 0;
}
.new-schedule .subtitle.strong {
color: var(--ink-2);
}
.write-to {
font: 500 var(--t-tiny) var(--mono);
color: var(--muted);
}
.button.add-schedule {
height: 32px;
padding: 0 var(--sp-3h);
border-color: var(--accent-edge);
}
.report-cli-card .card-head .copy {
height: 26px;
padding: 0 var(--sp-2h);
width: auto;
opacity: 1;
}
pre.report-cli {
border: 1px solid var(--line);
border-radius: var(--r-3);
padding: var(--sp-3) var(--sp-3h);
background: var(--bg);
color: var(--ink);
}
.report-extras {
border-style: dashed;
}
.new-schedule .chip {
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
line-height: 26px;
}
@media (max-width: 899px) {
.grid.two {
grid-template-columns: minmax(0, 1fr);
}
}
@media (max-width: 599px) {
.written-table {
min-width: 520px;
}
.savings-line .amount,
.savings-net .amount {
min-width: 0;
text-align: left;
}
}
.cloud-page > .page-head,
.cloud-page > .subtitle,
.cloud-page > .card {
max-width: 780px;
}
.cloud-rows {
display: flex;
flex-direction: column;
gap: var(--sp-3h);
margin-bottom: var(--sp-4);
}
.cloud-row {
margin: 0;
display: flex;
flex-direction: column;
gap: var(--sp-1);
line-height: var(--lh-prose);
}
.cloud-row .lead {
font-weight: 600;
font-size: var(--t-body-sm);
}
.cloud-row .what {
color: var(--muted);
font-size: var(--t-body-sm);
text-wrap: pretty;
}
.cloud-foot {
display: flex;
align-items: baseline;
gap: var(--sp-1);
flex-wrap: wrap;
margin-top: var(--sp-4);
font-size: var(--t-body-sm);
color: var(--muted);
}
.cloud-block {
margin-bottom: var(--sp-3);
}
.unreadable-slot:empty {
display: none;
}
.notice.bad {
border-color: var(--amber-ink);
color: var(--ink-2);
}
.notice.bad .what {
color: var(--amber-ink);
}
.unreadable > summary {
display: flex;
align-items: baseline;
gap: var(--sp-2);
cursor: pointer;
min-width: 0;
}
.unreadable > summary::marker {
color: var(--muted);
}
.unreadable > .subtitle {
margin: var(--sp-1) 0 var(--sp-2) var(--sp-4);
}
.unreadable > pre.code {
margin-left: var(--sp-4);
}
.tab-panel {
margin-top: var(--sp-4);
min-width: 0;
}
.view > .tabs + .tab-panel {
margin-top: 0;
}
.grid.agent-row {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 899px) {
.grid.agent-row {
grid-template-columns: minmax(0, 1fr);
}
}
.agent-extras {
align-items: stretch;
}
.agent-extras > * {
min-width: 0;
}
.report-cli-card .report-cli {
flex: 1 1 auto;
}
.report-cli-card {
display: flex;
flex-direction: column;
gap: var(--sp-3);
}
.rules-card .rules {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
gap: var(--sp-4) var(--sp-5);
align-items: start;
}
.rules-card .rule-row:first-child {
border-top: 1px solid var(--line);
padding-top: var(--sp-3);
}
.stat-cards {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3);
margin-bottom: var(--sp-4);
}
.stat-cards .stat {
flex: 1 1 190px;
}
.mix-bar {
display: flex;
gap: 2px;
height: 10px;
margin: var(--sp-3) 0;
border-radius: 5px;
overflow: hidden;
}
.mix-bar .seg {
min-width: 2px;
border-radius: 2px;
transition: filter var(--d-quick) var(--e-in-out);
}
.mix-bar .seg:hover,
.mix-bar .seg:focus-visible {
filter: brightness(1.15);
}
.tone-0 {
--tone: var(--accent);
}
.tone-1 {
--tone: var(--blue);
}
.tone-2 {
--tone: var(--green);
}
.tone-3 {
--tone: var(--blue-ink);
}
.tone-4 {
--tone: var(--amber-ink);
}
.tone-5 {
--tone: var(--muted);
}
.tone-0,
.tone-1,
.tone-2,
.tone-3,
.tone-4,
.tone-5 {
background: var(--tone);
}
.mix-row .swatch {
flex: 0 0 9px;
height: 9px;
border-radius: 3px;
}
.mix-card {
display: flex;
flex-direction: column;
gap: 14px;
}
.mix-card .card-head {
flex-wrap: wrap;
margin: 0;
}
.mix-card .mix-bar {
margin: 0;
}
.mix-card .mix {
flex: 0 0 auto;
justify-content: flex-start;
gap: 9px;
}
.mix-card .mix-row {
gap: 10px;
margin: 0 -6px;
padding: 0 6px;
border-radius: 5px;
}
.mix-card .mix-row .k {
flex: 0 0 96px;
font-size: var(--t-small-h);
color: var(--ink);
}
.mix-card .mix-row .meter {
min-width: 40px;
background: var(--chip);
border-radius: 3px;
}
.mix-card .mix-row .meter span {
background: var(--tone, var(--blue-ink));
}
.mix-card .mix-row .v {
flex: 0 0 74px;
text-align: right;
font-size: var(--t-small);
color: var(--ink-2);
}
.mix-card .mix-row .pct {
flex: 0 0 36px;
}
.mix-card .note {
margin: 0;
}
.mix-row .pct {
flex: 0 0 2.5rem;
text-align: right;
font-family: var(--mono);
font-size: var(--t-tiny);
font-weight: 400;
color: var(--muted);
}
.kv-panels {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: var(--sp-3);
margin-bottom: var(--sp-4);
align-items: start;
}
.kv-panel h2 {
font-size: var(--t-body);
margin: 0 0 var(--sp-3);
}
.kv-list {
display: flex;
flex-direction: column;
gap: 7px;
}
.kv-row {
display: flex;
align-items: baseline;
gap: var(--sp-3);
}
.kv-row .k {
flex: 0 0 auto;
font-size: var(--t-body-sm);
color: var(--muted);
white-space: nowrap;
}
.kv-row .v {
flex: 1 1 auto;
min-width: 0;
overflow-wrap: anywhere;
font-family: var(--mono);
font-size: var(--t-body-sm);
color: var(--ink);
text-align: right;
}
.fact-cards {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3);
margin-bottom: var(--sp-4);
}
.fact-card {
flex: 1 1 250px;
min-width: 0;
display: flex;
flex-direction: column;
gap: 5px;
padding: 15px 17px;
border-radius: var(--r-4);
background: var(--blue-soft);
}
.fact-card h2 {
margin: 0;
font-family: var(--mono);
font-size: 17px;
font-weight: 500;
color: var(--blue-ink);
}
.fact-card p {
margin: 0;
font-size: var(--t-small);
color: var(--ink-2);
}
.corpus-top {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
gap: var(--sp-4);
margin-bottom: var(--sp-4);
align-items: start;
}
.corpus-panels {
display: flex;
flex-wrap: wrap;
gap: var(--sp-4);
min-width: 0;
}
.corpus-panels > .kv-panel {
flex: 1 1 260px;
min-width: 0;
}
.months-card .card-head {
margin-bottom: var(--sp-4);
}
.month-chart {
display: flex;
align-items: flex-end;
gap: 6px;
height: 150px;
}
.month-col {
display: flex;
flex: 1 1 0;
min-width: 6px;
height: 100%;
align-items: flex-end;
border-radius: var(--r-2);
}
.month-col .col {
display: block;
width: 100%;
background: var(--blue);
border-radius: 4px 4px 2px 2px;
transition: filter var(--d-quick) var(--e-in-out);
}
.month-col.none .col {
background: var(--line-soft);
}
.month-col.now .col {
background: var(--accent);
}
.month-col:hover .col,
.month-col:focus-visible .col {
filter: brightness(1.08);
}
.month-col:focus-visible {
outline: 2px solid var(--blue);
outline-offset: 2px;
}
.month-axis {
display: flex;
gap: 6px;
margin-top: var(--sp-2);
}
.month-axis span {
flex: 1 1 0;
min-width: 6px;
font-family: var(--mono);
font-size: 10.5px;
color: var(--muted);
}
.health-card-full .card-head {
margin-bottom: var(--sp-4);
}
.tier-bar {
display: flex;
gap: 2px;
height: 12px;
margin: var(--sp-2) 0 var(--sp-3);
border-radius: 6px;
overflow: hidden;
}
.tier-bar .seg {
min-width: 2px;
transition: filter var(--d-quick) var(--e-in-out);
}
.tier-bar .seg:hover,
.tier-bar .seg:focus-visible {
filter: brightness(1.15);
}
.tier-legend {
display: flex;
flex-wrap: wrap;
gap: var(--sp-3h);
font-family: var(--mono);
font-size: var(--t-small);
color: var(--ink-2);
}
.tier-key {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
}
.legend-dot {
width: 9px;
height: 9px;
border-radius: 3px;
flex: 0 0 auto;
background: var(--tone, var(--muted));
}
.legend-dot.extracted,
.seg.extracted {
background: var(--blue-ink);
}
.legend-dot.resolved,
.tier-bar .seg.resolved {
background: var(--green);
}
.legend-dot.unresolved,
.tier-bar .seg.unresolved {
background: var(--line);
}
.legend-dot.ambiguous,
.tier-bar .seg.ambiguous {
background: var(--accent);
}
.legend-dot.blue {
background: var(--blue);
}
.legend-dot.accent {
background: var(--accent);
}
.health-columns {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: var(--sp-4);
margin-top: var(--sp-4);
align-items: start;
}
.health-col {
display: flex;
flex-direction: column;
gap: var(--sp-2);
min-width: 0;
}
.health-figure {
font-family: var(--mono);
font-size: 18px;
color: var(--ink);
}
.chip-flat {
display: inline-flex;
padding: 2px var(--sp-2);
border-radius: var(--r-1);
background: var(--chip);
color: var(--ink-2);
font-family: var(--mono);
font-size: var(--t-tiny);
cursor: help;
}
.tip-card {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 128px;
}
.tip-head {
display: flex;
align-items: center;
gap: 7px;
color: var(--ink);
}
.tip-head .legend-dot {
width: 8px;
height: 8px;
}
.tip-head .name {
font-family: var(--mono);
font-size: var(--t-small-h);
font-weight: 500;
overflow-wrap: anywhere;
}
.tip-rows {
display: flex;
flex-direction: column;
gap: 3px;
}
.tip-row {
display: flex;
align-items: baseline;
gap: var(--sp-4);
justify-content: space-between;
}
.tip-row .k {
color: var(--muted);
font-family: var(--sans);
font-size: var(--t-tiny-h);
white-space: nowrap;
}
.tip-row .v {
min-width: 0;
font-family: var(--mono);
font-size: var(--t-tiny-h);
color: var(--ink);
text-align: right;
overflow-wrap: anywhere;
font-variant-numeric: tabular-nums;
}
.index-bar {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--sp-2) var(--sp-4);
}
.index-bar-group {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-2);
min-width: 0;
}
.index-bar-group.end {
margin-left: auto;
flex-wrap: nowrap;
}
.index-bar .select {
max-width: 18rem;
padding-right: 34px;
}
.decisions .section-title {
margin: var(--sp-2) 0 calc(-1 * var(--sp-2));
}
.index-note:empty {
display: none;
}
.scan-panel {
display: flex;
flex-direction: column;
gap: var(--sp-4);
}
.scan-panel > .eyebrow {
margin: var(--sp-2) 0 calc(-1 * var(--sp-2));
}
.scan-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: var(--sp-3);
}
.scan-stat {
display: flex;
flex-direction: column;
gap: var(--sp-1);
padding: var(--sp-3) var(--sp-4);
border: 1px solid var(--line-soft);
border-radius: var(--r-3);
background: var(--soft);
min-width: 0;
}
.scan-stat strong {
font-size: 22px;
font-weight: 600;
color: var(--ink);
font-variant-numeric: tabular-nums;
line-height: 1.2;
}
.scan-stat .meta {
font-size: var(--t-small);
}
.scan-panel .table-card {
box-shadow: none;
}
.scan-skipped {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--sp-2) var(--sp-3);
padding: var(--sp-2h) var(--sp-4);
border: 1px dashed var(--line);
border-radius: var(--r-3);
}
.scan-panel > .note {
margin: 0;
}
.decide {
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-end;
gap: var(--sp-2);
}
td.decide-col {
width: 1%;
white-space: nowrap;
}
.w-scan-review .path,
.w-decisions .path {
max-width: 34rem;
}
.dialog-path {
display: block;
padding: var(--sp-2) var(--sp-3);
border-radius: var(--r-2);
background: var(--chip);
font-family: var(--mono);
font-size: var(--t-small);
line-height: 1.5;
color: var(--ink);
overflow-wrap: anywhere;
word-break: break-all;
}
.findings {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--sp-2);
}
.findings li {
padding: var(--sp-2) var(--sp-3);
border: 1px solid var(--line-soft);
border-radius: var(--r-2);
min-width: 0;
}
.finding-head {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--sp-1) var(--sp-2);
font-size: var(--t-body-sm);
color: var(--ink-2);
}
.finding-value {
font-family: var(--mono);
font-size: var(--t-small);
padding: 1px var(--sp-1);
border-radius: var(--r-1);
background: var(--chip);
color: var(--ink);
}
.finding-conf {
font-size: var(--t-body-sm);
color: var(--ink);
font-variant-numeric: tabular-nums;
}
.finding-signals {
margin-top: var(--sp-1);
font-size: var(--t-small);
line-height: 1.5;
color: var(--muted);
overflow-wrap: anywhere;
}
.reviewed {
display: flex;
align-items: center;
gap: var(--sp-2);
font-size: var(--t-body-sm);
color: var(--ink);
cursor: pointer;
}
.reviewed input {
margin: 0;
}
.ftree {
padding: var(--sp-2) 0;
font-size: var(--t-body-sm);
overflow-x: auto;
}
.ftree ul {
list-style: none;
margin: 0;
padding: 0;
}
.ftree-row {
display: flex;
align-items: center;
gap: 6px;
height: 28px;
padding-right: var(--sp-4);
border-radius: var(--r-2);
color: var(--ink);
cursor: default;
white-space: nowrap;
min-width: max-content;
}
.ftree-row:hover {
background: var(--soft);
}
.ftree-row.dir {
cursor: pointer;
}
.ftree-row:focus-visible {
outline: 2px solid var(--blue);
outline-offset: -2px;
}
.ftree-row .indent {
flex-shrink: 0;
align-self: stretch;
width: 16px;
border-left: 1px solid var(--line-soft);
margin-left: 7px;
}
.ftree-row .indent.lead {
border-left: 0;
margin-left: 0;
width: 8px;
}
.ftree-row .chev {
flex-shrink: 0;
width: 16px;
display: inline-flex;
justify-content: center;
color: var(--muted);
transition: transform var(--d-fade) var(--e-in-out);
}
.ftree-row[aria-expanded="true"] .chev {
transform: rotate(90deg);
}
.ftree-row .ficon {
flex-shrink: 0;
display: inline-flex;
color: var(--muted);
}
.ftree-row.dir .ficon {
color: var(--blue);
}
.ftree-row .fname {
color: var(--ink);
}
.ftree-row.root .fname {
font-weight: 600;
}
.ftree-row .fmeta {
margin-left: var(--sp-3);
font-family: var(--mono);
font-size: var(--t-tiny);
color: var(--muted);
}
.ftree-row.off .fname,
.ftree-row.off .ficon {
color: var(--muted);
}
.ftree-row.off .fname {
text-decoration: line-through;
text-decoration-color: var(--line);
}
.ftree-row.stale .fmeta::after {
content: " · changed since indexed";
color: var(--amber-ink);
}
.ftree .ft-rust { color: #c9713a; }
.ftree .ft-js,
.ftree .ft-ts { color: #b8912a; }
.ftree .ft-py { color: #3f79b0; }
.ftree .ft-md { color: var(--blue); }
.ftree .ft-data { color: var(--green); }
.ftree .ft-web { color: #c0572b; }
.ftree .ft-image { color: #8a5bb0; }
.ftree-more {
padding: var(--sp-1) 0 var(--sp-1) 40px;
font-size: var(--t-small);
color: var(--muted);
}
.files-filters {
display: grid;
gap: var(--sp-3);
}
.rows.files-pane {
gap: var(--sp-4);
}
.rows.files-pane > .subtitle {
margin: 0;
}
.files-filters .filters {
row-gap: var(--sp-2);
}
.filter-label {
min-width: 3.5rem;
font-size: var(--t-tiny);
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
}
.files-filters .store-chips {
flex-wrap: wrap;
}
.pill.class-credential {
background: var(--red-soft);
color: var(--red-ink);
}
.pill.class-content {
background: var(--amber-soft);
color: var(--amber-ink);
}
@media (max-width: 599px) {
.index-bar-group.end {
flex-wrap: wrap;
margin-left: 0;
}
.index-bar .select {
max-width: 100%;
}
}