/* Outline: lightweight heading TOC */ .tiptap-outline { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.9rem 1rem; border: 1px solid var(--color-zinc-800); border-radius: 1rem; background: linear-gradient(180deg, rgba(27, 24, 26, 0.96), rgba(27, 24, 26, 0.92)); color: var(--color-zinc-300); max-height: min(60vh, 32rem); overflow: auto; } .tiptap-outline__header { display: flex; align-items: center; gap: 0.5rem; color: var(--color-zinc-400); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; } .tiptap-outline__list { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; } .tiptap-outline__item { min-width: 0; } .tiptap-outline__button { display: flex; align-items: flex-start; gap: 0.45rem; width: 100%; min-width: 0; padding: 0.45rem 0.5rem; border: none; background: transparent; border-radius: 0.65rem; font: inherit; text-align: left; text-decoration: none; color: var(--color-zinc-400); cursor: pointer; transition: background-color 0.12s ease, color 0.12s ease; } .tiptap-outline__button:hover { background-color: var(--color-zinc-800); color: var(--color-zinc-100); } .tiptap-outline__button:focus-visible { outline: 1px solid var(--color-accent-500); outline-offset: 1px; } .tiptap-outline__button[data-active="true"] { background-color: color-mix(in srgb, var(--color-accent-500) 12%, transparent); color: var(--color-zinc-100); } .tiptap-outline__chevron { margin-top: 0.2rem; color: var(--color-zinc-600); flex-shrink: 0; } .tiptap-outline__button[data-active="true"] .tiptap-outline__chevron { color: var(--color-accent-400); } .tiptap-outline__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.875rem; line-height: 1.45; } /* Rail variant: lightweight list without card container */ .tiptap-outline--rail { border: none; background: transparent; border-radius: 0; padding: 0; max-width: none; max-height: calc(100vh - 6rem); } .tiptap-outline--rail .tiptap-outline__button { border-radius: 0; }