.tool-layout:has(#ls-app) .proc-tip-bubble { left: auto; right: -9px; }
.tool-layout:has(#ls-app) .proc-tip-bubble::after { left: auto; right: 11px; }
.ls-app { display: grid; gap: 28px; align-items: start; }
.ls-app > *, .ls-fields > * { min-width: 0; }
.ls-app [hidden] { display: none !important; }
.ls-app p { line-height: 1.6; overflow-wrap: anywhere; }
.ls-app .btn, .ls-app .input, .ls-app .select { min-height: 44px; }
.ls-app :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.ls-settings { border: 1px solid var(--border); border-radius: 14px; padding: 16px; margin: 20px 0 12px; min-width: 0; }
.ls-settings legend { padding: 0 6px; font-weight: 600; }
.ls-fields { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ls-fields + .ls-fields { margin-top: 12px; }
.ls-preview { min-width: 0; }
.ls-preview h2 { font-size: 1.15rem; margin: 0 0 12px; }
.ls-sheet { width: 100%; margin-top: 16px; }
.ls-sheet svg { display: block; width: 100%; height: auto; background: #fff; border: 1px solid var(--border); }
.ls-sheet:empty { display: none; }
@media (min-width: 520px) { .ls-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .ls-app { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; } }
