.review-source-dialog{box-sizing:border-box;width:min(980px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 22px 80px #0005}
.review-source-dialog::backdrop{background:#0008}
.review-source-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line)}
.review-source-heading h2{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}
.review-source-heading .btn{flex:none}
.review-source-body{max-height:calc(92dvh - 72px);overflow:auto;background:var(--bg,#f7f8fb)}
.review-source-message{margin:0;padding:14px 20px;color:var(--muted);font-size:13px;line-height:1.6}
.review-source-controls{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:16px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface,#fff)}
.review-source-page{min-height:100px;padding:20px;text-align:center}
.review-source-canvas{display:block;max-width:100%;height:auto;margin:auto;background:#fff;box-shadow:0 3px 18px #0002}
.review-source-hwpx{box-sizing:border-box;width:min(800px,calc(100% - 32px));margin:0 auto 20px;padding:28px 34px;background:#fff;color:#171717;box-shadow:0 3px 18px #0002;font:14px/1.7 sans-serif;overflow-wrap:anywhere}
.review-source-hwpx p{margin:0 0 12px;white-space:pre-wrap}
.review-source-hwpx table{width:100%;border-collapse:collapse;table-layout:fixed}
.review-source-hwpx td{padding:6px;border:1px solid #999;white-space:pre-wrap;vertical-align:top}
@media(max-width:600px){.review-source-heading{padding:10px 12px}.review-source-heading h2{font-size:15px}.review-source-page{padding:10px}.review-source-hwpx{padding:16px}}
