.tool-wrap[data-v-d8f44fae]{display:flex;flex-direction:column;gap:1rem}.io-grid[data-v-d8f44fae]{display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media(max-width:640px){.io-grid[data-v-d8f44fae]{grid-template-columns:1fr}}.panel[data-v-d8f44fae]{display:flex;flex-direction:column;gap:.4rem}.panel-header[data-v-d8f44fae]{align-items:center;display:flex;justify-content:space-between}.panel-label[data-v-d8f44fae]{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.io-area[data-v-d8f44fae]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:var(--font-mono);font-size:.875rem;line-height:1.6;padding:.75rem;resize:vertical;width:100%}.copy-btn[data-v-d8f44fae],.output-area[data-v-d8f44fae]{color:var(--text-secondary)}.copy-btn[data-v-d8f44fae]{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:.75rem;padding:.2rem .6rem}.copy-btn[data-v-d8f44fae]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.action-btn[data-v-d8f44fae]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem 1.2rem}.action-btn.primary[data-v-d8f44fae]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hint[data-v-d8f44fae]{color:var(--text-muted);font-size:.75rem;line-height:1.5}.preview-section[data-v-d8f44fae]{display:flex;flex-direction:column;gap:.5rem}.preview-header[data-v-d8f44fae]{justify-content:space-between}.preview-frame[data-v-d8f44fae],.preview-header[data-v-d8f44fae]{align-items:center;display:flex}.preview-frame[data-v-d8f44fae]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;min-height:120px;padding:1rem}.preview-img[data-v-d8f44fae]{border-radius:calc(var(--radius-md) - 2px);max-height:400px;max-width:100%;-o-object-fit:contain;object-fit:contain}
