/* 与微信 H5 共用色彩和排版；列表只显示浏览所需的信息 */
.ml26-page.page { padding: 0 12px 24px; }
.ml26-stagebar, .ml26-event-tabs { position: sticky; top: 0; z-index: 2; margin: 0 -12px; background: var(--color-surface); border-bottom: var(--hairline) solid var(--color-divider); }
.ml26-stage-track { display: flex; gap: 8px; padding: 2px 12px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.ml26-stage-track::-webkit-scrollbar { display: none; }
.ml26-stage-chip { display: flex; align-items: center; flex: none; min-height: 44px; }
.ml26-stage-chip > span { display: flex; align-items: center; justify-content: center; height: 30px; padding: 0 12px; border: var(--hairline) solid var(--color-button-border); border-radius: var(--radius-chip); background: var(--color-surface); color: var(--color-text-secondary); font-size: var(--font-size-meta); white-space: nowrap; }
.ml26-stage-chip.active > span { background: var(--color-brand); color: var(--color-surface); border-color: var(--color-text-primary); font-weight: var(--font-weight-medium); }
.ml26-stage-chip:focus-visible { outline-offset: 0; border-radius: var(--radius-chip); }
.ml26-list-body { padding-top: 12px; }
.ml26-results-head { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: -4px 0 8px; font-size: var(--font-size-meta); color: var(--color-text-secondary); }
.ml26-results-head > span { flex: 1; min-width: 0; }
.ml26-filter-button, .ml26-publish { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; gap: 4px; color: var(--color-text-primary); font-size: var(--font-size-meta); }
.ml26-filter-button svg, .ml26-publish svg { width: 16px; height: 16px; }
.ml26-project-list { overflow: hidden; }
.ml26-project-card.project-row-link { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 12px; border-bottom: var(--hairline) solid var(--color-divider); }
.ml26-project-card:last-child { border-bottom: 0; }
.ml26-project-card:active, .ml26-event-card:active { background: var(--color-page); }
.ml26-project-card:focus-visible { outline-offset: -3px; }
.ml26-project-mark { display: flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border-radius: var(--radius-button); background: var(--color-surface); color: var(--color-text-primary); font-size: var(--font-size-title); font-weight: var(--font-weight-medium); }
.ml26-project-copy { flex: 1; min-width: 0; }
.ml26-project-copy h3, .ml26-event-copy h2 { font-size: var(--font-size-body); font-weight: var(--font-weight-medium); line-height: 1.5; margin: 0; }
.ml26-project-copy h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ml26-project-summary { margin: 3px 0 6px; font-size: var(--font-size-meta); color: var(--color-text-secondary); line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ml26-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.ml26-tags > span { display: inline-flex; align-items: center; min-height: 20px; max-width: 100%; padding: 2px 6px; border-radius: 4px; background: var(--color-page); color: var(--color-text-secondary); font-size: var(--font-size-caption); line-height: 1.4; }
.ml26-event-tabs { display: flex; padding: 0 12px; }
.ml26-event-tabs > a { flex: 1; min-height: 44px; display: flex; align-items: center; justify-content: center; position: relative; font-size: var(--font-size-body); color: var(--color-text-secondary); }
.ml26-event-tabs > a.active { color: var(--color-text-primary); font-weight: var(--font-weight-medium); }
.ml26-event-tabs > a.active::after { content: ''; position: absolute; bottom: 0; width: 28px; height: 2px; background: var(--color-brand); border-radius: 2px; }
.ml26-list-note { margin: 0 0 12px; color: var(--color-text-tertiary); font-size: var(--font-size-meta); }
.ml26-event-card.as-event-row { display: flex; align-items: flex-start; padding: 12px; gap: 12px; }
.ml26-event-card > .ml26-event-date { flex: 0 0 80px; min-width: 0; min-height: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: var(--radius-button); background: var(--color-surface); }
.ml26-event-date time { color: var(--color-text-primary); font-size: var(--font-size-body); font-weight: var(--font-weight-medium); }
.ml26-event-date > span { color: var(--color-text-secondary); font-size: var(--font-size-caption); white-space: nowrap; }
.ml26-event-card > .ml26-event-copy { flex: 1; min-width: 0; }
.ml26-event-copy .ml26-tags { margin: 6px 0 0; }
.ml26-tags > .ml26-signed { background: var(--color-ok-surface); color: var(--color-ok-text); }
.ml26-event-link { display: flex; align-items: center; gap: 4px; min-height: 44px; color: var(--color-text-primary); font-size: var(--font-size-meta); }
.ml26-event-link .h5-chevron { margin: 0; color: var(--color-text-primary); width: 12px; height: 12px; }
.ml26-event-detail-mark { display: flex; align-items: center; justify-content: center; height: 96px; margin: 16px 0; border-radius: var(--radius-button); background: var(--color-surface); color: var(--color-text-primary); }
.ml26-event-detail-mark svg { width: 42px; height: 42px; stroke-width: 1.5; }
.ml26-empty { min-height: 236px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px 12px; text-align: center; }
.ml26-empty-art { width: 96px; height: 76px; stroke: var(--color-brand); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ml26-empty p { margin: 0; color: var(--color-text-secondary); font-size: var(--font-size-label); }
.ml26-empty .btn { color: var(--color-text-primary); min-width: 132px; }
