:root{color-scheme:light;--surface-1: #fcfcfb;--page-plane: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--muted: #898781;--gridline: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--accent-soft: rgba(42, 120, 214, .1);--measure: #1baf7a;--critical: #d03b3b;--warning: #fab219;--radius: 8px;--font: system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark]{color-scheme:dark;--surface-1: #1a1a19;--page-plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--muted: #898781;--gridline: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--accent-soft: rgba(57, 135, 229, .16);--measure: #199e70;--critical: #d03b3b;--warning: #fab219}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--page-plane);color:var(--text-primary);font-size:14px;-webkit-font-smoothing:antialiased}.shell{display:grid;grid-template-columns:264px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"topbar topbar" "sidebar workspace";height:100%}.topbar{grid-area:topbar;display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--surface-1);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:-.01em}.brand-mark{width:14px;height:14px;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--measure))}.engine-status{font-size:12px;color:var(--text-secondary);padding:3px 8px;border-radius:999px;background:var(--page-plane);border:1px solid var(--border)}.engine-error{color:var(--critical)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.examples{display:flex;gap:6px;flex-wrap:wrap}.sidebar{grid-area:sidebar;background:var(--surface-1);border-right:1px solid var(--border);overflow-y:auto;padding:12px}.workspace{grid-area:workspace;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.panel-title{display:flex;align-items:center;justify-content:space-between;font-weight:600;padding:4px 4px 12px}.badge{font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--page-plane);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.entity{margin-bottom:14px}.entity h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px 4px;font-weight:600}.entity ul{list-style:none;margin:0 0 6px;padding:0}.field{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:grab}.field:hover{background:var(--accent-soft);border-color:var(--border)}.field-glyph{width:16px;text-align:center;font-size:12px}.field-dimension .field-glyph{color:var(--accent)}.field-measure .field-glyph{color:var(--measure)}.status{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.status-draft{border-color:var(--warning)}.status-deprecated{border-color:var(--critical);color:var(--critical)}.shelves{display:flex;flex-direction:column;gap:8px}.shelf{display:flex;align-items:flex-start;gap:12px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-height:42px}.shelf-label{flex:0 0 76px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding-top:5px}.shelf-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:26px;flex:1}.shelf-hint{color:var(--muted);font-size:12px;padding-top:4px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--page-plane)}.pill-dimension{border-color:var(--accent);background:var(--accent-soft)}.pill-measure{border-color:var(--measure)}.pill-filter{border-style:dashed}.pill-grain{font:inherit;font-size:11px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.pill-remove{border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:999px}.pill-remove:hover{background:var(--border)}.chip{font:inherit;font-size:12px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--page-plane);color:var(--text-primary);cursor:pointer}.chip-active{border-color:var(--accent);background:var(--accent-soft);font-weight:500}.button{font:inherit;font-size:12px;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer}.button-ghost{background:var(--page-plane);color:var(--text-primary)}.button-ghost:hover{background:var(--accent-soft)}.chart-view{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.chart-canvas-wrap{position:relative}.chart-canvas{width:100%;height:380px;display:block;cursor:crosshair}.tooltip{position:absolute;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000001f;padding:8px 10px;font-size:12px;min-width:140px}.tooltip-head{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}.tooltip-swatch,.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.tooltip-category{color:var(--text-secondary)}.tooltip-value{font-variant-numeric:tabular-nums;font-size:15px;margin-top:2px}.chart-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.legend{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0;font-size:12px;color:var(--text-secondary)}.legend li{display:flex;align-items:center;gap:6px}.mark-count{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.diagnostic{display:flex;flex-direction:column;gap:4px;border-radius:var(--radius);padding:10px 12px;font-size:13px;border:1px solid var(--border);background:var(--surface-1)}.diagnostic-error{border-left:3px solid var(--critical)}.diagnostic-warning{border-left:3px solid var(--warning)}.diagnostic-hint{color:var(--text-secondary);font-size:12px}.placeholder{background:var(--surface-1);border:1px dashed var(--border);border-radius:var(--radius);padding:48px;text-align:center;color:var(--text-secondary)}.data-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tabs{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border)}.tab{font:inherit;font-size:12px;padding:5px 12px;border:none;border-radius:6px;background:none;color:var(--text-secondary);cursor:pointer}.tab-active{background:var(--accent-soft);color:var(--text-primary);font-weight:500}.tabs-meta{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.code{margin:0;padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text-primary);overflow-x:auto;white-space:pre}.table-scroll{max-height:320px;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:6px 12px;text-align:left;border-bottom:1px solid var(--gridline);white-space:nowrap}.data-table th{position:sticky;top:0;background:var(--surface-1);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.data-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.table-note{margin:0;padding:8px 12px;font-size:11px;color:var(--muted)}.raw-sql{padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.raw-sql textarea{width:100%;font-family:var(--mono);font-size:12px;padding:10px;border-radius:6px;border:1px solid var(--border);background:var(--page-plane);color:var(--text-primary);resize:vertical}@media (max-width: 900px){.shell{grid-template-columns:1fr;grid-template-areas:"topbar" "sidebar" "workspace"}.sidebar{max-height:220px;border-right:none;border-bottom:1px solid var(--border)}}.source-editor{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.source-textarea{width:100%;min-height:220px;max-height:460px;border:none;border-bottom:1px solid var(--border);padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.6;background:var(--surface-1);color:var(--text-primary);resize:vertical;display:block}.source-textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}.source-actions{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-wrap:wrap}.source-actions .table-note{padding:0;margin-left:auto}
