.xs-page { display: flex; flex-direction: column; gap: var(--sp-2); max-width: 980px; }
.xs-bar { gap: var(--sp-2); align-items: center; }
.xs-input { flex: 1; min-width: 0; font-size: var(--fs-md); }
.xs-status:empty { display: none; }
.xs-status { margin: 0; }
.xs-stale { margin: 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--r-ctl); background: var(--info-bg); color: var(--text); }
.xs-empty { margin: var(--sp-3) 0; }
.xs-body { display: flex; flex-direction: column; gap: var(--sp-3); }
.xs-proj { border: 1px solid var(--border); border-radius: var(--r-card); background: var(--surface); overflow: hidden; }
.xs-proj-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); background: var(--surface-2); border-bottom: 1px solid var(--border); }
.xs-proj-name { font-weight: 600; font-size: var(--fs-md); color: var(--text); }
.xs-chip { padding: 0 8px; border-radius: var(--r-pill); background: var(--chip-bg); color: var(--chip-text); border: 1px solid var(--chip-line); font-size: var(--fs-xs); }
.xs-list { list-style: none; margin: 0; padding: 0; }
.xs-item { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--line-2); }
.xs-item:last-child { border-bottom: 0; }
.xs-item:hover { background: var(--hover-bg); }
.xs-link { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2); color: var(--text); text-decoration: none; }
.xs-link:hover .xs-name, .xs-link:focus-visible .xs-name { text-decoration: underline; }
.xs-num { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-2); }
.xs-name { font-weight: 500; overflow-wrap: anywhere; }
.xs-kind { margin-inline-start: auto; }
.xs-snip { margin-top: 2px; color: var(--text-2); overflow-wrap: anywhere; }
.xs-field { color: var(--text-3); }
.xs-page mark { background: var(--accent-2); color: inherit; border-radius: 2px; padding: 0 1px; }
.xs-more { margin: 0; padding: var(--sp-2) var(--sp-3); border-top: 1px solid var(--line-2); }
@media (max-width: 700px) { .xs-kind { margin-inline-start: 0; } }
