/* Shares the homepage data-theme system and syn-theme preference. */
body.image-app {
 --bg:var(--syn-bg);--surface:var(--syn-panel-solid);--surface-2:var(--syn-bg-2);
 --text:var(--syn-text);--muted:var(--syn-muted);--line:var(--syn-line);
 --accent:var(--syn-blue);--accent-dark:var(--syn-violet);--shadow:var(--syn-shadow);
 --success:#137c4b;--success-bg:#e9f8f0;--warning:#735000;--warning-bg:#fff5df;--danger:#a52a2a;--danger-bg:#fff0f0;
 background:var(--syn-bg);color:var(--syn-text);
}
html[data-theme="dark"] body.image-app {--success:#94ebbd;--success-bg:#102a22;--warning:#ffdc99;--warning-bg:#302516;--danger:#ffb5b5;--danger-bg:#321a23;}
.image-app .hero {text-align:center;display:block;padding:48px 0 32px;background:none;border:0;}
.image-app .hero h1 {font-size:clamp(36px,4.6vw,62px);line-height:1.12;letter-spacing:-.04em;color:var(--text);margin:18px 0;}
.image-gradient {background:linear-gradient(110deg,var(--syn-blue),var(--syn-violet),#008b89);background-clip:text;-webkit-background-clip:text;color:transparent;}
html[data-theme="dark"] .image-gradient {background-image:linear-gradient(110deg,#929bff,#b791ff,#00eeb5);}
.image-app .hero p {max-width:740px;margin:0 auto;color:var(--muted);line-height:1.8;}
.image-app .eyebrow {color:var(--syn-blue);letter-spacing:.16em;font-size:11px;}
@keyframes imageOrbit {to{--syn-angle:360deg}}
.image-app .card {border:1px solid transparent;border-radius:22px;background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--syn-angle),var(--syn-line),var(--syn-cyan),var(--syn-line) 30%,var(--syn-line) 55%,var(--syn-violet),var(--syn-line) 82%) border-box;animation:imageOrbit 12s linear infinite;box-shadow:var(--shadow);padding:28px;}
.image-app .button {border:1px solid transparent;border-radius:12px;color:var(--text);background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--syn-angle),var(--syn-cyan),var(--syn-violet),var(--syn-green),var(--syn-cyan)) border-box;animation:imageOrbit 5s linear infinite;box-shadow:0 8px 24px #5c33ff18;transition:transform .2s,box-shadow .2s;}
.image-app .button.primary {color:#fff;background:linear-gradient(115deg,#485aff,#7059ff) padding-box,conic-gradient(from var(--syn-angle),#fff,var(--syn-cyan),var(--syn-green),#fff) border-box;border-width:2px;}
.image-app .button:hover {transform:translateY(-2px);box-shadow:0 8px 26px #5c33ff32;}
.image-app .button:disabled {opacity:.6;transform:none;cursor:wait;}
.image-app .drop-zone {border:1px dashed var(--syn-violet);background:radial-gradient(ellipse at top,#8e5cff12,transparent 80%),var(--surface-2);border-radius:16px;padding:34px 20px;}
.image-app .drop-zone.dragging,.image-app .drop-zone:hover {border-color:var(--syn-cyan);box-shadow:inset 0 0 28px #00cfe814;}
.image-app .drop-zone strong {color:var(--text);}
.image-app .drop-zone span {color:var(--muted);}
.image-app input:not([type=checkbox]):not([type=radio]):not([type=file]),.image-app textarea,.image-app select {background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0;}
.image-app input[type=checkbox],.image-app input[type=radio] {accent-color:var(--syn-violet);}
.image-app .check-grid label {background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;}
.image-app fieldset {border-color:var(--line);}
.image-app .metadata-grid label span,.image-app legend {color:var(--text);font-weight:650;}
.image-app .metadata-grid label {font-size:13px;}
.image-app #metadataStatus {color:var(--muted);}
.image-app .file-chip,.image-app .image-result,.image-app details {background:var(--surface-2);color:var(--text);border-color:var(--line);}
.image-app .cleaner-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.image-app .cleaner-tab {border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;box-shadow:0 6px 20px #5c33ff0a;min-width:0;}
.image-app .cleaner-tab.active {color:var(--text);border-color:var(--syn-violet);background:linear-gradient(120deg,#8e5cff14,#00cfe80a),var(--surface);}
.image-app .cleaner-tab-copy small {color:var(--muted);}
.image-app table {width:100%;border-collapse:collapse;background:var(--surface);}
.image-app th,.image-app td {text-align:left;padding:12px;border-bottom:1px solid var(--line);color:var(--text);overflow-wrap:anywhere;}
.image-app th {background:var(--surface-2);}
.image-app a:focus-visible,.image-app button:focus-visible,.image-app input:focus-visible,.image-app summary:focus-visible {outline:2px solid var(--syn-violet);outline-offset:3px;}
@media(max-width:800px){.image-app .cleaner-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.image-app .card{padding:18px}.image-app .hero{padding-top:26px}.image-app .metadata-grid{grid-template-columns:1fr}.image-app .hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){.image-app *{animation:none!important;transition:none!important}.image-app:before,.image-app:after{animation:none!important}}

body.syn-app.image-app .card{background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--syn-angle),var(--line),var(--syn-cyan),var(--line) 30%,var(--line) 55%,var(--syn-violet),var(--line) 82%) border-box!important;border:1px solid transparent!important;color:var(--text)!important}
body.syn-app.image-app .button.primary{background:linear-gradient(115deg,#485aff,#7059ff) padding-box,conic-gradient(from var(--syn-angle),#fff,var(--syn-cyan),var(--syn-green),#fff) border-box!important;border:2px solid transparent!important;color:#fff!important}
body.syn-app.image-app .cleaner-tab,body.syn-app.image-app .cleaner-tab.active{background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
body.syn-app.image-app .cleaner-tab.active{border-color:var(--syn-violet)!important}
body.syn-app.image-app .cleaner-tab strong{color:var(--text)!important}
body.syn-app.image-app .cleaner-tab small,body.syn-app.image-app small{color:var(--muted)!important}
body.syn-app.image-app .drop-zone,body.syn-app.image-app .file-chip,body.syn-app.image-app .image-result,body.syn-app.image-app details{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--line)}
body.syn-app.image-app .alert.warning{background:var(--warning-bg)!important;color:var(--warning)!important}
body.syn-app.image-app .alert.error{background:var(--danger-bg)!important;color:var(--danger)!important}
body.syn-app.image-app .alert.success{background:var(--success-bg)!important;color:var(--success)!important}
body.syn-app.image-app .alert a{color:inherit;text-decoration:underline}
body.syn-app.image-app input:not([type=checkbox]):not([type=file]){background:var(--surface-2)!important;color:var(--text)!important}
body.syn-app.image-app .file-chip .button,body.syn-app.image-app .button.ghost{background:var(--surface)!important;color:var(--text)!important}
body.syn-app.image-app .info-grid{gap:16px;margin-top:24px}
body.syn-app.image-app .card p,body.syn-app.image-app .hero p{color:var(--muted)}
body.syn-app.image-app .alert p{color:inherit}
@media(max-width:600px){body.syn-app.image-app .info-grid{grid-template-columns:1fr}}
