:root{font-family:Arial,sans-serif;color:#111827;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-width:320px}code{background:#e2e8f0;border-radius:4px;padding:0 4px}#root{min-height:100vh}.app-shell{box-sizing:border-box;max-width:1280px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:12px}.app-shell h1{margin:0;font-size:28px}.helper-text{margin:0;color:#4b5563}.editor-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.panel{display:flex;flex-direction:column;gap:8px}.panel h2{margin:0;font-size:18px}.json-input{width:100%;min-height:68vh;resize:vertical;font-family:Consolas,Courier New,monospace;font-size:14px;line-height:1.4;border:1px solid #cbd5e1;border-radius:8px;padding:12px;box-sizing:border-box}.preview-shell{min-height:68vh;border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden}.preview-frame{width:100%;height:100%;min-height:68vh;border:0}.preview-placeholder{margin:0;padding:14px;color:#4b5563}.status{margin:0;font-size:14px}.status.ok{color:#166534}.status.error{color:#b91c1c}.actions{display:flex;flex-wrap:wrap;gap:10px}button{align-self:flex-start;border:1px solid #111827;background:#111827;color:#fff;border-radius:8px;padding:10px 14px;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:960px){.editor-preview-grid{grid-template-columns:1fr}.json-input,.preview-shell,.preview-frame{min-height:50vh}}
