:root{--rosewater:#f5e0dc;--flamingo:#f2cdcd;--pink:#f5c2e7;--mauve:#cba6f7;--red:#f38ba8;--maroon:#eba0ac;--peach:#fab387;--yellow:#f9e2af;--green:#a6e3a1;--teal:#94e2d5;--sky:#89dceb;--sapphire:#74c7ec;--blue:#89b4fa;--lavender:#b4befe;--text:#cdd6f4;--subtext1:#bac2de;--subtext0:#a6adc8;--overlay2:#9399b2;--overlay1:#7f849c;--overlay0:#6c7086;--surface2:#585b70;--surface1:#45475a;--surface0:#313244;--base:#1e1e2e;--mantle:#181825;--crust:#11111b;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", "Menlo", "Consolas", monospace;--radius:10px;--radius-sm:6px;--border:1px solid var(--surface0);--border-strong:1px solid var(--surface1);--shadow:0 12px 32px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--crust);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}p{margin:0}code,kbd,pre{font-family:var(--font-mono)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--lavender);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--mantle)}::-webkit-scrollbar-thumb{background:var(--surface1);border:2px solid var(--mantle);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--surface2)}.app{flex-direction:column;height:100%;min-height:0;display:flex}.app-header{background:var(--mantle);border-bottom:var(--border-strong);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{align-items:baseline;gap:10px;min-width:0;display:flex}.brand-mark{letter-spacing:.14em;color:var(--crust);background:linear-gradient(135deg, var(--lavender), var(--sky));border-radius:var(--radius-sm);padding:2px 10px;font-size:20px;font-weight:800}.brand-sub{color:var(--overlay2);letter-spacing:.04em;text-transform:lowercase;font-size:12px}.header-meta{align-items:center;gap:12px;min-width:0;display:flex}.header-path{color:var(--subtext0);text-overflow:ellipsis;white-space:nowrap;max-width:46vw;font-size:12px;overflow:hidden}.badge{background:var(--surface0);border:var(--border-strong);color:var(--lavender);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:12px}.tabs{background:var(--mantle);border-bottom:var(--border-strong);gap:4px;padding:0 24px;display:flex}.tabs .tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--overlay2);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:color .12s,background .12s;position:relative}.tabs .tab:hover{color:var(--text);background:var(--surface0)}.tabs .tab.active{color:var(--lavender);background:var(--base)}.tabs .tab.active:after{content:"";background:var(--lavender);height:2px;position:absolute;inset:auto 0 -1px}.content{background:var(--crust);flex:1;min-height:0;overflow:hidden}.tab-body{height:100%;min-height:0;padding:20px 24px;overflow-y:auto}.tab-body.stats{flex-direction:column;gap:18px;display:flex}.tab-body.map,.tab-body.module{gap:18px;display:grid;overflow:hidden}.tab-body.split,.tab-body.blob,.tab-body.sparql{flex-direction:column;gap:18px;display:flex;overflow-y:auto}.tab-body.split>.panel,.tab-body.blob>.panel,.tab-body.sparql>.panel{flex:none}.tab-body.module{grid-template-rows:auto minmax(0,1fr)}.tab-body.map{grid-template-rows:minmax(0,1fr)}.panel{background:var(--base);border:var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-header{background:var(--mantle);border-bottom:var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.panel-header h3{text-transform:uppercase;letter-spacing:.09em;color:var(--lavender);font-size:13px}.panel-header p{color:var(--overlay2);font-size:12px}.panel-header>p{text-align:right;margin-left:auto}.panel-header code{color:var(--teal)}.panel-header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.toolbar{flex:none;align-items:center;gap:12px;display:flex}.tab-body.stats>.toolbar h2{font-size:18px}.toolbar-actions{margin-left:auto}.editor-panel .toolbar{border-top:var(--border);background:var(--mantle);padding:10px 16px}.button{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--surface0);color:var(--text);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,border-color .12s}.button:hover:not(:disabled){background:var(--surface1);border-color:var(--surface2)}.button:disabled,a.button[aria-disabled=true]{color:var(--overlay0);cursor:not-allowed}a.button{align-items:center;text-decoration:none;display:inline-flex}a.button[aria-disabled=true]{pointer-events:none}.button.copied,.button.copied:hover:not(:disabled){border-color:var(--green);color:var(--green)}.button.primary{background:var(--lavender);border-color:var(--lavender);color:var(--crust)}.button.primary:hover:not(:disabled){background:var(--blue);border-color:var(--blue)}.button.primary:disabled{background:var(--surface1);border-color:var(--surface1);color:var(--overlay1)}.chips{flex-wrap:wrap;flex:none;gap:6px;padding:10px 16px 0;display:flex}.chips-label{color:var(--overlay1);text-transform:uppercase;letter-spacing:.06em;align-self:center;font-size:11px}.chip{border:var(--border-strong);color:var(--subtext0);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11px;transition:color .12s,border-color .12s,background .12s}.chip:hover{color:var(--crust);background:var(--sky);border-color:var(--sky)}.hint{color:var(--overlay1);font-size:12px}kbd{border:1px solid var(--surface2);background:var(--surface0);color:var(--subtext0);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.editor{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tab-body.split .editor{flex:none;height:clamp(280px,35vh,560px)}.editor>div{flex:1;min-height:0}.editor .cm-editor{height:100%}.empty{color:var(--overlay1);padding:20px 16px;font-size:13px}.error-banner{border:1px solid var(--red);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--red) 12%, var(--base));color:var(--red);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-left-width:4px;margin:12px 16px;padding:10px 14px;font-size:12px}.tab-body.stats>.error-banner{margin:0}.table-path{align-items:baseline;gap:10px;min-width:0;display:flex}.table-path .label{color:var(--overlay1);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.table-links{gap:6px;display:flex}.button.small{padding:3px 10px;font-size:12px}.table-path code{color:var(--teal);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat-card{background:var(--base);border:var(--border);border-radius:var(--radius);border-left:3px solid var(--accent,var(--lavender));flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-card[data-accent=lavender]{--accent:var(--lavender)}.stat-card[data-accent=blue]{--accent:var(--blue)}.stat-card[data-accent=teal]{--accent:var(--teal)}.stat-card[data-accent=peach]{--accent:var(--peach)}.stat-card[data-accent=mauve]{--accent:var(--mauve)}.stat-value{font-family:var(--font-mono);color:var(--accent);font-size:26px;font-weight:700;line-height:1.2}.stat-label{color:var(--overlay2);font-size:12px}.tab-body.stats .panel{flex:none}.tab-body.stats .table-scroll{max-height:420px}.table-scroll{flex:1;min-height:0;overflow:auto}.result-table{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--font-mono);font-size:12px}.result-table th{z-index:1;background:var(--surface0);border-bottom:1px solid var(--surface2);color:var(--text);text-align:left;white-space:nowrap;padding:8px 12px;font-weight:700;position:sticky;top:0}.result-table td{border-bottom:1px solid var(--surface0);max-width:460px;color:var(--subtext1);text-overflow:ellipsis;white-space:nowrap;vertical-align:top;padding:6px 12px;overflow:hidden}.result-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--mantle) 55%, transparent)}.result-table tbody tr:hover td{background:var(--surface0);color:var(--text)}.result-table .row-number{width:1%;color:var(--overlay0);text-align:right;-webkit-user-select:none;user-select:none}.result-table .iri{color:var(--sky)}.result-table .null{color:var(--overlay0)}.module-form{flex:none;gap:10px;padding:12px 16px 0;display:flex}.module-input{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--crust);min-width:0;color:var(--text);font-family:var(--font-mono);flex:1;padding:6px 12px;font-size:13px}.module-input:focus{border-color:var(--lavender);outline:none}.module-input::placeholder{color:var(--overlay0)}.module-hint{padding:10px 16px 14px}.module-hint code{color:var(--teal)}.icon-button{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--surface0);width:26px;height:26px;color:var(--subtext0);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s,color .12s;display:flex}.icon-button:hover{background:var(--surface1);border-color:var(--surface2);color:var(--text)}.icon-button.copied,.icon-button.copied:hover{color:var(--green);border-color:var(--green)}.json-scroll{flex:1;min-height:0;overflow:auto}.json-block{color:var(--text);font-family:var(--font-mono);tab-size:2;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.5}.blob-toggle{padding:10px 16px 0}.blob-toggle code{color:var(--teal)}.blob-list{display:block}.blob-list-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.blob-list-summary::-webkit-details-marker{display:none}.blob-list-summary h3:before{width:1em;color:var(--overlay1);content:"▸";transition:transform .12s;display:inline-block}.blob-list[open]>.blob-list-summary h3:before{transform:rotate(90deg)}.blob-list-summary:hover h3{color:var(--blue)}.blob-list-summary:focus-visible{outline:2px solid var(--lavender);outline-offset:-2px}.blob-list-hint{padding-top:12px}.blob-list-hint a{color:var(--sky)}.blob-list-scroll{max-height:420px}.blob-view-header>div{flex-direction:column;gap:4px;min-width:0;display:flex}.blob-view-header h3{text-transform:none;letter-spacing:normal}.blob-view-header h3 code{overflow-wrap:anywhere;font-size:12.5px}.map-panel{height:100%}.map-layout{flex:1;min-height:0;display:flex}.map-controls{background:var(--mantle);border-right:var(--border);flex-direction:column;flex:none;gap:18px;width:300px;padding:14px 16px;display:flex;overflow-y:auto}.map-control-group{flex-direction:column;gap:8px;display:flex}.map-control-group>.chips-label{align-self:flex-start}.map-control-group .hint code{color:var(--teal)}.map-chips{padding:0}.chip.active{color:var(--crust);background:var(--lavender);border-color:var(--lavender)}.chip:disabled{color:var(--overlay0);cursor:not-allowed}.chip:disabled:hover{border-color:var(--surface1);color:var(--overlay0);background:0 0}.map-bbox-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-bbox-field{flex-direction:column;gap:3px;display:flex}.map-bbox-field span{color:var(--overlay1);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.map-bbox-field .module-input{width:100%;padding:5px 8px;font-size:12px}.map-actions{flex-wrap:wrap;gap:6px;display:flex}.toggle{color:var(--subtext0);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.toggle input{accent-color:var(--lavender)}.help-button{text-align:center;border-radius:50%;width:26px;padding-left:0;padding-right:0}.help-button.active{border-color:var(--lavender);color:var(--lavender)}.help-panel{background:var(--mantle);border-bottom:var(--border);color:var(--subtext0);flex:none;padding:10px 16px;font-size:12px;line-height:1.5}.help-panel ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.help-panel code{color:var(--teal)}.map-link{align-self:flex-start}.map-controls .error-banner{margin:0}.map-canvas{background:var(--crust);flex:1;min-width:0;position:relative}.map-canvas .maplibregl-ctrl-group{background:var(--surface0);border:var(--border-strong);box-shadow:none}.map-canvas .maplibregl-ctrl-group button+button{border-top-color:var(--surface1)}.map-canvas .maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(.85)}.map-canvas .maplibregl-ctrl-attrib,.map-canvas .maplibregl-ctrl-scale{background:color-mix(in srgb, var(--mantle) 80%, transparent);color:var(--subtext0);border-color:var(--surface2);font-size:11px}.map-canvas .maplibregl-ctrl-attrib a{color:var(--sky)}.map-popup .maplibregl-popup-content{background:var(--surface0);border:var(--border-strong);border-radius:var(--radius-sm);max-height:320px;box-shadow:var(--shadow);color:var(--text);padding:10px 24px 10px 12px;overflow:auto}.map-popup .maplibregl-popup-close-button{color:var(--overlay2);font-size:18px}.map-popup .maplibregl-popup-close-button:hover{color:var(--text);background:0 0}.map-popup .maplibregl-popup-tip{border-top-color:var(--surface0);border-bottom-color:var(--surface0)}.map-popup-table{border-collapse:collapse;font-family:var(--font-mono);font-size:11.5px}.map-popup-table th{color:var(--lavender);text-align:left;vertical-align:top;white-space:nowrap;padding:3px 10px 3px 0;font-weight:600}.map-popup-table td{color:var(--subtext1);overflow-wrap:anywhere;padding:3px 0}.map-popup-table a{color:var(--sky)}.yasgui-host{flex:none;min-width:0}.sparql-workspace{flex:none;grid-template-columns:minmax(0,1fr);gap:16px;display:grid;container-type:inline-size}@container (width>=1100px){.sparql-workspace.with-sql{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.sparql-workspace.with-sql>.sql-preview{position:sticky;top:0}}.sql-preview{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--mantle);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sql-preview-header{border-bottom:var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.sql-preview-header h4{text-transform:uppercase;letter-spacing:.09em;color:var(--lavender);font-size:11px}.sql-preview-copy{margin-left:auto;padding:3px 10px;font-size:11px}.sql-preview-editor{flex:none;height:280px}.sql-preview-editor .error-banner{white-space:pre-wrap;margin:12px;overflow:auto}.graph-plugin-root{padding:12px}.graph-plugin-body{flex-direction:column;gap:10px;display:flex}.graph-settings{background:var(--mantle);border:1px solid var(--surface1);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:18px;padding:8px 10px;display:flex}.graph-settings-control{color:var(--subtext0);align-items:center;gap:8px;font-size:12px;display:flex}.graph-settings-value{min-width:3.2em;color:var(--overlay1);font-family:var(--font-mono);font-size:11px}.graph-settings-reset{border:1px solid var(--surface2);border-radius:var(--radius-sm);color:var(--subtext0);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.graph-settings-reset:hover{background:var(--surface0);color:var(--text)}.graph-sigma-container{background:var(--mantle);border:1px solid var(--surface1);--sigma-background-color:var(--mantle);--sigma-controls-background-color:var(--surface0);--sigma-controls-background-color-hover:var(--surface1);--sigma-controls-border-color:var(--surface2);--sigma-controls-color:var(--lavender);border-radius:10px;width:100%;height:640px;position:relative;overflow:hidden}.graph-loading{height:640px;color:var(--subtext0);background:var(--mantle);border:1px solid var(--surface1);border-radius:10px;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.graph-spinner{border:2px solid var(--surface1);border-top-color:var(--lavender);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite graph-spin}@keyframes graph-spin{to{transform:rotate(360deg)}}.graph-empty-state{border:1px dashed var(--surface2);border-radius:var(--radius-sm);color:var(--subtext0);text-align:center;padding:28px 20px}.graph-empty-state p{margin:0}.graph-empty-reason{color:var(--overlay1);font-size:13px;margin-top:8px!important}.graph-footer{color:var(--subtext0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.graph-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.graph-legend-item{align-items:center;gap:6px;display:flex}.graph-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.graph-stats{color:var(--overlay1)}.graph-tooltip{pointer-events:none;z-index:10;background:var(--surface0);border:1px solid var(--surface2);border-radius:var(--radius-sm);max-width:320px;box-shadow:var(--shadow);color:var(--text);font-family:var(--font-mono);word-break:break-all;padding:5px 9px;font-size:12px;position:absolute;transform:translate(12px,12px)}.graph-tooltip-kind{color:var(--overlay1);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;font-size:10px;display:block}.graph-context-menu{z-index:20;background:var(--surface0);border:1px solid var(--surface2);border-radius:var(--radius-sm);min-width:180px;box-shadow:var(--shadow);flex-direction:column;padding:4px;display:flex;position:absolute;transform:translate(4px,4px)}.graph-context-menu-item{color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:12px}.graph-context-menu-item:hover{background:var(--surface1)}
