.qf-draft{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin:10px 0;background:#edf1f3;border-radius:10px;color:#5f5d58;font-size:13px;font-weight:400}.qf-draft span{flex:1;min-width:180px}.qf-draft button{font-size:13px;padding:6px 10px}.file-entry{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e7e5e0}.file-entry .file-details{flex:1;min-width:220px;overflow-wrap:anywhere}.file-details small{display:block;color:var(--qf-ink-3);margin-top:4px}.qf-preview{width:min(1100px,94vw);max-width:94vw;max-height:92vh;padding:18px;border:1px solid #d8d5ce;border-radius:16px}.qf-preview::backdrop{background:#26262466}.qf-preview header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.qf-preview h2{flex:1;font-size:18px;overflow-wrap:anywhere}.qf-preview img{display:block;max-width:100%;height:auto;margin:12px auto}.qf-preview pre{white-space:pre-wrap;overflow-wrap:anywhere}.qf-preview .preview-page{background:#f7f7f5;padding:10px;min-height:180px}.qf-preview .preview-nav{display:flex;gap:10px;align-items:center}.qf-preview .preview-nav input{width:80px}.qf-preview [hidden],.qf-draft [hidden]{display:none!important}@media(max-width:600px){.qf-preview{padding:12px}.file-entry .file-details{min-width:100%}}@media print{.qf-draft,.qf-preview{display:none!important}}
/* 顶部细进度条 (2026-11-01): page-progress.js shows it while the server is being waited for */
.qf-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--qf-accent,#3f6c86);z-index:2147483000;opacity:0;pointer-events:none;transition:opacity .2s}.qf-progress.on{opacity:1;width:82%;transition:width 8s cubic-bezier(.08,.72,.2,1),opacity .2s}.qf-progress.done{width:100%;opacity:0;transition:width .2s ease-out,opacity .3s .15s}@media(prefers-reduced-motion:reduce){.qf-progress.on{width:82%;transition:opacity .2s}}

.qf-preview .preview-nav{flex-wrap:wrap}.qf-preview .preview-nav button{white-space:nowrap;padding:8px 12px}.qf-preview .preview-nav label{display:flex;align-items:center;gap:6px}.qf-preview .preview-nav input{width:64px}
/* The button that previews a file stands a little off the name of the file wherever the two are set in a line of text; in a row that keeps a gap of its own, that gap is the distance. (The owner, 2026-10-12, told that name and button touched in the list of reference cases: “预览按钮也扫一遍”.) */
.file-preview-button{margin-inline:8px 4px}
.file-entry>.file-preview-button,.full-file>.file-preview-button,.actions>.file-preview-button,.files>.file-preview-button{margin-inline:0}
