.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.spot-flow-shell{background:radial-gradient(circle at 100% 0,#4b85bd14,#0000 32%),linear-gradient(#fcfdff 0%,#f4f8fc 100%);border:1px solid #dbe6f0;border-radius:18px;height:820px;position:relative;overflow:hidden}.spot-flow-toolbar{z-index:5;align-items:center;gap:.65rem;display:flex;position:absolute;top:14px;right:14px}.spot-flow-toolbar-note{color:#5e7589;background:#fffffff0;border:1px solid #d7e2ec;border-radius:999px;padding:.32rem .6rem;font-size:.78rem;box-shadow:0 10px 20px #14223014}.spot-preview-chart-panel{flex-direction:column;gap:.85rem;display:flex}.spot-preview-chart-canvas{width:100%;height:340px}.spot-chart-note{color:#557086;background:#f7fbff;border:1px solid #d8e4ee;border-radius:14px;padding:.7rem .85rem;font-size:.88rem}.spot-flow-shell .react-flow{background:0 0}.spot-flow-shell .react-flow__renderer,.spot-flow-shell .react-flow__pane{cursor:grab}.spot-flow-shell .react-flow__controls{border:1px solid #d4e0ec;border-radius:14px;overflow:hidden;box-shadow:0 14px 28px #1422301f}.spot-flow-shell .react-flow__controls-button{color:#35516a;background:#fffffff2;border-bottom:1px solid #e5edf5;width:32px;height:32px}.spot-flow-shell .react-flow__controls-button:last-child{border-bottom:0}.spot-flow-shell .react-flow__attribution{background:#ffffffe0;border-top-left-radius:10px}.spot-flow-node{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border:1px solid #d6e1eb;border-radius:20px;min-width:184px;max-width:240px;padding:.92rem 1rem .95rem;box-shadow:0 16px 36px #1626371a}.spot-flow-node.selected{border-color:#3f7eb7;box-shadow:0 0 0 1px #3f7eb71f,0 20px 42px #14314d29}.spot-flow-node.chart-selected:not(.selected){border-color:#79a7d3;box-shadow:0 0 0 1px #3f7eb714,0 14px 30px #14314d1f}.spot-flow-node.has-errors{border-color:#d57d71;box-shadow:0 0 0 1px #bd56451f,0 16px 30px #5b1f151f}.spot-flow-node.goal{background:linear-gradient(#f2f9ff 0%,#fff 100%);border-color:#bdd3ea}.spot-flow-node.source{background:linear-gradient(#f9fbfe 0%,#fff 100%)}.spot-flow-node.measure{background:linear-gradient(#f4f9fe 0%,#fff 100%);border-color:#bfd5eb}.spot-flow-node.state{background:linear-gradient(#eef8f6 0%,#fff 100%);border-color:#9ccfc5}.spot-flow-node.output{background:linear-gradient(#eff7ff 0%,#fff 100%);border-color:#aecceb}.spot-flow-node.parameter{background:linear-gradient(#fffaf1 0%,#fff 100%);border-color:#e5d0a0}.spot-flow-node.derivation{background:linear-gradient(#f4f7fb 0%,#fff 100%);border-color:#bfd0e2}.spot-flow-node-header{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.55rem;display:flex}.spot-flow-node-eyebrow,.spot-flow-node-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:1.55rem;padding:.18rem .58rem;font-size:.7rem;font-weight:700;display:inline-flex}.spot-flow-node-eyebrow{color:#456175;background:#edf3f8}.spot-flow-node-eyebrow.goal,.spot-flow-node-eyebrow.output,.spot-flow-node-eyebrow.state{color:#225b8a;background:#e4f0fb}.spot-flow-node-eyebrow.parameter{color:#7a5a1d;background:#f5ead0}.spot-flow-node-badge{color:#557087;background:#eef5fb}.spot-flow-node-title{color:#13283a;margin-bottom:.34rem;font-size:1rem;line-height:1.2;display:block}.spot-flow-node-subtitle{color:#506272;margin:0;font-size:.88rem;line-height:1.35}.spot-flow-node-meta{flex-wrap:wrap;gap:.42rem;margin-top:.68rem;display:flex}.spot-flow-node-meta span{color:#5f7385;background:#f2f6f9;border-radius:999px;align-items:center;padding:.16rem .48rem;font-size:.72rem;display:inline-flex}.spot-flow-handle{background:#5d7f9d;border:2px solid #fff;width:11px;height:11px;box-shadow:0 2px 8px #14314d38}.spot-flow-handle.subtle{background:#aac0d5}.spot-flow-node.selected .spot-flow-handle{background:#1d5f96}.spot-flow-node.has-errors .spot-flow-handle{background:#c56c5e}.spot-flow-node .react-flow__handle-top[id*=target-top-a]{left:calc(50% - 24px)}.spot-flow-node .react-flow__handle-top[id*=target-top-b]{left:50%}.spot-flow-node .react-flow__handle-top[id*=target-top-c]{left:calc(50% + 24px)}.spot-flow-node .react-flow__handle-left[id*=target-left-top]{top:36%}.spot-flow-edge-label{color:#587084;pointer-events:none;white-space:nowrap;background:#fffffff0;border:1px solid #c7d5e3eb;border-radius:999px;padding:.18rem .48rem;font-size:.71rem;font-weight:700;position:absolute;box-shadow:0 10px 20px #14223014}@media (width<=1100px){.spot-flow-shell{height:700px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17222d;background:#f3f6f9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}body{background:linear-gradient(#f8fbfd 0%,#edf3f7 100%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #9cb0c3;border-radius:8px;padding:.55rem .8rem}button:hover{background:#f4f8fb}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea{background:#fff;border:1px solid #b9c6d3;border-radius:8px;width:100%;padding:.6rem .7rem}label{flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #dde5ec;padding:.55rem}.app-shell{flex-direction:column;min-height:100vh;padding:1.25rem;display:flex}.shell-main{flex-direction:column;flex:1 0 auto;display:flex}.app-footer{color:#95a3b2;text-align:center;margin-top:1.5rem;font-size:.75rem}.shell-layout{flex:1 0 auto;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.left-nav{flex-direction:column;gap:1rem;max-height:calc(100vh - 2rem);display:flex;position:sticky;top:1rem}.left-nav-list{background:#fff;border:1px solid #d9e4ec;border-radius:14px;flex-direction:column;gap:.55rem;padding:1rem;display:flex}.left-nav-list-bottom{margin-top:auto}.dataset-browse-sidebar-panel{flex-direction:column;gap:.75rem;display:flex;overflow:hidden}.dataset-browse-sidebar-header{align-items:flex-start;margin-bottom:0}.dataset-browse-sidebar-hint{margin-bottom:0}.dataset-browse-sidebar .discover-tree-search input{font-size:.92rem}.dataset-browse-sidebar .discover-tree{min-height:0;padding-right:.2rem;overflow:auto}.nav-item{text-align:left;background:#fbfdff;border-radius:12px;flex-direction:column;gap:.2rem;padding:.8rem;display:flex}.nav-item span{color:#617180;font-size:.9rem}.nav-item.active{background:#eef6ff;border-color:#76a4d0}.app-modal-backdrop{z-index:40;background:#19232d6b;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.app-modal{background:#fff;border:1px solid #d9e4ec;border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:min(80vh,720px);display:flex;overflow:hidden;box-shadow:0 20px 48px #1324342e}.app-modal-header{border-bottom:1px solid #e8eef3;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem .8rem;display:flex}.app-modal-header h2{margin:0}.app-modal-close{width:fit-content;padding:.4rem .7rem;font-size:.88rem}.app-modal-body{flex-direction:column;flex:auto;gap:1.2rem;padding:1rem 1.15rem 1.2rem;display:flex;overflow-y:auto}.app-modal-body p{color:#33414d;margin:0;line-height:1.6}.about-mentis-section{flex-direction:column;gap:.9rem;display:flex}.about-mentis-section-divider{border-top:1px solid #eef3f7;padding-top:.35rem}.about-mentis-section h3,.about-mentis-concept h4{color:#1f2d38;margin:0}.about-mentis-section h3{font-size:1rem;font-weight:700}.about-mentis-concept{flex-direction:column;gap:.65rem;display:flex}.about-mentis-concept h4{font-size:.95rem;font-weight:700}.about-mentis-concept ul{color:#33414d;flex-direction:column;gap:.35rem;margin:0;padding-left:1.15rem;display:flex}.about-mentis-concept li{line-height:1.55}.about-mentis-prefix{color:#22323f;font-weight:600}.workpane{flex-direction:column;gap:1rem;display:flex}.auth-layout{justify-content:center;display:flex}.auth-layout .panel{width:min(520px,100%)}.app-header{background:#def4f1;border:1px solid #b9ddd9;border-radius:14px;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:1.2rem 1.25rem;display:flex}.header-left{align-items:flex-start;gap:.95rem;min-width:0;display:flex}.brand-block{flex-direction:column;flex:none;align-items:center;gap:.28rem;display:flex}.brand-logo{object-fit:contain;width:96px;height:96px;display:block}.brand-tagline{color:#6a7785;text-align:center;max-width:96px;font-size:.72rem;font-style:italic;line-height:1.2}.header-copy{min-width:0;max-width:760px}.app-header h1,.panel h2,.panel h3{margin:0}.app-header p{color:#536474;margin:.45rem 0 0}.header-release-banner{color:#1b5c54;background:#e8f5f2;border:1px solid #c8e2dc;border-radius:999px;margin-top:.7rem;padding:.32rem .65rem;font-size:.83rem;font-weight:600;display:inline-flex}.header-meta{color:#536474;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.9rem;display:flex}.user-indicator{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.header-login-form{background:#fbfdff;border:1px solid #d9e4ec;border-radius:12px;width:min(520px,100%);padding:.9rem}.header-auth-mode-row{gap:.5rem;margin-bottom:.75rem;display:flex}.header-login-grid{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr);gap:.75rem;display:grid}.header-login-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.layout-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:1rem;display:grid}.left-column,.right-column{flex-direction:column;gap:1rem;display:flex}.panel{background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:1rem}.hero-panel{background:linear-gradient(135deg,#fff 0%,#f4f8fb 55%,#e8f1f8 100%);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;display:flex}.hero-copy{max-width:720px}.hero-kicker{letter-spacing:.08em;text-transform:uppercase;color:#4b657d;margin-bottom:.45rem;font-size:.82rem;display:inline-block}.hero-copy h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05}.hero-copy p,.lead-copy{color:#536474;font-size:1rem}.hero-actions{flex-direction:column;gap:.6rem;min-width:220px;display:flex}.discover-stack{flex-direction:column;gap:1rem;display:flex}.discover-hero{background:linear-gradient(135deg,#fff 0%,#f7fafc 55%,#edf4f8 100%)}.discover-section-tabs-panel{padding:.7rem .9rem}.discover-section-tabs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.discover-section-tab{color:#213544;background:#fbfdff;border:1px solid #d6e1ea;border-radius:999px;padding:.42rem .8rem;font-size:.92rem;line-height:1.1}.discover-section-tab.active{color:#102331;background:#eef6ff;border-color:#76a4d0}.discover-section-tabs-note{margin-left:auto;font-size:.9rem}.discover-search-box{background:#ffffffdb;border:1px solid #d8e2ea;border-radius:14px;flex-direction:column;gap:.8rem;padding:1rem;display:flex}.discover-search-input input{min-height:3.3rem;font-size:1.05rem}.discover-secondary-actions,.discover-chip-row,.discover-field-hints{flex-wrap:wrap;gap:.55rem;display:flex}.discover-field-hints-compact{margin-top:.45rem}.discover-featured-grid,.discover-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.discover-step-card{background:#fbfdff;border:1px solid #d8e2ea;border-radius:12px;flex-direction:column;gap:.55rem;padding:1rem;display:flex}.discover-step-card p{color:#536474;margin:0}.discover-step-number{letter-spacing:.08em;color:#57738a;font-size:.82rem;font-weight:700}.discover-filter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.discover-tree-search{grid-column:span 2}.discover-tree{flex-direction:column;gap:.55rem;display:flex}.discover-workspace-panel{background:linear-gradient(#fbfdff 0%,#f6fafc 100%)}.discover-workspace-stack,.spot-builder-page{flex-direction:column;gap:1rem;display:flex}.spot-builder-hero{background:radial-gradient(circle at 100% 0,#8fbdb738,#0000 34%),linear-gradient(135deg,#fefefe 0%,#f6faf7 46%,#edf5f2 100%);justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.2rem;display:flex}.spot-builder-hero-copy{flex-direction:column;gap:.65rem;max-width:860px;display:flex}.spot-builder-hero-copy h2{font-size:clamp(2rem,4vw,2.8rem);line-height:1.04}.spot-builder-breadcrumb{color:#57738a;align-items:center;gap:.45rem;font-size:.88rem;display:inline-flex}.spot-breadcrumb-button{color:#2f698f;background:0 0;border:0;padding:0;font-weight:700}.spot-builder-hero-copy p{color:#4e5f6f;max-width:720px;margin:0}.spot-builder-meta-row{color:#546474;flex-wrap:wrap;gap:.6rem;font-size:.9rem;display:flex}.spot-builder-status-badge{color:#245448;background:#ebf6f1;border:1px solid #bcd3ca;border-radius:999px;align-items:center;padding:.28rem .72rem;font-weight:700;display:inline-flex}.spot-builder-hero-actions{flex-direction:column;gap:.6rem;min-width:220px;display:flex}.spot-builder-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.spot-library-card{background:linear-gradient(#fff 0%,#f8fbfe 100%);flex-direction:column;justify-content:space-between;gap:1rem;min-height:260px;display:flex}.spot-library-card-copy{flex-direction:column;gap:.65rem;display:flex}.spot-library-card-copy p{color:#4e5f6f;margin:0}.spot-library-card-actions{flex-wrap:wrap;gap:.75rem;display:flex}.spot-builder-layout{display:block}.spot-builder-main{flex-direction:column;gap:1rem;display:flex}.spot-builder-graph-panel,.spot-output-workspace,.spot-detail-panel{background:linear-gradient(#fff 0%,#fbfdff 100%)}.spot-builder-section-header,.spot-output-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.spot-builder-section-header p,.spot-output-header p{color:#556676;max-width:420px;margin:0}.spot-builder-authoring-toolbar{background:#f8fbff;border:1px solid #dce7f0;border-radius:999px;justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:1rem;padding:.55rem .65rem;display:flex}.spot-builder-authoring-group{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.spot-builder-authoring-group button{border-radius:999px;min-height:2rem;padding:.34rem .72rem;font-size:.82rem;line-height:1}.spot-builder-delete-button{border-radius:999px;min-height:2rem;margin-left:auto;padding:.34rem .72rem;font-size:.82rem;line-height:1}.spot-builder-authoring-label{letter-spacing:.04em;text-transform:uppercase;color:#587185;font-size:.8rem;font-weight:700}.spot-builder-blank-hint{color:#51697d;background:#f8fbff;border:1px solid #dbe6f0;border-radius:14px;flex-direction:column;gap:.35rem;margin-top:.9rem;padding:.85rem 1rem;display:flex}.spot-builder-blank-hint strong{color:#1b3346}.spot-validation-summary-list{margin:.6rem 0 0;padding-left:1.2rem}.spot-validation-summary-list li{margin:.18rem 0}.spot-graph-stage{background:linear-gradient(#0000 39px,#cddbe761 40px) 0 0/40px 40px,linear-gradient(90deg,#0000 39px,#cddbe761 40px) 0 0/40px 40px,linear-gradient(#fcfefe 0%,#f4f8fb 100%) 0 0/100% 100%;border:1px solid #dde7ef;border-radius:16px;min-height:760px;position:relative;overflow:auto}.spot-graph-svg{width:1440px;height:760px;display:block}.spot-graph-nodes{width:1440px;height:760px;position:absolute;inset:0}.spot-graph-edge{fill:none;stroke:#9badbf;stroke-width:2.3px}.spot-graph-edge.derives{stroke:#246f6f}.spot-graph-edge.controls{stroke:#7f5c2d;stroke-dasharray:8 6}.spot-graph-edge.composes,.spot-graph-edge.maps-to{stroke:#5c6ca5}.spot-graph-edge-label{fill:#5d7084;text-anchor:middle;font-size:12px}.spot-node-card{text-align:left;background:#fffffff5;border:1px solid #cad7e3;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem .9rem;display:flex;position:absolute;box-shadow:0 12px 24px #17222d14}.spot-node-card strong{font-size:1rem}.spot-node-card span{color:#5c6d7d;font-size:.88rem}.spot-node-card.active{border-color:#5f98bf;transform:translateY(-2px);box-shadow:0 18px 28px #1c3f5c26}.spot-node-type{color:#334655;letter-spacing:.06em;text-transform:uppercase;background:#e3ebf2cc;border-radius:999px;padding:.16rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.spot-node-card.goal{background:linear-gradient(135deg,#f3fbf8 0%,#fff 100%);border-color:#a4d1c1}.spot-node-card.source{background:linear-gradient(135deg,#fbfbfc 0%,#fff 100%);border-color:#ced6dd}.spot-node-card.measure{background:linear-gradient(135deg,#f7fbff 0%,#fff 100%);border-color:#b9d2ea}.spot-node-card.parameter{background:linear-gradient(135deg,#fffaf0 0%,#fff 100%);border-color:#e4d09d}.spot-node-card.derivation{background:linear-gradient(135deg,#f5f3ff 0%,#fff 100%);border-color:#cbbde8}.spot-node-card.output{background:linear-gradient(135deg,#effbf4 0%,#fff 100%);border-color:#abd9b7}.spot-detail-panel{flex-direction:column;gap:1rem;display:flex;position:sticky;top:1rem}.spot-detail-header{flex-direction:column;gap:.35rem;display:flex}.spot-detail-header p,.spot-detail-section p{color:#536373;margin:0}.spot-detail-badge{text-transform:uppercase;letter-spacing:.05em;background:#edf3f7;border-radius:999px;width:fit-content;padding:.18rem .48rem;font-size:.74rem;font-weight:700}.spot-detail-badge.goal{background:#e5f6ef}.spot-detail-badge.source{background:#eff1f4}.spot-detail-badge.parameter{background:#fff3d8}.spot-detail-badge.derivation{background:#efe8fb}.spot-detail-badge.measure,.spot-detail-badge.output{background:#e8f6ec}.spot-detail-section{border-top:1px solid #e4ecf2;flex-direction:column;gap:.75rem;padding-top:.9rem;display:flex}.spot-detail-section:first-of-type{border-top:0;padding-top:0}.spot-node-editor-modal{width:min(760px,100%)}.spot-node-editor-modal .app-modal-header>div{flex-direction:column;gap:.35rem;display:flex}.spot-node-editor-actions{justify-content:flex-end;padding-top:.35rem;display:flex}.spot-ingest-evidence{color:#536b7d;background:#f8fbff;border:1px solid #dce7f0;border-radius:12px;flex-direction:column;gap:.35rem;padding:.75rem .85rem;font-size:.88rem;display:flex}.spot-detail-grid-list{grid-template-columns:1fr;gap:.65rem;display:grid}.spot-detail-grid-list div{background:#fbfdff;border:1px solid #dde7ef;border-radius:12px;flex-direction:column;gap:.18rem;padding:.7rem .8rem;display:flex}.spot-detail-grid-list span{color:#6a7a89;font-size:.82rem}.spot-output-checkbox-block{flex-direction:column;gap:.45rem;display:flex}.spot-output-checkbox-list{background:#f8fbff;border:1px solid #dce7f0;border-radius:12px;flex-direction:column;gap:.18rem;max-height:190px;padding:.35rem;display:flex;overflow:auto}.spot-output-checkbox-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:1.55rem;margin:0;padding:.1rem .2rem;font-size:.86rem;display:grid}.spot-output-checkbox-row input{width:.95rem;height:.95rem;margin:0}.spot-output-checkbox-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-output-checkbox-row small{color:#6c7d8d;font-size:.75rem}.spot-detail-code{color:#243544;background:#f7f9fc;border:1px solid #dde5f0;border-radius:12px;padding:.8rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.86rem}.spot-detail-chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.spot-detail-chip{color:#2d485d;background:#edf4f9;border-radius:999px;padding:.28rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.spot-detail-validation{color:#8b3b31;background:#fff6f5;border:1px solid #f0c5c0;border-radius:12px;margin-top:.4rem;padding:.75rem .9rem}.spot-detail-validation strong{margin-bottom:.35rem;display:block}.spot-detail-validation ul{margin:0;padding-left:1.1rem}.spot-output-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.85rem;display:grid}.spot-output-card{background:#fbfdff;border:1px solid #dbe6ee;border-radius:14px;flex-direction:column;gap:.35rem;padding:.8rem .85rem;display:flex}.spot-output-card.active{background:#f0fbff;border-color:#6ca1b4}.spot-output-card-kicker{color:#668096;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.spot-output-card strong{font-size:1.4rem;line-height:1.05}.spot-output-card p{color:#566879;margin:0}.spot-output-card-meta{color:#6a7d8f;flex-direction:column;gap:.2rem;font-size:.83rem;display:flex}.spot-output-grid-card{background:#fbfdff;border:1px solid #dbe6ee;border-radius:14px;padding:.7rem .8rem .8rem}.spot-output-grid-card-full{width:100%;margin-top:.85rem}.spot-debug-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem .8rem;margin:.7rem 0 0;font-size:.78rem;display:grid}.spot-debug-grid div{min-width:0}.spot-debug-grid dt{color:#63798b;font-weight:700}.spot-debug-grid dd{color:#233d52;overflow-wrap:anywhere;margin:.12rem 0 0}.spot-output-section-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem;display:flex}.spot-preview-chart-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.spot-chart-type-toggle{gap:.38rem;display:inline-flex}.spot-output-table-wrap{overflow:auto}.spot-output-table-wrap-compact{max-width:100%}.spot-output-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:780px;font-size:.82rem;line-height:1.2}.spot-output-table th,.spot-output-table td{white-space:nowrap;border-bottom:1px solid #e7eef5;padding:.32rem .45rem}.spot-output-table th{z-index:1;color:#4e697e;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#f7fbff;font-size:.74rem;font-weight:700;position:sticky;top:0}.spot-output-table td{color:#274054}.spot-output-table tbody tr:hover{background:#f8fbfe}.spot-output-grid-heading{align-items:baseline;gap:.55rem;display:flex}.spot-output-grid-toolbar{align-items:center;gap:.6rem;display:flex}.spot-output-entity-filter{color:#597285;align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}.spot-output-entity-filter select{color:#284155;background:#fff;border:1px solid #d6e2ec;border-radius:10px;min-width:180px;padding:.24rem 1.9rem .24rem .55rem;font-size:.82rem}.spot-source-drawer{width:min(960px,100%)}.spot-source-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.spot-source-option{background:#fbfdff;border:1px solid #d9e5ee;border-radius:14px;flex-direction:column;gap:.65rem;padding:1rem;display:flex}.spot-source-option.active{background:#f0fbff;border-color:#6ca1b4}.spot-source-option p{flex:auto}.spot-source-option-type{color:#617688;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.spot-source-option-footer{color:#65788a;justify-content:space-between;align-items:center;gap:.8rem;font-size:.86rem;display:flex}.discover-workspace-version{align-items:center;display:inline-flex}.discover-workspace-version select{min-width:180px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell{max-width:520px;margin:0 auto}.panel-detail{min-height:480px}.consumer-hero-card{background:linear-gradient(#fbfdff 0%,#f6fbff 100%)}.detail-card-stack{flex-direction:column;gap:1rem;display:flex}.detail-card{background:#fbfdff;border:1px solid #d8e2ea;border-radius:12px;padding:1rem}.panel-header{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.chip-row,.actions,.meta-row,.hint-row{flex-wrap:wrap;gap:.5rem;display:flex}.hint-row{color:#536474;justify-content:space-between;font-size:.9rem}.chip{border-radius:999px;padding:.35rem .65rem}.chip.active{background:#d6eaff;border-color:#76a4d0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.full-width{grid-column:1/-1}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:1rem;display:grid}.title-block{flex-direction:column;gap:.45rem;display:flex}.version-picker{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.version-picker label{max-width:280px}.workspace-status-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.workspace-status-row .actions{margin-left:auto}.title-block p{margin:0}.access-strip{flex-direction:column;gap:1rem;display:flex}.consumer-access-inline{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;padding:.2rem 0 .1rem;display:flex}.access-inline-item{color:#536372;white-space:nowrap;align-items:center;gap:.38rem;font-size:.88rem;display:inline-flex}.access-inline-item-primary{color:#243341}.access-inline-value{color:#243341;text-transform:lowercase}.access-inline-check{color:#2d6b41;justify-content:center;align-items:center;width:.95rem;font-weight:700;display:inline-flex}.access-inline-item.is-disabled .access-inline-check{color:#95a4b3}.consumer-access-badge{background:#f5f8fb;border:1px solid #c7d4e1;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.82rem;display:inline-flex}.access-full{color:#236331;background:#edf9ef;border-color:#b8debf}.access-export{color:#8a5b00;background:#fff7e9;border-color:#efd29b}.access-preview{color:#24568d;background:#eef5ff;border-color:#bdd2ee}.access-none,.access-guest{color:#8e2f24;background:#fff0ef;border-color:#efc2bc}.action-button-grid,.metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.dataset-action-inline{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.preview-stack{flex-direction:column;gap:1rem;display:flex}.preview-table-wrap{background:#fff;border:1px solid #d8e2ea;border-radius:12px;overflow:auto}.preview-table{min-width:720px}.preview-table thead th{z-index:1;background:#f6f9fc;position:sticky;top:0}.preview-table th,.preview-table td{vertical-align:top;min-width:140px}.preview-table tbody tr:nth-child(2n){background:#fafcff}.preview-table tbody tr:hover{background:#eef6ff}.preview-cell{text-overflow:ellipsis;white-space:nowrap;max-width:280px;display:block;overflow:hidden}.field-selector-list{flex-direction:column;gap:.4rem;max-height:320px;padding-right:.35rem;display:flex;overflow:auto}.field-selector-item{background:#fff;border:1px solid #dde6ee;border-radius:10px;grid-template-columns:22px minmax(180px,1.4fr) minmax(150px,180px) auto minmax(220px,1fr);align-items:center;gap:.65rem;padding:.45rem .7rem;display:grid}.field-selector-item.selected{background:#eef6ff;border-color:#76a4d0}.field-selector-checkbox{justify-self:start;width:auto;margin:0}.field-selector-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-selector-type{white-space:nowrap;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-selector-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-selector-unit{min-width:0}.field-selector-unit select{min-width:150px;margin:0}.derivation-form-grid{gap:.75rem;display:grid}.derivation-field{gap:.35rem;display:grid}.derivation-field span{font-size:.85rem;font-weight:600}.derivation-field-wide{grid-column:1/-1}.derivation-field textarea,.derivation-field input{margin:0}.derivation-attribute-list,.derivation-preview-table,.derivation-results{gap:.5rem;margin-top:.75rem;display:grid}.derivation-preview-list{flex-direction:column;gap:.3rem;display:flex}.derivation-preview-row{background:#fff;border:1px solid #dde6ee;border-radius:10px;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.45rem .65rem;display:grid}.derivation-preview-entity,.derivation-preview-coordinates{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.derivation-preview-entity{color:#243341;font-weight:600}.derivation-preview-coordinates{color:#617180;font-size:.84rem}.derivation-preview-value.is-null{color:#6f7e8c}.field-selector-action{justify-self:start}.button-compact{padding:.38rem .65rem}.publish-inline-checkbox{text-align:left;flex-direction:row;justify-content:flex-start;align-self:start;align-items:center;gap:.55rem;width:100%;margin:0;display:flex}.publish-inline-checkbox input[type=checkbox]{flex:none;width:auto;margin:0}.publish-review-header{flex-direction:column;gap:.3rem;display:flex}.compose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.compose-card{background:#fbfdff;border:1px solid #dde6ee;border-radius:12px;padding:.95rem}.compose-card-header{margin-bottom:.8rem}.compose-card-body{grid-template-columns:1fr;gap:.8rem;display:grid}.compose-preview-shell{background:#fbfdff;border:1px solid #dde6ee;border-radius:12px;flex-direction:column;gap:1rem;padding:.95rem;display:flex}.publish-mode-toggle{background:#f7fafc;border:1px solid #dde6ee;border-radius:999px;gap:.35rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.publish-mode-tab{color:#4d6171;background:0 0;border:0;border-radius:999px;padding:.45rem .85rem;font-weight:600}.publish-mode-tab.active{color:#102331;background:#fff;box-shadow:0 1px 2px #10233114}.spot-preview-shell{flex-direction:column;gap:.55rem;display:flex}.spot-explorer{background:#fbfdff;border:1px solid #dde6ee;border-radius:12px;padding:.45rem 0}.spot-explorer-note{color:#60707f;padding:0 .9rem .45rem;font-size:.82rem}.spot-indicator-row{flex-wrap:wrap;gap:.35rem;padding:0 .9rem .45rem;display:flex}.spot-tree-section,.spot-tree-node{display:block}.spot-tree-section>summary,.spot-tree-node>summary{list-style:none}.spot-tree-section>summary::-webkit-details-marker{display:none}.spot-tree-node>summary::-webkit-details-marker{display:none}.spot-tree-children{flex-direction:column;gap:0;padding-left:1rem;display:flex}.spot-compact-grid,.spot-tree-group{flex-direction:column;gap:0;display:flex}.spot-tree-row{cursor:pointer;color:#152533;text-align:left;border-top:1px solid #eef3f7;justify-content:flex-start;align-items:center;gap:.4rem;min-height:2rem;padding:.2rem .9rem;display:flex}.spot-tree-section:first-of-type>.spot-tree-row{border-top:0}.spot-tree-row:hover{background:#f3f8fc}.spot-tree-row:before{content:"▸";color:#6b7d8d;flex:0 0 .7rem;justify-content:center;align-items:center;width:.7rem;display:inline-flex}.spot-tree-section[open]>.spot-tree-row:before,.spot-tree-node[open]>.spot-tree-row:before{content:"▾"}.spot-tree-row-leaf{cursor:default}.spot-tree-row-leaf:before{content:"";width:.7rem}.spot-tree-row-compact{min-height:1.8rem}.spot-tree-row-section{background:#fbfdff;font-weight:600}.spot-tree-row-section:hover{background:#f5f9fc}.spot-tree-label{align-items:center;font-weight:500;display:inline-flex}.spot-tree-row-main{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;min-width:0;display:flex}.spot-tree-meta{color:#627382;white-space:nowrap;text-align:left;font-size:.82rem}.spot-tree-badges{flex-wrap:wrap;justify-content:flex-start;gap:.25rem;display:inline-flex}.spot-tree-empty{color:#6f7e8c;border-top:1px solid #eef3f7;padding:.28rem .9rem .28rem 1.95rem;font-size:.82rem}.spot-count-badges{flex-wrap:wrap;gap:.35rem;padding:.45rem .9rem .15rem 1.95rem;display:flex}.spot-count-badge{color:#3f4f5d;white-space:nowrap;background:#f8fbfd;border:1px solid #d7e1e8;border-radius:999px;align-items:center;padding:.1rem .46rem;font-size:.76rem;font-weight:600;display:inline-flex}.spot-status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:.08rem .42rem;font-size:.72rem;font-weight:600;display:inline-flex}.spot-status-badge-info{color:#1b5c54;background:#e8f5f2}.spot-status-badge-warning{color:#8b5a12;background:#fff4de}.spot-show-more{width:fit-content;margin:.4rem .9rem .2rem 1.9rem;padding:.35rem .65rem;font-size:.82rem}.spot-browser-shell{flex-direction:column;gap:.8rem;display:flex}.spot-browser-help{color:#617180;margin:.4rem 0 0;font-size:.82rem}.spot-browser-explorer{padding-top:.3rem}.spot-browser-filter-bar{padding:.15rem .9rem .45rem 1.95rem}.spot-browser-filter-bar input{width:min(320px,100%)}.spot-tree-row-selectable{background:0 0;border-bottom:0;border-left:0;border-right:0;width:100%}.spot-tree-row-selectable:hover{background:#eef5fb}.spot-tree-row-active{background:#e8f1fa}.spot-browser-pager{justify-content:space-between;align-items:center;gap:.8rem;padding:.45rem .9rem .2rem 1.95rem;display:flex}.spot-plot-modal{width:min(860px,100%)}.spot-plot-shell{flex-direction:column;gap:.9rem;display:flex}.spot-plot-title{color:#31414e;font-weight:600}.spot-plot-meta,.spot-plot-label-row{color:#617180;justify-content:space-between;gap:.8rem;font-size:.82rem;display:flex}.spot-plot-legend{color:#31414e;flex-wrap:wrap;gap:.55rem .9rem;font-size:.82rem;display:flex}.spot-plot-legend-item{align-items:center;gap:.4rem;display:inline-flex}.spot-plot-legend-swatch{border-radius:999px;width:.8rem;height:.8rem;display:inline-block;box-shadow:inset 0 0 0 1px #00000014}.spot-plot-frame{background:linear-gradient(#fcfeff 0%,#f5f9fc 100%);border:1px solid #dde6ee;border-radius:14px;padding:.8rem}.spot-plot-svg{width:100%;height:auto;display:block}.spot-plot-axis{stroke:#b8c7d4;stroke-width:1.4px}.spot-plot-grid{stroke:#b8c7d48c;stroke-width:1px}.spot-plot-line{fill:none;stroke:#2c6ea8;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.spot-plot-point{fill:#2c6ea8;opacity:.95}.spot-plot-tick{fill:#617180;font-size:11px}.spot-plot-axis-label{fill:#31414e;font-size:12px;font-weight:600}@media (width<=720px){.spot-tree-row{align-items:start;gap:.15rem;padding-top:.35rem;padding-bottom:.35rem}.spot-tree-row-main{flex-direction:column;align-items:flex-start;gap:.15rem}.spot-tree-meta,.spot-tree-badges{white-space:normal;justify-content:flex-start}.spot-browser-pager,.spot-plot-meta,.spot-plot-label-row{flex-direction:column;align-items:flex-start}}.publish-fields-review{background:#fbfdff;border:1px solid #dde6ee;border-radius:12px}.publish-fields-review-head,.publish-fields-review-row{grid-template-columns:minmax(0,1.35fr) minmax(100px,.75fr) minmax(130px,.8fr) minmax(160px,.9fr) minmax(220px,1.2fr) minmax(140px,.85fr);align-items:center;gap:.75rem;padding:.75rem .9rem;display:grid}.publish-fields-review-head{text-transform:uppercase;letter-spacing:.04em;color:#5d6b78;border-bottom:1px solid #dde6ee;font-size:.82rem}.publish-fields-review-body{max-height:22rem;overflow-y:auto}.publish-fields-loading{padding:.9rem}.publish-fields-review-row{border-bottom:1px solid #eef3f7}.publish-fields-review-row:last-child{border-bottom:0}.publish-time-field-choice{align-items:center;gap:.45rem;font-size:.92rem;display:inline-flex}.publish-time-field-choice input{width:auto;margin:0}.publish-time-format-cell{flex-direction:column;gap:.25rem;display:flex}.publish-time-format-cell .muted-text{font-size:.78rem;line-height:1.35}.button-secondary{color:#102331;background:#f5f8fb;border:1px solid #cbd8e4}.subsection{border-top:1px solid #e3ebf2;margin-top:1rem;padding-top:1rem}.list-stack{flex-direction:column;gap:.7rem;display:flex}.result-card,.item-card{text-align:left;background:#fbfdff;border:1px solid #d8e2ea;border-radius:12px;width:100%;padding:.8rem}.result-card.active{background:#eef6ff;border-color:#76a4d0;box-shadow:inset 0 0 0 1px #76a4d0}.result-card-compact{padding:.65rem .8rem}.result-row{grid-template-columns:minmax(0,1.8fr) minmax(0,1.2fr);align-items:center;gap:.8rem;display:grid}.result-mainline{align-items:baseline;gap:.6rem;min-width:0;display:flex}.result-summary-inline{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-meta-inline{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;font-size:.88rem;display:flex}.empty-state-card{background:#fbfdff;border:1px dashed #c8d5e1;border-radius:12px;flex-direction:column;gap:.4rem;padding:1rem;display:flex}.result-header{justify-content:space-between;gap:.6rem;margin-bottom:.35rem;display:flex}.key-value-list{flex-direction:column;gap:.45rem;display:flex}.key-value-list>div{border-bottom:1px solid #eef3f7;justify-content:space-between;gap:.7rem;padding-bottom:.35rem;display:flex}.key-value-list.compact>div{justify-content:flex-start}.key-value-list.compact strong{min-width:130px}.lineage-summary{flex-direction:column;gap:.9rem;display:flex}.lineage-summary-header{flex-direction:column;gap:.2rem;display:flex}.revision-lineage{flex-direction:column;gap:.75rem;display:flex}.revision-lineage-strip{scrollbar-width:thin;align-items:center;gap:0;padding-bottom:.35rem;display:flex;overflow:auto hidden}.revision-lineage-item-wrap{flex:none;align-items:center;display:inline-flex}.revision-node{text-align:left;background:#fbfdff;border-color:#cfdae5;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.16rem;min-width:132px;max-width:172px;padding:.55rem .7rem;display:flex}.revision-node.current{background:#eef6ff;border-color:#76a4d0;box-shadow:inset 0 0 0 1px #4f84b826}.revision-node-label{color:#20303c;font-weight:700}.revision-node-meta,.revision-node-note{color:#617180;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.76rem;overflow:hidden}.revision-lineage-connector{background:linear-gradient(90deg,#b5c6d8 0%,#d6e0e9 100%);border-radius:999px;width:28px;height:2px;margin:0 .35rem}.muted-text{color:#617180;font-size:.9rem}.section-kicker{letter-spacing:.08em;text-transform:uppercase;color:#4b657d;margin:0 0 .8rem;font-size:.82rem}.loading-card{color:#536474;background:#fbfdff;border:1px solid #dbe7f0;border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.loading-spinner{border:2px solid #c7d4e1;border-top-color:#4f84b8;border-radius:999px;width:1rem;height:1rem;animation:.9s linear infinite spin}.skeleton-card{pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#edf2f7 25%,#f8fbfd 50%,#edf2f7 75%) 0 0/200% 100%;border-radius:999px;height:.8rem;margin-bottom:.65rem;animation:1.3s infinite shimmer}.skeleton-line-title{width:45%;height:1rem}.skeleton-line-short{width:60%}.result-selection{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.log-block{max-height:360px;margin:.75rem 0 0;overflow:auto}.log-entry-list{flex-direction:column;gap:.45rem;max-height:360px;margin-top:.75rem;display:flex;overflow:auto}.log-entry{background:#fff;border:1px solid #dde6ee;border-radius:8px;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:.75rem;padding:.45rem .55rem;display:grid}.log-entry code{white-space:pre-wrap;word-break:break-word}.action-hint{color:#5d6b78;margin:.5rem 0 0;font-size:.9rem}.scope-pill,.status-pill{background:#f5f8fb;border:1px solid #c3d2df;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.8rem;display:inline-flex}.scope-full_download,.status-success,.status-succeeded{color:#236331;background:#edf9ef;border-color:#b8debf}.scope-export_only,.status-running{color:#8a5b00;background:#fff7e9;border-color:#efd29b}.scope-preview_only,.status-pending{color:#24568d;background:#eef5ff;border-color:#bdd2ee}.scope-no_access,.status-failed{color:#8e2f24;background:#fff0ef;border-color:#efc2bc}.status-admin,.status-selected{color:#f4f8fb;background:#101b25;border-color:#101b25}.subsection-block{margin-top:1rem}.table-stack{flex-direction:column;gap:.15rem;display:flex}.error-banner,.success-banner{border-radius:10px;margin-top:.75rem;padding:.7rem .8rem}.error-banner{color:#8e2f24;background:#fff0ef;border:1px solid #efc2bc}.success-banner{color:#236331;background:#edf9ef;border:1px solid #b8debf}.danger-button{color:#fff;background:#8e2f24;border-color:#8e2f24}.danger-button:hover{background:#78261d;border-color:#78261d}.json-block{color:#dbe7f1;background:#101b25;border-radius:12px;margin:0;padding:.9rem;font-size:.85rem;overflow:auto}.table-wrap{overflow-x:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1100px){.action-button-grid,.metadata-grid,.spot-builder-library-grid,.spot-builder-layout,.spot-output-lower-grid,.spot-output-card-grid,.spot-source-option-grid{grid-template-columns:1fr}.spot-builder-hero,.spot-builder-section-header,.spot-output-header{flex-direction:column}.spot-builder-hero-actions{width:100%;min-width:0}.consumer-access-inline,.dataset-action-inline{align-items:flex-start}.header-login-grid,.publish-fields-review-head,.publish-fields-review-row,.compose-grid,.result-row{grid-template-columns:1fr}.result-meta-inline{justify-content:flex-start}.discover-hero,.discover-featured-grid,.discover-steps-grid,.discover-filter-row{grid-template-columns:1fr}}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.admin-card{background:#fbfdff;border:1px solid #dde6ee;border-radius:12px;padding:.9rem}.admin-card-body{grid-template-columns:1fr;gap:.65rem;margin-top:.7rem;display:grid}@media (width<=1100px){.shell-layout,.layout-grid,.detail-grid,.action-button-grid,.metadata-grid,.admin-grid,.form-grid,.spot-builder-library-grid,.spot-builder-layout,.spot-output-lower-grid{grid-template-columns:1fr}.header-meta{align-items:flex-start}.app-header{flex-direction:column}.header-left{width:100%}.left-nav{position:static}.derivation-preview-row{grid-template-columns:1fr;gap:.3rem}}
