lutaml-jsonschema 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/frontend/dist/app.iife.js +28 -0
- data/frontend/dist/lutaml-logo-dark.svg +1 -0
- data/frontend/dist/lutaml-logo-full-dark.svg +1 -0
- data/frontend/dist/lutaml-logo-full-light.svg +1 -0
- data/frontend/dist/lutaml-logo-light.svg +1 -0
- data/frontend/dist/style.css +1 -0
- data/lib/lutaml/jsonschema/spa/vue_inlined_strategy.rb +1 -1
- data/lib/lutaml/jsonschema/version.rb +1 -1
- metadata +10 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.header[data-v-3f47c146]{height:56px;flex-shrink:0;display:flex;align-items:center;padding:0 var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border-light);gap:var(--space-4)}.header-left[data-v-3f47c146]{display:flex;align-items:center;gap:var(--space-3)}.sidebar-toggle[data-v-3f47c146]{padding:var(--space-2)}.header-breadcrumb[data-v-3f47c146]{display:flex;align-items:center;font-size:var(--text-sm);color:var(--text-muted)}.breadcrumb-item[data-v-3f47c146]{color:var(--text-secondary)}.breadcrumb-segment[data-v-3f47c146]{background:none;border:none;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;padding:0;font-family:inherit}.breadcrumb-segment[data-v-3f47c146]:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb-current[data-v-3f47c146]{color:var(--text-primary);font-weight:600;cursor:default}.breadcrumb-current[data-v-3f47c146]:hover{color:var(--text-primary);text-decoration:none}.breadcrumb-sep[data-v-3f47c146]{color:var(--text-muted);margin:0 var(--space-1)}.home-btn[data-v-3f47c146]{width:32px;height:32px;padding:0;color:var(--text-secondary)}.header-center[data-v-3f47c146]{flex:1;display:flex;justify-content:center;max-width:480px;margin:0 auto}.search-trigger[data-v-3f47c146]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.search-trigger[data-v-3f47c146]:hover{background:var(--bg-hover);border-color:var(--border-medium)}.search-placeholder[data-v-3f47c146]{flex:1;text-align:left}.search-kbd[data-v-3f47c146]{padding:2px 6px;font-size:var(--text-xs);font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm)}.header-right[data-v-3f47c146]{display:flex;align-items:center;gap:var(--space-1)}.theme-btn[data-v-3f47c146]{width:32px;height:32px;padding:0}.sidebar[data-v-c62cbb32]{width:280px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-light);display:flex;flex-direction:column;transition:width var(--transition-slow);overflow:hidden}.sidebar.collapsed[data-v-c62cbb32]{width:0}.sidebar-content[data-v-c62cbb32]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:280px}.sidebar-branding[data-v-c62cbb32]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border-light)}.branding-logo[data-v-c62cbb32]{width:28px;height:28px;flex-shrink:0}.branding-text[data-v-c62cbb32]{display:flex;flex-direction:column;line-height:1.2;min-width:0}.branding-title[data-v-c62cbb32]{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branding-subtitle[data-v-c62cbb32]{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.overview-section[data-v-c62cbb32]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-light)}.overview-btn[data-v-c62cbb32]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.overview-btn[data-v-c62cbb32]:hover{background:var(--bg-hover);color:var(--text-primary)}.overview-btn.active[data-v-c62cbb32]{background:var(--color-primary-alpha);color:var(--color-primary)}.sidebar-section[data-v-c62cbb32]{padding:var(--space-4);border-bottom:1px solid var(--border-light)}.sidebar-section.flex-1[data-v-c62cbb32]{flex:1;overflow:auto}.section-header[data-v-c62cbb32]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.section-title[data-v-c62cbb32]{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.schema-tree[data-v-c62cbb32]{display:flex;flex-direction:column;gap:var(--space-1)}.schema-node-header[data-v-c62cbb32]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);cursor:pointer;transition:background var(--transition-fast);font-size:var(--text-sm);border-radius:var(--radius-sm)}.schema-node-header[data-v-c62cbb32]:hover{background:var(--bg-hover)}.schema-node-header.active[data-v-c62cbb32]{background:var(--color-primary-alpha)}.schema-node-header.active .schema-name[data-v-c62cbb32]{color:var(--color-primary)}.schema-node-header.active svg[data-v-c62cbb32]{color:var(--color-primary)}.schema-node-header svg[data-v-c62cbb32]{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.schema-node-header svg.expanded[data-v-c62cbb32]{transform:rotate(90deg)}.schema-name[data-v-c62cbb32]{flex:1;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-id-hint[data-v-c62cbb32]{font-size:9px;font-family:var(--font-mono);color:var(--text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.schema-badge-count[data-v-c62cbb32]{font-size:10px;font-weight:500;color:var(--color-primary);background:var(--color-primary-alpha);padding:1px 5px;border-radius:10px}.schema-children[data-v-c62cbb32]{margin-left:var(--space-4);padding-left:var(--space-2);border-left:1px solid var(--schema-lines);display:flex;flex-direction:column;gap:2px}.tree-item[data-v-c62cbb32]{display:flex;align-items:center;gap:var(--space-2);padding:3px var(--space-2);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.tree-item[data-v-c62cbb32]:hover{background:var(--bg-hover)}.tree-item.active[data-v-c62cbb32]{background:var(--color-primary-alpha)}.tree-item.active .tree-item-name[data-v-c62cbb32]{color:var(--color-primary)}.tree-item-name[data-v-c62cbb32]{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-item-count[data-v-c62cbb32]{font-size:10px;font-weight:500;color:var(--color-primary);background:var(--color-primary-alpha);padding:0 4px;border-radius:10px;flex-shrink:0}.tree-bullet[data-v-c62cbb32]{display:inline-block;width:6px;height:1px;background:var(--schema-lines);flex-shrink:0}.tree-item-type[data-v-c62cbb32]{font-size:9px;font-family:var(--font-mono);flex-shrink:0;color:var(--text-muted)}.tree-item-type.ttype-string[data-v-c62cbb32]{color:var(--type-string)}.tree-item-type.ttype-number[data-v-c62cbb32]{color:var(--type-number)}.tree-item-type.ttype-integer[data-v-c62cbb32]{color:var(--type-integer)}.tree-item-type.ttype-boolean[data-v-c62cbb32]{color:var(--type-boolean)}.tree-item-type.ttype-object[data-v-c62cbb32]{color:var(--type-object)}.tree-item-type.ttype-array[data-v-c62cbb32]{color:var(--type-array)}.tree-more[data-v-c62cbb32]{font-size:10px;padding:2px var(--space-2) 2px 24px;font-style:italic}.badge-definition-sm[data-v-c62cbb32]{background:var(--badge-definition-bg);color:var(--badge-definition);font-size:9px;padding:1px 4px;border-radius:2px;font-weight:600;flex-shrink:0}.badge-schema-sm[data-v-c62cbb32]{background:var(--badge-schema-bg);color:var(--badge-schema);font-size:9px;padding:1px 4px;border-radius:2px;font-weight:600;flex-shrink:0}.badge-property-sm[data-v-c62cbb32]{background:var(--bg-secondary);color:var(--text-muted);font-size:9px;padding:1px 4px;border-radius:2px;font-weight:600;flex-shrink:0}.search-box[data-v-c62cbb32]{position:relative;margin-bottom:var(--space-2)}.search-icon[data-v-c62cbb32]{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input[data-v-c62cbb32]{width:100%;padding:6px 28px;font-size:var(--text-sm);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans)}.search-input[data-v-c62cbb32]::placeholder{color:var(--text-muted)}.search-input[data-v-c62cbb32]:focus{outline:none;border-color:var(--color-primary)}.search-clear[data-v-c62cbb32]{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}.search-clear[data-v-c62cbb32]:hover{color:var(--text-primary)}.search-kbd[data-v-c62cbb32]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:3px;padding:1px 5px;pointer-events:none;line-height:1.4}.search-results[data-v-c62cbb32]{display:flex;flex-direction:column;gap:1px;margin-bottom:var(--space-2);max-height:250px;overflow-y:auto}.search-result-item[data-v-c62cbb32]{display:flex;flex-direction:column;gap:2px;padding:4px 6px;font-size:var(--text-xs);text-align:left;background:var(--bg-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition-fast)}.search-result-row[data-v-c62cbb32]{display:flex;align-items:center;gap:var(--space-2)}.search-result-item[data-v-c62cbb32]:hover,.search-result-item.active[data-v-c62cbb32]{background:var(--bg-hover)}.search-no-results[data-v-c62cbb32]{padding:var(--space-3) var(--space-2);font-size:var(--text-xs);text-align:center}.search-result-name[data-v-c62cbb32]{flex:1;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-schema[data-v-c62cbb32]{font-size:10px;white-space:nowrap;flex-shrink:0}.search-result-desc[data-v-c62cbb32]{font-size:10px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:30px}.stats-section[data-v-c62cbb32]{background:var(--bg-primary)}.stats-grid[data-v-c62cbb32]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);text-align:center}.stat-item[data-v-c62cbb32]{display:flex;flex-direction:column;gap:2px}.stat-value[data-v-c62cbb32]{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.stat-label[data-v-c62cbb32]{font-size:var(--text-xs);color:var(--text-muted)}.sidebar-footer[data-v-c62cbb32]{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);display:flex;align-items:center;gap:var(--space-3)}.footer-brand[data-v-c62cbb32]{display:flex;align-items:center;flex-shrink:0}.lutaml-logo[data-v-c62cbb32]{height:18px;flex-shrink:0;opacity:.7}.footer-text-group[data-v-c62cbb32]{display:flex;flex-direction:column;gap:2px}.footer-text[data-v-c62cbb32]{font-size:var(--text-xs);color:var(--text-muted)}.footer-text a[data-v-c62cbb32]{color:var(--color-primary);text-decoration:none}.footer-text a[data-v-c62cbb32]:hover{text-decoration:underline}@media (max-width: 768px){.sidebar[data-v-c62cbb32]{position:fixed;top:0;left:0;bottom:0;z-index:40;box-shadow:var(--shadow-lg)}.sidebar.collapsed[data-v-c62cbb32]{transform:translate(-100%);width:280px}}.detail-panel-overlay[data-v-6252d005]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;justify-content:flex-end;z-index:100;animation:fadeIn var(--transition-fast)}.detail-panel[data-v-6252d005]{width:100%;max-width:640px;height:100%;background:var(--bg-elevated);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideIn var(--transition-slow)}.panel-header[data-v-6252d005]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);flex-shrink:0}.panel-title h2[data-v-6252d005]{font-size:var(--text-lg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-tabs[data-v-6252d005]{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--border-light);flex-shrink:0}.panel-tab[data-v-6252d005]{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast)}.panel-tab[data-v-6252d005]:hover{color:var(--text-primary);background:var(--bg-hover)}.panel-tab.active[data-v-6252d005]{color:var(--color-primary);background:var(--color-primary-alpha)}.panel-content[data-v-6252d005]{flex:1;overflow-y:auto;padding:var(--space-5)}.panel-empty[data-v-6252d005]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--text-sm)}.detail-section[data-v-6252d005]{margin-bottom:var(--space-6)}.detail-heading[data-v-6252d005]{font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-3);color:var(--text-secondary);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light);position:relative}.detail-heading[data-v-6252d005]:after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--color-primary);border-radius:1px}.detail-meta[data-v-6252d005]{display:flex;flex-direction:column;gap:var(--space-3)}.meta-row[data-v-6252d005]{display:flex;align-items:flex-start;gap:var(--space-3)}.meta-label[data-v-6252d005]{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);min-width:80px;flex-shrink:0}.meta-tags[data-v-6252d005]{display:flex;flex-wrap:wrap;gap:var(--space-1)}.prop-type-badge[data-v-6252d005]{font-size:11px;font-weight:500;font-family:var(--font-mono);padding:1px 5px;border-radius:var(--radius-sm);background:var(--badge-schema-bg);color:var(--badge-schema)}.prop-type-badge.ptype-string[data-v-6252d005]{background:var(--type-string-bg);color:var(--type-string)}.prop-type-badge.ptype-number[data-v-6252d005]{background:var(--type-number-bg);color:var(--type-number)}.prop-type-badge.ptype-integer[data-v-6252d005]{background:var(--type-integer-bg);color:var(--type-integer)}.prop-type-badge.ptype-boolean[data-v-6252d005]{background:var(--type-boolean-bg);color:var(--type-boolean)}.prop-type-badge.ptype-object[data-v-6252d005]{background:var(--type-object-bg);color:var(--type-object)}.prop-type-badge.ptype-array[data-v-6252d005]{background:var(--type-array-bg);color:var(--type-array)}.prop-type-badge.ptype-null[data-v-6252d005]{background:var(--type-null-bg);color:var(--type-null)}.prop-format[data-v-6252d005]{font-size:var(--text-xs);color:var(--color-accent);margin-left:var(--space-1);font-family:var(--font-mono)}.prop-row[data-v-6252d005]{cursor:pointer;transition:background var(--transition-fast)}.prop-row[data-v-6252d005]:hover{background:var(--bg-hover)}.prop-ref-link[data-v-6252d005]{color:var(--color-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs)}.prop-ref-link[data-v-6252d005]:hover{text-decoration:underline}.prop-title[data-v-6252d005]{display:block;font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.prop-default[data-v-6252d005]{display:block;font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.prop-enum[data-v-6252d005]{display:block;font-size:10px;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.prop-examples[data-v-6252d005]{margin-top:var(--space-1);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.prop-examples-label[data-v-6252d005]{font-size:10px;color:var(--text-muted);font-weight:500}.prop-example-chip[data-v-6252d005]{font-size:10px;font-family:var(--font-mono);background:var(--bg-hover);padding:1px 5px;border-radius:2px;border:1px solid var(--border-light);color:var(--text-secondary);word-break:break-word}:root[data-theme=dark] .prop-example-chip[data-v-6252d005]{background:#ffffff0f;border-color:#ffffff1a}.badge-type[data-v-6252d005]{background:var(--badge-schema-bg);color:var(--badge-schema);font-family:var(--font-mono);font-size:var(--schema-labels-size)}.badge-format[data-v-6252d005]{background:var(--bg-secondary);color:var(--text-secondary)}.badge-required[data-v-6252d005]{background:var(--schema-require-bg);color:var(--schema-require-label)}.badge-optional[data-v-6252d005]{background:var(--bg-secondary);color:var(--text-muted)}.badge-deprecated[data-v-6252d005]{background:var(--color-orange-alpha);color:var(--color-orange);font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.badge-required-sm[data-v-6252d005]{background:var(--schema-require-bg);color:var(--schema-require-label);font-size:10px;padding:1px 4px;border-radius:2px}.badge-deprecated-sm[data-v-6252d005]{background:var(--badge-deprecated-bg);color:var(--badge-deprecated);font-size:10px;padding:1px 4px;border-radius:2px;margin-left:4px}.badge-composition-detail[data-v-6252d005]{font-size:11px;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:500}.badge-locked-detail[data-v-6252d005]{font-size:11px;color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 6px;border-radius:var(--radius-sm);font-weight:500}.badge-readonly-detail[data-v-6252d005]{font-size:11px;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 6px;border-radius:var(--radius-sm);font-weight:500}.badge-writeonly-detail[data-v-6252d005]{font-size:11px;color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 6px;border-radius:var(--radius-sm);font-weight:500}.ref-link[data-v-6252d005]{color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);word-break:break-all}.ref-link[data-v-6252d005]:hover{text-decoration:underline}.enum-values-list[data-v-6252d005]{display:flex;flex-wrap:wrap;gap:4px}.enum-value-chip[data-v-6252d005]{font-size:11px;font-family:var(--font-mono);background:var(--bg-hover);border:1px solid var(--border-light);padding:1px 5px;border-radius:2px;color:var(--text-primary);word-break:break-word}.enum-more-btn[data-v-6252d005]{font-size:11px;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:1px 4px;font-family:var(--font-mono)}.enum-more-btn[data-v-6252d005]:hover{text-decoration:underline}.constraint-table td[data-v-6252d005]:first-child{font-weight:500;color:var(--text-secondary);width:120px}.constraint-key[data-v-6252d005]{white-space:nowrap}.constraint-value[data-v-6252d005]{font-family:var(--font-mono);font-size:var(--text-sm)}.constraint-pattern[data-v-6252d005]{word-break:break-all;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 4px;border-radius:var(--radius-sm)}.constraint-yes[data-v-6252d005]{color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 5px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500}.constraint-denied[data-v-6252d005]{color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 5px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500}.example-group[data-v-6252d005]{margin-bottom:var(--space-4)}.example-label[data-v-6252d005]{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.example-block[data-v-6252d005]{margin-bottom:var(--space-2)}.example-pre[data-v-6252d005]{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm);overflow-x:auto;margin:0}.example-pre code[data-v-6252d005]{font-family:var(--font-mono);color:var(--text-primary)}.example-generated[data-v-6252d005]{border-color:var(--color-primary-alpha);position:relative}.example-group:has(.example-generated) .example-label[data-v-6252d005]:after{content:" auto-generated";font-size:10px;font-weight:400;color:var(--text-muted);text-transform:none;font-style:italic}.example-collapsible[data-v-6252d005]{cursor:default}:root[data-theme=dark] .detail-panel[data-v-6252d005]{border-left:1px solid rgba(255,255,255,.08)}:root[data-theme=dark] .enum-value-chip[data-v-6252d005]{background:#ffffff0f;border-color:#ffffff1f}:root[data-theme=dark] .example-pre[data-v-6252d005]{background:#00000026;border-color:#ffffff14}.search-modal-overlay[data-v-7c96bf04]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;z-index:1000;animation:fadeIn var(--transition-fast)}.search-modal[data-v-7c96bf04]{width:100%;max-width:560px;background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideIn var(--transition-slow)}.search-input-wrapper[data-v-7c96bf04]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-light)}.search-icon[data-v-7c96bf04]{color:var(--text-muted);flex-shrink:0}.search-input[data-v-7c96bf04]{flex:1;border:none;background:none;font-size:var(--text-base);color:var(--text-primary);outline:none}.search-input[data-v-7c96bf04]::placeholder{color:var(--text-muted)}.clear-btn[data-v-7c96bf04]{padding:var(--space-1);color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.clear-btn[data-v-7c96bf04]:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results[data-v-7c96bf04]{max-height:400px;overflow-y:auto}.search-loading[data-v-7c96bf04],.search-empty[data-v-7c96bf04]{padding:var(--space-8);text-align:center;color:var(--text-muted)}.search-results-list[data-v-7c96bf04]{padding:var(--space-2)}.search-result[data-v-7c96bf04]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.search-result[data-v-7c96bf04]:hover,.search-result.focused[data-v-7c96bf04]{background:var(--bg-hover)}.result-icon[data-v-7c96bf04]{color:var(--text-muted);display:flex;align-items:center}.result-content[data-v-7c96bf04]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.result-name[data-v-7c96bf04]{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-name[data-v-7c96bf04] mark{background:var(--color-accent-alpha);color:var(--color-accent);padding:0 2px;border-radius:2px}.result-schema[data-v-7c96bf04]{font-size:var(--text-xs);color:var(--text-muted)}.result-desc[data-v-7c96bf04]{font-size:var(--text-xs);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.badge-schema[data-v-7c96bf04]{background:var(--badge-schema-bg);color:var(--badge-schema)}.badge-property[data-v-7c96bf04]{background:var(--badge-property-bg);color:var(--badge-property)}.badge-definition[data-v-7c96bf04]{background:var(--badge-definition-bg);color:var(--badge-definition)}.search-footer[data-v-7c96bf04]{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);background:var(--bg-secondary)}.search-hints[data-v-7c96bf04]{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted)}.search-hints kbd[data-v-7c96bf04]{padding:2px 5px;font-family:var(--font-mono);font-size:10px;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);margin-right:2px}.see-more-content[data-v-c4e5549b]{transition:max-height var(--transition-slow)}.see-more-content.collapsed[data-v-c4e5549b]{max-height:var(--v01c972e8);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.see-more-toggle[data-v-c4e5549b]{display:block;font-size:var(--text-xs);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:2px 0;margin-top:2px}.see-more-toggle[data-v-c4e5549b]:hover{text-decoration:underline}.builder-layout[data-v-a0fc808a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}.builder-fields[data-v-a0fc808a]{display:flex;flex-direction:column;gap:2px}.builder-toolbar[data-v-a0fc808a]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.builder-toolbar[data-v-a0fc808a]:not(.toolbar-with-filter){justify-content:flex-end}.toolbar-actions[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-1)}.toolbar-btn[data-v-a0fc808a]{display:flex;align-items:center;gap:3px;padding:4px 8px;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all var(--transition-fast)}.toolbar-btn[data-v-a0fc808a]:hover{color:var(--text-primary);border-color:var(--border-medium)}.toolbar-btn.active[data-v-a0fc808a]{color:var(--color-primary);background:var(--color-primary-alpha);border-color:var(--color-primary)}.toolbar-field-count[data-v-a0fc808a]{flex-shrink:0}.builder-filter[data-v-a0fc808a]{position:relative;margin-bottom:var(--space-2)}.filter-input[data-v-a0fc808a]{width:100%;padding:5px 28px 5px 10px;font-size:var(--text-sm);font-family:var(--font-sans);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary)}.filter-input[data-v-a0fc808a]::placeholder{color:var(--text-muted)}.filter-input[data-v-a0fc808a]:focus{outline:none;border-color:var(--color-primary)}.filter-clear[data-v-a0fc808a]{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}.filter-clear[data-v-a0fc808a]:hover{color:var(--text-primary)}.field-row[data-v-a0fc808a]{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border-left:2px solid transparent;transition:all var(--transition-fast)}.field-row[data-v-a0fc808a]:hover{background:var(--bg-hover);border-left-color:var(--schema-lines)}.field-row-alt[data-v-a0fc808a]{background:var(--bg-secondary)}.field-row-alt[data-v-a0fc808a]:hover{background:var(--bg-hover);border-left-color:var(--schema-lines)}.field-row-last[data-v-a0fc808a]{border-bottom:1px solid var(--border-light);border-radius:var(--radius-md) var(--radius-md) 0 0}.field-main[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.field-check[data-v-a0fc808a]{accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.field-check[data-v-a0fc808a]:disabled{cursor:default}.field-bullet[data-v-a0fc808a]{color:var(--schema-lines);font-family:var(--font-mono);margin-right:6px;flex-shrink:0;display:inline-flex;align-items:center}.field-bullet[data-v-a0fc808a]:before{content:"";display:inline-block;vertical-align:middle;width:10px;height:1px;background:var(--schema-lines)}.field-bullet[data-v-a0fc808a]:after{content:"";display:inline-block;vertical-align:middle;width:1px;background:var(--schema-lines);height:7px}.field-bullet+.field-name.dimmed[data-v-a0fc808a]{opacity:.35}.field-bullet+.field-name.dimmed+.field-bullet[data-v-a0fc808a]{opacity:.35}.field-name[data-v-a0fc808a]{font-weight:600;font-size:13px;font-family:var(--font-mono);min-width:100px;display:flex;flex-direction:column;gap:0;line-height:20px;text-align:left;cursor:pointer;padding:0;border:none;background:none;color:var(--text-primary)}.field-name:focus .font-mono[data-v-a0fc808a]{font-weight:700}.field-name:hover .font-mono[data-v-a0fc808a]{color:var(--color-primary)}.field-human-title[data-v-a0fc808a]{font-size:var(--text-xs);font-weight:400;font-style:italic;color:var(--text-secondary);font-family:var(--font-sans)}.field-name.dimmed[data-v-a0fc808a]{opacity:.35}.field-name.deprecated[data-v-a0fc808a]{text-decoration:line-through;opacity:.7}.field-name.expandable .font-mono[data-v-a0fc808a]:hover{color:var(--color-primary)}.field-expand-icon[data-v-a0fc808a]{font-size:var(--schema-arrow-size);color:var(--schema-arrow-color);transition:transform var(--transition-fast);margin-left:2px}.field-expand-icon.expanded[data-v-a0fc808a]{transform:rotate(90deg)}.field-type-badge[data-v-a0fc808a]{font-size:11px;font-weight:500;background:var(--badge-schema-bg);color:var(--badge-schema);padding:1px 6px;border-radius:var(--radius-sm);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.field-type-badge.type-string[data-v-a0fc808a]{background:var(--type-string-bg);color:var(--type-string)}.field-type-badge.type-number[data-v-a0fc808a]{background:var(--type-number-bg);color:var(--type-number)}.field-type-badge.type-integer[data-v-a0fc808a]{background:var(--type-integer-bg);color:var(--type-integer)}.field-type-badge.type-boolean[data-v-a0fc808a]{background:var(--type-boolean-bg);color:var(--type-boolean)}.field-type-badge.type-object[data-v-a0fc808a]{background:var(--type-object-bg);color:var(--type-object)}.field-type-badge.type-array[data-v-a0fc808a]{background:var(--type-array-bg);color:var(--type-array)}.field-type-badge.type-null[data-v-a0fc808a]{background:var(--type-null-bg);color:var(--type-null)}.field-type-badge.type-composition[data-v-a0fc808a]{background:var(--color-teal-alpha);color:var(--color-teal);font-family:var(--font-mono);font-size:10px}.req-badge[data-v-a0fc808a]{font-size:var(--schema-labels-size);font-weight:600;text-transform:uppercase;color:var(--schema-require-label);background:var(--schema-require-bg);padding:1px 5px;border-radius:2px;flex-shrink:0;margin-left:20px}.field-format-badge[data-v-a0fc808a]{font-size:10px;color:var(--color-accent);background:var(--color-accent-alpha);padding:1px 5px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:500}.array-item-constraints[data-v-a0fc808a]{font-size:11px;font-family:var(--font-mono);color:var(--schema-type-name);margin:0 5px;vertical-align:text-top;line-height:20px}.field-title-badge[data-v-a0fc808a]{font-size:10px;font-style:italic;color:var(--text-secondary);flex-shrink:0}.deprecated-badge[data-v-a0fc808a]{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 5px;border-radius:2px;flex-shrink:0}.readonly-badge[data-v-a0fc808a],.writeonly-badge[data-v-a0fc808a]{font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:2px;flex-shrink:0}.readonly-badge[data-v-a0fc808a]{color:var(--color-teal);background:var(--color-teal-alpha)}.writeonly-badge[data-v-a0fc808a]{color:var(--color-orange);background:var(--color-orange-alpha)}.nullable-badge[data-v-a0fc808a]{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border-medium);padding:1px 5px;border-radius:2px;flex-shrink:0}.composition-badge[data-v-a0fc808a]{font-size:10px;font-weight:600;text-transform:none;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 5px;border-radius:2px;flex-shrink:0;font-family:var(--font-mono)}.const-badge[data-v-a0fc808a],.default-badge[data-v-a0fc808a]{font-size:10px;font-weight:500;padding:1px 5px;border-radius:2px;flex-shrink:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.const-badge[data-v-a0fc808a]{color:var(--color-primary);background:var(--color-primary-alpha)}.default-badge[data-v-a0fc808a]{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-light)}.field-control[data-v-a0fc808a]{flex:1;min-width:120px;max-width:240px}.ctrl-text[data-v-a0fc808a],.ctrl-number[data-v-a0fc808a],.ctrl-select[data-v-a0fc808a]{width:100%;padding:3px 8px;font-size:var(--text-sm);font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.ctrl-text[data-v-a0fc808a]:disabled,.ctrl-number[data-v-a0fc808a]:disabled,.ctrl-select[data-v-a0fc808a]:disabled{opacity:.35}.ctrl-text[data-v-a0fc808a]:focus,.ctrl-number[data-v-a0fc808a]:focus,.ctrl-select[data-v-a0fc808a]:focus{outline:none;border-color:var(--color-primary)}.ctrl-error[data-v-a0fc808a]{border-color:var(--color-red)!important}.ctrl-error[data-v-a0fc808a]:focus{box-shadow:0 0 0 2px var(--color-red-alpha)}.field-error-hint[data-v-a0fc808a]{font-size:var(--text-xs);color:var(--color-red);margin-top:2px;margin-left:22px}.ctrl-toggle[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}.ctrl-toggle input[data-v-a0fc808a]{accent-color:var(--color-primary)}.toggle-label[data-v-a0fc808a]{font-family:var(--font-mono);color:var(--text-secondary)}.ctrl-expand[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-primary)}.ctrl-static[data-v-a0fc808a]{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text-muted)}.ctrl-composition[data-v-a0fc808a]{font-family:var(--font-sans);font-style:italic;font-size:var(--text-xs);color:var(--text-secondary)}.ctrl-textarea[data-v-a0fc808a]{width:100%;padding:3px 8px;font-size:var(--text-sm);font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;min-height:2em}.ctrl-textarea[data-v-a0fc808a]:disabled{opacity:.35}.ctrl-textarea[data-v-a0fc808a]:focus{outline:none;border-color:var(--color-primary)}.chevron[data-v-a0fc808a]{font-size:10px;transition:transform var(--transition-fast)}.chevron.expanded[data-v-a0fc808a]{transform:rotate(90deg)}.field-desc-wrap[data-v-a0fc808a]{margin-top:var(--space-1);margin-left:22px}.field-desc[data-v-a0fc808a]{font-size:var(--text-xs);line-height:var(--leading-normal)}.field-desc[data-v-a0fc808a] .md-code{font-family:var(--font-mono);font-size:inherit;background:var(--bg-secondary);padding:1px 4px;border-radius:2px;border:1px solid var(--border-light)}.field-desc[data-v-a0fc808a] .md-link{color:var(--color-primary);text-decoration:none}.field-desc[data-v-a0fc808a] .md-link:hover{text-decoration:underline}.field-desc[data-v-a0fc808a] .md-heading{font-weight:600;margin:var(--space-2) 0 var(--space-1);color:var(--text-primary);font-size:inherit}.field-desc[data-v-a0fc808a] .md-list{margin:var(--space-1) 0;padding-left:var(--space-5);font-size:inherit}.field-desc[data-v-a0fc808a] .md-list li{margin-bottom:2px}.field-desc[data-v-a0fc808a] .md-pre{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-2);margin:var(--space-2) 0;overflow-x:auto;font-size:var(--text-xs)}.field-desc[data-v-a0fc808a] .md-pre code{font-family:var(--font-mono);font-size:inherit}.field-constraints[data-v-a0fc808a]{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1);margin-left:22px}.constraint-chip[data-v-a0fc808a]{font-size:11px;font-family:var(--font-mono);color:var(--color-primary);background:var(--color-primary-alpha);padding:1px 5px;border-radius:2px;border:1px solid var(--border-light);margin:0 2px;vertical-align:middle;line-height:20px}.constraint-chip.chip-pattern[data-v-a0fc808a]{font-family:var(--font-mono);color:var(--color-teal);background:var(--color-teal-alpha);border:1px solid rgba(14,124,134,.15)}.btn-toggle-pattern[data-v-a0fc808a]{background:none;border:none;color:var(--color-primary);font-size:10px;cursor:pointer;padding:0 2px;margin-left:4px;text-decoration:underline}.btn-toggle-pattern[data-v-a0fc808a]:hover{opacity:.8}.constraint-chip.chip-ref[data-v-a0fc808a]{cursor:pointer}.constraint-chip.chip-ref[data-v-a0fc808a]:hover{opacity:.8;border-color:var(--color-primary)}.constraint-chip.chip-locked[data-v-a0fc808a]{color:var(--color-orange);background:var(--color-orange-alpha);border-color:#ea562433;font-weight:500}.constraint-chip.chip-default[data-v-a0fc808a]{color:var(--text-secondary);background:var(--bg-secondary);border-color:var(--border-light)}.constraint-chip.chip-const[data-v-a0fc808a]{color:var(--color-primary);background:var(--color-primary-alpha);border-color:var(--color-primary-alpha)}.constraint-chip.chip-unique[data-v-a0fc808a]{color:var(--color-teal);background:var(--color-teal-alpha);border-color:#60c3a733}.constraint-chip.chip-example[data-v-a0fc808a]{font-style:italic;color:var(--text-secondary);background:transparent;padding:0;border:none;margin-right:0}.example-chip[data-v-a0fc808a]{font-size:10px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-hover);padding:1px 5px;border-radius:var(--radius-sm);border:1px solid var(--border-light);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .example-chip[data-v-a0fc808a]{background:#ffffff0f;border-color:var(--border-medium)}.enum-chip[data-v-a0fc808a]{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);padding:1px 5px;border-radius:var(--radius-sm);border:1px solid var(--border-light);transition:all var(--transition-fast)}.enum-chip-active[data-v-a0fc808a]{color:var(--color-primary);background:var(--color-primary-alpha);border-color:var(--color-primary);font-weight:500}.btn-see-more[data-v-a0fc808a]{background:none;border:none;color:var(--color-primary);font-size:10px;cursor:pointer;padding:0 2px;text-decoration:underline}.btn-see-more[data-v-a0fc808a]:hover{opacity:.8}.nested-section[data-v-a0fc808a]{margin-left:22px;margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--schema-nested-bg);position:relative}.nested-section[data-v-a0fc808a]:before{content:"";position:absolute;left:-11px;top:0;bottom:0;width:1px;background:var(--schema-lines)}.nested-section[data-v-a0fc808a]:after{content:"";position:absolute;left:-11px;top:14px;width:10px;height:1px;background:var(--schema-lines)}:root[data-theme=light] .depth-0[data-v-a0fc808a],:root[data-theme=light] .depth-1[data-v-a0fc808a]{background:var(--schema-nested-bg)}:root[data-theme=light] .depth-2[data-v-a0fc808a]{background:transparent}:root[data-theme=dark] .depth-0[data-v-a0fc808a],:root[data-theme=dark] .depth-1[data-v-a0fc808a]{background:var(--schema-nested-bg)}:root[data-theme=dark] .depth-2[data-v-a0fc808a]{background:transparent}.nested-header[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.nested-title[data-v-a0fc808a]{font-weight:600;font-size:var(--text-sm);color:var(--color-primary)}.nested-path[data-v-a0fc808a]{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted)}.nested-meta[data-v-a0fc808a]{font-size:var(--text-xs)}.builder-preview[data-v-a0fc808a]{position:sticky;top:var(--space-4);z-index:0}.builder-preview[data-v-a0fc808a]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--panel-dark-bg);border-radius:var(--radius-md);z-index:-1}.preview-inner[data-v-a0fc808a]{display:flex;flex-direction:column;gap:var(--space-2)}.preview-toolbar[data-v-a0fc808a]{display:flex;align-items:center;justify-content:space-between;color:var(--panel-dark-muted)}.toolbar-label[data-v-a0fc808a]{font-size:var(--text-xs)}.btn-sm[data-v-a0fc808a]{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.btn-dark-panel[data-v-a0fc808a]{color:var(--panel-dark-muted)}.btn-dark-panel[data-v-a0fc808a]:hover{color:var(--panel-dark-text);background:#ffffff14}.json-block[data-v-a0fc808a]{background:var(--panel-dark-bg);border:1px solid var(--panel-dark-bg);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0;max-height:70vh;overflow-y:auto;font-family:var(--font-mono);color:var(--panel-dark-text)}.json-block[data-v-a0fc808a] ul{list-style:none;padding-left:var(--space-4);margin:0}.json-block[data-v-a0fc808a] li{margin:0}.json-block[data-v-a0fc808a] .jv-toggle{background:none;border:1px solid var(--panel-dark-muted);border-radius:2px;cursor:pointer;width:14px;height:14px;font-size:9px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);padding:0;margin-right:4px;vertical-align:middle;transition:background var(--transition-fast)}.json-block[data-v-a0fc808a] .jv-toggle:hover{background:var(--bg-hover)}.json-block[data-v-a0fc808a] .jv-toggle[aria-label=expand]:after{content:"+"}.json-block[data-v-a0fc808a] .jv-toggle[aria-label=collapse]:after{content:"−"}.json-block[data-v-a0fc808a] .jv-ellipsis{display:none;color:var(--panel-dark-muted);font-size:var(--text-xs);font-style:italic;margin-left:4px}.json-block[data-v-a0fc808a] .jv-children.jv-collapsed{display:none}.json-block[data-v-a0fc808a] .jv-children.jv-collapsed+.jv-ellipsis{display:inline}.json-block[data-v-a0fc808a] .jv-key{color:var(--panel-dark-key)}.json-block[data-v-a0fc808a] .jv-punct{color:var(--panel-dark-muted)}.json-block[data-v-a0fc808a] .jv-string{color:var(--panel-dark-string)}.json-block[data-v-a0fc808a] .jv-number{color:var(--panel-dark-number)}.json-block[data-v-a0fc808a] .jv-boolean{color:var(--panel-dark-boolean)}.json-block[data-v-a0fc808a] .jv-null{color:var(--panel-dark-null);font-style:italic}.json-block[data-v-a0fc808a] .jv-link{color:var(--panel-dark-string);text-decoration:underline}.json-block[data-v-a0fc808a] .jv-row:hover{background:#ffffff0f;border-radius:2px}.toolbar-actions[data-v-a0fc808a]{display:flex;gap:var(--space-1)}.copy-btn-wrap[data-v-a0fc808a]{position:relative}.copy-tooltip[data-v-a0fc808a]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-xs);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;animation:tooltipFade-a0fc808a var(--transition-slow)}.copy-tooltip[data-v-a0fc808a]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:var(--bg-elevated)}@keyframes tooltipFade-a0fc808a{0%{opacity:0;transform:translate(-50%) translateY(2px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.empty-hint[data-v-a0fc808a]{padding:var(--space-8);text-align:center}.json-empty-hint[data-v-a0fc808a]{text-align:center;padding:var(--space-8) var(--space-4);font-size:var(--text-sm);color:var(--panel-dark-muted)}.ctrl-array[data-v-a0fc808a]{display:flex;flex-direction:column;gap:var(--space-1)}.array-item-row[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-1)}.array-item-row input[data-v-a0fc808a]{flex:1}.btn-xs[data-v-a0fc808a]{font-size:11px;padding:2px 6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.btn-xs[data-v-a0fc808a]:hover:not(:disabled){color:var(--text-primary)}.btn-xs[data-v-a0fc808a]:disabled{opacity:.35;cursor:default}.circular-ref-label[data-v-a0fc808a]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-2) var(--space-3);margin-left:22px}.circular-badge[data-v-a0fc808a]{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 5px;border-radius:2px}.circular-type[data-v-a0fc808a]{font-size:11px;background:var(--type-object-bg);color:var(--type-object);padding:1px 5px;border-radius:var(--radius-sm)}.circular-name[data-v-a0fc808a]{font-size:var(--text-xs)}.circular-hint[data-v-a0fc808a]{font-size:var(--text-xs);font-style:italic}@media (max-width: 768px){.builder-layout[data-v-a0fc808a]{grid-template-columns:1fr}.builder-preview[data-v-a0fc808a]{position:static;order:-1}}.expand-enter-active[data-v-a0fc808a]{transition:max-height .3s ease-out,opacity .2s ease-out;overflow:hidden}.expand-leave-active[data-v-a0fc808a]{transition:max-height .2s ease-in,opacity .15s ease-in;overflow:hidden}.expand-enter-from[data-v-a0fc808a],.expand-leave-to[data-v-a0fc808a]{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.expand-enter-to[data-v-a0fc808a],.expand-leave-from[data-v-a0fc808a]{opacity:1;max-height:5000px}.home-view[data-v-4426c0e2]{max-width:1400px;margin:0 auto}.schema-header[data-v-4426c0e2]{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.schema-breadcrumb[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm)}.breadcrumb-link[data-v-4426c0e2]{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font-size:var(--text-sm);font-weight:500}.breadcrumb-link[data-v-4426c0e2]:hover{text-decoration:underline}.breadcrumb-sep[data-v-4426c0e2]{color:var(--text-muted)}.breadcrumb-current[data-v-4426c0e2]{color:var(--text-secondary);font-weight:500}.schema-header-info[data-v-4426c0e2]{width:100%}.schema-title-row[data-v-4426c0e2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-1)}.schema-title-row h1[data-v-4426c0e2]{font-size:var(--text-2xl);margin:0}.heading-with-anchor[data-v-4426c0e2]{position:relative;display:inline-flex;align-items:center;gap:var(--space-1)}.heading-anchor[data-v-4426c0e2]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:inline-flex;align-items:center;opacity:.5;transition:opacity var(--transition-fast)}.heading-anchor[data-v-4426c0e2]:hover{opacity:1;color:var(--color-primary)}.def-card-title .heading-anchor[data-v-4426c0e2]{vertical-align:middle}.schema-actions[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.view-toggle[data-v-4426c0e2]{display:flex;border:1px solid var(--border-medium);border-radius:var(--radius-md);overflow:hidden}.toggle-btn[data-v-4426c0e2]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;color:var(--text-muted);background:transparent;transition:all var(--transition-fast);border:none}.toggle-btn[data-v-4426c0e2]:not(:last-child){border-right:1px solid var(--border-medium)}.toggle-btn.active[data-v-4426c0e2]{background:var(--color-primary-alpha);color:var(--color-primary)}.toggle-btn[data-v-4426c0e2]:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.schema-name-hint[data-v-4426c0e2]{font-size:var(--text-xs);display:block;margin-bottom:var(--space-1)}.schema-desc[data-v-4426c0e2]{font-size:var(--text-base);margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}.schema-meta-row[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.schema-id-row[data-v-4426c0e2]{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.meta-id-chip[data-v-4426c0e2]{font-size:10px;background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-id-chip a[data-v-4426c0e2]{color:var(--color-primary);text-decoration:none}.meta-id-chip a[data-v-4426c0e2]:hover{text-decoration:underline}.badge-locked[data-v-4426c0e2]{font-size:10px;color:var(--color-orange);background:var(--color-orange-alpha);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.badge-composition[data-v-4426c0e2]{font-size:10px;color:var(--color-teal);background:var(--color-teal-alpha);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500;font-family:var(--font-mono)}.badge-range[data-v-4426c0e2]{font-size:10px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:500}.meta-count[data-v-4426c0e2]{font-size:11px;font-weight:500;color:var(--color-primary);background:var(--color-primary-alpha);padding:2px 8px;border-radius:12px}.meta-count-req[data-v-4426c0e2]{color:var(--schema-require-label);background:var(--schema-require-bg);font-weight:500;border-radius:12px}.schema-required[data-v-4426c0e2]{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.required-label[data-v-4426c0e2]{font-size:var(--text-xs);font-weight:500;white-space:nowrap;padding-top:2px}.required-tags[data-v-4426c0e2]{display:flex;flex-wrap:wrap;gap:var(--space-1)}.required-tag[data-v-4426c0e2]{font-size:11px;font-family:var(--font-mono);background:var(--schema-require-bg);color:var(--schema-require-label);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.required-tag-sm[data-v-4426c0e2]{font-size:10px;font-family:var(--font-mono);background:var(--schema-require-bg);color:var(--schema-require-label);padding:1px 4px;border-radius:2px;font-weight:500}.schema-examples-details[data-v-4426c0e2]{margin-top:var(--space-3)}.examples-summary[data-v-4426c0e2]{font-size:var(--text-xs);font-weight:500;cursor:pointer;padding:var(--space-1) 0}.examples-summary[data-v-4426c0e2]:hover{color:var(--text-primary)}.examples-pre[data-v-4426c0e2]{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow-x:auto;margin-top:var(--space-2);max-height:300px;overflow-y:auto}.examples-pre code[data-v-4426c0e2]{font-family:var(--font-mono);color:var(--text-primary)}.schema-section[data-v-4426c0e2]{margin-bottom:var(--space-6)}.section-heading[data-v-4426c0e2]{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4);color:var(--text-primary);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light);position:relative}.section-heading[data-v-4426c0e2]:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:var(--color-primary);border-radius:1px}.section-heading-row[data-v-4426c0e2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light);position:relative}.section-heading-row[data-v-4426c0e2]:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:var(--color-primary);border-radius:1px}.section-actions[data-v-4426c0e2]{display:flex;gap:var(--space-2)}.source-viewer[data-v-4426c0e2]{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light)}.source-toolbar[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--border-light);font-size:var(--text-xs)}.source-toolbar-actions[data-v-4426c0e2]{display:flex;gap:var(--space-2)}.copy-btn-wrap[data-v-4426c0e2]{position:relative}.copy-tooltip[data-v-4426c0e2]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-xs);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;animation:tooltipFade-4426c0e2 var(--transition-slow)}.copy-tooltip[data-v-4426c0e2]:after{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:var(--bg-elevated)}@keyframes tooltipFade-4426c0e2{0%{opacity:0;transform:translate(-50%) translateY(2px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.source-code-wrapper[data-v-4426c0e2]{max-height:70vh;overflow:auto}.source-pre[data-v-4426c0e2] .json-key{color:var(--color-primary-dark)}.source-pre[data-v-4426c0e2] .json-string{color:var(--color-green)}.source-pre[data-v-4426c0e2] .json-number{color:var(--color-orange)}.source-pre[data-v-4426c0e2] .json-boolean{color:var(--color-accent)}.source-pre[data-v-4426c0e2] .json-null{color:var(--text-muted)}.source-pre[data-v-4426c0e2] .json-url{color:var(--color-green);text-decoration:underline;text-decoration-style:dotted}.source-pre[data-v-4426c0e2] .json-url:hover{text-decoration-style:solid}:root[data-theme=dark] .source-code-wrapper[data-v-4426c0e2]{background:var(--panel-dark-bg)}:root[data-theme=dark] .source-pre[data-v-4426c0e2]{color:var(--panel-dark-text)}:root[data-theme=dark] .source-toolbar[data-v-4426c0e2]{background:#00000026;border-bottom-color:#ffffff14;color:var(--panel-dark-muted)}.source-empty[data-v-4426c0e2]{padding:var(--space-8);text-align:center}.def-list[data-v-4426c0e2]{display:flex;flex-direction:column;gap:var(--space-3)}.def-card[data-v-4426c0e2]{padding:0;overflow:hidden}.def-card-header[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast)}.def-card-header[data-v-4426c0e2]:hover{background:var(--bg-hover)}.def-chevron[data-v-4426c0e2]{font-size:var(--schema-arrow-size);color:var(--schema-arrow-color);transition:transform var(--transition-fast);flex-shrink:0}.def-chevron.expanded[data-v-4426c0e2]{transform:rotate(90deg)}.def-card-title[data-v-4426c0e2]{font-weight:600;font-size:var(--text-sm)}.def-card-name[data-v-4426c0e2]{font-size:var(--text-xs)}.def-header-req[data-v-4426c0e2]{font-size:9px;font-family:var(--font-mono);color:var(--schema-require-label);background:var(--schema-require-bg);padding:1px 4px;border-radius:2px}.def-header-pill[data-v-4426c0e2]{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:8px;flex-shrink:0}.def-header-pill-req[data-v-4426c0e2]{color:var(--schema-require-label);background:var(--schema-require-bg)}.def-type-badge[data-v-4426c0e2]{font-size:11px;font-family:var(--font-mono);background:var(--badge-schema-bg);color:var(--badge-schema);padding:1px 5px;border-radius:var(--radius-sm)}.def-card-desc[data-v-4426c0e2]{font-size:var(--text-sm);margin-bottom:var(--space-2)}.def-card-desc.desc-truncated[data-v-4426c0e2]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.def-card-info[data-v-4426c0e2]{padding:0 var(--space-4) var(--space-3);margin-top:calc(var(--space-1) * -1)}.def-card-required[data-v-4426c0e2]{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.def-mini-table[data-v-4426c0e2]{margin-top:var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden;font-size:var(--text-xs)}.def-mini-row[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);padding:3px var(--space-3);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast)}.def-mini-row[data-v-4426c0e2]:hover{background:var(--bg-hover)}.def-mini-row-clickable[data-v-4426c0e2]{cursor:pointer}.def-mini-row[data-v-4426c0e2]:last-child{border-bottom:none}.def-mini-row[data-v-4426c0e2]:nth-child(odd){background:var(--bg-secondary)}.def-mini-bullet[data-v-4426c0e2]{display:inline-flex;align-items:center;color:var(--schema-lines);flex-shrink:0}.def-mini-bullet[data-v-4426c0e2]:before{content:"";display:inline-block;width:6px;height:1px;background:var(--schema-lines)}.def-mini-bullet[data-v-4426c0e2]:after{content:"";display:inline-block;width:1px;height:5px;background:var(--schema-lines)}.def-mini-name[data-v-4426c0e2]{font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.def-mini-type[data-v-4426c0e2]{padding:1px 5px;border-radius:var(--radius-sm);font-size:10px;font-weight:500;flex-shrink:0;background:var(--badge-schema-bg);color:var(--badge-schema)}.def-mini-type.mini-type-string[data-v-4426c0e2]{background:var(--type-string-bg);color:var(--type-string)}.def-mini-type.mini-type-number[data-v-4426c0e2]{background:var(--type-number-bg);color:var(--type-number)}.def-mini-type.mini-type-integer[data-v-4426c0e2]{background:var(--type-integer-bg);color:var(--type-integer)}.def-mini-type.mini-type-boolean[data-v-4426c0e2]{background:var(--type-boolean-bg);color:var(--type-boolean)}.def-mini-type.mini-type-object[data-v-4426c0e2]{background:var(--type-object-bg);color:var(--type-object)}.def-mini-type.mini-type-array[data-v-4426c0e2]{background:var(--type-array-bg);color:var(--type-array)}.def-mini-req[data-v-4426c0e2]{color:var(--schema-require-label);font-weight:700;font-size:10px;flex-shrink:0}.def-mini-dep[data-v-4426c0e2]{color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 4px;border-radius:2px;font-size:9px;font-weight:600;flex-shrink:0}.def-mini-format[data-v-4426c0e2]{font-size:9px;color:var(--color-accent);font-family:var(--font-mono);flex-shrink:0}.def-mini-enum[data-v-4426c0e2]{font-size:9px;color:var(--color-teal);background:var(--color-teal-alpha);padding:0 3px;border-radius:2px;flex-shrink:0}.def-mini-comp[data-v-4426c0e2]{font-size:8px;color:var(--color-teal);background:var(--color-teal-alpha);padding:0 3px;border-radius:2px;font-family:var(--font-mono);flex-shrink:0}.def-mini-ref[data-v-4426c0e2]{font-size:9px;color:var(--color-primary);font-family:var(--font-mono);cursor:pointer;flex-shrink:0}.def-mini-ref[data-v-4426c0e2]:hover{text-decoration:underline}.def-mini-const[data-v-4426c0e2]{font-size:9px;color:var(--color-primary);background:var(--color-primary-alpha);padding:0 3px;border-radius:2px;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.def-mini-default[data-v-4426c0e2]{font-size:9px;color:var(--text-secondary);background:var(--bg-secondary);padding:0 3px;border-radius:2px;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.def-mini-deprecated[data-v-4426c0e2]{text-decoration:line-through;opacity:.6}.def-mini-required[data-v-4426c0e2]{font-weight:700}.def-mini-required[data-v-4426c0e2]:after{content:" *";color:var(--badge-required)}.def-mini-items[data-v-4426c0e2]{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0}.def-mini-unique[data-v-4426c0e2]{font-size:9px;color:var(--color-teal);background:var(--color-teal-alpha);padding:0 3px;border-radius:2px;flex-shrink:0;font-weight:500}.def-mini-more[data-v-4426c0e2]{padding:3px var(--space-3);font-size:var(--text-xs);border-top:1px solid var(--border-light);text-align:center;font-style:italic}.def-card-examples[data-v-4426c0e2]{margin-top:var(--space-2)}.def-card-examples summary[data-v-4426c0e2]{font-size:var(--text-xs);cursor:pointer}.def-examples-pre[data-v-4426c0e2]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--text-xs);overflow-x:auto;margin-top:var(--space-1);max-height:200px;overflow-y:auto}.def-examples-pre code[data-v-4426c0e2]{font-family:var(--font-mono);color:var(--text-primary)}.def-card-body[data-v-4426c0e2]{border-top:1px solid var(--border-light);padding:var(--space-4);background:var(--bg-primary)}.def-body-header[data-v-4426c0e2]{margin-bottom:var(--space-3)}.def-body-title[data-v-4426c0e2]{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-light);position:relative}.def-body-title[data-v-4426c0e2]:after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--color-primary);border-radius:1px}.def-body-meta[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.def-body-meta .text-muted[data-v-4426c0e2]{font-size:11px;font-weight:500;color:var(--color-primary);background:var(--color-primary-alpha);padding:1px 6px;border-radius:10px}.def-body-required[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap}.def-body-examples[data-v-4426c0e2]{margin-bottom:var(--space-3)}.def-body-desc[data-v-4426c0e2]{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.def-card-highlighted[data-v-4426c0e2]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.badge-type[data-v-4426c0e2]{background:var(--badge-schema-bg);color:var(--badge-schema)}.badge-type-sm[data-v-4426c0e2]{background:var(--bg-secondary);color:var(--text-secondary);font-size:10px}.badge-comp-sm[data-v-4426c0e2]{font-size:10px;color:var(--color-teal);background:var(--color-teal-alpha);padding:1px 5px;border-radius:var(--radius-sm);font-weight:500;font-family:var(--font-mono)}.badge-locked-sm[data-v-4426c0e2]{font-size:10px;color:var(--color-orange);background:var(--color-orange-alpha);padding:1px 5px;border-radius:var(--radius-sm);font-weight:500}.landing-page[data-v-4426c0e2]{padding:var(--space-6);max-width:1200px;margin:0 auto}.landing-header[data-v-4426c0e2]{margin-bottom:var(--space-8);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.landing-header h1[data-v-4426c0e2]{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.landing-title-row[data-v-4426c0e2]{display:flex;align-items:center;gap:var(--space-3)}.landing-title-row h1[data-v-4426c0e2]{margin-bottom:0}.version-badge[data-v-4426c0e2]{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:2px 8px;border-radius:var(--radius-md);border:1px solid var(--border-light);font-family:var(--font-mono)}.landing-description[data-v-4426c0e2]{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-3);max-width:700px}.landing-subtitle[data-v-4426c0e2]{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}.landing-search[data-v-4426c0e2]{position:relative;max-width:400px;margin-top:var(--space-3)}.landing-search-input[data-v-4426c0e2]{width:100%;padding:6px 28px 6px 10px;font-size:var(--text-sm);font-family:var(--font-sans);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary)}.landing-search-input[data-v-4426c0e2]::placeholder{color:var(--text-muted)}.landing-search-input[data-v-4426c0e2]:focus{outline:none;border-color:var(--color-primary)}.landing-search-clear[data-v-4426c0e2]{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}.landing-search-clear[data-v-4426c0e2]:hover{color:var(--text-primary)}.separator[data-v-4426c0e2]{margin:0 var(--space-1)}.landing-base-url[data-v-4426c0e2]{color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-family:var(--font-mono)}.landing-base-url[data-v-4426c0e2]:hover{text-decoration:underline}.schema-grid[data-v-4426c0e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.schema-card[data-v-4426c0e2]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast)}.schema-card[data-v-4426c0e2]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.schema-card-icon[data-v-4426c0e2]{color:var(--color-primary);flex-shrink:0;margin-top:2px}.schema-card-content[data-v-4426c0e2]{flex:1;min-width:0}.schema-card-content h3[data-v-4426c0e2]{font-size:var(--text-base);font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-card-name[data-v-4426c0e2]{font-size:var(--text-xs);display:block;margin-bottom:var(--space-1)}.schema-card-desc[data-v-4426c0e2]{font-size:var(--text-sm);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schema-card-desc[data-v-4426c0e2] .md-pre{display:none}.schema-card-meta[data-v-4426c0e2]{margin-bottom:var(--space-2)}.schema-card-stats[data-v-4426c0e2]{display:flex;gap:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap}.stat-pill[data-v-4426c0e2]{color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:8px;font-weight:500;font-size:10px}.stat-required[data-v-4426c0e2]{color:var(--schema-require-label);background:var(--schema-require-bg)}.empty-state[data-v-4426c0e2]{padding:var(--space-8);text-align:center}.def-expand-enter-active[data-v-4426c0e2]{transition:max-height .35s ease-out,opacity .25s ease-out;overflow:hidden}.def-expand-leave-active[data-v-4426c0e2]{transition:max-height .25s ease-in,opacity .15s ease-in;overflow:hidden}.def-expand-enter-from[data-v-4426c0e2],.def-expand-leave-to[data-v-4426c0e2]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.def-expand-enter-to[data-v-4426c0e2],.def-expand-leave-from[data-v-4426c0e2]{opacity:1;max-height:5000px}.schema-card[data-v-4426c0e2]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){.schema-title-row[data-v-4426c0e2]{flex-direction:column;align-items:flex-start}.schema-actions[data-v-4426c0e2]{width:100%;justify-content:flex-start}.schema-grid[data-v-4426c0e2]{grid-template-columns:1fr}}.app-layout[data-v-e4e17963]{display:flex;height:100vh;overflow:hidden}.main-content[data-v-e4e17963]{flex:1;display:flex;flex-direction:column;overflow:hidden}.content-area[data-v-e4e17963]{flex:1;overflow:auto;padding:var(--space-6);background:var(--bg-primary)}.sidebar-overlay[data-v-e4e17963]{display:none}.back-to-top[data-v-e4e17963]{position:fixed;bottom:24px;right:24px;width:36px;height:36px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-medium);box-shadow:var(--shadow-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50;transition:all var(--transition-normal)}.back-to-top[data-v-e4e17963]:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}:root[data-theme=dark] .back-to-top[data-v-e4e17963]{background:var(--bg-elevated);border-color:var(--border-medium)}@media (max-width: 768px){.sidebar-overlay[data-v-e4e17963]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:39}.back-to-top[data-v-e4e17963]{bottom:16px;right:16px}}:root{--color-primary: #5b9cd4;--color-primary-light: #7db5e2;--color-primary-dark: #26489e;--color-primary-alpha: rgba(91, 156, 212, .12);--color-accent: #dbab3e;--color-accent-light: #f0ca6e;--color-accent-alpha: rgba(219, 171, 62, .12);--color-teal: #60c3a7;--color-teal-alpha: rgba(96, 195, 167, .12);--color-orange: #ea5624;--color-orange-alpha: rgba(234, 86, 36, .12);--color-red: #b31f24;--color-red-alpha: rgba(179, 31, 36, .12);--color-green: #7cc242;--color-green-alpha: rgba(124, 194, 66, .12);--bg-primary: #FAFAF9;--bg-secondary: #F5F5F4;--bg-elevated: #FFFFFF;--bg-overlay: rgba(28, 25, 23, .5);--bg-hover: rgba(28, 25, 23, .04);--bg-active: rgba(28, 25, 23, .06);--text-primary: #1C1917;--text-secondary: #57534E;--text-muted: #A8A29E;--border-light: #E7E5E4;--border-medium: #D6D3D1;--border-focus: #5b9cd4;--badge-schema: #26489e;--badge-schema-bg: rgba(38, 72, 158, .12);--badge-property: #60c3a7;--badge-property-bg: rgba(96, 195, 167, .15);--badge-definition: #dbab3e;--badge-definition-bg: rgba(219, 171, 62, .15);--badge-required: #5b9cd4;--badge-required-bg: rgba(91, 156, 212, .12);--badge-deprecated: #b31f24;--badge-deprecated-bg: rgba(179, 31, 36, .12);--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05);--shadow-md: 0 4px 6px -1px rgba(28, 25, 23, .07), 0 2px 4px -1px rgba(28, 25, 23, .04);--shadow-lg: 0 10px 15px -3px rgba(28, 25, 23, .08), 0 4px 6px -2px rgba(28, 25, 23, .04);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--transition-fast: .1s ease;--transition-normal: .15s ease;--transition-slow: .2s ease-out;--type-string: #7cc242;--type-string-bg: rgba(124, 194, 66, .1);--type-number: #ea5624;--type-number-bg: rgba(234, 86, 36, .1);--type-integer: #dbab3e;--type-integer-bg: rgba(219, 171, 62, .1);--type-boolean: #5b9cd4;--type-boolean-bg: rgba(91, 156, 212, .1);--type-object: #26489e;--type-object-bg: rgba(38, 72, 158, .1);--type-array: #8b5cf6;--type-array-bg: rgba(139, 92, 246, .1);--type-null: #A8A29E;--type-null-bg: rgba(168, 162, 158, .1);--schema-lines: rgba(91, 156, 212, .3);--schema-nested-bg: #fafafa;--schema-type-name: #57534E;--schema-require-label: #b31f24;--schema-require-bg: rgba(179, 31, 36, .08);--schema-labels-size: .9em;--schema-arrow-size: 1.1em;--schema-arrow-color: #57534E;--panel-dark-bg: #263238;--panel-dark-text: #e8edf4;--panel-dark-muted: #8b9db5;--panel-dark-key: #80cbc4;--panel-dark-string: #a5d6a7;--panel-dark-number: #ffcc80;--panel-dark-boolean: #90caf9;--panel-dark-null: #8b9db5}:root[data-theme=dark]{--bg-primary: #1a1a24;--bg-secondary: #232736;--bg-elevated: #2d3344;--bg-overlay: rgba(0, 0, 0, .7);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(255, 255, 255, .1);--text-primary: #e8edf4;--text-secondary: #a8b4c8;--text-muted: #6b7a8f;--border-light: #3a4256;--border-medium: #4a5572;--border-focus: #5b9cd4;--badge-schema: #5b9cd4;--badge-schema-bg: rgba(91, 156, 212, .2);--badge-property: #60c3a7;--badge-property-bg: rgba(96, 195, 167, .2);--badge-definition: #dbab3e;--badge-definition-bg: rgba(219, 171, 62, .2);--badge-required: #5b9cd4;--badge-required-bg: rgba(91, 156, 212, .2);--badge-deprecated: #b31f24;--badge-deprecated-bg: rgba(179, 31, 36, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .4);--type-string: #8bd450;--type-string-bg: rgba(139, 212, 80, .15);--type-number: #f0824a;--type-number-bg: rgba(240, 130, 74, .15);--type-integer: #f0ca6e;--type-integer-bg: rgba(240, 202, 110, .15);--type-boolean: #7db5e2;--type-boolean-bg: rgba(125, 181, 226, .15);--type-object: #5b9cd4;--type-object-bg: rgba(91, 156, 212, .15);--type-array: #a78bfa;--type-array-bg: rgba(167, 139, 250, .15);--type-null: #6b7a8f;--type-null-bg: rgba(107, 122, 143, .15);--schema-lines: rgba(91, 156, 212, .25);--schema-nested-bg: #232736;--schema-type-name: #a8b4c8;--schema-require-label: #e55a5a;--schema-require-bg: rgba(229, 90, 90, .12);--schema-arrow-color: #a8b4c8;--panel-dark-bg: #1e2a35;--panel-dark-text: #dce4f0;--panel-dark-muted: #7b8fa8;--panel-dark-key: #4db6ac;--panel-dark-string: #81c784;--panel-dark-number: #ffb74d;--panel-dark-boolean: #64b5f6;--panel-dark-null: #7b8fa8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}code,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--bg-secondary);padding:.125em .375em;border-radius:var(--radius-sm)}pre{background:var(--bg-secondary);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto}pre code{background:none;padding:0;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-outline{border:1px solid var(--border-medium);color:var(--text-secondary);background:transparent}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:500;color:var(--text-secondary);background:var(--bg-secondary)}.table tr:hover td{background:var(--bg-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.sidebar,.sidebar-overlay,.app-header,.view-toggle,.schema-actions,.ctrl-expand,.field-check,.source-toolbar,.copy-btn-wrap,.section-actions,.back-to-top,.detail-panel-overlay,.search-modal,.builder-toolbar,.toolbar-actions,.heading-anchor{display:none!important}.app-layout{grid-template-columns:1fr!important}.app-main,.main-content{padding:0!important;max-width:100%!important}.content-area{overflow:visible!important}.card,.def-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.field-row{break-inside:avoid}body{color:#000;background:#fff}.builder-layout{grid-template-columns:1fr!important}.builder-preview{position:static!important}a{color:#000!important;text-decoration:underline!important}}:deep(.md-pre){background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);overflow-x:auto;margin:var(--space-2) 0;line-height:var(--leading-relaxed)}:deep(.md-pre code){font-family:var(--font-mono);color:var(--text-primary);background:none;padding:0;border:none}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toolbar-field-count{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:2px 6px;border-radius:8px}.jv-viewer ul{list-style:none;padding-left:var(--space-4);margin:0}.jv-viewer li{margin:0}.jv-viewer .jv-toggle{background:none;border:1px solid var(--border-medium);border-radius:2px;cursor:pointer;width:14px;height:14px;font-size:9px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);padding:0;margin-right:4px;vertical-align:middle;transition:background var(--transition-fast)}.jv-viewer .jv-toggle:hover{background:var(--bg-hover)}.jv-viewer .jv-toggle[aria-label=expand]:after{content:"+"}.jv-viewer .jv-toggle[aria-label=collapse]:after{content:"−"}.jv-viewer .jv-ellipsis{display:none;color:var(--text-muted);font-size:var(--text-xs);font-style:italic;margin-left:4px}.jv-viewer .jv-children.jv-collapsed{display:none}.jv-viewer .jv-children.jv-collapsed+.jv-ellipsis{display:inline}.jv-viewer .jv-key{color:var(--color-primary-dark)}.jv-viewer .jv-punct{color:var(--text-muted)}.jv-viewer .jv-string{color:var(--color-green)}.jv-viewer .jv-number{color:var(--color-orange)}.jv-viewer .jv-boolean{color:var(--color-accent)}.jv-viewer .jv-null{color:var(--text-muted);font-style:italic}.jv-viewer .jv-link{color:var(--color-green);text-decoration:underline;text-decoration-style:dotted}.jv-viewer .jv-link:hover{text-decoration-style:solid}.jv-viewer .jv-row:hover{background:var(--bg-hover);border-radius:2px}:root[data-theme=dark] .jv-viewer .jv-key{color:var(--color-primary-light)}:root[data-theme=dark] .jv-viewer .jv-string{color:var(--color-teal)}:root[data-theme=dark] .jv-viewer .jv-number{color:var(--color-accent-light)}:root[data-theme=dark] .jv-viewer .jv-boolean{color:var(--color-primary-light)}:root[data-theme=dark] .jv-viewer .jv-null{color:var(--text-muted)}:root[data-theme=dark] .jv-viewer .jv-toggle{border-color:#fff3}:root[data-theme=dark] .jv-viewer .jv-punct{color:var(--panel-dark-muted)}:root[data-theme=dark] .jv-viewer .jv-row:hover{background:#ffffff0f}.md-content .md-code{font-family:var(--font-mono);font-size:inherit;background:var(--bg-secondary);padding:1px 4px;border-radius:2px;border:1px solid var(--border-light)}.md-content .md-link{color:var(--color-primary);text-decoration:none}.md-content .md-link:hover{text-decoration:underline}.md-content .md-heading{font-weight:600;margin:var(--space-2) 0 var(--space-1);color:var(--text-primary);font-size:inherit}.md-content .md-list{margin:var(--space-1) 0;padding-left:var(--space-5);font-size:inherit}.md-content .md-list li{margin-bottom:2px}.md-content .md-pre{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-2);margin:var(--space-2) 0;overflow-x:auto;font-size:var(--text-xs)}.md-content .md-pre code{font-family:var(--font-mono);font-size:inherit}
|
|
@@ -27,7 +27,7 @@ module Lutaml
|
|
|
27
27
|
return File.read(path) if File.exist?(path)
|
|
28
28
|
|
|
29
29
|
raise Error,
|
|
30
|
-
"Frontend asset not found: #{path}.
|
|
30
|
+
"Frontend asset not found: #{path}. The installed gem should ship it — reinstall the gem."
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
def build_html(json_data, js, css)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lutaml-jsonschema
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.21
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: '0.3'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.
|
|
54
|
+
version: '0.3'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: thor
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -81,6 +81,12 @@ files:
|
|
|
81
81
|
- README.md
|
|
82
82
|
- Rakefile
|
|
83
83
|
- exe/lutaml-jsonschema
|
|
84
|
+
- frontend/dist/app.iife.js
|
|
85
|
+
- frontend/dist/lutaml-logo-dark.svg
|
|
86
|
+
- frontend/dist/lutaml-logo-full-dark.svg
|
|
87
|
+
- frontend/dist/lutaml-logo-full-light.svg
|
|
88
|
+
- frontend/dist/lutaml-logo-light.svg
|
|
89
|
+
- frontend/dist/style.css
|
|
84
90
|
- frontend/index.html
|
|
85
91
|
- frontend/package-lock.json
|
|
86
92
|
- frontend/package.json
|