#toc-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:85dvh}
#toc-dialog .dialog-head,#toc-dialog>p,.toc-unlock{flex-shrink:0}
#toc-dialog>p{margin:0 0 16px;line-height:1.5}
#toc-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;overscroll-behavior:contain;padding:2px 3px 12px;scrollbar-gutter:stable}
#toc-list button{display:grid;grid-template-columns:24px minmax(0,1fr) 36px;align-items:start;gap:10px;width:100%;height:auto;min-height:44px;max-height:none;flex:0 0 auto;padding:12px 10px;white-space:normal;line-height:1.6}
#toc-list .toc-lock,#toc-list .toc-free{justify-self:end;margin-top:3px}
#toc-list .toc-title{color:var(--ink);font-size:14px;flex:1;min-width:0;overflow-wrap:anywhere}
#toc-list .toc-number{flex-shrink:0}
#toc-list .toc-lock{flex-shrink:0;color:var(--muted)}
#toc-list .toc-free{font-size:10px;color:var(--accent);flex-shrink:0}
.toc-unlock{background:var(--panel);border-top:1px solid var(--line);padding:14px 0 0}
.toc-unlock .hint{margin:0 0 10px}
.toc-unlock .primary{display:flex;width:100%;text-align:center}
#toc-checkout:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-height:500px){#toc-dialog[open]{max-height:95dvh;padding:14px}#toc-dialog .dialog-head{margin-bottom:8px}#toc-dialog>p{margin-bottom:8px}.toc-unlock{padding-top:8px}}
