.pj{--pj-bg:#1e293b;--pj-bg2:#0f172a;--pj-bg3:#273449;--pj-line:#334155;--pj-text:#f1f5f9;--pj-muted:#94a3b8;--pj-primary:#22d3ee;--pj-on:#0f172a;--pj-danger:#f87171}
.pj [hidden]{display:none!important}
[dir="rtl"] .pj .pj-flip{transform:scaleX(-1)}
.pj-panel{background:var(--pj-bg);border:1px solid var(--pj-line);border-radius:1rem;padding:1rem}
@media(min-width:640px){.pj-panel{padding:1.5rem}}
.pj-msg{margin:0 0 1rem;padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgb(248 113 113/.4);background:rgb(248 113 113/.1);color:#fecaca;font-size:.875rem;line-height:1.5;text-align:center}

.pj-start{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.25rem;border:2px dashed var(--pj-line);text-align:center;transition:border-color .2s,background-color .2s}
@media(min-width:640px){.pj-start{padding:3.5rem 2rem}}
.pj-start-icon{width:4rem;height:4rem;border-radius:1rem;background:rgb(34 211 238/.12);color:var(--pj-primary);display:flex;align-items:center;justify-content:center}
.pj-or{margin:0;color:var(--pj-muted);font-size:.95rem}
.pj-drop-active{display:none;margin:0;color:var(--pj-primary);font-weight:600}
.pj-note{margin:.25rem 0 0;display:flex;align-items:center;justify-content:center;gap:.4rem;color:#4ade80;font-size:.85rem}
.pj-limits{margin:0;color:var(--pj-muted);font-size:.8rem}
.pj.pj-dragover .pj-start{border-color:var(--pj-primary);background:rgb(34 211 238/.06)}
.pj.pj-dragover .pj-start .pj-or{display:none}
.pj.pj-dragover .pj-start .pj-drop-active{display:block}
.pj.pj-dragover .pj-main{border-color:var(--pj-primary);background:rgb(34 211 238/.06)}

.pj-primary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.85rem 1.75rem;border:0;border-radius:.9rem;background:var(--pj-primary);color:var(--pj-on);font-size:1.0625rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px rgb(34 211 238/.18);transition:transform .15s ease,opacity .15s ease}
.pj-primary:hover{transform:translateY(-1px);opacity:.92}
.pj-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.pj-start .pj-primary{width:100%;max-width:22rem;min-height:4rem;font-size:1.25rem}
.pj-primary:focus-visible,.pj-round:focus-visible,.pj-share-buttons a:focus-visible,.pj-share-buttons button:focus-visible,.pj-continue a:focus-visible{outline:2px solid #fff;outline-offset:2px}

.pj-round{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid var(--pj-line);background:var(--pj-bg3);color:var(--pj-text);cursor:pointer;transition:background-color .15s,border-color .15s,opacity .15s}
.pj-round:hover:not(:disabled){border-color:var(--pj-primary)}
.pj-round:disabled{opacity:.35;cursor:not-allowed}
.pj-round-primary{background:var(--pj-primary);color:var(--pj-on);border-color:transparent}
.pj-round-lg{width:3.25rem;height:3.25rem}
.pj-az{font-size:.75rem;font-weight:700;letter-spacing:.02em}
.pj-badge{position:absolute;top:-.4rem;inset-inline-start:-.4rem;min-width:1.4rem;height:1.4rem;padding:0 .3rem;border-radius:999px;background:var(--pj-bg2);border:1px solid var(--pj-line);color:var(--pj-text);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}

.pj-work{display:flex;flex-direction:column;gap:1rem}
.pj-main{transition:border-color .2s,background-color .2s}
.pj-hint{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;border:1px solid rgb(34 211 238/.35);border-radius:.75rem;background:rgb(34 211 238/.08);color:#cffafe;font-size:.875rem;line-height:1.5}
.pj-hint svg{flex:none;margin-top:.1rem}
.pj-hint p{margin:0}
.pj-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;margin:1rem 0}
.pj-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media(min-width:640px){.pj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.pj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.pj-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pj-card{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;border:1px solid var(--pj-line);border-radius:.85rem;background:var(--pj-bg2);cursor:grab;user-select:none;-webkit-user-select:none;transition:border-color .15s,opacity .15s}
.pj-card:hover{border-color:rgb(34 211 238/.6)}
.pj-card-error{border-color:rgb(248 113 113/.6)}
.pj-dragging{opacity:.35}
.pj-drop-before{box-shadow:-4px 0 0 var(--pj-primary)}
.pj-drop-after{box-shadow:4px 0 0 var(--pj-primary)}
.pj-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;border-radius:.5rem;background:var(--pj-bg3);color:var(--pj-muted);overflow:hidden}
.pj-thumb img{width:100%;height:100%;object-fit:contain;background:#fff;pointer-events:none}
.pj-order{position:absolute;top:.35rem;inset-inline-start:.35rem;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:999px;background:var(--pj-bg2);border:1px solid var(--pj-line);color:var(--pj-text);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.pj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--pj-text);font-size:.8125rem}
.pj-meta{text-align:center;color:var(--pj-muted);font-size:.75rem;line-height:1.3}
.pj-card-error .pj-meta{color:var(--pj-danger)}
.pj-actions{display:flex;justify-content:center;gap:.35rem}
.pj-mini{width:2.25rem;height:2.25rem}
.pj-danger:hover:not(:disabled){border-color:var(--pj-danger);color:var(--pj-danger)}
.pj-spin{width:1.75rem;height:1.75rem;border:3px solid var(--pj-line);border-top-color:var(--pj-primary);border-radius:999px;animation:pj-rotate .8s linear infinite}
@keyframes pj-rotate{to{transform:rotate(360deg)}}

.pj-side{display:flex;flex-direction:column;gap:.9rem}
.pj-side-title{margin:0;text-align:center;font-size:1.25rem;font-weight:700;color:var(--pj-text)}
.pj-summary{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;text-align:center}
.pj-summary dt{font-size:.7rem;color:var(--pj-muted)}
.pj-summary dd{margin:0;font-size:1rem;font-weight:700;color:var(--pj-text)}
.pj-need{margin:0;text-align:center;color:var(--pj-muted);font-size:.8125rem}
.pj-merge{width:100%;min-height:3.5rem}
@media(max-width:1023px){
  .pj-side{position:sticky;bottom:.75rem;z-index:20;box-shadow:0 -10px 30px rgb(0 0 0/.4)}
  .pj-side-title{display:none}
}
@media(min-width:1024px){
  .pj-work{flex-direction:row;align-items:flex-start}
  .pj-main{flex:1;min-width:0}
  .pj-side{width:19rem;flex:none;position:sticky;top:6rem}
  .pj-merge{min-height:4rem;font-size:1.25rem}
}

.pj-done{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}
.pj-done-title{margin:0;font-size:1.75rem;font-weight:800;color:var(--pj-text);outline:none}
@media(min-width:640px){.pj-done-title{font-size:2.25rem}}
.pj-done-info{margin:0;color:var(--pj-muted);font-size:.9rem}
.pj-done-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%}
.pj-done-actions .pj-primary{flex:1 1 auto;max-width:26rem;min-height:4rem;font-size:1.1875rem}
.pj-continue{width:100%;text-align:start}
.pj-continue h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:var(--pj-text)}
.pj-continue ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.5rem}
@media(min-width:640px){.pj-continue ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.pj-continue ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pj-continue a{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg2);color:var(--pj-text);text-decoration:none;font-size:.9rem;font-weight:600;transition:border-color .15s}
.pj-continue a:hover{border-color:rgb(34 211 238/.6)}
.pj-continue-icon{flex:none;width:2.5rem;height:2.5rem;border-radius:.65rem;display:flex;align-items:center;justify-content:center}
.pj-continue-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-share h3{margin:0;font-size:1rem;font-weight:700;color:var(--pj-text)}
.pj-share p{margin:.25rem 0 1rem;color:var(--pj-muted);font-size:.9rem}
.pj-share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.pj-share-buttons a,.pj-share-buttons button{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.5rem 1.1rem;border:1px solid var(--pj-line);border-radius:.65rem;background:var(--pj-bg);color:var(--pj-text);font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color .15s}
.pj-share-buttons a:hover,.pj-share-buttons button:hover{border-color:var(--pj-primary)}
.pj-file{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg2)}
.pj-file-info{display:flex;align-items:center;gap:.75rem;min-width:0}
.pj-file-icon{flex:none;width:2.5rem;height:2.5rem;border-radius:.65rem;background:rgb(34 211 238/.12);color:var(--pj-primary);display:flex;align-items:center;justify-content:center}
.pj-file-text{min-width:0}
.pj-file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--pj-text);font-size:.9rem}
.pj-file-meta{display:block;color:var(--pj-muted);font-size:.75rem}
.pj-link{flex:none;padding:.25rem;border:0;background:none;color:var(--pj-primary);font-size:.85rem;font-weight:600;text-decoration:underline;cursor:pointer}
.pj-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0}
.pj-mode{position:relative;display:block;cursor:pointer}
.pj-mode input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pj-mode span{display:flex;align-items:center;justify-content:center;min-height:3rem;padding:.5rem;text-align:center;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg2);color:var(--pj-muted);font-size:.8125rem;font-weight:600;line-height:1.25;transition:border-color .15s,background-color .15s,color .15s}
@media(min-width:640px){.pj-mode span{font-size:.9rem}}
.pj-mode input:checked+span{border-color:var(--pj-primary);background:rgb(34 211 238/.1);color:var(--pj-text)}
.pj-mode input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.pj-opt{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.pj-label{font-size:.875rem;font-weight:600;color:var(--pj-text)}
.pj-field{width:100%;min-height:3rem;padding:.65rem .9rem;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg2);color:var(--pj-text);font-size:1rem}
.pj-field:focus{outline:2px solid var(--pj-primary);outline-offset:1px}
.pj-field-num{max-width:10rem}
.pj-help{margin:0;color:var(--pj-muted);font-size:.8125rem;line-height:1.5}
.pj-check{display:flex;align-items:center;gap:.6rem;color:var(--pj-text);font-size:.875rem;cursor:pointer}
.pj-check input{width:1.15rem;height:1.15rem;accent-color:var(--pj-primary)}
.pj-need-err{color:#fca5a5}
.pj-pages-title{margin:0 0 .75rem;font-size:.9rem;font-weight:700;color:var(--pj-text)}
.pj-pages{list-style:none;margin:0;padding:.25rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-height:32rem;overflow:auto;overscroll-behavior:contain}
@media(min-width:640px){.pj-pages{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.pj-pages{grid-template-columns:repeat(5,minmax(0,1fr))}}
.pj-page{display:block;width:100%;padding:.35rem;border:2px solid var(--pj-line);border-radius:.7rem;background:var(--pj-bg2);color:var(--pj-text);cursor:pointer;transition:border-color .15s,background-color .15s,opacity .15s}
.pj-page:disabled{cursor:default}
.pj-page:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pj-pnum{display:block;margin-top:.3rem;color:var(--pj-muted);font-size:.75rem;text-align:center}
.pj-page.pj-sel{border-color:var(--pj-primary);background:rgb(34 211 238/.1)}
.pj-page.pj-sel .pj-pnum{color:var(--pj-text);font-weight:700}
.pj-files{width:100%;text-align:start}
.pj-files h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:var(--pj-text)}
.pj-files ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:20rem;overflow:auto}
.pj-files li{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg2)}
.pj-files-text{flex:1;min-width:0}
.pj-files-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pj-text);font-size:.875rem;font-weight:600}
.pj-files-meta{display:block;color:var(--pj-muted);font-size:.75rem}
.pj-files a{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.35rem .9rem;border:1px solid var(--pj-line);border-radius:.6rem;background:var(--pj-bg);color:var(--pj-text);font-size:.8125rem;font-weight:600;text-decoration:none;transition:border-color .15s}
.pj-files a:hover{border-color:var(--pj-primary)}
.pj-files a:focus-visible,.pj-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.pj *{transition:none!important;animation-duration:2s!important}}
.pj-hint{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;padding:.75rem 1rem;border:1px solid rgb(34 211 238/.35);border-radius:.75rem;background:rgb(34 211 238/.08);color:#cffafe;font-size:.875rem;line-height:1.5}
.pj-field-row{display:flex;gap:.5rem}
.pj-field-row .pj-field{flex:1;min-width:0}
.pj-clear{flex:none;min-height:3rem;padding:.5rem 1rem;border:1px solid var(--pj-line);border-radius:.75rem;background:var(--pj-bg3);color:var(--pj-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,opacity .15s}
.pj-clear:disabled{opacity:.35;cursor:not-allowed}
.pj-page.pj-sel{border-color:var(--pj-primary);background:rgb(34 211 238/.12)}
.pj-page.pj-sel .pj-thumb::after{content:"\2713";position:absolute;top:.35rem;inset-inline-end:.35rem;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--pj-primary);color:var(--pj-on);font-size:.95rem;font-weight:800;line-height:1}
.pj-page.pj-sel .pj-pnum{color:var(--pj-primary);font-weight:700}
.pj-clear:hover:not(:disabled){border-color:var(--pj-primary)}
.pj-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem;margin:1rem 0}
.pj-tool{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:.4rem .9rem;border:1px solid var(--pj-line);border-radius:.65rem;background:var(--pj-bg3);color:var(--pj-text);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s,opacity .15s}
.pj-tool:hover:not(:disabled){border-color:var(--pj-primary)}
.pj-tool:disabled{opacity:.35;cursor:not-allowed}
.pj-tool:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pj-card{position:relative}
.pj-actions{flex-wrap:nowrap;gap:.25rem}
.pj-actions .pj-mini{width:2rem;height:2rem}
.pj-actions .pj-mini:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pj-thumb img{transition:none}
.pj-grid{max-height:40rem;overflow:auto;overscroll-behavior:contain;padding:.25rem}

