.tool-hero{text-align:center;max-width:680px;margin:0 auto;padding:3.5rem 1.5rem 2rem}.tool-hero h1{letter-spacing:-.03em;color:var(--text);margin-bottom:.6rem;font-family:Nunito,sans-serif;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:900}.tool-hero p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.workspace{max-width:960px;margin:0 auto;padding:0 1.5rem 4rem}#upload-area{text-align:center}.editor{flex-direction:column;gap:1.25rem;display:none}.editor.visible{display:flex}.panes-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.img-pane{background:var(--card);border-radius:16px 18px 15px 17px/17px 15px 18px 16px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;box-shadow:0 2px 18px #1e293b12}.pane-label{letter-spacing:.09em;text-transform:uppercase;color:var(--slate);font-family:JetBrains Mono,monospace;font-size:.67rem}.pane-img-wrap{border-radius:10px;justify-content:center;align-items:center;min-height:240px;display:flex;position:relative;overflow:hidden}.pane-img-wrap.checker{background-color:#fff;background-image:linear-gradient(45deg,#e2e8f0 25%,#0000 25%),linear-gradient(-45deg,#e2e8f0 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e2e8f0 75%),linear-gradient(-45deg,#0000 75%,#e2e8f0 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px}.pane-img-wrap img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:400px;display:block}.spinner-wrap{background:#ffffffd1;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;display:none;position:absolute;inset:0}.spinner-wrap.show{display:flex}.spinner{border:3.5px solid var(--border-lt);border-top-color:var(--blue);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-text{color:var(--slate);text-align:center;font-size:.82rem}.pane-placeholder{color:var(--border);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;display:flex}.pane-placeholder svg{opacity:.5}.pane-placeholder p{color:var(--border);text-align:center;font-size:.8rem;line-height:1.5}.controls-row{background:var(--card);border-radius:15px 17px 13px 16px/16px 14px 17px 15px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.35rem 1.5rem;display:flex;box-shadow:0 2px 14px #1e293b0e}.file-meta{flex-direction:column;gap:3px;display:flex}.file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.88rem;font-weight:600;overflow:hidden}.file-size{color:var(--slate);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:.67rem}.controls-btns{flex-wrap:wrap;gap:.6rem;display:flex}.btn-remove{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:700;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 3px 12px #3b82f652}.btn-remove:hover:not(:disabled){background:var(--blue-dk);transform:translateY(-1px);box-shadow:0 5px 18px #3b82f661}.btn-remove:disabled{opacity:.55;cursor:not-allowed}.btn-download{color:var(--text);border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:border-color .18s,color .18s,background .18s;display:none}.btn-download.show{display:inline-flex}.btn-download:hover{border-color:var(--blue);color:var(--blue);background:#3b82f60a}.btn-reset{color:var(--slate);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:10px 4px;font-family:DM Sans,sans-serif;font-size:.84rem;text-decoration:underline;transition:color .18s}.btn-reset:hover{color:var(--text)}.error-banner{color:#dc2626;background:#ef444414;border:1.5px solid #ef444438;border-radius:10px;padding:11px 15px;font-size:.875rem;line-height:1.55;display:none}.error-banner.show{display:block}@media (width<=640px){.panes-row{grid-template-columns:1fr}.controls-row{flex-direction:column;align-items:flex-start}}