.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 60 24% 98%;--foreground: 240 11% 9%;--card: 60 24% 98%;--card-foreground: 240 11% 9%;--popover: 60 24% 98%;--popover-foreground: 240 11% 9%;--primary: 240 11% 9%;--primary-foreground: 60 24% 98%;--secondary: 48 19% 94%;--secondary-foreground: 240 11% 9%;--muted: 48 19% 94%;--muted-foreground: 240 4% 43%;--accent: 48 16% 91%;--accent-foreground: 240 11% 9%;--destructive: 354 73% 42%;--destructive-foreground: 60 24% 98%;--border: 240 6% 88%;--input: 240 6% 88%;--ring: 240 11% 9%;--radius: 0px;--ink: #15151a;--ink-2: #27272d;--ink-dim: #6a6a72;--ink-dimmer: #a2a2a8;--paper: #fafaf8;--paper-2: #f6f6f4;--paper-warm: #f1f1ef;--hairline: rgba(0, 0, 0, .12);--hairline-soft: rgba(0, 0, 0, .06);--accent-red: #b81d2c;--kicker-accent: var(--accent-red);--accent-soft: rgba(184, 29, 44, .08);--status-error: var(--accent-red);--status-warn: #9a7a1e;--status-warn-soft: rgba(154, 122, 30, .1);--accent-deep: #8a1322;--inverse-bg: #15151a;--inverse-fg: #fafaf8;--inverse-dim: rgba(255, 255, 255, .55);--inverse-hairline: rgba(255, 255, 255, .1);--pro-font: "Familjen Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--serif: "Newsreader", "Instrument Serif", Georgia, "Times New Roman", Times, serif;--mono: "VT323", "Share Tech Mono", "Courier New", monospace;--recto-ground: var(--paper);--recto-grid: transparent;--verso-ground: var(--paper);--verso-grid: rgba(21, 21, 40, .08);--wire: rgba(21, 21, 40, .28);--wire-live: var(--accent-red);--face-flip: .48s;--gg-fg: var(--ink);--gg-fg-dim: var(--ink-dim);--gg-fg-dimmer: var(--ink-dimmer);--gg-bg: var(--paper);--gg-bg-alt: var(--paper-2);--gg-border: var(--hairline);--gg-border-dim: var(--hairline-soft);--gg-accent: var(--accent-red);--gg-glow: transparent;--gg-font: var(--pro-font);--gg-font-size: 14px;--bs-red: var(--accent-red);--bs-red-dim: var(--accent-deep)}*{border-color:hsl(var(--border))}body{background:var(--gg-bg);color:var(--gg-fg);font-family:var(--gg-font);font-size:var(--gg-font-size);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-placeholder{color:var(--ink-dimmer, #a2a2a8);opacity:1;font-style:normal}::placeholder{color:var(--ink-dimmer, #a2a2a8);opacity:1;font-style:normal}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.kicker{font-family:var(--serif);font-style:italic;color:var(--ink-dim);letter-spacing:.01em}.gg-section-title{color:var(--gg-fg);font-size:.95em;letter-spacing:.25em;text-transform:uppercase;margin:1.75rem 0 .75rem}.gg-btn{border:1px solid var(--gg-border);padding:.55em 1.5em;color:var(--gg-fg);background:transparent;font-family:inherit;font-size:.95em;letter-spacing:.02em;border-radius:0;cursor:pointer;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}.gg-btn:hover:not(:disabled){background:var(--gg-fg);color:var(--gg-bg);border-color:var(--gg-fg)}.gg-btn:disabled{opacity:.4;cursor:not-allowed}.gg-btn.primary{background:var(--gg-fg);color:var(--gg-bg);border-color:var(--gg-fg)}.gg-btn.primary:hover:not(:disabled){background:transparent;color:var(--gg-fg);border-color:var(--gg-fg)}.gg-card{border:1px solid var(--gg-border);background:var(--gg-bg);padding:.9rem 1.1rem;transition:border-color .15s ease-out,background .15s ease-out}.gg-card:hover{border-color:var(--gg-fg);background:var(--gg-bg-alt)}.gg-input{width:100%;border:1px solid var(--gg-border);background:var(--gg-bg);color:var(--gg-fg);font-family:inherit;font-size:.95em;letter-spacing:.02em;padding:.55em .85em;outline:none;transition:border-color .15s ease-out}.gg-input::-moz-placeholder{color:var(--gg-fg-dim)}.gg-input::placeholder{color:var(--gg-fg-dim)}.gg-input:focus{border-color:var(--gg-fg)}.mgd-page{background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif}.mgd-page .ProseMirror{outline:none;min-height:50vh;line-height:1.6}.mgd-page .ProseMirror h1{font-size:1.6rem;margin:0 0 .75rem}.mgd-page .ProseMirror h2{font-size:1.3rem;margin:1.25rem 0 .5rem}.mgd-page .ProseMirror p{margin:0 0 .75rem}.mgd-page .ProseMirror ul{margin:0 0 .75rem 1.25rem}.mgd-page .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#999;float:left;height:0;pointer-events:none}.forge-pulse-i{display:block;width:4px;height:28px;background:#b81d2c;transform-origin:center;animation:forge-i-pulse 1.4s ease-in-out infinite;position:absolute;left:-12px;bottom:-4px;pointer-events:none}@keyframes forge-i-pulse{0%,to{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}.forge-node-running{position:relative}@keyframes wire-heartbeat{0%,to{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}.wire-heartbeat{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--wire-live);animation:wire-heartbeat 1.2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.wire-heartbeat{animation:none;opacity:1;transform:none}}.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.5rem}.program-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;aspect-ratio:1 / 1;padding:.85rem;border:1px solid var(--gg-border);background:var(--gg-bg);color:var(--gg-fg);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease-out,background .15s ease-out}.program-tile:hover{border-color:var(--gg-fg);background:var(--gg-bg-alt)}.pt-num{position:absolute;top:.55rem;right:.7rem;font-family:var(--mono);font-size:.85rem;color:var(--ink-dimmer);letter-spacing:.05em}.pt-icon{display:block;width:30px;height:30px;color:var(--ink)}.pt-icon svg{display:block}.pt-title{margin-top:auto;font-weight:600;font-size:.85rem;line-height:1.2}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-10{top:2.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.zoom-in{--tw-enter-scale: 0}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.paused{animation-play-state:paused}.viz-pro :is(button,a,[role=button],[tabindex="0"],.sc-cat,input,textarea,select):focus-visible{outline:2px solid var(--accent-red);outline-offset:2px}.itb-entrance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:var(--paper, #fafaf8);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background-image:radial-gradient(circle at 30% 20%,rgba(0,0,0,.012),transparent 60%),radial-gradient(circle at 70% 80%,rgba(0,0,0,.012),transparent 60%)}.itb-entrance-overlay.is-fading{animation:itb-overlay-fade .7s cubic-bezier(.6,0,.4,1) forwards}@keyframes itb-overlay-fade{0%{opacity:1}to{opacity:0;visibility:hidden}}.itb-entrance-stage{--bar-fs: clamp(80px, 13vw, 168px);--bar-half: calc(var(--bar-fs) * .09);--shift: 0px;position:fixed;top:50%;left:50%;animation:itb-lockup-settle .66s cubic-bezier(.22,1,.36,1) 1.08s both;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3vh,36px)}@keyframes itb-lockup-settle{0%{transform:translate(calc(-1 * var(--bar-half)),-50%)}to{transform:translate(calc((-1 * var(--bar-half)) - var(--shift)),-50%)}}.itb-entrance-logo{position:relative;font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:var(--bar-fs);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink, #15151a);display:inline-flex;align-items:center;height:1em}.itb-entrance-i{display:inline-block;width:.18em;height:.86em;background:var(--accent-red, #b81d2c);margin-right:.1em;transform-origin:center center;animation:itb-bar-sweep 1.1s cubic-bezier(.22,1,.36,1) both;will-change:transform}@keyframes itb-bar-sweep{0%{transform:scaleX(140)}to{transform:scaleX(1)}}.itb-entrance-tb{display:inline-block;opacity:0;transform:translate(28px);animation:itb-tb-dock .66s cubic-bezier(.16,1,.3,1) 1.08s both;white-space:nowrap}@keyframes itb-tb-dock{0%{opacity:0;transform:translate(28px)}30%{opacity:1}to{opacity:1;transform:translate(0)}}.itb-entrance-tagline{margin-left:var(--bar-half);display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:clamp(11px,1.15vh,13.5px);font-weight:600;letter-spacing:.38em;text-transform:uppercase;color:var(--ink-dim, #6a6a72);line-height:1.5}.itb-entrance-tagline>span{opacity:0;transform:translateY(8px);animation:itb-word-rise .62s cubic-bezier(.16,1,.3,1) both}.itb-entrance-tagline>:nth-child(1){animation-delay:1.82s}.itb-entrance-tagline>:nth-child(2){animation-delay:1.93s}.itb-entrance-tagline>:nth-child(3){animation-delay:2.04s}.itb-entrance-tagline .accent{color:var(--accent-red, #b81d2c)}@keyframes itb-word-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.itb-entrance-host{opacity:0;min-height:100vh}.itb-entrance-host.is-revealed{animation:itb-host-reveal 1.4s cubic-bezier(.16,1,.3,1) forwards}.itb-entrance-host.is-idle{opacity:1;animation:none}@keyframes itb-host-reveal{0%{opacity:0;clip-path:inset(0 0 100% 0)}60%{opacity:1}to{opacity:1;clip-path:inset(0 0 0 0)}}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*{animation:itb-stagger-up .62s cubic-bezier(.16,1,.3,1) both}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(1){animation-delay:0ms}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(2){animation-delay:80ms}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(3){animation-delay:.16s}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(4){animation-delay:.24s}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(5){animation-delay:.32s}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(6){animation-delay:.4s}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(7){animation-delay:.48s}.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*:nth-child(n+8){animation-delay:.56s}@keyframes itb-stagger-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline: view()){.viz-pro .itb-dashboard .row-list>.row-item,.viz-pro .itb-dashboard .program-grid>*{animation-name:itb-scroll-reveal;animation-duration:1ms;animation-timeline:view();animation-range:entry 0% cover 18%;animation-fill-mode:both}}@keyframes itb-scroll-reveal{0%{opacity:0;transform:translateY(22px);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,0),rgba(0,0,0,1) 80%);mask-image:linear-gradient(to top,#0000,#000 80%)}to{opacity:1;transform:translateY(0);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1),rgba(0,0,0,1));mask-image:linear-gradient(to top,#000,#000)}}@media (prefers-reduced-motion: reduce){.viz-pro .itb-entrance-host.is-revealed .itb-dashboard-inner>*,.viz-pro .itb-dashboard .row-list>.row-item,.viz-pro .itb-dashboard .program-grid>*{animation:none;opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.itb-entrance-overlay{animation:itb-overlay-fade .2s ease forwards}.itb-entrance-stage,.itb-entrance-i,.itb-entrance-tb,.itb-entrance-tagline,.itb-entrance-tagline>*{animation:none;opacity:1;transform:none}.itb-entrance-stage{transform:translate(calc((-1 * var(--bar-half)) - var(--shift)),-50%)}.itb-entrance-host.is-revealed{animation:none;opacity:1;clip-path:none}}@keyframes vt-sheet-out{0%{opacity:1;transform:perspective(1200px) rotateY(0)}to{opacity:0;transform:perspective(1200px) rotateY(-12deg)}}@keyframes vt-sheet-in{0%{opacity:0;transform:perspective(1200px) rotateY(12deg)}to{opacity:1;transform:perspective(1200px) rotateY(0)}}::view-transition-group(vt-sheet){animation-duration:var(--face-flip);animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(vt-sheet){animation:vt-sheet-out var(--face-flip) cubic-bezier(.4,0,.2,1) both;transform-origin:left center;mix-blend-mode:normal}::view-transition-new(vt-sheet){animation:vt-sheet-in var(--face-flip) cubic-bezier(.4,0,.2,1) both;transform-origin:left center;mix-blend-mode:normal}@media (prefers-reduced-motion: reduce){@keyframes vt-sheet-out{0%{opacity:1}to{opacity:0}}@keyframes vt-sheet-in{0%{opacity:0}to{opacity:1}}::view-transition-group(vt-sheet),::view-transition-old(vt-sheet),::view-transition-new(vt-sheet){animation-duration:.12s;animation-timing-function:linear}}.viz-pro{--accent: var(--accent-red)}.viz-pro .mode-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);overflow:auto;z-index:60}.viz-pro .mode-cell{background:var(--paper);transition:background .15s}.viz-pro .mode-cell:hover{background:var(--paper-2)}@keyframes forge-pulse{0%,to{opacity:1}50%{opacity:.45}}.forge-pulse{animation:forge-pulse 1.4s ease-in-out infinite}@keyframes forge-spin{to{transform:rotate(360deg)}}.forge-spin{animation:forge-spin .8s linear infinite}.viz-pro .kicker{font-family:var(--pro-font);font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--kicker-accent);display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-style:normal}.viz-pro .kicker:before{content:"";width:18px;height:1px;background:var(--kicker-accent);display:inline-block}.viz-pro .kicker.muted{color:var(--ink-dim)}.viz-pro .kicker.muted:before{background:var(--ink-dim)}.viz-pro .ser{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink-2);letter-spacing:-.005em}.viz-pro .num{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink);line-height:1;letter-spacing:-.01em}.viz-pro .itb-h2{margin:0;font-family:var(--pro-font);font-weight:500;color:var(--ink);font-size:24px;line-height:1.1;letter-spacing:-.022em}.viz-pro .lede{font-size:15px;line-height:1.6;color:var(--ink-dim);max-width:58ch}.viz-pro .itb-btn{font-family:var(--pro-font);font-size:.95em;font-weight:500;letter-spacing:.02em;display:inline-flex;align-items:center;gap:10px;padding:.55em 1.5em;border-radius:0;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--paper);transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}.viz-pro .itb-btn:hover:not(:disabled){background:transparent;color:var(--ink);border-color:var(--ink)}.viz-pro .itb-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.viz-pro .itb-btn.ghost:hover:not(:disabled){background:var(--ink);color:var(--paper)}.viz-pro .itb-btn.sm{padding:.35em 1em;font-size:.875em}.viz-pro .itb-btn .arrow{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;font-size:1.2em}.logo-mark{font-family:var(--pro-font);font-weight:600;font-size:22px;letter-spacing:-.025em;line-height:1;color:var(--ink);display:inline-flex;align-items:baseline;gap:0;text-decoration:none}.logo-mark .i{color:var(--accent-red)}.logo-mark.sm{font-size:18px}.logo-mark.md{font-size:22px}.logo-mark.lg{font-size:42px;letter-spacing:-.04em}.viz-pro .itb-pill{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hairline);padding:3px 7px;background:var(--paper-2)}.viz-pro .itb-pill.accent{background:var(--paper);border-color:var(--accent);color:var(--accent)}.viz-pro.itb-dashboard,.viz-pro .itb-dashboard{flex:1;overflow:auto;padding:clamp(28px,3.6vw,52px) clamp(28px,5vw,72px);background:var(--paper);color:var(--ink);min-height:100vh}.viz-pro .itb-dashboard-inner{max-width:960px;margin:0 auto}.viz-pro .top-bar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:16px;min-height:36px;margin-bottom:48px}.viz-pro .title-strap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:8px}.viz-pro .title-strap>:first-child{min-width:0;flex:1 1 auto}.viz-pro .title-strap .name{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(28px,3.2vw,40px);color:var(--ink);line-height:1.05;letter-spacing:-.018em;margin-top:14px}.viz-pro .title-strap .meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dimmer);font-weight:500;text-align:right;line-height:1.7;padding-bottom:4px;flex-shrink:0;white-space:nowrap}.viz-pro .sub-rule{display:flex;align-items:center;gap:12px;margin:22px 0 4px}.viz-pro .sub-rule .lbl{font-family:var(--pro-font);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim)}.viz-pro .sub-rule .rule{flex:1;height:1px;background:var(--hairline-soft)}.viz-pro .row-list{display:flex;flex-direction:column}.viz-pro .row-item{display:grid;grid-template-columns:54px 1fr auto;gap:16px;padding:18px 4px;border-bottom:1px solid var(--hairline-soft);align-items:baseline;cursor:pointer;transition:background .15s;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left;width:100%;font:inherit;color:var(--ink)}.viz-pro .row-item:hover{background:var(--paper-2)}.viz-pro .row-item:hover .row-num{color:var(--accent)}.viz-pro .row-item:hover .row-arrow{transform:translate(3px);color:var(--ink)}.viz-pro .row-num{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-dimmer);line-height:1}.viz-pro .row-body{min-width:0}.viz-pro .row-name{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.viz-pro .row-tag{font-family:var(--pro-font);font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dimmer);margin-right:10px}.viz-pro .row-blurb{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--ink-dim);margin-top:3px}.viz-pro .row-arrow{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dimmer);transition:transform .15s,color .15s}.viz-pro .row-add{display:flex;align-items:center;gap:12px;padding:16px 4px;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--pro-font);font-size:13px;color:var(--ink);font-weight:500}.viz-pro .row-add .plus{color:var(--accent);font-size:16px;line-height:1}.viz-pro .row-add:hover{color:var(--accent)}.viz-pro .program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);box-shadow:0 0 0 1px var(--hairline);margin-top:6px}@media (max-width: 680px){.viz-pro .program-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.viz-pro .program-grid{grid-template-columns:1fr}}.viz-pro .program-tile{position:relative;background:var(--paper);padding:32px 32px 28px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:background .15s;border:none;text-align:left;font:inherit;color:var(--ink);min-height:280px}.viz-pro .program-tile:hover{background:var(--paper-2)}.viz-pro .program-tile:hover .pt-num{color:var(--accent)}.viz-pro .program-tile:hover .pt-arrow{transform:translate(3px);color:var(--ink)}.viz-pro .program-tile .pt-num{position:absolute;top:26px;right:28px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;color:var(--ink-dimmer);line-height:1;letter-spacing:-.01em;transition:color .15s}.viz-pro .program-tile .pt-name{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--ink);padding-right:32px;line-height:1.3}.viz-pro .program-tile .pt-ask{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-2);font-weight:400;line-height:1.4}.viz-pro .program-tile .pt-blurb{font-size:13.5px;line-height:1.55;color:var(--ink-dim);margin-top:auto;padding-top:32px;padding-right:36px}.viz-pro .program-tile .pt-arrow{position:absolute;bottom:28px;right:28px;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dimmer);line-height:1;transition:transform .15s,color .15s}.viz-pro .program-tile-filler{background:var(--paper)}.viz-pro .has-icons .program-tile{padding-top:36px;gap:6px}.viz-pro .pt-icon{display:inline-block;width:30px;height:30px;color:var(--ink-2);margin-bottom:28px;line-height:0;transition:color .15s,transform .15s}.viz-pro .pt-icon svg{width:100%;height:100%;display:block}.viz-pro .program-tile:hover .pt-icon{color:var(--accent);transform:translateY(-1px)}.viz-pro .has-icons .program-tile .pt-name{margin-top:0}@keyframes itb-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.viz-pro .itb-enter>*{opacity:0;animation:itb-rise .5s cubic-bezier(.2,.7,.2,1) forwards}.viz-pro .itb-enter>*:nth-child(1){animation-delay:.02s}.viz-pro .itb-enter>*:nth-child(2){animation-delay:.1s}.viz-pro .itb-enter>*:nth-child(3){animation-delay:.18s}.viz-pro .itb-enter>*:nth-child(4){animation-delay:.26s}.viz-pro .itb-enter>*:nth-child(5){animation-delay:.34s}.viz-pro .dataroom-anchor{display:flex;justify-content:center;margin-bottom:24px}.viz-pro.signin-page{min-height:100vh;background:var(--paper);color:var(--ink);display:flex;align-items:stretch;justify-content:center;padding:0}.viz-pro .signin-frame{width:100%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:220px 1fr;grid-template-rows:1fr auto;grid-template-areas:"rail body" "foot foot";border-left:1px solid var(--hairline);border-right:1px solid var(--hairline)}@media (max-width: 720px){.viz-pro .signin-frame{grid-template-columns:1fr;grid-template-areas:"body" "foot";border-left:none;border-right:none}}.viz-pro .signin-rail{grid-area:rail;border-right:1px solid var(--hairline);padding:32px 28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.viz-pro .signin-rail .kicker.dim{color:var(--ink-dimmer)}@media (max-width: 720px){.viz-pro .signin-rail{display:none}}.viz-pro .signin-body{grid-area:body;padding:56px clamp(28px,6vw,88px) 80px;display:flex;flex-direction:column;gap:48px;max-width:620px}.viz-pro .signin-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.viz-pro .signin-lockup .logo-mark{margin-bottom:4px}.viz-pro .signin-h1{font-family:var(--pro-font);font-weight:500;font-size:clamp(28px,4.2vw,44px);letter-spacing:-.02em;color:var(--ink);line-height:1.05;margin:12px 0 0}.viz-pro .signin-lede{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink-dim);max-width:44ch}.viz-pro .signin-form{display:flex;flex-direction:column;gap:22px;max-width:420px}.viz-pro .signin-field{display:flex;flex-direction:column;gap:8px}.viz-pro .signin-label{font-family:var(--pro-font);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--ink-dim)}.viz-pro .signin-field input{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:none;border-bottom:1px solid var(--hairline);padding:8px 0 10px;outline:none;width:100%;border-radius:0;transition:border-color .15s}.viz-pro .signin-field input::-moz-placeholder{color:var(--ink-dimmer);font-family:var(--serif);font-style:italic}.viz-pro .signin-field input::placeholder{color:var(--ink-dimmer);font-family:var(--serif);font-style:italic}.viz-pro .signin-field input:focus{border-bottom-color:var(--ink)}.viz-pro .signin-error{font-size:12.5px;color:var(--accent);border-left:2px solid var(--accent);padding:6px 10px;background:#b81d2c0a;line-height:1.5}.viz-pro .signin-cta{margin-top:10px;background:var(--accent);color:var(--paper);border:none;font:inherit;font-family:var(--pro-font);font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:14px 22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;transition:filter .15s,transform .15s;width:100%;max-width:280px;border-radius:0}.viz-pro .signin-cta:hover:not(:disabled){filter:brightness(.92)}.viz-pro .signin-cta:active:not(:disabled){transform:translateY(1px)}.viz-pro .signin-cta:disabled{opacity:.55;cursor:wait}.viz-pro .signin-cta .arrow{font-family:var(--serif);font-style:italic;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none}.viz-pro .signin-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;color:var(--ink-dim);font-family:var(--serif);font-style:italic;line-height:1.5}.viz-pro .signin-link{background:transparent;border:none;font:inherit;color:var(--ink);cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:3px}.viz-pro .signin-link:hover{text-decoration-color:var(--accent);color:var(--accent)}.viz-pro .signin-meta-dot,.viz-pro .signin-foot-dot{color:var(--ink-dimmer)}.viz-pro .signin-meta-note code{font-family:var(--mono);font-style:normal;font-size:11.5px;color:var(--ink);background:var(--paper-2);padding:1px 5px;border:1px solid var(--hairline-soft)}.viz-pro .signin-foot{grid-area:foot;border-top:1px solid var(--hairline);padding:16px clamp(20px,5vw,32px);display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink-dim)}.viz-pro .signin-foot-note{font-family:var(--serif);font-style:italic}.viz-pro .tasks-shell{flex:1;overflow:auto;padding:clamp(28px,3.6vw,52px) clamp(28px,5vw,72px);background:var(--paper);color:var(--ink);min-height:100vh}.viz-pro .tasks-inner{max-width:1080px;margin:0 auto}.viz-pro .tasks-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;flex-wrap:wrap}.viz-pro .tasks-topbar .left{display:inline-flex;align-items:center;gap:16px}.viz-pro .tasks-back{background:transparent;border:none;cursor:pointer;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-dim);display:inline-flex;align-items:center;gap:6px}.viz-pro .tasks-back:hover{color:var(--accent)}.viz-pro .ident-switch{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dimmer)}.viz-pro .ident-switch select{font-family:var(--pro-font);font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--ink);background:transparent;border:1px solid var(--hairline);padding:5px 8px;cursor:pointer}.viz-pro .ident-rank{font-family:var(--mono);font-size:10px;color:var(--ink-dim)}.viz-pro .case-line{display:grid;grid-template-columns:34px 78px minmax(0,1fr) 92px 150px 110px 18px;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--hairline-soft);cursor:pointer;transition:background .15s;background:transparent;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font:inherit;color:var(--ink)}.viz-pro .case-line:hover{background:var(--paper-2)}.viz-pro .case-line:hover .cl-ix{color:var(--accent)}.viz-pro .case-line:hover .cl-arrow{transform:translate(3px);color:var(--ink)}.viz-pro .cl-ix{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-dimmer);line-height:1}.viz-pro .cl-code{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-dim);white-space:nowrap}.viz-pro .cl-body{min-width:0}.viz-pro .cl-name{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-pro .cl-name .client{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink-dim)}.viz-pro .cl-status{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--hairline);padding:2px 7px;color:var(--ink-dim);justify-self:start;white-space:nowrap}.viz-pro .cl-status.intake,.viz-pro .cl-status.reporting{color:var(--ink-dim);border-color:var(--hairline)}.viz-pro .cl-status.active{color:var(--ink);border-color:var(--ink)}.viz-pro .cl-progress{display:flex;gap:10px;align-items:center}.viz-pro .cl-progress .bar{flex:1;height:4px;background:var(--paper-2);border:1px solid var(--hairline-soft)}.viz-pro .cl-progress .fill{height:100%;background:var(--ink-dim);display:block}.viz-pro .cl-progress .fill.done{background:var(--ink)}.viz-pro .cl-progress .frac{font-family:var(--mono);font-size:11px;color:var(--ink-dim);white-space:nowrap}.viz-pro .cl-assignee{font-size:12px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-pro .cl-assignee .who{color:var(--ink)}.viz-pro .cl-arrow{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dimmer);text-align:right;transition:transform .15s,color .15s}.viz-pro .mgd-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--hairline-soft)}.viz-pro .mgd-row .t-title{font-size:13.5px;color:var(--ink)}.viz-pro .mgd-row.is-done .t-title{color:var(--ink-dim);text-decoration:line-through}.viz-pro .mgd-row .t-meta{display:inline-flex;gap:8px;align-items:center}.viz-pro .task-chip{font-size:10px;letter-spacing:.04em;color:var(--ink-dim);border:1px solid var(--hairline-soft);padding:1px 6px;white-space:nowrap}.viz-pro .task-chip.code{font-family:var(--mono);color:var(--ink-dim);border-color:var(--hairline)}.viz-pro .task-chip.overdue{color:var(--accent);border-color:var(--accent)}.viz-pro .task-chip.milestone{color:var(--ink);border-color:var(--ink)}.viz-pro .t-check{width:16px;height:16px;border:1px solid var(--ink-dim);background:var(--paper);cursor:pointer;flex-shrink:0;padding:0;display:inline-flex;align-items:center;justify-content:center}.viz-pro .t-check:hover{border-color:var(--accent)}.viz-pro .t-check.on{background:var(--ink);border-color:var(--ink)}.viz-pro .t-check.on:after{content:"";width:8px;height:4px;border-left:1.5px solid var(--paper);border-bottom:1.5px solid var(--paper);transform:rotate(-45deg) translateY(-1px)}.viz-pro .case-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--hairline);margin-bottom:18px;flex-wrap:wrap}.viz-pro .case-head .code{font-family:var(--mono);font-size:13px;color:var(--ink-dim);letter-spacing:.04em}.viz-pro .case-head .ch-name{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--ink);line-height:1.1;margin-top:6px}.viz-pro .case-head .ch-sub{font-size:12.5px;color:var(--ink-dim);margin-top:8px;line-height:1.5}.viz-pro .case-head .ch-sub .who{color:var(--ink)}.viz-pro .status-row{display:inline-flex;gap:6px;margin-top:14px;flex-wrap:wrap}.viz-pro .case-head .ch-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.viz-pro .case-team{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.viz-pro .case-board{display:flex;gap:1px;background:var(--hairline);box-shadow:0 0 0 1px var(--hairline);overflow-x:auto;align-items:flex-start}.viz-pro .board-col{background:var(--paper);min-width:286px;flex:1 0 286px;display:flex;flex-direction:column;min-height:120px}.viz-pro .board-col.drop-target{background:var(--accent-soft);outline:1px dashed var(--accent);outline-offset:-3px}.viz-pro .board-col-head{display:flex;align-items:center;gap:10px;padding:14px 14px 8px}.viz-pro .board-col-head .lbl{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.viz-pro .board-col-head .rule{flex:1;height:1px;background:var(--hairline)}.viz-pro .board-col-head .cnt{font-family:var(--mono);font-size:10.5px;color:var(--ink-dimmer);white-space:nowrap}.viz-pro .board-col-body{display:flex;flex-direction:column;padding:0 14px 10px}.viz-pro .card-chip{position:relative;background:transparent;border:none;border-bottom:1px solid var(--hairline-soft);padding:12px 2px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer;text-align:left;font:inherit;color:var(--ink);width:100%}.viz-pro .card-chip:hover{background:var(--paper-2)}.viz-pro .card-chip.dragging{opacity:.4}.viz-pro .card-title{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.35}.viz-pro .card-chip.is-done .card-title{color:var(--ink-dim);text-decoration:line-through}.viz-pro .card-meta{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}.viz-pro .card-assignee{font-size:11px;color:var(--ink-dim)}.viz-pro .add-card-row{display:flex;align-items:center;gap:10px;padding:12px 2px;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--pro-font);font-size:12.5px;color:var(--ink-dim)}.viz-pro .add-card-row .plus{color:var(--accent);font-size:15px;line-height:1}.viz-pro .add-card-row:hover{color:var(--accent)}.viz-pro .add-card-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--ink);font:inherit;font-size:13px;color:var(--ink);padding:8px 2px}.viz-pro .add-list-col{min-width:200px;flex:0 0 200px;padding:14px}.viz-pro .pill-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.viz-pro .pill-chip{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--hairline);padding:5px 9px;background:var(--paper-2);color:var(--ink-dim);cursor:pointer;font-family:var(--pro-font)}.viz-pro .pill-chip:hover{border-color:var(--ink-dim)}.viz-pro .pill-chip.is-on{background:var(--paper);border-color:var(--accent);color:var(--accent)}.viz-pro .drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000024;z-index:70}.viz-pro .card-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,94vw);background:var(--paper);border-left:1px solid var(--ink);z-index:71;display:flex;flex-direction:column;overflow-y:auto;padding:22px 24px 40px}.viz-pro .drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.viz-pro .drawer-title{font-size:17px;font-weight:600;color:var(--ink);line-height:1.3;letter-spacing:-.01em}.viz-pro .drawer-x{background:transparent;border:none;cursor:pointer;color:var(--ink-dim);display:inline-flex;padding:2px}.viz-pro .drawer-x:hover{color:var(--accent)}.viz-pro .drawer-field{margin-bottom:18px}.viz-pro .drawer-field>.label{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dimmer);display:block;margin-bottom:8px}.viz-pro .drawer-field select,.viz-pro .drawer-field input,.viz-pro .drawer-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--hairline);outline:none;font:inherit;font-size:13.5px;color:var(--ink);padding:6px 2px}.viz-pro .drawer-field textarea{resize:vertical;min-height:64px;line-height:1.5}.viz-pro .drawer-field input:focus,.viz-pro .drawer-field textarea:focus,.viz-pro .drawer-field select:focus{border-color:var(--accent)}.viz-pro .drawer-actions{display:flex;gap:10px;align-items:center;margin-top:8px}.viz-pro .drawer-del{background:transparent;border:none;cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dimmer);margin-left:auto}.viz-pro .drawer-del:hover{color:var(--accent)}.viz-pro .tasks-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000002e;z-index:70;display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px 16px;overflow:auto}.viz-pro .tasks-modal{width:100%;max-width:560px;background:var(--paper);border:1px solid var(--ink);padding:28px 28px 24px}.viz-pro .tmpl-pills{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.viz-pro .tmpl-pill{background:var(--paper);padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);border:none}.viz-pro .tmpl-pill:hover{background:var(--paper-2)}.viz-pro .tmpl-pill.is-on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.viz-pro .tmpl-pill .tp-name{font-size:13px;font-weight:600;color:var(--ink)}.viz-pro .tmpl-pill .tp-blurb{font-size:11px;color:var(--ink-dim);margin-top:3px;line-height:1.4}.viz-pro .tasks-empty{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-dim);line-height:1.6;padding:18px 4px;max-width:56ch}.viz-pro .row-x-zone{position:relative;padding-right:44px}.viz-pro .row-close-x{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:var(--ink-dim);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.viz-pro .row-x-zone:hover .row-close-x{opacity:1}.viz-pro .row-close-x:hover{color:var(--accent, #b81d2c)}.viz-pro .row-ghost{display:flex;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--hairline-soft);font-size:13px;color:var(--ink-dim);cursor:pointer;transition:color .15s}.viz-pro .row-ghost:hover{color:var(--ink)}.viz-pro .row-ghost .plus{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--accent, #b81d2c);line-height:1}.viz-pro .itb-back-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;font:inherit;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent, #b81d2c);cursor:pointer;transition:color .15s,background .15s,border-color .15s,transform .15s}.viz-pro .itb-back-btn:hover{background:var(--paper-2);border-color:var(--accent, #b81d2c);transform:translate(-2px)}.viz-pro .itb-back-btn:active{background:var(--accent, #b81d2c);color:var(--paper)}.viz-pro .itb-back-btn svg{width:16px;height:16px;flex-shrink:0}.viz-pro .section-rule{display:flex;align-items:center;gap:14px;margin:48px 0 18px}.viz-pro .section-rule .lbl{font-family:var(--pro-font);font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);white-space:nowrap;flex-shrink:0}.viz-pro .section-rule.muted .lbl{color:var(--ink-dim)}.viz-pro .section-rule .rule{flex:1;height:1px;background:var(--hairline);min-width:16px}.viz-pro .section-rule.muted .rule{background:var(--hairline)}.viz-pro .section-rule .cnt{font-family:var(--serif);font-size:10px;font-weight:400;font-style:italic;letter-spacing:.02em;color:var(--ink-dimmer);white-space:nowrap;flex-shrink:0}.viz-pro .itb-label{font-family:var(--pro-font);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}.viz-pro .itb-label.dimmer{color:var(--ink-dimmer)}.viz-pro .itb-label.accent{color:var(--accent)}.viz-pro .itb-btn{font-family:var(--pro-font);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--paper);transition:background .15s,color .15s,border-color .15s}.viz-pro .itb-btn:hover,.viz-pro .itb-btn.ghost{background:transparent;color:var(--ink)}.viz-pro .itb-btn.ghost:hover{background:var(--ink);color:var(--paper)}.viz-pro .itb-btn.sm{padding:7px 12px;font-size:10.5px}.viz-pro .itb-btn.lg{padding:13px 20px;font-size:12px}.viz-pro .itb-btn .arrow{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;font-size:14px}.viz-pro .itb-btn:disabled{opacity:.4;cursor:not-allowed}.viz-pro .itb-iconbtn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ink-dim);cursor:pointer;padding:0;transition:color .12s,background .12s}.viz-pro .itb-iconbtn:hover{color:var(--ink);background:#0000000a}.viz-pro .itb-iconbtn.is-active{background:var(--ink);color:var(--paper)}.viz-pro .itb-iconbtn svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}.viz-pro .pill-row{display:flex;flex-wrap:wrap;gap:8px}.viz-pro .pill-row .pill-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--hairline);background:var(--paper);font:inherit;font-size:12px;color:var(--ink-dim);cursor:pointer;letter-spacing:.04em;transition:background .12s,color .12s,border-color .12s}.viz-pro .pill-row .pill-chip:hover{color:var(--ink);border-color:var(--ink)}.viz-pro .pill-row .pill-chip.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.viz-pro .pill-row .pill-chip .hint{font-family:var(--serif);font-style:italic;color:var(--ink-dimmer);font-size:12px;margin-left:6px}.viz-pro .pill-row .pill-chip.is-on .hint{color:#fff9}.viz-pro .queue-row{display:grid;grid-template-columns:36px 80px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hairline-soft)}.viz-pro .queue-row:last-child{border-bottom:none}.viz-pro .queue-row .ix{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-dimmer);text-align:center}.viz-pro .queue-row .platform{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.viz-pro .queue-row .platform.is-google{color:var(--ink-dim)}.viz-pro .queue-row code{font-family:var(--mono);font-size:13px;color:var(--ink);background:transparent;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-pro .queue-row .acts{display:flex;gap:4px}.viz-pro .check{width:13px;height:13px;border:1px solid var(--ink-dim);flex-shrink:0;margin-top:3px;cursor:pointer;display:inline-block}.viz-pro .check.done{background:var(--ink);border-color:var(--ink);position:relative}.viz-pro .check.done:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border-right:1px solid var(--paper);border-bottom:1px solid var(--paper);transform:rotate(45deg)}.viz-pro .tool-content{max-width:1100px;margin:0 auto;padding:28px 32px 64px;display:flex;flex-direction:column;gap:32px}.viz-pro .gc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline)}.viz-pro .gc-row{background:var(--paper);padding:14px 16px;display:grid;grid-template-columns:32px 1fr auto;gap:14px;align-items:center}.viz-pro .gc-row .ix{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-dimmer)}.viz-pro .gc-row .name{font-size:13px;font-weight:500;color:var(--ink)}.viz-pro .gc-row .name em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink-dim);display:block;font-size:11px;margin-top:2px}.viz-pro .gc-row .res{font-size:10.5px;letter-spacing:.2em;font-weight:600;text-transform:uppercase}.viz-pro .gc-row .res.clean{color:var(--ink-dim)}.viz-pro .gc-row .res.hit{color:var(--accent)}.viz-pro .form-field{display:flex;flex-direction:column;gap:6px}.viz-pro .form-field input.ghost,.viz-pro .itb-input.ghost,.viz-pro .input.ghost{border:none;border-bottom:1px solid var(--hairline);padding:8px 0;background:transparent;font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border-color .12s}.viz-pro .form-field input.ghost:focus,.viz-pro .itb-input.ghost:focus,.viz-pro .input.ghost:focus{border-bottom-color:var(--ink)}.viz-pro .form-field input.ghost::-moz-placeholder,.viz-pro .itb-input.ghost::-moz-placeholder,.viz-pro .input.ghost::-moz-placeholder{color:var(--ink-dimmer);font-family:var(--serif);font-style:italic;font-size:15px}.viz-pro .form-field input.ghost::placeholder,.viz-pro .itb-input.ghost::placeholder,.viz-pro .input.ghost::placeholder{color:var(--ink-dimmer);font-family:var(--serif);font-style:italic;font-size:15px}.viz-pro .input{width:100%;border:1px solid var(--hairline);background:var(--paper);color:var(--ink);font-family:inherit;font-size:14px;padding:9px 12px;outline:none;transition:border-color .12s}.viz-pro .input::-moz-placeholder{color:var(--ink-dimmer)}.viz-pro .input::placeholder{color:var(--ink-dimmer)}.viz-pro .input:focus{border-color:var(--ink)}.viz-pro .itb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#15151a73;display:flex;align-items:center;justify-content:center;z-index:80}.viz-pro .itb-overlay .modal{background:var(--paper);border:1px solid var(--ink);padding:36px 40px;max-width:440px;width:calc(100% - 32px);display:flex;flex-direction:column;gap:18px}.viz-pro .itb-overlay .modal h2{margin:0}.viz-pro .prog-section{display:flex;flex-direction:column;gap:14px}.viz-pro .prog-section+.prog-section{margin-top:36px}.viz-pro .num.dim{color:var(--ink-dimmer)}.viz-pro .mr-result{display:grid;grid-template-columns:60px 1fr 120px 100px;gap:16px;padding:14px 0;border-bottom:1px solid var(--hairline-soft);align-items:baseline}.viz-pro .mr-result .ix{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-dimmer)}.viz-pro .mr-result .body .src{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:4px}.viz-pro .mr-result .body .tit{font-size:14px;font-weight:500;color:var(--ink);line-height:1.35}.viz-pro .mr-result .body .sn{font-size:12px;color:var(--ink-dim);line-height:1.5;margin-top:4px;font-family:var(--serif);font-style:italic}.viz-pro .mr-result .date{font-size:11px;color:var(--ink-dim);font-family:var(--mono);letter-spacing:.04em}.viz-pro .mr-result .verdict{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:3px 8px;align-self:center;justify-self:flex-end}.viz-pro .mr-result .verdict.adv{color:var(--accent);border:1px solid var(--accent)}.viz-pro .mr-result .verdict.neut{color:var(--ink-dim);border:1px solid var(--hairline)}.viz-pro .mr-tabs{display:flex;flex-wrap:wrap;gap:.35rem;border-bottom:1px solid var(--hairline)}.viz-pro .mr-tab{background:transparent;border:none;padding:.7em 1.15em;color:var(--ink-dim);font-family:var(--pro-font);font-size:.82em;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.viz-pro .mr-tab.is-on{color:var(--ink);border-bottom-color:var(--ink)}.viz-pro .mr-tab .badge{margin-left:8px;color:var(--ink);border:1px solid var(--hairline);padding:.1em .55em;font-size:.82em;letter-spacing:.08em}.viz-pro .mr-tab.is-on .badge{color:var(--paper);background:var(--ink);border:none}.viz-pro .mr-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--paper);border:1px solid var(--ink);padding:14px 18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;font:inherit;color:inherit}.viz-pro .mr-tile:disabled{cursor:default;opacity:.55}.viz-pro .mr-tile .eyebrow{font-family:var(--pro-font);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--accent)}.viz-pro .mr-tile .big{font-size:32px;font-family:var(--pro-font);font-weight:500;color:var(--ink);line-height:1}.viz-pro .mr-tile .sub{font-size:11px;color:var(--ink-dim);font-family:var(--serif);font-style:italic;line-height:1.45}.viz-pro .bs-claim{padding:1px 2px;cursor:help}.viz-pro .bs-claim.bs-direct{background:var(--accent);color:var(--paper);box-shadow:inset 0 -2px 0 var(--paper)}.viz-pro .bs-claim.bs-adjacent{box-shadow:inset 0 -2px 0 var(--accent);-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:3px}.viz-pro .bs-claim.bs-unverified{color:var(--ink-dim);-webkit-text-decoration:underline dotted var(--ink-dimmer);text-decoration:underline dotted var(--ink-dimmer);text-underline-offset:3px}.viz-pro .bs-meter{display:flex;gap:1px;border:1px solid var(--hairline);padding:2px;background:var(--paper);width:180px}.viz-pro .bs-meter-seg{flex:1;height:10px;background:transparent;border:1px solid var(--hairline-soft)}.viz-pro .bs-meter-seg.on{background:var(--accent);border-color:var(--accent)}.fn-marker{font-size:.65em;line-height:0;vertical-align:super;color:var(--accent, #b81d2c);font-weight:600;margin:0 1px 0 0;font-family:Arial,Helvetica,sans-serif}.fn-marker a{color:inherit;text-decoration:none;cursor:pointer}.fn-marker a:hover{text-decoration:underline}.viz-pro .sc-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.viz-pro .sc-cat{position:relative;text-align:left;display:flex;flex-direction:column;gap:8px;min-height:168px;padding:16px 18px;border:1px solid var(--hairline);background:var(--paper);font:inherit;color:var(--ink);cursor:pointer;transition:border-color .12s}.viz-pro .sc-cat:hover{border-color:var(--ink)}.viz-pro .sc-cat-label{font-size:11px;letter-spacing:.04em;font-weight:500;color:var(--ink-dim)}.viz-pro .sc-cat-vol{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.1;color:var(--ink)}.viz-pro .sc-cat-count{display:block;font-family:var(--pro-font);font-style:normal;font-size:11px;letter-spacing:.04em;color:var(--ink-dim);margin-top:4px}.viz-pro .sc-cat-status{flex:1;font-size:12px;color:var(--ink-2, var(--ink-dim));line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.viz-pro .sc-cat-foot{display:flex;justify-content:flex-end;color:var(--ink-dim)}.viz-pro .sc-est{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.viz-pro .sc-est>div{background:var(--paper);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.viz-pro .sc-est .lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.viz-pro .sc-est .val{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--ink);line-height:1;letter-spacing:-.02em}.viz-pro .sc-est .note{font-size:11px;color:var(--ink-dim);font-family:var(--serif);font-style:italic;margin-top:auto;padding-top:10px}.chart-skin{--dos-bg: var(--paper);--dos-fg: var(--ink);--dos-fg-dim: var(--ink-dim);--dos-fg-dimmer: var(--ink-dimmer)}.i2-canvas{background:var(--dos-bg);background-image:linear-gradient(to right,color-mix(in srgb,var(--dos-fg) 8%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--dos-fg) 8%,transparent) 1px,transparent 1px);background-size:20px 20px}.i2-canvas.i2-canvas-no-grid{background-image:none}.i2-label{font-family:Tahoma,Geneva,Verdana,sans-serif;font-size:16px;fill:var(--dos-fg);color:var(--dos-fg);font-weight:400}.i2-link{stroke:var(--dos-fg);stroke-width:1.25;fill:none}.viz-pro .cb-canvas{background:var(--paper);background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.07) 1px,transparent 0);background-size:24px 24px;position:relative;overflow:hidden;min-height:560px;border:1px solid var(--hairline-soft)}.viz-pro .cb-topstrip{display:flex;align-items:center;gap:14px;padding:12px 0;margin-bottom:14px;border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft)}.viz-pro .cb-topstrip-rule{flex:1;height:1px;background:var(--hairline-soft)}.viz-pro .cb-topstrip-count{font-size:10.5px;letter-spacing:.04em;color:var(--ink-dimmer);font-weight:400;white-space:nowrap}.viz-pro .cb-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px 32px;text-align:center;pointer-events:none;color:var(--ink-dim);font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.55}.viz-pro .cb-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 0}.viz-pro .cb-tool{border:1px solid var(--hairline);background:var(--paper);color:var(--ink-dim);font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:5px 10px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.viz-pro .cb-tool:hover{border-color:var(--ink);color:var(--ink)}.viz-pro .cb-tool.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.viz-pro .cb-tool-sep{width:1px;align-self:stretch;background:var(--hairline);margin:2px 4px}.viz-pro .cb-linktypes{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 0 8px;border-top:1px solid var(--hairline-soft);margin-top:4px}.viz-pro .cb-linktypes .cb-prop-lbl{margin-right:6px}.viz-pro .cb-rail{border:1px solid var(--hairline);background:var(--paper-2);padding:14px 16px;overflow-y:auto;max-height:560px}.viz-pro .cb-addpanel{display:flex;flex-direction:column}.viz-pro .cb-prop{display:flex;flex-direction:column;gap:5px}.viz-pro .cb-prop-lbl{font-size:10px;letter-spacing:.04em;color:var(--ink-dim);font-weight:400;font-family:var(--serif);font-style:italic}.viz-pro .cb-subj{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;border:1px solid var(--hairline);background:var(--paper);padding:8px 10px;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s}.viz-pro .cb-subj:hover{border-color:var(--ink)}.viz-pro .cb-subj-kind{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dimmer);font-weight:600}.viz-pro .cb-subj-name{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-pro .cb-subj-add{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dim)}.viz-pro .lg-grid{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:flex-start}.viz-pro .lg-avatar{background:var(--paper);border:1px solid var(--hairline);padding:18px;display:flex;flex-direction:column;gap:14px}.viz-pro .lg-avatar .ph{aspect-ratio:1 / 1;background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 6px,var(--paper) 6px,var(--paper) 12px);border:1px solid var(--hairline);display:flex;align-items:flex-end;justify-content:center;padding:12px;font-size:9px;letter-spacing:.22em;color:var(--ink-dimmer);font-weight:600}.viz-pro .lg-avatar .nm{font-size:18px;font-weight:600;letter-spacing:-.014em;color:var(--ink);text-align:center}.viz-pro .lg-avatar .id{font-size:11px;color:var(--ink-dim);text-align:center;font-family:var(--mono);letter-spacing:.04em}.viz-pro .lg-field{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--hairline-soft);align-items:baseline}.viz-pro .lg-field .lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.viz-pro .lg-field .val{font-size:13.5px;color:var(--ink);font-family:var(--serif);font-style:italic;font-weight:400}.viz-pro .lg-field .val.mono{font-family:var(--mono);font-style:normal;font-size:13px;letter-spacing:.02em}.viz-pro .lg-opsec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.viz-pro .lg-opsec>div{background:var(--paper);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.viz-pro .lg-opsec .nm{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--ink)}.viz-pro .lg-opsec .nm .level{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.viz-pro .lg-opsec .nm .level.warn{color:var(--accent)}.viz-pro .lg-opsec .nm .level.ok{color:var(--ink-dim)}.viz-pro .lg-opsec .note{font-size:11.5px;color:var(--ink-dim);font-family:var(--serif);font-style:italic;line-height:1.5}.viz-pro .lg-avatar .id,.viz-pro .lg-field .val,.viz-pro .lg-opsec .note{font-family:var(--serif)!important;font-style:italic}.viz-pro .lg-field .val.mono{font-family:var(--mono)!important;font-style:normal}.viz-pro .gg-text{color:var(--ink)}.viz-pro .gg-text-dim{color:var(--ink-dim)}.viz-pro .gg-text-dimmer{color:var(--ink-dimmer)}
