:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1ea;--ink:#1c1917;--muted:#57534e;--line:#e7e5e4;--panel:#fffdf8;--canvas:#fbfaf6}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Source Han Sans SC,sans-serif}button,input{font:inherit}.shell{min-height:100vh;padding:20px 20px 32px}.topbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:650}.topbar p,.view-note{color:var(--muted);margin:6px 0 0;font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.board-mode-switch{background:#fff;border:1px solid #d6d3d1;border-radius:999px;gap:0;padding:3px;display:flex}.board-mode-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 13px}.board-mode-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.board-mode-switch button:disabled{opacity:.45;cursor:default}.system-actions-toggle{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:13px;display:inline-flex}.system-actions-toggle input{width:15px;height:15px;accent-color:var(--ink);cursor:pointer;margin:0}.detail-head button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:7px 12px}.view-note{margin:10px 0 12px}.board-workspace{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:12px;display:grid}.board-workspace.notes-collapsed{grid-template-columns:minmax(0,1fr) 42px}.board-workspace .stage{min-width:0;position:relative}.board-workspace .canvas-wrap{min-width:0}.stage{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.stage.has-detail{grid-template-columns:minmax(0,1fr) 400px}.stage.is-preview{position:relative}.stage.is-preview.has-detail{grid-template-columns:minmax(0,1fr)}.stage.is-preview>.detail{z-index:20;width:min(400px,100% - 32px);max-height:calc(min(130vh,1450px) - 32px);position:absolute;top:16px;right:16px;box-shadow:0 12px 36px #1c191724}.stage.is-preview>.detail.is-temporary{pointer-events:none}.canvas-wrap{border:1px solid var(--line);background:var(--canvas);border-radius:16px;height:min(130vh,1450px);min-height:1120px;position:relative;overflow:hidden}.react-flow{background:var(--canvas)}.react-flow__node-frame{pointer-events:none}.frame-drag-handle{pointer-events:auto}.react-flow__handle{opacity:.55;background:#1c1917;border:2px solid #fff;width:9px;height:9px}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:1}.canvas-wrap.is-preview .react-flow__handle{opacity:0;pointer-events:none}.canvas-wrap.is-preview .react-flow__edgeupdater{display:none}.canvas-wrap.is-preview .flow-node,.canvas-wrap.is-preview .flow-node:active,.canvas-wrap.is-preview .flow-frame .frame-drag-handle,.canvas-wrap.is-preview .flow-frame .frame-drag-handle:active{cursor:pointer}.canvas-tools{gap:8px;margin:0;display:flex}.canvas-tools button,.canvas-tools select,.editor-actions button,.connect-row button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:7px 12px}.edit-hint{color:var(--muted);margin:0 0 12px;font-size:13px}.arrange-graph{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;padding:7px 12px}.arrange-graph:disabled{opacity:.55;cursor:default}.save-status{color:#047857;font-size:12px}.save-status.is-error{color:#be123c}.draft-recovery-note{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;font-size:13px;display:flex}.draft-recovery-note button{color:inherit;cursor:pointer;background:#fff;border:1px solid;border-radius:6px;padding:4px 8px}.react-flow__edgeupdater{fill:#1c1917;stroke:#fff;stroke-width:2px;opacity:0}.react-flow__edge:hover .react-flow__edgeupdater,.react-flow__edge.selected .react-flow__edgeupdater,.react-flow__edge.updating .react-flow__edgeupdater{opacity:1}.flow-frame{background:#ffffff8c;border:2px solid #78716c;border-radius:14px;position:relative}.flow-frame[data-border-style=dashed]{border-style:dashed}.flow-frame[data-editable=true]{cursor:pointer}.flow-frame .react-flow__handle{z-index:2}.flow-frame[data-editable=true] .react-flow__handle{pointer-events:auto}.flow-frame .frame-drag-handle{max-width:calc(100% - 16px);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:baseline;gap:7px;padding:4px 6px;font-size:13px;font-weight:650;display:flex;position:absolute;top:4px;left:8px;overflow:hidden}.frame-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.frame-total{font-variant-numeric:tabular-nums;flex-shrink:0}.frame-total-note{opacity:.75;flex-shrink:0;font-size:12px;font-weight:450}.flow-frame .frame-drag-handle:active{cursor:grabbing}.flow-frame.is-selected{box-shadow:0 0 0 2px #1c1917}.flow-frame.frame-overall{background:#f8fafcd1;border-color:#64748b}.flow-frame.frame-overall .frame-drag-handle{color:#334155}.flow-frame.frame-clean{background:#7c3aed0f;border-color:#7c3aed}.flow-frame.frame-clean .frame-drag-handle{color:#6d28d9}.flow-frame.frame-reach{background:#2563eb0f;border-color:#2563eb}.flow-frame.frame-reach .frame-drag-handle{color:#1d4ed8}.flow-frame.frame-business{background:#7c3aed0f;border-color:#7c3aed}.flow-frame.frame-business .frame-drag-handle{color:#6d28d9}.flow-node{--node-outline:#78716c;--node-fill:white;cursor:grab;-webkit-user-select:none;user-select:none;border:2px solid var(--node-outline);background:var(--node-fill);border-radius:12px;flex-direction:column;gap:5px;padding:7px 9px;display:flex;overflow:hidden;box-shadow:0 1px #1c19170f}.flow-node[data-border-style=dashed]:not(.shape-diamond){border-style:dashed}.flow-node.section-source{--node-outline:#475569;--node-fill:#f8fafc;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-overall{--node-outline:#64748b;--node-fill:#f8fafc;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-clean{--node-outline:#7c3aed;--node-fill:#faf5ff;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-reach{--node-outline:#2563eb;--node-fill:#eff6ff;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-business{--node-outline:#7c3aed;--node-fill:#faf5ff;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-reactivation{--node-outline:#be123c;--node-fill:#fff1f2;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-overall[data-overall-range=contacts]{--range-ink:#065f46;--range-badge:#d1fae5;--node-outline:#0f766e;--node-fill:#ecfdf5;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-overall[data-overall-range=overlap]{--range-ink:#92400e;--range-badge:#fef3c7;--node-outline:#d97706;--node-fill:#fffbeb;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-overall[data-overall-range=wecom]{--range-ink:#1e40af;--range-badge:#dbeafe;--node-outline:#2563eb;--node-fill:#eff6ff;border-color:var(--node-outline);background:var(--node-fill)}.flow-node.section-overall[data-overall-range] .flow-node-head strong,.flow-node.section-overall[data-overall-range] .flow-node-total em{color:var(--range-ink)}.flow-node.section-overall[data-overall-range] .flow-badge{color:var(--range-ink);background:var(--range-badge)}.flow-node:active{cursor:grabbing}.flow-node-content{flex-direction:column;flex:1;gap:5px;min-width:0;min-height:0;display:flex}.flow-node.shape-pill{border-radius:999px;padding:18px 36px;overflow:visible}.flow-node.shape-pill .flow-node-content{justify-content:center;overflow:hidden}.flow-node.shape-diamond:is(.section-source,.section-overall,.section-clean,.section-reach,.section-business,.section-reactivation){box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:relative;overflow:visible}.flow-node.shape-diamond:before,.flow-node.shape-diamond:after{content:"";clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);pointer-events:none;position:absolute}.flow-node.shape-diamond:before{background:var(--node-outline);inset:0}.flow-node.shape-diamond:after{background:var(--node-fill);inset:3px}.flow-node.shape-diamond .flow-node-content{z-index:1;flex:none;justify-content:center;gap:3px;width:45%;height:50%;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.flow-node.shape-diamond .react-flow__handle{z-index:2}.flow-node.shape-diamond .flow-node-head{text-align:center;flex-direction:column;align-items:center;gap:1px;min-height:0}.flow-node.shape-diamond .flow-node-head>div:first-child{align-items:center}.flow-node.shape-diamond .flow-node-head strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.1;display:-webkit-box;overflow:hidden}.flow-node.shape-diamond .flow-node-total{align-items:center}.flow-node.shape-diamond .flow-node-total em{font-size:17px}.flow-node.shape-diamond .flow-node-total small,.flow-node.shape-diamond .flow-badge{font-size:10px}.flow-node.shape-diamond.is-selected{filter:drop-shadow(0 0 2px var(--ink))}.flow-node.shape-diamond.is-selected:before{background:var(--node-outline)}.flow-node.shape-diamond.is-selected:after{inset:4px}.flow-node.shape-diamond[data-border-style=dashed]:before,.flow-node.shape-diamond[data-border-style=dashed].is-selected:before{background:var(--node-fill)}.flow-node.shape-diamond[data-border-style=dashed]:after{display:none}.diamond-dashed-outline{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.diamond-dashed-outline polygon{fill:none;stroke:var(--node-outline);stroke-width:3px;stroke-dasharray:8 6;stroke-linejoin:miter}.flow-node-head{justify-content:space-between;align-items:flex-start;gap:8px;min-height:32px;display:flex}.flow-node-head>div:first-child{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.flow-node-head strong{font-size:17px;font-weight:700;line-height:1.2}.flow-node-total{flex-direction:column;flex-shrink:0;align-items:flex-end;line-height:1.15;display:flex}.flow-node-total em{letter-spacing:-.03em;font-size:20px;font-style:normal;font-weight:750}.flow-node-total small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.flow-badge{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:#e7e5e4;border-radius:999px;max-width:100%;padding:1px 6px;font-size:11px;line-height:1.3;overflow:hidden}.node-mode-switch{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.node-mode-switch button{color:#57534e;cursor:pointer;background:#fffc;border:1px solid #d6d3d1;border-radius:5px;padding:2px 1px;font-size:13px;line-height:1.25}.node-mode-switch button[aria-pressed=true]{color:#fff;background:#292524;border-color:#292524}.node-segments{background:#fff;border:1px solid #d6d3d1;border-radius:7px;flex:1;min-height:0;display:grid;overflow:hidden}.node-segment{text-align:center;background:#ffffffdb;border-right:1px dashed #a8a29e;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:3px 4px;display:flex}.node-segment:last-child{border-right:none}.node-segment:nth-child(2n){background:#fafaf9f2}.node-segments.is-compact-progress{grid-template-rows:minmax(0,.9fr) minmax(0,1.2fr)}.node-segments.is-compact-progress .node-segment:nth-child(2n){border-right:none}.node-segments.is-compact-progress .node-segment:nth-child(-n+2){border-bottom:1px dashed #a8a29e}.node-segment.is-unclassified{color:#57534e;background:repeating-linear-gradient(135deg,#f5f5f4,#f5f5f4 7px,#fafaf9 7px 14px)}.node-segment span{overflow-wrap:anywhere;font-size:13px;line-height:1.2}.node-segment b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.segment-metrics{gap:2px;min-width:0;display:grid}.segment-metrics>div{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.segment-metrics small{color:var(--muted);white-space:nowrap;font-size:11px}.segment-metrics b{font-variant-numeric:tabular-nums;white-space:nowrap}.node-segment .segment-metrics{width:fit-content;max-width:100%;margin:0 auto}.node-segment .segment-metrics b{font-size:13px;line-height:1.15}.node-segments.is-compact-progress .node-segment{gap:1px;padding:2px 4px}.node-segments.is-compact-progress .node-segment>span,.node-segments.is-compact-progress .node-segment>b{font-size:12px;line-height:1.1}.node-segments.is-compact-progress .segment-metrics{gap:1px}.node-segments.is-compact-progress .segment-metrics b{font-size:12px;line-height:1.05}.node-segments.is-compact-progress .segment-metrics small{font-size:10px;line-height:1.05}.flow-node.is-selected{border-color:var(--node-outline);box-shadow:0 0 0 2px var(--ink)}.detail{border:1px solid var(--line);background:var(--panel);border-radius:16px;max-height:min(130vh,1450px);padding:16px;overflow:auto}.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-kicker{color:var(--muted);margin:0;font-size:12px}.detail h2{margin:2px 0 0;font-size:18px}.detail-total{margin:2px 0 0;font-size:22px;font-weight:650}.detail-badge{color:var(--muted);background:#f5f5f4;border-radius:999px;margin:8px 0 0;padding:2px 8px;font-size:12px;display:inline-block}.editor-grid{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px 10px;margin-top:14px;display:grid}.editor-grid label,.connect-row span{color:var(--muted);font-size:12px}.detail input,.detail select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #d6d3d1;border-radius:8px;padding:6px 8px}.color-editor{gap:7px;min-width:0;display:grid}.color-options-label{color:var(--muted);font-size:11px}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.detail .color-editor .color-swatch{cursor:pointer;border:2px solid #fff;border-radius:8px;flex:none;width:27px;height:27px;padding:0;box-shadow:0 0 0 1px #d6d3d1}.detail .color-editor .color-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #1c1917}.detail .color-editor .color-swatch:focus-visible{outline-offset:3px;outline:2px solid #1c1917}.color-custom-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.detail .color-editor input[type=color]{cursor:pointer;flex:none;width:43px;height:34px;padding:3px}.color-editor code{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.detail .color-custom-row button{color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d6d3d1;border-radius:8px;padding:6px 8px}.detail .color-custom-row button:disabled{color:#a8a29e;cursor:default}.color-editor small{color:var(--muted);font-size:11px}.detail-source-note{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.5}.detail-breakdowns{gap:10px;margin-top:16px;display:grid}.detail-breakdowns section{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px}.detail-breakdowns h3{justify-content:space-between;gap:10px;margin:0 0 8px;font-size:13px;display:flex}.detail-breakdowns h3 span{color:var(--muted);font-size:12px;font-weight:500}.detail-breakdowns ul{margin:0;padding:0;list-style:none}.detail-breakdowns li{border-top:1px solid #f5f5f4;justify-content:space-between;gap:12px;padding:4px 0;font-size:12px;display:flex}.detail-breakdowns li b{font-variant-numeric:tabular-nums}.detail-breakdowns li.has-application-metric{align-items:center}.detail-breakdowns li .segment-metrics{flex:0 0 130px}.application-metric-note{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.5}.segment-editor-grid{gap:7px;display:grid}.segment-editor-grid label,.segment-editor-unclassified{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;font-size:12px;display:grid}.segment-editor-grid label span{color:var(--muted)}.segment-editor-grid input{text-align:right;font-variant-numeric:tabular-nums}.segment-editor-grid input:disabled{color:#a8a29e;background:#f5f5f4}.segment-editor-dual{border-top:1px solid #f5f5f4;gap:5px;padding-top:7px;display:grid}.segment-editor-title{font-size:12px;font-weight:600}.segment-editor-unclassified{border-top:1px dashed var(--line);padding-top:7px}.segment-editor-unclassified strong{text-align:right;font-variant-numeric:tabular-nums}.editor-toggle{cursor:pointer;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.detail .editor-toggle input,.detail .group-member input{width:auto;min-width:auto;margin:0}.group-members{border:1px solid var(--line);border-radius:10px;margin:16px 0 0;padding:10px}.group-members legend{padding:0 4px;font-size:13px;font-weight:650}.group-members p,.group-hint{color:var(--muted);font-size:12px}.group-members p{margin:0 0 8px}.group-hint{margin:12px 0 0}.group-member-list{gap:2px;max-height:320px;display:grid;overflow:auto}.group-member{cursor:pointer;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 4px;font-size:13px;display:grid}.group-member:hover{background:#f5f5f4}.group-member small{color:var(--muted);font-size:11px}.connect-row,.editor-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.connect-row select{flex:1}.editor-actions .danger{color:#be123c;border-color:#fecdd3}@media (max-width:900px){.topbar{flex-direction:column;align-items:flex-start}.top-actions{justify-content:flex-start}.stage.has-detail{grid-template-columns:1fr}.canvas-wrap{min-height:480px}.detail{max-height:none}}@media (max-width:1450px){.board-workspace .stage.has-detail{grid-template-columns:minmax(0,1fr)}.board-workspace .stage>.detail{z-index:20;width:min(400px,100% - 32px);max-height:calc(min(130vh,1450px) - 32px);position:absolute;top:16px;right:16px;box-shadow:0 12px 36px #1c191724}}@media (max-width:760px){.board-workspace{grid-template-columns:minmax(0,1fr)}.board-workspace>aside{grid-row:1;width:100%}.board-workspace.notes-collapsed>aside{grid-row:auto;width:42px}}
