[hidden]{display:none!important}
.pt-icon{width:17px;height:17px;flex:0 0 auto;display:inline-block;vertical-align:middle}
.pt-settings,#batch-area:not(:empty),#results-area:not(:empty){color:#202b36}
.pt-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}
.pt-section-title h2,.pt-info h2{font:650 clamp(21px,2.1vw,28px)/1.12 'DM Sans',sans-serif;letter-spacing:-.045em;margin:0;color:#202735}
.pt-section-title p{font-size:14px;color:#5c6673;margin:6px 0 0}
.pt-count{font-size:13px;letter-spacing:0;vertical-align:middle;border:1px solid #d9dfe8;border-radius:100px;padding:3px 9px;margin-inline-start:5px;color:#485566;background:#fff}
#batch-area:not([hidden]):not(:empty),#settings-area:not([hidden]):not(:empty),#results-area:not([hidden]):not(:empty){margin-top:32px;scroll-margin:16px}
.pt-actions,.pt-runbar,.pt-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
button.pt-button,.pt-icon-btn,.pt-remove{cursor:pointer;font-family:inherit}
.pt-button{border:1px solid transparent;font-weight:600;font-size:13px;line-height:1.15;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:9px;padding:9px 13px;text-align:center;white-space:nowrap}
.pt-button:disabled{opacity:.55;cursor:default}
.pt-secondary{background:white;border-color:#d6dce3;color:#29394a}
.pt-secondary:hover:not(:disabled){background:#f1f5fa}
.pt-primary{background:#3159db;color:white;border-color:#3159db;box-shadow:0 2px 4px #183fa417}
.pt-primary:hover:not(:disabled){background:#2448c6}
.pt-text,.pt-link{background:transparent;color:#455b79}
.pt-text:hover,.pt-link:hover{text-decoration:underline}
.pt-link{min-height:22px;padding:2px 0;font-size:12px}
.pt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pt-item,.pt-output{background:#fff;border:1px solid #dde1e7;border-radius:12px;min-width:0}
.pt-item{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:8px 23px 8px 8px}
.pt-thumb{width:53px;height:55px;flex:0 0 53px;border-radius:7px;display:grid;place-items:center;overflow:hidden;background:#eef1f5;color:#8895a6}
.pt-thumb img{width:100%;height:100%;object-fit:cover}
.pt-item-body{min-width:0}
.pt-filename,.pt-output-info strong{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pt-file-status,.pt-output-info span{margin-top:3px;color:#69717b;font-size:12px;line-height:1.3;display:block;overflow-wrap:anywhere}
.pt-item[data-status=error] .pt-file-status{color:#a23b32}
.pt-item[data-status=done] .pt-file-status{color:#32724d}
.pt-item[data-status=processing] .pt-file-status{color:#335bbc}
.pt-remove,.pt-icon-btn{display:grid;place-items:center;border:0;color:#646f7e;background:transparent;border-radius:50%}
.pt-remove{position:absolute;top:5px;right:4px;width:23px;height:23px;padding:4px}
.pt-remove svg{width:14px;height:14px}
.pt-remove:hover,.pt-icon-btn:hover{background:#e9edf4}
.pt-pager{display:flex;justify-content:center;align-items:center;gap:16px;color:#617081;font-size:13px}
.pt-pager:not(:empty){margin-top:12px}
.pt-track-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 7px;font-size:13px}
#pt-progress progress{width:100%;height:7px;accent-color:#3159db}
.pt-settings{background:#fff;border:1px solid #d9dfe6;border-radius:16px;padding:clamp(16px,2.2vw,27px)}
.pt-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:17px 22px}
.pt-field{display:flex;flex-direction:column;gap:6px;min-width:115px;color:#233244}
.pt-label{font:600 12px/1.35 'DM Sans',sans-serif;display:flex;align-items:center;justify-content:space-between;color:#344257;gap:12px}
.pt-segments,.pt-num,.pt-colour{display:inline-flex;align-items:center;border:1px solid #d2d9e2;border-radius:8px;overflow:hidden;background:#fff;min-height:38px}
.pt-segments{padding:3px;background:#f2f4f7;gap:2px}
.pt-segments button{font:550 13px/1.25 inherit;font-family:inherit;font-size:13px;font-weight:550;color:#455164;background:transparent;border:0;cursor:pointer;border-radius:5px;padding:6px 11px;line-height:1.3}
.pt-segments button[aria-pressed=true]{background:white;color:#244dbb;box-shadow:0 0 0 1px #d8dfe8,0 1px 2px #25335113}
.pt-field input,.pt-field select{font:normal 14px 'DM Sans',sans-serif;color:#263348;accent-color:#3159db}
.pt-num input{border:0;min-width:0;width:90px;padding:8px 9px;background:transparent}
.pt-num span{font-size:12px;color:#6a7788;padding-right:10px}
.pt-field>select,.pt-field>input[type=text]{background:white;border:1px solid #d2d9e2;border-radius:8px;padding:8px 10px;min-height:38px}
.pt-field small,.pt-hint{font-size:12px;color:#596678;line-height:1.45;margin:0}
.pt-colour{padding:3px 8px;gap:7px;font-size:12px;font-weight:500}
.pt-colour input{border:0;padding:0;width:27px;height:27px;background:none;cursor:pointer}
.pt-colour input::-webkit-color-swatch{border:1px solid #c8ced7;border-radius:5px}
.pt-quality{min-width:174px}
.pt-quality input{margin:7px 0}
.pt-label output{color:#3159bb}
.pt-advanced{width:100%;border-top:1px solid #e4e8ed;padding-top:13px}
.pt-advanced summary{display:flex;gap:7px;align-items:center;list-style:none;cursor:pointer;width:fit-content;font-size:13px;font-weight:600;color:#506078}
.pt-advanced summary::-webkit-details-marker{display:none}
.pt-advanced[open] summary svg{transform:rotate(180deg)}
.pt-advanced>.pt-fields{padding-top:16px}
.pt-runbar{border-top:1px solid #e3e7ee;padding-top:17px;margin-top:20px}
.pt-runbar .pt-primary{flex-direction:row-reverse}
.pt-strip-hint{display:flex;align-items:center;gap:8px;margin:0;color:#455a51;font-size:14px}
.pt-check{display:flex;align-items:center;gap:8px;font-size:14px}
.pt-check input{accent-color:#3159db}
.pt-outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pt-output{padding:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pt-output-info{min-width:0}
.pt-output .pt-button{font-size:12px;padding:7px;min-height:33px}
.pt-output .pt-button svg{width:14px;height:14px}
.pt-info{border:1px solid #dfe4ea;background:#fff;color:#233041;max-width:min(470px,calc(100vw - 30px));border-radius:16px;padding:24px;box-shadow:0 20px 75px #14264736;font-family:'DM Sans',sans-serif}
.pt-info::backdrop{background:#101c2d75}
.pt-info-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.pt-icon-btn{width:33px;height:33px;background:#f3f5f8}
.pt-info-body{font-size:15px;line-height:1.6;color:#46576b}
.pt-info-body p:last-child{margin-bottom:0}
.pt-info-body ol{padding-left:23px}
.pt-info-body li+li{margin-top:11px}
#pt-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(600px,92vw);padding:12px 17px;background:#242d3a;color:#fff;font:500 14px/1.5 'DM Sans',sans-serif;border-radius:10px;box-shadow:0 8px 25px #182b462b;z-index:8}
@media(max-width:900px){.pt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-outputs{grid-template-columns:1fr}}
@media(max-width:590px){.pt-grid{grid-template-columns:1fr}.pt-section-title{gap:8px;align-items:flex-start}.pt-section-title>.pt-actions{justify-content:flex-end}.pt-section-title .pt-button{font-size:12px;min-height:32px;padding:6px 8px}.pt-fields{gap:13px}.pt-output{flex-wrap:wrap}.pt-output .pt-actions{margin-left:auto}.pt-field{min-width:106px}#pt-notice{bottom:12px;width:max-content}.pt-settings{border-radius:12px}}
.pt-engine-notes{font-size:13px;line-height:1.6;color:#516074;max-width:620px}
.pt-engine-notes p{margin:0 0 8px}
.pt-engine-notes a{color:#2e53bf;text-underline-offset:3px;font-weight:600}
.pt-info-body p+p{margin-top:13px}.pt-flips{display:flex;align-items:center;gap:14px;min-height:38px}.pt-format-note{font-size:13px;color:#596678;line-height:1.5;margin:0;flex-basis:100%}
.pt-transfer-note{display:flex;align-items:flex-start;gap:7px;margin:0 0 0 auto;min-width:180px;max-width:365px;font-size:12px;line-height:1.45;color:#5b6878}.pt-transfer-note .pt-icon{width:14px;height:14px;margin-top:2px;color:#54775e}
/* The header and actions stay visible while only the saved photos scroll. */
.pt-saved {
  width: 680px; max-width: calc(100vw - 28px);
  max-height: min(82vh, 780px); max-height: min(82dvh, 780px);
  padding: 0; overflow: hidden; border: 1px solid #dfd9e9; border-radius: 20px;
  box-shadow: 0 24px 82px #28184838;
}
.pt-saved[open] { display: flex; flex-direction: column; }
.pt-saved-head, .pt-saved-controls { flex: none; display: flex; align-items: center; gap: 14px; padding: 19px 23px; }
.pt-saved-head { border-bottom: 1px solid #ece8f0; }
.pt-saved-mark, .pt-saved-empty > svg { color: #694bc1; background: #f1ebfb; border-radius: 13px; }
.pt-saved-mark { flex: none; display: grid; place-items: center; width: 43px; height: 43px; }
.pt-saved-mark .icon { width: 22px; height: 22px; }
.pt-saved-head h2 { font-size: 24px; }
.pt-saved-intro, .pt-saved-message, .pt-saved-confirm, .pt-saved-empty p { color: #625c72; font-size: 13px; line-height: 1.5; }
.pt-saved-intro { margin-top: 4px; }
.pt-saved-head .pt-icon-btn { flex: none; margin-left: auto; height: 36px; width: 36px; background: #f4f1f6; font-size: 23px; line-height: 1; }
.pt-saved-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-color: #c8bdd6 transparent; scrollbar-width: thin; }
.pt-saved-scroll:focus-visible { outline: 2px solid #8664c6; outline-offset: -2px; }
.pt-saved-list { list-style: none; padding: 0 23px; margin: 0; }
.pt-saved-row { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 13px 0; }
.pt-saved-row + .pt-saved-row { border-top: 1px solid #eeeaf1; }
.pt-saved-thumb {
  position: relative; display: grid; place-items: center; width: 80px; height: 64px; padding: 0;
  overflow: hidden; border: 1px solid #ded9e6; border-radius: 9px; background: #f4f1f6; color: #6e6080;
}
.pt-saved-thumb.has-image {
  background: repeating-conic-gradient(#eae6ef 0 25%, #f7f5f9 0 50%) 0 0 / 12px 12px;
}
.pt-saved-thumb:hover { border-color: #8d72c4; }
.pt-saved-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; }
.pt-saved-thumb.has-image img { opacity: 1; }
.pt-saved-thumb.has-image .pt-thumb-fallback { visibility: hidden; }
.pt-thumb-fallback { font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.pt-saved-details { min-width: 0; }
.pt-saved-details strong { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-saved-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 4px; font-size: 12px; color: #595565; }
.pt-saved-meta b { color: #655084; background: #f1ecf6; padding: 1px 5px; border-radius: 4px; font-size: 10px; }
.pt-saved-details small { display: block; margin-top: 4px; font-size: 11px; line-height: 1.4; color: #6c6775; }
.pt-saved-row .pt-actions { gap: 4px; }
.pt-saved-row .pt-button { min-height: 36px; font-size: 12px; padding: 6px 9px; }
.pt-saved-row .pt-text { color: #676171; }
.pt-saved-pager { display: grid; place-items: center; padding: 8px 12px 18px; }
.pt-saved-controls { justify-content: space-between; padding-block: 12px; border-top: 1px solid #ece8f0; }
.pt-saved-controls:has(.pt-saved-message:empty):has(.pt-text[hidden]) { display: none; }
.pt-saved-controls .pt-text { white-space: nowrap; color: #745466; }
.pt-saved-message { min-width: 0; font-variant-numeric: tabular-nums; }
.pt-saved-empty { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 42px 20px; }
.pt-saved-empty > svg { width: 45px; height: 45px; padding: 11px; margin-bottom: 6px; }
.pt-saved-confirm { flex: none; border-top: 1px solid #ead7d7; background: #fcf5f5; padding: 14px 23px; }
.pt-saved-confirm .pt-actions { margin-top: 10px; }
.pt-danger { background: #95352e; color: #fff; }
@media(max-width: 540px) {
  .pt-saved { max-width: calc(100vw - 16px); max-height: 90vh; max-height: 90dvh; border-radius: 15px; }
  .pt-saved-head, .pt-saved-controls, .pt-saved-confirm { padding-inline: 14px; }
  .pt-saved-head { gap: 10px; padding-block: 14px; }
  .pt-saved-mark { width: 36px; height: 36px; }
  .pt-saved-head h2 { font-size: 22px; }
  .pt-saved-intro { font-size: 12px; }
  .pt-saved-list { padding-inline: 14px; }
  .pt-saved-row { grid-template-columns: 65px minmax(0, 1fr); gap: 6px 11px; }
  .pt-saved-thumb { width: 65px; height: 65px; align-self: start; grid-row: span 2; }
  .pt-saved-row .pt-actions { grid-column: 2; }
  .pt-saved-row .pt-button { min-height: 38px; }
}
@media(max-width:700px){.pt-transfer-note{margin:3px 0 0;max-width:100%;flex-basis:100%}}
/* Settings fold away during a run, leaving progress and downloads in view. */
.pt-settings-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;color:#26364a;min-height:40px}.pt-settings-fold>summary::-webkit-details-marker{display:none}.pt-settings-fold summary strong{display:block;font-size:20px;letter-spacing:-.04em}.pt-settings-fold summary small{display:block;color:#617086;font-size:12px;margin-top:5px}.pt-fold-label{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap;color:#486082}.pt-settings-fold[open] .pt-fold-label svg{transform:rotate(180deg)}.pt-settings-description{font-size:13px;color:#667487;line-height:1.6;margin:18px 0}.pt-settings-fold:not([open])+.pt-runbar{margin-top:14px;padding-top:14px}.pt-transfer-note{min-width:0;max-width:none;color:#748399}.pt-settings summary:focus-visible{outline:2px solid #3159db;outline-offset:7px;border-radius:5px}#progress-area:not([hidden]){margin-top:22px;padding:20px 23px;background:#eef3ff;border:1px solid #c9d7fa;border-radius:14px;scroll-margin:20px}#progress-area .pt-track-head{margin:0 0 12px;font-size:15px}#progress-area progress{display:block;width:100%;height:12px;accent-color:#3159db}#results-area:not([hidden]):not(:empty){background:#fff;border:1px solid #c7d5f4;border-radius:16px;padding:24px;box-shadow:0 6px 22px #274faa0b;margin-top:22px}#results-area .pt-section-title .pt-primary{min-height:45px;padding:12px 19px;font-size:14px}.has-files .tools-area{margin-top:25px}.workspace-footer>div{flex-wrap:wrap;column-gap:24px;row-gap:9px}.footer-copyright{margin-left:auto;white-space:nowrap}.pt-settings-fold[open]>.pt-settings-body{padding-bottom:2px}@media(max-width:590px){.pt-settings-fold summary strong{font-size:18px}.pt-settings-fold summary small{font-size:11px}.pt-settings{padding:17px}#results-area:not([hidden]):not(:empty){padding:17px}.workspace-footer{flex-wrap:wrap}.pt-runbar .pt-primary{flex-grow:1}.pt-settings .pt-field{flex:1 1 135px}#results-area .pt-section-title{flex-wrap:wrap}#results-area .pt-section-title>.pt-actions{width:100%}#results-area .pt-section-title .pt-primary{width:100%}#progress-area:not([hidden]){padding:17px}}
.pt-progress-summary{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;font-size:13px}.pt-time-estimate{font-size:12px;font-weight:600;color:#3156a8;background:#ffffffb3;border:1px solid #d8e2f7;border-radius:7px;padding:5px 8px;font-variant-numeric:tabular-nums}#progress-area .pt-track-head{flex-wrap:wrap}@media(max-width:590px){.pt-progress-summary{width:100%;justify-content:space-between;gap:8px}.pt-time-estimate{font-size:11px}}

.pt-primary{background:#5b46d6;border-color:#5b46d6}.pt-primary:hover:not(:disabled){background:#4934bb}.pt-boop{position:relative!important;min-height:48px!important;min-width:136px;padding:12px 26px!important;border-radius:15px!important;background:#5b46d6!important;border-color:#5b46d6!important;color:white!important;font-size:19px!important;font-weight:800!important;letter-spacing:-.6px;box-shadow:0 4px 0 #3e2ba0,0 7px 18px #7655c622!important;transition:transform .15s,box-shadow .15s,background .15s}.pt-boop:hover:not(:disabled){background:#684fe3!important;transform:translateY(-2px);box-shadow:0 6px 0 #3e2ba0,0 9px 22px #7655c62a!important}.pt-boop:active:not(:disabled){transform:translateY(3px) scale(.98);box-shadow:0 1px 0 #3e2ba0!important}.pt-boop-retry{font-weight:750;color:#6b4abd}.pt-first-photo{display:inline-flex;align-items:center;gap:8px;color:#746581;font-size:12px;padding:10px 4px;cursor:pointer}.pt-first-photo input{accent-color:#6a4ed7;width:15px;height:15px}.pt-settings{border-color:#e0d7ec}.pt-segments button[aria-pressed=true]{color:#6947bd}.pt-field input,.pt-field select,.pt-check input{accent-color:#6b4ad0}#progress-area:not([hidden]){background:#f0ebff;border-color:#d6c8f2}#progress-area progress{accent-color:#6b4ad0}.pt-time-estimate{color:#694b9d;border-color:#ded1f3}.pt-label output{color:#6a4ab8}#results-area:not([hidden]):not(:empty){border-color:#d9ccec;box-shadow:0 6px 22px #63419d0b}.pt-transfer-note .pt-icon{color:#7c6796}.pt-runbar{gap:16px}.pt-runbar .pt-transfer-note{font-size:11px}@media(prefers-reduced-motion:reduce){.pt-boop{transition:none}.pt-boop:hover:not(:disabled),.pt-boop:active:not(:disabled){transform:none}}@media(max-width:590px){.pt-boop{min-height:47px!important}.pt-first-photo{padding:6px 0}.pt-runbar .pt-transfer-note{margin-top:0}}

@media(max-width:620px){.workspace-footer>div{column-gap:16px;row-gap:8px}.footer-copyright{width:100%;margin-left:0}}

.pt-resize-dimensions { flex: 1 1 100%; border-top: 1px solid #e8e2ed; padding-top: 14px; display: flex; gap: 12px 17px; align-items: flex-end; flex-wrap: wrap; }
.pt-resize-dimensions .pt-hint { flex-basis: 100%; }
.pt-size-saving { font-style: normal; color: #39684e; }
#pt-notice { display: flex; align-items: center; gap: 12px; width: max-content; overflow-wrap: anywhere; }
#pt-notice .pt-notice-close { color: #fff; flex: none; font-size: 18px; background: transparent; border: 0; border-radius: 5px; width: 28px; height: 28px; }
#pt-notice .pt-notice-close:hover { background: #ffffff24; }
