/* “我的”词库：完整滚动范围、可变行高窗口化，避免大词库全量 DOM。 */
.vocab-list.vocab-list-windowed {
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    overflow-anchor: none;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.vocab-list.vocab-list-windowed:focus-visible {
    outline: 3px solid rgba(35, 102, 209, .42);
    outline-offset: 3px;
}

.vocab-window-content {
    position: relative;
    width: 100%;
    min-height: 1px;
}

.vocab-window-row {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(10rem, 2fr) minmax(7rem, auto);
    gap: 6px 12px;
    align-items: start;
    overflow: visible;
    background: var(--card);
}

.vocab-window-row .vw,
.vocab-window-row .vm,
.vocab-window-row .vt {
    min-width: 0;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.vocab-window-row .vm { line-height: 1.45; }
.vocab-window-row .vt { text-align: right; line-height: 1.45; }

@media (max-width: 520px) {
    .vocab-window-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 10px;
        padding-block: 10px;
    }
    .vocab-window-row .vm { grid-column: 1 / -1; }
    .vocab-window-row .vt { grid-column: 2; grid-row: 1; max-width: 9rem; }
}

@media (forced-colors: active) {
    .vocab-list.vocab-list-windowed:focus-visible { outline: 2px solid CanvasText; }
}
