.hw-scale-wrap{width:100%;height:100%;overflow:hidden}.hw-root{display:flex;flex-direction:column;width:100%;height:100%;min-width:780px;overflow:hidden;background:#f9f9f8;font-family:Inter,system-ui,sans-serif;transform-origin:top left}.hw-bar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:10px 16px;border-bottom:1px solid #dad9d6;background:#fdfdfc;font-size:13px;color:#63635e}.hw-bar-left{display:flex;align-items:center;gap:8px}.hw-bar-icon{display:flex;align-items:center;color:#63635e}.hw-bar-sep{color:#a8a69c}.hw-bar-name{font-weight:500;color:#21201c}.hw-bar-right{display:flex;align-items:center;gap:8px}.hw-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:8px;background:#29a37a;background-image:linear-gradient(to bottom,#fff3,#fff0);border:1px solid #29a37a;box-shadow:inset 0 1px 1px #ffffff40;font-size:12px;font-weight:500;color:#fff}.hw-status-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:hw-pulse 2s ease-in-out infinite}.hw-canvas{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:28px 12px 48px;flex:1;background-image:radial-gradient(circle,#d1d0cb 1px,transparent 1px);background-size:16px 16px;background-position:8px 8px;overflow:hidden}.hw-canvas-fade{position:absolute;inset:auto 0 0;height:80px;background:linear-gradient(to top,#f9f9f8 20%,transparent);pointer-events:none;z-index:10}.hw-flow{display:flex;flex-direction:column;align-items:center}.hw-node{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#fff;border:1px solid #dad9d6;border-radius:8px;box-shadow:0 1px 2px #0000000a;width:210px;position:relative;z-index:1;opacity:0;transform:translate(var(--hw-x, 0px),var(--hw-y, 20px)) rotate(var(--hw-r, 0deg));transition:border-color .4s ease,box-shadow .4s ease}.hw-node.is-visible{animation:hw-drop-in .9s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:calc(var(--hw-delay, 0) * .2s)}.hw-node.is-landed{animation:none;opacity:1;transform:translate(0) rotate(0) scale(1);box-shadow:0 1px 2px #0000000a}.hw-node.hw-traced{border-color:#88cbae;box-shadow:0 0 16px #29a37a26,0 0 4px #29a37a1a,0 1px 2px #0000000a}.hw-fork.hw-fork-traced .hw-fork-right .hw-node{opacity:.45;transition:opacity .6s ease}.hw-node-header{display:flex;align-items:center;gap:8px}.hw-node-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;flex-shrink:0;box-sizing:border-box}.hw-icon-green{background:#e2f4eb;color:#007e57;border:1px solid #bfe6d4}.hw-icon-purple{background:#f3ebf6;color:#814f8e;border:1px solid #dbc5e1}.hw-icon-blue{background:#e2f2fc;color:#1c7099;border:1px solid #aed4ec}.hw-icon-orange{background:#ffe7d1;color:#bf5a00;border:1px solid #ffc898}.hw-node-title{font-size:11px;font-weight:500;color:#21201c;line-height:1.35;flex:1;min-width:0}.hw-node-sub{font-size:10px;color:#63635e;line-height:1.4;white-space:nowrap}.hw-node-grip{margin-left:auto;color:#dad9d6;flex-shrink:0}.hw-field-badge{display:inline;padding:1px 5px;background:#f1f0ef;border:1px solid #e9e8e6;border-radius:4px;font-size:10px;font-family:ui-monospace,monospace;color:#63635e}.hw-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(4px);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff;border:1px solid #dad9d6;border-radius:6px;font-size:10px;font-family:ui-monospace,monospace;color:#21201c;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;opacity:0;pointer-events:none;z-index:5;transition:opacity .35s ease,transform .35s ease}.hw-tip.hw-tip-visible{opacity:1;transform:translateY(-50%) translate(0)}.hw-tip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:4px solid #dad9d6}.hw-tip:after{content:"";position:absolute;right:calc(100% - 1px);top:50%;transform:translateY(-50%);border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:3px solid white}.hw-tip-icon{display:flex;align-items:center;color:#00a1e0}.hw-tip-icon-user{color:#63635e}.hw-tip-val{font-weight:600;color:#814f8e}.hw-tip-label{color:#63635e}.hw-tip-check{display:flex;align-items:center;color:#29a37a}.hw-tip-success{color:#29a37a;font-weight:500;gap:4px;border-color:#bfe6d4;background:#f0faf5}.hw-tip-success:before{border-right-color:#bfe6d4}.hw-tip-success:after{border-right-color:#f0faf5}.hw-wire{position:relative;width:1px;height:36px;background:transparent;display:flex;align-items:center;justify-content:center;opacity:0}.hw-wire:before{content:"";position:absolute;inset:0;background:#cfceca;transform-origin:top;transform:scaleY(0)}.hw-wire.is-visible{opacity:1;transition:opacity .2s ease;transition-delay:calc(var(--hw-delay, 0) * .2s)}.hw-wire.is-visible:before{animation:hw-wire-grow .5s ease-out forwards;animation-delay:calc(var(--hw-delay, 0) * .2s)}.hw-wire:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-top:3.5px solid #cfceca;opacity:0}.hw-wire.is-visible:after{animation:hw-fade-in .2s ease forwards;animation-delay:calc(var(--hw-delay, 0) * .2s + .4s)}.hw-wire-sm{height:32px}.hw-wire-dim.is-visible:before{background:#dad9d6}.hw-wire-dim.is-visible:after{border-top-color:#dad9d6}.hw-wire .hw-wire-glow{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.hw-wire .hw-wire-glow:after{content:"";position:absolute;left:-1px;right:-1px;height:50%;background:#57b691;border-radius:1px;top:-50%;opacity:0}.hw-wire.hw-wire-traced .hw-wire-glow:after{animation:hw-glow-sweep .4s ease-in-out forwards}.hw-wire.hw-wire-traced:before{background:#88cbae}.hw-wire.hw-wire-traced:after{border-top-color:#88cbae}.hw-fork{--fork-gap: 12px;display:flex;gap:var(--fork-gap);position:relative;padding-top:14px;opacity:0}.hw-fork.is-visible{animation:hw-fade-in .5s ease forwards;animation-delay:calc(var(--hw-delay, 0) * .2s)}.hw-fork:after{content:"";position:absolute;top:0;left:50%;width:1px;height:14px;background:#cfceca;transform:translate(-50%)}.hw-fork-col{display:flex;flex-direction:column;align-items:center;position:relative}.hw-fork-left:before{content:"";position:absolute;top:0;left:50%;right:calc(var(--fork-gap) / -2);height:1px;background:#cfceca}.hw-fork-right:before{content:"";position:absolute;top:0;left:calc(var(--fork-gap) / -2);right:50%;height:1px;background:#cfceca}.hw-fork-drop{width:1px;height:10px;background:#cfceca;position:relative}.hw-fork-drop:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-top:3.5px solid #cfceca}.hw-branch-label{display:inline-block;padding:2px 10px;background:#fff;border:1px solid #dad9d6;border-radius:10px;font-size:10px;color:#63635e;white-space:nowrap;position:relative;z-index:1;margin-top:2px}.hw-fork.hw-fork-traced .hw-fork-left:before{background:#88cbae}.hw-fork.hw-fork-traced>.hw-fork:after,.hw-fork.hw-fork-traced:after{background:#88cbae}.hw-fork.hw-fork-traced .hw-fork-left .hw-fork-drop{background:#88cbae}.hw-fork.hw-fork-traced .hw-fork-left .hw-fork-drop:after{border-top-color:#88cbae}.hw-fork.hw-fork-traced .hw-fork-left .hw-branch-label{border-color:#88cbae;color:#29a37a}.hw-fork.hw-fork-traced .hw-fork-right{opacity:.35;transition:opacity .6s ease}@keyframes hw-drop-in{0%{opacity:0;transform:translate(var(--hw-x, 0px),var(--hw-y, 20px)) rotate(var(--hw-r, 0deg)) scale(.97);box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014}12%{opacity:1;transform:translate(var(--hw-x, 0px),var(--hw-y, 20px)) rotate(var(--hw-r, 0deg)) scale(.97);box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014}70%{opacity:1;transform:translateY(-2px) rotate(0) scale(1);box-shadow:0 4px 12px #00000014,0 1px 3px #0000000f}85%{transform:translateY(1px) rotate(0) scale(1);box-shadow:0 1px 2px #0000000a}to{opacity:1;transform:translate(0) rotate(0) scale(1);box-shadow:0 1px 2px #0000000a}}@keyframes hw-wire-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hw-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hw-glow-sweep{0%{top:-50%;opacity:1}to{top:100%;opacity:1}}@keyframes hw-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.hw-node,.hw-wire,.hw-fork{opacity:1!important;transform:none!important;animation:none!important}.hw-node{transform:translate(0) rotate(0) scale(1)!important}.hw-wire:before{transform:scaleY(1)!important;animation:none!important}.hw-wire:after{opacity:1!important;animation:none!important}.hw-tip{transition:none!important}.hw-status-dot{animation:none!important;opacity:1!important}}
