.flat-topic-entry {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border-bottom: 1px solid var(--line, #d7dee5);
}
.flat-topic-entry[hidden] { display: none; }
.flat-topic-entry .topic-browser-topic {
    flex: 1;
    min-width: 0;
    padding: 9px 10px;
    border-bottom: 0;
}
.flat-topic-entry .topic-browser-topic-title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
}
.topic-label { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.topic-icon { flex: 0 0 1.25em; }
.topic-info-control { position: relative; display: inline-flex; align-items: center; padding: 5px 9px; }
.topic-info-button {
    color: var(--muted, #536475);
    background: var(--surface, #fff);
    border: 1px solid var(--line, #d7dee5);
    border-radius: 5px;
    font: inherit;
    font-size: 12px;
    padding: 4px 7px;
    cursor: pointer;
}
.topic-info-button:focus-visible { outline: 2px solid var(--accent, #23796b); outline-offset: 3px; }
.topic-info-tooltip {
    display: none;
    position: absolute;
    z-index: 100;
    right: 0;
    top: 100%;
    width: min(24rem, 75vw);
    padding: 10px 12px;
    color: var(--ink, #14212c);
    background: var(--surface, #fff);
    border: 1px solid var(--line, #d7dee5);
    border-radius: 6px;
    box-shadow: 0 5px 18px #0002;
    font-size: 13px;
    line-height: 1.4;
    pointer-events: none;
}
.topic-info-button:is(:hover, :focus-visible) + .topic-info-tooltip { display: block; }
.topic-help-popover {
    width: min(32rem, calc(100vw - 32px));
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    padding: 20px;
    color: var(--ink, #14212c);
    background: var(--surface, #fff);
    border: 1px solid var(--line, #d7dee5);
    border-radius: 10px;
    box-shadow: 0 14px 60px #0004;
    font-size: 14px;
    line-height: 1.5;
}
.topic-help-popover header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.topic-help-popover h3 { margin: 0; font-size: 18px; line-height: 1.3; }
.topic-help-popover li + li { margin-top: 7px; }
.topic-help-question { font-weight: 600; }
.topic-conversation-head:has(.topic-selected-help) { flex-wrap: wrap; }
.topic-selected-help { display: flex; align-items: center; gap: 10px; flex: 0 0 100%; width: 100%; }
.topic-selected-help p { margin: 4px 0; font-size: 13px; color: var(--muted, #536475); }
@media (max-width: 640px) {
    .flat-topic-entry .topic-browser-topic { grid-template-columns: minmax(0, 1fr) auto; }
    .flat-topic-entry .topic-browser-topic time { display: none; }
    .topic-info-control { padding-inline: 5px; }
}
