/* Target-size tool only; shared shell and processing code remain unchanged. */
.target-size-page .jpg-main { color:var(--text-primary); }
.target-size-page .jpg-hero h1 { letter-spacing:-.03em; text-wrap:balance; }
.target-size-page .jpg-hero > p:last-child { color:var(--text-secondary); max-width:68ch; margin-inline:auto; line-height:1.8; }
.target-size-page #tool-card { padding:clamp(20px,4vw,36px); font-size:16px; }
.target-size-page #tool-card h2 { font-size:20px; margin:0; line-height:1.5; }
.target-upload-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.target-upload-heading > div { display:flex; align-items:center; gap:12px; }
.target-size-page #target-clear { padding:8px; font-size:14px; color:var(--text-secondary); border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; }
.target-size-page #tool-card button { min-height:44px; }
.target-size-page #tool-card .drop-zone { width:100%; margin:0; padding:24px; min-height:180px; gap:16px; background:var(--surface-2); text-align:center; }
.target-size-page .drop-zone strong { font-size:20px; line-height:1.5; }
.target-size-page .drop-zone [data-target=limits] { color:var(--text-secondary); line-height:1.7; }
.target-size-page #tool-card #target-files { width:1px; min-height:0; padding:0; border:0; }
.target-size-page #target-files:focus-visible ~ #target-drop,.target-size-page .drag-over { outline:3px solid var(--text-primary); outline-offset:3px; }
.target-size-page .file-list { max-height:none; overflow:visible; }
.target-size-page #target-results .file-item { grid-template-columns:64px minmax(0,1fr) auto; gap:16px; padding:16px 0; align-items:start; }
.target-size-page #target-results .thumb { width:64px; height:64px; object-fit:contain; border-radius:8px; background:var(--surface-2); }
.target-size-page .file-meta { min-width:0; display:grid; gap:8px; line-height:1.6; }
.target-size-page .file-name { white-space:normal; overflow-wrap:anywhere; }
.target-size-page .file-meta > span { color:var(--text-secondary); }
.target-size-page .target-trust { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-secondary); margin:16px 0 28px; }
.target-trust svg { flex:none; }
.target-size-page #target-settings { border:0; min-width:0; margin:0; padding:24px; border-radius:12px; background:var(--surface-2); }
.target-size-page #target-settings legend { float:left; width:100%; margin:0 0 24px; padding:0; font-size:22px; font-weight:700; }
.target-size-page #target-settings legend + * { clear:both; }
.target-controls { display:grid; grid-template-columns:minmax(0,1fr) 100px auto; align-items:end; gap:12px; }
.target-size-page #target-run-quick { min-height:54px; padding-inline:20px; white-space:nowrap; }
.target-controls label,.target-format-field { display:grid; gap:8px; min-width:0; }
.target-controls label:first-child > span { font-weight:700; }
.target-size-page #tool-card input,.target-size-page #tool-card select { font:inherit; color:var(--text-primary); background:var(--surface); border:1px solid var(--text-muted); border-radius:8px; min-height:48px; padding:12px; width:100%; min-width:0; caret-color:var(--primary); }
.target-size-page #tool-card #target-value { font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; }
.target-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.target-size-page .target-presets button { background:var(--surface); color:var(--text-primary); border-color:var(--border-strong); }
.target-size-page .target-presets button[aria-pressed=true] { background:var(--green-dark); color:var(--white); border-color:var(--green-dark); box-shadow:inset 0 0 0 1px currentColor; font-weight:700; }
.target-size-page #target-unit-note,.target-size-page .target-help,.target-size-page .target-unit-details { color:var(--text-secondary); font-size:14px; line-height:1.7; }
.target-size-page #target-validation:empty { display:none; }
.target-size-page #target-validation { font-weight:600; line-height:1.6; }
.target-size-page #tool-card [aria-invalid=true] { border:2px solid var(--text-primary); }
.target-format-field { margin-top:28px; max-width:480px; }
.target-options { margin-top:28px; }
.target-options h3 { font-size:16px; font-weight:400; color:var(--text-secondary); margin:0 0 12px; }
.target-check { display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; font-weight:600; min-height:44px; }
.target-size-page #tool-card #target-keep { appearance:none; flex:0 0 48px; width:48px; height:28px; min-height:28px; padding:3px; border-radius:16px; background:var(--text-muted); border:0; cursor:pointer; }
.target-size-page #target-keep::before { content:""; display:block; width:22px; height:22px; border-radius:50%; background:var(--surface); }
.target-size-page #tool-card #target-keep:checked { background:var(--green-dark); }
.target-size-page #target-keep:checked::before { transform:translateX(20px); background:var(--white); }
.target-size-page #target-keep:disabled { cursor:wait; opacity:.6; }
.target-size-page .target-unit-details { margin-top:20px; }
.target-unit-details summary { cursor:pointer; padding-block:8px; }
.target-size-page .target-submit { margin-top:24px; }
.target-size-page #target-run { width:100%; min-height:52px; font-size:17px; font-weight:700; line-height:1.5; white-space:normal; }
.target-size-page #target-status { color:var(--text-secondary); font-size:14px; line-height:1.7; margin-bottom:0; }
.target-size-page .target-result-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; font-variant-numeric:tabular-nums; }
.target-result-stats dt { color:var(--text-secondary); font-weight:400; }
.target-result-stats dd { margin:0; overflow-wrap:anywhere; }
.target-result-stats > :nth-child(2) dd,.target-result-stats > :nth-child(3) dd { font-weight:700; }
.target-size-page .target-message { margin:8px 0; font-weight:700; }
.target-size-page #target-results .format-tool-link { display:inline-flex; justify-content:center; min-height:44px; padding:10px 20px; margin-top:8px; border:1px solid var(--text-muted); border-radius:8px; font-size:16px; color:var(--text-primary); text-decoration:none; background:var(--surface); }
.target-size-page #target-results .format-tool-link { background:var(--green-dark); color:var(--white); border-color:var(--green-dark); font-weight:700; transition:filter .15s ease; }
.target-size-page #target-results .format-tool-link:hover { color:var(--white); filter:brightness(.85); }
.target-size-page #target-results .format-tool-link:active { filter:brightness(.75); }
.target-size-page #tool-card .ghost-button:hover { border-color:var(--primary); filter:brightness(.95); }
.target-size-page #tool-card button:active { transform:translateY(1px); }
.target-size-page #tool-card button:disabled { opacity:1; color:var(--text-secondary); background:var(--surface-2); cursor:not-allowed; filter:none; transform:none; }
.target-size-page #tool-card[aria-busy=true] button:disabled { cursor:wait; }
.target-size-page .jpg-main :focus-visible { outline:3px solid var(--text-primary); outline-offset:3px; }
.target-size-page .jpg-main ::selection { background:var(--text-primary); color:var(--surface); }
.target-size-page .jpg-content-section { padding-block:36px; }
.target-size-page .jpg-content-section h2 { text-wrap:balance; line-height:1.4; margin-bottom:16px; }
.target-size-page .jpg-prose p,.target-size-page #faq p { font-size:16px; line-height:1.85; color:var(--text-secondary); max-width:72ch; }
.target-size-page #faq summary { line-height:1.6; padding-block:20px; }
.target-size-page .related-grid a { min-height:48px; color:var(--text-primary); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:600px) {
  .target-upload-heading { flex-wrap:wrap; gap:8px; }
  .target-upload-heading > div { margin-left:auto; }
  .target-size-page #target-settings { padding:20px 16px; }
  .target-controls { grid-template-columns:minmax(0,1fr) 80px; }
  .target-size-page #target-run-quick { grid-column:1/-1; width:100%; }
  .target-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .target-size-page #target-results .file-item { grid-template-columns:48px minmax(0,1fr) auto; gap:8px; }
  .target-size-page #target-results .thumb { width:48px; height:48px; }
  .target-size-page #target-results .has-result .file-meta { grid-column:1/-1; grid-row:2; }
  .target-size-page #target-results .has-result > button { grid-column:3; grid-row:1; }
  .target-size-page .jpg-hero > p:last-child { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .target-size-page #tool-card button,.target-size-page #target-results a { transition:none; transform:none; } }
