*{box-sizing:border-box}
.image-main{flex:1;min-height:0;overflow:auto;padding:clamp(18px,3vw,36px) clamp(14px,3vw,36px) 28px;background:var(--bg)}
.image-shell{width:min(980px,100%);margin:0 auto}
.image-intro{margin:0 0 16px}
.image-intro h1{margin:2px 0 8px;font-size:clamp(1.75rem,4vw,2.65rem);line-height:1.06;letter-spacing:-.045em}
.image-intro>p:last-child{max-width:72ch;margin:0;color:var(--ink2);font-size:.92em;line-height:1.65}
.image-privacy{margin-bottom:16px;padding:12px 14px;border:1px solid color-mix(in srgb,#b45309 28%,var(--line));border-radius:12px;background:color-mix(in srgb,#b45309 6%,var(--panel));color:var(--ink2);font-size:.78em;line-height:1.6}
.image-privacy strong{color:#8a4200}
html[data-theme="dark"] .image-privacy strong{color:#fbbf24}
.image-workspace{min-height:300px;padding:clamp(15px,2.5vw,24px);border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.image-workbench[hidden]{display:none!important}
.image-form{display:flex;flex-direction:column;gap:8px}
.image-form label{margin-top:3px;color:var(--ink);font-size:.84em;font-weight:850}
.image-form textarea{width:100%;min-height:125px;resize:vertical;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--ink);padding:11px 12px;font:inherit;font-size:.88em;line-height:1.55;outline:none}
.image-form textarea::placeholder{color:var(--muted)}
.image-form textarea:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent);outline:none}
.image-field-hint{margin:0;color:var(--muted);font-size:.72em;line-height:1.5}
.image-submit,.image-secondary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:0;border-radius:10px;font:inherit;font-size:.8em;font-weight:900;text-decoration:none;cursor:pointer;transition:transform .16s ease,filter .16s ease}
.image-submit{align-self:flex-start;margin-top:5px;background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(29,78,216,.15)}
.image-submit:hover,.image-secondary:hover{transform:translateY(-1px)}
.image-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:grayscale(.3)}
.image-secondary{border:1px solid var(--line);background:var(--bg2);color:var(--ink)}
.image-submit:focus-visible,.image-secondary:focus-visible,.image-footer a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.image-status{min-height:1.3em;margin:2px 0 0;color:var(--ink2);font-size:.75em;line-height:1.5}
.image-status[data-state="error"]{color:#b42318}
html[data-theme="dark"] .image-status[data-state="error"]{color:#ffaaa2}
.image-result{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.image-result[hidden],.image-secondary[hidden]{display:none!important}
.image-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.image-result-heading .section-kicker{margin-bottom:2px}
.image-result-heading h2{margin:0;font-size:1.1em;letter-spacing:-.02em}
.image-frame{min-height:220px;display:grid;place-items:center;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);overflow:hidden}
.image-frame img{display:block;max-width:100%;max-height:70vh;object-fit:contain;border-radius:7px}
.image-caption{margin:10px 0 0;color:var(--ink2);font-size:.77em;line-height:1.55;overflow-wrap:anywhere}
.image-result-note{margin:8px 0 0;color:var(--muted);font-size:.69em;line-height:1.5}
.image-footer{margin:18px 0 0;text-align:center;font-size:.75em}
.image-footer a{color:var(--ink2);font-weight:750;text-decoration:none}
.image-footer a:hover{color:var(--blue);text-decoration:underline}
@media(max-width:560px){.image-main{padding:16px 12px 22px}.image-intro h1{font-size:1.85rem}.image-intro>p:last-child{font-size:.84em}.image-privacy{font-size:.73em;padding:10px 11px}.image-workspace{padding:14px;border-radius:13px}.image-result-heading{align-items:flex-start;flex-direction:column}.image-submit,.image-secondary{width:100%}.image-frame{min-height:160px;padding:7px}}
@media(prefers-reduced-motion:reduce){.image-submit,.image-secondary{transition:none}.image-submit:hover,.image-secondary:hover{transform:none}}
