.tool-layout:has(#it-app) .proc-tip-bubble { left: auto; right: -9px; }
.tool-layout:has(#it-app) .proc-tip-bubble::after { left: auto; right: 11px; }
.it-app { min-width: 0; }
.it-app p { overflow-wrap: anywhere; }
.it-upload { margin-top: 22px; }
.it-upload input { height: auto; min-height: 44px; max-width: 100%; padding: 10px; }
.it-controls, .it-actions, .it-downloads, .it-split { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.it-controls .field, .it-split .field { margin: 0; flex: 1 1 180px; }
.it-app .btn, .it-app .select, .it-app summary { min-height: 44px; }
.it-app .btn { white-space: normal; }
.it-app button:focus-visible, .it-app summary:focus-visible, .it-table-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.it-workspace { display: grid; gap: 24px; margin-top: 24px; min-width: 0; }
.it-source { margin: 0; min-width: 0; }
.it-source figcaption { font-weight: 600; margin-bottom: 10px; }
.it-source img { display: block; max-width: 100%; max-height: 420px; object-fit: contain; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.it-result { min-width: 0; }
.it-result h2 { font-size: clamp(1.15rem, 2vw, 1.4rem); margin: 0 0 10px; }
.it-selection { font-weight: 600; }
.it-actions { margin-bottom: 12px; }
.it-split { max-width: 440px; margin-bottom: 18px; }
.it-table-scroll { max-width: 100%; max-height: 560px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; }
.it-table-scroll table { border-collapse: collapse; width: 100%; font-size: 14px; }
.it-table-scroll caption { text-align: left; padding: 12px; color: var(--muted); }
.it-table-scroll th { padding: 10px; background: var(--bg); color: var(--text); font-weight: 600; min-width: 44px; }
.it-table-scroll td, .it-table-scroll th { border: 1px solid var(--border); }
.it-table-scroll td { padding: 0; background: var(--card); }
.it-table-scroll textarea { display: block; width: 100%; min-width: 150px; min-height: 48px; resize: vertical; padding: 10px; border: 0; border-radius: 0; font: inherit; color: var(--text); background: var(--card); }
.it-table-scroll textarea:focus { outline: 2px solid var(--accent); outline-offset: -2px; background: var(--accent-soft); }
.it-downloads { margin-top: 18px; }
.it-app details { margin-top: 20px; }
.it-app summary { padding: 10px 0; cursor: pointer; }
.it-app pre { max-height: 260px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--bg); padding: 12px; border-radius: 10px; color: var(--text); }
.it-footnote { margin-top: 24px; }
.it-app [hidden] { display: none !important; }
@media (min-width: 680px) { .it-controls .field { flex: 0 1 240px; } .it-source img { max-height: 500px; } }
@media (min-width: 1080px) { .it-workspace { grid-template-columns: minmax(180px, .65fr) minmax(0, 1.65fr); align-items: start; } .it-source img { max-height: 650px; } }
@media (max-width: 460px) { .it-controls > .btn, .it-downloads > .btn { flex: 1 1 100%; } .it-actions > .btn { flex: 1 1 130px; } .it-workspace { gap: 18px; } }
