*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{color:#cdd6f4;background:#1e1e2e;font-family:monospace}.app{height:100%;display:flex}.divider{background:#313244;flex-shrink:0;width:1px}.h-divider{background:#313244;flex-shrink:0;height:1px}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.app>.pane{flex:1}.pane-header{letter-spacing:.06em;text-transform:uppercase;color:#a6adc8;background:#181825;border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.7rem;font-weight:700;display:flex}.editor{flex:1;font-size:.8rem;overflow:hidden}.editor .cm-editor{height:100%;font-size:.8rem}.editor .cm-scroller{font-family:monospace;overflow:auto}.right-column{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.search-bar{background:#181825;border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.search-label{text-transform:uppercase;letter-spacing:.06em;color:#a6adc8;white-space:nowrap;font-size:.7rem}.search-input{color:#cdd6f4;background:#1e1e2e;border:1px solid #45475a;border-radius:4px;outline:none;width:240px;padding:.25rem .5rem;font-family:monospace;font-size:.8rem}.search-input:focus{border-color:#89b4fa}.query-pane{flex:2;overflow:hidden}.results-pane{flex:3;overflow:hidden}.error{color:#f38ba8;white-space:pre-wrap;flex:1;padding:1rem;font-size:.85rem;line-height:1.6}.empty{color:#6c7086;padding:1rem;font-size:.85rem}.loading-indicator{color:#f9e2af;letter-spacing:0;text-transform:none;font-size:.7rem;font-weight:400}.cm-sparql-embed{background:#89b4fa2e;border-radius:2px}.table-scroll{flex:1;height:100%;overflow:auto}.results-table{border-collapse:collapse;width:100%;font-size:.78rem}.results-table th{color:#a6adc8;text-align:left;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:#181825;border-bottom:1px solid #313244;padding:.4rem .75rem;font-size:.7rem;position:sticky;top:0}.results-table td{color:#cdd6f4;vertical-align:top;word-break:break-all;border-bottom:1px solid #1e1e2e;padding:.35rem .75rem}.results-table tr:hover td{background:#313244}.results-table td a{color:#89b4fa;text-decoration:none}.results-table td a:hover{text-decoration:underline}
