/* The word rail. Sticky beside the chat on a desktop, a collapsible drawer on a phone. */ .wordrail { position: sticky; top: 116px; align-self: start; display: flex; flex-direction: column; max-height: calc(100dvh - 140px); } .wordrail .panel-h { cursor: pointer; user-select: none; } .wr-tools { padding: 10px 12px; border-bottom: 1px solid var(--line); } .wr-tools input { width: 100%; } .wr-body { flex: 1; overflow-y: auto; min-height: 0; } .wr-row { display: flex; align-items: baseline; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--line); } .wr-k { font-size: 17px; min-width: 74px; flex-shrink: 0; } /* Lifetime lookup tally — a word he keeps needing gets marked. */ .wr-row[data-peeked="1"] .wr-k { box-shadow: inset 0 -2px 0 0 var(--hwang); } .wr-m { font-size: 13.5px; color: var(--ink2); text-align: left; } .wr-m i { display: block; font-style: normal; font-size: 11px; color: var(--ink3); margin-top: 1px; } /* Covered. The gloss is not in the DOM at all — only this label is. */ .wr-m.hid { flex: 1; padding: 3px 8px; background: var(--sunk); border: 1px solid var(--line); color: var(--ink3); font-size: 11px; letter-spacing: 0.04em; text-align: center; } .wr-m.hid:hover { border-color: var(--jade); color: var(--jade); } .wr-foot { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--line); background: var(--raise); font-size: 12px; color: var(--ink3); } .wr-foot .tnum { margin-left: auto; } .toggle { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; } @media (max-width: 900px) { .wordrail { position: static; max-height: none; } .wordrail[data-open="0"] .wr-tools, .wordrail[data-open="0"] .wr-body, .wordrail[data-open="0"] .wr-foot { display: none; } }