:root{color-scheme:light;--bg: #f5f7fb;--panel: #ffffff;--panel-border: #d8dee9;--panel-soft: #e8edf5;--text: #1f2937;--muted: #667085;--accent: #2563eb;--accent-strong: #1d4ed8;--success: #0f9d58;--danger: #d93025;--shadow: 0 8px 32px rgba(15, 23, 42, .08);font-family:Segoe UI,Arial,sans-serif;background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text)}button,textarea,input{font:inherit}code,pre,textarea,.panel-label,.pill{font-family:IBM Plex Mono,SFMono-Regular,monospace}.app-shell{min-height:100vh;padding:16px}.workbench{max-width:1800px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px}.topbar h1{margin:0;font-size:1.4rem;font-weight:600}.topbar p,.topbar-status{margin:4px 0 0;color:var(--muted);font-size:.95rem}.toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 10px;border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;box-shadow:var(--shadow)}.toolbar-group{display:flex;flex-wrap:wrap;gap:8px}.global-toolbar{margin-bottom:12px}.language-switcher{flex-wrap:wrap}button{border:1px solid var(--panel-border);background:#fff;color:var(--text);padding:6px 10px;border-radius:7px;font-size:.86rem;line-height:1.1;cursor:pointer;transition:background .14s ease,border-color .14s ease}button:hover{background:#f8fafc;border-color:#c1cad9}button:active{transform:translateY(1px);background:#eef2f7}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.is-active,button:focus-visible{outline:none;background:var(--accent);color:#fff;border-color:var(--accent)}button.ghost{color:var(--muted)}.button-primary{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.button-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.button-subtle{background:#eef4ff;border-color:#cfe0ff;color:#194185}.button-subtle:hover{background:#e0ecff;border-color:#bad2ff}.button-ghost{background:transparent;color:var(--muted)}.button-ghost:hover{background:#f5f7fb}.segmented{padding:0;background:transparent;border-radius:8px;border:0}.canvas{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:12px}.panel{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow)}.editor-panel{display:flex;flex-direction:column;min-height:72vh;height:72vh;border-radius:10px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px}.panel-header h2,.panel-header h3{margin:4px 0 0;font-size:1.1rem}.panel-label{margin:0;color:var(--muted);font-size:.75rem;text-transform:uppercase}.pill{border-radius:999px;padding:6px 10px;font-size:.72rem}.is-valid{background:#e9f7ef;color:var(--success)}.is-invalid{background:#fdecec;color:var(--danger)}.editor-surface{flex:1;min-height:0;height:100%;border-top:1px solid var(--panel-soft)}.editor-surface-wrap{position:relative;flex:1;min-height:0;display:flex}.editor-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;background:linear-gradient(180deg,#fff,#f8fafc);border-top:1px solid var(--panel-soft);z-index:1}.panel-toolbar{display:flex;justify-content:space-between;gap:8px;padding:0 12px 10px;border-bottom:1px solid var(--panel-soft);flex-wrap:wrap;align-items:center}.panel-toolbar-main,.panel-toolbar-side{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button-group{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:2px;border:1px solid var(--panel-soft);border-radius:9px;background:#f8fafc}.editor-surface .jsoneditor{border:0}.editor-surface .jsoneditor,.editor-surface .ace-jsoneditor,.editor-surface .jsoneditor-outer,.editor-surface .jsoneditor-tree,.editor-surface .ace_editor{height:100%}.editor-surface .jsoneditor-menu{background:#f8fafc;border-bottom:1px solid var(--panel-soft)}.editor-surface .jsoneditor-statusbar,.editor-surface .jsoneditor-navigation-bar{background:#f8fafc;border-top:1px solid var(--panel-soft)}.muted{color:var(--muted)}.panel-footer{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:.9rem;border-top:1px solid var(--panel-soft);align-items:center}.editor-panel .panel-footer{background:#eef8f1;color:#2d6a4f}.editor-panel .panel-footer.is-error{background:#fdf0ef;color:#b42318}.bridge-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-top:48px}.bridge-label,.bridge-meta{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.bridge-button{width:36px;height:36px;padding:0;border-radius:999px;font-size:1rem;font-weight:600}.bridge-button:hover{background:#eef4ff}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:30px;padding:6px 8px;font-size:.95rem}.diff-panel{margin-top:12px;border-radius:10px;overflow:hidden}.diff-grid{display:flex;flex-direction:column;border-top:1px solid var(--panel-soft)}.diff-column-header{display:none}.diff-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.diff-cell{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:8px 12px;border-bottom:1px solid var(--panel-soft);min-width:0}.diff-cell:first-child{border-right:1px solid var(--panel-soft)}.diff-cell code{overflow-wrap:anywhere;white-space:pre-wrap}.diff-cell.is-changed{background:#fff8e6}.diff-line-number{color:var(--muted);font-size:.8rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.canvas{grid-template-columns:1fr}.panel-toolbar{flex-direction:column;align-items:flex-start}.panel-toolbar-main,.panel-toolbar-side{width:100%;align-items:flex-start}.bridge-controls{flex-direction:row}.diff-row{grid-template-columns:1fr}.diff-cell:first-child{border-right:0}}@media(max-width:720px){.app-shell{padding:12px}.topbar{align-items:start;flex-direction:column}}
