/* PPT 转图片 */
.pt-grid{display:grid;gap:.875rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.pt-page{padding:.625rem;border:1px solid #eef1f5;border-radius:.6rem;background:#fff;text-align:center}
.pt-thumb{display:flex;align-items:center;justify-content:center;min-height:8rem;padding:.375rem;border-radius:.5rem;
  background:linear-gradient(45deg,#f7f8fa 25%,transparent 25%,transparent 75%,#f7f8fa 75%),
             linear-gradient(45deg,#f7f8fa 25%,#fff 25%,#fff 75%,#f7f8fa 75%);
  background-size:16px 16px;background-position:0 0,8px 8px}
.pt-thumb img{display:block;max-width:100%;max-height:16rem;height:auto;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.pt-name{margin-top:.45rem;font-size:.75rem;color:#4d5259;word-break:break-all}
.pt-size{color:#a7b0bb;font-size:.6875rem}

/* 幻灯片渲染舞台（屏幕外，保证 html2canvas 能量到真实尺寸） */
#ptStage{position:absolute;left:-100000px;top:0;pointer-events:none}
#ptStage .pt-slide{position:relative;overflow:hidden}
#ptStage .pt-shape{position:absolute;box-sizing:border-box}
#ptStage .pt-shape img{display:block;width:100%;height:100%;object-fit:contain}
#ptStage .pt-tbl{position:absolute;border-collapse:collapse;table-layout:fixed}
#ptStage .pt-tbl td{border:1px solid #9aa4b2;padding:2px 4px;font-size:13px;vertical-align:top;
  overflow-wrap:anywhere;color:#1f2937}

@media (max-width:575.98px){
  .pt-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}
}
