.json-schema-builder{--jsb-control-height:34px;--jsb-accent-primary:var(--sl-color-accent);--jsb-accent-primary-hover:var(--sl-color-accent-high);--jsb-border-light:#e5e7eb;--jsb-border-medium:#d1d5db;--jsb-border-hover:var(--jsb-accent-primary);--jsb-border-focus:var(--jsb-accent-primary);--jsb-border-dashed:#d1d5db;--jsb-border-section:#f3f4f6;--jsb-bg-primary:white;--jsb-bg-secondary:#f9fafb;--jsb-bg-tertiary:#fafbfc;--jsb-bg-code:#f8f9fa;--jsb-bg-enum-tag:#f3f4f6;--jsb-bg-hover:#f9fafb;--jsb-bg-hover-light:#f8faff;--jsb-bg-error-hover:#fef2f2;--jsb-text-primary:#111827;--jsb-text-secondary:#374151;--jsb-text-muted:#6b7280;--jsb-text-disabled:#9ca3af;--jsb-text-error:#dc2626;--jsb-text-white:white;--jsb-spacing-xs:4px;--jsb-spacing-sm:6px;--jsb-spacing-md:8px;--jsb-spacing-lg:12px;--jsb-spacing-xl:16px;--jsb-spacing-2xl:20px;--jsb-spacing-3xl:24px;--jsb-radius-sm:2px;--jsb-radius-md:3px;--jsb-radius-lg:4px;--jsb-radius-xl:6px;--jsb-font-xs:10px;--jsb-font-sm:11px;--jsb-font-md:12px;--jsb-font-lg:13px;--jsb-font-xl:14px;--jsb-font-2xl:16px;--jsb-font-3xl:20px;--jsb-font-normal:400;--jsb-font-medium:500;--jsb-font-semibold:600;--jsb-shadow-sm:0 1px 3px #0000001a;--jsb-shadow-focus:0 0 0 2px #3b82f61a;--jsb-transition:all .15s ease}html[data-theme=dark] .json-schema-builder{--jsb-accent-primary:#60a5fa;--jsb-accent-primary-hover:#3b82f6;--jsb-border-light:#374151;--jsb-border-medium:#4b5563;--jsb-border-hover:var(--jsb-accent-primary);--jsb-border-focus:var(--jsb-accent-primary);--jsb-border-dashed:#4b5563;--jsb-border-section:#374151;--jsb-bg-primary:#1f2937;--jsb-bg-secondary:#111827;--jsb-bg-tertiary:#0f172a;--jsb-bg-code:#111827;--jsb-bg-enum-tag:#374151;--jsb-bg-hover:#374151;--jsb-bg-hover-light:#1e3a8a;--jsb-bg-error-hover:#450a0a;--jsb-text-primary:#f9fafb;--jsb-text-secondary:#d1d5db;--jsb-text-muted:#9ca3af;--jsb-text-disabled:#6b7280;--jsb-text-error:#f87171;--jsb-text-white:#1f2937}.json-schema-builder{max-width:1000px;padding:var(--jsb-spacing-xl);margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4}.schema-header{border-bottom:1px solid var(--jsb-border-light);padding-bottom:var(--jsb-spacing-xl);margin-bottom:var(--jsb-spacing-2xl)}.samples-section{border-bottom:1px solid var(--jsb-border-light);padding-bottom:var(--jsb-spacing-xl);margin-bottom:var(--jsb-spacing-xl)}.samples-section h3{margin:0 0 var(--jsb-spacing-sm) 0;font-size:var(--jsb-font-2xl);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary)}.samples-section p{margin:0 0 var(--jsb-spacing-md) 0;font-size:var(--jsb-font-lg);color:var(--jsb-text-muted)}.samples-grid{gap:var(--jsb-spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sample-card{border:1px solid var(--jsb-border-light);border-radius:var(--jsb-radius-md);padding:var(--jsb-spacing-lg);background:var(--jsb-bg-primary);transition:var(--jsb-transition);flex-direction:column;display:flex}.sample-card:hover{border-color:var(--jsb-border-hover);box-shadow:var(--jsb-shadow-sm)}.sample-card h4{margin:0 0 var(--jsb-spacing-xs) 0;font-size:var(--jsb-font-lg);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary)}.sample-card p{margin:0 0 var(--jsb-spacing-md) 0;font-size:var(--jsb-font-sm);color:var(--jsb-text-muted);line-height:1.3}.paste-card{border:2px dashed var(--jsb-border-dashed);position:relative}.paste-card:hover{border-color:var(--jsb-border-hover);border-style:dashed}.paste-modal{border-radius:var(--jsb-radius-lg);background:var(--jsb-bg-primary);border:none;width:100%;max-width:600px;max-height:80vh;margin:auto;padding:0;box-shadow:0 10px 40px #0003}.paste-modal::backdrop{background:#00000080}html[data-theme=dark] .paste-modal::backdrop{background:#000c}.modal-overlay{z-index:1000;padding:var(--jsb-spacing-xl);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}html[data-theme=dark] .modal-overlay{background:#000c}.modal-content{background:var(--jsb-bg-primary);border-radius:var(--jsb-radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 10px 40px #0003}.modal-header{padding:var(--jsb-spacing-xl);border-bottom:1px solid var(--jsb-border-light);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--jsb-font-2xl);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary);margin:0}.modal-close{font-size:var(--jsb-font-2xl);color:var(--jsb-text-muted);cursor:pointer;padding:var(--jsb-spacing-xs);border-radius:var(--jsb-radius-sm);transition:var(--jsb-transition);background:0 0;border:none}.modal-close:hover{background:var(--jsb-bg-hover);color:var(--jsb-text-secondary)}.modal-body{padding:var(--jsb-spacing-xl);flex:1;overflow-y:auto}.modal-body p{margin:0 0 var(--jsb-spacing-lg) 0;color:var(--jsb-text-muted);font-size:var(--jsb-font-lg)}.paste-textarea{width:100%;min-height:200px;padding:var(--jsb-spacing-lg);border:1px solid var(--jsb-border-medium);border-radius:var(--jsb-radius-md);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:var(--jsb-font-md);resize:vertical;background:var(--jsb-bg-code);box-sizing:border-box;line-height:1.4}.paste-textarea:focus{border-color:var(--jsb-border-focus);box-shadow:var(--jsb-shadow-focus);outline:none}.modal-footer{gap:var(--jsb-spacing-md);padding:var(--jsb-spacing-xl);border-top:1px solid var(--jsb-border-light);justify-content:flex-end;display:flex}.schema-header h2{margin:0 0 var(--jsb-spacing-xs) 0;font-size:var(--jsb-font-3xl);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary)}.schema-header p{margin:0 0 var(--jsb-spacing-xl) 0;font-size:var(--jsb-font-xl);color:var(--jsb-text-muted)}.form-row{gap:var(--jsb-spacing-lg);margin-bottom:var(--jsb-spacing-xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.form-group{margin-bottom:var(--jsb-spacing-lg)}.form-group label{margin-bottom:var(--jsb-spacing-xs);font-size:var(--jsb-font-lg);font-weight:var(--jsb-font-medium);color:var(--jsb-text-secondary);min-height:18px;display:block}.form-group input,.enum-input input,.form-group textarea,.form-group select{width:100%;padding:var(--jsb-spacing-sm) var(--jsb-spacing-md);border:1px solid var(--jsb-border-medium);border-radius:var(--jsb-radius-md);font-size:var(--jsb-font-lg);background:var(--jsb-bg-primary);box-sizing:border-box;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--jsb-border-focus);box-shadow:var(--jsb-shadow-focus);outline:none}.form-group input,.form-group select{height:var(--jsb-control-height);line-height:normal}.form-group select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--jsb-text-muted) 50%), linear-gradient(135deg, var(--jsb-text-muted) 50%, transparent 50%);padding-right:var(--jsb-spacing-3xl);background-position:calc(100% - 14px),calc(100% - 8px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.form-group textarea{resize:vertical;min-height:var(--jsb-control-height)}.property-item{border:1px solid var(--jsb-border-light);border-radius:var(--jsb-radius-lg);margin-bottom:var(--jsb-spacing-md);background:var(--jsb-bg-primary)}.property-item:hover{border-color:var(--jsb-border-medium)}.property-header{gap:var(--jsb-spacing-md);padding:var(--jsb-spacing-lg) var(--jsb-spacing-lg) var(--jsb-spacing-md) var(--jsb-spacing-lg);background:var(--jsb-bg-secondary);border-bottom:1px solid var(--jsb-border-light);grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;display:grid}.property-name-section{align-items:center;gap:var(--jsb-spacing-sm);display:flex}.tree-toggle{color:var(--jsb-text-muted);cursor:pointer;padding:var(--jsb-spacing-xs);font-size:var(--jsb-font-md);border-radius:var(--jsb-radius-sm);transition:var(--jsb-transition);background:0 0;border:none;justify-content:center;align-items:center;min-width:20px;height:20px;line-height:1;display:flex}.tree-toggle:hover{background:var(--jsb-bg-hover);color:var(--jsb-text-secondary)}.tree-toggle:focus{box-shadow:var(--jsb-shadow-focus);outline:none}.property-body{padding:var(--jsb-spacing-lg)}.property-controls{align-items:center;gap:var(--jsb-spacing-md);display:flex}.checkbox-wrapper{align-items:center;gap:var(--jsb-spacing-xs);font-size:var(--jsb-font-md);color:var(--jsb-text-muted);white-space:nowrap;display:flex}.checkbox-wrapper input[type=checkbox]{width:auto;margin:0}.remove-btn{padding:var(--jsb-spacing-xs);color:var(--jsb-text-disabled);cursor:pointer;border-radius:var(--jsb-radius-sm);font-size:var(--jsb-font-xl);background:0 0;border:none;line-height:1}.remove-btn:hover{background:var(--jsb-bg-error-hover);color:var(--jsb-text-error)}.nested-section{border-top:1px solid var(--jsb-border-section);margin-top:var(--jsb-spacing-md)}.nested-header{padding:var(--jsb-spacing-md) var(--jsb-spacing-lg);background:var(--jsb-bg-secondary);font-size:var(--jsb-font-md);font-weight:var(--jsb-font-medium);color:var(--jsb-text-muted);justify-content:space-between;align-items:center;display:flex}.nested-properties{padding:var(--jsb-spacing-md);background:var(--jsb-bg-tertiary);position:relative}.nested-properties:before{content:"";left:var(--jsb-spacing-lg);background:var(--jsb-border-light);opacity:.5;width:2px;position:absolute;top:0;bottom:0}.nested-properties .property-item{margin-bottom:var(--jsb-spacing-sm);position:relative}.nested-properties .property-item:before{content:"";background:var(--jsb-border-light);opacity:.5;width:10px;height:2px;position:absolute;top:20px;left:-12px}.depth-0{border-left:3px solid #3b82f66b}.depth-1{border-left:3px solid #10b9816b}.depth-2{border-left:3px solid #f59e0b6b}.depth-3{border-left:3px solid #ef44446b}.depth-4{border-left:3px solid #8b5cf66b}.properties-header{margin-bottom:var(--jsb-spacing-lg);justify-content:space-between;align-items:center;display:flex}.properties-header h3{font-size:var(--jsb-font-2xl);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary);margin:0}.tree-controls{gap:var(--jsb-spacing-sm);display:flex}.nested-properties .property-header{background:var(--jsb-bg-primary)}.enum-section{margin-top:var(--jsb-spacing-md);padding-top:var(--jsb-spacing-md);border-top:1px solid var(--jsb-border-section)}.enum-section-header{font-size:var(--jsb-font-md);font-weight:var(--jsb-font-medium);color:var(--jsb-text-muted);margin-bottom:var(--jsb-spacing-sm)}.enum-values{gap:var(--jsb-spacing-xs);margin-bottom:var(--jsb-spacing-md);flex-wrap:wrap;display:flex}.enum-tag{background:var(--jsb-bg-enum-tag);padding:var(--jsb-spacing-sm) var(--jsb-spacing-sm);border-radius:var(--jsb-radius-sm);font-size:var(--jsb-font-sm);align-items:center;gap:var(--jsb-spacing-xs);color:var(--jsb-text-secondary);display:flex}.enum-tag button{color:var(--jsb-text-disabled);cursor:pointer;font-size:var(--jsb-font-xs);background:0 0;border:none;padding:0;line-height:1}.enum-tag button:hover{color:var(--jsb-text-error)}.enum-input{gap:var(--jsb-spacing-sm);align-items:center;display:flex}.enum-input input{font-size:var(--jsb-font-md);padding:var(--jsb-spacing-xs) var(--jsb-spacing-sm);flex:1}.validation-section{margin-top:var(--jsb-spacing-md)}.minmax-section{margin-top:var(--jsb-spacing-lg);padding-top:var(--jsb-spacing-md);border-top:1px solid var(--jsb-border-section)}.minmax-inputs{gap:var(--jsb-spacing-lg);margin-top:var(--jsb-spacing-sm);align-items:end;display:flex}.minmax-inputs .form-group{flex:1;min-width:0}.minmax-inputs .form-group label{font-size:var(--jsb-font-sm);font-weight:var(--jsb-font-medium);color:var(--jsb-text-muted);margin-bottom:var(--jsb-spacing-xs);display:block}.minmax-inputs .form-group input{width:100%;font-size:var(--jsb-font-md);padding:var(--jsb-spacing-xs) var(--jsb-spacing-sm)}.btn{padding:var(--jsb-spacing-sm) var(--jsb-spacing-lg);border-radius:var(--jsb-radius-md);cursor:pointer;font-size:var(--jsb-font-lg);font-weight:var(--jsb-font-medium);transition:var(--jsb-transition);background:var(--jsb-bg-primary);color:var(--jsb-text-secondary);border:1px solid #0000}.btn:hover{background:var(--jsb-bg-hover)}.sample-card .btn{align-self:flex-start;margin-top:auto}.btn-primary{background:var(--jsb-accent-primary);color:var(--jsb-text-white);border-color:var(--jsb-accent-primary)}.btn-primary:hover{background:var(--jsb-accent-primary-hover);border-color:var(--jsb-accent-primary-hover)}.btn-small{padding:var(--jsb-spacing-xs) var(--jsb-spacing-md);font-size:var(--jsb-font-sm)}.add-property-btn{margin:var(--jsb-spacing-xl) 0;border:1px dashed var(--jsb-border-dashed);background:var(--jsb-bg-primary);width:100%;color:var(--jsb-text-muted);padding:var(--jsb-spacing-lg);text-align:center}.add-property-btn:hover{border-color:var(--jsb-border-hover);background:var(--jsb-bg-hover-light);color:var(--jsb-accent-primary)}.actions{gap:var(--jsb-spacing-md);margin:var(--jsb-spacing-2xl) 0;padding-top:var(--jsb-spacing-xl);border-top:1px solid var(--jsb-border-light);display:flex}.preview-section{margin-top:var(--jsb-spacing-3xl)}.preview-section h3{margin:0 0 var(--jsb-spacing-lg) 0;font-size:var(--jsb-font-2xl);font-weight:var(--jsb-font-semibold);color:var(--jsb-text-primary)}.schema-output{background:var(--jsb-bg-code);border:1px solid var(--jsb-border-light);padding:var(--jsb-spacing-lg);border-radius:var(--jsb-radius-lg);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:var(--jsb-font-md);white-space:pre;color:var(--jsb-text-secondary);line-height:1.4;overflow-x:auto}@media (width<=768px){.form-row,.samples-grid{grid-template-columns:1fr}.property-header{gap:var(--jsb-spacing-md);grid-template-columns:1fr}.property-controls{justify-content:space-between}.actions{flex-direction:column}}