/* Scan to PDF additions: start buttons, option fieldset, camera overlay */
.pj-start-icon{margin-bottom:.25rem}
.pj-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:22rem;min-height:3.25rem;padding:.75rem 1.5rem;border:1px solid var(--pj-line);border-radius:.9rem;background:var(--pj-bg3);color:var(--pj-text);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:border-color .15s,opacity .15s}
.pj-secondary:hover:not(:disabled){border-color:var(--pj-primary)}
.pj-secondary:disabled,.pj-start .pj-primary:disabled{opacity:.4;cursor:not-allowed}
.pj-secondary:focus-visible,.pj-shutter:focus-visible,.pj-cam-done:focus-visible{outline:2px solid #fff;outline-offset:2px}
fieldset.pj-opt{border:0;padding:0;min-width:0}
fieldset.pj-opt legend{padding:0;margin-bottom:.6rem}
select.pj-field{appearance:auto}
.pj-opt .pj-modes{margin:0}
.pj-side .pj-opt{margin-bottom:0}
.pj-toolbar{flex-wrap:wrap}
.pj-grid{max-height:40rem}


/* Compress PDF additions: file preview, level cards, progress, result */
.pj-file-thumb{flex:none;display:flex;align-items:center;justify-content:center;width:3rem;height:4rem;border-radius:.5rem;background:rgb(34 211 238/.12);color:var(--pj-primary);overflow:hidden}
.pj-file-thumb canvas{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.pj-file{margin-bottom:1.25rem}
.pj-levels{display:grid;grid-template-columns:1fr;gap:.6rem}
@media(min-width:640px){.pj-levels{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pj-level{position:relative;display:block;cursor:pointer}
.pj-level input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pj-level-box{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:.9rem 1rem;border:1px solid var(--pj-line);border-radius:.85rem;background:var(--pj-bg2);transition:border-color .15s,background-color .15s}
.pj-level:hover .pj-level-box{border-color:rgb(34 211 238/.6)}
.pj-level input:checked+.pj-level-box{border-color:var(--pj-primary);background:rgb(34 211 238/.1)}
.pj-level input:focus-visible+.pj-level-box{outline:2px solid #fff;outline-offset:2px}
.pj-level input:disabled+.pj-level-box{opacity:.55;cursor:not-allowed}
.pj-level-title{font-size:1rem;font-weight:700;color:var(--pj-text)}
.pj-level-tag{align-self:flex-start;padding:.1rem .5rem;border-radius:999px;background:var(--pj-primary);color:var(--pj-on);font-size:.6875rem;font-weight:700;letter-spacing:.02em}
.pj-level-desc{color:var(--pj-muted);font-size:.8125rem;line-height:1.45}
.pj-level-note{margin:1rem 0 0;padding:.65rem .9rem;border-radius:.75rem;border:1px solid var(--pj-line);background:var(--pj-bg2);color:var(--pj-muted);font-size:.8125rem;line-height:1.5}
.pj-level-note.pj-warn{border-color:rgb(251 191 36/.5);background:rgb(251 191 36/.08);color:#fde68a}
.pj-level-note:empty{display:none}
.pj-progress{height:.5rem;border-radius:999px;background:var(--pj-bg2);border:1px solid var(--pj-line);overflow:hidden}
.pj-progress span{display:block;height:100%;width:0;border-radius:999px;background:var(--pj-primary);transition:width .2s ease}
.pj-saved{margin:0}
.pj-saved-pct{font-size:2.5rem;font-weight:800;color:var(--pj-primary);line-height:1.1}
@media(min-width:640px){.pj-saved-pct{font-size:3.25rem}}
.pj-bar{width:100%;max-width:26rem;height:.75rem;border-radius:999px;background:var(--pj-bg3);border:1px solid var(--pj-line);overflow:hidden}
.pj-bar span{display:block;height:100%;width:0;border-radius:999px;background:#4ade80}
.pj-stats{margin:0;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.pj-stat{min-width:7rem;padding:.75rem 1.25rem;border:1px solid var(--pj-line);border-radius:.85rem;background:var(--pj-bg2);text-align:center}
.pj-stat dt{font-size:.75rem;color:var(--pj-muted)}
.pj-stat dd{margin:.15rem 0 0;font-size:1.25rem;font-weight:700;color:var(--pj-text)}
.pj-stat-new{border-color:rgb(74 222 128/.5)}
.pj-stat-new dd{color:#4ade80}
.pj-stat-arrow{color:var(--pj-muted);flex:none}
.pj-done-info{max-width:32rem}

/* PDF to JPG additions: two-column page mode, three-stat summary, image list thumbnails */
.pj-modes-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pj-opt .pj-field{margin-top:.25rem}
.pj-summary-3{grid-template-columns:repeat(3,1fr)}
.pj-files{max-width:100%}
.pj-files ul{max-height:28rem}
.pj-files-thumb{flex:none;width:2.75rem;height:3.5rem;border-radius:.4rem;background:#fff;object-fit:contain;border:1px solid var(--pj-line)}
.pj-done-actions .pj-primary[hidden]{display:none}
